P_SOFAProcFlow12
SOFA Process Flow:: Level +1 Purchase Order
P_SOFAProcFlow12 is a Composite CDS View that provides data about "SOFA Process Flow:: Level +1 Purchase Order" in SAP S/4HANA. It reads from 3 data sources (I_PurOrdAccountAssignment, P_SDDocumentPurchOrdProcFlow, R_PurchaseOrderItem) and exposes 32 fields with key fields SalesDocument, SDDocumentCategory, PurchaseOrder, SDDocumentCategory, PurchaseOrder. Part of development package ODATA_SD_SOFA.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_PurOrdAccountAssignment | POAccountAss | inner |
| P_SDDocumentPurchOrdProcFlow | ProcFlow | inner |
| R_PurchaseOrderItem | PurchaseOrderItem | inner |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| 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 | PSOFAPROCF12 | view |
Fields (32)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SalesDocument | SalesDocument | ||
| KEY | SDDocumentCategory | SDDocumentCategory | ||
| KEY | PurchaseOrder | P_SDDocumentPurchOrdProcFlow | SubsequentDocument | |
| SalesDocumentType | SalesDocumentType | |||
| SalesOrganization | SalesOrganization | |||
| DistributionChannel | DistributionChannel | |||
| OrganizationDivision | OrganizationDivision | |||
| OverallSDProcessStatus | OverallSDProcessStatus | |||
| OverallTotalDeliveryStatus | OverallTotalDeliveryStatus | |||
| OverallOrdReltdBillgStatus | OverallOrdReltdBillgStatus | |||
| RequestedDeliveryDate | RequestedDeliveryDate | |||
| OverallSDProcessStatus | ||||
| SalesDocumentDate | SalesDocumentDate | |||
| SalesGroup | SalesGroup | |||
| SalesOffice | SalesOffice | |||
| SoldToParty | SoldToParty | |||
| KEY | SDDocumentCategory | SDDocumentCategory | ||
| KEY | PurchaseOrder | I_PurOrdAccountAssignment | PurchaseOrder | |
| SalesDocumentType | SalesDocumentType | |||
| SalesOrganization | SalesOrganization | |||
| DistributionChannel | DistributionChannel | |||
| OrganizationDivision | OrganizationDivision | |||
| OverallSDProcessStatus | OverallSDProcessStatus | |||
| OverallTotalDeliveryStatus | OverallTotalDeliveryStatus | |||
| OverallOrdReltdBillgStatus | OverallOrdReltdBillgStatus | |||
| RequestedDeliveryDate | RequestedDeliveryDate | |||
| OverallSDProcessStatus | ||||
| SalesDocumentDate | SalesDocumentDate | |||
| SalesGroup | SalesGroup | |||
| SalesOffice | SalesOffice | |||
| SoldToParty | SoldToParty | |||
| PurchaseOrderByCustomer | 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: 'PSOFAPROCF12'
define view P_SOFAProcFlow12
as select distinct from P_SOFAProcFlow00 as SalesDocument --> Level 0
inner join P_SDDocumentPurchOrdProcFlow as ProcFlow
on SalesDocument.SalesDocument = ProcFlow.PrecedingDocument
{
key SalesDocument,
key SDDocumentCategory,
key ProcFlow.SubsequentDocument as PurchaseOrder,
SalesDocumentType,
//Organization
SalesOrganization,
DistributionChannel,
OrganizationDivision,
OverallSDProcessStatus,
OverallTotalDeliveryStatus,
OverallOrdReltdBillgStatus,
//Misc
RequestedDeliveryDate,
--OverallSDProcessStatus,
SalesDocumentDate,
SalesGroup,
SalesOffice,
SoldToParty,
PurchaseOrderByCustomer
}
where
ProcFlow.PrecedingDocument != '000000'
and SalesDocument.SDDocumentCategory = 'C' --> Order
or SalesDocument.SDDocumentCategory = 'I' --> Order w/o charge
union all select distinct from P_SOFAProcFlow00 as SalesDocument --> Level 0
inner join I_PurOrdAccountAssignment as POAccountAss
on SalesDocument.SalesDocument = POAccountAss.SalesOrder
inner join R_PurchaseOrderItem as PurchaseOrderItem
on POAccountAss.PurchaseOrder = PurchaseOrderItem.PurchaseOrder
and POAccountAss.PurchaseOrderItem = PurchaseOrderItem.PurchaseOrderItem
and PurchaseOrderItem.PurchasingDocumentItemOrigin != 'V'
{
key SalesDocument,
key SDDocumentCategory,
key POAccountAss.PurchaseOrder,
SalesDocumentType,
//Organization
SalesOrganization,
DistributionChannel,
OrganizationDivision,
OverallSDProcessStatus,
OverallTotalDeliveryStatus,
OverallOrdReltdBillgStatus,
//Misc
RequestedDeliveryDate,
--OverallSDProcessStatus,
SalesDocumentDate,
SalesGroup,
SalesOffice,
SoldToParty,
PurchaseOrderByCustomer
}
where
POAccountAss.SalesOrderItem != '000000'
and SalesDocument.SDDocumentCategory = 'C' --> Order
or SalesDocument.SDDocumentCategory = 'I' --> Order w/o charge
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA