P_PayReqnAmount
P_PayReqnAmount is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_JournalEntry, I_OperationalAcctgDocItem, I_RequisitionItem) and exposes 28 fields with key fields CompanyCode, AccountingDocument, FiscalYear, AccountingDocumentItem, AccountingDocument.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_JournalEntry | bkpf | inner |
| I_OperationalAcctgDocItem | bseg | from |
| I_RequisitionItem | RequisitionItem | union_all |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PPAYREQNAMOUNT | 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 | #NOT_REQUIRED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (28)
| 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 | |
| InvoiceReference | InvoiceReference | |||
| InvoiceReferenceFiscalYear | InvoiceReferenceFiscalYear | |||
| InvoiceItemReference | InvoiceItemReference | |||
| PaymentRequisitionUUID | PaymentItem | PaymentRequisitionUUID | ||
| PaymentRequisitionNumber | PaymentRequisition | PaymentRequisitionNumber | ||
| PaymentRequisitionItemUUID | PaymentItem | PaymentRequisitionItemUUID | ||
| TransactionCurrency | I_OperationalAcctgDocItem | TransactionCurrency | ||
| curr232endasPaidAmountInPaytCurrency | ||||
| PaymentRequestAmountInPaytCrcy | ||||
| PaymentMethod | I_OperationalAcctgDocItem | PaymentMethod | ||
| CompanyCodeasCompanyCode | ||||
| KEY | AccountingDocument | |||
| KEY | FiscalYear | I_RequisitionItem | FiscalYear | |
| KEY | AccountingDocumentItem | I_RequisitionItem | AccountingDocumentItem | |
| InvoiceReference | I_RequisitionItem | AccountingDocument | ||
| InvoiceReferenceFiscalYear | I_RequisitionItem | FiscalYear | ||
| InvoiceItemReference | I_RequisitionItem | AccountingDocumentItem | ||
| PaymentRequisitionUUID | PaymentRequisition | PaymentRequisitionUUID | ||
| PaymentRequisitionNumber | PaymentRequisition | PaymentRequisitionNumber | ||
| PaymentRequisitionItemUUID | I_RequisitionItem | PaymentRequisitionItemUUID | ||
| TransactionCurrency | I_RequisitionItem | Currency | ||
| PaidAmountInPaytCurrency | ||||
| PaymentRequestAmountInPaytCrcy | I_RequisitionItem | PaymentRequestAmountInPaytCrcy | ||
| PaymentMethod | PaymentRequisition | PaymentMethod |
@AbapCatalog.sqlViewName: 'PPAYREQNAMOUNT'
@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: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_PayReqnAmount
as select from I_OperationalAcctgDocItem as bseg
inner join I_JournalEntry as bkpf on bseg.CompanyCode = bkpf.CompanyCode
and bseg.AccountingDocument = bkpf.AccountingDocument
and bseg.FiscalYear = bkpf.FiscalYear
left outer to one join P_RequisitionPaymentItem as PaymentItem on bseg.AccountingDocument = PaymentItem.PaymentDocument
and bseg.InvoiceReference = PaymentItem.InvoiceDocumentNumber
and bseg.CompanyCode = PaymentItem.CompanyCode
and bseg.InvoiceReferenceFiscalYear = PaymentItem.FiscalYear
and bseg.InvoiceItemReference = PaymentItem.AccountingDocumentItem
left outer to one join I_PaymentRequisition as PaymentRequisition on PaymentItem.PaymentRequisitionUUID = PaymentRequisition.PaymentRequisitionUUID
{
key bseg.CompanyCode as CompanyCode,
key bseg.AccountingDocument as AccountingDocument,
key bseg.FiscalYear as FiscalYear,
key bseg.AccountingDocumentItem as AccountingDocumentItem,
InvoiceReference,
InvoiceReferenceFiscalYear,
InvoiceItemReference,
PaymentItem.PaymentRequisitionUUID as PaymentRequisitionUUID,
PaymentRequisition.PaymentRequisitionNumber as PaymentRequisitionNumber,
PaymentItem.PaymentRequisitionItemUUID as PaymentRequisitionItemUUID,
@Semantics.currencyCode:true
bseg.TransactionCurrency as TransactionCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
// case when ( FollowOnDocumentType = 'P' or FollowOnDocumentType = 'Z' ) CM 361463(2023) Add down payment amount into paid amount by Fiona
case when ( FollowOnDocumentType = 'P' or FollowOnDocumentType = 'Z' or FollowOnDocumentType = 'U' )
then bseg.AmountInTransactionCurrency
else
cast( '0' as abap.curr( 23,2))
end as PaidAmountInPaytCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
cast( '0' as abap.curr( 23,2)) as PaymentRequestAmountInPaytCrcy,
bseg.PaymentMethod as PaymentMethod,
bkpf.DocumentDate as AccountingDocumentCreationDate
}
where
bseg.AccountingDocumentCategory <> 'S' //exclude Noted Item
and bkpf.IsReversed <> 'X'
union all
select from I_RequisitionItem as RequisitionItem
left outer to one join I_PaymentRequisition as PaymentRequisition on RequisitionItem.PaymentRequisitionUUID = PaymentRequisition.PaymentRequisitionUUID
{
key RequisitionItem.CompanyCode as CompanyCode,
key '' as AccountingDocument,
key RequisitionItem.FiscalYear as FiscalYear,
key RequisitionItem.AccountingDocumentItem as AccountingDocumentItem,
RequisitionItem.AccountingDocument as InvoiceReference,
RequisitionItem.FiscalYear as InvoiceReferenceFiscalYear,
RequisitionItem.AccountingDocumentItem as InvoiceItemReference,
PaymentRequisition.PaymentRequisitionUUID as PaymentRequisitionUUID,
PaymentRequisition.PaymentRequisitionNumber as PaymentRequisitionNumber,
RequisitionItem.PaymentRequisitionItemUUID as PaymentRequisitionItemUUID,
@Semantics.currencyCode:true
RequisitionItem.Currency as TransactionCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
cast( '0' as abap.curr( 23,2)) as PaidAmountInPaytCurrency,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
RequisitionItem.PaymentRequestAmountInPaytCrcy as PaymentRequestAmountInPaytCrcy,
PaymentRequisition.PaymentMethod as PaymentMethod,
tstmp_to_dats(PaymentRequisition.CreationDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as AccountingDocumentCreationDate
}
where
PaymentRequisition.PaymentRequisitionStatus <> 'VD'
and PaymentRequisition.PaymentRequisitionStatus <> 'PP'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_JOURNALENTRY",
"I_OPERATIONALACCTGDOCITEM",
"I_PAYMENTREQUISITION",
"I_REQUISITIONITEM",
"P_REQUISITIONPAYMENTITEM"
],
"ASSOCIATED":
[],
"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