C_PurchaseOrderItemDEX
Data Extraction View for PO Item
C_PurchaseOrderItemDEX is a Consumption CDS View (Fact) that provides data about "Data Extraction View for PO Item" in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrderItemAPI01) and exposes 101 fields with key fields PurchaseOrder, PurchaseOrderItem. Part of development package ODATA_MM_ANALYTICS.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrderItemAPI01 | item | from |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| EndUserText.label | Data Extraction View for PO Item | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.representativeKey | PurchaseOrderItem | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| Analytics.dataCategory | #FACT | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Analytics.technicalName | CMMPOITMDX | view | |
| ObjectModel.sapObjectNodeType.name | PurchaseOrderItem | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_FACT | view |
Fields (101)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | I_PurchaseOrderItemAPI01 | PurchaseOrder | |
| KEY | PurchaseOrderItem | I_PurchaseOrderItemAPI01 | PurchaseOrderItem | |
| PurchaseOrderType | ||||
| PurchasingGroup | ||||
| PurchasingOrganization | ||||
| PurchasingDocumentOrigin | ||||
| Supplier | ||||
| SupplyingSupplier | ||||
| SupplyingPlant | ||||
| DocumentCurrency | ||||
| ExchangeRate | ||||
| InvoicingParty | ||||
| PurchaseOrderDate | ||||
| ValidityStartDate | ||||
| ValidityEndDate | ||||
| CreationDate | ||||
| LastChangeDateTime | ||||
| PurgDocumentItemDeletionCode | I_PurchaseOrderItemAPI01 | PurchasingDocumentDeletionCode | ||
| MaterialGroup | I_PurchaseOrderItemAPI01 | MaterialGroup | ||
| Material | I_PurchaseOrderItemAPI01 | Material | ||
| ManufacturerMaterial | I_PurchaseOrderItemAPI01 | ManufacturerMaterial | ||
| PurchaseOrderCategory | I_PurchaseOrderItemAPI01 | PurchaseOrderCategory | ||
| PurchasingOrderReason | I_PurchaseOrderItemAPI01 | PurchasingOrderReason | ||
| PurchaseOrderItemText | I_PurchaseOrderItemAPI01 | PurchaseOrderItemText | ||
| PurchaseOrderItemCategory | I_PurchaseOrderItemAPI01 | PurchaseOrderItemCategory | ||
| CompanyCode | CompanyCode | CompanyCode | ||
| Plant | I_PurchaseOrderItemAPI01 | Plant | ||
| StorageLocation | I_PurchaseOrderItemAPI01 | StorageLocation | ||
| PurchaseContract | I_PurchaseOrderItemAPI01 | PurchaseContract | ||
| PurchaseContractItem | I_PurchaseOrderItemAPI01 | PurchaseContractItem | ||
| BaseUnit | I_PurchaseOrderItemAPI01 | BaseUnit | ||
| OrderQuantity | I_PurchaseOrderItemAPI01 | OrderQuantity | ||
| PurchaseOrderQuantityUnit | I_PurchaseOrderItemAPI01 | PurchaseOrderQuantityUnit | ||
| NetPriceAmount | I_PurchaseOrderItemAPI01 | NetPriceAmount | ||
| NetAmount | I_PurchaseOrderItemAPI01 | NetAmount | ||
| LocalCurrency | CompanyCode | Currency | ||
| NetPriceQuantity | I_PurchaseOrderItemAPI01 | NetPriceQuantity | ||
| OrderPriceUnit | I_PurchaseOrderItemAPI01 | OrderPriceUnit | ||
| RequisitionerName | I_PurchaseOrderItemAPI01 | RequisitionerName | ||
| RetailPromotion | I_PurchaseOrderItemAPI01 | RetailPromotion | ||
| IsCompletelyDelivered | I_PurchaseOrderItemAPI01 | IsCompletelyDelivered | ||
| IsReturnsItem | I_PurchaseOrderItemAPI01 | IsReturnsItem | ||
| IsFinallyInvoiced | I_PurchaseOrderItemAPI01 | IsFinallyInvoiced | ||
| InvoiceIsExpected | I_PurchaseOrderItemAPI01 | InvoiceIsExpected | ||
| OrderItemQtyToBaseQtyDnmntr | I_PurchaseOrderItemAPI01 | OrderItemQtyToBaseQtyDnmntr | ||
| OrderItemQtyToBaseQtyNmrtr | ||||
| InvoiceIsGoodsReceiptBased | I_PurchaseOrderItemAPI01 | InvoiceIsGoodsReceiptBased | ||
| GoodsReceiptIsExpected | I_PurchaseOrderItemAPI01 | GoodsReceiptIsExpected | ||
| EvaldRcptSettlmtIsAllowed | I_PurchaseOrderItemAPI01 | EvaldRcptSettlmtIsAllowed | ||
| AccountAssignmentCategory | I_PurchaseOrderItemAPI01 | AccountAssignmentCategory | ||
| GoodsReceiptIsNonValuated | I_PurchaseOrderItemAPI01 | GoodsReceiptIsNonValuated | ||
| MaterialType | I_PurchaseOrderItemAPI01 | MaterialType | ||
| OverdelivTolrtdLmtRatioInPct | I_PurchaseOrderItemAPI01 | OverdelivTolrtdLmtRatioInPct | ||
| ServicePerformer | I_PurchaseOrderItemAPI01 | ServicePerformer | ||
| TaxCode | I_PurchaseOrderItemAPI01 | TaxCode | ||
| UnderdelivTolrtdLmtRatioInPct | I_PurchaseOrderItemAPI01 | UnderdelivTolrtdLmtRatioInPct | ||
| UnlimitedOverdeliveryIsAllowed | I_PurchaseOrderItemAPI01 | UnlimitedOverdeliveryIsAllowed | ||
| SupplierMaterialNumber | I_PurchaseOrderItemAPI01 | SupplierMaterialNumber | ||
| ProductTypeCode | I_PurchaseOrderItemAPI01 | ProductType | ||
| CreatedByUser | ||||
| ExpectedOverallLimitAmount | I_PurchaseOrderItemAPI01 | ExpectedOverallLimitAmount | ||
| OverallLimitAmount | I_PurchaseOrderItemAPI01 | OverallLimitAmount | ||
| RequirementSegment | I_PurchaseOrderItemAPI01 | RequirementSegment | ||
| ReleaseIsNotCompleted | ||||
| PurchasingCompletenessStatus | ||||
| IsStatisticalItem | I_PurchaseOrderItemAPI01 | IsStatisticalItem | ||
| MultipleAcctAssgmtDistribution | I_PurchaseOrderItemAPI01 | MultipleAcctAssgmtDistribution | ||
| PurchaseRequisition | I_PurchaseOrderItemAPI01 | PurchaseRequisition | ||
| PurchaseRequisitionItem | I_PurchaseOrderItemAPI01 | PurchaseRequisitionItem | ||
| SupplierConfirmationControlKey | I_PurchaseOrderItemAPI01 | SupplierConfirmationControlKey | ||
| PurchasingDocumentDeletionCode | ||||
| _PurchaseOrder | I_PurchaseOrderItemAPI01 | _PurchaseOrder | ||
| _PurchaseOrderDEX | _PurchaseOrderDEX | |||
| _ScheduleLineDEX | _ScheduleLineDEX | |||
| _AccountAssignmentDEX | _AccountAssignmentDEX | |||
| _POSupplierConfirmationDEX | _POSupplierConfirmationDEX | |||
| _CompanyCode | _CompanyCode | |||
| _PurchaseOrderType | _PurchaseOrderType | |||
| _ItemCategory | _ItemCategory | |||
| _Supplier | _Supplier | |||
| _SupplyingSupplier | _SupplyingSupplier | |||
| _InvoicingParty | _InvoicingParty | |||
| _PurchasingOrganization | _PurchasingOrganization | |||
| _PurchasingGroup | _PurchasingGroup | |||
| _DocumentCurrency | _DocumentCurrency | |||
| _LocalCurrency | _LocalCurrency | |||
| _SupplyingPlant | _SupplyingPlant | |||
| _Plant | _Plant | |||
| _StorageLocation | _StorageLocation | |||
| _Product | _Product | |||
| _ProductTypeCode | _ProductTypeCode | |||
| _ManufacturerMaterial | _ManufacturerMaterial | |||
| _ProductGroup | _ProductGroup | |||
| _ProductType | _ProductType | |||
| _BusinessPartner | _BusinessPartner | |||
| _BaseUnit | _BaseUnit | |||
| _OrderPriceUnit | _OrderPriceUnit | |||
| _OrderQuantityUnit | _OrderQuantityUnit | |||
| _PurchaseContract | _PurchaseContract | |||
| _PurchaseContractItem | _PurchaseContractItem | |||
| _PurchaseRequisitionItem | _PurchaseRequisitionItem |
@AccessControl:{
authorizationCheck: #CHECK,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@EndUserText.label: 'Data Extraction View for PO Item'
@ObjectModel :{ usageType.dataClass: #TRANSACTIONAL,
usageType.sizeCategory: #L,
usageType.serviceQuality: #D,
supportedCapabilities: [ #EXTRACTION_DATA_SOURCE ],
representativeKey: 'PurchaseOrderItem'
}
@VDM.viewType : #CONSUMPTION
@Metadata.ignorePropagatedAnnotations:true
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@Analytics: {
dataCategory: #FACT,
dataExtraction: {
enabled: true,
delta.changeDataCapture: {
mapping:[
{
table: 'ekpo', role: #MAIN,
viewElement: ['PurchaseOrder', 'PurchaseOrderItem'],
tableElement: ['ebeln', 'ebelp']
},
{
table: 'ekko', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['PurchaseOrder'],
tableElement: ['ebeln']}
]
}
}
}
@Analytics.technicalName: 'CMMPOITMDX'
@ObjectModel.sapObjectNodeType.name: 'PurchaseOrderItem'
@ObjectModel.modelingPattern: #ANALYTICAL_FACT
define view entity C_PurchaseOrderItemDEX
as select from I_PurchaseOrderItemAPI01 as item
left outer to one join I_CompanyCode as CompanyCode on item.CompanyCode = CompanyCode.CompanyCode
// association [0..1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association to exact one C_PurchaseOrderDEX as _PurchaseOrderDEX on $projection.PurchaseOrder = _PurchaseOrderDEX.PurchaseOrder
association to many C_PurOrdScheduleLineDEX as _ScheduleLineDEX on $projection.PurchaseOrder = _ScheduleLineDEX.PurchaseOrder
and $projection.PurchaseOrderItem = _ScheduleLineDEX.PurchaseOrderItem
association to many C_PurOrdAccountAssignmentDEX as _AccountAssignmentDEX on $projection.PurchaseOrder= _AccountAssignmentDEX .PurchaseOrder
and $projection.PurchaseOrderItem = _AccountAssignmentDEX .PurchaseOrderItem
association to many C_POSupplierConfirmationDEX as _POSupplierConfirmationDEX on $projection.PurchaseOrder = _POSupplierConfirmationDEX.PurchaseOrder
and $projection.PurchaseOrderItem = _POSupplierConfirmationDEX.PurchaseOrderItem
association to one I_PurchaseOrderType as _PurchaseOrderType on _PurchaseOrderType.PurchaseOrderType = $projection.PurchaseOrderType
association to one I_Supplier as _Supplier on $projection.Supplier = _Supplier.Supplier
association to one I_Supplier as _SupplyingSupplier on $projection.SupplyingSupplier = _SupplyingSupplier.Supplier
association to one I_Supplier as _InvoicingParty on $projection.InvoicingParty = _InvoicingParty.Supplier
association to one I_Currency as _DocumentCurrency on $projection.DocumentCurrency = _DocumentCurrency.Currency
association to one I_Currency as _LocalCurrency on $projection.LocalCurrency = _LocalCurrency.Currency
association to one I_Plant as _SupplyingPlant on $projection.SupplyingPlant = _SupplyingPlant.Plant
association to one I_PurchasingOrganization as _PurchasingOrganization on $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
association to one I_PurchasingGroup as _PurchasingGroup on $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
association to one I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association to one I_Plant as _Plant on $projection.Plant = _Plant.Plant
association to one I_PurgDocumentItemCategory as _ItemCategory on $projection.PurchaseOrderItemCategory = _ItemCategory.PurchasingDocumentItemCategory
association to one I_StorageLocation as _StorageLocation on $projection.Plant = _StorageLocation.Plant
and $projection.StorageLocation = _StorageLocation.StorageLocation
association to one I_Product as _Product on $projection.Material = _Product.Product
association to one I_Product as _ManufacturerMaterial on $projection.ManufacturerMaterial = _ManufacturerMaterial.Product
association to one I_ProductGroup_2 as _ProductGroup on $projection.MaterialGroup = _ProductGroup.ProductGroup
association to one I_ProductType_2 as _ProductType on $projection.MaterialType = _ProductType.ProductType
association to one I_BusinessPartner as _BusinessPartner on $projection.ServicePerformer = _BusinessPartner.BusinessPartner
association to one I_UnitOfMeasure as _BaseUnit on $projection.BaseUnit = _BaseUnit.UnitOfMeasure
association to one I_UnitOfMeasure as _OrderQuantityUnit on $projection.PurchaseOrderQuantityUnit = _OrderQuantityUnit.UnitOfMeasure
association to one I_UnitOfMeasure as _OrderPriceUnit on $projection.OrderPriceUnit = _OrderPriceUnit.UnitOfMeasure
association to one I_ProductTypeCode as _ProductTypeCode on $projection.ProductTypeCode = _ProductTypeCode.ProductTypeCode
association to one C_PurchaseContractDEX as _PurchaseContract on $projection.PurchaseContract = _PurchaseContract.PurchaseContract
association to one C_PurchaseContractItemDEX as _PurchaseContractItem on $projection.PurchaseContract = _PurchaseContractItem.PurchaseContract
and $projection.PurchaseContractItem = _PurchaseContractItem.PurchaseContractItem
association to one C_PurchaseRequisitionItemDEX as _PurchaseRequisitionItem on $projection.PurchaseRequisition = _PurchaseRequisitionItem.PurchaseRequisition
and $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem.PurchaseRequisitionItem
{
@ObjectModel.foreignKey.association: '_PurchaseOrder'
key item.PurchaseOrder,
key item.PurchaseOrderItem,
// PO header fields
@ObjectModel.foreignKey.association: '_PurchaseOrderType'
item._PurchaseOrder.PurchaseOrderType as PurchaseOrderType,
@ObjectModel.foreignKey.association: '_PurchasingGroup'
item._PurchaseOrder.PurchasingGroup as PurchasingGroup,
@ObjectModel.foreignKey.association: '_PurchasingOrganization'
item._PurchaseOrder.PurchasingOrganization as PurchasingOrganization,
item._PurchaseOrder.PurchasingDocumentOrigin as PurchasingDocumentOrigin,
@ObjectModel.foreignKey.association: '_Supplier'
item._PurchaseOrder.Supplier as Supplier,
@ObjectModel.foreignKey.association: '_SupplyingSupplier'
item._PurchaseOrder.SupplyingSupplier as SupplyingSupplier,
@ObjectModel.foreignKey.association: '_SupplyingPlant'
item._PurchaseOrder.SupplyingPlant as SupplyingPlant,
item._PurchaseOrder.DocumentCurrency as DocumentCurrency,
item._PurchaseOrder.ExchangeRate as ExchangeRate,
@ObjectModel.foreignKey.association: '_InvoicingParty'
item._PurchaseOrder.InvoicingParty as InvoicingParty,
@Semantics.businessDate.at: true
item._PurchaseOrder.PurchaseOrderDate as PurchaseOrderDate,
item._PurchaseOrder.ValidityStartDate as ValidityStartDate,
item._PurchaseOrder.ValidityEndDate as ValidityEndDate,
@Semantics.systemDate.createdAt: true
item._PurchaseOrder.CreationDate as CreationDate,
@Semantics.systemDateTime.lastChangedAt: true
item._PurchaseOrder.LastChangeDateTime as LastChangeDateTime,
//PO item
//This is Item deletion code.
item.PurchasingDocumentDeletionCode as PurgDocumentItemDeletionCode,
@ObjectModel.foreignKey.association: '_ProductGroup'
item.MaterialGroup as MaterialGroup,
@ObjectModel.foreignKey.association: '_Product'
item.Material as Material,
@ObjectModel.foreignKey.association: '_ManufacturerMaterial'
item.ManufacturerMaterial as ManufacturerMaterial,
item.PurchaseOrderCategory as PurchaseOrderCategory,
item.PurchasingOrderReason as PurchasingOrderReason,
@Semantics.text: true
item.PurchaseOrderItemText as PurchaseOrderItemText,
@ObjectModel.foreignKey.association: '_ItemCategory'
item.PurchaseOrderItemCategory as PurchaseOrderItemCategory,
@ObjectModel.foreignKey.association: '_CompanyCode'
CompanyCode.CompanyCode as CompanyCode,
@ObjectModel.foreignKey.association: '_Plant'
item.Plant as Plant,
@ObjectModel.foreignKey.association: '_StorageLocation'
item.StorageLocation as StorageLocation,
@ObjectModel.sapObjectNodeTypeReference: 'PurchaseContract'
item.PurchaseContract as PurchaseContract,
@ObjectModel.sapObjectNodeTypeReference: 'PurchaseContractItem'
item.PurchaseContractItem as PurchaseContractItem,
@ObjectModel.foreignKey.association: '_BaseUnit'
item.BaseUnit as BaseUnit,
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
item.OrderQuantity as OrderQuantity,
@ObjectModel.foreignKey.association: '_OrderQuantityUnit'
item.PurchaseOrderQuantityUnit as PurchaseOrderQuantityUnit,
@Semantics.amount.currencyCode: 'DocumentCurrency'
item.NetPriceAmount as NetPriceAmount,
@Semantics.amount.currencyCode: 'DocumentCurrency'
item.NetAmount as NetAmount,
@ObjectModel.foreignKey.association: '_LocalCurrency'
CompanyCode.Currency as LocalCurrency,
@Semantics.quantity.unitOfMeasure: 'OrderPriceUnit'
item.NetPriceQuantity as NetPriceQuantity,
item.OrderPriceUnit as OrderPriceUnit,
item.RequisitionerName as RequisitionerName,
item.RetailPromotion as RetailPromotion,
item.IsCompletelyDelivered as IsCompletelyDelivered,
item.IsReturnsItem as IsReturnsItem,
item.IsFinallyInvoiced as IsFinallyInvoiced,
item.InvoiceIsExpected as InvoiceIsExpected,
item.OrderItemQtyToBaseQtyDnmntr as OrderItemQtyToBaseQtyDnmntr,
cast ( item.OrderItemQtyToBaseQtyNmrtr as umbsz_ll preserving type) as OrderItemQtyToBaseQtyNmrtr,
item.InvoiceIsGoodsReceiptBased as InvoiceIsGoodsReceiptBased,
item.GoodsReceiptIsExpected as GoodsReceiptIsExpected,
item.EvaldRcptSettlmtIsAllowed as EvaldRcptSettlmtIsAllowed,
item.AccountAssignmentCategory as AccountAssignmentCategory,
item.GoodsReceiptIsNonValuated as GoodsReceiptIsNonValuated,
@ObjectModel.foreignKey.association: '_ProductType'
item.MaterialType as MaterialType,
item.OverdelivTolrtdLmtRatioInPct as OverdelivTolrtdLmtRatioInPct,
@ObjectModel.foreignKey.association: '_BusinessPartner'
item.ServicePerformer as ServicePerformer,
item.TaxCode as TaxCode,
item.UnderdelivTolrtdLmtRatioInPct as UnderdelivTolrtdLmtRatioInPct,
item.UnlimitedOverdeliveryIsAllowed as UnlimitedOverdeliveryIsAllowed,
item.SupplierMaterialNumber as SupplierMaterialNumber,
@ObjectModel.foreignKey.association: '_ProductTypeCode'
item.ProductType as ProductTypeCode,
item._PurchaseOrder.CreatedByUser as CreatedByUser,
@Semantics.amount.currencyCode: 'DocumentCurrency'
item.ExpectedOverallLimitAmount as ExpectedOverallLimitAmount,
@Semantics.amount.currencyCode: 'DocumentCurrency'
item.OverallLimitAmount as OverallLimitAmount,
item.RequirementSegment as RequirementSegment,
item._PurchaseOrder.ReleaseIsNotCompleted as ReleaseIsNotCompleted,
item._PurchaseOrder.PurchasingCompletenessStatus as PurchasingCompletenessStatus,
item.IsStatisticalItem as IsStatisticalItem,
item.MultipleAcctAssgmtDistribution as MultipleAcctAssgmtDistribution,
item.PurchaseRequisition as PurchaseRequisition,
@ObjectModel.sapObjectNodeTypeReference: 'PurchaseRequisitionItem'
item.PurchaseRequisitionItem as PurchaseRequisitionItem,
item.SupplierConfirmationControlKey as SupplierConfirmationControlKey,
item._PurchaseOrder.PurchasingDocumentDeletionCode as PurchasingDocumentDeletionCode,
//Association
item._PurchaseOrder,
@ObjectModel.association.type: [#TO_COMPOSITION_PARENT,
#TO_COMPOSITION_ROOT]
_PurchaseOrderDEX,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_ScheduleLineDEX,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_AccountAssignmentDEX,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_POSupplierConfirmationDEX,
_CompanyCode,
_PurchaseOrderType,
_ItemCategory,
_Supplier,
_SupplyingSupplier,
_InvoicingParty,
_PurchasingOrganization,
_PurchasingGroup,
_DocumentCurrency,
_LocalCurrency,
_SupplyingPlant,
_Plant,
_StorageLocation,
_Product,
_ProductTypeCode,
_ManufacturerMaterial,
_ProductGroup ,
_ProductType,
_BusinessPartner,
_BaseUnit,
_OrderPriceUnit,
_OrderQuantityUnit,
_PurchaseContract,
_PurchaseContractItem,
_PurchaseRequisitionItem
}
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