C_PurchaseOrderItemDEX

DDL: C_PURCHASEORDERITEMDEX SQL: CMMPOITMDX Type: view CONSUMPTION

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 56 fields with key fields PurchaseOrder, PurchaseOrderItem.

Data Sources (1)

SourceAliasJoin Type
I_PurchaseOrderItemAPI01 item from

Annotations (16)

NameValueLevelField
AbapCatalog.sqlViewName CMMPOITMDX view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
EndUserText.label Data Extraction View for PO Item view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.supportedCapabilities #EXTRACTION_DATA_SOURCE 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

Fields (56)

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
PurchasingDocumentDeletionCode 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 I_PurchaseOrderItemAPI01 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
_PurchaseOrder I_PurchaseOrderItemAPI01 _PurchaseOrder
@AbapCatalog.sqlViewName: 'CMMPOITMDX'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl:{
                 authorizationCheck: #CHECK,
                 personalData.blocking: #BLOCKED_DATA_EXCLUDED
                }
@EndUserText.label: 'Data Extraction View for PO Item'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel :{ usageType.dataClass: #TRANSACTIONAL,
                usageType.sizeCategory: #L,
                usageType.serviceQuality: #D,
                supportedCapabilities: #EXTRACTION_DATA_SOURCE
                }

@VDM.viewType : #CONSUMPTION
@ObjectModel.representativeKey: [ 'PurchaseOrderItem' ]
@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']}
            ]
        }
    }
    }

define view 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


{
      @ObjectModel.foreignKey.association: '_PurchaseOrder'
  key item.PurchaseOrder,

  key item.PurchaseOrderItem,

      // PO header fields

      item._PurchaseOrder.PurchaseOrderType        as PurchaseOrderType,

      item._PurchaseOrder.PurchasingGroup          as PurchasingGroup,

      item._PurchaseOrder.PurchasingOrganization   as PurchasingOrganization,

      item._PurchaseOrder.PurchasingDocumentOrigin as PurchasingDocumentOrigin,

      item._PurchaseOrder.Supplier                 as Supplier,

      item._PurchaseOrder.SupplyingSupplier        as SupplyingSupplier,

      item._PurchaseOrder.SupplyingPlant           as SupplyingPlant,

      @Semantics.currencyCode: true
      item._PurchaseOrder.DocumentCurrency         as DocumentCurrency,

      item._PurchaseOrder.ExchangeRate             as ExchangeRate,

      item._PurchaseOrder.InvoicingParty           as InvoicingParty,

      item._PurchaseOrder.PurchaseOrderDate        as PurchaseOrderDate,

      item._PurchaseOrder.ValidityStartDate        as ValidityStartDate,

      item._PurchaseOrder.ValidityEndDate          as ValidityEndDate,

      //PO item

      item.PurchasingDocumentDeletionCode          as PurchasingDocumentDeletionCode,

      item.MaterialGroup                           as MaterialGroup,

      item.Material                                as Material,

      item.ManufacturerMaterial                    as ManufacturerMaterial,

      item.PurchaseOrderCategory                   as PurchaseOrderCategory,

      item.PurchasingOrderReason                   as PurchasingOrderReason,

      item.PurchaseOrderItemText                   as PurchaseOrderItemText,

      item.PurchaseOrderItemCategory               as PurchaseOrderItemCategory,

      CompanyCode.CompanyCode                      as CompanyCode,

      item.Plant                                   as Plant,

      item.StorageLocation                         as StorageLocation,

      item.PurchaseContract                        as PurchaseContract,

      item.PurchaseContractItem                    as PurchaseContractItem,

      @Semantics.unitOfMeasure: true
      item.BaseUnit                                as BaseUnit,

      @Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
      item.OrderQuantity                           as OrderQuantity,

      @Semantics.unitOfMeasure:true
      item.PurchaseOrderQuantityUnit               as PurchaseOrderQuantityUnit,

      @Semantics.amount.currencyCode: 'DocumentCurrency'
      item.NetPriceAmount                          as NetPriceAmount,

      @Semantics.amount.currencyCode: 'DocumentCurrency'
      item.NetAmount                               as NetAmount,

      @Semantics.currencyCode: true
      CompanyCode.Currency                         as LocalCurrency,

      @Semantics.quantity.unitOfMeasure: 'OrderPriceUnit'
      item.NetPriceQuantity                        as NetPriceQuantity,

      @Semantics.unitOfMeasure: true
      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,

      item.OrderItemQtyToBaseQtyNmrtr              as OrderItemQtyToBaseQtyNmrtr,

      item.InvoiceIsGoodsReceiptBased              as InvoiceIsGoodsReceiptBased,

      item.GoodsReceiptIsExpected                  as GoodsReceiptIsExpected,

      item.EvaldRcptSettlmtIsAllowed               as EvaldRcptSettlmtIsAllowed,

      item.AccountAssignmentCategory               as AccountAssignmentCategory,

      item.GoodsReceiptIsNonValuated               as GoodsReceiptIsNonValuated,

      item.MaterialType                            as MaterialType,

      item.OverdelivTolrtdLmtRatioInPct            as OverdelivTolrtdLmtRatioInPct,

      item.ServicePerformer                        as ServicePerformer,

      item.TaxCode                                 as TaxCode,

      item.UnderdelivTolrtdLmtRatioInPct           as UnderdelivTolrtdLmtRatioInPct,

      item.UnlimitedOverdeliveryIsAllowed          as UnlimitedOverdeliveryIsAllowed,

      //Association

      item._PurchaseOrder
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMPANYCODE",
"I_PURCHASEORDERAPI01",
"I_PURCHASEORDERITEMAPI01"
],
"ASSOCIATED":
[
"I_PURCHASEORDERAPI01"
],
"BASE":
[
"I_PURCHASEORDERITEMAPI01"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/