P_PurContrHistory

DDL: P_PURCONTRHISTORY SQL: PPURCONTRHIST Type: view CONSUMPTION

Purchase Contract History

P_PurContrHistory is a Consumption CDS View that provides data about "Purchase Contract History" in SAP S/4HANA. It reads from 1 data source (R_PurchasingDocumentItem) and exposes 20 fields with key fields PurchaseContract, PurchaseContractItem, PurchaseOrder, PurchaseOrderItem, AccountAssignmentNumber. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
R_PurchasingDocumentItem _PurchaseContractItem from

Parameters (1)

NameTypeDefault
P_DisplayCurrency displaycurrency

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_PurchasingDocumentHistoryBsc _PurOrdHist $projection.PurchaseOrder = _PurOrdHist.PurchasingDocument and $projection.PurchaseOrderItem = _PurOrdHist.PurchasingDocumentItem and _PurOrdHist.PurchasingHistoryDocumentType = '2'

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName PPURCONTRHIST view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
VDM.private true view
VDM.viewType #CONSUMPTION view
EndUserText.label Purchase Contract History view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY PurchaseContract R_PurchasingDocumentItem PurchasingDocument
KEY PurchaseContractItem R_PurchasingDocumentItem PurchasingDocumentItem
KEY PurchaseOrder _PurCtrHist ReleaseOrder
KEY PurchaseOrderItem _PurCtrHist ReleaseOrderItem
KEY AccountAssignmentNumber _PurOrdHist AccountAssignmentNumber
KEY PurchasingHistoryDocumentType _PurOrdHist PurchasingHistoryDocumentType
KEY PurchasingHistoryDocumentYear _PurOrdHist PurchasingHistoryDocumentYear
KEY PurchasingHistoryDocument _PurOrdHist PurchasingHistoryDocument
KEY PurchasingHistoryDocumentItem _PurOrdHist PurchasingHistoryDocumentItem
ReleaseOrderDate _PurCtrHist ReleaseOrderDate
ReleaseOrderItemOrderQuantity _PurCtrHist ReleaseOrderItemOrderQuantity
DebitCreditCode _PurOrdHist DebitCreditCode
ValidityStartDate
ValidityEndDate
PurchasingGroup
PurchasingOrganization
Supplier
Plant R_PurchasingDocumentItem Plant
CompanyCode R_PurchasingDocumentItem CompanyCode
MaterialGroup R_PurchasingDocumentItem MaterialGroup
@AbapCatalog.sqlViewName: 'PPURCONTRHIST'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@VDM.private: true
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Purchase Contract History'

define view P_PurContrHistory
  with parameters
    P_DisplayCurrency : displaycurrency

  as select from            R_PurchasingDocumentItem  as _PurchaseContractItem

    left outer to many join I_PurchaseContractHistory as _PurCtrHist on  _PurchaseContractItem.PurchasingDocument     = _PurCtrHist.PurchaseContract
                                                                     and _PurchaseContractItem.PurchasingDocumentItem = _PurCtrHist.PurchaseContractItem

  association [0..1] to I_PurchasingDocumentHistoryBsc as _PurOrdHist on  $projection.PurchaseOrder                 = _PurOrdHist.PurchasingDocument
                                                                      and $projection.PurchaseOrderItem             = _PurOrdHist.PurchasingDocumentItem
                                                                      and _PurOrdHist.PurchasingHistoryDocumentType = '2'

{
  key _PurchaseContractItem.PurchasingDocument                         as PurchaseContract,
  key _PurchaseContractItem.PurchasingDocumentItem                     as PurchaseContractItem,
  key _PurCtrHist.ReleaseOrder                                         as PurchaseOrder,
  key _PurCtrHist.ReleaseOrderItem                                     as PurchaseOrderItem,
  key _PurOrdHist.AccountAssignmentNumber,
  key _PurOrdHist.PurchasingHistoryDocumentType,
  key _PurOrdHist.PurchasingHistoryDocumentYear,
  key _PurOrdHist.PurchasingHistoryDocument,
  key _PurOrdHist.PurchasingHistoryDocumentItem,

      currency_conversion(
        amount             => _PurCtrHist.ReleaseOrderItemNetAmount,
        source_currency    => _PurCtrHist.ReleaseOrderCurrency,
        target_currency    => $parameters.P_DisplayCurrency,
        exchange_rate_date => _PurCtrHist.ReleaseOrderItemLastChgDate,
        exchange_rate_type => 'M',
        error_handling => 'SET_TO_NULL'
        )                                                              as ReleaseOrderItemNetAmount,

      _PurCtrHist.ReleaseOrderDate                                     as ReleaseOrderDate,
      _PurCtrHist.ReleaseOrderItemOrderQuantity                        as ReleaseOrderItemOrderQuantity,

      currency_conversion(
                  amount => _PurOrdHist.PurchaseOrderAmount,
                  source_currency => _PurOrdHist.Currency,
                  target_currency => $parameters.P_DisplayCurrency,
                  exchange_rate_date => _PurOrdHist.DocumentDate,
                  error_handling => 'SET_TO_NULL'
                  )                                                    as InvoicedAmountInDspCurrency,

      _PurOrdHist.DebitCreditCode                                      as DebitCreditCode,

      _PurchaseContractItem._PurchasingDocument.ValidityStartDate      as ValidityStartDate,
      _PurchaseContractItem._PurchasingDocument.ValidityEndDate        as ValidityEndDate,
      _PurchaseContractItem._PurchasingDocument.PurchasingGroup        as PurchasingGroup,
      _PurchaseContractItem._PurchasingDocument.PurchasingOrganization as PurchasingOrganization,
      _PurchaseContractItem._PurchasingDocument.Supplier               as Supplier,
      _PurchaseContractItem.Plant                                      as Plant,
      _PurchaseContractItem.CompanyCode                                as CompanyCode,
      _PurchaseContractItem.MaterialGroup                              as MaterialGroup

}
where
      _PurchaseContractItem.PurchasingDocumentCategory                     = 'K'
  and _PurchaseContractItem._PurchasingDocument.PurchasingDocumentCategory = 'K'
  and IsEndOfPurposeBlocked                                                = ' '
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASECONTRACTHISTORY",
"I_PURCHASINGDOCUMENTHISTORYBSC",
"R_PURCHASINGDOCUMENT",
"R_PURCHASINGDOCUMENTITEM"
],
"ASSOCIATED":
[
"I_PURCHASINGDOCUMENTHISTORYBSC"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/