P_InbDelivProcFlowChildren

DDL: P_INBDELIVPROCFLOWCHILDREN SQL: PIBDLVPROCFLOWC Type: view COMPOSITE

Inbound Delivery Process Flow Successors

P_InbDelivProcFlowChildren is a Composite CDS View that provides data about "Inbound Delivery Process Flow Successors" in SAP S/4HANA. It reads from 8 data sources and exposes 49 fields with key fields InboundDelivery, PrecedingDocument, PrecedingDocumentCategory, SubsequentDocument, SubsequentDocumentCategory. It has 1 association to related views.

Data Sources (8)

SourceAliasJoin Type
I_PurchasingDocHistory History inner
I_InboundDelivery InboundDelivery inner
I_InboundDelivery InboundDelivery inner
I_InboundDelivery InboundDelivery inner
I_SupplierInvoice Invoice inner
P_DelivProcFlowLatestTransfOrd LatestWMTransferOrder inner
P_DelivProcFlowLatestTransfOrd WMTransferOrder left_outer
P_DeliveryProcFlowTransfOrd WMTransferOrder inner

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_InboundDelivery _InboundDelivery $projection.InboundDelivery = _InboundDelivery.InboundDelivery

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PIBDLVPROCFLOWC view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Inbound Delivery Process Flow Successors view
VDM.private true view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.compositionRoot true view

Fields (49)

KeyFieldSource TableSource FieldDescription
KEY InboundDelivery P_DeliveryProcFlowTransfOrd DeliveryDocument
KEY PrecedingDocument P_DeliveryProcFlowTransfOrd PrecedingDocument
KEY PrecedingDocumentCategory P_DeliveryProcFlowTransfOrd PrecedingDocumentCategory
KEY SubsequentDocument P_DeliveryProcFlowTransfOrd SubsequentDocument
KEY SubsequentDocumentCategory
PurchaseOrder
WarehouseNumber P_DeliveryProcFlowTransfOrd WarehouseNumber
WrhsMgmtTransferOrder P_DeliveryProcFlowTransfOrd WrhsMgmtTransferOrder
MaterialDocument
MaterialDocumentYear
SupplierInvoice
FiscalYear
OutboundDelivery
KEY PrecedingDocument I_InboundDelivery InboundDelivery
KEY PrecedingDocumentCategory I_InboundDelivery SDDocumentCategory
KEY SubsequentDocument GoodsReceipt SubsequentDocument
PurchaseOrder
WarehouseNumber
WrhsMgmtTransferOrder
MaterialDocument GoodsReceipt SubsequentDocument
MaterialDocumentYear GoodsReceipt MaterialDocumentYear
SupplierInvoice
FiscalYear
OutboundDelivery
KEY PrecedingDocument
KEY PrecedingDocumentCategory
KEY SubsequentDocument GoodsReceipt SubsequentDocument
PurchaseOrder
WarehouseNumber
WrhsMgmtTransferOrder
MaterialDocument GoodsReceipt SubsequentDocument
MaterialDocumentYear GoodsReceipt MaterialDocumentYear
SupplierInvoice
FiscalYear
OutboundDelivery
InboundDelivery
KEY PrecedingDocument
KEY PrecedingDocumentCategory InboundDeliveryItem ReferenceSDDocumentCategory
KEY SubsequentDocument
KEY SubsequentDocumentCategory
PurchaseOrder
WarehouseNumber
WrhsMgmtTransferOrder
MaterialDocument
MaterialDocumentYear
SupplierInvoice I_SupplierInvoice SupplierInvoice
FiscalYear I_SupplierInvoice FiscalYear
OutboundDelivery
_InboundDelivery _InboundDelivery
@AbapCatalog.sqlViewName: 'PIBDLVPROCFLOWC'
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #MANDATORY 
@EndUserText.label: 'Inbound Delivery Process Flow Successors'
@VDM.private: true
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.compositionRoot:true

// Inbound Delivery BPF: Successors of Inbound Delivery

