P_PayReqnLineItems
P_PayReqnLineItems is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_OperationalAcctgDocItem, I_OperationalAcctgDocItem, I_Supplier) and exposes 94 fields with key fields CompanyCode, AccountingDocument, FiscalYear, AccountingDocumentItem, AccountingDocument. It has 2 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_OperationalAcctgDocItem | I_OperationalAcctgDocItem | from |
| I_OperationalAcctgDocItem | I_OperationalAcctgDocItem | union_all |
| I_Supplier | Supplier | inner |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_JournalEntry | _JournalEntry | $projection.CompanyCode = _JournalEntry.CompanyCode and $projection.FiscalYear = _JournalEntry.FiscalYear and $projection.AccountingDocument = _JournalEntry.AccountingDocument |
| [0..1] | I_Currency | _TransactionCurrency | $projection.TransactionCurrency = _TransactionCurrency.Currency |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PPAYREQLINEITEM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (94)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CompanyCode | CompanyCode | ||
| KEY | AccountingDocument | AccountingDocument | ||
| KEY | FiscalYear | FiscalYear | ||
| KEY | AccountingDocumentItem | AccountingDocumentItem | ||
| AccountingDocumentCategory | AccountingDocumentCategory | |||
| FinancialAccountType | FinancialAccountType | |||
| NetDueDate | NetDueDate | |||
| TransactionCurrency | TransactionCurrency | |||
| AmountInTransactionCurrency | AmountInTransactionCurrency | |||
| AbsAmountInTransactionCurrency | ||||
| Supplier | Supplier | |||
| SupplierBankType | BPBankAccountInternalID | |||
| TodayWeekOfYear | ||||
| DueDateWeekOfYear | ||||
| NetDueArrearsDays | ||||
| ClearingAccountingDocument | ClearingAccountingDocument | |||
| ClearingIsReversed | ClearingIsReversed | |||
| DocumentDate | DocumentDate | |||
| PostingDate | PostingDate | |||
| SpecialGLCode | SpecialGLCode | |||
| PaymentMethod | PaymentMethod | |||
| CostCenter | CostCenter | |||
| PurchasingDocument | PurchasingDocument | |||
| PurchasingDocumentItem | PurchasingDocumentItem | |||
| SalesDocument | SalesDocument | |||
| SalesDocumentItem | SalesDocumentItem | |||
| CashDiscount1DueDate | CashDiscount1DueDate | |||
| CashDiscount1Percent | CashDiscount1Percent | |||
| CashDiscount1Days | CashDiscount1Days | |||
| CashDiscount2Percent | CashDiscount2Percent | |||
| CashDiscount2Days | CashDiscount2Days | |||
| DueCalculationBaseDate | DueCalculationBaseDate | |||
| WBSElementInternalID | WBSElementInternalID | |||
| WBSElementExternalID | _WBSElementBasicData | WBSElementExternalID | ||
| ControllingArea | ControllingArea | |||
| ProfitCenter | ProfitCenter | |||
| BranchCode | BranchCode | |||
| DocumentItemText | DocumentItemText | |||
| AssignmentReference | AssignmentReference | |||
| ReferenceDocumentType | _JournalEntry | ReferenceDocumentType | ||
| OriginalReferenceDocument | _JournalEntry | OriginalReferenceDocument | ||
| PaymentBlockingReason | I_OperationalAcctgDocItem | PaymentBlockingReason | ||
| Reference1IDByBusinessPartner | Reference1IDByBusinessPartner | |||
| Reference2IDByBusinessPartner | Reference2IDByBusinessPartner | |||
| Reference3IDByBusinessPartner | Reference3IDByBusinessPartner | |||
| _JournalEntry | _JournalEntry | |||
| CompanyCodeasCompanyCode | ||||
| KEY | AccountingDocument | AccountingDocument | ||
| KEY | FiscalYear | FiscalYear | ||
| KEY | AccountingDocumentItem | AccountingDocumentItem | ||
| AccountingDocumentCategory | AccountingDocumentCategory | |||
| FinancialAccountType | FinancialAccountType | |||
| NetDueDate | NetDueDate | |||
| TransactionCurrency | TransactionCurrency | |||
| AmountInTransactionCurrency | AmountInTransactionCurrency | |||
| AbsAmountInTransactionCurrency | ||||
| Supplier | I_Supplier | Supplier | ||
| SupplierBankType | I_OperationalAcctgDocItem | BPBankAccountInternalID | ||
| TodayWeekOfYear | ||||
| DueDateWeekOfYear | ||||
| NetDueArrearsDays | ||||
| ClearingAccountingDocument | ClearingAccountingDocument | |||
| ClearingIsReversed | ClearingIsReversed | |||
| DocumentDate | DocumentDate | |||
| PostingDate | PostingDate | |||
| SpecialGLCode | SpecialGLCode | |||
| PaymentMethod | PaymentMethod | |||
| CostCenter | CostCenter | |||
| PurchasingDocument | PurchasingDocument | |||
| PurchasingDocumentItem | PurchasingDocumentItem | |||
| SalesDocument | SalesDocument | |||
| SalesDocumentItem | SalesDocumentItem | |||
| CashDiscount1DueDate | CashDiscount1DueDate | |||
| CashDiscount1Percent | CashDiscount1Percent | |||
| CashDiscount1Days | CashDiscount1Days | |||
| CashDiscount2Percent | CashDiscount2Percent | |||
| CashDiscount2Days | CashDiscount2Days | |||
| DueCalculationBaseDate | DueCalculationBaseDate | |||
| WBSElementInternalID | WBSElementInternalID | |||
| WBSElementExternalID | _WBSElementBasicData | WBSElementExternalID | ||
| ControllingArea | ControllingArea | |||
| ProfitCenter | ProfitCenter | |||
| BranchCode | BranchCode | |||
| DocumentItemText | DocumentItemText | |||
| AssignmentReference | AssignmentReference | |||
| ReferenceDocumentType | _JournalEntry | ReferenceDocumentType | ||
| OriginalReferenceDocument | _JournalEntry | OriginalReferenceDocument | ||
| PaymentBlockingReason | I_OperationalAcctgDocItem | PaymentBlockingReason | ||
| Reference1IDByBusinessPartner | Reference1IDByBusinessPartner | |||
| Reference2IDByBusinessPartner | Reference2IDByBusinessPartner | |||
| Reference3IDByBusinessPartner | Reference3IDByBusinessPartner | |||
| ItemType | ||||
| _JournalEntry | _JournalEntry | |||
| _TransactionCurrency | _TransactionCurrency |
@AbapCatalog.sqlViewName: 'PPAYREQLINEITEM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@VDM.private: true
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #M
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_PayReqnLineItems
as
select from I_OperationalAcctgDocItem
association [1..1] to I_JournalEntry as _JournalEntry on $projection.CompanyCode = _JournalEntry.CompanyCode
and $projection.FiscalYear = _JournalEntry.FiscalYear
and $projection.AccountingDocument = _JournalEntry.AccountingDocument
association [0..1] to I_Currency as _TransactionCurrency on $projection.TransactionCurrency = _TransactionCurrency.Currency
{
key CompanyCode as CompanyCode,
key AccountingDocument as AccountingDocument,
key FiscalYear as FiscalYear,
key AccountingDocumentItem as AccountingDocumentItem,
AccountingDocumentCategory,
FinancialAccountType,
NetDueDate,
@ObjectModel.foreignKey.association: '_TransactionCurrency'
@Semantics.currencyCode:true
TransactionCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
AmountInTransactionCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
abs(AmountInTransactionCurrency) as AbsAmountInTransactionCurrency,
Supplier,
BPBankAccountInternalID as SupplierBankType,
div( dats_days_between( cast( concat( FiscalYear , '0101' ) as abap.dats ), cast($session.system_date as abap.dats) ), 7) as TodayWeekOfYear,
div( dats_days_between( cast( concat( FiscalYear , '0101' ) as abap.dats ), NetDueDate ), 7) as DueDateWeekOfYear,
DATS_DAYS_BETWEEN(cast($session.system_date as abap.dats), cast(NetDueDate as abap.dats)) as NetDueArrearsDays,
case when ClearingAccountingDocument <> ''
then 'C' //cleared
else 'O' // open item
end as ClearingStatus,
ClearingAccountingDocument,
ClearingIsReversed,
DocumentDate,
PostingDate,
SpecialGLCode,
PaymentMethod,
CostCenter,
PurchasingDocument,
PurchasingDocumentItem,
SalesDocument,
SalesDocumentItem,
CashDiscount1DueDate,
CashDiscount1Percent,
CashDiscount1Days,
CashDiscount2Percent,
CashDiscount2Days,
DueCalculationBaseDate,
WBSElementInternalID,
_WBSElementBasicData.WBSElementExternalID,
ControllingArea,
ProfitCenter,
BranchCode,
DocumentItemText,
AssignmentReference,
_JournalEntry.ReferenceDocumentType as ReferenceDocumentType,
_JournalEntry.OriginalReferenceDocument as OriginalReferenceDocument,
case when _JournalEntry.ReferenceDocumentType = 'RMRP'
then substring(_JournalEntry.OriginalReferenceDocument, 1, 10)
end as PurchasingHistoryDocument,
case when _JournalEntry.ReferenceDocumentType = 'RMRP'
then substring(_JournalEntry.OriginalReferenceDocument, 11, 4)
end as PurchasingHistoryDocumentYear,
I_OperationalAcctgDocItem.PaymentBlockingReason as PaymentBlockingReason,
Reference1IDByBusinessPartner,
Reference2IDByBusinessPartner,
Reference3IDByBusinessPartner,
case AccountingDocumentCategory
when 'S' then 'S' //Noted items
when '' then 'N' // normal items
else 'S' // with special GL
end as ItemType,
_JournalEntry,
_TransactionCurrency
}
where FinancialAccountType = 'K'
and ( ( AccountingDocumentCategory = ''
and SpecialGLCode = ''
and InvoiceReference = '' ) //normal items, exclude clearing document
or
( AccountingDocumentCategory = 'S' and SpecialGLCode = 'F' ) //down payment request
)
union all
// supplier and customer mixed accounts
select from I_OperationalAcctgDocItem
inner join I_Supplier as Supplier on I_OperationalAcctgDocItem.Customer = Supplier.Customer
association [1..1] to I_JournalEntry as _JournalEntry on $projection.CompanyCode = _JournalEntry.CompanyCode
and $projection.FiscalYear = _JournalEntry.FiscalYear
and $projection.AccountingDocument = _JournalEntry.AccountingDocument
association [0..1] to I_Currency as _TransactionCurrency on $projection.TransactionCurrency = _TransactionCurrency.Currency
{
key I_OperationalAcctgDocItem.CompanyCode as CompanyCode,
key AccountingDocument as AccountingDocument,
key FiscalYear as FiscalYear,
key AccountingDocumentItem as AccountingDocumentItem,
AccountingDocumentCategory,
FinancialAccountType,
NetDueDate,
@ObjectModel.foreignKey.association: '_TransactionCurrency'
@Semantics.currencyCode:true
TransactionCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
AmountInTransactionCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
abs(AmountInTransactionCurrency) as AbsAmountInTransactionCurrency,
Supplier.Supplier as Supplier,
I_OperationalAcctgDocItem.BPBankAccountInternalID as SupplierBankType,
div( dats_days_between( cast( concat( FiscalYear , '0101' ) as abap.dats ), cast($session.system_date as abap.dats) ), 7) as TodayWeekOfYear,
div( dats_days_between( cast( concat( FiscalYear , '0101' ) as abap.dats ), NetDueDate ), 7) as DueDateWeekOfYear,
DATS_DAYS_BETWEEN(cast($session.system_date as abap.dats), cast(NetDueDate as abap.dats)) as NetDueArrearsDays,
case when ClearingAccountingDocument <> ''
then 'C' //cleared
else 'O' // open item
end as ClearingStatus,
ClearingAccountingDocument,
ClearingIsReversed,
DocumentDate,
PostingDate,
SpecialGLCode,
PaymentMethod,
CostCenter,
PurchasingDocument,
PurchasingDocumentItem,
SalesDocument,
SalesDocumentItem,
CashDiscount1DueDate,
CashDiscount1Percent,
CashDiscount1Days,
CashDiscount2Percent,
CashDiscount2Days,
DueCalculationBaseDate,
WBSElementInternalID,
_WBSElementBasicData.WBSElementExternalID,
ControllingArea,
ProfitCenter,
BranchCode,
DocumentItemText,
AssignmentReference,
_JournalEntry.ReferenceDocumentType as ReferenceDocumentType,
_JournalEntry.OriginalReferenceDocument as OriginalReferenceDocument,
case when _JournalEntry.ReferenceDocumentType = 'RMRP'
then substring(_JournalEntry.OriginalReferenceDocument, 1, 10)
end as PurchasingHistoryDocument,
case when _JournalEntry.ReferenceDocumentType = 'RMRP'
then substring(_JournalEntry.OriginalReferenceDocument, 11, 4)
end as PurchasingHistoryDocumentYear,
I_OperationalAcctgDocItem.PaymentBlockingReason as PaymentBlockingReason,
Reference1IDByBusinessPartner,
Reference2IDByBusinessPartner,
Reference3IDByBusinessPartner,
'M' as ItemType,
_JournalEntry,
_TransactionCurrency
}
where FinancialAccountType = 'D' // customer items
and AccountingDocumentCategory = ''
and SpecialGLCode = ''
and InvoiceReference = ''
and Supplier.Customer != ''
;
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_JOURNALENTRY",
"I_OPERATIONALACCTGDOCITEM",
"I_SUPPLIER",
"I_WBSELEMENTBASICDATA"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_JOURNALENTRY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA