C_PurchaseOrderItemMassUpdate

DDL: C_PURCHASEORDERITEMMASSUPDATE SQL: CPOITMMASSUPDATE Type: view CONSUMPTION

Mass Changes to Purchase Orders

C_PurchaseOrderItemMassUpdate is a Consumption CDS View that provides data about "Mass Changes to Purchase Orders" in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrderItem) and exposes 126 fields with key fields PurchaseOrder, PurchaseOrderItem. It has 8 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_PurchaseOrderItem I_PurchaseOrderItem from

Associations (8)

CardinalityTargetAliasCondition
[1..1] I_PurchaseOrderStatusText _PurchaseOrderStatus $projection.PurchaseOrder = _PurchaseOrderStatus.PurchaseOrder
[1..*] C_POMassUpdtDelivSchedItm _ScheduleLine $projection.PurchaseOrder = _ScheduleLine.PurchaseOrder and $projection.PurchaseOrderItem = _ScheduleLine.PurchaseOrderItem
[1..1] I_PurgDocDeletionIndicator _DeltnIndVH $projection.PurchasingDocumentDeletionCode = _DeltnIndVH.PurchasingContractDeletionCode
[1..1] C_MassUpdtConfCtrlVH _ConfirmationControlVH $projection.SupplierConfirmationControlKey = _ConfirmationControlVH.SupplierConfirmationControlKey
[1..1] I_ProcmtPricingDateControl _PricingDateControl $projection.PricingDateControl = _PricingDateControl.PricingDateControl
[1..1] I_AcctAssgmtDistrIndicator _DistributionIndicator $projection.MultipleAcctAssgmtDistribution = _DistributionIndicator.MultipleAcctAssgmtDistribution
[0..1] C_MM_MaterialValueHelp _MaterialVH _MaterialVH.Material = $projection.Material and _MaterialVH.Plant = $projection.Plant
[0..1] C_PurchasingOrgValueHelp _PurchasingOrganizationVH $projection.PurchasingOrganization = _PurchasingOrganizationVH.PurchasingOrganization

Annotations (15)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName CPOITMMASSUPDATE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Mass Changes to Purchase Orders view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
VDM.viewType #CONSUMPTION view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
Metadata.ignorePropagatedAnnotations true view
UI.headerInfo.typeName Purchase Order Item view
UI.headerInfo.typeNamePlural Purchase Order Items view

Fields (126)

