I_ProductionOrderComponent

DDL: I_PRODUCTIONORDERCOMPONENT Type: view_entity COMPOSITE Package: VDM_PP_SFC

Production Order Component

I_ProductionOrderComponent is a Composite CDS View (Fact) that provides data about "Production Order Component" in SAP S/4HANA. It reads from 1 data source (I_OrderComponent) and exposes 205 fields with key fields Reservation, ReservationItem, ReservationRecordType. It has 24 associations to related views. Part of development package VDM_PP_SFC.

Data Sources (1)

SourceAliasJoin Type
I_OrderComponent comp from

Associations (24)

CardinalityTargetAliasCondition
[1..1] I_ReservationDocumentHeader _Reservation $projection.Reservation = _Reservation.Reservation
[1..1] I_ReservationDocumentItem _ReservationItem $projection.Reservation = _ReservationItem.Reservation and $projection.ReservationItem = _ReservationItem.ReservationItem and $projection.ReservationRecordType = _ReservationItem.RecordType
[0..1] I_ReservationDocRecordType _ReservationRecordType $projection.ReservationRecordType = _ReservationRecordType.RecordType
[1..1] I_ProductionOrderType _ProductionOrderType $projection.ProductionOrderType = _ProductionOrderType.ProductionOrderType -- SOT relations
[1..1] I_ProductionOrder _ProductionOrderHeader $projection.ProductionOrder = _ProductionOrderHeader.ProductionOrder
[1..1] I_ProductionOrderSequence _ProductionOrderSequence $projection.ProductionOrder = _ProductionOrderSequence.ProductionOrder and $projection.ProductionOrderSequence = _ProductionOrderSequence.ProductionOrderSequence
[1..1] E_ReservationDocumentItem _Extension $projection.Reservation = _Extension.Reservation and $projection.ReservationItem = _Extension.ReservationItem and $projection.ReservationRecordType = _Extension.RecordType -- start new associations for full coverage of text relations
[1..1] I_ProductionOrder _ProductionOrderText $projection.ProductionOrder = _ProductionOrderText.ProductionOrder
[1..1] I_Plant _ProductionPlantText $projection.ProductionPlant = _ProductionPlantText.Plant
[0..1] I_Plant _PlantText $projection.Plant = _PlantText.Plant
[0..*] I_ProductText _MaterialText $projection.Material = _MaterialText.Product
[0..1] I_WBSElementBasicData _WBSElementText $projection.WBSElementInternalID = _WBSElementText.WBSElementInternalID
[0..1] I_StorageLocation _StorageLocationText $projection.Plant = _StorageLocationText.Plant and $projection.StorageLocation = _StorageLocationText.StorageLocation
[0..*] I_ProductionSupplyAreaText _SupplyAreaText $projection.Plant = _SupplyAreaText.Plant and $projection.SupplyArea = _SupplyAreaText.ProductionSupplyArea
[0..1] I_Supplier _SupplierText $projection.Supplier = _SupplierText.Supplier
[0..1] I_PurchasingGroup _PurchasingGroupText $projection.PurchasingGroup = _PurchasingGroupText.PurchasingGroup
[0..*] I_ProductText _AssemblyText $projection.Assembly = _AssemblyText.Product
[0..*] I_ProductText _FollowUpMaterialText $projection.FollowUpMaterial = _FollowUpMaterialText.Product
[1..1] I_StatusObject _StatusObjectText $projection.ObjectInternalID = _StatusObjectText.StatusObject
[0..*] I_BusinessAreaText _BusinessAreaText $projection.BusinessArea = _BusinessAreaText.BusinessArea
[0..1] I_CompanyCode _CompanyCodeText $projection.CompanyCode = _CompanyCodeText.CompanyCode
[0..1] I_ControllingArea _ControllingAreaText $projection.ControllingArea = _ControllingAreaText.ControllingArea
[0..*] I_FunctionalAreaText _FunctionalAreaText $projection.FunctionalArea = _FunctionalAreaText.FunctionalArea -- end new associations for full coverage of text relations
[0..*] I_ProdnOrderComponentLongText _LongText

Annotations (13)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
Analytics.technicalName IPRODNORDERCOMP view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.sapObjectNodeType.name ProductionOrderComponent view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #COMPOSITE view
EndUserText.label Production Order Component view