define view P_InbDelivProcFlowChildren 

  // Lane 7 (Putaway): Inbound Delivery > WM Transfer Order

  as select distinct from P_DeliveryProcFlowTransfOrd as WMTransferOrder // Successor WM Transfer Order

    inner join            I_InboundDelivery           as InboundDelivery on InboundDelivery.InboundDelivery = WMTransferOrder.DeliveryDocument
    
    association [0..1] to I_InboundDelivery as _InboundDelivery on $projection.InboundDelivery = _InboundDelivery.InboundDelivery    
{
  key WMTransferOrder.DeliveryDocument                     as InboundDelivery,
  key WMTransferOrder.PrecedingDocument,
  key WMTransferOrder.PrecedingDocumentCategory,
  key WMTransferOrder.SubsequentDocument,
  key cast('Q2' as subsequ_doc_cat)                        as SubsequentDocumentCategory,

      cast( '' as vdm_purchaseorder)                       as PurchaseOrder,

      WMTransferOrder.WarehouseNumber,
      WMTransferOrder.WrhsMgmtTransferOrder,

      cast('' as mblnr )                                   as MaterialDocument,
      cast('0000' as mjahr)                                as MaterialDocumentYear,

      cast('' as re_belnr)                                 as SupplierInvoice,
      cast('0000' as gjahr)                                as FiscalYear,

      cast ('' as vbeln_vl )                               as OutboundDelivery,
      
      _InboundDelivery
}

// Lane 8 (Goods Movement): Inbound Delivery > Goods Receipt/Cancelation

union all select distinct from I_SDDocumentProcessFlow        as GoodsReceipt // Successor: Goods Receipt/ Reversal Material Document

  inner join                   I_InboundDelivery              as InboundDelivery on InboundDelivery.InboundDelivery = GoodsReceipt.PrecedingDocument
  left outer join              P_DelivProcFlowLatestTransfOrd as WMTransferOrder on WMTransferOrder.DeliveryDocument = InboundDelivery.InboundDelivery
  
  association [0..1] to I_InboundDelivery as _InboundDelivery on $projection.InboundDelivery = _InboundDelivery.InboundDelivery  
{
  key cast(GoodsReceipt.PrecedingDocument as vbeln_vl)     as InboundDelivery,
  key InboundDelivery.InboundDelivery                      as PrecedingDocument,
  key InboundDelivery.SDDocumentCategory                   as PrecedingDocumentCategory,
  key GoodsReceipt.SubsequentDocument                      as SubsequentDocument,
  key case GoodsReceipt.SubsequentDocumentCategory 
        when 'R' then 'R2'
        when 'h' then 'h2'
        else GoodsReceipt.SubsequentDocumentCategory
      end as SubsequentDocumentCategory,

      cast( '' as vdm_purchaseorder)                       as PurchaseOrder,

      cast('' as lgnum)                                    as WarehouseNumber,
      cast('0000000000' as wm_transfer_order)              as WrhsMgmtTransferOrder,

      GoodsReceipt.SubsequentDocument                      as MaterialDocument,
      GoodsReceipt.MaterialDocumentYear,

      cast('' as re_belnr)                                 as SupplierInvoice,
      cast('0000' as gjahr)                                as FiscalYear,

      cast ('' as vbeln_vl )                               as OutboundDelivery,
      
     _InboundDelivery      
}
where
  GoodsReceipt.PrecedingDocumentCategory = '7' and
  ( GoodsReceipt.SubsequentDocumentCategory = 'R' or 
    GoodsReceipt.SubsequentDocumentCategory = 'h' ) and
  WMTransferOrder.WrhsMgmtTransferOrder is null

// Lane 8 (Goods Movement): Warehouse Transfer Order -> Goods Receipt/Cancelation

