P_SOFAProcFlow30

DDL: P_SOFAPROCFLOW30 SQL: PSOFAPROCF30 Type: view COMPOSITE Package: ODATA_SD_SOFA

SOFA Process Flow:: Level +3 Sales & Distribution

P_SOFAProcFlow30 is a Composite CDS View that provides data about "SOFA Process Flow:: Level +3 Sales & Distribution" in SAP S/4HANA. It reads from 2 data sources (P_SOFAProcFlow20, I_SDDocumentProcessFlow) and exposes 23 fields with key fields SalesDocument, SDDocumentCategory, Level2Document, Level2DocumentItem, Level2DocumentCategory. Part of development package ODATA_SD_SOFA.

Data Sources (2)

SourceAliasJoin Type
P_SOFAProcFlow20 Level2 from
I_SDDocumentProcessFlow Level3 inner

Annotations (8)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.private true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
AbapCatalog.sqlViewName PSOFAPROCF30 view

Fields (23)

KeyFieldSource TableSource FieldDescription
KEY SalesDocument SalesDocument
KEY SDDocumentCategory P_SOFAProcFlow20 SDDocumentCategory
KEY Level2Document Level2Document
KEY Level2DocumentItem Level2DocumentItem
KEY Level2DocumentCategory Level2DocumentCategory
KEY Level1DocumentCategory Level1DocumentCategory
KEY Level3Document I_SDDocumentProcessFlow SubsequentDocument
KEY Level3DocumentItem I_SDDocumentProcessFlow SubsequentDocumentItem
KEY Level3DocumentCategory I_SDDocumentProcessFlow SubsequentDocumentCategory
SalesDocumentType P_SOFAProcFlow20 SalesDocumentType
SalesOrganization P_SOFAProcFlow20 SalesOrganization
DistributionChannel P_SOFAProcFlow20 DistributionChannel
OrganizationDivision P_SOFAProcFlow20 OrganizationDivision
OverallSDProcessStatus P_SOFAProcFlow20 OverallSDProcessStatus
OverallTotalDeliveryStatus P_SOFAProcFlow20 OverallTotalDeliveryStatus
OverallOrdReltdBillgStatus P_SOFAProcFlow20 OverallOrdReltdBillgStatus
RequestedDeliveryDate P_SOFAProcFlow20 RequestedDeliveryDate
OverallSDProcessStatus
SalesDocumentDate P_SOFAProcFlow20 SalesDocumentDate
SalesGroup P_SOFAProcFlow20 SalesGroup
SalesOffice P_SOFAProcFlow20 SalesOffice
SoldToParty P_SOFAProcFlow20 SoldToParty
PurchaseOrderByCustomer P_SOFAProcFlow20 PurchaseOrderByCustomer
@ClientHandling.algorithm: #SESSION_VARIABLE 
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL

@VDM.private: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'PSOFAPROCF30'

define view P_SOFAProcFlow30 
 as select from   P_SOFAProcFlow20        as Level2
 inner join       I_SDDocumentProcessFlow as Level3
on 
     Level2.Level2Document         = Level3.PrecedingDocument
and  Level2.Level2DocumentCategory = Level3.PrecedingDocumentCategory
and  Level2.Level2DocumentItem     = Level3.PrecedingDocumentItem
and ( Level3.SubsequentDocumentCategory = 'O' or   --> Credit Memo 
      Level3.SubsequentDocumentCategory = 'P' or   --> Debit  Memo 
      Level3.SubsequentDocumentCategory = 'K' or   --> Credit Memo Request
      Level3.SubsequentDocumentCategory = 'L' )    --> Debit  Memo Request

left outer to one join 
I_BillingDocument as BillingDocument
  on Level3.SubsequentDocument         = BillingDocument.BillingDocument  and
     Level3.SubsequentDocumentCategory = BillingDocument.SDDocumentCategory                   
{
   //SalesOrder

   key SalesDocument,
   key Level2.SDDocumentCategory,
   
   key Level2Document,
   key Level2DocumentItem,
   key Level2DocumentCategory,
   key Level1DocumentCategory,
   
   key Level3.SubsequentDocument         as Level3Document,
   key Level3.SubsequentDocumentItem     as Level3DocumentItem,
   key Level3.SubsequentDocumentCategory as Level3DocumentCategory,
   
   Level2.SalesDocumentType,

    //Organization

   Level2.SalesOrganization,
   Level2.DistributionChannel,
   Level2.OrganizationDivision,   
   
   Level2.OverallSDProcessStatus,
   Level2.OverallTotalDeliveryStatus,
   Level2.OverallOrdReltdBillgStatus,
   
   //Misc

    Level2.RequestedDeliveryDate,
    --OverallSDProcessStatus,
    Level2.SalesDocumentDate,
    Level2.SalesGroup,
    Level2.SalesOffice,
    Level2.SoldToParty,
    Level2.PurchaseOrderByCustomer,
   
                
   case 
     when
      BillingDocument.BillingDocumentIsCancelled = 'X'
     then 'X' 
     else ''
    end as BillingDocumentIsCancelled   
 }