@VDM.viewType: #CONSUMPTION
@AbapCatalog: { sqlViewName: 'CPURORDITMTP' }
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Purchase Order Item'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel: {
transactionalProcessingDelegated: true,
semanticKey: ['PurchaseOrder', 'PurchaseOrderItem'],
representativeKey: 'PurchaseOrderItem',
createEnabled: true,
updateEnabled: true,
deleteEnabled: false
}
@UI: {
lineItem.criticality: 'HighestMessageSeverityLevel'
}
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@Search.searchable: true
@UI.headerInfo:{
typeName: 'Purchase Order Item',
typeNamePlural: 'Purchase Order Items',
// imageUrl: 'PurchaseOrderURL',
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'
} ]
@UI.presentationVariant.requestAtLeast: ['PurchaseOrder', 'PurchaseOrderItem', 'PurgConfigurableItemNumber','ManufacturerMaterial', 'Plant', 'Supplier', 'OrderQuantity', 'OrderPriceUnit']
define view C_PurchaseOrderItemTP
as select from I_PurchaseOrderItemTP as PurchaseOrderItemTP
-------------------------------------------------------------------------------------------
-- COMPOSITION NODE: Purchase Order Item --
-------------------------------------------------------------------------------------------
-- :* association to parent node
association [1..1] to C_PurchaseOrderTP as _PurchaseOrderTP on _PurchaseOrderTP.PurchaseOrder = $projection.PurchaseOrder
-- :* association to the Schedule Line child node
association [1..*] to C_PurOrdScheduleLineTP as _PurOrdScheduleLineTP on _PurOrdScheduleLineTP.PurchaseOrder = $projection.PurchaseOrder
and _PurOrdScheduleLineTP.PurchaseOrderItem = $projection.PurchaseOrderItem
-- :* association to the Account Assignment child node
association [1..*] to C_PurOrdAcctAssignmentTP as _PurOrdAcctAssignmentTP on _PurOrdAcctAssignmentTP.PurchaseOrder = $projection.PurchaseOrder
and _PurOrdAcctAssignmentTP.PurchaseOrderItem = $projection.PurchaseOrderItem
-- :* 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 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 [0..*] to C_PurchaseOrderItemNoteTP as _PurchaseOrderItemNoteTP on _PurchaseOrderItemNoteTP.PurchaseOrder = $projection.PurchaseOrder
and _PurchaseOrderItemNoteTP.PurchaseOrderItem = $projection.PurchaseOrderItem
-- :* association to the Confirmation child node
association [0..*] to C_PurOrdSupplierConfirmation as _PurOrdSupplierConfirmation on _PurOrdSupplierConfirmation.PurchaseOrder = $projection.PurchaseOrder
and _PurOrdSupplierConfirmation.PurchaseOrderItem = $projection.PurchaseOrderItem
association [0..1] to I_TaxCalculationProcedure as _TaxCalculationProcedure on _TaxCalculationProcedure.TaxCalculationProcedure = $projection.TaxCalculationProcedure
-- :* association to Control Code field GST India
association [0..1] to I_CnsmpnTaxControlCodeCoCode as _CnsmptnTaxCntrlCode on _CnsmptnTaxCntrlCode.CountryCode = 'IN'
and _CnsmptnTaxCntrlCode.ConsumptionTaxCtrlCode = $projection.IN_GSTControlCode
association [0..1] to I_SupplierConfControlKey as _SupplierConfControlKey on _SupplierConfControlKey.SupplierConfirmationControlKey = $projection.SupplierConfirmationControlKey
// Asscoiation added for Alternate Supplier Facet in Quanity Deficit in Supplier Confirmation Situation
association [0..*] to C_AlternateSupplierPOSituation as _POItemAlternateSuplrSit on _POItemAlternateSuplrSit.Plant = $projection.Plant
and _POItemAlternateSuplrSit.Material = $projection.Material
and _POItemAlternateSuplrSit.Supplier != $projection.supplier
and _POItemAlternateSuplrSit.PurchasingOrganization = $projection.purchasingorganization
and _POItemAlternateSuplrSit.PurchaseOrderItemCategory = $projection.PurchaseOrderItemCategory
-------------------------------------------------------------------------------------------
-- Value-Help Associations --
-------------------------------------------------------------------------------------------
association [0..*] to C_PurOrdTaxJurisdictionValHelp as _PurOrdTaxJurisdictionValHelp on _PurOrdTaxJurisdictionValHelp.TaxJurisdiction = $projection.TaxJurisdiction
and _PurOrdTaxJurisdictionValHelp.CompanyCode = $projection.CompanyCode
and _PurOrdTaxJurisdictionValHelp.Country = $projection.Country
and _PurOrdTaxJurisdictionValHelp.Region = $projection.Region
and _PurOrdTaxJurisdictionValHelp.CityName = $projection.CityName
and _PurOrdTaxJurisdictionValHelp.PostalCode = $projection.PostalCode
association [0..1] to C_MM_TaxCodeValueHelp as _TaxCode on _TaxCode.TaxCode = $projection.TaxCode
and _TaxCode.TaxCalculationProcedure = $projection.TaxCalculationProcedure
association [0..1] to C_MM_TaxJurisdictionVH as _TaxJurisdiction on _TaxJurisdiction.TaxJurisdiction = $projection.TaxJurisdiction
//and _TaxJurisdiction.TaxJurisdictionCalcProcedure = ''
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
and _MaterialValueHelp.Plant = $projection.Plant
association [0..1] to C_MM_MaterialGroupValueHelp as _MaterialGroupValueHelp on _MaterialGroupValueHelp.MaterialGroup = $projection.MaterialGroup
association [0..1] to C_MM_PlantValueHelp as _PlantValueHelp on _PlantValueHelp.Plant = $projection.Plant
and _PlantValueHelp.PurchasingOrganization = $projection.purchasingorganization
association [0..1] to C_PurOrdActACatValHelp as _PurOrdActACatValHelp on _PurOrdActACatValHelp.AccountAssignmentCategory = $projection.AccountAssignmentCategory
association [0..1] to I_PurgProdCmplncSupplierStsT as _PurgProdCmplncSupplierStsT on $projection.PurgProdCmplncSupplierStatus = _PurgProdCmplncSupplierStsT.PurgProdCmplncSupplierStatus
and _PurgProdCmplncSupplierStsT.Language = $session.system_language
association [0..1] to I_PurgProductMarketabilityStsT as _PurgProductMarketabilityStsT on $projection.PurgProductMarketabilityStatus = _PurgProductMarketabilityStsT.PurgProductMarketabilityStatus
and _PurgProductMarketabilityStsT.Language = $session.system_language
association [0..1] to I_PurgSafetyDataSheetStatusT as _PurgSafetyDataSheetStatusT on $projection.PurgSafetyDataSheetStatus = _PurgSafetyDataSheetStatusT.PurgSafetyDataSheetStatus
and _PurgSafetyDataSheetStatusT.Language = $session.system_language
association [0..1] to I_PurgProdCmplncDngrsGoodsStsT as _PurgProdCmplncDngrsGoodsStsT on $projection.PurgProdCmplncDngrsGoodsStatus = _PurgProdCmplncDngrsGoodsStsT.PurgProdCmplncDngrsGoodsStatus
and _PurgProdCmplncDngrsGoodsStsT.Language = $session.system_language
association [0..1] to C_POItemProdCmplncCriticality as _POItemProdCmplncCriticality on $projection.PurchaseOrder = _POItemProdCmplncCriticality.PurchaseOrder
and $projection.PurchaseOrderItem = _POItemProdCmplncCriticality.PurchaseOrderItem
association [0..*] to I_BatchVH as _BatchVH on $projection.Material = _BatchVH.Material
and $projection.Plant = _BatchVH.Plant
association [1..1] to C_PurchaseOrderItemSet as _PurchaseOrderItemSet on _PurchaseOrderItemSet.PurchaseOrder = $projection.PurchaseOrder
and _PurchaseOrderItemSet.PurchaseOrderItem = $projection.PurchaseOrderItem
// association [1..1] to C_PurOrdItemCO2eqFootprint as _PurOrdItemCO2eqFootprint on _PurOrdItemCO2eqFootprint.PurchaseOrder = $projection.PurchaseOrder
// and _PurOrdItemCO2eqFootprint.PurchaseOrderItem = $projection.PurchaseOrderItem
{
@UI.hidden: true
@ObjectModel.foreignKey.association: '_PurchaseOrderTP'
key PurchaseOrderItemTP.PurchaseOrder,
@UI: {
lineItem: [
{ position: 10, importance: #HIGH, qualifier: 'LimitItem'},
{ position: 10, importance: #HIGH, qualifier: 'Item'},
{ type: #FOR_ACTION, dataAction: 'BOPF:COPY_PO_ITEM', label: 'Copy', qualifier: 'Item' }
]
}
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@ObjectModel: { readOnly: true }
key PurchaseOrderItemTP.PurchaseOrderItem,
@UI: {
identification: [{position: 5, qualifier: 'Item'}],
hidden: true,
lineItem: [ {position: 05, importance: #HIGH, qualifier: 'Item'} ]
}
@ObjectModel: { readOnly: true }
@Feature: 'SW:MM_PUR_SRVCPROC_SFWS_ITM_HIER'
PurchaseOrderItemTP.PurgConfigurableItemNumber,
@ObjectModel: { readOnly: true }
PurchaseOrderItemUniqueID,
@UI.hidden: true
PurchaseOrderItemTP.PurchaseOrderItemCategory,
@UI.hidden: true
@Feature: 'SW:MM_PUR_SRVCPROC_SFWS_ITM_HIER'
PurchaseOrderItemTP.PurgDocAggrgdSubitemCategory,
@UI.hidden: true
@Feature: 'SW:MM_PUR_SRVCPROC_SFWS_ITM_HIER'
PurchaseOrderItemTP.PurchasingParentItem,
@UI.hidden: true
@Feature: 'SW:MM_PUR_SRVCPROC_SFWS_ITM_HIER'
PurchaseOrderItemTP.PurgDocSubitemCategory,
@UI.hidden: true
@Feature: 'SW:MM_PUR_SRVCPROC_SFWS_ITM_HIER'
PurchaseOrderItemTP.IsStatisticalItem,
@UI.hidden: true
PurchaseOrderItemTP.PurgExternalSortNumber,
@UI.hidden: true
@EndUserText.label: 'Item Set'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@Feature: 'SW:MM_PUR_SRVCPROC_SFWS_ITM_HIER'
PurchaseOrderItemTP.PurchasingIsItemSet,
@UI: {
identification: [{position: 20, qualifier: 'HierItem'}],
lineItem: [ {position: 20, importance: #HIGH, qualifier: 'HierItem'}],
textArrangement: #TEXT_FIRST
}
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.text.element: ['PurOrdItemCategoryName']
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurOrdHierItmCatValueHelp', element : 'PurOrdExtHierItemCategory' } }]
PurchaseOrderItemTP.PurOrdExternalItemCategory as PurOrdExtHierItemCategory,
@UI: {
identification: [{position: 20, qualifier: 'Item'}],
lineItem: [ {position: 20, importance: #HIGH, qualifier: 'Item'}],
textArrangement: #TEXT_FIRST
}
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.text.element: ['PurOrdItemCategoryName']
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurOrdItmCatValHelp', element : 'PurgDocExternalItemCategory' } }]
PurchaseOrderItemTP.PurOrdExternalItemCategory,
@UI.hidden: true
PurchaseOrderItemTP.PurOrdItemCategoryName,
@UI.hidden: true
PurchaseOrderItemTP.Material,
@UI: {
identification: {position: 40, qualifier: 'Item'},
lineItem: [ {position: 40, importance: #HIGH, qualifier: 'Item'}]
}
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialValueHelp', element : 'Material' }, additionalBinding: [{ element: 'Plant', localElement: 'Plant' }] }]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION', foreignKey.association: '_MaterialValueHelp' }
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
PurchaseOrderItemTP.ManufacturerMaterial,
@UI: {
identification: {position: 30, qualifier: 'LimitItem'},
lineItem: [ {position: 30, importance: #HIGH, qualifier: 'LimitItem'} ]
}
@Semantics: { amount.currencyCode: 'DocumentCurrency' }
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
PurchaseOrderItemTP.ExpectedOverallLimitAmount,
@UI: {
identification: {position: 40, qualifier: 'LimitItem'},
lineItem: [ {position: 40, importance: #HIGH, qualifier: 'LimitItem'} ]
}
@Semantics: { amount.currencyCode: 'DocumentCurrency' }
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
PurchaseOrderItemTP.OverallLimitAmount,
@UI: {
identification: [{position: 50, qualifier: 'Item'},
{position: 20, qualifier: 'LimitItem'}],
lineItem: [ {position: 50, importance: #HIGH, qualifier: 'Item'},
{position: 20, importance: #HIGH, qualifier: 'LimitItem'} ]
}
@Semantics: { text: true }
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
PurchaseOrderItemTP.PurchaseOrderItemText,
@UI: {
identification: [{position: 60, qualifier: 'Item'},
{position: 80, qualifier: 'LimitItem'}],
lineItem:[{position: 60, importance: #HIGH, qualifier: 'Item'}]
}
@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: 70, qualifier: 'Item'},
{position: 70, qualifier: 'LimitItem'}],
lineItem: [ {position: 70, importance: #HIGH, qualifier: 'Item'},
{position: 90, importance: #HIGH, qualifier: 'LimitItem'} ]
}
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_PlantValueHelp', element : 'Plant' }, additionalBinding: [{ element: 'PurchasingOrganization', localElement: 'PurchasingOrganization' }] }]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION', foreignKey.association: '_PlantValueHelp'}
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
PurchaseOrderItemTP.Plant,
@UI: {
identification: {position: 80, qualifier: 'Item'},
lineItem: [ {position: 80, importance: #HIGH, qualifier: 'Item'} ]
}
@Semantics: { quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit' }
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
PurchaseOrderItemTP.OrderQuantity,
@UI: {
identification: {position: 90, qualifier: 'Item'},
lineItem: [ {position: 90, importance: #HIGH, qualifier: 'Item'}]
}
@Semantics: { amount.currencyCode: 'DocumentCurrency' }
@ObjectModel: {
readOnly: 'EXTERNAL_CALCULATION'
// virtualElement,
// virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
PurchaseOrderItemTP.NetPriceAmount,
@UI: {
identification: {position: 100, qualifier: 'Item'},
lineItem: [ {position: 100, importance: #HIGH, qualifier: 'Item'} ]
}
@Semantics: { quantity.unitOfMeasure: 'OrderPriceUnit' }
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
PurchaseOrderItemTP.NetPriceQuantity,
@UI: {
identification: {position: 110, qualifier: 'Item'},
lineItem: [ {position: 110, importance: #HIGH, qualifier: 'Item'} ]
}
@Semantics: { amount.currencyCode: 'DocumentCurrency' }
@ObjectModel: {
readOnly: 'EXTERNAL_CALCULATION'
}
PurchaseOrderItemTP.NetAmount,
@UI: {
identification: {position: 120, qualifier: 'Item'}
}
@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,
@UI: {
identification: [{position: 130, qualifier: 'Item'},
{position: 60, qualifier: 'LimitItem'}],
lineItem: [{position: 80, importance: #HIGH, qualifier: 'LimitItem'}],
textArrangement: #TEXT_FIRST
}
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_ProductTypeValueHelp', element : 'ProductType' } }]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
PurchaseOrderItemTP.ProductType,
@ObjectModel: { readOnly: true }
PurchaseOrderItemTP.ProductTypeName,
@ObjectModel: { readOnly: true }
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
cast ( '' as mmpur_cust_multi_address ) as BPCustMultiAddrIsActive,
@UI.hidden: true
@ObjectModel: { readOnly: true }
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
cast ( '' as mmpur_cust_multi_address ) as BPCustMultiAddrIsNotActive,
// PurchasingDeliveryAddressType,
@UI: {
//identification: {position: 140, qualifier: 'Item'},
fieldGroup: [{ position: 20, qualifier: 'DeliveryAddress4' }]
}
@Consumption.valueHelpDefinition:
[{ qualifier: 'CustomerVH',
entity: { name : 'I_Customer_VH', element : 'Customer' },
enabled: 'BPCustMultiAddrIsNotActive'}
,
{
qualifier: 'CustomerBPShipToAddrVH',
entity: { name : 'C_PurgCustomerBPShipToAddrVH', element : 'Customer'}, additionalBinding: [{ element: 'AddressID', localElement: 'ReferenceDeliveryAddressID', usage: #RESULT }],
enabled: 'BPCustMultiAddrIsActive'}
]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
PurchaseOrderItemTP.Customer,
@UI: {
//identification: {position: 150, qualifier: 'Item'},
fieldGroup: [{ position: 30, qualifier: 'DeliveryAddress4' }]
}
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingDeliveryAddressVH', element : 'AddressID' }}]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
PurchaseOrderItemTP.ReferenceDeliveryAddressID,
@Consumption.hidden: true
PurchaseOrderItemTP.ManualDeliveryAddressID,
@ObjectModel.readOnly: true
PurchaseOrderItemTP.PurchasingDocumentDeletionCode,
@Consumption.hidden: true
@ObjectModel.readOnly: true
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 }
PurchaseOrderItemTP.DocumentCurrency,
@Semantics: { unitOfMeasure: true }
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION', foreignKey.association: '_OrderPriceUnit'}
PurchaseOrderItemTP.OrderPriceUnit,
@Semantics: { unitOfMeasure: true }
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION', foreignKey.association: '_OrderQuantityUnit'}
cast (PurchaseOrderItemTP.PurchaseOrderQuantityUnit as bstme_ll preserving type) as PurchaseOrderQuantityUnit,
//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,
----------------------------------------------------------------------------------------
-- FieldGroup: Process Flow --
----------------------------------------------------------------------------------------
@UI.fieldGroup: [ { groupLabel: 'Process Flow', position: 10, qualifier: 'ProcessFlowGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
cast (PurchaseOrderItemTP.GoodsReceiptIsExpected as wepos_ll preserving type) as GoodsReceiptIsExpected,
@UI.fieldGroup: [ { position: 20, qualifier: 'ProcessFlowGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
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'}
PurchaseOrderItemTP.EvaldRcptSettlmtIsAllowed,
@UI.fieldGroup: [ { position: 40, qualifier: 'ProcessFlowGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
cast (PurchaseOrderItemTP.InvoiceIsExpected as repos_ll preserving type) as InvoiceIsExpected,
@UI.fieldGroup: [ { position: 50, qualifier: 'ProcessFlowGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
cast(PurchaseOrderItemTP.InvoiceIsGoodsReceiptBased as webre_ll preserving type) as InvoiceIsGoodsReceiptBased,
@UI.fieldGroup: [ { position: 60, qualifier: 'ProcessFlowGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
PurchaseOrderItemTP.IsCompletelyDelivered,
@UI.fieldGroup: [ { position: 70, qualifier: 'ProcessFlowGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
PurchaseOrderItemTP.IsFinallyInvoiced,
@Feature: 'MM_PUR_SVC_SES_EDIT_PRICING'
@UI.fieldGroup: [ { position: 80, qualifier: 'ProcessFlowGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
PurchaseOrderItemTP.PriceChangeInSESIsAllowed,
----------------------------------------------------------------------------------------
-- FieldGroup: Delivery --
----------------------------------------------------------------------------------------
@UI.fieldGroup: [ { position: 30, qualifier: 'DeliveryGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
cast (PurchaseOrderItemTP.OverdelivTolrtdLmtRatioInPct as uebto_ll preserving type) as OverdelivTolrtdLmtRatioInPct,
@UI.fieldGroup: [ { position: 40, qualifier: 'DeliveryGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
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'
cast (PurchaseOrderItemTP.UnlimitedOverdeliveryIsAllowed as uebtk preserving type) as UnlimitedOverdeliveryIsAllowed,
@UI.fieldGroup: [ { position: 60, qualifier: 'DeliveryGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
@EndUserText.label: 'Acceptance at Origin'
PurchaseOrderItemTP.IsToBeAcceptedAtOrigin,
@UI.fieldGroup: [ { position: 70, qualifier: 'DeliveryGroup' } ]
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_StorLocValueHelp', element : 'StorageLocation' }, additionalBinding: [{ element: 'Plant', localElement: 'Plant' }] }]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
PurchaseOrderItemTP.StorageLocation,
@UI.fieldGroup: [ { position: 80, qualifier: 'DeliveryGroup' } ]
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurOrdIntrastatSrvcCodeVH', element : 'IntrastatServiceCode' }, additionalBinding: [{ element: 'Country', localElement: 'Country' }] }]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
cast (PurchaseOrderItemTP.IntrastatServiceCode as mm_isvco_ll preserving type) as IntrastatServiceCode,
@UI.fieldGroup: [ { position: 90, 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'
}
PurchaseOrderItemTP.CommodityCode,
@UI.fieldGroup: [ { position: 90, qualifier: 'DeliveryGroup' } ]
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_ShippingInstruction', element : 'ShippingInstruction' } }]
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ShippingInstruction,
----------------------------------------------------------------------------------------
-- FieldGroup: Incoterms --
----------------------------------------------------------------------------------------
@UI.fieldGroup: [ { groupLabel: 'Incoterms', position: 10, qualifier: 'IncotermsGroup' } ]
@ObjectModel: { foreignKey.association: '_IncotermsVersion', readOnly: true }
PurchaseOrderItemTP.IncotermsVersion,
@UI.fieldGroup: [ { position: 20, qualifier: 'IncotermsGroup' } ]
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_IncotermValueHelp', element : 'IncotermsClassification' }}]
@ObjectModel: {readOnly: 'EXTERNAL_CALCULATION'}
PurchaseOrderItemTP.IncotermsClassification,
@UI.fieldGroup: [ { position: 30, importance: #HIGH, qualifier: 'IncotermsGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{entity: {name: 'I_TransportationLocationVH', element: 'Location'} }]
@UI.textArrangement: #TEXT_FIRST
PurchaseOrderItemTP.IncotermsLocation1Identifier,
@UI.hidden: true
PurchaseOrderItemTP.IncotermsSupChnLoc1AddlUUID,
@UI.fieldGroup: [ { position: 40, qualifier: 'IncotermsGroup'} ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
PurchaseOrderItemTP.IncotermsLocation1,
@UI.fieldGroup: [ { position: 50, importance: #HIGH, qualifier: 'IncotermsGroup'} ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{entity: {name: 'I_TransportationLocationVH', element: 'Location'} }]
@UI.textArrangement: #TEXT_FIRST
PurchaseOrderItemTP.IncotermsDvtgLocIdentifier,
@UI.hidden: true
PurchaseOrderItemTP.IncotermsSupChnDvtgLocAddlUUID,
@UI.fieldGroup: [ { groupLabel: 'Delivery and Invoice 2', qualifier: 'IncotermsGroup', position: 60 } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
PurchaseOrderItemTP.IncotermsDvtgLocDescription,
@UI.fieldGroup: [ { position: 70, importance: #HIGH, qualifier: 'IncotermsGroup'} ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{entity: {name: 'I_TransportationLocationVH', element: 'Location'} }]
@UI.textArrangement: #TEXT_FIRST
PurchaseOrderItemTP.IncotermsLocation2Identifier,
@UI.hidden: true
PurchaseOrderItemTP.IncotermsSupChnLoc2AddlUUID,
@UI.fieldGroup: [ { position: 80, qualifier: 'IncotermsGroup'} ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
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' }
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' }
cast (PurchaseOrderItemTP.PurchaseContract as konnr_ll preserving type) as PurchaseContract,
@UI: {
fieldGroup: [{ groupLabel: 'SourceOfSupply', position: 10, qualifier: 'SourceOfSupplyGroup' }],
lineItem: [ {position: 50, importance: #HIGH, qualifier: 'LimitItem'} ]
}
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchaseContractValHelp', element : 'PurchaseContract' } }]
PurchaseOrderItemTP.PurContractForOverallLimit,
@UI: { fieldGroup: [{ groupLabel: 'SourceOfSupply', position: 20, qualifier: 'SourceOfSupplyGroup' }],
lineItem: [ {position: 60, importance: #HIGH, qualifier: 'LimitItem'} ] }
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
@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' }
cast (PurchaseOrderItemTP.PurchaseContractItem as ktpnr_ll preserving type) as PurchaseContractItem,
@UI.fieldGroup: [ { position: 40, qualifier: 'SourceOfSupplyGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
@EndUserText.label: ' '
PurchaseOrderItemTP.InfoRecordIsToBeUpdated,
----------------------------------------------------------------------------------------
-- FieldGroup: Accounting (will be part of reuse) --
----------------------------------------------------------------------------------------
@UI: {
identification: [{position: 300, qualifier: 'Item'},
{position: 50, qualifier: 'LimitItem'}],
lineItem: {position: 70, importance: #HIGH, qualifier: 'LimitItem'},
textArrangement: #TEXT_FIRST
}
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurOrdActACatValHelp', element : 'AccountAssignmentCategory' } }]
@ObjectModel: { readOnly:'EXTERNAL_CALCULATION', text.association: '_PurOrdActACatValHelp'}
cast (PurchaseOrderItemTP.AccountAssignmentCategory as knttp_ll preserving type) as AccountAssignmentCategory,
----------------------------------------------------------------------------------------
-- FieldGroup: Public Sector Management (PSM) Accounting --
----------------------------------------------------------------------------------------
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_MM_CostCenterValueHelp' } }]
PurchaseOrderItemTP.CostCenter,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_MM_GLAccountVH', element: 'GLAccount' } }]
PurchaseOrderItemTP.GLAccount,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name: 'C_PurOrdWBSValHelp' } }]
PurchaseOrderItemTP.WBSElementExternalID,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'true' }
PurchaseOrderItemTP.WBSDescription,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_FUNDSTDVH', element: 'Fund' } }]
PurchaseOrderItemTP.Fund,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_BUDGETPERIODSTDVH', element: 'BudgetPeriod' } }]
PurchaseOrderItemTP.BudgetPeriod,
@Feature: 'PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_FUNDSCENTERSTDVH', element: 'FundsCenter' } }]
PurchaseOrderItemTP.FundsCenter,
@Feature: 'PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_COMMITMENTITEMSTDVH', element: 'CommitmentItem' } }]
PurchaseOrderItemTP.CommitmentItem,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption: { valueHelpDefinition: [{ entity: { name : 'I_EmrkdFndsDocumentItemStdVH', element: 'EarmarkedFundsDocument' } }],
hidden: true }
PurchaseOrderItemTP.EarmarkedFunds, // deprecated, use EarmarkedFundsDocument
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_EmrkdFndsDocumentItemStdVH', element: 'EarmarkedFundsDocument' } }]
cast ( EarmarkedFundsDocument as fmis_earmarkedfundsdoc preserving type ) as EarmarkedFundsDocument,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption: { valueHelpDefinition: [{ entity: { name : 'I_EmrkdFndsDocumentItemStdVH', element: 'EarmarkedFundsDocumentItem' } }],
hidden: true }
PurchaseOrderItemTP.EarmarkedFundsItem, // deprecated, use EarmarkedFundsDocumentItem
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_EmrkdFndsDocumentItemStdVH', element: 'EarmarkedFundsDocumentItem' } }]
cast ( EarmarkedFundsDocumentItem as fmis_earmarkedfundsdocitem preserving type ) as EarmarkedFundsDocumentItem,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_FNDSMGMTFUNCNLAREASTDVH', element: 'FunctionalArea' } }]
PurchaseOrderItemTP.FunctionalArea,
@Feature: 'BF:PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_GRANTSTDVH', element: 'GrantID' } }]
PurchaseOrderItemTP.GrantID,
@Feature: 'PSMOP_BUDGET_ACCOUNTING_CONTRO'
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
cast ('' as fm_measure) as FundedProgram,
----------------------------------------------------------------------------------------
-- FieldGroup: Tax --
----------------------------------------------------------------------------------------
@UI.fieldGroup: [ { groupLabel: 'Tax', position: 10, qualifier: 'TaxGroup' } ]
@ObjectModel: { foreignKey.association: '_TaxCode', readOnly: 'EXTERNAL_CALCULATION' }
TaxCode,
@UI.fieldGroup: [ { position: 20, qualifier: 'TaxGroup' } ]
@ObjectModel: { foreignKey.association: '_TaxJurisdiction', readOnly: 'EXTERNAL_CALCULATION'}
@Consumption.valueHelp: '_PurOrdTaxJurisdictionValHelp'
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' }] }]
TaxCountry,
@UI.fieldGroup: [ { groupLabel: 'Tax', position: 40, qualifier: 'TaxGroup' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
TaxDeterminationDate,
//Brazil Extension
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
@Consumption.valueHelpDefinition: [{ entity: { name : 'C_BR_MaterialOriginValHelp', element : 'BR_MaterialOrigin' } }]
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' } }]
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' } }]
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' } }]
PurchaseOrderItemTP.BR_NCM as BR_NCM, //Implicit Conversion from 16 to 10 Characters, CAST PRESERVING TYPE not allowed
@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' } }]
PurchaseOrderItemTP.IN_GSTControlCode as IN_GSTControlCode,
----------------------------------------------------------------------------------------
-- FieldGroup: Confirmation --
----------------------------------------------------------------------------------------
@UI.fieldGroup: [ { position: 200, qualifier: 'SupplierConfirmations' } ]
@ObjectModel: { foreignKey.association: '_SupplierConfControlKey', readOnly: 'EXTERNAL_CALCULATION'}
@Consumption.valueHelp: '_SupplierConfControlKey'
@ObjectModel.text.element: [ 'SupplierConfControlKeyName' ]
@UI.textArrangement: #TEXT_FIRST
PurchaseOrderItemTP.SupplierConfirmationControlKey,
@ObjectModel.readOnly
@UI.hidden: true
_SupplierConfControlKey._Text.SupplierConfControlKeyName,
@UI.fieldGroup: [ { position: 220, qualifier: 'SupplierConfirmations' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
PurgDocOrderAcknNumber,
@UI.fieldGroup: [ { position: 230, qualifier: 'SupplierConfirmations' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
cast(IsOrderAcknRqd as kzabs_ll preserving type ) as IsOrderAcknRqd,
@UI.fieldGroup: [ { position: 240, qualifier: 'SupplierConfirmations' } ]
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION'}
ItemIsRejectedBySupplier,
----------------------------------------------------------------------------------------
-- FieldGroup: Delivery Address --
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
-- Header-Fields needed for Associations --
----------------------------------------------------------------------------------------
@ObjectModel: { readOnly: true }
@UI.lineItem: [ { exclude: true } ]
@UI.hidden: true
_PurchaseOrderTP.PurchasingOrganization,
@ObjectModel: { readOnly: true }
@UI.lineItem: [ { exclude: true } ]
@UI.hidden: false
_PurchaseOrderTP.Supplier,
@ObjectModel: { readOnly: true, foreignKey.association: '_TaxCalculationProcedure' }
@UI.hidden: true
_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
PurgProductMarketabilityStatus,
@ObjectModel.readOnly: true
@UI.hidden: true
_POItemProdCmplncCriticality.UICT_PurgProdCmplncSupplierSts,
@ObjectModel: { readOnly: true }
@UI.fieldGroup: [ { groupLabel: 'Product Compliance', position: 20, qualifier: 'ProductCompliance'
,criticality: 'UICT_PurgProdMarketabilitySts', criticalityRepresentation: #WITHOUT_ICON
} ]
_PurgProductMarketabilityStsT.PurgProdMarketabilityStsName,
@UI.hidden: true
PurgSafetyDataSheetStatus,
@ObjectModel.readOnly: true
@UI.hidden: true
_POItemProdCmplncCriticality.UICT_PurgProdMarketabilitySts,
@ObjectModel: { readOnly: true }
@UI.fieldGroup: [ { groupLabel: 'Product Compliance', position: 40, qualifier: 'ProductCompliance'
,criticality: 'UICT_PurgSafetyDataSheetStatus', criticalityRepresentation: #WITHOUT_ICON
} ]
_PurgSafetyDataSheetStatusT.PurgSafetyDataSheetStatusName,
@ObjectModel.readOnly: true
@UI.hidden: true
_POItemProdCmplncCriticality.UICT_PurgSafetyDataSheetStatus,
@ObjectModel: { readOnly: true }
@UI.fieldGroup: [ { groupLabel: 'Product Compliance', position: 30, qualifier: 'ProductCompliance'
,criticality: 'UICT_PurgCmplncDngrsGoodsSts', criticalityRepresentation: #WITHOUT_ICON
} ]
_PurgProdCmplncDngrsGoodsStsT.PurgProdCmplncDngrsGdsStsName,
@UI.hidden: true
PurgProdCmplncDngrsGoodsStatus,
@ObjectModel.readOnly: true
@UI.hidden: true
_POItemProdCmplncCriticality.UICT_PurgCmplncDngrsGoodsSts,
// @ObjectModel: {
// readOnly: true,
// virtualElement,
// virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
// }
// @UI.hidden: true
// cast ('' as boolean) as BusSrvcProcmtItmHierEnbld,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
@UI.hidden: true
cast ('' as boolean) as ProductComplianceIsActive,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
@UI.hidden: true
cast ('' as ehfnd_bf_pcs_is_active) as BusFtreProdCmplncSuplrIsActive,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
@UI.hidden: true
cast ('' as ehfnd_bf_pma_is_active) as BusFtreProdMarketabilityIsActv,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
@UI.hidden: true
cast ('' as ehfnd_bf_dg_is_active) as BusFtreDngrsGoodsIsActive,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
@UI.hidden: true
cast ('' as ehfnd_bf_sds_is_active) as BusFtreSftyDataShtMgmtIsActive,
@ObjectModel: { readOnly:'EXTERNAL_CALCULATION' }
@Consumption.valueHelpDefinition: [{ entity: { name : 'I_BatchVH', element : 'Batch' } }]
PurchaseOrderItemTP.Batch,
@ObjectModel: { readOnly:'EXTERNAL_CALCULATION' }
PurchaseOrderItemTP.BatchBySupplier,
----------------------------------------------------------------------------------------
-- Unused fields --
----------------------------------------------------------------------------------------
@Consumption.hidden: true
PurchaseOrderItemTP.SupplierMaterialNumber,
@Consumption.hidden: true
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,
@UI.hidden: true
PurchaseOrderItemTP.IsInfoRecordUpdated,
@ObjectModel: { readOnly: true }
PurchaseOrderItemTP.PurchaseRequisition,
@ObjectModel: { readOnly: true }
PurchaseOrderItemTP.PurchaseRequisitionItem,
----------------------------------------------------------------------------------------
-- Transient fields --
----------------------------------------------------------------------------------------
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
@UI.hidden: true
cast ('' as boolean) as AccountAssignmentIsAddable,
@ObjectModel: { readOnly: 'EXTERNAL_CALCULATION' }
PurchaseOrderItemTP.POItmAcctAssgmtFieldsAreEnbld,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
@UI.hidden: true
cast ('' as boolean) as ScheduleLineIsAddable,
@ObjectModel: {
readOnly: true
}
@UI.hidden: true
PurchaseOrderItemTP.HighestMessageSeverityLevel,
@ObjectModel: {
readOnly: true,
virtualElement,
virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
}
@UI.hidden: true
cast ('' as boolean) as PurOrdAcctAssgmtFacetIsVisible,
----------------------------------------------------------------------------------------
-- Fields from delivery address needed for association to ValueHelp for TaxJurisdictionCode --
----------------------------------------------------------------------------------------
@ObjectModel: {
readOnly: true
}
@UI.hidden: true
_PurOrdDeliveryAddressTP.Region as Region,
@ObjectModel: {
readOnly: true
}
@UI.hidden: true
_PurOrdDeliveryAddressTP.RegionName as RegionName,
@ObjectModel: {
readOnly: true
}
@UI.hidden: true
_PurOrdDeliveryAddressTP.PostalCode as PostalCode,
@ObjectModel: {
readOnly: true
}
@UI.hidden: true
_PurOrdDeliveryAddressTP.CityName as CityName,
//Foot Print Intigration
// @Feature: 'BF:PFM_PROCESSINTEGRATION'
// PFMTransDataFootprintUUID,
// @ObjectModel.readOnly: true
// @Semantics.quantity.unitOfMeasure: 'PFMFootprintUnit'
// @UI: {
// dataPoint: {targetValueElement: 'PFMFootprintQuantity' , valueFormat.numberOfFractionalDigits: 3}
// }
// @EndUserText.label: 'CO2e Footprint'
// @Feature: 'BF:PFM_PROCESSINTEGRATION'
// @UI.hidden: false
// _PurOrdItemCO2eqFootprint.PFMFootprintQuantity,
//
// @ObjectModel.readOnly: true
// @Semantics.unitOfMeasure: true
// @Feature: 'BF:PFM_PROCESSINTEGRATION'
// @UI.hidden: false
// _PurOrdItemCO2eqFootprint.PFMFootprintUnit,
----------------------------------------------------------------------------------------
-- Associations --
----------------------------------------------------------------------------------------
@ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
_PurchaseOrderTP,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_PurOrdScheduleLineTP,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_PurOrdAcctAssignmentTP,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_PurOrdPricingElementTP,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_PurOrdDeliveryAddressTP,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_PurchaseOrderItemNoteTP,
//@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_PurOrdSupplierConfirmation,
@Consumption.filter.hidden: true
PurchaseOrderItemTP._IncotermsVersion,
@Consumption.hidden: true
PurchaseOrderItemTP._PurchasingInfoRecord,
@Consumption.hidden: true
PurchaseOrderItemTP._PurchaseContractItem,
PurchaseOrderItemTP._IncotermsClassification,
PurchaseOrderItemTP._OrderPriceUnit,
PurchaseOrderItemTP._OrderQuantityUnit,
PurchaseOrderItemTP._ProductType,
PurchaseOrderItemTP._BR_MaterialOrigin,
PurchaseOrderItemTP._BR_MaterialUsage,
PurchaseOrderItemTP._BR_CFOPCategory,
PurchaseOrderItemTP._BR_NCM,
@ObjectModel.readOnly
@Consumption.filter.hidden: true
_POItemProdCmplncCriticality,
_TaxCode,
_TaxJurisdiction,
_TaxCalculationProcedure,
_CnsmptnTaxCntrlCode,
_SupplierConfControlKey,
_POItemAlternateSuplrSit,
_MaterialValueHelp,
_MaterialGroupValueHelp,
_PlantValueHelp,
_PurOrdActACatValHelp,
_PurOrdTaxJurisdictionValHelp,
_BatchVH,
_PurchaseOrderItemSet,
// _PurOrdItemCO2eqFootprint,
_MM_ServicePerformerValueHelp
}