C_PurchaseOrderItemHierarchyTP

DDL: C_PURCHASEORDERITEMHIERARCHYTP Type: view CONSUMPTION

Purchase Order Item Hierarchies transactional processing

C_PurchaseOrderItemHierarchyTP is a Consumption CDS View that provides data about "Purchase Order Item Hierarchies transactional processing" in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrderItemTP) and exposes 65 fields with key fields PurchaseOrder, PurchaseOrderItem. It has 15 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_PurchaseOrderItemTP PurchaseOrderItemTP from

Associations (15)

CardinalityTargetAliasCondition
[1..1] C_PurchaseOrderTP _PurchaseOrderTP _PurchaseOrderTP.PurchaseOrder = $projection.PurchaseOrder
[1..1] C_PurchaseOrderItemSet _PurchaseOrderItemSetTP _PurchaseOrderItemSetTP.PurchaseOrder = $projection.PurchaseOrder and _PurchaseOrderItemSetTP.PurchaseOrderItem = $projection.PurchaseOrderItem
[0..1] C_MM_MaterialGroupValueHelp _MaterialGroupValueHelp _MaterialGroupValueHelp.MaterialGroup = $projection.MaterialGroup
[0..1] C_MM_TaxJurisdictionVH _TaxJurisdiction _TaxJurisdiction.TaxJurisdiction = $projection.TaxJurisdiction
[0..1] C_MM_ServicePerformerValueHelp _MM_ServicePerformerValueHelp _MM_ServicePerformerValueHelp.ServicePerformer = $projection.ServicePerformer and _MM_ServicePerformerValueHelp.Supplier = $projection.supplier
[0..1] C_MM_MaterialValueHelp _MaterialValueHelp _MaterialValueHelp.Material = $projection.ManufacturerMaterial and _MaterialValueHelp.MaterialGroup = $projection.MaterialGroup -- :*
[1..*] C_PurOrdPricingElementTP _PurOrdPricingElementTP _PurOrdPricingElementTP.PurchaseOrder = $projection.PurchaseOrder and _PurOrdPricingElementTP.PurchaseOrderItem = $projection.PurchaseOrderItem
[0..1] C_MM_TaxCodeValueHelp _TaxCode _TaxCode.TaxCode = $projection.TaxCode and _TaxCode.TaxCalculationProcedure = $projection.TaxCalculationProcedure
[0..1] C_PurOrdActACatValHelp _PurOrdActACatValHelp _PurOrdActACatValHelp.AccountAssignmentCategory = $projection.AccountAssignmentCategory
[0..1] I_TaxCalculationProcedure _TaxCalculationProcedure _TaxCalculationProcedure.TaxCalculationProcedure = $projection.TaxCalculationProcedure
[0..1] I_AccAssgnmtCategory _AccountAssignmentCategory _AccountAssignmentCategory.AccountAssignmentCategory = $projection.AccountAssignmentCategory -- :*
[1..1] C_PurOrdDeliveryAddressTP _PurOrdDeliveryAddressTP _PurOrdDeliveryAddressTP.PurchaseOrder = $projection.PurchaseOrder and _PurOrdDeliveryAddressTP.PurchaseOrderItem = $projection.PurchaseOrderItem -- :*
[1..*] C_PurOrdScheduleLineTP _PurOrdScheduleLineTP _PurOrdScheduleLineTP.PurchaseOrder = $projection.PurchaseOrder
[0..1] C_MM_PlantValueHelp _PlantValueHelp _PlantValueHelp.Plant = $projection.Plant and _PlantValueHelp.PurchasingOrganization = $projection.purchasingorganization
[1..1] C_PurOrdItemCO2eqFootprint _PurOrdItemCO2eqFootprint _PurOrdItemCO2eqFootprint.PurchaseOrder = $projection.PurchaseOrder and _PurOrdItemCO2eqFootprint.PurchaseOrderItem = $projection.PurchaseOrderItem

Annotations (21)

NameValueLevelField
VDM.viewType #CONSUMPTION view
AbapCatalog.sqlViewName CPURHIERITMTP view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Purchase Order Item Hierarchies transactional processing view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
ObjectModel.query.implementedBy ABAP:CL_MM_PUR_PO_QC_HIERACHY_ITEMS view
AbapCatalog.preserveKey true view
ObjectModel.representativeKey PurchaseOrderItem view
ObjectModel.updateEnabled true view
UI.lineItem.criticality HighestMessageSeverityLevel view
UI.lineItem.qualifier HierItem view
AbapCatalog.compiler.compareFilter true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
Search.searchable false view
UI.headerInfo.typeName Purchase Order Item view
UI.headerInfo.typeNamePlural Purchase Order Items view
UI.headerInfo.title.value PurchaseOrderItem view
UI.headerInfo.description.value PurOrdItemCategoryName view

Fields (65)