Fields (205)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_OrderComponent Reservation
KEY ReservationItem I_OrderComponent ReservationItem
KEY ReservationRecordType I_OrderComponent RecordType
MaterialGroup I_OrderComponent MaterialGroup
Material I_OrderComponent Material
Plant I_OrderComponent Plant
ProductionOrderType
ProductionOrder
ProductionOrderSequence
SequenceCategory I_OrderComponent SequenceCategory
ProductionOrderOperation
ProductionPlant I_OrderComponent ProductionPlant
OrderInternalID I_OrderComponent OrderInternalID
OrderOperationInternalID I_OrderComponent OrderOperationInternalID
MatlCompRequirementDate I_OrderComponent MatlCompRequirementDate
MatlCompRequirementTime I_OrderComponent MatlCompRequirementTime
LatestRequirementDate I_OrderComponent LatestRequirementDate
ReservationIsFinallyIssued I_OrderComponent ReservationIsFinallyIssued
MatlCompIsMarkedForDeletion I_OrderComponent MatlCompIsMarkedForDeletion
MaterialComponentIsMissing I_OrderComponent MaterialComponentIsMissing
IsBulkMaterialComponent I_OrderComponent IsBulkMaterialComponent
MatlCompIsMarkedForBackflush I_OrderComponent MatlCompIsMarkedForBackflush
MatlCompIsTextItem I_OrderComponent MatlCompIsTextItem
MaterialPlanningRelevance I_OrderComponent MaterialPlanningRelevance
MatlCompIsConfigurable I_OrderComponent MatlCompIsConfigurable
MaterialComponentIsClassified I_OrderComponent MaterialComponentIsClassified
MaterialCompIsIntraMaterial I_OrderComponent MaterialCompIsIntraMaterial
MaterialIsDirectlyProduced I_OrderComponent MaterialIsDirectlyProduced
MaterialIsDirectlyProcured I_OrderComponent MaterialIsDirectlyProcured
MaterialComponentText I_OrderComponent MaterialComponentText
MaterialComponentSecondText I_OrderComponent MaterialComponentSecondText
MaterialComponentHasLongText I_OrderComponent MaterialComponentHasLongText
LongTextLanguage I_OrderComponent LongTextLanguage
RequirementType I_OrderComponent RequirementType
SalesOrder I_OrderComponent SalesOrder
SalesOrderItem I_OrderComponent SalesOrderItem
WBSElementInternalID
ProductConfiguration I_OrderComponent ProductConfiguration
ChangeNumber I_OrderComponent ChangeNumber
MaterialRevisionLevel I_OrderComponent MaterialRevisionLevel
EffectivityParameterVariant I_OrderComponent EffectivityParameterVariant
MaterialComponentSortText I_OrderComponent MaterialComponentSortText
ObjectInternalID I_OrderComponent ObjectInternalID
BillOfMaterialCategory I_OrderComponent BillOfMaterialCategory
BillOfMaterialInternalID I_OrderComponent BillOfMaterialInternalID
BillOfMaterialVariant I_OrderComponent BillOfMaterialVariant
BillOfMaterialItemNodeNumber I_OrderComponent BOMItem
BillOfMaterialItemCategory I_OrderComponent BOMItemCategory
BillOfMaterialItemNumber I_OrderComponent BillOfMaterialItemNumber
PurchasingInfoRecord I_OrderComponent PurchasingInfoRecord
PurchasingGroup I_OrderComponent PurchasingGroup
PurchaseRequisition I_OrderComponent PurchaseRequisition
PurchaseRequisitionItem I_OrderComponent PurchaseRequisitionItem
PurchasingDocument
PurchasingDocumentItem
Supplier I_OrderComponent Supplier
DeliveryDurationInDays I_OrderComponent DeliveryDurationInDays
MaterialGoodsReceiptDuration I_OrderComponent MaterialGoodsReceiptDuration
ExternalProcessingPrice
NumberOfOperationPriceUnits I_OrderComponent NumberOfPriceUnits
GoodsMovementIsAllowed I_OrderComponent GoodsMovementIsAllowed
StorageLocation I_OrderComponent StorageLocation
DebitCreditCode I_OrderComponent DebitCreditCode
GoodsMovementType I_OrderComponent GoodsMovementType
InventorySpecialStockType I_OrderComponent InventorySpecialStockType
InventorySpecialStockValnType I_OrderComponent InventorySpecialStockValnType
ConsumptionPosting I_OrderComponent ConsumptionPosting
SupplyArea I_OrderComponent SupplyArea
GoodsRecipientName I_OrderComponent GoodsRecipientName
UnloadingPointName I_OrderComponent UnloadingPointName
StockSegment I_OrderComponent StockSegment
RequirementSegment I_OrderComponent RequirementSegment
MaterialStaging I_OrderComponent MaterialStaging
Batch I_OrderComponent Batch
BatchEntryDeterminationCode
BatchSplitType I_OrderComponent BatchSplitType
BatchMasterReservationItem I_OrderComponent BatchMasterReservationItem
BatchClassification I_OrderComponent BatchClassification
MaterialCompCostingRelevancy I_OrderComponent MaterialCompCostingRelevancy
BusinessArea I_OrderComponent BusinessArea
CompanyCode I_OrderComponent CompanyCode
GLAccount I_OrderComponent GLAccount
FunctionalArea I_OrderComponent FunctionalArea
ControllingArea I_OrderComponent ControllingArea
AccountAssignmentCategory I_OrderComponent AccountAssignmentCategory
MaterialCompIsVariableSized I_OrderComponent MaterialCompIsVariableSized
VariableSizeItemUnit
VariableSizeItemQuantity I_OrderComponent VariableSizeItemQuantity
VariableSizeComponentUnit
VariableSizeComponentQuantity I_OrderComponent VariableSizeComponentQuantity
VariableSizeDimensionUnit
VariableSizeDimension1 I_OrderComponent VariableSizeDimension1
VariableSizeDimension2 I_OrderComponent VariableSizeDimension2
VariableSizeDimension3 I_OrderComponent VariableSizeDimension3
VariableSizeCompFormulaKey I_OrderComponent VariableSizeCompFormulaKey
MaterialCompIsAlternativeItem I_OrderComponent MaterialCompIsAlternativeItem
AlternativeItemGroup I_OrderComponent AlternativeItemGroup
AlternativeItemStrategy I_OrderComponent AlternativeItemStrategy
AlternativeItemPriority I_OrderComponent AlternativeItemPriority
UsageProbabilityPercent I_OrderComponent UsageProbabilityPercent
AlternativeMstrReservationItem I_OrderComponent AlternativeMstrReservationItem
MaterialComponentIsPhantomItem I_OrderComponent MaterialComponentIsPhantomItem
OrderPathValue I_OrderComponent OrderPathValue
OrderLevelValue I_OrderComponent OrderLevelValue
Assembly I_OrderComponent Assembly
AssemblyOrderPathValue I_OrderComponent AssemblyOrderPathValue
AssemblyOrderLevelValue I_OrderComponent AssemblyOrderLevelValue
DiscontinuationGroup I_OrderComponent DiscontinuationGroup
MatlCompDiscontinuationType I_OrderComponent MatlCompDiscontinuationType
MatlCompIsFollowUpMaterial I_OrderComponent MatlCompIsFollowUpMaterial
FollowUpGroup I_OrderComponent FollowUpGroup
FollowUpMaterial I_OrderComponent FollowUpMaterial
FollowUpMaterialIsActive I_OrderComponent FollowUpMaterialIsActive
DiscontinuationMasterResvnItem I_OrderComponent DiscontinuationMasterResvnItem
LeadTimeOffset I_OrderComponent LeadTimeOffset
OperationLeadTimeOffsetUnit I_OrderComponent OperationLeadTimeOffsetUnit
OperationLeadTimeOffset I_OrderComponent OperationLeadTimeOffset
QuantityIsFixed I_OrderComponent QuantityIsFixed
ScrapQtyIsNetScrap I_OrderComponent IsNetScrap
ComponentScrapInPercent I_OrderComponent ComponentScrapInPercent
OperationScrapInPercent I_OrderComponent OperationScrapInPercent
MaterialQtyToBaseQtyNmrtr I_OrderComponent MaterialQtyToBaseQtyNmrtr
MaterialQtyToBaseQtyDnmntr I_OrderComponent MaterialQtyToBaseQtyDnmntr
BaseUnit
RequiredQuantity I_OrderComponent RequiredQuantity
WithdrawnQuantity I_OrderComponent WithdrawnQuantity
ConfirmedAvailableQuantity I_OrderComponent ConfirmedAvailableQuantity
MaterialCompOriginalQuantity I_OrderComponent MaterialCompOriginalQuantity
EntryUnit
GoodsMovementEntryQty I_OrderComponent GoodsMovementEntryQty
Currency I_OrderComponent Currency
WithdrawnQuantityAmount I_OrderComponent WithdrawnQuantityAmount
_Reservation _Reservation
_ReservationItem _ReservationItem
_ReservationRecordType _ReservationRecordType
_ProductionOrderType _ProductionOrderType
_SequenceCategory I_OrderComponent _SequenceCategory
_OrderInternalID I_OrderComponent _OrderInternalID
_ProductionPlant I_OrderComponent _ProductionPlant
_RequirementType I_OrderComponent _RequirementType
_MaterialGroup I_OrderComponent _MaterialGroup
_Material I_OrderComponent _Material
_Product I_OrderComponent _Product
_ProductPlant I_OrderComponent _ProductPlant
_ProductStorageLocation I_OrderComponent _ProductStorageLocation
_Plant I_OrderComponent _Plant
_StorageLocation I_OrderComponent _StorageLocation
_Batch I_OrderComponent _Batch
_BatchSplitType I_OrderComponent _BatchSplitType
_DebitCreditCode I_OrderComponent _DebitCreditCode
_GoodsMovementType I_OrderComponent _GoodsMovementType
_InventorySpecialStockType I_OrderComponent _InventorySpecialStockType
_InventorySpecialStockValnType I_OrderComponent _InventorySpecialStockValnType
_ConsumptionPosting I_OrderComponent _ConsumptionPosting
_SupplyArea I_OrderComponent _SupplyArea
_FollowUpMaterial I_OrderComponent _FollowUpMaterial
_DiscontinuationType I_OrderComponent _DiscontinuationType
_Assembly I_OrderComponent _PhantomAssembly
_BOMItemCategory I_OrderComponent _BOMItemCategory
_SalesOrder I_OrderComponent _SalesOrder
_SalesOrderItem I_OrderComponent _SalesOrderItem
_WBSElementBasicData I_OrderComponent _WBSElementBasicData
_EnterpriseProjectElement I_OrderComponent _EnterpriseProjectElement
_ChangeNumber I_OrderComponent _ChangeNumber
_MaterialRevisionLevel I_OrderComponent _MaterialRevisionLevel
_PurchasingGroup I_OrderComponent _PurchasingGroup
_PurchasingInfoRecord I_OrderComponent _PurchasingInfoRecord
_PurchaseRequisition I_OrderComponent _PurchaseRequisition
_PurchaseRequisitionItem I_OrderComponent _PurchaseRequisitionItem
_Supplier I_OrderComponent _Supplier
_CompanyCode I_OrderComponent _CompanyCode
_BusinessArea I_OrderComponent _BusinessArea
_GLAccount I_OrderComponent _GLAccount
_ControllingArea I_OrderComponent _ControllingArea
_FunctionalArea I_OrderComponent _FunctionalArea
_AccountAssignmentCategory I_OrderComponent _AccountAssignmentCategory
_OpLeadTimeOffsetUnit I_OrderComponent _OpLeadTimeOffsetUnit
_VariableSizeItemUnit I_OrderComponent _VariableSizeItemUnit
_VariableSizeComponentUnit I_OrderComponent _VariableSizeComponentUnit
_VariableSizeDimensionUnit I_OrderComponent _VariableSizeDimensionUnit
_BaseUnit I_OrderComponent _BaseUnit
_EntryUnit I_OrderComponent _EntryUnit
_Currency I_OrderComponent _Currency
_StatusObject I_OrderComponent _StatusObject
_LongTextLanguage I_OrderComponent _LongTextLanguage
Compositions_ProductionOrderHeader
_ProductionOrderSequence _ProductionOrderSequence
_ProductionOrderOperation _ProductionOrderOperation
_LongText _LongText
Textrelations_ProductionOrderText
_PlantText _PlantText
_ProductionPlantText _ProductionPlantText
_MaterialText _MaterialText
_WBSElementText _WBSElementText
_StorageLocationText _StorageLocationText
_SupplyAreaText _SupplyAreaText
_SupplierText _SupplierText
_PurchasingGroupText _PurchasingGroupText
_AssemblyText _AssemblyText
_FollowUpMaterialText _FollowUpMaterialText
_StatusObjectText _StatusObjectText
_BusinessAreaText _BusinessAreaText
_CompanyCodeText _CompanyCodeText
_ControllingAreaText _ControllingAreaText
_FunctionalAreaText _FunctionalAreaText
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@AccessControl.privilegedAssociations: ['_StatusObject', '_StatusObjectText']
@Analytics.dataCategory: #FACT
@Analytics.dataExtraction: { enabled: true,
                             delta.changeDataCapture:
                                    { mapping:
                                      [ { role: #MAIN,
                                          table: 'resb',
                                          tableElement: ['rsnum'      , 'rspos'          , 'rsart'],
                                          viewElement:  ['Reservation', 'ReservationItem', 'ReservationRecordType']
                                        },
                                        { role: #LEFT_OUTER_TO_ONE_JOIN,
                                          table: 'aufk',
                                          tableElement: ['aufnr'],
                                          viewElement:  ['ProductionOrder']
                                        } ] } }
