I_MFGORDEROPERATIONCOMPONENT

CDS View

Manufacturing Order Operation Component

I_MFGORDEROPERATIONCOMPONENT is a CDS View in S/4HANA. Manufacturing Order Operation Component. It contains 182 fields. 27 CDS views read from this table.

CDS Views using this table (27)

ViewTypeJoinVDMDescription
A_ProcessOrderComponent view_entity from COMPOSITE API for Process Order Components
A_ProcessOrderComponent_2 view_entity from COMPOSITE Process Order Components
A_ProductionOrderComponent view_entity from COMPOSITE API Production Order Components
A_ProductionOrderComponent_2 view_entity from COMPOSITE Production Order Components
A_ProductionOrderComponent_3 view_entity from COMPOSITE Production Order Components Extended
A_ProductionOrderComponent_4 view_entity from COMPOSITE Production Order Components Using RAP BO
C_MfgOrderObjPgComp view_entity from CONSUMPTION Manufacturing Order Object Page Com
C_MfgOrderOperationMissingComp view from CONSUMPTION Mfg Order Operation Missing Component
C_MfgQualifnOpActyAssgmt view inner CONSUMPTION Qualification Assignment to OA
I_MfgOrderOpComponentDataList view from COMPOSITE Mfg Order Component (Data List)
I_MfgOrderOpComponentPickList view from COMPOSITE Mfg Order Component (Pick List)
I_MfgOrderOperationCompCube view from COMPOSITE Manufacturing Order Operation Component - Cube
I_MfgOrderOperationCompWithSts view from COMPOSITE Manufacturing Order Component with Header Status
I_MRPManufacturingComponent view from COMPOSITE MRP Manufacturing Components
I_OpActySFIGroupCompDetail view inner COMPOSITE Detail of a component of a group of SFI at OA
I_OpActySFIGrpAssyByComponent view_entity inner COMPOSITE SFI Group at OpActy Component
P_Mfgcompsmissaggr view_entity from CONSUMPTION Group the ComponentIsMissing flags for all components
P_Mfgordcompmissaggr view_entity from CONSUMPTION Group the ComponentsIsMissing flags for all comps for Order
P_MfgOrderOperationCompMatl view from CONSUMPTION
P_MPEProdnOrdMatlIsMissing view_entity from CONSUMPTION
P_MPEProdnOrdOperMissMatCount view_entity from CONSUMPTION Production Order Operation Missing Mat Count, private View
P_MPEProdnOrdOpMatlIsMissing view_entity from CONSUMPTION
P_OpActyComponentAssignmentDMU view inner COMPOSITE
P_OpActyPlndComponentPerSFI view inner COMPOSITE
P_OperationActivityCompUnion view inner CONSUMPTION
P_ProcOrdMisgCompAggrgn view from COMPOSITE
P_ShopFloorItemAtOpActyComp view inner CONSUMPTION

Fields (182)

