I_PurchaseOrderItemTP

DDL: I_PURCHASEORDERITEMTP SQL: IPURORDITMTP Type: view TRANSACTIONAL

Transactional View for Purchase Order Item

I_PurchaseOrderItemTP is a Transactional CDS View that provides data about "Transactional View for Purchase Order Item" in SAP S/4HANA. It reads from 1 data source (R_PurchaseOrderItem) and exposes 172 fields with key fields PurchaseOrder, PurchaseOrderItem. It has 11 associations to related views.

Data Sources (1)

SourceAliasJoin Type
R_PurchaseOrderItem Document from

Associations (11)

CardinalityTargetAliasCondition
[1..1] I_PurchaseOrderTP _PurchaseOrderTP _PurchaseOrderTP.PurchaseOrder = $projection.PurchaseOrder
[1..*] I_PurOrdAcctAssignmentTP _PurOrdAcctAssignmentTP _PurOrdAcctAssignmentTP.PurchaseOrder = $projection.PurchaseOrder and _PurOrdAcctAssignmentTP.PurchaseOrderItem = $projection.PurchaseOrderItem
[1..*] I_PurOrdPricingElementTP _PurOrdPricingElementTP _PurOrdPricingElementTP.PurchaseOrder = $projection.PurchaseOrder and _PurOrdPricingElementTP.PurchaseOrderItem = $projection.PurchaseOrderItem
[1..*] I_PurOrdScheduleLineTP _PurOrdScheduleLineTP _PurOrdScheduleLineTP.PurchaseOrder = $projection.PurchaseOrder and _PurOrdScheduleLineTP.PurchaseOrderItem = $projection.PurchaseOrderItem
[1..1] I_PurOrdDeliveryAddressTP _PurOrdDeliveryAddressTP _PurOrdDeliveryAddressTP.PurchaseOrder = $projection.PurchaseOrder and _PurOrdDeliveryAddressTP.PurchaseOrderItem = $projection.PurchaseOrderItem
[1..1] I_PurgDocumentItemCategoryText _PurgDocumentItemCategoryText _PurgDocumentItemCategoryText.Language = $session.system_language and _PurgDocumentItemCategoryText.PurchasingDocumentItemCategory = PurchaseOrderItemCategory
[0..1] I_ProductTypeCodeText _ProductTypeCodeText _ProductTypeCodeText.ProductTypeCode = $projection.ProductType and _ProductTypeCodeText.Language = $session.system_language
[0..1] I_PurchaseOrderItemStatus _PurchaseOrderItemStatus _PurchaseOrderItemStatus.PurchaseOrder = $projection.PurchaseOrder and _PurchaseOrderItemStatus.PurchaseOrderItem = $projection.PurchaseOrderItem ----Extension
[1..1] E_PurchasingDocumentItem _PurchaseOrderItemExtension $projection.PurchaseOrder = _PurchaseOrderItemExtension.PurchasingDocument and $projection.PurchaseOrderItem = _PurchaseOrderItemExtension.PurchasingDocumentItem
[0..*] I_PurchaseOrderItemNoteTP _PurchaseOrderItemNoteTP _PurchaseOrderItemNoteTP.PurchaseOrder = $projection.PurchaseOrder and _PurchaseOrderItemNoteTP.PurchaseOrderItem = $projection.PurchaseOrderItem
[0..1] I_WBSElementBasicData _WBSElement _WBSElement.WBSElementInternalID = $projection.WBSElementInternalID

Annotations (15)

NameValueLevelField
VDM.viewType #TRANSACTIONAL view
AbapCatalog.sqlViewName IPURORDITMTP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Transactional View for Purchase Order Item view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.writeDraftPersistence PURORDITMTP_D view
ObjectModel.representativeKey PurchaseOrderItem view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (172)

