I_ManufacturingOrderComponent

DDL: I_MANUFACTURINGORDERCOMPONENT SQL: IMFGORDERCOMP Type: view COMPOSITE

Manufacturing Order Component

I_ManufacturingOrderComponent is a Composite CDS View (Dimension) that provides data about "Manufacturing Order Component" in SAP S/4HANA. It reads from 2 data sources (I_LogisticsOrderBasic, I_OrderComponent) and exposes 236 fields with key fields Reservation, ReservationItem, ReservationRecordType. It has 16 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_LogisticsOrderBasic afko inner
I_OrderComponent resb from

Associations (16)

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_MfgOrderOperationBySemKey _MfgOrderOperationBySemKey $projection.ManufacturingOrder = _MfgOrderOperationBySemKey.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderOperationBySemKey.ManufacturingOrderSequence and $projection.ManufacturingOrderOperation = _MfgOrderOperationBySemKey.ManufacturingOrderOperation
[1..1] I_MfgOrderCategory _MfgOrderCategory $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory
[1..1] I_MfgOrderType _MfgOrderType $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType
[0..1] I_ProductSupplyPlanning _ProductSupplyPlanning $projection.Material = _ProductSupplyPlanning.Product and $projection.Plant = _ProductSupplyPlanning.Plant
[1..*] I_ProductUnitsOfMeasure _ProductUnitsOfMeasure $projection.Material = _ProductUnitsOfMeasure.Product
[0..1] I_MRPController _AssemblyMRPController $projection.Plant = _AssemblyMRPController.Plant and $projection.AssemblyMRPController = _AssemblyMRPController.MRPController
[0..1] I_ProductionSupervisor _ProductionSupervisor $projection.Plant = _ProductionSupervisor.Plant and $projection.ProductionSupervisor = _ProductionSupervisor.ProductionSupervisor
[0..1] I_SupplierCompanyByPlant _SupplierCompanyByPlant $projection.Plant = _SupplierCompanyByPlant.Plant and $projection.Supplier = _SupplierCompanyByPlant.Supplier -- to root
[1..1] I_ManufacturingOrder _MfgOrder $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder -- to parents
[0..1] I_ManufacturingOrderSequence _MfgOrderSequence $projection.ManufacturingOrder = _MfgOrderSequence.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderSequence.ManufacturingOrderSequence
[0..1] I_ManufacturingOrderOperation _MfgOrderOperation $projection.OrderInternalID = _MfgOrderOperation.MfgOrderInternalID and $projection.OrderOperationInternalID = _MfgOrderOperation.OrderOperationInternalID -- to child
[0..1] I_MfgOrderComponentLongText _MfgOrderComponentLongText $projection.Reservation = _MfgOrderComponentLongText.Reservation and $projection.ReservationItem = _MfgOrderComponentLongText.ReservationItem and $projection.ReservationRecordType = _MfgOrderComponentLongText.RecordType and $projection.LongTextLanguage = _MfgOrderComponentLongText.LongTextLanguage -- to extension
[1..1] E_ReservationDocumentItem _Extension $projection.Reservation = _Extension.Reservation and $projection.ReservationItem = _Extension.ReservationItem and $projection.ReservationRecordType = _Extension.RecordType

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IMFGORDERCOMP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #MANDATORY view
Analytics.dataCategory #DIMENSION view
Analytics.internalName #LOCAL view
ClientHandling.algorithm #SESSION_VARIABLE view
ClientHandling.type #CLIENT_DEPENDENT view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.representativeKey ReservationItem view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #COMPOSITE view
EndUserText.label Manufacturing Order Component view