KeyFieldSource TableSource FieldDescription
KEY PurchaseOrder PurchaseOrder Purchase Order
KEY PurchaseOrderItem PurchaseOrderItem Item
FormattedPurchaseOrderItem
PurchaseOrderItemText PurchaseOrderItemText
MaterialGroup MaterialGroup
MaterialGroupName
Material Material
MaterialName
Supplier _PurchaseOrder Supplier
SupplierName
AccountAssignmentCategory AccountAssignmentCategory Account Assignment Category
ScheduleLineDeliveryDate Delivery Date
NumberOfScheduleLines Number of Schedule Lines
ScheduleLineOrderQuantity
PurchaseOrderQuantityUnit
PerformancePeriodStartDate Start of Performance Period
PerformancePeriodEndDate End of Performance Period
StorageLocation StorageLocation
StorageLocationName _StorageLocation StorageLocationName
Plant Plant
PlantName _Plant PlantName
PurchasingDocumentStatus _PurchaseOrderStatus PurchasingDocumentStatus Order Status
PurchasingDocumentStatusName _PurchaseOrderStatus PurchasingDocumentStatusName
CompanyCode _PurchaseOrder CompanyCode
CompanyCodeName
PurchasingOrganization _PurchaseOrder PurchasingOrganization Purchasing Organization
PurchasingOrganizationName
PurchasingGroup _PurchaseOrder PurchasingGroup
PurchasingGroupName
PurchaseOrderDate _PurchaseOrder PurchaseOrderDate Order Date
PurchaseOrderItemCategory PurchaseOrderItemCategory
PurgDocExternalItemCategory Item Category
PurgDocItemCategoryName
PurchaseOrderType _PurchaseOrder PurchaseOrderType Order Type
PurchasingDocumentTypeName
ProductType ProductType Product Type Group
Name
PaymentTerms _PurchaseOrder PaymentTerms Terms of Payment
PaymentTermsName
IncotermsClassification _PurchaseOrder IncotermsClassification Incoterms Information (Header Level)
IncotermsClassificationName
InvoicingParty _PurchaseOrder InvoicingParty
InvoicingPartyName
ManufacturerMaterial ManufacturerMaterial
ManufacturerName
MultipleAcctAssgmtDistribution MultipleAcctAssgmtDistribution Distribution Indicator
DistributionKeyText
PartialInvoiceDistribution PartialInvoiceDistribution Partial Invoice
ProfitCenter ProfitCenter
BaseUnit BaseUnit Base Unit
ItemWeightUnit ItemWeightUnit Unit of Weight
WeightUnit ItemWeightUnit
SupplierConfirmationControlKey SupplierConfirmationControlKey Confirmation Control Key
SupplierConfControlKeyName _ConfirmationControlVH SupplierConfControlKeyName
DocumentCurrency DocumentCurrency
UnlimitedOverdeliveryIsAllowed UnlimitedOverdeliveryIsAllowed Unlimited Overdelivery
ValuationType ValuationType Valuation Type
IsCompletelyDelivered IsCompletelyDelivered Delivery Completed
OrderPriceUnitToOrderUnitNmrtr OrderPriceUnitToOrderUnitNmrtr Numerator for OPU Conversion
OrdPriceUnitToOrderUnitDnmntr OrdPriceUnitToOrderUnitDnmntr Denominator for OPU Conversion
OrderItemQtyToBaseQtyNmrtr OrderItemQtyToBaseQtyNmrtr Numerator for OU Conversion
OrderItemQtyToBaseQtyDnmntr OrderItemQtyToBaseQtyDnmntr Denominator for OU Conversion
CashDiscount1Days _PurchaseOrder CashDiscount1Days
CashDiscount2Days _PurchaseOrder CashDiscount2Days
NetPaymentDays _PurchaseOrder NetPaymentDays
CashDiscount1Percent _PurchaseOrder CashDiscount1Percent
CashDiscount2Percent _PurchaseOrder CashDiscount2Percent
EarmarkedFundsDocument EarmarkedFundsDocument Earmarked Funds Document
EarmarkedFundsDocumentItem EarmarkedFundsDocumentItem Earmarked Funds Document Item
EffectiveAmount EffectiveAmount Effective Value
ExchangeRate _PurchaseOrder ExchangeRate Exchange Rate
IsFinallyInvoiced IsFinallyInvoiced
GoodsReceiptIsExpected GoodsReceiptIsExpected Goods Receipt
SupplyingSupplier _PurchaseOrder SupplyingSupplier
SupplierFullName
InvoiceIsExpected InvoiceIsExpected Invoice Receipt
InvoiceIsGoodsReceiptBased InvoiceIsGoodsReceiptBased Goods-Receipt-Based Invoice Verification
ItemIncotermsClassification IncotermsClassification Incoterms (Item)
HeaderIncotermsLoc1 _PurchaseOrder IncotermsLocation1 Incoterm Location 1 (Header)
HeaderIncotermsLoc2 _PurchaseOrder IncotermsLocation2 Incoterm Location 2 (Header)
IncotermsLocation1 IncotermsLocation1 Incoterm Location 1 (Item)
IncotermsLocation2 IncotermsLocation2 Incoterm Location 2 (Item)
IncotermsVersion _PurchaseOrder IncotermsVersion
IncotermsVersionName
InternationalArticleNumber InternationalArticleNumber International Article Number (EAN/UPC)
ItemNetWeight ItemNetWeight
GoodsReceiptIsNonValuated GoodsReceiptIsNonValuated Goods Receipt, Non-Valuated
OrderPriceUnit OrderPriceUnit
OverdelivTolrtdLmtRatioInPct OverdelivTolrtdLmtRatioInPct Overdelivery Tolerance Limit
UnderdelivTolrtdLmtRatioInPct UnderdelivTolrtdLmtRatioInPct Underdelivery Tolerance Limit
EvaldRcptSettlmtIsAllowed EvaldRcptSettlmtIsAllowed Evaluated Receipt Settlement (ERS)
ServicePackage ServicePackage Package Number
NetPriceQuantity NetPriceQuantity Price Unit
PricingDateControl PricingDateControl
PricingDateControlText
PriceIsToBePrinted PriceIsToBePrinted
PurchasingInfoRecord PurchasingInfoRecord Purchasing Info Record
IsReturnsItem IsReturnsItem
SupplierRespSalesPersonName _PurchaseOrder SupplierRespSalesPersonName
ServicePerformer ServicePerformer
PersonFullName _ServicePerformer PersonFullName
SupplierMaterialNumber SupplierMaterialNumber Supplier Material Number
SupplierSubrange SupplierSubrange
TaxCode TaxCode
TaxJurisdiction TaxJurisdiction
SupplierPhoneNumber _PurchaseOrder SupplierPhoneNumber Supplier Telephone
ValidityStartDate _PurchaseOrder ValidityStartDate Validity Period Start
ValidityEndDate _PurchaseOrder ValidityEndDate Validity Period End
ItemVolume ItemVolume
ItemVolumeUnit ItemVolumeUnit
VolumeUnit ItemVolumeUnit
PurchasingDocumentDeletionCode PurchasingDocumentDeletionCode Item Deletion Indicator
PurDocDeletionCodeName
ReleaseDateTime
InternalComment
PurchasingDocInclusionList
PurchasingDocExclusionList
PurOrdItemsAreSelected
PurOrdHeadersAreSelected
PurgDocMassUpdtIsSimulated
_PurchaseOrder _PurchaseOrder
_ScheduleLine _ScheduleLine
ErrorFlagIsSet
WarningFlagIsSet
_PricingDateControl _PricingDateControl
_DeltnIndVH _DeltnIndVH
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'CPOITMMASSUPDATE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Mass Changes to Purchase Orders'
@ObjectModel.createEnabled: true
@ObjectModel.updateEnabled: true
@VDM.viewType: #CONSUMPTION
@AccessControl.personalData.blocking:  #BLOCKED_DATA_EXCLUDED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.semanticKey: ['PurchaseOrder', 'PurchaseOrderItem', 'FormattedPurchaseOrderItem']
@Metadata.ignorePropagatedAnnotations: true
@UI.headerInfo:{
typeName: 'Purchase Order Item', 
typeNamePlural: 'Purchase Order Items'
}