KeyFieldSource TableSource FieldDescription
KEY PurchaseOrder R_PurchaseOrderItem PurchaseOrder
KEY PurchaseOrderItem
PurchaseOrderItemUniqueID PurchaseOrderItemUniqueID
NetPriceAmount R_PurchaseOrderItem NetPriceAmount
PurchaseOrderItemCategory R_PurchaseOrderItem PurchaseOrderItemCategory
PurOrdExternalItemCategory _PurgDocumentItemCategoryText PurgDocExternalItemCategory
PurOrdItemCategoryName _PurgDocumentItemCategoryText PurgDocItemCategoryName
ProductType R_PurchaseOrderItem ProductType
ProductTypeName _ProductTypeCodeText Name
Material R_PurchaseOrderItem Material
SupplierMaterialNumber R_PurchaseOrderItem SupplierMaterialNumber
ManufacturerPartNmbr R_PurchaseOrderItem ManufacturerPartNmbr
ManufacturerMaterial R_PurchaseOrderItem ManufacturerMaterial
MaterialGroup R_PurchaseOrderItem MaterialGroup
Plant R_PurchaseOrderItem Plant
PurchaseOrderItemText R_PurchaseOrderItem PurchaseOrderItemText
CompanyCode R_PurchaseOrderItem CompanyCode
PurchasingDocumentDeletionCode R_PurchaseOrderItem PurchasingDocumentDeletionCode
PurchaseOrderItemStatus _PurchaseOrderItemStatus PurchaseOrderItemStatus
IsReturnsItem R_PurchaseOrderItem IsReturnsItem
IsStatisticalItem R_PurchaseOrderItem IsStatisticalItem
IsCompletelyDelivered R_PurchaseOrderItem IsCompletelyDelivered
IsFinallyInvoiced R_PurchaseOrderItem IsFinallyInvoiced
GoodsReceiptIsExpected R_PurchaseOrderItem GoodsReceiptIsExpected
GoodsReceiptIsNonValuated R_PurchaseOrderItem GoodsReceiptIsNonValuated
IsToBeAcceptedAtOrigin R_PurchaseOrderItem IsToBeAcceptedAtOrigin
InvoiceIsExpected R_PurchaseOrderItem InvoiceIsExpected
InvoiceIsGoodsReceiptBased R_PurchaseOrderItem InvoiceIsGoodsReceiptBased
EvaldRcptSettlmtIsAllowed R_PurchaseOrderItem EvaldRcptSettlmtIsAllowed
PriceChangeInSESIsAllowed R_PurchaseOrderItem PriceChangeInSESIsAllowed
UnlimitedOverdeliveryIsAllowed R_PurchaseOrderItem UnlimitedOverdeliveryIsAllowed
OverdelivTolrtdLmtRatioInPct R_PurchaseOrderItem OverdelivTolrtdLmtRatioInPct
UnderdelivTolrtdLmtRatioInPct R_PurchaseOrderItem UnderdelivTolrtdLmtRatioInPct
PurchaseContract R_PurchaseOrderItem PurchaseContract
PurchaseContractItem R_PurchaseOrderItem PurchaseContractItem
PurchaseRequisition R_PurchaseOrderItem PurchaseRequisition
PurchaseRequisitionItem R_PurchaseOrderItem PurchaseRequisitionItem
IsOrderAcknRqd R_PurchaseOrderItem IsOrderAcknRqd
RequestForQuotation R_PurchaseOrderItem RequestForQuotation
RequestForQuotationItem R_PurchaseOrderItem RequestForQuotationItem
SupplierQuotation R_PurchaseOrderItem SupplierQuotation
SupplierQuotationItem R_PurchaseOrderItem SupplierQuotationItem
MultipleAcctAssgmtDistribution R_PurchaseOrderItem MultipleAcctAssgmtDistribution
PartialInvoiceDistribution R_PurchaseOrderItem PartialInvoiceDistribution
PricingDateControl R_PurchaseOrderItem PricingDateControl
RequisitionerName R_PurchaseOrderItem RequisitionerName
PlannedDeliveryDurationInDays R_PurchaseOrderItem PlannedDeliveryDurationInDays
ConsumptionPosting R_PurchaseOrderItem ConsumptionPosting
ServicePerformer R_PurchaseOrderItem ServicePerformer
ServicePackage R_PurchaseOrderItem ServicePackage
AccountAssignmentCategory R_PurchaseOrderItem AccountAssignmentCategory
CostCenter R_PurchaseOrderItem CostCenter
GLAccount R_PurchaseOrderItem GLAccount
WBSElementInternalID R_PurchaseOrderItem WBSElementInternalID
WBSElementExternalID _WBSElement WBSElement
WBSDescription _WBSElement WBSDescription
Fund R_PurchaseOrderItem Fund
BudgetPeriod R_PurchaseOrderItem BudgetPeriod
FundsCenter R_PurchaseOrderItem FundsCenter
CommitmentItem R_PurchaseOrderItem CommitmentItem
FunctionalArea R_PurchaseOrderItem FunctionalArea
GrantID R_PurchaseOrderItem GrantID
EarmarkedFunds R_PurchaseOrderItem EarmarkedFunds
EarmarkedFundsDocument R_PurchaseOrderItem EarmarkedFundsDocument
EarmarkedFundsItem R_PurchaseOrderItem EarmarkedFundsItem
EarmarkedFundsDocumentItem R_PurchaseOrderItem EarmarkedFundsDocumentItem
ProfitCenter R_PurchaseOrderItem ProfitCenter
StorageLocation R_PurchaseOrderItem StorageLocation
OrderQuantity R_PurchaseOrderItem OrderQuantity
PurchaseOrderQuantityUnit R_PurchaseOrderItem PurchaseOrderQuantityUnit
PurchasingInfoRecord R_PurchaseOrderItem PurchasingInfoRecord
IncotermsClassification R_PurchaseOrderItem IncotermsClassification
IncotermsTransferLocation R_PurchaseOrderItem IncotermsTransferLocation
IncotermsLocation1 R_PurchaseOrderItem IncotermsLocation1
IncotermsLocation2 R_PurchaseOrderItem IncotermsLocation2
IncotermsLocation1Identifier
IncotermsLocation2Identifier
IncotermsDvtgLocIdentifier
IncotermsDvtgLocDescription
IncotermsSupChnLoc1AddlUUID R_PurchaseOrderItem IncotermsSupChnLoc1AddlUUID
IncotermsSupChnLoc2AddlUUID R_PurchaseOrderItem IncotermsSupChnLoc2AddlUUID
IncotermsSupChnDvtgLocAddlUUID R_PurchaseOrderItem IncotermsSupChnDvtgLocAddlUUID
InternationalArticleNumber R_PurchaseOrderItem InternationalArticleNumber
IntrastatServiceCode R_PurchaseOrderItem IntrastatServiceCode
CommodityCode R_PurchaseOrderItem CommodityCode
SupplierConfirmationControlKey R_PurchaseOrderItem SupplierConfirmationControlKey
PriceIsToBePrinted R_PurchaseOrderItem PriceIsToBePrinted
TaxCode R_PurchaseOrderItem TaxCode
TaxJurisdiction R_PurchaseOrderItem TaxJurisdiction
TaxCodeValidFromDate R_PurchaseOrderItem TaxCodeValidFromDate
TaxCountry R_PurchaseOrderItem TaxCountry
TaxDeterminationDate R_PurchaseOrderItem TaxDeterminationDate
ShippingInstruction R_PurchaseOrderItem ShippingInstruction
ItemIsRejectedBySupplier R_PurchaseOrderItem ItemIsRejectedBySupplier
IsInfoRecordUpdated R_PurchaseOrderItem PurchasingInfoRecordUpdateCode
PurgDocOrderAcknNumber R_PurchaseOrderItem PurgDocOrderAcknNumber
OrderPriceUnit R_PurchaseOrderItem OrderPriceUnit
NetPriceQuantity R_PurchaseOrderItem NetPriceQuantity
OrderPriceUnitToOrderUnitNmrtr R_PurchaseOrderItem OrderPriceUnitToOrderUnitNmrtr
OrdPriceUnitToOrderUnitDnmntr R_PurchaseOrderItem OrdPriceUnitToOrderUnitDnmntr
OrderItemQtyToBaseQtyNmrtr R_PurchaseOrderItem OrderItemQtyToBaseQtyNmrtr
OrderItemQtyToBaseQtyDnmntr R_PurchaseOrderItem OrderItemQtyToBaseQtyDnmntr
ItemVolumeUnit R_PurchaseOrderItem ItemVolumeUnit
ItemWeightUnit R_PurchaseOrderItem ItemWeightUnit
BaseUnit R_PurchaseOrderItem BaseUnit
DocumentCurrency R_PurchaseOrderItem DocumentCurrency
NetAmount R_PurchaseOrderItem NetAmount
EffectiveAmount R_PurchaseOrderItem EffectiveAmount
PFMTransDataFootprintUUID PFMTransDataFootprintUUID
PurgConfigurableItemNumber R_PurchaseOrderItem PurgConfigurableItemNumber
PurgDocAggrgdSubitemCategory R_PurchaseOrderItem PurgDocAggrgdSubitemCategory
PurchasingParentItem R_PurchaseOrderItem PurchasingParentItem
PurgDocSubitemCategory R_PurchaseOrderItem PurgDocSubitemCategory
PurgExternalSortNumber R_PurchaseOrderItem PurgExternalSortNumber
PurchasingHierarchyNode
HierarchyParentNode
HierarchyLevel
HierarchyNodeSubTreeSize
HierarchyDrillState
HierarchyNodeOrdinalNumber
ManualDeliveryAddressID R_PurchaseOrderItem ManualDeliveryAddressID
ReferenceDeliveryAddressID R_PurchaseOrderItem ReferenceDeliveryAddressID
Customer R_PurchaseOrderItem Customer
ExpectedOverallLimitAmount R_PurchaseOrderItem ExpectedOverallLimitAmount
OverallLimitAmount R_PurchaseOrderItem OverallLimitAmount
PurContractForOverallLimit R_PurchaseOrderItem PurContractForOverallLimit
PurgProdCmplncSupplierStatus R_PurchaseOrderItem PurgProdCmplncSupplierStatus
PurgProductMarketabilityStatus R_PurchaseOrderItem PurgProductMarketabilityStatus
PurgSafetyDataSheetStatus R_PurchaseOrderItem PurgSafetyDataSheetStatus
PurgProdCmplncDngrsGoodsStatus R_PurchaseOrderItem PurgProdCmplncDngrsGoodsStatus
Batch
BatchBySupplier
BR_MaterialOrigin R_PurchaseOrderItem BR_MaterialOrigin
BR_MaterialUsage R_PurchaseOrderItem BR_MaterialUsage
BR_CFOPCategory R_PurchaseOrderItem BR_CFOPCategory
BR_NCM BR_NCM
IN_GSTControlCode IN_GSTControlCode
BR_IsProducedInHouse R_PurchaseOrderItem BR_IsProducedInHouse
HighestMessageSeverityLevel
POItmAcctAssgmtFieldsAreEnbld
IncotermsVersion _PurchaseOrderTP IncotermsVersion
PurchasingOrganization _PurchaseOrderTP PurchasingOrganization
PurchasingGroup _PurchaseOrderTP PurchasingGroup
PurchaseOrderType _PurchaseOrderTP PurchaseOrderType
_PurchaseOrderTP _PurchaseOrderTP
_PurOrdAcctAssignmentTP _PurOrdAcctAssignmentTP
_PurOrdPricingElementTP _PurOrdPricingElementTP
_PurOrdScheduleLineTP _PurOrdScheduleLineTP
_PurOrdDeliveryAddressTP _PurOrdDeliveryAddressTP
_PurchaseOrderItemNoteTP _PurchaseOrderItemNoteTP
_Material _Material
_Plant _Plant
_MaterialGroup _MaterialGroup
_PurchaseContract _PurchaseContract
_PurchaseContractItem _PurchaseContractItem
_IncotermsClassification _IncotermsClassification
_ServicePerformer _ServicePerformer
_StorageLocation _StorageLocation
_PurchasingInfoRecord _PurchasingInfoRecord
_OrderPriceUnit _OrderPriceUnit
_OrderQuantityUnit _OrderQuantityUnit
_ProductType _ProductType
_Customer _Customer
_IncotermsVersion _PurchaseOrderTP _IncotermsVersion
_PurchasingGroup _PurchaseOrderTP _PurchasingGroup
_PurchasingOrganization _PurchaseOrderTP _PurchasingOrganization
_BR_MaterialOrigin _BR_MaterialOrigin
_BR_MaterialUsage _BR_MaterialUsage
_BR_CFOPCategory _BR_CFOPCategory
_BR_NCM _BR_NCM
_WBSElement _WBSElement
_ReferenceDeliveryAddress _ReferenceDeliveryAddress_2
@VDM.viewType: #TRANSACTIONAL
@AbapCatalog.sqlViewName: 'IPURORDITMTP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK

