C_PurchaseOrderItemDEX

DDL: C_PURCHASEORDERITEMDEX Type: view_entity CONSUMPTION Package: ODATA_MM_ANALYTICS

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)

SourceAliasJoin Type
I_PurchaseOrderItemAPI01 item from

Annotations (15)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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
      
}