KeyField CDS FieldsUsed in Views
KEY ManufacturingOrder ManufacturingOrder 9
KEY Material Material,MaterialComponent 12
KEY OrderIntBillOfOperationsItem OrderIntBillOfOperationsItem 6
KEY OrderInternalBillOfOperations OrderInternalBillOfOperations 7
KEY Plant MRPPlant,Plant,ProductionPlant 10
KEY RecordType RecordType 8
KEY Reservation Reservation 8
KEY ReservationItem ReservationItem 8
_AccountAssignmentCategory _AccountAssignmentCategory 1
_AssemblyMRPController _AssemblyMRPController 1
_BaseUnit _BaseUnit 3
_Batch _Batch 2
_BatchSplitType _BatchSplitType 2
_BOMExplosion _BOMExplosion 2
_BOMItemCategory _BOMItemCategory 2
_BusinessArea _BusinessArea 2
_ChangeNumber _ChangeNumber 1
_CompanyCode _CompanyCode 2
_ConsumptionPosting _ConsumptionPosting 1
_Currency _Currency 1
_DebitCreditCode _DebitCreditCode 3
_EntryUnit _EntryUnit 2
_FunctionalArea _FunctionalArea 1
_GLAccount _GLAccount 1
_GoodsMovementType _GoodsMovementType 2
_InventorySpecialStockType _InventorySpecialStockType 2
_InventorySpecialStockValnType _InventorySpecialStockValnType 1
_LongText _LongText 1
_LongTextLanguage _LongTextLanguage 2
_ManufacturingOrder _ManufacturingOrder 3
_Material _Material 6
_MaterialGroup _MaterialGroup 2
_MatlCompDiscontinuationType _MatlCompDiscontinuationType 2
_MfgOrder _MfgOrder 4
_MfgOrderCategory _MfgOrderCategory 3
_MfgOrderComponentLongText _MfgOrderComponentLongText 1
_MfgOrderOperation _MfgOrderOperation 2
_MfgOrderOperationBySemanKey _MfgOrderOperationBySemanKey 3
_MfgOrderOperationBySemKey _MfgOrderOperationBySemKey 1
_MfgOrderSequence _MfgOrderSequence 3
_MfgOrderType _MfgOrderType 3
_OrderInternalID _OrderInternalID 1
_OrdInternalBillOfOperations _OrdInternalBillOfOperations 2
_Plant _Plant 6
_Product _Product 2
_ProductionPlant _ProductionPlant 4
_ProductionSupervisor _ProductionSupervisor 2
_ProductPlant _ProductPlant 2
_ProductPlant2 _ProductPlant2 1
_PurchaseOrder _PurchaseOrder 1
_PurchaseOrderItem _PurchaseOrderItem 1
_PurchaseRequisition _PurchaseRequisition 1
_PurchaseRequisitionItem _PurchaseRequisitionItem 1
_PurchaseRequisitionItem2 _PurchaseRequisitionItem2 1
_PurchasingGroup _PurchasingGroup 1
_PurchasingInfoRecord _PurchasingInfoRecord 1
_RequirementType _RequirementType 2
_Reservation _Reservation 3
_ReservationDocRecordType _ReservationDocRecordType 2
_ReservationItem _ReservationItem 3
_SalesOrder _SalesOrder 2
_SalesOrderItem _SalesOrderItem 2
_StorageLocation _StorageLocation 5
_SupplyArea _SupplyArea 3
_Warehouse _Warehouse 1
_WBSElement _WBSElement 1
AccountAssignmentCategory AccountAssignmentCategory 1
AlternativeItemGroup AlternativeItemGroup 4
AlternativeItemPriority AlternativeItemPriority 2
AlternativeItemStrategy AlternativeItemStrategy 2
AlternativeMstrReservationItem AlternativeMstrReservationItem 1
Assembly Assembly 1
AssemblyMRPController AssemblyMRPController,MRPController 2
BaseUnit BaseUnit 12
Batch Batch 6
BatchMasterReservationItem BatchMasterReservationItem 2
BatchSplitType BatchSplitType 3
BillOfMaterial BillOfMaterial 3
BillOfMaterialCategory BillOfMaterialCategory 3
BillOfMaterialInternalID BillOfMaterialInternalID 3
BillOfMaterialInternalID_2 BillOfMaterialInternalID 2
BillOfMaterialItemNumber BillOfMaterialItemNumber 3
BillOfMaterialItemNumber_2 BillOfMaterialItemNumber 2
BillOfMaterialVariant BillOfMaterialVariant 5
BillOfMaterialVariantUsage BillOfMaterialVariantUsage 1
BillOfMaterialVersion BillOfMaterialVersion 4
BOMExplosionDateID BOMExplosionDateID 2
BOMItem BillOfMaterialItemNodeNumber,BOMItem 7
BOMItemCategory BillOfMaterialItemCategory,BOMItemCategory 7
BOMItemDescription BOMItemDescription 5
BOMItemInternalChangeCount BOMItemInternalChangeCount 5
BusinessArea BusinessArea 2
ChangeNumber ChangeNumber 1
CompanyCode CompanyCode 2
ComponentScrapInPercent ComponentScrapInPercent 2
ConfirmedAvailableQuantity CommittedQuantity,ConfirmedAvailableQuantity 3
ConsumptionPosting ConsumptionPosting 1
Currency Currency 1
DebitCreditCode DebitCreditCode 5
DeliveryDurationInDays DeliveryDurationInDays 1
EffectivityParameterVariant EffectivityParameterVariant 2
EntryUnit EntryUnit 4
FormulaKey FormulaKey 4
FunctionalArea FunctionalArea 1
GLAccount GLAccount 1
GoodsMovementEntryQty GoodsMovementEntryQty 4
GoodsMovementIsAllowed GoodsMovementIsAllowed 5
GoodsMovementType GoodsMovementType 3
GoodsRecipientName GoodsRecipientName 1
InheritedBOMItemNode InheritedBOMItemNode 3
InventorySpecialStockType InventorySpecialStockType 3
InventorySpecialStockValnType InventorySpecialStockValnType 1
IsBulkMaterialComponent IsBulkMaterialComponent 5
IsNetScrap IsNetScrap 2
LeadTimeOffset LeadTimeOffset 1
LongTextExists LongTextExists 2
LongTextLanguageCode LongTextLanguageCode 3
ManufacturingOrderCategory ManufacturingOrderCategory 5
ManufacturingOrderOperation ManufacturingOrderOperation 4
ManufacturingOrderOperation_2 ManufacturingOrderOperation_2 1
ManufacturingOrderSequence ManufacturingOrderSequence 5
ManufacturingOrderType ManufacturingOrderType 5
MaterialCompIsAlternativeItem MaterialCompIsAlternativeItem 4
MaterialCompIsCostRelevant MaterialCompIsCostRelevant 1
MaterialCompIsIntraMaterial MaterialCompIsIntraMaterial 2
MaterialCompIsVariableSized MaterialCompIsVariableSized 2
MaterialComponentIsClassified MaterialComponentIsClassified 1
MaterialComponentIsMissing MaterialComponentIsMissing 5
MaterialComponentIsPhantomItem MaterialComponentIsPhantomItem 3
MaterialComponentSortText MaterialComponentSortText 3
MaterialCompOriginalQuantity MaterialCompOriginalQuantity 2
MaterialGroup MaterialGroup 3
MatlCompDiscontinuationType MatlCompDiscontinuationType 5
MatlCompIsConfigurable MatlCompIsConfigurable 2
MatlCompIsFollowUpMaterial MatlCompIsFollowUpMaterial 1
MatlCompIsMarkedForBackflush MatlCompIsMarkedForBackflush 5
MatlCompIsMarkedForDeletion MatlCompIsMarkedForDeletion 3
MatlCompIsTextItem MatlCompIsTextItem 2
MatlCompRequirementDate MatlCompRequirementDate,RequirementDate 6
MatlCompRequirementTime MatlCompRequirementTime 2
OperationLeadTimeOffset OperationLeadTimeOffset 1
OperationLeadTimeOffsetUnit OperationLeadTimeOffsetUnit 1
OperationScrapInPercent OperationScrapInPercent 2
OrderLevelValue OrderLevelValue 1
OrderPathValue OrderPathValue 1
OriginalReservation OriginalReservation 3
OriginalReservationItem OriginalReservationItem 3
ProductConfiguration ProductConfiguration 1
ProductionPlant ProductionPlant 8
ProductionSupervisor ProductionSupervisor 3
PurchasingGroup PurchasingGroup 2
PurchasingInfoRecord PurchasingInfoRecord 1
QuantityIsFixed QuantityIsFixed 2
RequiredQuantity OrderedQuantity,RequiredQuantity 5
RequirementSegment RequirementSegment 2
RequirementType RequirementType 3
ReservationIsFinallyIssued ReservationIsFinallyIssued 5
ReservationItemCreationCode ReservationItemCreationCode 1
SalesOrder SalesOrder 3
SalesOrderItem SalesOrderItem 3
SortField SortField 1
StockSegment StockSegment 2
StorageBin StorageBin 1
StorageLocation StorageLocation 9
StorageType StorageType 1
Supplier Supplier 1
SupplyArea SupplyArea 3
UnloadingPointName UnloadingPointName 1
UsageProbabilityPercent UsageProbabilityPercent 5
VariableSizeComponentQuantity VariableSizeComponentQuantity 4
VariableSizeComponentUnit VariableSizeComponentUnit 4
VariableSizeDimension1 VariableSizeDimension1 3
VariableSizeDimension2 VariableSizeDimension2 3
VariableSizeDimension3 VariableSizeDimension3 3
VariableSizeDimensionUnit VariableSizeDimensionUnit 3
VariableSizeItemQuantity VariableSizeItemQuantity 1
VariableSizeItemUnit VariableSizeItemUnit 4
Warehouse Warehouse 1
WBSElementInternalID WBSElementInternalID 2
WBSElementInternalID_2 WBSElementInternalID,WBSElementInternalID_2 2
WithdrawnQuantity WithdrawnQuantity 4
WithdrawnQuantityAmount WithdrawnQuantityAmount 1
@AbapCatalog.sqlViewName: 'IPPMFGORDOPCOMP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@AccessControl.privilegedAssociations: ['_AssemblyMRPController', '_ProductionSupervisor', '_LongText']
@Analytics.dataCategory: #DIMENSION
@Analytics.dataExtraction: { enabled: true,
                             delta.changeDataCapture:
                                    { mapping:
                                      [ { role: #MAIN,
                                          table: 'resb',
                                          tableElement: ['rsnum'      , 'rspos'          , 'rsart'],
                                          viewElement:  ['Reservation', 'ReservationItem', 'RecordType']
                                        },
                                        { role: #LEFT_OUTER_TO_ONE_JOIN,
                                          table: 'aufk',
                                          tableElement: ['aufnr'],
                                          viewElement:  ['ManufacturingOrder']
                                        },
                                        { role: #LEFT_OUTER_TO_ONE_JOIN,
                                          table: 'afko',
                                          tableElement: ['aufnr'],
                                          viewElement:  ['ManufacturingOrder']
                                        } ] } }