define view C_PurchaseOrderItemMassUpdate
  as select from I_PurchaseOrderItem

  association [1..1] to I_PurchaseOrderStatusText  as _PurchaseOrderStatus      on  $projection.PurchaseOrder = _PurchaseOrderStatus.PurchaseOrder

  association [1..*] to C_POMassUpdtDelivSchedItm  as _ScheduleLine             on  $projection.PurchaseOrder     = _ScheduleLine.PurchaseOrder
                                                                                and $projection.PurchaseOrderItem = _ScheduleLine.PurchaseOrderItem

  association [1..1] to I_PurgDocDeletionIndicator as _DeltnIndVH               on  $projection.PurchasingDocumentDeletionCode = _DeltnIndVH.PurchasingContractDeletionCode

  association [1..1] to C_MassUpdtConfCtrlVH       as _ConfirmationControlVH    on  $projection.SupplierConfirmationControlKey = _ConfirmationControlVH.SupplierConfirmationControlKey

  association [1..1] to I_ProcmtPricingDateControl as _PricingDateControl       on  $projection.PricingDateControl = _PricingDateControl.PricingDateControl

  association [1..1] to I_AcctAssgmtDistrIndicator as _DistributionIndicator    on  $projection.MultipleAcctAssgmtDistribution = _DistributionIndicator.MultipleAcctAssgmtDistribution

  association [0..1] to C_MM_MaterialValueHelp     as _MaterialVH               on  _MaterialVH.Material = $projection.Material
                                                                                and _MaterialVH.Plant    = $projection.Plant

  association [0..1] to C_PurchasingOrgValueHelp   as _PurchasingOrganizationVH on  $projection.PurchasingOrganization = _PurchasingOrganizationVH.PurchasingOrganization