@Analytics.technicalName: 'IPRODNORDERCOMP'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #EXTRACTION_DATA_SOURCE, #SQL_DATA_SOURCE]
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED}
@ObjectModel.sapObjectNodeType.name: 'ProductionOrderComponent'
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Production Order Component'

define view entity I_ProductionOrderComponent 
  as select from I_OrderComponent as comp

  association [1..1] to I_ReservationDocumentHeader   as _Reservation               on  $projection.Reservation = _Reservation.Reservation
  association [1..1] to I_ReservationDocumentItem     as _ReservationItem           on  $projection.Reservation           = _ReservationItem.Reservation
                                                                                    and $projection.ReservationItem       = _ReservationItem.ReservationItem
                                                                                    and $projection.ReservationRecordType = _ReservationItem.RecordType
  association [0..1] to I_ReservationDocRecordType    as _ReservationRecordType     on  $projection.ReservationRecordType = _ReservationRecordType.RecordType
  association [1..1] to I_ProductionOrderType         as _ProductionOrderType       on  $projection.ProductionOrderType = _ProductionOrderType.ProductionOrderType

  -- SOT relations
  association [1..1] to I_ProductionOrder             as _ProductionOrderHeader     on  $projection.ProductionOrder = _ProductionOrderHeader.ProductionOrder
  association [1..1] to I_ProductionOrderSequence     as _ProductionOrderSequence   on  $projection.ProductionOrder         = _ProductionOrderSequence.ProductionOrder
                                                                                    and $projection.ProductionOrderSequence = _ProductionOrderSequence.ProductionOrderSequence
  association to parent I_ProductionOrderOperation_2  as _ProductionOrderOperation  on  $projection.OrderInternalID          = _ProductionOrderOperation.OrderInternalID
                                                                                    and $projection.OrderOperationInternalID = _ProductionOrderOperation.OrderOperationInternalID
  composition [0..*] of I_ProdnOrderComponentLongText as _LongText

  -- to extension
  association [1..1] to E_ReservationDocumentItem     as _Extension                 on  $projection.Reservation           = _Extension.Reservation
                                                                                    and $projection.ReservationItem       = _Extension.ReservationItem
                                                                                    and $projection.ReservationRecordType = _Extension.RecordType
  -- start new associations for full coverage of text relations
  association [1..1] to I_ProductionOrder             as _ProductionOrderText       on  $projection.ProductionOrder = _ProductionOrderText.ProductionOrder
  association [1..1] to I_Plant                       as _ProductionPlantText       on  $projection.ProductionPlant = _ProductionPlantText.Plant
  association [0..1] to I_Plant                       as _PlantText                 on  $projection.Plant = _PlantText.Plant
  association [0..*] to I_ProductText                 as _MaterialText              on  $projection.Material = _MaterialText.Product
  association [0..1] to I_WBSElementBasicData         as _WBSElementText            on  $projection.WBSElementInternalID = _WBSElementText.WBSElementInternalID
  association [0..1] to I_StorageLocation             as _StorageLocationText       on  $projection.Plant           = _StorageLocationText.Plant
                                                                                    and $projection.StorageLocation = _StorageLocationText.StorageLocation
  association [0..*] to I_ProductionSupplyAreaText    as _SupplyAreaText            on  $projection.Plant      = _SupplyAreaText.Plant
                                                                                    and $projection.SupplyArea = _SupplyAreaText.ProductionSupplyArea
  association [0..1] to I_Supplier                    as _SupplierText              on  $projection.Supplier = _SupplierText.Supplier
  association [0..1] to I_PurchasingGroup             as _PurchasingGroupText       on  $projection.PurchasingGroup = _PurchasingGroupText.PurchasingGroup
  association [0..*] to I_ProductText                 as _AssemblyText              on  $projection.Assembly = _AssemblyText.Product
  association [0..*] to I_ProductText                 as _FollowUpMaterialText      on  $projection.FollowUpMaterial = _FollowUpMaterialText.Product
  association [1..1] to I_StatusObject                as _StatusObjectText          on  $projection.ObjectInternalID = _StatusObjectText.StatusObject
  association [0..*] to I_BusinessAreaText            as _BusinessAreaText          on  $projection.BusinessArea = _BusinessAreaText.BusinessArea
  association [0..1] to I_CompanyCode                 as _CompanyCodeText           on  $projection.CompanyCode = _CompanyCodeText.CompanyCode
  association [0..1] to I_ControllingArea             as _ControllingAreaText       on  $projection.ControllingArea = _ControllingAreaText.ControllingArea
  association [0..*] to I_FunctionalAreaText          as _FunctionalAreaText        on  $projection.FunctionalArea = _FunctionalAreaText.FunctionalArea
