P_RFM_SlsOrdPrgrsMntrPurReqn

DDL: P_RFM_SLSORDPRGRSMNTRPURREQN Type: view COMPOSITE

P_RFM_SlsOrdPrgrsMntrPurReqn is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_PurchaseReqnAcctAssgmt, I_Purchaserequisitionitem) and exposes 13 fields with key fields SalesOrder, SalesOrderItem, PurchaseRequisition, PurchaseRequisitionItem.

Data Sources (2)

SourceAliasJoin Type
I_PurchaseReqnAcctAssgmt PurReqnAcctAssgmt from
I_Purchaserequisitionitem PurReqnItm inner

Annotations (11)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
VDM.private true view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #NOT_REQUIRED view
AbapCatalog.sqlViewName PRFMSOPMPURREQN view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #L view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder I_PurchaseReqnAcctAssgmt SalesOrder
KEY SalesOrderItem I_PurchaseReqnAcctAssgmt SalesOrderItem
KEY PurchaseRequisition I_Purchaserequisitionitem PurchaseRequisition
KEY PurchaseRequisitionItem I_Purchaserequisitionitem PurchaseRequisitionItem
RequestedQuantity I_Purchaserequisitionitem RequestedQuantity
BaseUnit I_Purchaserequisitionitem BaseUnit
DeliveryDate I_Purchaserequisitionitem DeliveryDate
PurOrdItmFirstGRPostingDate _PurOrdHist PostingDate
DeliveryDateasdue_daysendasDueDays
TotalSupplyQuantity RequestedQuantity
ProcessedSupplyQuantity OrderedQuantity
Material I_Purchaserequisitionitem Material
Plant I_Purchaserequisitionitem Plant
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@VDM.private: true
@AccessControl: {
  authorizationCheck: #NOT_REQUIRED,
  personalData.blocking: #NOT_REQUIRED
}
@AbapCatalog: {
  sqlViewName: 'PRFMSOPMPURREQN',
  preserveKey:true,
  compiler.compareFilter: true
}
@ObjectModel: {
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #A,
     sizeCategory:   #L
   }
}
//@EndUserText.label: 'Purchase Requistion'

define view P_RFM_SlsOrdPrgrsMntrPurReqn
  as select from           I_PurchaseReqnAcctAssgmt    as PurReqnAcctAssgmt
    inner join             I_Purchaserequisitionitem   as PurReqnItm  on  PurReqnAcctAssgmt.PurchaseRequisition     = PurReqnItm.PurchaseRequisition
                                                                      and PurReqnAcctAssgmt.PurchaseRequisitionItem = PurReqnItm.PurchaseRequisitionItem
    left outer to one join I_PurchaseOrderItem         as PurOrd      on  PurReqnItm.PurchaseRequisition        = PurOrd.PurchaseRequisition
                                                                      and PurReqnItm.PurchaseRequisitionItem    = PurOrd.PurchaseRequisitionItem
                                                                      and PurOrd.PurchasingDocumentDeletionCode is initial
    left outer to one join P_RFM_SlsOrdPrgrsMntrPOHist as _PurOrdHist on  PurOrd.PurchaseOrder     = _PurOrdHist.PurchasingDocument
                                                                      and PurOrd.PurchaseOrderItem = _PurOrdHist.PurchasingDocumentItem
{
  key    PurReqnAcctAssgmt.SalesOrder,
  key    PurReqnAcctAssgmt.SalesOrderItem,
  key    PurReqnItm.PurchaseRequisition,
  key    PurReqnItm.PurchaseRequisitionItem,
         @Semantics.quantity.unitOfMeasure: 'BaseUnit'
         PurReqnItm.RequestedQuantity,
         @Semantics.unitOfMeasure: true
         PurReqnItm.BaseUnit,
         PurReqnItm.DeliveryDate,
         _PurOrdHist.PostingDate as PurOrdItmFirstGRPostingDate,
         case
           when _PurOrdHist.PostingDate is not initial
           then cast(Dats_Days_Between( _PurOrdHist.PostingDate, PurReqnItm.DeliveryDate) as due_days)
           else cast(Dats_Days_Between( cast($session.system_date as dats), PurReqnItm.DeliveryDate) as due_days)
           end                   as DueDays,
         case
           when (_PurOrdHist.PostingDate is initial or _PurOrdHist.PostingDate is null ) and PurReqnItm.DeliveryDate <= $session.system_date
           then 'X'
           when _PurOrdHist.PostingDate is not initial and PurReqnItm.DeliveryDate <= _PurOrdHist.PostingDate
           then 'X'
           else ' '
         end                     as DeliveryIsOverdue,
         @Semantics.quantity.unitOfMeasure: 'BaseUnit'
         RequestedQuantity       as TotalSupplyQuantity,
         @Semantics.quantity.unitOfMeasure: 'BaseUnit'
         OrderedQuantity         as ProcessedSupplyQuantity,
         PurReqnItm.Material,
         PurReqnItm.Plant
}

where
      PurReqnItm.IsDeleted             <> 'X'
  and PurReqnItm.IsEndOfPurposeBlocked =  ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDERITEM",
"I_PURCHASEREQNACCTASSGMT",
"I_PURCHASEREQUISITIONITEM",
"P_RFM_SLSORDPRGRSMNTRPOHIST"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/