C_PurDocListPOAll
Purchase Order : Header + Item
C_PurDocListPOAll is a Consumption CDS View that provides data about "Purchase Order : Header + Item" in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrder) and exposes 71 fields with key fields PurchaseOrderItem, AccountAssignmentNumber. It has 4 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrder | ekko | left_outer |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | lfa1 | _Suppl | $projection.Supplier = _Suppl.lifnr |
| [1..1] | C_Purdoclistcalfieldspo | pdi_calc | $projection.PurchaseOrder = pdi_calc.PurchasingDocument and I_PurchaseOrderItem.PurchaseOrderItem = pdi_calc.PurchasingDocumentItem |
| [1..*] | C_PURDOCLISTWBSELEMENT | wbsobj | $projection.PurchaseOrder = wbsobj.PurchaseOrder and I_PurchaseOrderItem.PurchaseOrderItem = wbsobj.PurchaseOrderItem |
| [1..1] | P_PurOrditemDeliveryDate | _PurgDocScheduleLine | $projection.PurchaseOrder = _PurgDocScheduleLine.PurchasingDocument and $projection.PurchaseOrderItem = _PurgDocScheduleLine.PurchasingDocumentItem |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| AbapCatalog.sqlViewName | CDOCLPOALL | view | |
| EndUserText.label | Purchase Order : Header + Item | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| VDM.private | true | view |
Fields (71)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| PurchaseOrder | ||||
| KEY | PurchaseOrderItem | I_PurchaseOrderItem | PurchaseOrderItem | |
| KEY | AccountAssignmentNumber | wbsobj | AccountAssignmentNumber | |
| PurchaseOrderItemText | ||||
| Material | I_PurchaseOrderItem | Material | ||
| MaterialGroup | I_PurchaseOrderItem | MaterialGroup | ||
| Plant | I_PurchaseOrderItem | Plant | ||
| BaseUnit | I_PurchaseOrderItem | BaseUnit | ||
| StorageLocation | I_PurchaseOrderItem | StorageLocation | ||
| CompanyCode | I_PurchaseOrderItem | CompanyCode | ||
| PurchaseOrderQuantityUnit | I_PurchaseOrderItem | PurchaseOrderQuantityUnit | ||
| PurchaseOrderPriceUnit | I_PurchaseOrderItem | OrderPriceUnit | ||
| AcctAssignmentCategory | I_PurchaseOrderItem | AccountAssignmentCategory | ||
| IsDeletedItem | I_PurchaseOrderItem | PurchasingDocumentDeletionCode | ||
| ManufacturerMaterial | I_PurchaseOrderItem | ManufacturerMaterial | ||
| MfrPartNumber | I_PurchaseOrderItem | ManufacturerPartNmbr | ||
| PurchaseOrderQty | I_PurchaseOrderItem | OrderQuantity | ||
| PurchaseOrderNetPriceQuantity | I_PurchaseOrderItem | NetPriceQuantity | ||
| PurchaseOrderNetPriceAmount | I_PurchaseOrderItem | NetPriceAmount | ||
| PurchaseOrderNetAmount | I_PurchaseOrderItem | NetAmount | ||
| PurchaseOrderItemCategory | I_PurchaseOrderItem | PurchaseOrderItemCategory | ||
| ItemIsStatistical | I_PurchaseOrderItem | IsStatisticalItem | ||
| IsReturnsItem | I_PurchaseOrderItem | IsReturnsItem | ||
| OrderItemQtyToBaseQtyDnmntr | I_PurchaseOrderItem | OrderItemQtyToBaseQtyDnmntr | ||
| OrderItemQtyToBaseQtyNmrtr | I_PurchaseOrderItem | OrderItemQtyToBaseQtyNmrtr | ||
| IsCompletelyDelivered | I_PurchaseOrderItem | IsCompletelyDelivered | ||
| IsFinallyInvoiced | I_PurchaseOrderItem | IsFinallyInvoiced | ||
| GoodsReceiptIsExpected | I_PurchaseOrderItem | GoodsReceiptIsExpected | ||
| InvoiceIsGoodsReceiptBased | I_PurchaseOrderItem | InvoiceIsGoodsReceiptBased | ||
| InvoiceIsExpected | I_PurchaseOrderItem | InvoiceIsExpected | ||
| ServicePerformer | I_PurchaseOrderItem | ServicePerformer | ||
| DeliveryDate | _PurgDocScheduleLine | DeliveryDate | ||
| WBSElementExternalID | ||||
| SalesOrder | wbsobj | SalesOrder | ||
| SalesOrderItem | wbsobj | SalesOrderItem | ||
| WorkPackageFullName | ||||
| WBSDescription | wbsobj | WBSDescription | ||
| CostCenter | ||||
| ControllingArea | wbsobj | ControllingArea | ||
| dec95asExchangeRate | ||||
| PurchasingDocumentCategory | ||||
| purchasingDocumentType | I_PurchaseOrder | PurchaseOrderType | ||
| LastChangeDate | I_PurchaseOrder | CreationDate | ||
| CreatedByUser | I_PurchaseOrder | CreatedByUser | ||
| Supplier | I_PurchaseOrder | Supplier | ||
| PaymentTerms | I_PurchaseOrder | PaymentTerms | ||
| PurchasingOrganization | I_PurchaseOrder | PurchasingOrganization | ||
| PurchasingGroup | I_PurchaseOrder | PurchasingGroup | ||
| Currency | I_PurchaseOrder | DocumentCurrency | ||
| PurchaseOrderDate | ||||
| SupplyingPlant | I_PurchaseOrder | SupplyingPlant | ||
| IsDeletedHeader | I_PurchaseOrder | PurchasingDocumentDeletionCode | ||
| SupplyingVendorName | _Suppl | name1 | ||
| PurchasingGroupName | ||||
| PurchasingOrganizationName | ||||
| CompanyCodeName | ||||
| PlantName | ||||
| name1_sp | I_PurchaseOrder | SupplyingPlant | ||
| IsEndOfPurposeBlocked | I_PurchaseOrder | IsEndOfPurposeBlocked | ||
| GoodsReceiptQuantity | pdi_calc | wemng | ||
| GoodsReceiptValue | pdi_calc | wewrt | ||
| InvoiceReceiptQuantity | pdi_calc | remng | ||
| InvoiceReceiptValue | pdi_calc | rewrt | ||
| DocumentCurrency | pdi_calc | DocumentCurrency | ||
| qtymismatch | pdi_calc | qtymismatch | ||
| confmiss | pdi_calc | confmiss | ||
| wesbs | pdi_calc | wesbs | ||
| int4ascntf | ||||
| cntk | ||||
| cntl | ||||
| releasevalue |
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@AbapCatalog.sqlViewName: 'CDOCLPOALL'
@EndUserText.label: 'Purchase Order : Header + Item'
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@VDM.private : true
define view C_PurDocListPOAll
as select distinct from I_PurchaseOrderItem as I_PurchaseOrderItem
left outer join I_PurchaseOrder as ekko on I_PurchaseOrderItem.PurchaseOrder = ekko.PurchaseOrder
association [0..1] to lfa1 as _Suppl on $projection.Supplier = _Suppl.lifnr
// association [0..1] to lfa1 as _Supplyingplant on $projection.SupplyingPlant = _Supplyingplant.lifnr
association [1..1] to C_Purdoclistcalfieldspo as pdi_calc on $projection.PurchaseOrder = pdi_calc.PurchasingDocument
and I_PurchaseOrderItem.PurchaseOrderItem = pdi_calc.PurchasingDocumentItem
association [1..*] to C_PURDOCLISTWBSELEMENT as wbsobj on $projection.PurchaseOrder = wbsobj.PurchaseOrder
and I_PurchaseOrderItem.PurchaseOrderItem = wbsobj.PurchaseOrderItem
association [1..1] to P_PurOrditemDeliveryDate as _PurgDocScheduleLine on $projection.PurchaseOrder = _PurgDocScheduleLine.PurchasingDocument
and $projection.PurchaseOrderItem = _PurgDocScheduleLine.PurchasingDocumentItem
{
-- Key fields
key I_PurchaseOrderItem.PurchaseOrder,
key I_PurchaseOrderItem.PurchaseOrderItem,
key wbsobj.AccountAssignmentNumber,
-- Fields from table I_PurchaseOrderItem
I_PurchaseOrderItem.PurchaseOrderItemText,
I_PurchaseOrderItem.Material,
I_PurchaseOrderItem.MaterialGroup,
I_PurchaseOrderItem.Plant,
I_PurchaseOrderItem.BaseUnit,
I_PurchaseOrderItem.StorageLocation,
I_PurchaseOrderItem.CompanyCode,
I_PurchaseOrderItem.PurchaseOrderQuantityUnit,
I_PurchaseOrderItem.OrderPriceUnit as PurchaseOrderPriceUnit,
I_PurchaseOrderItem.AccountAssignmentCategory as AcctAssignmentCategory,
I_PurchaseOrderItem.PurchasingDocumentDeletionCode as IsDeletedItem,
I_PurchaseOrderItem.ManufacturerMaterial,
I_PurchaseOrderItem.ManufacturerPartNmbr as MfrPartNumber,
I_PurchaseOrderItem.OrderQuantity as PurchaseOrderQty,
I_PurchaseOrderItem.NetPriceQuantity as PurchaseOrderNetPriceQuantity,
I_PurchaseOrderItem.NetPriceAmount as PurchaseOrderNetPriceAmount,
I_PurchaseOrderItem.NetAmount as PurchaseOrderNetAmount,
I_PurchaseOrderItem.PurchaseOrderItemCategory,
I_PurchaseOrderItem.IsStatisticalItem as ItemIsStatistical,
I_PurchaseOrderItem.IsReturnsItem,
I_PurchaseOrderItem.OrderItemQtyToBaseQtyDnmntr,
I_PurchaseOrderItem.OrderItemQtyToBaseQtyNmrtr,
I_PurchaseOrderItem.IsCompletelyDelivered,
I_PurchaseOrderItem.IsFinallyInvoiced,
I_PurchaseOrderItem.GoodsReceiptIsExpected,
I_PurchaseOrderItem.InvoiceIsGoodsReceiptBased,
I_PurchaseOrderItem.InvoiceIsExpected,
I_PurchaseOrderItem.ServicePerformer,
_PurgDocScheduleLine.DeliveryDate as DeliveryDate,
-- Fields from WBSELEMENT
COALESCE( wbsobj.WBSElementInternalID, '') as WBSElementInternalID,
COALESCE( wbsobj.WBSElementExternalID, '') as WBSElementExternalID,
wbsobj.SalesOrder,
wbsobj.SalesOrderItem,
COALESCE( wbsobj.WorkPackageFullName, '') as WorkPackageFullName,
wbsobj.WBSDescription,
COALESCE( wbsobj.CostCenter, '' ) as CostCenter,
wbsobj.ControllingArea,
-- Fields from table EKKO
cast(ekko.ExchangeRate as abap.dec(9,5)) as ExchangeRate,
cast ('F' as abap.char( 1 )) as PurchasingDocumentCategory,
// ekko.Status as PurchaseOrderStatus,
ekko.PurchaseOrderType as purchasingDocumentType,
ekko.CreationDate as LastChangeDate,
ekko.CreatedByUser,
ekko.Supplier,
ekko.PaymentTerms,
ekko.PurchasingOrganization,
ekko.PurchasingGroup,
ekko.DocumentCurrency as Currency,
cast( ekko.PurchaseOrderDate as abap.char(8)) as PurchaseOrderDate,
ekko.SupplyingPlant as SupplyingPlant,
ekko.PurchasingDocumentDeletionCode as IsDeletedHeader,
_Suppl.name1 as SupplyingVendorName,
//ekko._Supplier.SupplierName as SupplyingVendorName,
ekko._PurchasingGroup.PurchasingGroupName as PurchasingGroupName,
ekko._PurchasingOrganization.PurchasingOrganizationName as PurchasingOrganizationName,
ekko._CompanyCode.CompanyCodeName as CompanyCodeName,
I_PurchaseOrderItem._Plant.PlantName as PlantName,
ekko.SupplyingPlant as name1_sp,
ekko.IsEndOfPurposeBlocked,
-- Calculated fields from DDL C_Purdoclistcalfieldspo
pdi_calc.status as status,
pdi_calc.wemng as GoodsReceiptQuantity,
pdi_calc.wewrt as GoodsReceiptValue,
pdi_calc.remng as InvoiceReceiptQuantity,
pdi_calc.rewrt as InvoiceReceiptValue,
pdi_calc.DocumentCurrency as DocumentCurrency, // 2753251
pdi_calc.valuemismatch,
pdi_calc.qtymismatch,
pdi_calc.confmiss,
pdi_calc.wesbs as wesbs,
-- Placeholder fields (to be calculated in ABAP)
//cast('' as abap.char(40)) as MaterialName,
// cast('' as abap.char(20)) as MaterialGroupName,
//cast('' as abap.char(20)) as PurgDocumentTypeDescription,
// cast('' as abap.char(40)) as StatusDescription,
cast(1 as abap.int4) as cntf,
cast(0 as abap.int4) as cntk,
cast(0 as abap.int4) as cntl,
cast(0 as abap.quan(15,3)) as releasequantity,
'' as contractitemusage,
cast(0 as abap.curr(19,2)) as releasevalue,
-- Source of Supply
case ekko.Supplier when '' then cast(ekko.SupplyingPlant as abap.char(10))
else cast(ekko.Supplier as abap.char(10))
end as sosid,
case ekko.Supplier when '' then cast(_SupplyingPlant.PlantName as abap.char(100))
else cast(_Suppl.name1 as abap.char(100))
end as sosname
// _supplier
// sup_addr.SupplierAddressCountry as SupplierAddressCountry,
// sup_addr.SupplierAddressCity as SupplierAddressCity,
//_MatText,
//_MatGroupText,
//_StatusText,
//_PURCHASINGDOCUMENTTYPETEXT
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_PURDOCLISTCALFIELDSPO",
"C_PURDOCLISTWBSELEMENT",
"I_COMPANYCODE",
"I_PLANT",
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"P_PURORDITEMDELIVERYDATE",
"LFA1"
],
"ASSOCIATED":
[
"C_PURDOCLISTCALFIELDSPO",
"C_PURDOCLISTWBSELEMENT",
"P_PURORDITEMDELIVERYDATE",
"LFA1"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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