union all select distinct from I_SDDocumentProcessFlow        as GoodsReceipt // Successor: Goods Receipt/ Reversal Material Document

  inner join                   I_InboundDelivery              as InboundDelivery       on  InboundDelivery.InboundDelivery            = GoodsReceipt.PrecedingDocument
                                                                                       and InboundDelivery.SDDocumentCategory         = GoodsReceipt.PrecedingDocumentCategory
  inner join                   P_DelivProcFlowLatestTransfOrd as LatestWMTransferOrder on LatestWMTransferOrder.DeliveryDocument      = GoodsReceipt.PrecedingDocument
  inner join                   P_DeliveryProcFlowTransfOrd    as WMTransferOrder       on  WMTransferOrder.DeliveryDocument           = LatestWMTransferOrder.DeliveryDocument
                                                                                       and WMTransferOrder.PrecedingDocument          = LatestWMTransferOrder.DeliveryDocument
                                                                                       and WMTransferOrder.PrecedingDocumentCategory  = GoodsReceipt.PrecedingDocumentCategory
                                                                                       and WMTransferOrder.SubsequentDocument         = LatestWMTransferOrder.WrhsMgmtTransferOrder
                                                                                       and WMTransferOrder.SubsequentDocumentCategory = 'Q'
                                                                                       
  association [0..1] to I_InboundDelivery as _InboundDelivery on $projection.InboundDelivery = _InboundDelivery.InboundDelivery                                                                                       
  
{
  key cast(GoodsReceipt.PrecedingDocument as vbeln_vl)                                    as InboundDelivery,
  key cast(WMTransferOrder.SubsequentDocument as preced_doc)                              as PrecedingDocument,
  key cast('Q2' as preced_doc_cat)                                                        as PrecedingDocumentCategory,
  key GoodsReceipt.SubsequentDocument                                                     as SubsequentDocument,
  key case GoodsReceipt.SubsequentDocumentCategory 
        when 'R' then 'R2'
        when 'h' then 'h2'
        else GoodsReceipt.SubsequentDocumentCategory
      end as SubsequentDocumentCategory,


      cast( '' as vdm_purchaseorder)                                                      as PurchaseOrder,

      cast('' as lgnum)                                                                   as WarehouseNumber,
      cast('0000000000' as wm_transfer_order)                                             as WrhsMgmtTransferOrder,

      GoodsReceipt.SubsequentDocument                                                     as MaterialDocument,
      GoodsReceipt.MaterialDocumentYear,

      cast('' as re_belnr)                                                                as SupplierInvoice,
      cast('0000' as gjahr)                                                               as FiscalYear,

      cast ('' as vbeln_vl )                                                              as OutboundDelivery,
      
      _InboundDelivery      
}
where
  GoodsReceipt.PrecedingDocumentCategory = '7' and
  ( GoodsReceipt.SubsequentDocumentCategory = 'R' or 
    GoodsReceipt.SubsequentDocumentCategory = 'h' )

// Lane 9 (Invoicing): Inbound Delivery > Supplier Invoice

union all select distinct from I_InboundDeliveryItem  as InboundDeliveryItem
  inner join                   I_PurchasingDocHistory as History on InboundDeliveryItem.ReferenceSDDocument = History.PurchasingDocument
  inner join                   I_SupplierInvoice      as Invoice on History.MaterialDocument = Invoice.SupplierInvoice

 association [0..1] to I_InboundDelivery as _InboundDelivery on $projection.InboundDelivery = _InboundDelivery.InboundDelivery
 
{
  key InboundDeliveryItem.InboundDelivery,
  key cast(InboundDeliveryItem.ReferenceSDDocument as preced_doc )  as PrecedingDocument,
  key InboundDeliveryItem.ReferenceSDDocumentCategory               as PrecedingDocumentCategory,
  key cast(Invoice.SupplierInvoice as subsequ_doc )                 as SubsequentDocument,
  key cast('2' as subsequ_doc_cat)                                  as SubsequentDocumentCategory,

      cast(InboundDeliveryItem.ReferenceSDDocument as preced_doc )  as PurchaseOrder,

      cast('' as lgnum)                                             as WarehouseNumber,
      cast('0000000000' as wm_transfer_order)                       as WrhsMgmtTransferOrder,

      cast('' as mblnr )                                            as MaterialDocument,
      cast('0000' as mjahr)                                         as MaterialDocumentYear,

      Invoice.SupplierInvoice,
      Invoice.FiscalYear,

      cast ('' as vbeln_vl )                                        as OutboundDelivery,
      
    _InboundDelivery      
}
where
  InboundDeliveryItem.ReferenceSDDocumentCategory = 'V'