{
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MassUpdtPurOrdVH', element : 'PurchaseOrder' } }]
      @Consumption.semanticObject: 'PurchaseOrder'
      @ObjectModel.foreignKey.association: '_PurchaseOrder'
      @EndUserText.label: 'Purchase Order'
  key PurchaseOrder,

      @Consumption.semanticObject: 'PurchaseOrderItem'
      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Item'
  key PurchaseOrderItem,

          //Schedule Line Delivery fields

     // @ObjectModel.filter.enabled: false

     // _ScheduleLine.ScheduleLine                                                                                 as ScheduleLine,


      @UI.lineItem.position: 10
      @ObjectModel.filter.enabled: false
      @Consumption.semanticObject: 'PurchaseOrderItem'
      cast(concat(concat(PurchaseOrder, '/'), PurchaseOrderItem) as vdm_formattedpurchaseorditm preserving type) as FormattedPurchaseOrderItem,

      @UI.lineItem.position: 20
      @ObjectModel.filter.enabled: false
      @EndUserText : {label: 'Item Description', quickInfo: 'Item Description'}
      PurchaseOrderItemText,

      @UI.selectionField.position: 20
      @UI.lineItem.position: 40
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialGroupValueHelp', element : 'MaterialGroup' } }]
      @ObjectModel.text.element: 'MaterialGroupName'
      @Consumption.semanticObject: 'MaterialGroup'
      MaterialGroup,

      @UI.hidden: true
      _MaterialGroup._Text[1:Language = $session.system_language].MaterialGroupName,

      @Consumption.semanticObject: 'Material'
      @ObjectModel.text.element: 'MaterialName'
//      @ObjectModel.foreignKey.association: '_MaterialVH'

      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialValueHelp', element : 'Material' } }]
      @UI.lineItem.position: 50
      Material,
      @UI.hidden: true
      _Material._Text[1:Language = $session.system_language].MaterialName,

      @UI.selectionField.position: 10
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_SupplierValueHelp', element : 'Supplier' } }]
      @ObjectModel.text.element: 'SupplierName'
      _PurchaseOrder.Supplier,
      @UI.hidden: true
      _PurchaseOrder._Supplier.SupplierName,

      @EndUserText.label: 'Account Assignment Category'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_AccountAssignCatValueHelp', element : 'AccountAssignmentCategory' } }]
      AccountAssignmentCategory,

      @UI.selectionField.position: 70
      @Consumption: {  filter:{ selectionType: #INTERVAL, multipleSelections: false} }
      // "DO NOT REMOVE" - Required for SL Filters to work on Item Level Update in Report

      @EndUserText.label: 'Delivery Date'
      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'CL_MM_PUR_POMASS_UPDAT_FILTER'
    //  _ScheduleLine.ScheduleLineDeliveryDate,

      cast ('00000000' as eindt)                     as ScheduleLineDeliveryDate,
     
      @EndUserText.label: 'Number of Schedule Lines'
      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_POMASS_UPDAT_CALC'
      cast (0 as abap.int4)                                                                                      as NumberOfScheduleLines,

      @Semantics.quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit'
      @ObjectModel.filter.enabled: false
      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'CL_MM_PUR_POMASS_UPDAT_FILTER'
//      _ScheduleLine.ScheduleLineOrderQuantity,

      cast ('0' as etmen)                     as ScheduleLineOrderQuantity,

      @Semantics.unitOfMeasure: true
      @ObjectModel.filter.enabled: false
      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'CL_MM_PUR_POMASS_UPDAT_FILTER'
//      _ScheduleLine.PurchaseOrderQuantityUnit,

      cast ('' as bstme)                     as PurchaseOrderQuantityUnit,

      @EndUserText.label: 'Start of Performance Period'
      @Consumption: {  filter:{ selectionType: #INTERVAL, multipleSelections: false} }
      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'CL_MM_PUR_POMASS_UPDAT_FILTER'
    //  _ScheduleLine.PerformancePeriodStartDate,

      cast ('00000000' as mmpur_servproc_period_start)              as PerformancePeriodStartDate,

      @EndUserText.label: 'End of Performance Period'
      @Consumption: {  filter:{ selectionType: #INTERVAL, multipleSelections: false} }
      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'CL_MM_PUR_POMASS_UPDAT_FILTER'
      //_ScheduleLine.PerformancePeriodEndDate,

      cast ('00000000' as mmpur_servproc_period_end)               as PerformancePeriodEndDate,

      @ObjectModel.text.element: 'StorageLocationName'
      @ObjectModel.filter.enabled: false
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_StorLocValueHelp', element : 'StorageLocation' } }]
      @Consumption.semanticObject: 'StorageLocation'
      StorageLocation,
      @UI.hidden: true
      _StorageLocation.StorageLocationName,

      @UI.selectionField.position: 60
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_PlantValueHelp', element : 'Plant' } }]
      @ObjectModel.text.element: 'PlantName'
      @Consumption.semanticObject: 'Plant'
      @UI.lineItem.position: 60
      Plant,
      @UI.hidden: true
      _Plant.PlantName,

      @ObjectModel.text.element: ['PurchasingDocumentStatusName']
      @Consumption.valueHelpDefinition: [{ entity: { name : 'I_PurchaseOrderStatusValueHelp', element : 'PurchasingDocumentStatus' } }]
      @EndUserText.label: 'Order Status'
      @UI.textArrangement: #TEXT_ONLY
      _PurchaseOrderStatus.PurchasingDocumentStatus,

      @ObjectModel.filter.enabled: false
      @UI.hidden: true
      _PurchaseOrderStatus.PurchasingDocumentStatusName,

      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_CompanyCodeValueHelp', element : 'CompanyCode' } }]
      @ObjectModel.text.element: 'CompanyCodeName'
      @UI.selectionField.position: 50
      @Consumption.semanticObject: 'CompanyCode'
      _PurchaseOrder.CompanyCode,
      @UI.hidden: true
      _PurchaseOrder._CompanyCode.CompanyCodeName,

      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingOrgValueHelp', element : 'PurchasingOrganization' } }]
      @ObjectModel.text.element: 'PurchasingOrganizationName'
      @EndUserText.label: 'Purchasing Organization'
      @UI.selectionField.position: 40
      _PurchaseOrder.PurchasingOrganization                                                                      as PurchasingOrganization,
      @UI.hidden: true
      _PurchaseOrder._PurchasingOrganization.PurchasingOrganizationName,

      @ObjectModel.text.element: 'PurchasingGroupName'
      @UI.selectionField.position: 30
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingGroupValueHelp', element : 'PurchasingGroup' } }]
      _PurchaseOrder.PurchasingGroup,
      @UI.hidden: true
      _PurchaseOrder._PurchasingGroup.PurchasingGroupName,

      @Consumption: {  filter:{ selectionType: #INTERVAL, multipleSelections: false} }
      @EndUserText.label: 'Order Date'
      _PurchaseOrder.PurchaseOrderDate,

      @Consumption.valueHelpDefinition: [{entity: { name: 'C_PurDocItemCategoryValueHelp', element : 'PurchasingDocumentItemCategory'} }]
      @ObjectModel.text.element: 'PurgDocItemCategoryName'
      @UI.textArrangement: #TEXT_ONLY
      PurchaseOrderItemCategory,

      @ObjectModel.text.element: 'PurgDocItemCategoryName'
      @UI.lineItem.position: 30
      @EndUserText.label: 'Item Category'
      @Consumption.filter.hidden: true
      _PurgDocumentItemCategory._Text[1:Language = $session.system_language].PurgDocExternalItemCategory,
      @UI.hidden: true
      _PurgDocumentItemCategory._Text[1:Language = $session.system_language].PurgDocItemCategoryName,

      @EndUserText.label: 'Order Type'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_POItemOrderTypeValueHelp', element : 'PurchaseOrderType' } }]
      @ObjectModel.text.element: 'PurchasingDocumentTypeName'
      _PurchaseOrder.PurchaseOrderType,
      @ObjectModel.filter.enabled: false
      _PurchaseOrder._PurchaseOrderType._Text[1:Language = $session.system_language].PurchasingDocumentTypeName,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Net Order Value'
      @UI.lineItem.position: 70
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      cast(
      case when IsReturnsItem = 'X'
      then -1 * NetAmount
      else NetAmount
      end as vdm_netvalue)                                                                                       as NetAmount,
      //NetAmount,


      @ObjectModel.filter.enabled: false
      @ObjectModel.text.element: 'Name'
      @EndUserText.label: 'Product Type Group'
      ProductType,
      @UI.hidden: true
      _ProductType._Text[1:Language = $session.system_language].Name,

      @EndUserText.label: 'Terms of Payment'
      @ObjectModel.filter.enabled: false
      @ObjectModel.text.element: 'PaymentTermsName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_SchedAgrmtMassUpdtPaytTrmVH', element : 'PaymentTerms' } }]
      _PurchaseOrder.PaymentTerms,
      @UI.hidden: true
      _PurchaseOrder._PaymentTerms._Text[1:Language = $session.system_language].PaymentTermsName,

      @EndUserText.label: 'Incoterms Information (Header Level)'
      @ObjectModel.filter.enabled: false
      @ObjectModel.text.element: 'IncotermsClassificationName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_IncotermValueHelp', element : 'IncotermsClassification' } }]
      _PurchaseOrder.IncotermsClassification,
      @UI.hidden: true
      _PurchaseOrder._IncotermsClassification._Text[1:Language = $session.system_language].IncotermsClassificationName,

      @ObjectModel.filter.enabled: false
      @ObjectModel.text.element: 'InvoicingPartyName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_SupplierValueHelp', element : 'Supplier' } }]
      _PurchaseOrder.InvoicingParty,
      @UI.hidden: true
      _PurchaseOrder._InvoicingParty.SupplierFullName                                                            as InvoicingPartyName,

      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialValueHelp', element : 'Material' } }]
      @ObjectModel.filter.enabled: false
      //TODO: remove after testing - I066990

      //@ObjectModel.filter.enabled: true

      @Consumption.semanticObject: 'Material'
      @EndUserText: { label: 'Manufacturer Material', quickInfo: 'Manufacturer Material'}
      @ObjectModel.text.element: 'ManufacturerName'
      ManufacturerMaterial,
      @UI.hidden: true
      _ManufacturerMaterial._Text[1:Language = $session.system_language].MaterialName                            as ManufacturerName,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Distribution Indicator'
      //@ObjectModel.foreignKey.association: '_DistributionIndicator'

      //Moved from foreignKey association to Text element, to avoid duplication

      @ObjectModel.text.element: ['DistributionKeyText']
      MultipleAcctAssgmtDistribution,
      @UI.hidden: true
      _DistributionIndicator._Text[1:Language = $session.system_language].DistributionKeyText,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Partial Invoice'
      PartialInvoiceDistribution,

      @ObjectModel.filter.enabled: false
      ProfitCenter,

      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @EndUserText.label: 'Base Unit'
      @Semantics.unitOfMeasure: true
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }}]
      BaseUnit                                                                                                   as BaseUnit,

      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @EndUserText.label: 'Unit of Weight'
      @Semantics.unitOfMeasure: true
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }}]
      ItemWeightUnit                                                                                             as ItemWeightUnit,

      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      @UI.hidden: true
      @Semantics.unitOfMeasure: true
      //    @Consumption.valueHelpDefinition: [{entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }}]

      ItemWeightUnit                                                                                             as WeightUnit,

      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @EndUserText.label: 'Confirmation Control Key'
      @ObjectModel: { text.element:  [ 'SupplierConfControlKeyName' ] }
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MassUpdtConfCtrlVH', element : 'SupplierConfirmationControlKey' } }]
      SupplierConfirmationControlKey,
      @UI.hidden: true
      _ConfirmationControlVH.SupplierConfControlKeyName,

      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_CurrencyValueHelp', element : 'Currency' } }]
      DocumentCurrency,

      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @EndUserText.label: 'Unlimited Overdelivery'
      UnlimitedOverdeliveryIsAllowed,

      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @EndUserText.label: 'Valuation Type'
      ValuationType,

      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @EndUserText.label: 'Delivery Completed'
      IsCompletelyDelivered,

      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @EndUserText.label: 'Numerator for OPU Conversion'
      OrderPriceUnitToOrderUnitNmrtr,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Denominator for OPU Conversion'
      OrdPriceUnitToOrderUnitDnmntr,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Numerator for OU Conversion'
      OrderItemQtyToBaseQtyNmrtr,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Denominator for OU Conversion'
      OrderItemQtyToBaseQtyDnmntr,

      @UI.hidden: true
      _PurchaseOrder.CashDiscount1Days,

      @UI.hidden: true
      _PurchaseOrder.CashDiscount2Days,

      @UI.hidden: true
      _PurchaseOrder.NetPaymentDays,

      @UI.hidden: true
      _PurchaseOrder.CashDiscount1Percent,

      @UI.hidden: true
      _PurchaseOrder.CashDiscount2Percent,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Earmarked Funds Document'
      EarmarkedFundsDocument,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Earmarked Funds Document Item'
      EarmarkedFundsDocumentItem,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Effective Value'
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      EffectiveAmount,

      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      @EndUserText.label: 'Exchange Rate'
      _PurchaseOrder.ExchangeRate,

      @ObjectModel.filter.enabled: false
      IsFinallyInvoiced,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Goods Receipt'
      GoodsReceiptIsExpected                                                                                     as GoodsReceiptIsExpected,

      @ObjectModel.filter.enabled: false
      @ObjectModel.text.element: 'SupplierFullName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_SupplierValueHelp', element : 'Supplier' } }]
      _PurchaseOrder.SupplyingSupplier,

      @UI.hidden: true
      _PurchaseOrder._SupplyingSupplier.SupplierFullName,

      @ObjectModel.filter.enabled: false