Fields (236)

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
ManufacturingOrderCategory I_OrderComponent OrderCategory
ManufacturingOrderType I_OrderComponent OrderType
ManufacturingOrder
ManufacturingOrderSequence I_OrderComponent Sequence
MfgOrderSequenceCategory I_OrderComponent SequenceCategory
ManufacturingOrderOperation I_OrderComponent OrderOperation
ProductionPlant I_OrderComponent ProductionPlant
OrderInternalID I_OrderComponent OrderInternalID
OrderOperationInternalID I_OrderComponent OrderOperationInternalID
AssemblyMRPController
ProductionSupervisor I_LogisticsOrderBasic ProductionSupervisor
MatlCompRequirementDate I_OrderComponent MatlCompRequirementDate
MatlCompRequirementTime I_OrderComponent MatlCompRequirementTime
LatestRequirementDate I_OrderComponent LatestRequirementDate
MfgOrderActualReleaseDate I_LogisticsOrderBasic ActualReleasedDate
ReservationItemCreationCode I_OrderComponent ReservationItemCreationCode
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 I_OrderComponent WBSElementInternalID
ProductConfiguration I_OrderComponent ProductConfiguration
ChangeNumber I_OrderComponent ChangeNumber
MaterialRevisionLevel I_OrderComponent MaterialRevisionLevel
EffectivityParameterVariant I_OrderComponent EffectivityParameterVariant
MatlCompFreeDefinedAttribute I_OrderComponent MatlCompFreeDefinedAttribute
MaterialComponentSortText I_OrderComponent MaterialComponentSortText
ObjectInternalID I_OrderComponent ObjectInternalID
BillOfMaterialCategory I_OrderComponent BillOfMaterialCategory
BillOfMaterialInternalID I_OrderComponent BillOfMaterialInternalID
BillOfMaterialVariantUsage I_LogisticsOrderBasic BillOfMaterialVariantUsage
BillOfMaterialVariant I_OrderComponent BillOfMaterialVariant
BillOfMaterial
BillOfMaterialItemNodeNumber I_OrderComponent BOMItem
BillOfMaterialVersion I_OrderComponent BillOfMaterialVersion
BOMItemInternalChangeCount I_OrderComponent BOMItemInternalChangeCount
InheritedBOMItemNode I_OrderComponent InheritedBOMItemNode
BillOfMaterialItemCategory I_OrderComponent BOMItemCategory
BillOfMaterialItemNumber I_OrderComponent BillOfMaterialItemNumber
BOMItemDescription I_OrderComponent BOMItemDescription
BOMItemText2 I_OrderComponent BOMItemText2
BOMExplosionDateID I_OrderComponent BOMExplosionDateID
PurchasingInfoRecord I_OrderComponent PurchasingInfoRecord
PurchasingGroup I_OrderComponent PurchasingGroup
PurchaseRequisition I_OrderComponent PurchaseRequisition
PurchaseRequisitionItem I_OrderComponent PurchaseRequisitionItem
PurchaseOrder I_OrderComponent PurchaseOrder
PurchaseOrderItem I_OrderComponent PurchaseOrderItem
PurchaseOrderScheduleLine I_OrderComponent PurchaseOrderScheduleLine
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
Batch I_OrderComponent Batch
BatchEntryDeterminationCode
BatchSplitType I_OrderComponent BatchSplitType
BatchMasterReservationItem I_OrderComponent BatchMasterReservationItem
BatchClassification I_OrderComponent BatchClassification
MaterialStaging I_OrderComponent MaterialStaging
Warehouse I_OrderComponent Warehouse
StorageType I_OrderComponent StorageType
StorageBin I_OrderComponent StorageBin
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
EarmarkedFundsDocument I_OrderComponent EarmarkedFundsDocument
EarmarkedFundsDocumentItem
FundsCenter
Fund
CommitmentItem
CommitmentItemShortID I_OrderComponent CommitmentItemShortID
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
FollowUpMaterialIsNotActive I_OrderComponent FollowUpMaterialIsNotActive
FollowUpMaterialIsActive I_OrderComponent FollowUpMaterialIsActive
DiscontinuationMasterResvnItem I_OrderComponent DiscontinuationMasterResvnItem
MaterialProvisionType I_OrderComponent MaterialProvisionType
MatlComponentSparePartType I_OrderComponent MatlComponentSparePartType
LeadTimeOffset I_OrderComponent LeadTimeOffset
OperationLeadTimeOffsetUnit I_OrderComponent OperationLeadTimeOffsetUnit
OperationLeadTimeOffset I_OrderComponent OperationLeadTimeOffset
QuantityIsFixed I_OrderComponent QuantityIsFixed
IsNetScrap 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
CriticalComponentType I_OrderComponent CriticalComponentType
CriticalComponentLevel I_OrderComponent CriticalComponentLevel
_Reservation _Reservation
_ReservationItem _ReservationItem
_ReservationRecordType _ReservationRecordType
_MfgOrder _MfgOrder
_MfgOrderCategory _MfgOrderCategory
_MfgOrderType _MfgOrderType
_MfgOrderOperation _MfgOrderOperation
_MfgOrderOperationBySemKey _MfgOrderOperationBySemKey
_MfgOrderSequence _MfgOrderSequence
_MfgOrderSequenceCategory I_OrderComponent _SequenceCategory
_MfgOrderComponentLongText _MfgOrderComponentLongText
_OrderInternalID I_OrderComponent _OrderInternalID
_ProductionPlant I_OrderComponent _ProductionPlant
_AssemblyMRPController _AssemblyMRPController
_ProductionSupervisor _ProductionSupervisor
_RequirementType I_OrderComponent _RequirementType
_MaterialGroup I_OrderComponent _MaterialGroup
_Material I_OrderComponent _Material
_Product I_OrderComponent _Product
_ProductPlant I_OrderComponent _ProductPlant
_ProductStorageLocation I_OrderComponent _ProductStorageLocation
_ProductSupplyPlanning _ProductSupplyPlanning
_ProductUnitsOfMeasure _ProductUnitsOfMeasure
_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
_Warehouse I_OrderComponent _Warehouse
_FollowUpMaterial I_OrderComponent _FollowUpMaterial
_DiscontinuationType I_OrderComponent _DiscontinuationType
_ProvisionType I_OrderComponent _ProvisionType
_SparePartType I_OrderComponent _SparePartType
_PhantomAssembly I_OrderComponent _PhantomAssembly
_BOMExplosion I_OrderComponent _BOMExplosion
_BillOfMaterialItem I_OrderComponent _BillOfMaterialItem
_BOMItemCategory I_OrderComponent _BOMItemCategory
_SalesOrder I_OrderComponent _SalesOrder
_SalesOrderItem I_OrderComponent _SalesOrderItem
_WBSElementBasicData I_OrderComponent _WBSElementBasicData
_ChangeNumber I_OrderComponent _ChangeNumber
_MaterialRevisionLevel I_OrderComponent _MaterialRevisionLevel
_PurchasingGroup I_OrderComponent _PurchasingGroup
_PurchasingInfoRecord I_OrderComponent _PurchasingInfoRecord
_PurchaseOrder I_OrderComponent _PurchaseOrder
_PurchaseOrderItem I_OrderComponent _PurchaseOrderItem
_PurchaseRequisition I_OrderComponent _PurchaseRequisition
_PurchaseRequisitionItem I_OrderComponent _PurchaseRequisitionItem
_Supplier I_OrderComponent _Supplier
_SupplierCompanyByPlant _SupplierCompanyByPlant
_CompanyCode I_OrderComponent _CompanyCode
_BusinessArea I_OrderComponent _BusinessArea
_GLAccount I_OrderComponent _GLAccount
_ControllingArea I_OrderComponent _ControllingArea
_FunctionalArea I_OrderComponent _FunctionalArea
_AccountAssignmentCategory I_OrderComponent _AccountAssignmentCategory
_EarmarkedFunds I_OrderComponent _EarmarkedFunds
_EarmarkedFundsItem I_OrderComponent _EarmarkedFundsItem
_Fund I_OrderComponent _Fund
_FundsCenter I_OrderComponent _FundsCenter
_CommitmentItem I_OrderComponent _CommitmentItem
_CommitmentItemShortID I_OrderComponent _CommitmentItemShortID
_OpLeadTimeOffsetUnit I_OrderComponent _OpLeadTimeOffsetUnit
_VariableSizeItemUnit I_OrderComponent _VariableSizeItemUnit
_VariableSizeCompUnit I_OrderComponent _VariableSizeComponentUnit
_BaseUnit I_OrderComponent _BaseUnit
_EntryUnit I_OrderComponent _EntryUnit
_Currency I_OrderComponent _Currency
_LongTextLanguage I_OrderComponent _LongTextLanguage
_LongText I_OrderComponent _LongText
@AbapCatalog.sqlViewName: 'IMFGORDERCOMP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@AccessControl.privilegedAssociations: ['_AssemblyMRPController', '_ProductionSupervisor', '_LongText']
@Analytics.dataCategory: #DIMENSION
@Analytics.internalName: #LOCAL
@ClientHandling.algorithm: #SESSION_VARIABLE
@ClientHandling.type: #CLIENT_DEPENDENT
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE]
@ObjectModel.representativeKey: 'ReservationItem'
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Manufacturing Order Component'

