P_PayReqnAmount

DDL: P_PAYREQNAMOUNT SQL: PPAYREQNAMOUNT Type: view COMPOSITE

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)

SourceAliasJoin Type
I_JournalEntry bkpf inner
I_OperationalAcctgDocItem bseg from
I_RequisitionItem RequisitionItem union_all

Annotations (10)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/