@Analytics.internalName: #LOCAL
@ClientHandling.algorithm: #SESSION_VARIABLE
@ClientHandling.type: #CLIENT_DEPENDENT
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #EXTRACTION_DATA_SOURCE, #ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET]
@ObjectModel.representativeKey: 'ReservationItem'
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #BASIC
@EndUserText.label: 'Manufacturing Order Operation Component'

/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
define view I_MfgOrderOperationComponent
  as select from P_MfgOrderOpReservationItem as resb

  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.RecordType      = _ReservationItem.RecordType
  association [0..1] to I_ReservationDocRecordType     as _ReservationDocRecordType    on  $projection.RecordType = _ReservationDocRecordType.RecordType
  association [1..1] to I_ManufacturingOrder           as _ManufacturingOrder          on  $projection.ManufacturingOrder = _ManufacturingOrder.ManufacturingOrder
  association [1..1] to I_ManufacturingOrderSequence   as _ManufacturingOrderSequence  on  $projection.ManufacturingOrder         = _ManufacturingOrderSequence.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence = _ManufacturingOrderSequence.ManufacturingOrderSequence
  association [1..1] to I_MfgOrder                     as _MfgOrder                    on  $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
  association [1..1] to I_MfgOrderSequence             as _MfgOrderSequence            on  $projection.ManufacturingOrder         = _MfgOrderSequence.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence = _MfgOrderSequence.ManufacturingOrderSequence
  association [0..1] to I_SequenceCategory             as _MfgOrderSequenceCategory    on  $projection.MfgOrderSequenceCategory = _MfgOrderSequenceCategory.SequenceCategory
  association [1..1] to I_MfgOrderOperationBasic       as _MfgOrderOperation           on  $projection.OrderInternalBillOfOperations = _MfgOrderOperation.OrderInternalBillOfOperations
                                                                                       and $projection.OrderIntBillOfOperationsItem  = _MfgOrderOperation.OrderIntBillOfOperationsItem
  association [1..1] to I_MfgOrderOperationBySemanKey  as _MfgOrderOperationBySemanKey on  $projection.ManufacturingOrder          = _MfgOrderOperationBySemanKey.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence  = _MfgOrderOperationBySemanKey.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation = _MfgOrderOperationBySemanKey.ManufacturingOrderOperation
  association [1..1] to I_MfgOrderOperationBySemKey    as _MfgOrderOperationBySemKey   on  $projection.ManufacturingOrder            = _MfgOrderOperationBySemKey.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence    = _MfgOrderOperationBySemKey.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2 = _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 [1..1] to I_Plant                        as _ProductionPlant             on  $projection.ProductionPlant = _ProductionPlant.Plant
  association [1..1] to I_OrdInternalBillOfOperations  as _OrdInternalBillOfOperations on  $projection.OrderInternalBillOfOperations = _OrdInternalBillOfOperations.OrderInternalBillOfOperations
  association [1..1] to I_OrderInternalID              as _OrderInternalID             on  $projection.OrderInternalBillOfOperations = _OrderInternalID.OrderInternalID
  association [1..1] to I_MaterialRequirementType      as _RequirementType             on  $projection.RequirementType = _RequirementType.RequirementType
  association [1..1] to I_MaterialGroup                as _MaterialGroup               on  $projection.MaterialGroup = _MaterialGroup.MaterialGroup
  association [1..1] to I_Material                     as _Material                    on  $projection.Material = _Material.Material
  association [1..1] to I_Product                      as _Product                     on  $projection.Material = _Product.Product
  association [1..1] to I_Plant                        as _Plant                       on  $projection.Plant = _Plant.Plant
  association [1..1] to I_ProductPlant                 as _ProductPlant                on  $projection.Material = _ProductPlant.Product
                                                                                       and $projection.Plant    = _ProductPlant.Plant
  association [1..1] to I_ProductPlantBasic            as _ProductPlant2               on  $projection.Material = _ProductPlant2.Product
                                                                                       and $projection.Plant    = _ProductPlant2.Plant
  association [1..1] to I_ProductSupplyPlanning        as _ProductSupplyPlanning       on  $projection.Material = _ProductSupplyPlanning.Product
                                                                                       and $projection.Plant    = _ProductSupplyPlanning.Plant
  association [0..1] to I_ProductStorageLocation       as _ProductStorageLocation      on  $projection.Material        = _ProductStorageLocation.Product
                                                                                       and $projection.Plant           = _ProductStorageLocation.Plant
                                                                                       and $projection.StorageLocation = _ProductStorageLocation.StorageLocation
  association [0..1] to I_ProductStorageLocationBasic  as _ProductStorageLocation2     on  $projection.Material        = _ProductStorageLocation2.Product
                                                                                       and $projection.Plant           = _ProductStorageLocation2.Plant
                                                                                       and $projection.StorageLocation = _ProductStorageLocation2.StorageLocation
  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_SalesOrder                   as _SalesOrder                  on  $projection.SalesOrder = _SalesOrder.SalesOrder
  association [0..1] to I_SalesOrderItem               as _SalesOrderItem              on  $projection.SalesOrder     = _SalesOrderItem.SalesOrder
                                                                                       and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem
  association [0..1] to I_WBSElementByInternalKey      as _WBSElement                  on  $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
  association [0..1] to I_WBSElementBasicData          as _WBSElementBasicData         on  $projection.WBSElementInternalID = _WBSElementBasicData.WBSElementInternalID
  association [0..1] to I_WBSElementBasicData          as _WBSElementBasicData2        on  $projection.WBSElementInternalID_2 = _WBSElementBasicData2.WBSElementInternalID
  association [0..1] to I_ChangeMaster                 as _ChangeNumber                on  $projection.ChangeNumber = _ChangeNumber.ChangeNumber
  association [0..1] to I_BOMExplosionDate             as _BOMExplosion                on  $projection.BOMExplosionDateID = _BOMExplosion.BOMExplosionDateID
  association [0..1] to I_BillOfMaterialItemBasic      as _BillOfMaterialItem          on  $projection.BillOfMaterialCategory     = _BillOfMaterialItem.BillOfMaterialCategory
                                                                                       and $projection.BillOfMaterial             = _BillOfMaterialItem.BillOfMaterial
                                                                                       and $projection.BOMItem                    = _BillOfMaterialItem.BillOfMaterialItemNodeNumber
                                                                                       and $projection.BOMItemInternalChangeCount = _BillOfMaterialItem.BOMItemInternalChangeCount
  association [0..1] to I_BillOfMaterialItemCategory   as _BOMItemCategory             on  $projection.BOMItemCategory = _BOMItemCategory.BillOfMaterialItemCategory
  association [0..1] to I_PurchasingInfoRecordApi01    as _PurchasingInfoRecord        on  $projection.PurchasingInfoRecord = _PurchasingInfoRecord.PurchasingInfoRecord
  association [0..1] to I_PurchasingGroup              as _PurchasingGroup             on  $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
  association [0..1] to I_PurchaseOrderAPI01           as _PurchaseOrder               on  $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
  association [0..1] to I_PurchaseOrderItemAPI01       as _PurchaseOrderItem           on  $projection.PurchaseOrder     = _PurchaseOrderItem.PurchaseOrder
                                                                                       and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
  association [0..1] to I_Purchaserequisition          as _PurchaseRequisition         on  $projection.PurchaseRequisition = _PurchaseRequisition.PurchaseRequisition
  association [0..1] to I_PurchaseRequisition_Api01    as _PurchaseRequisitionItem     on  $projection.PurchaseRequisition     = _PurchaseRequisitionItem.PurchaseRequisition
                                                                                       and $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem.PurchaseRequisitionItem
  association [0..1] to I_PurchaseRequisitionItemAPI01 as _PurchaseRequisitionItem2    on  $projection.PurchaseRequisition     = _PurchaseRequisitionItem2.PurchaseRequisition
                                                                                       and $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem2.PurchaseRequisitionItem
  association [0..1] to I_Supplier                     as _Supplier                    on  $projection.Supplier = _Supplier.Supplier
  association [0..1] to I_SupplierCompanyByPlant       as _SupplierCompanyByPlant      on  $projection.Plant    = _SupplierCompanyByPlant.Plant
                                                                                       and $projection.Supplier = _SupplierCompanyByPlant.Supplier
  association [0..1] to I_StorageLocation              as _StorageLocation             on  $projection.Plant           = _StorageLocation.Plant
                                                                                       and $projection.StorageLocation = _StorageLocation.StorageLocation
  association [0..*] to I_Batch                        as _Batch                       on  $projection.Material = _Batch.Material
                                                                                       and $projection.Batch    = _Batch.Batch
  association [0..1] to I_BatchSplitType               as _BatchSplitType              on  $projection.BatchSplitType= _BatchSplitType.BatchSplitType
  association [1..1] to I_DebitCreditCode              as _DebitCreditCode             on  $projection.DebitCreditCode = _DebitCreditCode.DebitCreditCode
  association [1..1] to I_GoodsMovementType            as _GoodsMovementType           on  $projection.GoodsMovementType = _GoodsMovementType.GoodsMovementType
  association [0..1] to I_InventorySpecialStockType    as _InventorySpecialStockType   on  $projection.InventorySpecialStockType = _InventorySpecialStockType.InventorySpecialStockType
  association [0..1] to I_InvtrySpecialStockValnType   as _InventorySpecialStockValnType on $projection.InventorySpecialStockValnType = _InventorySpecialStockValnType.InventorySpecialStockValnType
  association [0..1] to I_ConsumptionPosting           as _ConsumptionPosting          on  $projection.ConsumptionPosting = _ConsumptionPosting.ConsumptionPosting
  association [0..1] to I_ProductionSupplyArea         as _SupplyArea                  on  $projection.Plant      = _SupplyArea.Plant
                                                                                       and $projection.SupplyArea = _SupplyArea.ProductionSupplyArea
  association [0..1] to I_Warehouse                    as _Warehouse                   on  $projection.Warehouse = _Warehouse.Warehouse
  association [0..1] to I_Product                      as _PhantomAssembly             on  $projection.Assembly = _PhantomAssembly.Product
  association [0..1] to I_Product                      as _FollowUpMaterial            on  $projection.FollowUpMaterial = _FollowUpMaterial.Product
  association [0..1] to I_MatlCompDiscontinuationType  as _MatlCompDiscontinuationType on  $projection.MatlCompDiscontinuationType = _MatlCompDiscontinuationType.MatlCompDiscontinuationType
  association [0..1] to I_MatlCompProvisionType        as _ProvisionType               on  $projection.MaterialProvisionType = _ProvisionType.MaterialProvisionType
  association [0..1] to I_MatlCompSparePartType        as _SparePartType               on  $projection.MatlComponentSparePartType = _SparePartType.MatlComponentSparePartType
  association [0..1] to I_CompanyCode                  as _CompanyCode                 on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [0..1] to I_BusinessArea                 as _BusinessArea                on  $projection.BusinessArea = _BusinessArea.BusinessArea
  association [0..1] to I_GLAccount                    as _GLAccount                   on  $projection.GLAccount   = _GLAccount.GLAccount
                                                                                       and $projection.CompanyCode = _GLAccount.CompanyCode
  association [0..1] to I_ControllingArea              as _ControllingArea             on  $projection.ControllingArea = _ControllingArea.ControllingArea
  association [0..1] to I_FunctionalArea               as _FunctionalArea              on  $projection.FunctionalArea = _FunctionalArea.FunctionalArea
  association [0..1] to I_AccountAssignmentCategory    as _AccountAssignmentCategory   on  $projection.AccountAssignmentCategory = _AccountAssignmentCategory.AccountAssignmentCategory
  association [0..1] to I_CommitmentItemShortID        as _CommitmentItemShortID       on  $projection.CommitmentItemShortID = _CommitmentItemShortID.CommitmentItemShortID
  association [0..1] to I_UnitOfMeasure                as _OpLeadTimeOffsetUnit        on  $projection.OperationLeadTimeOffsetUnit = _OpLeadTimeOffsetUnit.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure                as _VariableSizeCompUnit        on  $projection.VariableSizeComponentUnit = _VariableSizeCompUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure                as _BaseUnit                    on  $projection.BaseUnit = _BaseUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure                as _EntryUnit                   on  $projection.EntryUnit = _EntryUnit.UnitOfMeasure
  association [0..1] to I_Currency                     as _Currency                    on  $projection.Currency = _Currency.Currency
  association [0..1] to I_Language                     as _LongTextLanguage            on  $projection.LongTextLanguageCode = _LongTextLanguage.Language
  association [0..1] to I_OrderComponentLongText       as _LongText                    on  $projection.Reservation     = _LongText.Reservation
                                                                                       and $projection.ReservationItem = _LongText.ReservationItem
                                                                                       and $projection.RecordType      = _LongText.RecordType
  association [0..1] to I_MfgOrderComponentLongText    as _MfgOrderComponentLongText   on  $projection.Reservation          = _MfgOrderComponentLongText.Reservation
                                                                                       and $projection.ReservationItem      = _MfgOrderComponentLongText.ReservationItem
                                                                                       and $projection.RecordType           = _MfgOrderComponentLongText.RecordType
                                                                                       and $projection.LongTextLanguageCode = _MfgOrderComponentLongText.LongTextLanguage
  -- to extension
  association [1..1] to E_ReservationDocumentItem      as _Extension                   on  $projection.Reservation     = _Extension.Reservation
                                                                                       and $projection.ReservationItem = _Extension.ReservationItem
                                                                                       and $projection.RecordType      = _Extension.RecordType
{
      // Key

      @ObjectModel.foreignKey.association: '_Reservation'
  key resb.rsnum                                                      as Reservation,
      @ObjectModel.text.element:  ['BOMItemDescription']
  key cast(resb.rspos as pph_rspos preserving type)                   as ReservationItem,
      @ObjectModel.foreignKey.association: '_ReservationDocRecordType'
  key cast(resb.rsart as pph_rsart preserving type)                   as RecordType,

      //Material data

      @ObjectModel.foreignKey.association: '_MaterialGroup'
      resb.matkl                                                      as MaterialGroup,
      @ObjectModel.foreignKey.association: '_Material'
      resb.matnr                                                      as Material,
      @ObjectModel.foreignKey.association: '_Plant'
      resb.werks                                                      as Plant,

      // Order and Operation data

      @ObjectModel.foreignKey.association: '_MfgOrderCategory'
      cast(resb.autyp as manufacturingordercategory preserving type)  as ManufacturingOrderCategory,
      @ObjectModel.foreignKey.association: '_MfgOrderType'
      cast(resb.auart as manufacturingordertype preserving type)      as ManufacturingOrderType,
      @ObjectModel.foreignKey.association: '_ManufacturingOrder'
      cast(resb.aufnr as manufacturingorder preserving type)          as ManufacturingOrder,
      @ObjectModel.foreignKey.association: '_ManufacturingOrderSequence'
      case resb.autyp
        when '10' then case resb.plnfl
          when '' then '000000'
          else resb.plnfl
          end
        when '40' then ''   // clear sequence for process orders

      end                                                             as ManufacturingOrderSequence,
      @ObjectModel.foreignKey.association: '_MfgOrderSequenceCategory'
      cast(resb.flgat as folgenart preserving type)                   as MfgOrderSequenceCategory,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'ManufacturingOrderOperation_2'
      @ObjectModel.foreignKey.association: '_MfgOrderOperationBySemanKey'
      cast(resb.vornr as manufacturingorderoperation preserving type) as ManufacturingOrderOperation,
      @ObjectModel.foreignKey.association: '_MfgOrderOperationBySemKey'
      cast(resb.vornr as vdm_vornr preserving type)                   as ManufacturingOrderOperation_2,
      @ObjectModel.foreignKey.association: '_ProductionPlant'
      cast(resb.pwerk as pwwrk preserving type)                       as ProductionPlant,
      @ObjectModel.foreignKey.association: '_OrdInternalBillOfOperations'
      cast(resb.aufpl as pph_aufpl preserving type)                   as OrderInternalBillOfOperations,
      @ObjectModel.foreignKey.association: '_MfgOrderOperation'
      cast(resb.aplzl as operationinternalid preserving type)         as OrderIntBillOfOperationsItem,
      @ObjectModel.foreignKey.association: '_AssemblyMRPController'
      cast(resb.dispo as assymrpcontrl preserving type)               as AssemblyMRPController,
      @ObjectModel.foreignKey.association: '_ProductionSupervisor'
      cast(resb.fevor as pph_fevor preserving type)                   as ProductionSupervisor,
      resb.OrderObjectInternalID,

      // Date and Time

      @Semantics.businessDate.at: true
      cast(resb.bdter as pph_bdter preserving type)                   as MatlCompRequirementDate,
      cast(resb.bdztp as pph_bdztp preserving type)                   as MatlCompRequirementTime,
      cast(resb.sbter as pph_sbter preserving type)                   as LatestRequirementDate,
      cast(resb.ftrmi as mfgorderactualreleasedate preserving type)   as MfgOrderActualReleaseDate,

      // Attributes

      cast(resb.rssta as pph_rssta preserving type)                   as ReservationItemCreationCode,
      resb.kzear                                                      as ReservationIsFinallyIssued,
      cast(resb.xloek as pph_xloek preserving type)                   as MatlCompIsMarkedForDeletion,
      resb.xfehl                                                      as MaterialComponentIsMissing,
      resb.schgt                                                      as IsBulkMaterialComponent,
      resb.rgekz                                                      as MatlCompIsMarkedForBackflush,
      resb.txtps                                                      as MatlCompIsTextItem,
      cast(resb.no_disp as vdm_no_disp preserving type)               as MaterialPlanningRelevance,
      resb.kfpos                                                      as MatlCompIsConfigurable,
      resb.clakz                                                      as MaterialComponentIsClassified,
      resb.inpos                                                      as MaterialCompIsIntraMaterial,
      cast(case
             when resb.dbskz =  'E' then 'X'
             when resb.dbskz <> 'E' then ''
      end as clcor preserving type )                                  as MaterialIsDirectlyProduced,
      cast(case
             when resb.dbskz =  'F' then 'X'
             when resb.dbskz <> 'F' then ''
      end as dirpr preserving type )                                  as MaterialIsDirectlyProcured,

      // Text

      @ObjectModel.foreignKey.association: '_LongTextLanguage'
      resb.ltxsp                                                      as LongTextLanguageCode,
      cast(case
             when resb.ltxsp <> '' then 'X'
             else resb.ltxsp
      end as aufltext preserving type)                                as LongTextExists,

      // Assignments

      @ObjectModel.foreignKey.association: '_RequirementType'
      cast(resb.bdart as pph_bdart preserving type)                   as RequirementType,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_SalesOrderStdVH', element: 'SalesOrder' } } ]
      @ObjectModel.foreignKey.association: '_SalesOrder'
      cast(resb.kdauf as co_kdauf preserving type)                    as SalesOrder,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_SalesOrderItemStdVH', element: 'SalesOrderItem' } } ]
      @ObjectModel.foreignKey.association: '_SalesOrderItem'
      cast(resb.kdpos as co_kdpos preserving type)                    as SalesOrderItem,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'WBSElementInternalID_2'
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_WBSElementBasicDataStdVH', element: 'WBSElementInternalID' } } ]
      @ObjectModel.foreignKey.association: '_WBSElement'
      cast(resb.pspel as pph_pspel preserving type)                   as WBSElementInternalID,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_WBSElementBasicDataStdVH', element: 'WBSElementInternalID' } } ]
      @ObjectModel.foreignKey.association: '_WBSElementBasicData2'
      cast(resb.pspel as ps_s4_pspnr preserving type)                 as WBSElementInternalID_2,
      resb.cuobj                                                      as ProductConfiguration,
      @ObjectModel.foreignKey.association: '_ChangeNumber'
      resb.aennr                                                      as ChangeNumber,
      resb.techs                                                      as EffectivityParameterVariant,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'MaterialComponentSortText'
      resb.sortf                                                      as SortField,
      resb.sortf                                                      as MaterialComponentSortText,
      resb.objnr                                                      as ObjectInternalID,
      cast(resb.revlv as vdm_qm_revlv preserving type)                as MaterialRevisionLevel,

      // Assignments BOM

      cast(resb.stlty as pph_stlty preserving type)                   as BillOfMaterialCategory,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'BillOfMaterialInternalID_2'
      resb.stlnr                                                      as BillOfMaterialInternalID,
      cast(resb.stlnr as pph_stnum preserving type)                   as BillOfMaterialInternalID_2,
      resb.stlan                                                      as BillOfMaterialVariantUsage,
      resb.stlal                                                      as BillOfMaterialVariant,
      resb.stlnr2                                                     as BillOfMaterial,
      cast(resb.stlkn as pph_stlkn preserving type)                   as BOMItem,
      resb.bom_versn                                                  as BillOfMaterialVersion,
      resb.stpoz                                                      as BOMItemInternalChangeCount,
      resb.stvkn                                                      as InheritedBOMItemNode,
      cast(resb.postp as pph_postp preserving type)                   as BOMItemCategory,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'BillOfMaterialItemNumber_2'
      @ObjectModel.text.element: ['BOMItemDescription']
      resb.posnr                                                      as BillOfMaterialItemNumber,
      @ObjectModel.text.element: ['BOMItemDescription']
      cast(resb.posnr as vdm_sposn preserving type)                   as BillOfMaterialItemNumber_2,
      @Semantics.text: true
      resb.potx1                                                      as BOMItemDescription,
      @Semantics.text: true
      resb.potx2                                                      as BOMItemText2,
      @ObjectModel.foreignKey.association: '_BOMExplosion'
      cast(resb.sernr as pph_sernr  preserving type)                  as BOMExplosionDateID,

      // Assignments Purchasing

      cast(resb.infnr as pph_infnr preserving type)                   as PurchasingInfoRecord,
      @ObjectModel.foreignKey.association: '_PurchasingGroup'
      cast(resb.ekgrp as pph_ekgrp preserving type)                   as PurchasingGroup,
--    @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseRequisitionStdVH', element: 'PurchaseRequisition' } } ]
      cast(resb.banfn as co_banfn  preserving type)                   as PurchaseRequisition,
--    @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseRequisitionItemStdVH', element: 'PurchaseRequisitionItem' } } ]
      cast(resb.bnfpo as co_bnfpo  preserving type)                   as PurchaseRequisitionItem,
--    @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseOrderStdVH', element: 'PurchaseOrder' } } ]
      cast(resb.ebeln as vdm_purchaseorder     preserving type)       as PurchaseOrder,
--    @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PurchaseOrderItemStdVH', element: 'PurchaseOrderItem' } } ]
      cast(resb.ebelp as vdm_purchaseorderitem preserving type)       as PurchaseOrderItem,
--    @ObjectModel.foreignKey.association: '_PurchaseOrderScheduleLine'
      cast(resb.ebele as fis_etenr preserving type)                   as PurchaseOrderScheduleLine,
      @ObjectModel.foreignKey.association: '_Supplier'
      resb.lifnr                                                      as Supplier,
      cast(resb.lifzt as pph_lifzt preserving type)                   as DeliveryDurationInDays,
      cast(resb.webaz as pph_webaz preserving type)                   as MaterialGoodsReceiptDuration,
      -- Price
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'Currency'
      cast(resb.gpreis as kblpreis  preserving type)                  as ExternalProcessingPrice,
      cast(resb.peinh  as pph_peinh preserving type)                  as NumberOfOperationPriceUnits,

      // Goods Movement data

      resb.xwaok                                                      as GoodsMovementIsAllowed,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      cast(resb.lgort as pph_lgort preserving type)                   as StorageLocation,
      @ObjectModel.foreignKey.association: '_DebitCreditCode'
      cast(resb.shkzg as pph_shkzg preserving type)                   as DebitCreditCode,
      @ObjectModel.foreignKey.association: '_GoodsMovementType'
      resb.bwart                                                      as GoodsMovementType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockType'
      cast(resb.sobkz as inventoryspecialstocktype preserving type)   as InventorySpecialStockType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockValnType'
      cast(resb.kzbws as pph_kzbws preserving type)                   as InventorySpecialStockValnType,
      @ObjectModel.foreignKey.association: '_ConsumptionPosting'
      cast(resb.kzvbr as pph_kzvbr preserving type)                   as ConsumptionPosting,
      @ObjectModel.foreignKey.association: '_SupplyArea'
      cast(resb.prvbe as pph_prvbe preserving type)                   as SupplyArea,
      @Semantics.text: true
      cast(resb.wempf as pph_wempf  preserving type)                  as GoodsRecipientName,
      @Semantics.text: true
      resb.ablad                                                      as UnloadingPointName,
      resb.sgt_scat                                                   as StockSegment,
      resb.sgt_rcat                                                   as RequirementSegment,

      // Batch data

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_BatchStdVH', element: 'Batch' } } ]
      resb.charg                                                      as Batch,
--    @ObjectModel.foreignKey.association: '_BatchEntryDetermination'
      cast(resb.kzech as vdm_pp_kzech preserving type)                as BatchEntryDeterminationCode,
      @ObjectModel.foreignKey.association: '_BatchSplitType'
      resb.splkz                                                      as BatchSplitType,
      cast(case resb.splkz
        when '' then '0000'
        else resb.splrv
      end as vdm_splrv preserving type)                               as BatchMasterReservationItem,
      resb.chobj                                                      as BatchClassification,

      // Assignments WM

      resb.berkz                                                      as MaterialStaging,
      @ObjectModel.foreignKey.association: '_Warehouse'
      resb.lgnum                                                      as Warehouse,
      resb.lgtyp                                                      as StorageType,
      resb.lgpla                                                      as StorageBin,

      // Assignments FI/CO

      resb.sanka                                                      as MaterialCompIsCostRelevant,
      @ObjectModel.foreignKey.association: '_BusinessArea'
      resb.gsber                                                      as BusinessArea,
      @ObjectModel.foreignKey.association: '_CompanyCode'
      resb.bukrs                                                      as CompanyCode,
      @ObjectModel.foreignKey.association: '_GLAccount'
      resb.saknr                                                      as GLAccount,
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      resb.fkber                                                      as FunctionalArea,
      @ObjectModel.foreignKey.association: '_ControllingArea'
      resb.kokrs                                                      as ControllingArea,
      @ObjectModel.foreignKey.association: '_AccountAssignmentCategory'
      cast(resb.knttp as pph_knttp preserving type)                   as AccountAssignmentCategory,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'CommitmentItemShortID'
      cast(resb.fipos as bbpfipos  preserving type)                   as CommitmentItem,
      cast(resb.fipos as fmis_ci_internalname preserving type)        as CommitmentItemShortID,
      cast(resb.fistl as bbpfistl  preserving type)                   as FundsCenter,

      // Variable-size comp. data

      resb.rohps                                                      as MaterialCompIsVariableSized,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'VariableSizeItemQuantity'
      cast(resb.roanz as pph_roanz preserving type)                   as NumberOfVariableSizeComponents,
      @Semantics.unitOfMeasure: true
      cast(case
             when resb.rohps = 'X' then resb.roame
             else resb.rohps
      end as vdm_roame)                                               as VariableSizeItemUnit,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeItemUnit'
      @Aggregation.default: #SUM
      cast(resb.roanz as pph_roanz preserving type)                   as VariableSizeItemQuantity,
      @Semantics.unitOfMeasure: true
      cast(resb.rokme as pph_rokme preserving type)                   as VariableSizeComponentUnit,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeComponentUnit'
      @Aggregation.default: #SUM
      cast(resb.romen as pph_romen preserving type)                   as VariableSizeComponentQuantity,
      @Semantics.unitOfMeasure: true
      resb.romei                                                      as VariableSizeDimensionUnit,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      @Aggregation.default: #MAX
      resb.roms1                                                      as VariableSizeDimension1,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      @Aggregation.default: #MAX
      resb.roms2                                                      as VariableSizeDimension2,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      @Aggregation.default: #MAX
      resb.roms3                                                      as VariableSizeDimension3,
      resb.rform                                                      as FormulaKey,

      // Alternative item data

      resb.alpos                                                      as MaterialCompIsAlternativeItem,
      cast(resb.alpgr as pph_alpgr preserving type)                   as AlternativeItemGroup,
      cast(resb.alpst as pph_alpst preserving type)                   as AlternativeItemStrategy,
      cast(resb.alprf as pph_alprf preserving type)                   as AlternativeItemPriority,
      resb.ewahr                                                      as UsageProbabilityPercent,
      cast(case resb.alpos
        when '' then '0000'
        else resb.splrv
      end as vdm_splrv_alt preserving type)                           as AlternativeMstrReservationItem,
      resb.original_rsnum                                             as OriginalReservation,
      resb.original_rspos                                             as OriginalReservationItem,

      // Phantom assembly

      cast(resb.dumps as pph_dumps preserving type)                   as MaterialComponentIsPhantomItem,
      resb.aufwg                                                      as OrderPathValue,
      resb.aufst                                                      as OrderLevelValue,
      @ObjectModel.foreignKey.association: '_PhantomAssembly'
      resb.baugr                                                      as Assembly,
      resb.bauwg                                                      as AssemblyOrderPathValue,
      resb.baust                                                      as AssemblyOrderLevelValue,

      // Discontinuation

      cast(resb.nfeag as pph_nfeag preserving type)                   as DiscontinuationGroup,
      @ObjectModel.foreignKey.association: '_MatlCompDiscontinuationType'
      resb.kzaus                                                      as MatlCompDiscontinuationType,
      cast(resb.nfpkz as pph_kznfp preserving type)                   as MatlCompIsFollowUpMaterial,
      cast(resb.nfgrp as pph_nfgrp preserving type)                   as FollowUpGroup,
      @ObjectModel.foreignKey.association: '_FollowUpMaterial'
      cast(resb.nomat as pph_nomat preserving type)                   as FollowUpMaterial,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'FollowUpMaterialIsActive'
      cast(resb.nafkz as pph_nafkz preserving type)                   as FollowUpMaterialIsNotActive,
      cast(resb.nafkz as pph_nafkz preserving type)                   as FollowUpMaterialIsActive,
      cast(case resb.kzaus
        when '5' then resb.splrv
        else '0000'
      end as vdm_splrv_dis preserving type)                           as DiscontinuationMasterResvnItem,

      // Material provision

      @ObjectModel.foreignKey.association: '_ProvisionType'
      cast(resb.beikz as vdm_beikz preserving type)                   as MaterialProvisionType,

      // Spare part

      @ObjectModel.foreignKey.association: '_SparePartType'
      cast(resb.erskz as vdm_erskz preserving type)                   as MatlComponentSparePartType,

      // Lead-Time offset

      cast(resb.nlfzt as pph_nlfzt preserving type)                   as LeadTimeOffset,
      @Semantics.unitOfMeasure: true
      cast(resb.nlfmv as pph_nlfmv preserving type)                   as OperationLeadTimeOffsetUnit,
      cast(resb.nlfzv as pph_nlfzv preserving type)                   as OperationLeadTimeOffset,

      // Quantities and UoM

      resb.fmeng                                                      as QuantityIsFixed,
      resb.netau                                                      as IsNetScrap,
      resb.ausch                                                      as ComponentScrapInPercent,
      resb.avoau                                                      as OperationScrapInPercent,
      resb.umrez                                                      as MaterialQtyToBaseQtyNmrtr,
      resb.umren                                                      as MaterialQtyToBaseQtyDnmntr,
      @Semantics.unitOfMeasure: true
      resb.meins                                                      as BaseUnit,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      resb.bdmng                                                      as RequiredQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      cast(resb.enmng as pph_enmng preserving type)                   as WithdrawnQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      cast(resb.vmeng as pph_vmeng preserving type)                   as ConfirmedAvailableQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @Aggregation.default: #SUM
      cast(resb.nomng as pph_nomng preserving type)                   as MaterialCompOriginalQuantity,

      @Semantics.unitOfMeasure: true
      resb.erfme                                                      as EntryUnit,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      @Aggregation.default: #SUM
      cast(resb.erfmg as pph_erfmg preserving type)                   as GoodsMovementEntryQty,

      // Amount and Currency

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

      // Fashion Manufacturing Fields

      fsh_critical_comp                                               as CriticalComponentType,
      fsh_critical_level                                              as CriticalComponentLevel,

      // Associations

      _Reservation,
      _ReservationItem,
      _ReservationDocRecordType,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_ManufacturingOrder'
      _MfgOrder,
--    @API.element.releaseState: #DEPRECATED
--    @API.element.successor: '_ManufacturingOrderSequence'
      _MfgOrderSequence,
      _ManufacturingOrder,
      _ManufacturingOrderSequence,
      _MfgOrderCategory,
      _MfgOrderType,
      _MfgOrderOperation,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_MfgOrderOperationBySemKey'
      _MfgOrderOperationBySemanKey,
      _MfgOrderOperationBySemKey,
      _MfgOrderSequenceCategory,
      _MfgOrderComponentLongText,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_OrderInternalID'
      _OrdInternalBillOfOperations,
      _OrderInternalID,
      _ProductionPlant,
      _AssemblyMRPController,
      _ProductionSupervisor,
      _RequirementType,
      _MaterialGroup,
      _Material,
      _Product,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_ProductPlant2'
      _ProductPlant,
      _ProductPlant2,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_ProductStorageLocation2'
      _ProductStorageLocation,
      _ProductStorageLocation2,
      _ProductSupplyPlanning,
      _ProductUnitsOfMeasure,
      _Plant,
      _StorageLocation,
      _Batch,
      _BatchSplitType,
      _DebitCreditCode,
      _GoodsMovementType,
      _InventorySpecialStockType,
      _InventorySpecialStockValnType,
      _ConsumptionPosting,
      _SupplyArea,
      _Warehouse,
      _FollowUpMaterial,
      _MatlCompDiscontinuationType,
      _ProvisionType,
      _SparePartType,
      _PhantomAssembly,
      _BOMExplosion,
      _BillOfMaterialItem,
      _BOMItemCategory,
      _SalesOrder,
      _SalesOrderItem,
--    @API.element.releaseState: #DEPRECATED
--    @API.element.successor: '_WBSElementBasicData2'
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_WBSElementBasicData2'
      _WBSElement,
--    @API.element.releaseState: #DEPRECATED
--    @API.element.successor: '_WBSElementBasicData2'
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_WBSElementBasicData2'
      _WBSElementBasicData,
      _WBSElementBasicData2,
      _ChangeNumber,
      _PurchasingGroup,
      _PurchasingInfoRecord,
      _PurchaseOrder,
      _PurchaseOrderItem,
      _PurchaseRequisition,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_PurchaseRequisitionItem2'
      _PurchaseRequisitionItem,
      _PurchaseRequisitionItem2,
      _Supplier,
      @Consumption.hidden: true
      _SupplierCompanyByPlant,
      _CompanyCode,
      _BusinessArea,
      _GLAccount,
      _ControllingArea,
      _FunctionalArea,
      _AccountAssignmentCategory,
      _CommitmentItemShortID,
      _OpLeadTimeOffsetUnit,
      _VariableSizeCompUnit,
      _BaseUnit,
      _EntryUnit,
      _Currency,
      _LongTextLanguage,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_MfgOrderComponentLongText'
      _LongText
}
where
      resb.kzkup =  ''   //no co-products

  and resb.postp <> 'D'; //no documents