-- end new associations for full coverage of text relations
{
      // Key

      @ObjectModel.foreignKey.association: '_Reservation'
  key comp.Reservation,
      @ObjectModel.text.element: ['MaterialComponentText']
  key comp.ReservationItem,
      @ObjectModel.foreignKey.association: '_ReservationRecordType'
  key comp.RecordType                                               as ReservationRecordType,

      //Material data

      @ObjectModel.foreignKey.association: '_MaterialGroup'
      comp.MaterialGroup,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductStdVH', element: 'Product' } } ]
      @ObjectModel.foreignKey.association: '_Material'
      @ObjectModel.text.association: '_MaterialText'
      comp.Material,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
      @ObjectModel.foreignKey.association: '_Plant'
      comp.Plant,

      // Order and Operation data

      @ObjectModel.foreignKey.association: '_ProductionOrderType'
      cast(comp.OrderType as vdm_prodnordertype preserving type)           as ProductionOrderType,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductionOrderStdVH', element: 'ProductionOrder' } } ]
      cast(comp.OrderID  as vdm_manufacturingorder preserving type)        as ProductionOrder,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductionOrderSequenceVH', element: 'ProductionOrderSequence' } } ]
      cast(comp.Sequence as vdm_prodnordersequence preserving type)        as ProductionOrderSequence,
      @ObjectModel.foreignKey.association: '_SequenceCategory'
      comp.SequenceCategory,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductionOrderOperationVH', element: 'ProductionOrderOperation' } } ]      
      cast(comp.OrderOperation as vdm_prodnorderoperation preserving type) as ProductionOrderOperation,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
      @ObjectModel.foreignKey.association: '_ProductionPlant'
      comp.ProductionPlant,
      comp.OrderInternalID,
      comp.OrderOperationInternalID,

      // Date and Time

      @Semantics.businessDate.at: true
      comp.MatlCompRequirementDate,
      comp.MatlCompRequirementTime,
      comp.LatestRequirementDate,

      // Attributes

      @Semantics.booleanIndicator: true
      comp.ReservationIsFinallyIssued,
      @Semantics.booleanIndicator: true
      comp.MatlCompIsMarkedForDeletion,
      @Semantics.booleanIndicator: true
      comp.MaterialComponentIsMissing,
      @Semantics.booleanIndicator: true
      comp.IsBulkMaterialComponent,
      @Semantics.booleanIndicator: true
      comp.MatlCompIsMarkedForBackflush,
      @Semantics.booleanIndicator: true
      comp.MatlCompIsTextItem,
      comp.MaterialPlanningRelevance,
      @Semantics.booleanIndicator: true
      comp.MatlCompIsConfigurable,
      comp.MaterialComponentIsClassified,
      @Semantics.booleanIndicator: true
      comp.MaterialCompIsIntraMaterial,
      @Semantics.booleanIndicator: true
      comp.MaterialIsDirectlyProduced,
      @Semantics.booleanIndicator: true
      comp.MaterialIsDirectlyProcured,

      // Text

      @Semantics.text: true
      comp.MaterialComponentText,
      @Semantics.text: true
      comp.MaterialComponentSecondText,
      @Semantics.booleanIndicator: true
      comp.MaterialComponentHasLongText, 
      @ObjectModel.foreignKey.association: '_LongTextLanguage'
      comp.LongTextLanguage,

      // Assignments

      @ObjectModel.foreignKey.association: '_RequirementType'
      comp.RequirementType,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_SalesOrderStdVH', element: 'SalesOrder' } } ]
      @ObjectModel.foreignKey.association: '_SalesOrder'
      comp.SalesOrder,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_SalesOrderItemStdVH', element: 'SalesOrderItem' } } ]
      @ObjectModel.foreignKey.association: '_SalesOrderItem'
      comp.SalesOrderItem,
--    @Consumption.valueHelpDefinition: [ { entity: { name: 'I_WBSElementBasicDataStdVH', element: 'WBSElementInternalID' } } ]
      @ObjectModel.foreignKey.association: '_WBSElementBasicData'
      comp.WBSElementInternalID,
      comp.ProductConfiguration,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ChangeMasterStdVH', element: 'ChangeNumber' } } ]
      @ObjectModel.foreignKey.association: '_ChangeNumber'
      comp.ChangeNumber,
      comp.MaterialRevisionLevel,
      comp.EffectivityParameterVariant,
      comp.MaterialComponentSortText,
      @ObjectModel.foreignKey.association: '_StatusObject'
      comp.ObjectInternalID,

      // Assignments BOM

      comp.BillOfMaterialCategory,
      comp.BillOfMaterialInternalID,
      comp.BillOfMaterialVariant,
      comp.BOMItem                                                  as BillOfMaterialItemNodeNumber,
      comp.BOMItemCategory                                          as BillOfMaterialItemCategory,
      comp.BillOfMaterialItemNumber,

      // Assignments Purchasing

      comp.PurchasingInfoRecord,
      @ObjectModel.foreignKey.association: '_PurchasingGroup'
      comp.PurchasingGroup,
      comp.PurchaseRequisition,
      comp.PurchaseRequisitionItem,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchasingDocumentStdVH', element: 'PurchasingDocument' } } ] 
      cast(comp.PurchaseOrder     as pph_ebeln preserving type)     as PurchasingDocument,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchasingDocumentItemStdVH', element: 'PurchasingDocumentItem' } } ] 
      cast(comp.PurchaseOrderItem as pph_ebelp preserving type)     as PurchasingDocumentItem,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_Supplier_VH', element: 'Supplier' } } ]
      @ObjectModel.foreignKey.association: '_Supplier'
      comp.Supplier,
      comp.DeliveryDurationInDays,
      comp.MaterialGoodsReceiptDuration,
      -- Price
      @Aggregation.default: #SUM
      @Semantics.amount.currencyCode: 'Currency'
      comp.ExternalProcessingPrice,
      comp.NumberOfPriceUnits                                       as NumberOfOperationPriceUnits,   

      // Goods Movement data

      comp.GoodsMovementIsAllowed,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      comp.StorageLocation,
      @ObjectModel.foreignKey.association: '_DebitCreditCode'
      comp.DebitCreditCode,
      @ObjectModel.foreignKey.association: '_GoodsMovementType'
      comp.GoodsMovementType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockType'
      comp.InventorySpecialStockType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockValnType'
      comp.InventorySpecialStockValnType,
      @ObjectModel.foreignKey.association: '_ConsumptionPosting'
      comp.ConsumptionPosting,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductionSupplyAreaStdVH', element: 'ProductionSupplyArea' } } ]
      @ObjectModel.foreignKey.association: '_SupplyArea'
      @ObjectModel.text.association: '_SupplyAreaText'
      comp.SupplyArea,
      @Semantics.text: true
      comp.GoodsRecipientName,
      @Semantics.text: true
      comp.UnloadingPointName,
      comp.StockSegment,
      comp.RequirementSegment,
      comp.MaterialStaging,

      // Batch data

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_BatchStdVH', element: 'Batch' } } ]
      @ObjectModel.foreignKey.association: '_Batch'
      comp.Batch,
--    @ObjectModel.foreignKey.association: '_BatchEntryDetermination'         
      comp.BatchEntryDeterminationCode,
      @ObjectModel.foreignKey.association: '_BatchSplitType'      
      comp.BatchSplitType,
      comp.BatchMasterReservationItem,
      comp.BatchClassification,

      // Assignments FI/CO

      comp.MaterialCompCostingRelevancy,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_BusinessAreaStdVH', element: 'BusinessArea' } } ]
      @ObjectModel.foreignKey.association: '_BusinessArea'
      @ObjectModel.text.association: '_BusinessAreaText'
      comp.BusinessArea,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_CompanyCodeStdVH', element: 'CompanyCode' } } ]
      @ObjectModel.foreignKey.association: '_CompanyCode'
      comp.CompanyCode,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_GLAccountStdVH', element: 'GLAccount' } } ]
      @ObjectModel.foreignKey.association: '_GLAccount'
      comp.GLAccount,
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      @ObjectModel.text.association: '_FunctionalAreaText'
      comp.FunctionalArea,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ControllingAreaStdVH', element: 'ControllingArea' } } ]
      @ObjectModel.foreignKey.association: '_ControllingArea'
      comp.ControllingArea,
      @ObjectModel.foreignKey.association: '_AccountAssignmentCategory'
      comp.AccountAssignmentCategory,

      // Variable-size item data

      @Semantics.booleanIndicator: true
      comp.MaterialCompIsVariableSized,
      -- Item quantity (ROANZ and ROAME)
      @ObjectModel.foreignKey.association: '_VariableSizeItemUnit'
      comp.VariableSizeItemUnit,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeItemUnit'
      @Aggregation.default: #SUM
      comp.VariableSizeItemQuantity,
      -- Component quantity (ROKME and ROMEN) 
      @ObjectModel.foreignKey.association: '_VariableSizeComponentUnit'
      comp.VariableSizeComponentUnit,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeComponentUnit'
      @Aggregation.default: #SUM
      comp.VariableSizeComponentQuantity,
      -- Dimensions (ROMEI and ROMSn)
      @ObjectModel.foreignKey.association: '_VariableSizeDimensionUnit'
      comp.VariableSizeDimensionUnit,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      @Aggregation.default: #MAX
      comp.VariableSizeDimension1,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      @Aggregation.default: #MAX
      comp.VariableSizeDimension2,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      @Aggregation.default: #MAX
      comp.VariableSizeDimension3,
      comp.VariableSizeCompFormulaKey,
 
      // Alternative item data

      @Semantics.booleanIndicator: true
      comp.MaterialCompIsAlternativeItem,
      comp.AlternativeItemGroup,
      comp.AlternativeItemStrategy,
      comp.AlternativeItemPriority,
      comp.UsageProbabilityPercent,
      comp.AlternativeMstrReservationItem,

      // Phantom assembly

      @Semantics.booleanIndicator: true
      comp.MaterialComponentIsPhantomItem,
      comp.OrderPathValue,
      comp.OrderLevelValue,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductStdVH', element: 'Product' } } ]
      @ObjectModel.foreignKey.association: '_Assembly'
      @ObjectModel.text.association: '_AssemblyText'
      comp.Assembly,
      comp.AssemblyOrderPathValue,
      comp.AssemblyOrderLevelValue,

      // Discontinuation

      comp.DiscontinuationGroup,
      @ObjectModel.foreignKey.association: '_DiscontinuationType'
      comp.MatlCompDiscontinuationType,
      @Semantics.booleanIndicator: true
      comp.MatlCompIsFollowUpMaterial,
      comp.FollowUpGroup,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductStdVH', element: 'Product' } } ]
      @ObjectModel.foreignKey.association: '_FollowUpMaterial'
      @ObjectModel.text.association: '_FollowUpMaterialText'
      comp.FollowUpMaterial,
      @Semantics.booleanIndicator: true
      comp.FollowUpMaterialIsActive,
      comp.DiscontinuationMasterResvnItem,

      // Lead-Time offset

      comp.LeadTimeOffset,
      @ObjectModel.foreignKey.association: '_OpLeadTimeOffsetUnit'
      comp.OperationLeadTimeOffsetUnit,
      comp.OperationLeadTimeOffset,

      // Quantities and UoM

      @Semantics.booleanIndicator: true
      comp.QuantityIsFixed,
      @Semantics.booleanIndicator: true
      comp.IsNetScrap                                               as ScrapQtyIsNetScrap,
      comp.ComponentScrapInPercent,
      comp.OperationScrapInPercent,
      comp.MaterialQtyToBaseQtyNmrtr,
      comp.MaterialQtyToBaseQtyDnmntr,
      -- Base unit
      @ObjectModel.foreignKey.association: '_BaseUnit'
      comp.BaseUnit,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      comp.RequiredQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      comp.WithdrawnQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      comp.ConfirmedAvailableQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      comp.MaterialCompOriginalQuantity,
      -- Entry unit
      @ObjectModel.foreignKey.association: '_EntryUnit'
      comp.EntryUnit,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      @Aggregation.default: #SUM
      comp.GoodsMovementEntryQty,

      // Amount and Currency

      @ObjectModel.foreignKey.association: '_Currency'
      comp.Currency,
      @Aggregation.default: #SUM
      @Semantics.amount.currencyCode: 'Currency'
      comp.WithdrawnQuantityAmount,
            
      // Associations

      _Reservation,
      _ReservationItem,
      _ReservationRecordType,
      _ProductionOrderType,
      comp._SequenceCategory,
      @Consumption.hidden: true
      comp._OrderInternalID,
      comp._ProductionPlant,
      comp._RequirementType,
      comp._MaterialGroup,
      comp._Material,
      comp._Product,
      comp._ProductPlant,
      comp._ProductStorageLocation,
      comp._Plant,
      comp._StorageLocation,
      comp._Batch,
      comp._BatchSplitType,
      comp._DebitCreditCode,
      comp._GoodsMovementType,
      comp._InventorySpecialStockType,
      comp._InventorySpecialStockValnType,
      comp._ConsumptionPosting,
      comp._SupplyArea,
      comp._FollowUpMaterial,
      comp._DiscontinuationType,
      comp._PhantomAssembly as _Assembly,
      comp._BOMItemCategory,
      comp._SalesOrder,
      comp._SalesOrderItem,
      comp._WBSElementBasicData,
      comp._EnterpriseProjectElement,
      comp._ChangeNumber,
      comp._MaterialRevisionLevel,
      comp._PurchasingGroup,
      comp._PurchasingInfoRecord,
      comp._PurchaseRequisition,
      comp._PurchaseRequisitionItem,
      comp._Supplier,
      comp._CompanyCode,
      comp._BusinessArea,
      comp._GLAccount,
      comp._ControllingArea,
      comp._FunctionalArea,
      comp._AccountAssignmentCategory,
      comp._OpLeadTimeOffsetUnit,
      comp._VariableSizeItemUnit,
      comp._VariableSizeComponentUnit,
      comp._VariableSizeDimensionUnit,
      comp._BaseUnit,
      comp._EntryUnit,
      comp._Currency,
      comp._StatusObject,
      comp._LongTextLanguage,
      -- Compositions
      _ProductionOrderHeader,
      _ProductionOrderSequence,
      _ProductionOrderOperation,
      _LongText,
      -- Text relations
      _ProductionOrderText,
      _PlantText,
      _ProductionPlantText,
      _MaterialText,
      _WBSElementText,
      _StorageLocationText,
      _SupplyAreaText,
      _SupplierText,
      _PurchasingGroupText,
      _AssemblyText,
      _FollowUpMaterialText,
      _StatusObjectText,
      _BusinessAreaText,
      _CompanyCodeText,
      _ControllingAreaText,
      _FunctionalAreaText
}
where
    comp.OrderCategory = '10' and
    comp.MaterialIsCoProduct =  '';  // no Co-Products