//      @ObjectModel.sort.enabled: false

      @EndUserText.label: 'Invoice Receipt'
      InvoiceIsExpected,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Goods-Receipt-Based Invoice Verification'
      InvoiceIsGoodsReceiptBased,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Incoterms (Item)'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_IncotermValueHelp', element : 'IncotermsClassification' } }]
      IncotermsClassification                                                                                    as ItemIncotermsClassification,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Incoterm Location 1 (Header)'
      _PurchaseOrder.IncotermsLocation1                                                                          as HeaderIncotermsLoc1,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Incoterm Location 2 (Header)'
      _PurchaseOrder.IncotermsLocation2                                                                          as HeaderIncotermsLoc2,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Incoterm Location 1 (Item)'
      IncotermsLocation1,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Incoterm Location 2 (Item)'
      IncotermsLocation2,

      @ObjectModel.filter.enabled: false
      @ObjectModel.text.element: 'IncotermsVersionName'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_IncotermsVersionVH', element : 'IncotermsVersion' } }]
      _PurchaseOrder.IncotermsVersion,

      @UI.hidden: true
      _PurchaseOrder._IncotermsVersion._Text[1:Language = $session.system_language].IncotermsVersionName,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'International Article Number (EAN/UPC)'
      InternationalArticleNumber,

      @ObjectModel.filter.enabled: false
      @Semantics.quantity.unitOfMeasure: 'WeightUnit'
      ItemNetWeight,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Goods Receipt, Non-Valuated'
      GoodsReceiptIsNonValuated,

      @ObjectModel.filter.enabled: false
      @Semantics.unitOfMeasure: true
      OrderPriceUnit,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Overdelivery Tolerance Limit'
      OverdelivTolrtdLmtRatioInPct,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Underdelivery Tolerance Limit'
      UnderdelivTolrtdLmtRatioInPct,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Evaluated Receipt Settlement (ERS)'
      EvaldRcptSettlmtIsAllowed,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Package Number'
      ServicePackage,

      @ObjectModel.filter.enabled: false
      @Semantics.quantity.unitOfMeasure: 'OrderPriceUnit'
      @EndUserText.label: 'Price Unit'
      NetPriceQuantity,

      @ObjectModel.filter.enabled: false
      @Consumption.valueHelp: '_PricingDateControl'
      // @ObjectModel.foreignKey.association: '_PricingDateControl'

      // Moved from foreignKey association to Text element, to avoid duplication

      @ObjectModel.text.element: ['PricingDateControlText']
      PricingDateControl,
      @UI.hidden: true
      _PricingDateControl._Text[1:Language = $session.system_language].PricingDateControlText,

      @ObjectModel.filter.enabled: false
      PriceIsToBePrinted,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Purchasing Info Record'
      @Consumption.semanticObject: 'PurchasingInfoRecord'
      PurchasingInfoRecord,

      @ObjectModel.filter.enabled: false
      IsReturnsItem,

      @ObjectModel.filter.enabled: false
      _PurchaseOrder.SupplierRespSalesPersonName,

      @ObjectModel.filter.enabled: false
      @ObjectModel.text.element: 'PersonFullName'
      ServicePerformer,

      @ObjectModel.filter.enabled: false
      @UI.hidden:true
      _ServicePerformer.PersonFullName,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Supplier Material Number'
      SupplierMaterialNumber,

      @ObjectModel.filter.enabled: false
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_SupplierSubrangeValueHelp', element : 'SupplierSubrange' } }]
      SupplierSubrange,

      @ObjectModel.filter.enabled: false
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_TaxCodeValueHelp', element : 'TaxCode' } }]
      TaxCode,

      @ObjectModel.filter.enabled: false
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_TaxJurisdictionVH', element : 'TaxJurisdiction' } }]
      TaxJurisdiction,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Supplier Telephone'
      _PurchaseOrder.SupplierPhoneNumber,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Validity Period Start'
      _PurchaseOrder.ValidityStartDate,

      @ObjectModel.filter.enabled: false
      @EndUserText.label: 'Validity Period End'
      _PurchaseOrder.ValidityEndDate,

      @ObjectModel.filter.enabled: false
      @Semantics.quantity.unitOfMeasure: 'VolumeUnit'
      ItemVolume,

      @ObjectModel.filter.enabled: false
      @Semantics.unitOfMeasure: true
      @Consumption.valueHelpDefinition: [{entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }}]
      ItemVolumeUnit,

      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      @UI.hidden: true
      @Semantics.unitOfMeasure: true
