P_PH_PaytClrdReceivablePyblItm
P_PH_PaytClrdReceivablePyblItm is a Composite CDS View in SAP S/4HANA. It reads from 4 data sources (I_OperationalAcctgDocItem, I_OperationalAcctgDocItem, I_AccountingDocument, I_AccountingDocument) and exposes 36 fields with key fields CompanyCode, AccountingDocument, FiscalYear, AccountingDocumentItem, InvoiceReference.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_OperationalAcctgDocItem | _InvoiceApArItem | left_outer |
| I_OperationalAcctgDocItem | _PaymentClearingItem | from |
| I_AccountingDocument | _SourceInvoiceHeader | left_outer |
| I_AccountingDocument | _SourceInvoiceHeader1 | left_outer |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PPHPAYTCLRPITM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (36)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CompanyCode | I_OperationalAcctgDocItem | CompanyCode | |
| KEY | AccountingDocument | I_OperationalAcctgDocItem | AccountingDocument | |
| KEY | FiscalYear | I_OperationalAcctgDocItem | FiscalYear | |
| KEY | AccountingDocumentItem | I_OperationalAcctgDocItem | AccountingDocumentItem | |
| KEY | InvoiceReference | I_OperationalAcctgDocItem | AccountingDocument | |
| KEY | InvoiceReferenceFiscalYear | I_OperationalAcctgDocItem | FiscalYear | |
| KEY | InvoiceItemReference | I_OperationalAcctgDocItem | AccountingDocumentItem | |
| BusinessPlace | ||||
| PostingDate | I_OperationalAcctgDocItem | PostingDate | ||
| AccountingDocumentType | I_OperationalAcctgDocItem | AccountingDocumentType | ||
| FinancialAccountType | I_OperationalAcctgDocItem | FinancialAccountType | ||
| IsUsedInPaymentTransaction | I_OperationalAcctgDocItem | IsUsedInPaymentTransaction | ||
| ClearingAccountingDocument | I_OperationalAcctgDocItem | ClearingJournalEntry | ||
| ClearingDocFiscalYear | I_OperationalAcctgDocItem | ClearingJournalEntryFiscalYear | ||
| ClearingDate | I_OperationalAcctgDocItem | ClearingDate | ||
| GLAccount | I_OperationalAcctgDocItem | GLAccount | ||
| DebitCreditCodeendasDebitCreditCode | ||||
| Customer | I_OperationalAcctgDocItem | Customer | ||
| Supplier | I_OperationalAcctgDocItem | Supplier | ||
| InvoiceDebitCreditCode | I_OperationalAcctgDocItem | DebitCreditCode | ||
| TransactionCurrency | I_OperationalAcctgDocItem | TransactionCurrency | ||
| InvoiceAmtInTransactionCrcy | ||||
| PaymentAmtInTransactionCrcy | ||||
| CompanyCodeCurrency | I_OperationalAcctgDocItem | CompanyCodeCurrency | ||
| InvoiceAmtInCompanyCodeCrcy | ||||
| PaymentAmtInCompanyCodeCrcy | ||||
| AdditionalCurrency1 | I_OperationalAcctgDocItem | AdditionalCurrency1 | ||
| InvoiceAmtInAdditionalCrcy1 | ||||
| PaytAmtInAdditionalCrcy1 | ||||
| AdditionalCurrency2 | I_OperationalAcctgDocItem | AdditionalCurrency2 | ||
| InvoiceAmtInAdditionalCrcy2 | ||||
| PaytAmtInAdditionalCrcy2 | ||||
| InvoiceCompanyCode | I_OperationalAcctgDocItem | CompanyCode | ||
| _Customer | I_OperationalAcctgDocItem | _Customer | ||
| _Supplier | I_OperationalAcctgDocItem | _Supplier | ||
| _OneTimeAccountBP | I_OperationalAcctgDocItem | _OneTimeAccountBP |
@AbapCatalog.sqlViewName: 'PPHPAYTCLRPITM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@VDM.private: true
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_PH_PaytClrdReceivablePyblItm
as select from I_OperationalAcctgDocItem as _PaymentClearingItem
left outer join I_OperationalAcctgDocItem as _InvoiceApArItem on _InvoiceApArItem.ClearingAccountingDocument = _PaymentClearingItem.AccountingDocument
and _InvoiceApArItem.ClearingDocFiscalYear = _PaymentClearingItem.FiscalYear
and _InvoiceApArItem.CompanyCode = _PaymentClearingItem.CompanyCode
// Exclude clearing payment join itself
// DocumentNumber ClearingDocument
// 1400000001 1400000001
//and not ( _InvoiceApArItem.AccountingDocument = _InvoiceApArItem.ClearingAccountingDocument
// and _InvoiceApArItem.FiscalYear = _InvoiceApArItem.ClearingDocFiscalYear)
// Exclude partial payment item cleared by payment document
// DocumentNumber ClearingDocument InvoiceReference
// 1400000001 1400000002 1800000001
//and _InvoiceApArItem.IsUsedInPaymentTransaction = ''
and _InvoiceApArItem.DebitCreditCode <> _PaymentClearingItem.DebitCreditCode
left outer join I_AccountingDocument as _SourceInvoiceHeader on ( _InvoiceApArItem.AccountingDocument = _SourceInvoiceHeader.AccountingDocument and (_InvoiceApArItem.InvoiceReference is null or _InvoiceApArItem.InvoiceReference is initial))
// or _InvoiceApArItem.InvoiceReference = _SourceInvoiceHeader.AccountingDocument)
and _InvoiceApArItem.FiscalYear = _SourceInvoiceHeader.FiscalYear
and _InvoiceApArItem.CompanyCode = _SourceInvoiceHeader.CompanyCode
left outer join I_AccountingDocument as _SourceInvoiceHeader1 on _InvoiceApArItem.InvoiceReference = _SourceInvoiceHeader1.AccountingDocument
and _InvoiceApArItem.FiscalYear = _SourceInvoiceHeader.FiscalYear
and _InvoiceApArItem.CompanyCode = _SourceInvoiceHeader.CompanyCode
{
key _PaymentClearingItem.CompanyCode,
key _PaymentClearingItem.AccountingDocument,
key _PaymentClearingItem.FiscalYear,
key _PaymentClearingItem.AccountingDocumentItem,
key _InvoiceApArItem.AccountingDocument as InvoiceReference,
key _InvoiceApArItem.FiscalYear as InvoiceReferenceFiscalYear,
key _InvoiceApArItem.AccountingDocumentItem as InvoiceItemReference,
case when _InvoiceApArItem.InvoiceReference is not initial
then _InvoiceApArItem.InvoiceReference
when _InvoiceApArItem.InvoiceReference is initial or _InvoiceApArItem.InvoiceReference is null
then _InvoiceApArItem.AccountingDocument
end as ClearedInvoiceNumber,
coalesce( _PaymentClearingItem.BusinessPlace, _InvoiceApArItem.BusinessPlace ) as BusinessPlace,
_PaymentClearingItem.PostingDate,
_PaymentClearingItem.AccountingDocumentType,
_PaymentClearingItem.FinancialAccountType,
_PaymentClearingItem.IsUsedInPaymentTransaction,
_PaymentClearingItem.ClearingJournalEntry as ClearingAccountingDocument,
_PaymentClearingItem.ClearingJournalEntryFiscalYear as ClearingDocFiscalYear,
_PaymentClearingItem.ClearingDate,
_PaymentClearingItem.GLAccount,
case _PaymentClearingItem.IsNegativePosting
when 'X' then
case _PaymentClearingItem.DebitCreditCode
when 'H' then 'S'
when 'S' then 'H'
end
else _PaymentClearingItem.DebitCreditCode
end as DebitCreditCode,
// _PaymentClearingItem.DebitCreditCode,
_PaymentClearingItem.Customer,
_PaymentClearingItem.Supplier,
case when _SourceInvoiceHeader.DocumentReferenceID != '' then _SourceInvoiceHeader.DocumentReferenceID
else _SourceInvoiceHeader1.DocumentReferenceID end as DocumentReferenceID,
_InvoiceApArItem.DebitCreditCode as InvoiceDebitCreditCode,
_InvoiceApArItem.TransactionCurrency,
abs( _InvoiceApArItem.AmountInTransactionCurrency) as InvoiceAmtInTransactionCrcy,
abs(_PaymentClearingItem.AmountInTransactionCurrency) as PaymentAmtInTransactionCrcy,
_InvoiceApArItem.CompanyCodeCurrency,
abs( _InvoiceApArItem.AmountInCompanyCodeCurrency) as InvoiceAmtInCompanyCodeCrcy,
abs(_PaymentClearingItem.AmountInCompanyCodeCurrency) as PaymentAmtInCompanyCodeCrcy,
_InvoiceApArItem.AdditionalCurrency1,
abs(_InvoiceApArItem.AmountInAdditionalCurrency1) as InvoiceAmtInAdditionalCrcy1,
abs(_PaymentClearingItem.AmountInAdditionalCurrency1) as PaytAmtInAdditionalCrcy1,
_InvoiceApArItem.AdditionalCurrency2,
abs(_InvoiceApArItem.AmountInAdditionalCurrency2) as InvoiceAmtInAdditionalCrcy2,
abs(_PaymentClearingItem.AmountInAdditionalCurrency2) as PaytAmtInAdditionalCrcy2,
_InvoiceApArItem.CompanyCode as InvoiceCompanyCode,
_PaymentClearingItem._Customer,
_PaymentClearingItem._Supplier,
_InvoiceApArItem._OneTimeAccountBP
} where _PaymentClearingItem.IsUsedInPaymentTransaction = 'X'
//This is a payment document which clears itself
and (_PaymentClearingItem.AccountingDocument = _PaymentClearingItem.ClearingJournalEntry
and _PaymentClearingItem.FiscalYear = _PaymentClearingItem.ClearingJournalEntryFiscalYear )
and not ( _InvoiceApArItem.AccountingDocument = _InvoiceApArItem.ClearingAccountingDocument
and _InvoiceApArItem.FiscalYear = _InvoiceApArItem.ClearingDocFiscalYear)
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ACCOUNTINGDOCUMENT",
"I_OPERATIONALACCTGDOCITEM"
],
"ASSOCIATED":
[
"I_CUSTOMER",
"I_ONETIMEACCOUNTBP",
"I_SUPPLIER"
],
"BASE":
[
"I_OPERATIONALACCTGDOCITEM"
],
"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