// In later releases this view shall be C1-released as successor of I_MfgOrderOperationComponent


/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
define view I_ManufacturingOrderComponent
  as select from I_OrderComponent    as resb
    inner join I_LogisticsOrderBasic as afko on afko.OrderID = resb.OrderID

  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_MfgOrderOperationBySemKey   as _MfgOrderOperationBySemKey   on  $projection.ManufacturingOrder          = _MfgOrderOperationBySemKey.ManufacturingOrder
                                                                                      and $projection.ManufacturingOrderSequence  = _MfgOrderOperationBySemKey.ManufacturingOrderSequence
                                                                                      and $projection.ManufacturingOrderOperation = _MfgOrderOperationBySemKey.ManufacturingOrderOperation
  association [1..1] to I_MfgOrderCategory            as _MfgOrderCategory            on  $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory
  association [1..1] to I_MfgOrderType                as _MfgOrderType                on  $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType
  association [0..1] to I_ProductSupplyPlanning       as _ProductSupplyPlanning       on  $projection.Material = _ProductSupplyPlanning.Product
                                                                                      and $projection.Plant    = _ProductSupplyPlanning.Plant                                                                                        
  association [1..*] to I_ProductUnitsOfMeasure       as _ProductUnitsOfMeasure       on  $projection.Material = _ProductUnitsOfMeasure.Product
  association [0..1] to I_MRPController               as _AssemblyMRPController       on  $projection.Plant                 = _AssemblyMRPController.Plant
                                                                                      and $projection.AssemblyMRPController = _AssemblyMRPController.MRPController
  association [0..1] to I_ProductionSupervisor        as _ProductionSupervisor        on  $projection.Plant                = _ProductionSupervisor.Plant
                                                                                      and $projection.ProductionSupervisor = _ProductionSupervisor.ProductionSupervisor
  association [0..1] to I_SupplierCompanyByPlant      as _SupplierCompanyByPlant      on  $projection.Plant    = _SupplierCompanyByPlant.Plant
                                                                                      and $projection.Supplier = _SupplierCompanyByPlant.Supplier

  -- to root
  association [1..1] to I_ManufacturingOrder          as _MfgOrder                    on  $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
  -- to parents
  association [0..1] to I_ManufacturingOrderSequence  as _MfgOrderSequence            on  $projection.ManufacturingOrder         = _MfgOrderSequence.ManufacturingOrder
                                                                                      and $projection.ManufacturingOrderSequence = _MfgOrderSequence.ManufacturingOrderSequence
  association [0..1] to I_ManufacturingOrderOperation as _MfgOrderOperation           on  $projection.OrderInternalID          = _MfgOrderOperation.MfgOrderInternalID 
                                                                                      and $projection.OrderOperationInternalID = _MfgOrderOperation.OrderOperationInternalID
  -- to child
  association [0..1] to I_MfgOrderComponentLongText   as _MfgOrderComponentLongText   on  $projection.Reservation           = _MfgOrderComponentLongText.Reservation
                                                                                      and $projection.ReservationItem       = _MfgOrderComponentLongText.ReservationItem
                                                                                      and $projection.ReservationRecordType = _MfgOrderComponentLongText.RecordType
                                                                                      and $projection.LongTextLanguage      = _MfgOrderComponentLongText.LongTextLanguage
  -- 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
{
      // Key

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

      //Material data

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

      // Order and Operation data

      @ObjectModel.foreignKey.association: '_MfgOrderCategory'
      resb.OrderCategory                                           as ManufacturingOrderCategory,
      @ObjectModel.foreignKey.association: '_MfgOrderType'
      resb.OrderType                                               as ManufacturingOrderType,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderStdVH', element: 'ManufacturingOrder' } } ]
      @ObjectModel.foreignKey.association: '_MfgOrder'
      cast(resb.OrderID as manufacturingorder preserving type)     as ManufacturingOrder,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderSequenceStdVH', element: 'ManufacturingOrderSequence' } } ]
      @ObjectModel.foreignKey.association: '_MfgOrderSequence'
      resb.Sequence                                                as ManufacturingOrderSequence,
      @ObjectModel.foreignKey.association: '_MfgOrderSequenceCategory'
      resb.SequenceCategory                                        as MfgOrderSequenceCategory,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrdOpBySemanticKeyStdVH', element: 'ManufacturingOrderOperation' } } ]
      @ObjectModel.foreignKey.association: '_MfgOrderOperationBySemKey'
      resb.OrderOperation                                          as ManufacturingOrderOperation,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
      @ObjectModel.foreignKey.association: '_ProductionPlant'
      resb.ProductionPlant,
      @ObjectModel.foreignKey.association: '_OrderInternalID'
      resb.OrderInternalID,
      @ObjectModel.foreignKey.association: '_MfgOrderOperation'
      resb.OrderOperationInternalID,
      @ObjectModel.foreignKey.association: '_AssemblyMRPController'
      cast(afko.MRPController as assymrpcontrl preserving type)    as AssemblyMRPController,
      @ObjectModel.foreignKey.association: '_ProductionSupervisor'
      afko.ProductionSupervisor,

      // Date and Time

      @Semantics.businessDate.at: true
      resb.MatlCompRequirementDate,
      resb.MatlCompRequirementTime,
      resb.LatestRequirementDate,
      afko.ActualReleasedDate                                      as MfgOrderActualReleaseDate,

      // Attributes

      resb.ReservationItemCreationCode,
      resb.ReservationIsFinallyIssued,
      resb.MatlCompIsMarkedForDeletion,
      resb.MaterialComponentIsMissing,
      resb.IsBulkMaterialComponent,
      resb.MatlCompIsMarkedForBackflush,
      resb.MatlCompIsTextItem,
      resb.MaterialPlanningRelevance,
      resb.MatlCompIsConfigurable,
      resb.MaterialComponentIsClassified,
      resb.MaterialCompIsIntraMaterial,
      resb.MaterialIsDirectlyProduced,
      resb.MaterialIsDirectlyProcured,

      // Text

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

      // Assignments

      @ObjectModel.foreignKey.association: '_RequirementType'
      resb.RequirementType,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_SalesOrderStdVH', element: 'SalesOrder' } } ]
      @ObjectModel.foreignKey.association: '_SalesOrder'
      resb.SalesOrder,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_SalesOrderItemStdVH', element: 'SalesOrderItem' } } ]
      @ObjectModel.foreignKey.association: '_SalesOrderItem'
      resb.SalesOrderItem,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_WBSElementBasicDataStdVH', element: 'WBSElementInternalID' } } ]
      @ObjectModel.foreignKey.association: '_WBSElementBasicData'
      resb.WBSElementInternalID,
      resb.ProductConfiguration,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ChangeMasterStdVH', element: 'ChangeNumber' } } ]
      @ObjectModel.foreignKey.association: '_ChangeNumber'
      resb.ChangeNumber,
      resb.MaterialRevisionLevel,
      resb.EffectivityParameterVariant,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'MaterialComponentSortText'
      resb.MatlCompFreeDefinedAttribute,
      resb.MaterialComponentSortText,
      resb.ObjectInternalID,

      // Assignments BOM

      resb.BillOfMaterialCategory,
      resb.BillOfMaterialInternalID,
      afko.BillOfMaterialVariantUsage,
      resb.BillOfMaterialVariant,
      cast(afko.BillOfMaterial as pph_stnum preserving type)       as BillOfMaterial,
      resb.BOMItem                                                 as BillOfMaterialItemNodeNumber,
      resb.BillOfMaterialVersion,
      resb.BOMItemInternalChangeCount,
      resb.InheritedBOMItemNode,
      resb.BOMItemCategory                                         as BillOfMaterialItemCategory,
      resb.BillOfMaterialItemNumber,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'MaterialComponentText'
      resb.BOMItemDescription,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'MaterialComponentSecondText'
      resb.BOMItemText2,
      @ObjectModel.foreignKey.association: '_BOMExplosion'
      resb.BOMExplosionDateID,

      // Assignments Purchasing

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchasingInfoRecordStdVH', element: 'PurchasingInfoRecord' } } ]      
      resb.PurchasingInfoRecord,
      @ObjectModel.foreignKey.association: '_PurchasingGroup'
      resb.PurchasingGroup,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseRequisitionStdVH', element: 'PurchaseRequisition' } } ]
      resb.PurchaseRequisition,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseRequisitionItemStdVH', element: 'PurchaseRequisitionItem' } } ]
      resb.PurchaseRequisitionItem,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseOrderStdVH', element: 'PurchaseOrder' } } ]
      resb.PurchaseOrder,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseOrderItemStdVH', element: 'PurchaseOrderItem' } } ]
      resb.PurchaseOrderItem,
      resb.PurchaseOrderScheduleLine,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_Supplier_VH', element: 'Supplier' } } ]
      @ObjectModel.foreignKey.association: '_Supplier'
      resb.Supplier,
      resb.DeliveryDurationInDays,
      resb.MaterialGoodsReceiptDuration,
      -- Price
      @Aggregation.default: #SUM
      @Semantics.amount.currencyCode: 'Currency'
      resb.ExternalProcessingPrice,
      resb.NumberOfPriceUnits                                      as NumberOfOperationPriceUnits,   

      // Goods Movement data

      resb.GoodsMovementIsAllowed,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      resb.StorageLocation,
      @ObjectModel.foreignKey.association: '_DebitCreditCode'
      resb.DebitCreditCode,
      @ObjectModel.foreignKey.association: '_GoodsMovementType'
      resb.GoodsMovementType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockType'
      resb.InventorySpecialStockType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockValnType'
      resb.InventorySpecialStockValnType,
      @ObjectModel.foreignKey.association: '_ConsumptionPosting'
      resb.ConsumptionPosting,
      @ObjectModel.foreignKey.association: '_SupplyArea'
      resb.SupplyArea,
      @Semantics.text: true
      resb.GoodsRecipientName,
      @Semantics.text: true
      resb.UnloadingPointName,
      resb.StockSegment,
      resb.RequirementSegment,

      // Batch data

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

      // Assignments WM

      resb.MaterialStaging,
      @ObjectModel.foreignKey.association: '_Warehouse'
      resb.Warehouse,
      resb.StorageType,
      resb.StorageBin,

      // Assignments FI/CO

      resb.MaterialCompCostingRelevancy,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_BusinessAreaStdVH', element: 'BusinessArea' } } ]
      @ObjectModel.foreignKey.association: '_BusinessArea'
      resb.BusinessArea,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_CompanyCodeStdVH', element: 'CompanyCode' } } ]
      @ObjectModel.foreignKey.association: '_CompanyCode'
      resb.CompanyCode,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_GLAccountStdVH', element: 'GLAccount' } } ]
      @ObjectModel.foreignKey.association: '_GLAccount'
      resb.GLAccount,
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      resb.FunctionalArea,
      @ObjectModel.foreignKey.association: '_ControllingArea'
      resb.ControllingArea,
      @ObjectModel.foreignKey.association: '_AccountAssignmentCategory'
      resb.AccountAssignmentCategory,
      @ObjectModel.foreignKey.association: '_EarmarkedFunds'
      resb.EarmarkedFundsDocument,
--    @ObjectModel.foreignKey.association: '_EarmarkedFundsItem'
      resb.EarmarkedFundsDocumentItem,
--    @ObjectModel.foreignKey.association: '_FundsCenter'    
      resb.FundsCenter,
--    @ObjectModel.foreignKey.association: '_Fund'
      resb.Fund,
--    @ObjectModel.foreignKey.association: '_CommitmentItem'
      resb.CommitmentItem,
      resb.CommitmentItemShortID,

      // Variable-size item data

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

      resb.MaterialCompIsAlternativeItem,
      resb.AlternativeItemGroup,
      resb.AlternativeItemStrategy,
      resb.AlternativeItemPriority,
      resb.UsageProbabilityPercent,
      resb.AlternativeMstrReservationItem,

      // Phantom assembly

      resb.MaterialComponentIsPhantomItem,
      resb.OrderPathValue,
      resb.OrderLevelValue,
      @ObjectModel.foreignKey.association: '_PhantomAssembly'
      resb.Assembly,
      resb.AssemblyOrderPathValue,
      resb.AssemblyOrderLevelValue,

      // Discontinuation

      resb.DiscontinuationGroup,
      @ObjectModel.foreignKey.association: '_DiscontinuationType'
      resb.MatlCompDiscontinuationType,
      resb.MatlCompIsFollowUpMaterial,
      resb.FollowUpGroup,
      @ObjectModel.foreignKey.association: '_FollowUpMaterial'
      resb.FollowUpMaterial,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'FollowUpMaterialIsActive'
      resb.FollowUpMaterialIsNotActive,
      resb.FollowUpMaterialIsActive,
      resb.DiscontinuationMasterResvnItem,

      // Material provision

      @ObjectModel.foreignKey.association: '_ProvisionType'
      resb.MaterialProvisionType,

      // Spare part

      @ObjectModel.foreignKey.association: '_SparePartType'
      resb.MatlComponentSparePartType,

      // Lead-Time offset

      resb.LeadTimeOffset,
      @Semantics.unitOfMeasure: true
      resb.OperationLeadTimeOffsetUnit,
      resb.OperationLeadTimeOffset,

      // Quantities and UoM

      resb.QuantityIsFixed,
      resb.IsNetScrap,
      resb.ComponentScrapInPercent,
      resb.OperationScrapInPercent,
      resb.MaterialQtyToBaseQtyNmrtr,
      resb.MaterialQtyToBaseQtyDnmntr,
      -- Base unit
      @Semantics.unitOfMeasure: true
      resb.BaseUnit,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      resb.RequiredQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      resb.WithdrawnQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      resb.ConfirmedAvailableQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      resb.MaterialCompOriginalQuantity,
      -- Entry unit
      @Semantics.unitOfMeasure: true
      resb.EntryUnit,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      @Aggregation.default: #SUM
      resb.GoodsMovementEntryQty,

      // Amount and Currency

      @Semantics.currencyCode: true
      resb.Currency,
      @Aggregation.default: #SUM
      @Semantics.amount.currencyCode: 'Currency'
      resb.WithdrawnQuantityAmount,

      // Fashion Manufacturing Fields

      resb.CriticalComponentType,
      resb.CriticalComponentLevel,
            
      // Associations

      _Reservation,
      _ReservationItem,
      _ReservationRecordType,
      _MfgOrder,
      _MfgOrderCategory,
      _MfgOrderType,
      _MfgOrderOperation,
      _MfgOrderOperationBySemKey,
      _MfgOrderSequence,
      resb._SequenceCategory as _MfgOrderSequenceCategory,
      _MfgOrderComponentLongText,
      @Consumption.hidden: true
      resb._OrderInternalID,
      resb._ProductionPlant,
      _AssemblyMRPController,
      _ProductionSupervisor,
      resb._RequirementType,
      resb._MaterialGroup,
      resb._Material,
      resb._Product,
      resb._ProductPlant,
      resb._ProductStorageLocation,
      _ProductSupplyPlanning,
      _ProductUnitsOfMeasure,
      resb._Plant,
      resb._StorageLocation,
      resb._Batch,
      resb._BatchSplitType,
      resb._DebitCreditCode,
      resb._GoodsMovementType,
      resb._InventorySpecialStockType,
      resb._InventorySpecialStockValnType,
      resb._ConsumptionPosting,
      resb._SupplyArea,
      resb._Warehouse,
      resb._FollowUpMaterial,
      resb._DiscontinuationType,
      resb._ProvisionType,
      resb._SparePartType,
      resb._PhantomAssembly,
      resb._BOMExplosion,
      resb._BillOfMaterialItem,
      resb._BOMItemCategory,
      resb._SalesOrder,
      resb._SalesOrderItem,
      resb._WBSElementBasicData,
      resb._ChangeNumber,
      resb._MaterialRevisionLevel,
      resb._PurchasingGroup,
      resb._PurchasingInfoRecord,
      resb._PurchaseOrder,
      resb._PurchaseOrderItem,
      resb._PurchaseRequisition,
      resb._PurchaseRequisitionItem,
      resb._Supplier,
      @Consumption.hidden: true
      _SupplierCompanyByPlant,
      resb._CompanyCode,
      resb._BusinessArea,
      resb._GLAccount,
      resb._ControllingArea,
      resb._FunctionalArea,
      resb._AccountAssignmentCategory,
      resb._EarmarkedFunds,
      resb._EarmarkedFundsItem,
      resb._Fund,
      resb._FundsCenter,
      resb._CommitmentItem,
      resb._CommitmentItemShortID,
      resb._OpLeadTimeOffsetUnit,
      resb._VariableSizeItemUnit,
      resb._VariableSizeComponentUnit as _VariableSizeCompUnit,
      resb._BaseUnit,
      resb._EntryUnit,
      resb._Currency,
      resb._LongTextLanguage,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_MfgOrderComponentLongText'
      resb._LongText
}
where
    ( resb.OrderCategory = '10' or     // Manufacturing Orders only

      resb.OrderCategory = '40' ) and
      resb.MaterialIsCoProduct =  '';  // no Co-Products

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LOGISTICSORDERBASIC",
"I_ORDERCOMPONENT"
],
"ASSOCIATED":
[
"E_RESERVATIONDOCUMENTITEM",
"I_ACCOUNTASSIGNMENTCATEGORY",
"I_BATCH",
"I_BATCHSPLITTYPE",
"I_BILLOFMATERIALITEMBASIC",
"I_BILLOFMATERIALITEMCATEGORY",
"I_BOMEXPLOSIONDATE",
"I_BUSINESSAREA",
"I_CHANGEMASTER",
"I_CHANGEMSTROBJTYPEREVISIONLVL",
"I_COMMITMENTITEM",
"I_COMMITMENTITEMSHORTID",
"I_COMPANYCODE",
"I_CONSUMPTIONPOSTING",
"I_CONTROLLINGAREA",
"I_CURRENCY",
"I_DEBITCREDITCODE",
"I_EARMARKEDFUNDSDOCUMENT",
"I_EARMARKEDFUNDSDOCUMENTITEM",
"I_FUNCTIONALAREA",
"I_FUND",
"I_FUNDSCENTER",
"I_GLACCOUNT",
"I_GOODSMOVEMENTTYPE",
"I_INVENTORYSPECIALSTOCKTYPE",
"I_INVTRYSPECIALSTOCKVALNTYPE",
"I_LANGUAGE",
"I_MANUFACTURINGORDER",
"I_MANUFACTURINGORDEROPERATION",
"I_MANUFACTURINGORDERSEQUENCE",
"I_MATERIAL",
"I_MATERIALGROUP",
"I_MATERIALREQUIREMENTTYPE",
"I_MATLCOMPDISCONTINUATIONTYPE",
"I_MATLCOMPPROVISIONTYPE",
"I_MATLCOMPSPAREPARTTYPE",
"I_MFGORDERCATEGORY",
"I_MFGORDERCOMPONENTLONGTEXT",
"I_MFGORDEROPERATIONBYSEMKEY",
"I_MFGORDERTYPE",
"I_MRPCONTROLLER",
"I_ORDERCOMPONENTLONGTEXT",
"I_ORDERINTERNALID",
"I_PLANT",
"I_PRODUCT",
"I_PRODUCTIONSUPERVISOR",
"I_PRODUCTIONSUPPLYAREA",
"I_PRODUCTPLANTBASIC",
"I_PRODUCTSTORAGELOCATIONBASIC",
"I_PRODUCTSUPPLYPLANNING",
"I_PRODUCTUNITSOFMEASURE",
"I_PURCHASEORDERAPI01",
"I_PURCHASEORDERITEMAPI01",
"I_PURCHASEREQUISITION",
"I_PURCHASEREQUISITIONITEMAPI01",
"I_PURCHASINGGROUP",
"I_PURCHASINGINFORECORDAPI01",
"I_RESERVATIONDOCRECORDTYPE",
"I_RESERVATIONDOCUMENTHEADER",
"I_RESERVATIONDOCUMENTITEM",
"I_SALESORDER",
"I_SALESORDERITEM",
"I_SEQUENCECATEGORY",
"I_STORAGELOCATION",
"I_SUPPLIER",
"I_SUPPLIERCOMPANYBYPLANT",
"I_UNITOFMEASURE",
"I_WAREHOUSE",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_ORDERCOMPONENT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/