//      @Consumption.valueHelpDefinition: [{entity: { name: 'I_UnitOfMeasureStdVH', element: 'UnitOfMeasure' }}]

      ItemVolumeUnit                                                                                             as VolumeUnit,

      @UI.selectionField.position: 80
      @Consumption.valueHelp: '_DeltnIndVH'
      @ObjectModel.text.element: 'PurDocDeletionCodeName'
      @EndUserText.label: 'Item Deletion Indicator'
      PurchasingDocumentDeletionCode,

      /*This field is needed to add formatter to display Open PO items as blank in the PO Items table at the UI.*/
      @UI.hidden: true
      _DeltnIndVH._Text[1:Language = $session.system_language].PurDocDeletionCodeName,

      //---------------------------------------------------------------------------------

      // Utility Fields - Would be used to send data from UI for Update call

      //----------------------------------------------------------------------------------

      @UI.hidden: true
      cast('00000000000000' as abap.char( 30 ))                                                                  as ReleaseDateTime,

      @UI.hidden: true
      cast ('' as abap.char( 120 ))                                                                              as InternalComment,

      @UI.hidden: true
      cast ('' as abap.sstring( 1332 ))                                                                          as PurchasingDocInclusionList,

      @UI.hidden: true
      cast ('' as abap.sstring( 1332 ))                                                                          as PurchasingDocExclusionList,

      @UI.hidden: true
      cast ('' as abap.char( 1 ))                                                                                as PurOrdItemsAreSelected,

      @UI.hidden: true
      cast ('' as abap.char( 1 ))                                                                                as PurOrdHeadersAreSelected,

      @UI.hidden: true
      cast ('' as abap.char( 1 ))                                                                                as PurgDocMassUpdtIsSimulated,

      //----------------------------------------------------------------------------------


      @Consumption.filter.hidden: true
      _PurchaseOrder,
      @Consumption.filter.hidden: true
      _ScheduleLine,

      // Flag to set the visiblity of the header group in the mass edit form

      // cast (''   as boole_d )           as  ErrorFlagIsSet,

      @UI.hidden: true
      cast ('false' as abap.char(4))                                                                             as ErrorFlagIsSet,

      // Flag to set the visiblity of the item group in the mass edit form

      @UI.hidden: true
      cast (''   as boole_d )                                                                                    as WarningFlagIsSet,

      @Consumption.filter.hidden: true
      _PricingDateControl,

      @Consumption.filter.hidden: true
      _DeltnIndVH