@EndUserText.label: 'Transactional View for Purchase Order Item'

@ObjectModel: {
    createEnabled: true,
    updateEnabled: true,
    deleteEnabled: true,
    writeDraftPersistence: 'PURORDITMTP_D',
    semanticKey: ['PurchaseOrder', 'PurchaseOrderItem'],
    representativeKey: 'PurchaseOrderItem'
}

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API


define view I_PurchaseOrderItemTP
  as select from R_PurchaseOrderItem as Document

  association [1..1] to I_PurchaseOrderTP              as _PurchaseOrderTP              on  _PurchaseOrderTP.PurchaseOrder = $projection.PurchaseOrder
  
  association [1..*] to I_PurOrdAcctAssignmentTP       as _PurOrdAcctAssignmentTP       on  _PurOrdAcctAssignmentTP.PurchaseOrder     = $projection.PurchaseOrder
                                                                                        and _PurOrdAcctAssignmentTP.PurchaseOrderItem = $projection.PurchaseOrderItem
  association [1..*] to I_PurOrdPricingElementTP       as _PurOrdPricingElementTP       on  _PurOrdPricingElementTP.PurchaseOrder     = $projection.PurchaseOrder
                                                                                        and _PurOrdPricingElementTP.PurchaseOrderItem = $projection.PurchaseOrderItem
  association [1..*] to I_PurOrdScheduleLineTP         as _PurOrdScheduleLineTP         on  _PurOrdScheduleLineTP.PurchaseOrder     = $projection.PurchaseOrder
                                                                                        and _PurOrdScheduleLineTP.PurchaseOrderItem = $projection.PurchaseOrderItem
  association [1..1] to I_PurOrdDeliveryAddressTP      as _PurOrdDeliveryAddressTP      on  _PurOrdDeliveryAddressTP.PurchaseOrder     = $projection.PurchaseOrder
                                                                                        and _PurOrdDeliveryAddressTP.PurchaseOrderItem = $projection.PurchaseOrderItem
  association [1..1] to I_PurgDocumentItemCategoryText as _PurgDocumentItemCategoryText on  _PurgDocumentItemCategoryText.Language                       = $session.system_language
                                                                                        and _PurgDocumentItemCategoryText.PurchasingDocumentItemCategory = PurchaseOrderItemCategory
  association [0..1] to I_ProductTypeCodeText          as _ProductTypeCodeText          on  _ProductTypeCodeText.ProductTypeCode = $projection.ProductType
                                                                                        and _ProductTypeCodeText.Language        = $session.system_language
  association [0..1] to I_PurchaseOrderItemStatus      as _PurchaseOrderItemStatus      on  _PurchaseOrderItemStatus.PurchaseOrder     = $projection.PurchaseOrder
                                                                                        and _PurchaseOrderItemStatus.PurchaseOrderItem = $projection.PurchaseOrderItem
                                                                    
  ----Extension Association
  association [1..1] to E_PurchasingDocumentItem       as _PurchaseOrderItemExtension   on  $projection.PurchaseOrder     = _PurchaseOrderItemExtension.PurchasingDocument
                                                                                        and $projection.PurchaseOrderItem = _PurchaseOrderItemExtension.PurchasingDocumentItem
  association [0..*] to I_PurchaseOrderItemNoteTP      as _PurchaseOrderItemNoteTP        on  _PurchaseOrderItemNoteTP.PurchaseOrder     = $projection.PurchaseOrder
                                                                                        and _PurchaseOrderItemNoteTP.PurchaseOrderItem = $projection.PurchaseOrderItem
  association [0..1] to I_WBSElementBasicData          as _WBSElement                   on  _WBSElement.WBSElementInternalID = $projection.WBSElementInternalID