KeyFieldSource TableSource FieldDescription
KEY PurchaseOrder I_PurchaseOrderItemTP PurchaseOrder
KEY PurchaseOrderItem I_PurchaseOrderItemTP PurchaseOrderItem
PurgConfigurableItemNumber I_PurchaseOrderItemTP PurgConfigurableItemNumber
PurOrdExternalItemCategory I_PurchaseOrderItemTP PurOrdExternalItemCategory
PurchasingIsItemSet I_PurchaseOrderItemTP PurchasingIsItemSet
ManufacturerMaterial I_PurchaseOrderItemTP ManufacturerMaterial
PurchaseOrderItemText I_PurchaseOrderItemTP PurchaseOrderItemText
MaterialGroup I_PurchaseOrderItemTP MaterialGroup
Plant I_PurchaseOrderItemTP Plant
OrderQuantity I_PurchaseOrderItemTP OrderQuantity
NetPriceAmount I_PurchaseOrderItemTP NetPriceAmount
NetPriceQuantity I_PurchaseOrderItemTP NetPriceQuantity
ServicePerformer I_PurchaseOrderItemTP ServicePerformer
ProductTypeName I_PurchaseOrderItemTP ProductTypeName
Customer I_PurchaseOrderItemTP Customer
PurchaseOrderItemUniqueID PurchaseOrderItemUniqueID
PurchaseOrderItemCategory I_PurchaseOrderItemTP PurchaseOrderItemCategory
PurgDocAggrgdSubitemCategory I_PurchaseOrderItemTP PurgDocAggrgdSubitemCategory
PurchasingParentItem I_PurchaseOrderItemTP PurchasingParentItem
PurgDocSubitemCategory I_PurchaseOrderItemTP PurgDocSubitemCategory
IsStatisticalItem I_PurchaseOrderItemTP IsStatisticalItem
PurgExternalSortNumber I_PurchaseOrderItemTP PurgExternalSortNumber
PurOrdItemCategoryName I_PurchaseOrderItemTP PurOrdItemCategoryName
Material I_PurchaseOrderItemTP Material
PurchasingHierarchyNode I_PurchaseOrderItemTP PurchasingHierarchyNode
HierarchyParentNode I_PurchaseOrderItemTP HierarchyParentNode
HierarchyLevel I_PurchaseOrderItemTP HierarchyLevel
HierarchyNodeSubTreeSize I_PurchaseOrderItemTP HierarchyNodeSubTreeSize
HierarchyDrillState I_PurchaseOrderItemTP HierarchyDrillState
HierarchyNodeOrdinalNumber I_PurchaseOrderItemTP HierarchyNodeOrdinalNumber
ExpectedOverallLimitAmount I_PurchaseOrderItemTP ExpectedOverallLimitAmount
OverallLimitAmount I_PurchaseOrderItemTP OverallLimitAmount
NetAmount I_PurchaseOrderItemTP NetAmount
PurchasingDocumentDeletionCode I_PurchaseOrderItemTP PurchasingDocumentDeletionCode
PurchaseOrderItemStatus_H I_PurchaseOrderItemTP PurchaseOrderItemStatus
PurchaseOrderItemStatus Status
PurchaseOrderItemStatusName
DocumentCurrency I_PurchaseOrderItemTP DocumentCurrency
OrderPriceUnit I_PurchaseOrderItemTP OrderPriceUnit
PurchaseOrderQuantityUnit
GoodsReceiptIsNonValuated
EvaldRcptSettlmtIsAllowed I_PurchaseOrderItemTP EvaldRcptSettlmtIsAllowed Evaluated Receipt Settlement
InvoiceIsExpected
InvoiceIsGoodsReceiptBased
IsCompletelyDelivered I_PurchaseOrderItemTP IsCompletelyDelivered
IsFinallyInvoiced I_PurchaseOrderItemTP IsFinallyInvoiced
UnderdelivTolrtdLmtRatioInPct
UnlimitedOverdeliveryIsAllowed Unlimited Overdelivery Allowed
StorageLocation I_PurchaseOrderItemTP StorageLocation
IntrastatServiceCode
CommodityCode I_PurchaseOrderItemTP CommodityCode
IncotermsVersion
IncotermsClassification I_PurchaseOrderItemTP IncotermsClassification
IncotermsLocation1 I_PurchaseOrderItemTP IncotermsLocation1
IncotermsLocation2 I_PurchaseOrderItemTP IncotermsLocation2
PurchaseContract
PurContractForOverallLimit I_PurchaseOrderItemTP PurContractForOverallLimit
PurchaseContractItem
InfoRecordIsToBeUpdated I_PurchaseOrderItemTP InfoRecordIsToBeUpdated
AcctAssignmentCategoryName _AccountAssignmentCategory AcctAssignmentCategoryName
CostCenter
GLAccount I_PurchaseOrderItemTP GLAccount
WBSDescription I_PurchaseOrderItemTP WBSDescription
Fund I_PurchaseOrderItemTP Fund
BudgetPeriod I_PurchaseOrderItemTP BudgetPeriod
@VDM.viewType: #CONSUMPTION
@AbapCatalog: { sqlViewName: 'CPURHIERITMTP' }
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Purchase Order Item Hierarchies transactional processing'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.query.implementedBy: 'ABAP:CL_MM_PUR_PO_QC_HIERACHY_ITEMS'
@AbapCatalog.preserveKey:true
@ObjectModel: {
    semanticKey: ['PurchaseOrder', 'PurchaseOrderItem'],
    representativeKey: 'PurchaseOrderItem',
    updateEnabled: true
}

@UI: {
  lineItem.criticality: 'HighestMessageSeverityLevel',
  lineItem.qualifier: 'HierItem'
}
@AbapCatalog.compiler.compareFilter:true
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@Search.searchable: false

@UI.headerInfo:{
  typeName:       'Purchase Order Item',
  typeNamePlural: 'Purchase Order Items',
  title:          {value: 'PurchaseOrderItem'},
  description:    {value: 'PurOrdItemCategoryName'}
}

@OData.hierarchy.recursiveHierarchy: [ {
    elementWithHierarchy:    'PurchaseOrderItem',
    nodeElement:             'PurchasingHierarchyNode',
    externalKeyElement:      'PurchaseOrderItem',
    parentNodeElement:       'HierarchyParentNode',
    distanceFromRootElement: 'HierarchyLevel',
    drillStateElement:       'HierarchyDrillState',
    descendantCountElement:  'HierarchyNodeSubTreeSize',
    preorderRankElement:     'HierarchyNodeOrdinalNumber'
} ]