//      @Consumption.filter.hidden: true

//      _MaterialVH,

//

//      @Consumption.filter.hidden: true

//      _PurchasingOrganizationVH

}
where
  //  and IsCompletelyDelivered                           =  '' // Do not display if the Item is Delivery Completed             // Fix for incident: 1940123865

      _PurchaseOrder.PurchasingDocumentDeletionCode       =  '' // Display PO Items only when Header is Not Blocked and Not Archived

  and(
    (
      _PurchaseOrder.Supplier                             =  ' '
    )
    or(
      _PurchaseOrder._Supplier.IsBusinessPurposeCompleted <> 'X'
    )
  ) 
  // filter out statistical Items (excluding Retail i.e Material = '')  

  and not( Material = '' and IsStatisticalItem = 'X' )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_MASSUPDTCONFCTRLVH",
"I_ACCTASSGMTDISTRINDICATOR",
"I_ACCTASSGMTDISTRINDICATORTXT",
"I_BUSINESSPARTNER",
"I_COMPANYCODE",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSCLASSIFICATIONTEXT",
"I_INCOTERMSVERSION",
"I_INCOTERMSVERSIONTEXT",
"I_MATERIAL",
"I_MATERIALGROUP",
"I_MATERIALGROUPTEXT",
"I_MATERIALTEXT",
"I_PAYMENTTERMS",
"I_PAYMENTTERMSTEXT",
"I_PLANT",
"I_PROCMTPRICINGDATECONTROL",
"I_PROCMTPRICINGDATECONTROLTXT",
"I_PRODUCTTYPECODE",
"I_PRODUCTTYPECODETEXT",
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM",
"I_PURCHASEORDERSTATUSTEXT",
"I_PURCHASINGDOCUMENTTYPE",
"I_PURCHASINGDOCUMENTTYPETEXT",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_PURGDOCDELETIONINDICATOR",
"I_PURGDOCDELETIONINDICATORTXT",
"I_PURGDOCUMENTITEMCATEGORY",
"I_PURGDOCUMENTITEMCATEGORYTEXT",
"I_STORAGELOCATION",
"I_SUPPLIER"
],
"ASSOCIATED":
[
"C_MASSUPDTCONFCTRLVH",
"C_MM_MATERIALVALUEHELP",
"C_POMASSUPDTDELIVSCHEDITM",
"C_PURCHASINGORGVALUEHELP",
"I_ACCTASSGMTDISTRINDICATOR",
"I_PROCMTPRICINGDATECONTROL",
"I_PURCHASEORDER",
"I_PURCHASEORDERSTATUSTEXT",
"I_PURGDOCDELETIONINDICATOR"
],
"BASE":
[
"I_PURCHASEORDERITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/