{

      @ObjectModel.foreignKey.association: '_PurchaseOrderTP'
  key Document.PurchaseOrder,
  
  key cast (Document.PurchaseOrderItem as ebelp preserving type) as PurchaseOrderItem,
      PurchaseOrderItemUniqueID,
            
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.NetPriceAmount,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.PurchaseOrderItemCategory,
      _PurgDocumentItemCategoryText.PurgDocExternalItemCategory  as PurOrdExternalItemCategory,
      _PurgDocumentItemCategoryText.PurgDocItemCategoryName      as PurOrdItemCategoryName,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_ProductType'
      Document.ProductType,
      _ProductTypeCodeText.Name                                  as ProductTypeName,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_Material'
      Document.Material,
      Document.SupplierMaterialNumber,
      Document.ManufacturerPartNmbr,
      Document.ManufacturerMaterial,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_MaterialGroup'
      Document.MaterialGroup,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.foreignKey.association: '_Plant'
      Document.Plant,
      Document.PurchaseOrderItemText,
      Document.CompanyCode,
      Document.PurchasingDocumentDeletionCode,
      _PurchaseOrderItemStatus.PurchaseOrderItemStatus           as PurchaseOrderItemStatus,
      //      _PurchaseOrderItemCalcFields._PurchaseOrderItemStatus._PurchasingDocumentStatus.PurchasingDocumentStatus as PurchaseOrderItemStatus,

      Document.IsReturnsItem,
      Document.IsStatisticalItem,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.IsCompletelyDelivered,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.IsFinallyInvoiced,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.GoodsReceiptIsExpected,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.GoodsReceiptIsNonValuated,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.IsToBeAcceptedAtOrigin,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.InvoiceIsExpected,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.InvoiceIsGoodsReceiptBased,
      Document.EvaldRcptSettlmtIsAllowed,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.PriceChangeInSESIsAllowed, 
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.UnlimitedOverdeliveryIsAllowed,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.OverdelivTolrtdLmtRatioInPct,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.UnderdelivTolrtdLmtRatioInPct,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_PurchaseContract'
      Document.PurchaseContract,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_PurchaseContractItem'
      Document.PurchaseContractItem,
      Document.PurchaseRequisition,
      Document.PurchaseRequisitionItem,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.IsOrderAcknRqd,
      Document.RequestForQuotation,
      Document.RequestForQuotationItem,
      Document.SupplierQuotation,
      Document.SupplierQuotationItem,
      Document.MultipleAcctAssgmtDistribution,
      Document.PartialInvoiceDistribution,
      Document.PricingDateControl,
      Document.RequisitionerName,
      Document.PlannedDeliveryDurationInDays,
      Document.ConsumptionPosting,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_ServicePerformer'
      Document.ServicePerformer,
      Document.ServicePackage,
      Document.AccountAssignmentCategory,
      Document.CostCenter,
      Document.GLAccount,
      Document.WBSElementInternalID,
      _WBSElement.WBSElement                                     as WBSElementExternalID,
      _WBSElement.WBSDescription,
      Document.Fund,
      Document.BudgetPeriod,
      Document.FundsCenter,
      Document.CommitmentItem,
      Document.FunctionalArea,
      Document.GrantID,
      Document.EarmarkedFunds, //    deprecated, use EarmarkedFundsDocument

      Document.EarmarkedFundsDocument,
      Document.EarmarkedFundsItem, //    deprecated, use EarmarkedFundsDocumentItem

      Document.EarmarkedFundsDocumentItem,
      Document.ProfitCenter,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_StorageLocation'
      Document.StorageLocation,
      @Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
      Document.OrderQuantity,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_OrderQuantityUnit'
      Document.PurchaseOrderQuantityUnit,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_PurchasingInfoRecord'
      Document.PurchasingInfoRecord,
      @ObjectModel.foreignKey.association: '_IncotermsClassification'
      Document.IncotermsClassification,
      Document.IncotermsTransferLocation,
      Document.IncotermsLocation1,
      Document.IncotermsLocation2,

      // TM Location Handling

      cast( ' ' as tminco_loc_1_id )                             as IncotermsLocation1Identifier,
      cast( ' ' as tminco_loc_2_id )                             as IncotermsLocation2Identifier,
      cast( ' ' as tminco_loc_d_id )                             as IncotermsDvtgLocIdentifier,
      cast( ' ' as tminco_loc_d_descr )                          as IncotermsDvtgLocDescription,            
      Document.IncotermsSupChnLoc1AddlUUID,      
      Document.IncotermsSupChnLoc2AddlUUID,
      Document.IncotermsSupChnDvtgLocAddlUUID,
           
      Document.InternationalArticleNumber,
      Document.IntrastatServiceCode,
      Document.CommodityCode,
      Document.SupplierConfirmationControlKey,
      Document.PriceIsToBePrinted,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.TaxCode,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.TaxJurisdiction,
      Document.TaxCodeValidFromDate,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.TaxCountry,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.TaxDeterminationDate,
      Document.ShippingInstruction,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.ItemIsRejectedBySupplier,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.PurchasingInfoRecordUpdateCode                    as IsInfoRecordUpdated,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      case
        when PurchasingInfoRecordUpdateCode = '' or PurchasingInfoRecordUpdateCode is null
        then cast (' ' as infup)
        else cast ('X' as infup)
      end                                                        as InfoRecordIsToBeUpdated,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.PurgDocOrderAcknNumber,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_OrderPriceUnit'
      Document.OrderPriceUnit,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Semantics.quantity.unitOfMeasure: 'OrderPriceUnit'
      Document.NetPriceQuantity,
      Document.OrderPriceUnitToOrderUnitNmrtr,
      Document.OrdPriceUnitToOrderUnitDnmntr,
      Document.OrderItemQtyToBaseQtyNmrtr,
      Document.OrderItemQtyToBaseQtyDnmntr,
      @Semantics.unitOfMeasure: true
      Document.ItemVolumeUnit,
      @Semantics.unitOfMeasure: true
      Document.ItemWeightUnit,
      @Semantics.unitOfMeasure: true
      Document.BaseUnit,
      @Semantics.currencyCode: true
      Document.DocumentCurrency,
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      Document.NetAmount,
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      Document.EffectiveAmount,
//     //Foot Print Intigration 

      PFMTransDataFootprintUUID,
      // Additional Fields for hierarchy implementation

      Document.PurgConfigurableItemNumber,
      Document.PurgDocAggrgdSubitemCategory,
      Document.PurchasingParentItem,
      Document.PurgDocSubitemCategory,
      Document.PurgExternalSortNumber,
      // Added for hierarchy implementation

      cast( '' as rsnodeext )                                    as PurchasingHierarchyNode,
      cast( '' as rsnodeext )                                    as HierarchyParentNode,
      cast( 0 as  abap.int4 )                                    as HierarchyLevel,
      cast( 0 as   abap.int4 )                                   as HierarchyNodeSubTreeSize,
      cast( '' as abap.char(22) )                                as HierarchyDrillState,
      cast( 0 as  abap.int8  )                                   as HierarchyNodeOrdinalNumber,
      case
      when PurgDocAggrgdSubitemCategory = 'C'
      then cast('X' as mmpur_is_itemset)
      else cast(' ' as mmpur_is_itemset)
      end                                                        as PurchasingIsItemSet,
      case
        when ( InvoiceIsExpected = ' ' or InvoiceIsExpected is null ) and PurchaseOrderItemCategory <> '2' and PurchaseOrderItemCategory <> '7'
          then cast('X' as umson)
          else cast(' ' as umson)
      end                                                        as PurchasingItemIsFreeOfCharge, // -> logic from MEPO_ITEM_FILL_UMSON (include LMEPOF64)


      Document.ManualDeliveryAddressID,
      @ObjectModel.foreignKey.association: '_ReferenceDeliveryAddress'
      Document.ReferenceDeliveryAddressID,
      @ObjectModel.foreignKey.association: '_Customer'
      Document.Customer,

      case
       when ManualDeliveryAddressID = '' or ManualDeliveryAddressID is null then
         case
           when ReferenceDeliveryAddressID = '' or ReferenceDeliveryAddressID is null then
             case
               when Customer = '' or Customer is null then _Plant.AddressID
               else _Customer.AddressID
             end
           else ReferenceDeliveryAddressID
         end
       else ManualDeliveryAddressID
      end                                                        as ItemDeliveryAddressID,

      // S/4 Limit

      Document.ExpectedOverallLimitAmount,
      Document.OverallLimitAmount,
      Document.PurContractForOverallLimit,

      // fields from product compliance

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PurgProdCmplncSupplierStatus,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PurgProductMarketabilityStatus,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PurgSafetyDataSheetStatus,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      Document.PurgProdCmplncDngrsGoodsStatus,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      cast ('' as charg_d)                                       as Batch,
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      cast ('' as lichn)                                         as BatchBySupplier,

      //Brazil Extension

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_BR_MaterialOrigin'
      Document.BR_MaterialOrigin,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_BR_MaterialUsage'
      Document.BR_MaterialUsage,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_BR_CFOPCategory'
      Document.BR_CFOPCategory,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_BR_NCM'
      BR_NCM,


      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      IN_GSTControlCode,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.BR_IsProducedInHouse,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      cast ('' as hghstmsgsvrtylvl)                                as HighestMessageSeverityLevel,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      cast ('' as poitmacctassgmtfieldsareenbld )                as POItmAcctAssgmtFieldsAreEnbld,

      @ObjectModel.foreignKey.association: '_IncotermsVersion'
      _PurchaseOrderTP.IncotermsVersion,

      _PurchaseOrderTP.PurchasingOrganization                    as PurchasingOrganization,
      _PurchaseOrderTP.PurchasingGroup                           as PurchasingGroup,
      _PurchaseOrderTP.PurchaseOrderType                         as PurchaseOrderType,

      @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
      _PurchaseOrderTP,
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurOrdAcctAssignmentTP,
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurOrdPricingElementTP,
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurOrdScheduleLineTP,
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurOrdDeliveryAddressTP,
      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _PurchaseOrderItemNoteTP,

      _Material,
       @Consumption.filter.hidden: true
      _Plant,

      _MaterialGroup,

      _PurchaseContract,

      _PurchaseContractItem,

      _IncotermsClassification,

      _ServicePerformer,
       @Consumption.filter.hidden: true
      _StorageLocation,

      _PurchasingInfoRecord,

      _OrderPriceUnit,

      _OrderQuantityUnit,

      _ProductType,

      _Customer,
       @Consumption.filter.hidden: true
      _PurchaseOrderTP._IncotermsVersion,
       @Consumption.filter.hidden: true
      _PurchaseOrderTP._PurchasingGroup,
       @Consumption.filter.hidden: true
      _PurchaseOrderTP._PurchasingOrganization,
      

      _BR_MaterialOrigin,

      _BR_MaterialUsage,

      _BR_CFOPCategory,

      _BR_NCM,

      _WBSElement,
      
      _ReferenceDeliveryAddress_2 as _ReferenceDeliveryAddress
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTOMER",
"I_PLANT",
"I_PRODUCTTYPECODETEXT",
"I_PURCHASEORDERITEMSTATUS",
"I_PURCHASEORDERTP",
"I_PURGDOCUMENTITEMCATEGORYTEXT",
"I_WBSELEMENTBASICDATA",
"R_PURCHASEORDERITEM"
],
"ASSOCIATED":
[
"E_PURCHASINGDOCUMENTITEM",
"I_ADDRESS_2",
"I_BR_CFOPCATEGORY",
"I_BR_MATERIALORIGIN",
"I_BR_MATERIALUSAGE",
"I_BR_NCM",
"I_BUSINESSPARTNER",
"I_CUSTOMER",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSVERSION",
"I_MATERIAL",
"I_MATERIALGROUP",
"I_PLANT",
"I_PRODUCTTYPECODE",
"I_PRODUCTTYPECODETEXT",
"I_PURCHASECONTRACT",
"I_PURCHASECONTRACTITEM",
"I_PURCHASEORDERITEMNOTETP",
"I_PURCHASEORDERITEMSTATUS",
"I_PURCHASEORDERTP",
"I_PURCHASINGGROUP",
"I_PURCHASINGINFORECORDAPI01",
"I_PURCHASINGORGANIZATION",
"I_PURGDOCUMENTITEMCATEGORYTEXT",
"I_PURORDACCTASSIGNMENTTP",
"I_PURORDDELIVERYADDRESSTP",
"I_PURORDPRICINGELEMENTTP",
"I_PURORDSCHEDULELINETP",
"I_STORAGELOCATION",
"I_UNITOFMEASURE",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_PURCHASEORDERTP",
"R_PURCHASEORDERITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/