define view C_PurchaseOrderItemHierarchyTP
  as select from I_PurchaseOrderItemTP as PurchaseOrderItemTP
  -------------------------------------------------------------------------------------------
  -- COMPOSITION NODE: Purchase Order Item Hierarchy                                               --
  -------------------------------------------------------------------------------------------
  -- :* association to parent node
  association [1..1] to C_PurchaseOrderTP             as _PurchaseOrderTP             on  _PurchaseOrderTP.PurchaseOrder = $projection.PurchaseOrder
  association [1..1] to C_PurchaseOrderItemSet        as _PurchaseOrderItemSetTP      on  _PurchaseOrderItemSetTP.PurchaseOrder = $projection.PurchaseOrder
                                                                                      and    _PurchaseOrderItemSetTP.PurchaseOrderItem = $projection.PurchaseOrderItem
  association [0..1] to C_MM_MaterialGroupValueHelp   as _MaterialGroupValueHelp      on  _MaterialGroupValueHelp.MaterialGroup = $projection.MaterialGroup
  association [0..1] to C_MM_TaxJurisdictionVH        as _TaxJurisdiction             on  _TaxJurisdiction.TaxJurisdiction = $projection.TaxJurisdiction
  association [0..1] to C_MM_ServicePerformerValueHelp as _MM_ServicePerformerValueHelp on  _MM_ServicePerformerValueHelp.ServicePerformer = $projection.ServicePerformer
                                                                                       and _MM_ServicePerformerValueHelp.Supplier = $projection.supplier
  association [0..1] to C_MM_MaterialValueHelp        as _MaterialValueHelp           on  _MaterialValueHelp.Material      = $projection.ManufacturerMaterial
                                                                                      and _MaterialValueHelp.MaterialGroup = $projection.MaterialGroup
  -- :* association to the Pricing Elements child node
  association [1..*] to C_PurOrdPricingElementTP       as _PurOrdPricingElementTP     on  _PurOrdPricingElementTP.PurchaseOrder     = $projection.PurchaseOrder
                                                                                      and _PurOrdPricingElementTP.PurchaseOrderItem = $projection.PurchaseOrderItem
                                                                                        
  association [0..1] to C_MM_TaxCodeValueHelp         as _TaxCode                     on  _TaxCode.TaxCode                 = $projection.TaxCode
                                                                                      and _TaxCode.TaxCalculationProcedure = $projection.TaxCalculationProcedure
  association [0..1] to C_PurOrdActACatValHelp        as _PurOrdActACatValHelp        on  _PurOrdActACatValHelp.AccountAssignmentCategory = $projection.AccountAssignmentCategory
  association [0..1] to I_TaxCalculationProcedure     as _TaxCalculationProcedure     on  _TaxCalculationProcedure.TaxCalculationProcedure = $projection.TaxCalculationProcedure
  association [0..1] to I_AccAssgnmtCategory          as _AccountAssignmentCategory   on  _AccountAssignmentCategory.AccountAssignmentCategory = $projection.AccountAssignmentCategory
  -- :* association to the Delivery Address child node
  association [1..1] to C_PurOrdDeliveryAddressTP     as _PurOrdDeliveryAddressTP     on  _PurOrdDeliveryAddressTP.PurchaseOrder     = $projection.PurchaseOrder
                                                                                      and _PurOrdDeliveryAddressTP.PurchaseOrderItem = $projection.PurchaseOrderItem -- :* association to the Schedule Line child node
  association [1..*] to C_PurOrdScheduleLineTP        as _PurOrdScheduleLineTP        on  _PurOrdScheduleLineTP.PurchaseOrder = $projection.PurchaseOrder
  association [0..1] to C_MM_PlantValueHelp           as _PlantValueHelp              on  _PlantValueHelp.Plant                  = $projection.Plant
                                                                                      and _PlantValueHelp.PurchasingOrganization = $projection.purchasingorganization
  association [1..1] to C_PurOrdItemCO2eqFootprint     as _PurOrdItemCO2eqFootprint   on  _PurOrdItemCO2eqFootprint.PurchaseOrder     = $projection.PurchaseOrder
                                                                                      and _PurOrdItemCO2eqFootprint.PurchaseOrderItem = $projection.PurchaseOrderItem                                                                                      
                                                                                      
