I_PURCHASEORDERITEMTP

CDS View

Transactional View for Purchase Order Item

I_PURCHASEORDERITEMTP is a CDS View in S/4HANA. Transactional View for Purchase Order Item. It contains 117 fields. 5 CDS views read from this table.

CDS Views using this table (5)

ViewTypeJoinVDMDescription
C_PurchaseOrderAllItemTP view from CONSUMPTION Purchase Order Item
C_PurchaseOrderItemHierarchyTP view from CONSUMPTION Purchase Order Item Hierarchies transactional processing
C_PurchaseOrderItemSet view from CONSUMPTION Purchase Order Item Set
C_PurchaseOrderItemTP view from CONSUMPTION Purchase Order Item
C_PurchaseOrderLimitItemTP view from CONSUMPTION Purchase Order Limit Item

Fields (117)

KeyField CDS FieldsUsed in Views
KEY PurchaseOrder PurchaseOrder 5
KEY PurchaseOrderItem PurchaseOrderItem 4
_BR_CFOPCategory _BR_CFOPCategory 1
_BR_MaterialOrigin _BR_MaterialOrigin 1
_BR_MaterialUsage _BR_MaterialUsage 1
_BR_NCM _BR_NCM 1
_IncotermsClassification _IncotermsClassification 1
_IncotermsVersion _IncotermsVersion 2
_OrderPriceUnit _OrderPriceUnit 2
_OrderQuantityUnit _OrderQuantityUnit 2
_ProductType _ProductType 1
_PurchaseContractItem _PurchaseContractItem 1
_PurchasingInfoRecord _PurchasingInfoRecord 1
BaseUnit BaseUnit 3
Batch Batch 1
BatchBySupplier BatchBySupplier 1
BR_NCM BR_NCM 2
BudgetPeriod BudgetPeriod 2
CommitmentItem CommitmentItem 1
CommodityCode CommodityCode 2
CompanyCode CompanyCode 3
ConsumptionPosting ConsumptionPosting 2
Customer Customer 2
DocumentCurrency DocumentCurrency 3
EarmarkedFunds EarmarkedFunds 1
EarmarkedFundsItem EarmarkedFundsItem 1
EffectiveAmount EffectiveAmount 3
EvaldRcptSettlmtIsAllowed EvaldRcptSettlmtIsAllowed 3
ExpectedOverallLimitAmount ExpectedOverallLimitAmount 3
FunctionalArea FunctionalArea 2
Fund Fund 2
FundsCenter FundsCenter 2
GLAccount GLAccount 2
GoodsReceiptIsNonValuated GoodsReceiptIsNonValuated 1
GrantID GrantID 2
HierarchyDrillState HierarchyDrillState 2
HierarchyLevel HierarchyLevel 2
HierarchyNodeOrdinalNumber HierarchyNodeOrdinalNumber 2
HierarchyNodeSubTreeSize HierarchyNodeSubTreeSize 2
HierarchyParentNode HierarchyParentNode 2
HighestMessageSeverityLevel HighestMessageSeverityLevel 3
IN_GSTControlCode IN_GSTControlCode 2
IncotermsClassification IncotermsClassification 2
IncotermsDvtgLocDescription IncotermsDvtgLocDescription 1
IncotermsDvtgLocIdentifier IncotermsDvtgLocIdentifier 1
IncotermsLocation1 IncotermsLocation1 2
IncotermsLocation1Identifier IncotermsLocation1Identifier 1
IncotermsLocation2 IncotermsLocation2 2
IncotermsLocation2Identifier IncotermsLocation2Identifier 1
IncotermsSupChnDvtgLocAddlUUID IncotermsSupChnDvtgLocAddlUUID 1
IncotermsSupChnLoc1AddlUUID IncotermsSupChnLoc1AddlUUID 1
IncotermsSupChnLoc2AddlUUID IncotermsSupChnLoc2AddlUUID 1
InfoRecordIsToBeUpdated InfoRecordIsToBeUpdated 2
InternationalArticleNumber InternationalArticleNumber 3
InventoryUsabilityCode InventoryUsabilityCode 2
InvoiceIsExpected InvoiceIsExpected 1
InvoiceIsGoodsReceiptBased InvoiceIsGoodsReceiptBased 1
IsCompletelyDelivered IsCompletelyDelivered 3
IsFinallyInvoiced IsFinallyInvoiced 3
IsInfoRecordUpdated IsInfoRecordUpdated 1
IsReturnsItem IsReturnsItem 3
IsStatisticalItem IsStatisticalItem 3
IsToBeAcceptedAtOrigin IsToBeAcceptedAtOrigin 1
ItemVolumeUnit ItemVolumeUnit 3
ItemWeightUnit ItemWeightUnit 3
ManualDeliveryAddressID ManualDeliveryAddressID 1
ManufacturerMaterial ManufacturerMaterial 3
ManufacturerPartNmbr ManufacturerPartNmbr 1
Material Material 2
MaterialGroup MaterialGroup 3
MaterialRevisionLevel MaterialRevisionLevel 2
MultipleAcctAssgmtDistribution MultipleAcctAssgmtDistribution 3
NetAmount NetAmount 2
NetPriceAmount NetPriceAmount 2
NetPriceQuantity NetPriceQuantity 2
OrderItemQtyToBaseQtyDnmntr OrderItemQtyToBaseQtyDnmntr 3
OrderItemQtyToBaseQtyNmrtr OrderItemQtyToBaseQtyNmrtr 3
OrderPriceUnit OrderPriceUnit 2
OrderPriceUnitToOrderUnitNmrtr OrderPriceUnitToOrderUnitNmrtr 3
OrderQuantity OrderQuantity 2
OrdPriceUnitToOrderUnitDnmntr OrdPriceUnitToOrderUnitDnmntr 3
OverallLimitAmount OverallLimitAmount 3
PartialInvoiceDistribution PartialInvoiceDistribution 3
PlannedDeliveryDurationInDays PlannedDeliveryDurationInDays 2
Plant Plant 4
POItmAcctAssgmtFieldsAreEnbld POItmAcctAssgmtFieldsAreEnbld 1
PriceChangeInSESIsAllowed PriceChangeInSESIsAllowed 1
PriceIsToBePrinted PriceIsToBePrinted 3
PricingDateControl PricingDateControl 3
ProductType ProductType 3
ProductTypeName ProductTypeName 3
PurchaseOrderItemCategory PurchaseOrderItemCategory 3
PurchaseOrderItemStatus PurchaseOrderItemStatus_H 3
PurchaseOrderItemText PurchaseOrderItemText 4
PurchaseRequisition PurchaseRequisition 1
PurchaseRequisitionItem PurchaseRequisitionItem 1
PurchasingDocumentDeletionCode PurchasingDocumentDeletionCode 3
PurchasingHierarchyNode PurchasingHierarchyNode 2
PurchasingIsItemSet PurchasingIsItemSet 2
PurchasingParentItem PurchasingParentItem 2
PurContractForOverallLimit PurContractForOverallLimit 2
PurContractItemForOverallLimit PurContractItemForOverallLimit 2
PurgConfigurableItemNumber PurgConfigurableItemNumber 3
PurgDocAggrgdSubitemCategory PurgDocAggrgdSubitemCategory 2
PurgDocSubitemCategory PurgDocSubitemCategory 2
PurgExternalSortNumber PurgExternalSortNumber 2
PurOrdExternalItemCategory PurOrdExternalItemCategory,PurOrdExtHierItemCategory 2
PurOrdItemCategoryName PurOrdItemCategoryName 3
ReferenceDeliveryAddressID ReferenceDeliveryAddressID 1
RequisitionerName RequisitionerName 3
ServicePerformer ServicePerformer 2
StorageLocation StorageLocation 2
SupplierConfirmationControlKey SupplierConfirmationControlKey 1
SupplierIsSubcontractor SupplierIsSubcontractor 2
SupplierMaterialNumber SupplierMaterialNumber 2
WBSDescription WBSDescription 2
WBSElementExternalID WBSElementExternalID 1
@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_InventoryUsabilityCode       as _InventoryUsabilityCode       on  _InventoryUsabilityCode.InventoryUsabilityCode = $projection.InventoryUsabilityCode
  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,
      
      @Feature: 'MM_PUR_PO_ADD_FIELDS_APP_API'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.SupplierMaterialNumber,

      @Feature: 'MM_PUR_PO_ADD_FIELDS_APP_API'  
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.MaterialRevisionLevel,
      
      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,
      
      @Feature: 'MM_PUR_PO_ADD_FIELDS_APP_API'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_Subcontractor'
      Document.Subcontractor,
      
      @Feature: 'MM_PUR_PO_ADD_FIELDS_APP_API'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      Document.SupplierIsSubcontractor,
      
      @Feature: 'MM_PUR_PO_ADD_FIELDS_APP_API'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.foreignKey.association: '_InventoryUsabilityCode'      
      Document.StockType as InventoryUsabilityCode,

      @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,
      
      cast( '' as adrnr_mm ) as ItemDeliveryAddressID,

      // S/4 Limit

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

      // 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,
      
      _InventoryUsabilityCode
}