P_SlsOrdFlfmtProcessFlow1 is a Composite CDS View that provides data about "SOFM Process Flow 1" in SAP S/4HANA. It reads from 1 data source (I_SalesDocument) and exposes 11 fields with key fields Level1Document, Level1DocumentItem, SalesOrder. Part of development package VDM_SD_SOF_OLD.
@ClientHandling.algorithm: #SESSION_VARIABLE@ObjectModel.usageType.dataClass: #MIXED@ObjectModel.usageType.serviceQuality: #D@ObjectModel.usageType.sizeCategory: #S@VDM.private: true@VDM.viewType: #COMPOSITE@AccessControl.authorizationCheck: #NOT_REQUIRED@AbapCatalog.sqlViewName: 'PSOFProcFlow1'
defineview P_SlsOrdFlfmtProcessFlow1
asselectfrom
I_SalesDocument as SalesDocument
leftouter to many join
I_SDDocumentProcessFlow as ProcFlow
on
SalesDocument.SalesDocument = ProcFlow.PrecedingDocument
and (PrecedingDocumentCategory = 'C' or --> Order
PrecedingDocumentCategory = 'I' or --> Order w/o charge
PrecedingDocumentCategory = 'L' --> Debit Memo Request)
)
and (
SubsequentDocumentCategory = 'M' or --> Invoice
SubsequentDocumentCategory = 'J' or --> Delivery
SubsequentDocumentCategory = 'O' or --> Credit Memo
SubsequentDocumentCategory = 'P' or --> Debit Memo
SubsequentDocumentCategory = 'I' or --> Order w/o charge
SubsequentDocumentCategory = 'L' --> Debit Memo Request
)
leftouter to one join
I_DeliveryDocument as DeliveryDocument
on
SubsequentDocument = DeliveryDocument.DeliveryDocument
and SubsequentDocumentCategory = DeliveryDocument.SDDocumentCategory
{
//Keykey SubsequentDocument as Level1Document,
key SubsequentDocumentItem as Level1DocumentItem,
//SalesOrder
keycast(SalesDocument as vdm_sales_order) as SalesOrder,
SalesDocumentType as SalesOrderType,
//Category
SubsequentDocumentCategory as Level1DocumentCategory,
SalesDocument.SDDocumentCategory as SalesOrderCategory,
//Organization
SalesDocument.SalesOrganization,
SalesDocument.DistributionChannel,
SalesDocument.OrganizationDivision,
//Partner
SalesDocument.SoldToParty,
cast (SalesDocument._SoldToParty.CustomerName as vdm_sold_to_name) as SoldToPartyName,
//Status
casewhen
(
OverallTotalDeliveryStatus = 'A' or
OverallTotalDeliveryStatus = 'B'
)
then
'X'
else
''
endas DeliveryDocumentIsRequired,
casewhen
(
OverallOrdReltdBillgStatus = 'A' or
OverallOrdReltdBillgStatus = 'B' or
OverallDelivReltdBillgStatus = 'A' or
OverallDelivReltdBillgStatus = 'B'
)
then
'X'
else
''
endas BillingDocumentIsRequired
}
where ( SalesDocument.SDDocumentCategory = 'C' or --> Order
SalesDocument.SDDocumentCategory = 'I' or --> Order w/o charge
SalesDocument.SDDocumentCategory = 'L' ) --> Debit Memo Request