{

      @UI.hidden: true
  key PurchaseOrderItemTP.PurchaseOrder,
      
      @UI: {
        lineItem: [
            { position: 10, qualifier: 'HierItem'},
            { type: #FOR_ACTION, qualifier: 'HierItem' }
            ]
      }
      @ObjectModel.sort.enabled: false
      @Search: { defaultSearchElement: false, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @ObjectModel: { readOnly: true }
  key PurchaseOrderItemTP.PurchaseOrderItem,

      @UI: {
        identification: {position: 5, qualifier: 'HierItem'},
        lineItem: [ {position: 05, qualifier: 'HierItem'} ]
      }
      @ObjectModel: { readOnly: true }
      PurchaseOrderItemTP.PurgConfigurableItemNumber,

      @UI: {
      identification: [{position: 20, qualifier: 'HierItem'}],
      lineItem: [ {position: 20, qualifier: 'HierItem'}],
      textArrangement: #TEXT_FIRST
      }
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      @ObjectModel.sort.enabled: false
      @ObjectModel.text.element: ['PurOrdItemCategoryName']
    //  @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurOrdItmCatValHelp', element : 'PurgDocExternalItemCategory' } }]   

      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurOrdHierItmCatValueHelp', element : 'PurOrdExtHierItemCategory' } }]      
      PurchaseOrderItemTP.PurOrdExternalItemCategory,

      @ObjectModel.sort.enabled: false
      @ObjectModel.readOnly: 'true'
      @EndUserText.quickInfo: 'Item Set'
      PurchaseOrderItemTP.PurchasingIsItemSet,

      @UI: {
        identification: {position: 30, qualifier: 'HierItem'},
        lineItem: [ {position: 30, qualifier: 'HierItem'}]
      }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialValueHelp', element : 'Material' }, additionalBinding: [{ element: 'MaterialGroup', localElement: 'MaterialGroup' }, { element: 'Plant', localElement: 'Plant' }] }]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION', foreignKey.association: '_MaterialValueHelp' }
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      PurchaseOrderItemTP.ManufacturerMaterial,

      @UI: {
      identification: [{position: 40, qualifier: 'HierItem'}],
      lineItem: [ {position: 40, qualifier: 'HierItem'} ]
      }
      @Semantics: { text: true }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.PurchaseOrderItemText,

      @UI: {
        identification: [{position: 50, qualifier: 'HierItem'}],
        lineItem:[{position: 50, qualifier: 'HierItem'}]
      }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION', foreignKey.association: '_MaterialGroupValueHelp'}
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialGroupValueHelp', element : 'MaterialGroup' } }]
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      PurchaseOrderItemTP.MaterialGroup,

      @UI: {
        identification: {position: 60, qualifier: 'HierItem'},
        lineItem: [ {position: 60, qualifier: 'HierItem'} ]
      }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_PlantValueHelp', element : 'Plant' }}]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @Consumption.semanticObject: 'Plant'
      PurchaseOrderItemTP.Plant,

      @UI: {
      identification: {position: 70, qualifier: 'HierItem'},
      lineItem: [ {position: 70, qualifier: 'HierItem'} ]
      }
      @Semantics: { quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit' }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.OrderQuantity,

      @UI: {
        identification: {position: 80, qualifier: 'HierItem'},
        lineItem: [ {position: 80, qualifier: 'HierItem'}]
      }
      @Semantics: { amount.currencyCode: 'DocumentCurrency' }
      @ObjectModel.sort.enabled: false
      @ObjectModel: {
        readOnly: 'EXTERNAL_CALCULATION'
      }
      PurchaseOrderItemTP.NetPriceAmount,

      @UI: {
        identification: {position: 90, qualifier: 'HierItem'},
        lineItem: [ {position: 90, qualifier: 'HierItem'} ]
      }
      @Semantics: { quantity.unitOfMeasure: 'OrderPriceUnit' }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.NetPriceQuantity,


      @ObjectModel.sort.enabled: false
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_ServicePerformerValueHelp', element : 'ServicePerformer' }, additionalBinding: [{ element: 'Supplier', localElement: 'Supplier' }] }]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
     PurchaseOrderItemTP.ServicePerformer,


      //      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_ProductTypeValueHelp', element : 'ProductType' } }]

      //      @ObjectModel: { readOnly: true }

      //      @ObjectModel.sort.enabled: false

      //      cast( PurchaseOrderItemTP.ProductType as abap.char( 6 )) as ProductType,


      @ObjectModel.sort.enabled: false
      @ObjectModel: { readOnly: true }
      PurchaseOrderItemTP.ProductTypeName,

      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_Customer_VH', element : 'Customer' } }]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.Customer,

      @ObjectModel.sort.enabled: true
      @ObjectModel: { readOnly: true }
      PurchaseOrderItemUniqueID,
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.PurchaseOrderItemCategory,
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.PurgDocAggrgdSubitemCategory,
      @UI.hidden: false
      @ObjectModel.sort.enabled: false
      @ObjectModel.readOnly: true
      PurchaseOrderItemTP.PurchasingParentItem,
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.PurgDocSubitemCategory,
      @ObjectModel.sort.enabled: false
      @UI.hidden: true
      PurchaseOrderItemTP.IsStatisticalItem,
      @ObjectModel.sort.enabled: false
      @UI.hidden: false
      @ObjectModel.readOnly: true
      PurchaseOrderItemTP.PurgExternalSortNumber,
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.PurOrdItemCategoryName,

      @UI.hidden: true
      @ObjectModel.sort.enabled: false      @ObjectModel: {  readOnly : true }
      PurchaseOrderItemTP.Material,
      //added for item Hierarchy

      @ObjectModel: {  readOnly : true }
      @ObjectModel.sort.enabled: false
      @UI.hidden: true
      PurchaseOrderItemTP.PurchasingHierarchyNode,
      @ObjectModel: {  readOnly : true }
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.HierarchyParentNode,
      @ObjectModel.sort.enabled: false
      @ObjectModel: {  readOnly : true }
      @UI.hidden: true
      PurchaseOrderItemTP.HierarchyLevel,
      @ObjectModel.sort.enabled: false
      @ObjectModel: {  readOnly : true }
      @UI.hidden: true
      PurchaseOrderItemTP.HierarchyNodeSubTreeSize,
      @ObjectModel.sort.enabled: false
      @ObjectModel: {  readOnly : true }
      @UI.hidden: true
      PurchaseOrderItemTP.HierarchyDrillState,
      @ObjectModel.sort.enabled: false
      @ObjectModel: {  readOnly : true }
      @UI.hidden: true
      PurchaseOrderItemTP.HierarchyNodeOrdinalNumber,

      @Semantics: { amount.currencyCode: 'DocumentCurrency' }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.ExpectedOverallLimitAmount,

      @Semantics: { amount.currencyCode: 'DocumentCurrency' }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.OverallLimitAmount,

      @UI: {
        identification: {position: 110, qualifier: 'HierItem'},
        lineItem: [ {position: 110, qualifier: 'HierItem'} ]
      }
      @Semantics: { amount.currencyCode: 'DocumentCurrency' }

      @ObjectModel: {
         readOnly: 'EXTERNAL_CALCULATION'
      }
      @ObjectModel.sort.enabled: false

      PurchaseOrderItemTP.NetAmount,

      @ObjectModel.readOnly: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.PurchasingDocumentDeletionCode,

      @Consumption.hidden: true
      @ObjectModel.readOnly: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.PurchaseOrderItemStatus                                          as PurchaseOrderItemStatus_H,

      @UI: {
        lineItem: [ {position: 900, importance: #HIGH, qualifier: 'Item'},
                    {position: 900, importance: #HIGH, qualifier: 'LimitItem'}],
        textArrangement: #TEXT_ONLY
      }
      @ObjectModel: {
         readOnly: true,
         text.element:  [ 'PurchaseOrderItemStatusName' ]
       }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_PurchaseOrderStatusValueHelp', element : 'PurchasingDocumentStatus' } }]
      @EndUserText.label: 'Status'
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_FILTERS'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_FILTERS'
      @ObjectModel.sort.enabled: true
      @ObjectModel.sort.transformedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_FILTERS'
      cast ( '' as abap.char(2))                                                           as PurchaseOrderItemStatus,

      @ObjectModel: {
        readOnly: true
      }
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_FILTERS'
      @UI.hidden: true
      cast ( '' as abap.sstring(260))                                                      as PurchaseOrderItemStatusName,

      @Semantics: { currencyCode: true }
      @ObjectModel: { readOnly: true }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.DocumentCurrency,

      @Semantics: { unitOfMeasure: true }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION', foreignKey.association: '_OrderPriceUnit'}
      @ObjectModel.sort.enabled: false
      @Consumption.valueHelpDefinition: [{
      entity:  { name:    'C_ProductUnitOfMeasureVH',
                 element: 'UnitOfMeasure' }
                 }]

      PurchaseOrderItemTP.OrderPriceUnit,

      @Semantics: { unitOfMeasure: true }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION', foreignKey.association: '_OrderQuantityUnit'}
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.PurchaseOrderQuantityUnit as bstme_ll preserving type)     as PurchaseOrderQuantityUnit,

      ----------------------------------------------------------------------------------------
      -- FieldGroup: Delivery Address                                                       --
      ----------------------------------------------------------------------------------------

      ----------------------------------------------------------------------------------------
      -- FieldGroup: Process Flow                                                           --
      ----------------------------------------------------------------------------------------

      @UI.fieldGroup: [ { groupLabel: 'Process Flow', position: 10, qualifier: 'ProcessFlowGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.GoodsReceiptIsExpected as wepos_ll preserving type)        as GoodsReceiptIsExpected,
      @UI.fieldGroup: [ { position: 20, qualifier: 'ProcessFlowGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      cast(PurchaseOrderItemTP.GoodsReceiptIsNonValuated as weunb_ll preserving type)      as GoodsReceiptIsNonValuated,
      @UI.fieldGroup: [ { position: 30, qualifier: 'ProcessFlowGroup' } ]
      @EndUserText.label: 'Evaluated Receipt Settlement'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.EvaldRcptSettlmtIsAllowed,
      @UI.fieldGroup: [ { position: 40, qualifier: 'ProcessFlowGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.InvoiceIsExpected as repos_ll preserving type)             as InvoiceIsExpected,
      @UI.fieldGroup: [ { position: 50, qualifier: 'ProcessFlowGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      cast(PurchaseOrderItemTP.InvoiceIsGoodsReceiptBased as webre_ll preserving type)     as InvoiceIsGoodsReceiptBased,
      @UI.fieldGroup: [ { position: 60, qualifier: 'ProcessFlowGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.IsCompletelyDelivered,
      @UI.fieldGroup: [ { position: 70, qualifier: 'ProcessFlowGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.IsFinallyInvoiced,

      ----------------------------------------------------------------------------------------
      -- FieldGroup: Delivery                                                               --
      ----------------------------------------------------------------------------------------

      @UI.fieldGroup: [ { position: 30, qualifier: 'DeliveryGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.OverdelivTolrtdLmtRatioInPct as uebto_ll preserving type)  as OverdelivTolrtdLmtRatioInPct,

      @UI.fieldGroup: [ { position: 40, qualifier: 'DeliveryGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.UnderdelivTolrtdLmtRatioInPct as untto_ll preserving type) as UnderdelivTolrtdLmtRatioInPct,

      @UI.fieldGroup: [ { position: 50, qualifier: 'DeliveryGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @EndUserText.label: 'Unlimited Overdelivery Allowed'
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.UnlimitedOverdeliveryIsAllowed as uebtk preserving type)   as UnlimitedOverdeliveryIsAllowed,

      @UI.fieldGroup: [ { position: 60, qualifier: 'DeliveryGroup' } ]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_StorLocValueHelp', element : 'StorageLocation' }, additionalBinding: [{ element: 'Plant', localElement: 'Plant' }]  }]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.StorageLocation,

      @UI.fieldGroup: [ { position: 70, qualifier: 'DeliveryGroup' } ]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurOrdIntrastatSrvcCodeVH', element : 'IntrastatServiceCode' }, additionalBinding: [{ element: 'Country', localElement: 'Country' }]  }]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.IntrastatServiceCode as mm_isvco_ll preserving type)       as IntrastatServiceCode,

      @UI.fieldGroup: [ { position: 80, qualifier: 'DeliveryGroup' } ]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurOrdIntrastatCmmdtyCodeVH', element : 'CommodityCode' } }]
      @ObjectModel: {
        readOnly: 'EXTERNAL_CALCULATION'
      //        virtualElement,

      //        virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'

      }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.CommodityCode,

      ----------------------------------------------------------------------------------------
      -- FieldGroup: Incoterms                                                              --
      ----------------------------------------------------------------------------------------

      @UI.fieldGroup: [ { groupLabel: 'Incoterms', position: 10, qualifier: 'IncotermsGroup' } ]
      @ObjectModel: { foreignKey.association: '_IncotermsVersion', readOnly: true }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.IncotermsVersion,

      @UI.fieldGroup: [ { position: 20, qualifier: 'IncotermsGroup' } ]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_IncotermValueHelp', element : 'IncotermsClassification' }, additionalBinding: [{ element: 'IncotermsVersion', localElement: 'IncotermsVersion' }] }]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.IncotermsClassification,

      @UI.fieldGroup: [ { position: 30, qualifier: 'IncotermsGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.IncotermsLocation1,

      @UI.fieldGroup: [ { position: 40, qualifier: 'IncotermsGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.IncotermsLocation2,

      ----------------------------------------------------------------------------------------
      -- FieldGroup: Source of Supply                                                       --
      ----------------------------------------------------------------------------------------

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PurchasingInfoRecordStdVH',
                     element: 'PurchasingInfoRecord' }
        }]
      @UI.fieldGroup: [ { groupLabel: 'Source of Supply', position: 10, qualifier: 'SourceOfSupplyGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.PurchasingInfoRecord as infnr_ll preserving type)          as PurchasingInfoRecord,

      @UI.fieldGroup: [ { position: 20, qualifier: 'SourceOfSupplyGroup' } ]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchaseContractValHelp', element : 'PurchaseContract' } }]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.PurchaseContract as konnr_ll preserving type)              as PurchaseContract,

      @UI: {
      fieldGroup: [{ groupLabel: 'SourceOfSupply', position: 10, qualifier: 'SourceOfSupplyGroup' }],
      lineItem: [ {position: 50, qualifier: 'LimitItem'} ]
      }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchaseContractValHelp', element : 'PurchaseContract' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.PurContractForOverallLimit,
      
            @UI: {
      fieldGroup: [{ groupLabel: 'SourceOfSupply', position: 20, qualifier: 'SourceOfSupplyGroup' }],
      lineItem: [ {position: 60, qualifier: 'LimitItem'} ]
      }
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      @EndUserText.label: 'Contract Item for Limit'
      @Consumption.valueHelpDefinition: [{ entity:  { name: 'I_PurContractServiceItemVH', element: 'PurchaseContractItem' },
          additionalBinding: [{ localElement: 'PurContractForOverallLimit', element: 'PurchaseContract' }]
        }]
        
      PurchaseOrderItemTP.PurContractItemForOverallLimit,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PurchaseContractItemStdVH',
                     element: 'PurchaseContractItem' },
          additionalBinding: [{ localElement: 'PurchaseContract',
                                element: 'PurchaseContract' }]
        }]
      @UI.fieldGroup: [ { position: 30, qualifier: 'SourceOfSupplyGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.PurchaseContractItem as ktpnr_ll preserving type)          as PurchaseContractItem,

      @UI.fieldGroup: [ { position: 40, qualifier: 'SourceOfSupplyGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.InfoRecordIsToBeUpdated,


      ----------------------------------------------------------------------------------------
      -- FieldGroup: Accounting (will be part of reuse)                                     --
      ----------------------------------------------------------------------------------------

      @UI: {
        identification: [{position: 300, qualifier: 'Item'},
                        {position: 50, qualifier: 'LimitItem'}],
        lineItem:       {position: 70, qualifier: 'LimitItem'},
        textArrangement: #TEXT_FIRST
      }
      @ObjectModel.readOnly:'EXTERNAL_CALCULATION'
      @ObjectModel: [{ foreignKey.association: '_AccountAssignmentCategory' }]
      @Consumption.valueHelpDefinition:
        [{entity:  { name:     'I_AccAssgnmtCategory',
                      element: 'AccountAssignmentCategory' }

        }]
      @ObjectModel.sort.enabled: false
      @ObjectModel.text.element: ['AcctAssignmentCategoryName']
      PurchaseOrderItemTP.AccountAssignmentCategory                                        as AccountAssignmentCategory,

      @ObjectModel.readOnly: true
      @UI.hidden: true
      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      _AccountAssignmentCategory.AcctAssignmentCategoryName                                as AcctAssignmentCategoryName,
      ----------------------------------------------------------------------------------------
      -- FieldGroup: Public Sector Management (PSM) Accounting                              --
      ----------------------------------------------------------------------------------------

      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name: 'I_MM_CostCenterValueHelp' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.CostCenter,
      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name: 'I_MM_GLAccountVH' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.GLAccount,
      //      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'

      //      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }

      //      @Consumption.valueHelpDefinition: [{ entity: { name: 'C_PurOrdWBSValHelp' } }]

      //      @ObjectModel.sort.enabled: false

      //      PurchaseOrderItemTP.WBSElementExternalID,

      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'true' }
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.WBSDescription,
      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_FUNDSTDVH', element: 'Fund' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.Fund,
      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_BUDGETPERIODSTDVH', element: 'BudgetPeriod' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.BudgetPeriod,
      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_FUNDSCENTERSTDVH', element: 'FundsCenter' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.FundsCenter,
   
      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_EmrkdFndsDocumentItemStdVH', element: 'EarmarkedFundsDocument' } }]
      @ObjectModel.sort.enabled: false
      cast ( EarmarkedFundsDocument as fmis_earmarkedfundsdoc preserving type )            as EarmarkedFundsDocument,

      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_EmrkdFndsDocumentItemStdVH', element: 'EarmarkedFundsDocumentItem' } }]
      @ObjectModel.sort.enabled: false
      cast ( EarmarkedFundsDocumentItem as fmis_earmarkedfundsdocitem preserving type )    as EarmarkedFundsDocumentItem,
      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_FNDSMGMTFUNCNLAREASTDVH', element: 'FunctionalArea' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.FunctionalArea,
      @Feature: 'BF:PSM_BUDGET_ACCOUNTING_CONTROL'
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_GRANTSTDVH', element: 'GrantID' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.GrantID,

      ----------------------------------------------------------------------------------------
      -- FieldGroup: Tax                                                                    --
      ----------------------------------------------------------------------------------------

      @UI.fieldGroup: [ { groupLabel: 'Tax', position: 10, qualifier: 'TaxGroup' } ]
      @ObjectModel: { foreignKey.association: '_TaxCode', readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      TaxCode,
      @UI.fieldGroup: [ { position: 20, qualifier: 'TaxGroup' } ]
      @ObjectModel: { foreignKey.association: '_TaxJurisdiction', readOnly: 'EXTERNAL_CALCULATION'}
      @Consumption.valueHelp: '_PurOrdTaxJurisdictionValHelp'
      @ObjectModel.sort.enabled: false
      TaxJurisdiction,
      @UI.fieldGroup: [ { groupLabel: 'Tax', position: 30, qualifier: 'TaxGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_POMntnTaxCountryValueHelp', element : 'TaxCountry' } , additionalBinding: [{ element: 'CompanyCode', localElement: 'CompanyCode' }] }]
      @ObjectModel.sort.enabled: false
      TaxCountry,
      @UI.fieldGroup: [ { groupLabel: 'Tax', position: 40, qualifier: 'TaxGroup' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      @ObjectModel.sort.enabled: false
      TaxDeterminationDate,

      //Brazil Extension

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_BR_MaterialOriginValHelp', element : 'BR_MaterialOrigin' } }]
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.BR_MaterialOrigin as logbr_matorg preserving type)         as BR_MaterialOrigin,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_BR_MaterialUsageValHelp', element : 'BR_MaterialUsage' } }]
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.BR_MaterialUsage as logbr_matuse preserving type)          as BR_MaterialUsage,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_BR_CFOPCategoryValHelp', element : 'BR_CFOPCategory' } }]
      @ObjectModel.sort.enabled: false
      cast (PurchaseOrderItemTP.BR_CFOPCategory as logbr_cfopcategory preserving type)     as BR_CFOPCategory,

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_BR_NCMValHelp', element : 'BR_NCM' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.BR_NCM                                                           as BR_NCM, //Implicit Conversion from 16 to 10 Characters, CAST PRESERVING TYPE not allowed

      @ObjectModel.sort.enabled: false
      @ObjectModel: { readOnly:'EXTERNAL_CALCULATION' }
      cast (PurchaseOrderItemTP.BR_IsProducedInHouse as logbr_ownpro preserving type)      as BR_IsProducedInHouse,

      //India GST Control code field

      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_IN_GSTControlCodeValueHelp', element : 'ConsumptionTaxCtrlCode' } }]
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.IN_GSTControlCode                                                as IN_GSTControlCode,

      ----------------------------------------------------------------------------------------
      -- FieldGroup: Confirmation                                                           --
      ----------------------------------------------------------------------------------------

      @UI.fieldGroup: [ {  position: 220, qualifier: 'SupplierConfirmations' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      PurgDocOrderAcknNumber,

      @UI.fieldGroup: [ {  position: 230, qualifier: 'SupplierConfirmations' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      cast(IsOrderAcknRqd as kzabs_ll preserving type )                                    as IsOrderAcknRqd,

      @UI.fieldGroup: [ {  position: 240, qualifier: 'SupplierConfirmations' } ]
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
      @ObjectModel.sort.enabled: false
      ItemIsRejectedBySupplier,
      
//      Foot Print Intigration

//      PFMTransDataFootprintUUID,

//      @ObjectModel.readOnly: true

//      @Semantics.quantity.unitOfMeasure: 'PFMFootprintUnit'

//      @UI:  {

//            dataPoint: {targetValueElement: 'PFMFootprintQuantity' , valueFormat.numberOfFractionalDigits: 3}

//            }

//      @EndUserText.label: 'CO2e Footprint'

//      _PurOrdItemCO2eqFootprint.PFMFootprintQuantity,

//

//      @ObjectModel.readOnly: true

//      @Semantics.unitOfMeasure: true

//      _PurOrdItemCO2eqFootprint.PFMFootprintUnit,

      ----------------------------------------------------------------------------------------
      -- Header-Fields needed for Associations                                              --
      ----------------------------------------------------------------------------------------
      
      
      @ObjectModel: { readOnly: true }
      @UI.lineItem: [ { exclude: true } ]
      @UI.hidden: true 
      @ObjectModel.text.association: null
      _PurchaseOrderTP.PurchasingOrganization,

      @ObjectModel: { readOnly: true, foreignKey.association: '_TaxCalculationProcedure' }
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      _Plant._Address._Country.TaxCalculationProcedure                                     as TaxCalculationProcedure,

      @ObjectModel: { readOnly: true }
      //@UI.hidden: true

      @UI.identification: [{ position: 1 }]
      _PurOrdDeliveryAddressTP.Country                                                     as Country,

      @ObjectModel: { readOnly: true }
      @UI.hidden: true
      _PurOrdDeliveryAddressTP.CountryName                                                 as CountryName,

      ----------------------------------------------------------------------------------------
      -- Product Compliance                                                                 --
      ----------------------------------------------------------------------------------------
//      @UI.hidden: true

//      PurgProdCmplncSupplierStatus,

//      @ObjectModel: { readOnly: true }

//      @UI.fieldGroup: [ { groupLabel: 'Product Compliance', position: 10, qualifier: 'ProductCompliance'

//      ,criticality: 'UICT_PurgProdCmplncSupplierSts', criticalityRepresentation: #WITHOUT_ICON

//      } ]

//      _PurgProdCmplncSupplierStsT.PurgProdCmplncSupplierStsName,


      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      PurgProductMarketabilityStatus,

      ----------------------------------------------------------------------------------------
      -- Unused fields                                                                      --
      ----------------------------------------------------------------------------------------

      @Consumption.hidden: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.SupplierMaterialNumber,
      @Consumption.hidden: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.ManufacturerPartNmbr,
      @UI.hidden: true
      PurchaseOrderItemTP.CompanyCode,
      @Consumption.hidden: true
      PurchaseOrderItemTP.OrderItemQtyToBaseQtyNmrtr,
      @Consumption.hidden: true
      PurchaseOrderItemTP.OrderItemQtyToBaseQtyDnmntr,
      @Consumption.hidden: true
      PurchaseOrderItemTP.ItemVolumeUnit,
      @Consumption.hidden: true
      PurchaseOrderItemTP.ItemWeightUnit,
      @Consumption.hidden: true
      PurchaseOrderItemTP.MultipleAcctAssgmtDistribution,
      @Consumption.hidden: true
      PurchaseOrderItemTP.PartialInvoiceDistribution,
      @Consumption.hidden: true
      PurchaseOrderItemTP.PricingDateControl,
      @Consumption.hidden: true
      PurchaseOrderItemTP.IsReturnsItem,
      @Consumption.hidden: true
      PurchaseOrderItemTP.InternationalArticleNumber,
      @Consumption.hidden: true
      PurchaseOrderItemTP.PriceIsToBePrinted,
      @UI.hidden: true
      PurchaseOrderItemTP.EffectiveAmount,
      @Consumption.hidden: true
      PurchaseOrderItemTP.OrderPriceUnitToOrderUnitNmrtr,
      @Consumption.hidden: true
      PurchaseOrderItemTP.OrdPriceUnitToOrderUnitDnmntr,
      @Consumption.hidden: true
      PurchaseOrderItemTP.BaseUnit,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      PurchaseOrderItemTP.RequisitionerName,
      @Consumption.hidden: true
      PurchaseOrderItemTP.PlannedDeliveryDurationInDays,
      @Consumption.hidden: true
      PurchaseOrderItemTP.ConsumptionPosting,

      ----------------------------------------------------------------------------------------
      -- Transient fields                                                                   --
      ----------------------------------------------------------------------------------------

      @ObjectModel.sort.enabled: false
      @ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
      PurchaseOrderItemTP.POItmAcctAssgmtFieldsAreEnbld,

      @ObjectModel: {
         readOnly: true
       }
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      PurchaseOrderItemTP.HighestMessageSeverityLevel,

      ----------------------------------------------------------------------------------------
      -- Fields from delivery address needed for association to ValueHelp for TaxJurisdictionCode                                                                --
      ----------------------------------------------------------------------------------------

      @ObjectModel: {
         readOnly: true
       }
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      _PurOrdDeliveryAddressTP.Region                                                      as Region,

      @ObjectModel: {
         readOnly: true
       }
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      _PurOrdDeliveryAddressTP.RegionName                                                  as RegionName,

      @ObjectModel: {
         readOnly: true
       }
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      _PurOrdDeliveryAddressTP.PostalCode                                                  as PostalCode,

      @ObjectModel: {
         readOnly: true
       }
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      _PurOrdDeliveryAddressTP.CityName                                                    as CityName,

      @ObjectModel: {
         readOnly: true
       }
      @UI.hidden: true
      @ObjectModel.sort.enabled: false
      _PurchaseOrderTP.Supplier,

      ----------------------------------------------------------------------------------------
      -- Associations                                                                       --
      ----------------------------------------------------------------------------------------
      @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _PurchaseOrderTP,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _PurOrdDeliveryAddressTP,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _PurOrdScheduleLineTP,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _MaterialGroupValueHelp,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _TaxJurisdiction,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      PurchaseOrderItemTP._OrderPriceUnit,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _MaterialValueHelp,
      
      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _PurchaseOrderItemSetTP,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _PlantValueHelp,
      
      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      PurchaseOrderItemTP._OrderQuantityUnit,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      PurchaseOrderItemTP._IncotermsVersion,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _TaxCode,
      
      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _PurOrdPricingElementTP,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _PurOrdActACatValHelp,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _TaxCalculationProcedure,

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false
      _AccountAssignmentCategory,
      
      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false      
      _PurOrdItemCO2eqFootprint,
      

      @ObjectModel.sort.enabled: false
      @ObjectModel.filter.enabled: false   
      _MM_ServicePerformerValueHelp
     
}