I_MANUFACTURINGORDEROPERATION

CDS View

Manufacturing Order Operation

I_MANUFACTURINGORDEROPERATION is a CDS View in S/4HANA. Manufacturing Order Operation. It contains 336 fields. 6 CDS views read from this table.

CDS Views using this table (6)

ViewTypeJoinVDMDescription
I_MfgOrderOperationDataList view from COMPOSITE Mfg Order Sub-/Operation (Data List)
I_MfgOrderOperationStdVH view_entity from COMPOSITE Manufacturing Order Operation
I_MfgOrderOperationWithStatus view from COMPOSITE Manufacturing Order Operation with Status
R_ProcessOrderOperationTP view_entity from TRANSACTIONAL Process Order Operation - TP
R_ProcessOrderPhaseTP view_entity from TRANSACTIONAL Process Order Operation - TP
R_ProductionOrderOperationTP view_entity from TRANSACTIONAL Production Order Operation - TP

Fields (336)

KeyField CDS FieldsUsed in Views
KEY MfgOrderInternalID MfgOrderInternalID,OrderInternalBillOfOperations 2
KEY OrderOperationInternalID OrderIntBillOfOperationsItem,OrderOperationInternalID 2
_BillOfOperationsGroup _BillOfOperationsGroup 1
_BillOfOperationsSequence _BillOfOperationsSequence 1
_BillOfOperationsType _BillOfOperationsType 1
_BillOfOperationsVariant _BillOfOperationsVariant 1
_BOOOperationInternalID _BOOOperationInternalID 1
_BusinessArea _BusinessArea 1
_BusinessProcess _BusinessProcess 1
_BusinessProcessEntryUnit _BusinessProcessEntryUnit 1
_CapacityRequirement _CapacityRequirement 1
_CapacityRequirementItem _CapacityRequirementItem 1
_ChangeNumber _ChangeNumber 1
_CompanyCode _CompanyCode 1
_ConfirmedWorkQuantityUnit1 _ConfirmedWorkQuantityUnit1 1
_ConfirmedWorkQuantityUnit2 _ConfirmedWorkQuantityUnit2 1
_ConfirmedWorkQuantityUnit3 _ConfirmedWorkQuantityUnit3 1
_ConfirmedWorkQuantityUnit4 _ConfirmedWorkQuantityUnit4 1
_ConfirmedWorkQuantityUnit5 _ConfirmedWorkQuantityUnit5 1
_ConfirmedWorkQuantityUnit6 _ConfirmedWorkQuantityUnit6 1
_ControllingArea _ControllingArea 1
_ControllingObjectClass _ControllingObjectClass 1
_ControllingObjectCurrency _ControllingObjectCurrency 1
_ControlRecipeDestination _ControlRecipeDestination 1
_CostElement _CostElement 1
_CostingVariant _CostingVariant 1
_Employee _Employee 1
_EmployeeSuitability _EmployeeSuitability 1
_EmployeeWageGroup _EmployeeWageGroup 1
_EndDateOffsetReferenceCode _EndDateOffsetReferenceCode 1
_FactoryCalendar _FactoryCalendar 1
_FreeDefinedAmount1Currency _FreeDefinedAmount1Currency 1
_FreeDefinedAmount2Currency _FreeDefinedAmount2Currency 1
_FreeDefinedQuantity1Unit _FreeDefinedQuantity1Unit 1
_FreeDefinedQuantity2Unit _FreeDefinedQuantity2Unit 1
_FunctionalArea _FunctionalArea 1
_Language _Language 1
_LeadTimeReductionStrategy _LeadTimeReductionStrategy 1
_LongText _LongText 1
_ManufacturingOrder _ManufacturingOrder 1
_MfgOrderCategory _MfgOrderCategory 1
_MfgOrderOpComponent _MfgOrderOpComponent 1
_MfgOrderOpComponent_3 _MfgOrderOpComponent_3 1
_MfgOrderOpComponent2 _MfgOrderOpComponent2 1
_MfgOrderOpDocInfoRecord _MfgOrderOpDocInfoRecord 1
_MfgOrderOpDocInfoRecord_3 _MfgOrderOpDocInfoRecord_3 1
_MfgOrderOpDocInfoRecord2 _MfgOrderOpDocInfoRecord2 1
_MfgOrderOperationConf _MfgOrderOperationConf 1
_MfgOrderOperationConf_3 _MfgOrderOperationConf_3 1
_MfgOrderOperationConf2 _MfgOrderOperationConf2 1
_MfgOrderOperationLongText _MfgOrderOperationLongText 1
_MfgOrderOperationPRT _MfgOrderOperationPRT 1
_MfgOrderOperationPRT_3 _MfgOrderOperationPRT_3 1
_MfgOrderOperationPRT2 _MfgOrderOperationPRT2 1
_MfgOrderOpTriggerPoint _MfgOrderOpTriggerPoint 1
_MfgOrderOpTriggerPoint_3 _MfgOrderOpTriggerPoint_3 1
_MfgOrderOpTriggerPoint2 _MfgOrderOpTriggerPoint2 1
_MfgOrderSequence _MfgOrderSequence 1
_MfgOrderType _MfgOrderType 1
_MRPController _MRPController 1
_OperationConfirmation _OperationConfirmation 1
_OperationControlProfile _OperationControlProfile 1
_OperationSetupGroup _OperationSetupGroup 1
_OperationSetupGroupCategory _OperationSetupGroupCategory 1
_OperationSetupType _OperationSetupType 1
_OperationStandardTextCode _OperationStandardTextCode 1
_OperationUnit _OperationUnit 1
_OpExternalProcessingCurrency _OpExternalProcessingCurrency 1
_OrderInternalID _OrderInternalID 1
_Plant _Plant 1
_ProduceOpActyNtwkInstance _ProduceOpActyNtwkInstance 1
_ProductionSupervisor _ProductionSupervisor 1
_ProductionUnit _ProductionUnit 1
_ProfitCenter _ProfitCenter 1
_PurchaseOrder _PurchaseOrder 1
_PurchaseOrderItem _PurchaseOrderItem 1
_PurchaseRequisition _PurchaseRequisition 1
_PurchaseRequisitionItem _PurchaseRequisitionItem 1
_PurchaseRequisitionItem2 _PurchaseRequisitionItem2 1
_PurchasingGroup _PurchasingGroup 1
_PurchasingInfoRecord _PurchasingInfoRecord 1
_PurchasingOrganization _PurchasingOrganization 1
_RequestingCostCenter _RequestingCostCenter 1
_ResponsiblePlannerGroup _ResponsiblePlannerGroup 1
_SetupOpActyNtwkInstance _SetupOpActyNtwkInstance 1
_StandardWorkFmlaParamGroup _StandardWorkFmlaParamGroup 1
_StartDateOffsetReferenceCode _StartDateOffsetReferenceCode 1
_StdWorkQuantityUnit1 _StdWorkQuantityUnit1 1
_StdWorkQuantityUnit2 _StdWorkQuantityUnit2 1
_StdWorkQuantityUnit3 _StdWorkQuantityUnit3 1
_StdWorkQuantityUnit4 _StdWorkQuantityUnit4 1
_StdWorkQuantityUnit5 _StdWorkQuantityUnit5 1
_StdWorkQuantityUnit6 _StdWorkQuantityUnit6 1
_SuperiorOperation _SuperiorOperation 1
_Supplier _Supplier 1
_SupplierCompany _SupplierCompany 1
_SupplierCompanyByPlant _SupplierCompanyByPlant 1
_TeardownOpActyNtwkInstance _TeardownOpActyNtwkInstance 1
_WorkCenter _WorkCenter 1
_WorkCenter_2 _WorkCenter_2 1
_WorkCenterType _WorkCenterType 1
_WorkCenterType_2 _WorkCenterType_2 1
ActualForecastDuration ActualForecastDuration 1
ActualForecastDurationUnit ActualForecastDurationUnit 1
ActualForecastEndDate ActualForecastEndDate 1
ActualForecastEndTime ActualForecastEndTime 1
BillOfMaterialCategory BillOfMaterialCategory 1
BillOfMaterialInternalID BillOfMaterialInternalID 1
BillOfMaterialInternalID_2 BillOfMaterialInternalID_2 1
BillOfMaterialItemNodeNumber BillOfMaterialItemNodeNumber 1
BillOfOperationsGroup BillOfOperationsGroup 1
BillOfOperationsSequence BillOfOperationsSequence 1
BillOfOperationsType BillOfOperationsType 1
BillOfOperationsVariant BillOfOperationsVariant 1
BillOfOperationsVersion BillOfOperationsVersion 1
BOMItemNodeCount BOMItemNodeCount 1
BOOOperationInternalID BOOOperationInternalID 1
BreakDurationUnit BreakDurationUnit 1
BusinessArea BusinessArea 1
BusinessProcess BusinessProcess 1
BusinessProcessConfirmedQty BusinessProcessConfirmedQty 1
BusinessProcessEntryUnit BusinessProcessEntryUnit 1
BusinessProcessRemainingQty BusinessProcessRemainingQty 1
BusinessProcRemainingQtyUnit BusinessProcRemainingQtyUnit 1
CapacityRequirement CapacityRequirement 1
CapacityRequirementItem CapacityRequirementItem 1
ChangeNumber ChangeNumber 1
CompanyCode CompanyCode 1
ConfirmedBreakDuration ConfirmedBreakDuration 1
ControllingArea ControllingArea 1
ControllingObjectClass ControllingObjectClass 1
ControllingObjectCurrency ControllingObjectCurrency 1
ControlRecipeDestination ControlRecipeDestination 1
CostElement CostElement 1
CostEstimate CostEstimate 1
CostingSheet CostingSheet 1
CostingVariant CostingVariant 1
EarliestScheduledWaitEndDate EarliestScheduledWaitEndDate 1
EarliestScheduledWaitEndTime EarliestScheduledWaitEndTime 1
EarliestScheduledWaitStartDate EarliestScheduledWaitStartDate 1
EarliestScheduledWaitStartTime EarliestScheduledWaitStartTime 1
EmployeeSuitability EmployeeSuitability 1
EmployeeWageGroup EmployeeWageGroup 1
EmployeeWageType EmployeeWageType 1
EndDateOffsetDuration EndDateOffsetDuration 1
EndDateOffsetDurationUnit EndDateOffsetDurationUnit 1
ExtProcgOperationHasSubcontrg ExtProcgOperationHasSubcontrg 1
FactoryCalendar FactoryCalendar 1
FreeDefinedAmount1 FreeDefinedAmount1 1
FreeDefinedAmount1Currency FreeDefinedAmount1Currency 1
FreeDefinedAmount2 FreeDefinedAmount2 1
FreeDefinedAmount2Currency FreeDefinedAmount2Currency 1
FreeDefinedAttribute01 FreeDefinedAttribute01 1
FreeDefinedAttribute02 FreeDefinedAttribute02 1
FreeDefinedAttribute03 FreeDefinedAttribute03 1
FreeDefinedAttribute04 FreeDefinedAttribute04 1
FreeDefinedDate1 FreeDefinedDate1 1
FreeDefinedDate2 FreeDefinedDate2 1
FreeDefinedIndicator1 FreeDefinedIndicator1 1
FreeDefinedIndicator2 FreeDefinedIndicator2 1
FreeDefinedQuantity1 FreeDefinedQuantity1 1
FreeDefinedQuantity1Unit FreeDefinedQuantity1Unit 1
FreeDefinedQuantity2 FreeDefinedQuantity2 1
FreeDefinedQuantity2Unit FreeDefinedQuantity2Unit 1
FreeDefinedTableFieldSemantic FreeDefinedTableFieldSemantic 1
FunctionalArea FunctionalArea 1
GoodsRecipientName GoodsRecipientName 1
InspectionLot InspectionLot 1
Language LongTextLanguageCode 2
LatestSchedldFcstdEndDate LatestSchedldFcstdEndDate 1
LatestSchedldFcstdStartDate LatestSchedldFcstdStartDate 1
LatestScheduledWaitEndDate LatestScheduledWaitEndDate 1
LatestScheduledWaitEndTime LatestScheduledWaitEndTime 1
LatestScheduledWaitStartDate LatestScheduledWaitStartDate 1
LatestScheduledWaitStartTime LatestScheduledWaitStartTime 1
LeadTimeReductionStrategy LeadTimeReductionStrategy 1
ManufacturingOrder ManufacturingOrder 2
ManufacturingOrderCategory ManufacturingOrderCategory 2
ManufacturingOrderImportance ManufacturingOrderImportance 1
ManufacturingOrderOperation ManufacturingOrderOperation 1
ManufacturingOrderOperation_2 ManufacturingOrderOperation_2 1
ManufacturingOrderSequence ManufacturingOrderSequence 2
ManufacturingOrderSubOperation ManufacturingOrderSubOperation 1
ManufacturingOrderType ManufacturingOrderType 1
ManufacturingOrdSubOperation_2 ManufacturingOrdSubOperation_2 1
MaximumNumberOfSplits MaximumNumberOfSplits 1
MaximumWaitDuration MaximumWaitDuration 1
MaximumWaitDurationUnit MaximumWaitDurationUnit 1
MfgOrderOperationIsPhase MfgOrderOperationIsPhase 2
MfgOrderOperationText MfgOrderOperationText 2
MfgOrderPhaseSuperiorOperation MfgOrderPhaseSuperiorOperation 1
MinimumDuration MinimumDuration 1
MinimumDurationUnit MinimumDurationUnit 1
MinimumMoveDuration MinimumMoveDuration 1
MinimumMoveDurationUnit MinimumMoveDurationUnit 1
MinimumQueueDuration MinimumQueueDuration 1
MinimumQueueDurationUnit MinimumQueueDurationUnit 1
MinimumWaitDuration MinimumWaitDuration 1
MinimumWaitDurationUnit MinimumWaitDurationUnit 1
MRPController MRPController 1
NoFurtherBusinessProcQtyIsExpd NoFurtherBusinessProcQtyIsExpd 1
NoFurtherOpWorkQuantity1IsExpd NoFurtherOpWorkQuantity1IsExpd 1
NoFurtherOpWorkQuantity2IsExpd NoFurtherOpWorkQuantity2IsExpd 1
NoFurtherOpWorkQuantity3IsExpd NoFurtherOpWorkQuantity3IsExpd 1
NoFurtherOpWorkQuantity4IsExpd NoFurtherOpWorkQuantity4IsExpd 1
NoFurtherOpWorkQuantity5IsExpd NoFurtherOpWorkQuantity5IsExpd 1
NoFurtherOpWorkQuantity6IsExpd NoFurtherOpWorkQuantity6IsExpd 1
NumberOfCapacities NumberOfCapacities 1
NumberOfConfirmationSlips NumberOfConfirmationSlips 1
NumberOfEmployees NumberOfEmployees 1
NumberOfOperationConfirmations NumberOfOperationConfirmations 1
NumberOfOperationPriceUnits NumberOfOperationPriceUnits 1
NumberOfTimeTickets NumberOfTimeTickets 1
ObjectInternalID ObjectInternalID 1
OpActualExecutionEndDate OpActualExecutionEndDate 1
OpActualExecutionEndTime OpActualExecutionEndTime 1
OpActualExecutionStartDate OpActualExecutionStartDate 1
OpActualExecutionStartTime OpActualExecutionStartTime 1
OpActualProcessingEndDate OpActualProcessingEndDate 1
OpActualProcessingEndTime OpActualProcessingEndTime 1
OpActualProcessingStartDate OpActualProcessingStartDate 1
OpActualProcessingStartTime OpActualProcessingStartTime 1
OpActualSetupEndDate OpActualSetupEndDate 1
OpActualSetupEndTime OpActualSetupEndTime 1
OpActualTeardownStartDate OpActualTeardownStartDate 1
OpActualTeardownStartTme OpActualTeardownStartTme 1
OperationConfirmation OperationConfirmation 2
OperationConfirmedEndDate OperationConfirmedEndDate 1
OperationConfirmedReworkQty OperationConfirmedReworkQty 1
OperationConfirmedStartDate OperationConfirmedStartDate 1
OperationControlProfile OperationControlProfile 1
OperationHasLongText OperationHasLongText 1
OperationImportance OperationImportance 1
OperationIsToBeDeleted OperationIsToBeDeleted 1
OperationOverlappingIsPossible OperationOverlappingIsPossible 1
OperationOverlappingIsRequired OperationOverlappingIsRequired 1
OperationReferenceQuantity OperationReferenceQuantity 1
OperationScrapPercent OperationScrapPercent 1
OperationSetupGroup OperationSetupGroup 1
OperationSetupGroupCategory OperationSetupGroupCategory 1
OperationSetupType OperationSetupType 1
OperationsIsAlwaysOverlapping OperationsIsAlwaysOverlapping 1
OperationSplitIsRequired OperationSplitIsRequired 1
OperationStandardDuration OperationStandardDuration 1
OperationStandardDurationUnit OperationStandardDurationUnit 1
OperationStandardTextCode OperationStandardTextCode 1
OperationTrackingNumber OperationTrackingNumber 1
OperationUnit OperationUnit 1
OpErlstSchedldExecEndDte OpErlstSchedldExecEndDte 1
OpErlstSchedldExecEndTme OpErlstSchedldExecEndTme 1
OpErlstSchedldExecStrtDte OpErlstSchedldExecStrtDte 1
OpErlstSchedldExecStrtTme OpErlstSchedldExecStrtTme 1
OpErlstSchedldProcgStrtDte OpErlstSchedldProcgStrtDte 1
OpErlstSchedldProcgStrtTme OpErlstSchedldProcgStrtTme 1
OpErlstSchedldTrdwnStrtDte OpErlstSchedldTrdwnStrtDte 1
OpErlstSchedldTrdwnStrtTme OpErlstSchedldTrdwnStrtTme 1
OpExternalProcessingCurrency OpExternalProcessingCurrency 1
OpExternalProcessingPrice OpExternalProcessingPrice 1
OpLtstSchedldExecEndDte OpLtstSchedldExecEndDte 2
OpLtstSchedldExecEndTme OpLtstSchedldExecEndTme 1
OpLtstSchedldExecStrtDte OpLtstSchedldExecStrtDte 2
OpLtstSchedldExecStrtTme OpLtstSchedldExecStrtTme 1
OpLtstSchedldProcgStrtDte OpLtstSchedldProcgStrtDte 1
OpLtstSchedldProcgStrtTme OpLtstSchedldProcgStrtTme 1
OpLtstSchedldTrdwnStrtDte OpLtstSchedldTrdwnStrtDte 1
OpLtstSchedldTrdwnStrtTme OpLtstSchedldTrdwnStrtTme 1
OpPlannedProcessingDurn OpPlannedProcessingDurn 1
OpPlannedProcessingDurnUnit OpPlannedProcessingDurnUnit 1
OpPlannedScrapQuantity OpPlannedScrapQuantity 1
OpPlannedSetupDurn OpPlannedSetupDurn 1
OpPlannedSetupDurnUnit OpPlannedSetupDurnUnit 1
OpPlannedTeardownDurn OpPlannedTeardownDurn 1
OpPlannedTeardownDurnUnit OpPlannedTeardownDurnUnit 1
OpPlannedTotalQuantity OpPlannedTotalQuantity 1
OpPlannedYieldQuantity OpPlannedYieldQuantity 1
OpQtyToBaseQtyDnmntr OpQtyToBaseQtyDnmntr 1
OpQtyToBaseQtyNmrtr OpQtyToBaseQtyNmrtr 1
OpSchedldReductionLevel OpSchedldReductionLevel 1
OpTotalConfirmedScrapQty OpTotalConfirmedScrapQty 1
OpTotalConfirmedYieldQty OpTotalConfirmedYieldQty 1
OpTotConfdYieldQtyInOrdQtyUnit OpTotConfdYieldQtyInOrdQtyUnit 1
OverlapMinimumDuration OverlapMinimumDuration 1
OverlapMinimumDurationUnit OverlapMinimumDurationUnit 1
Personnel Personnel 1
PlannedBreakDuration PlannedBreakDuration 1
PlannedDeliveryDuration PlannedDeliveryDuration 1
Plant Plant,ProductionPlant 2
ProductConfiguration ProductConfiguration 1
ProductionSupervisor ProductionSupervisor 1
ProductionUnit ProductionUnit 1
ProfitCenter ProfitCenter 1
PurchasingGroup PurchasingGroup 1
PurchasingInfoRecordCategory PurchasingInfoRecordCategory 1
PurchasingOrganization PurchasingOrganization 1
PurgInfoRecdDataIsFixed PurgInfoRecdDataIsFixed 1
RequestingCostCenter RequestingCostCenter 1
ResponsiblePlannerGroup ResponsiblePlannerGroup 1
SchedldFcstdEarliestEndDate SchedldFcstdEarliestEndDate 1
SchedldFcstdEarliestEndTime SchedldFcstdEarliestEndTime 1
SchedldFcstdEarliestStartDate SchedldFcstdEarliestStartDate 1
SchedldFcstdEarliestStartTime SchedldFcstdEarliestStartTime 1
SchedldFcstdLatestEndTime SchedldFcstdLatestEndTime 1
SchedldFcstdLatestStartTime SchedldFcstdLatestStartTime 1
ScheduledMoveDuration ScheduledMoveDuration 1
ScheduledMoveDurationUnit ScheduledMoveDurationUnit 1
ScheduledQueueDuration ScheduledQueueDuration 1
ScheduledQueueDurationUnit ScheduledQueueDurationUnit 1
ScheduledWaitDuration ScheduledWaitDuration 1
ScheduledWaitDurationUnit ScheduledWaitDurationUnit 1
StandardMoveDuration StandardMoveDuration 1
StandardMoveDurationUnit StandardMoveDurationUnit 1
StandardQueueDuration StandardQueueDuration 1
StandardQueueDurationUnit StandardQueueDurationUnit 1
StandardWorkFormulaParamGroup StandardWorkFormulaParamGroup 1
StartDateOffsetDuration StartDateOffsetDuration 1
StartDateOffsetDurationUnit StartDateOffsetDurationUnit 1
SuperiorOperation_2 SuperiorOperation_2 1
SuperiorOperationInternalID SuperiorOperationInternalID 2
Supplier Supplier 1
TaxJurisdiction TaxJurisdiction 1
UnloadingPointName UnloadingPointName 1
WorkCenterInternalID WorkCenterInternalID 1
WorkCenterStandardWorkQty1 WorkCenterStandardWorkQty1 1
WorkCenterStandardWorkQty2 WorkCenterStandardWorkQty2 1
WorkCenterStandardWorkQty3 WorkCenterStandardWorkQty3 1
WorkCenterStandardWorkQty4 WorkCenterStandardWorkQty4 1
WorkCenterStandardWorkQty5 WorkCenterStandardWorkQty5 1
WorkCenterStandardWorkQty6 WorkCenterStandardWorkQty6 1
WorkCenterStandardWorkQtyUnit1 WorkCenterStandardWorkQtyUnit1 1
WorkCenterStandardWorkQtyUnit2 WorkCenterStandardWorkQtyUnit2 1
WorkCenterStandardWorkQtyUnit3 WorkCenterStandardWorkQtyUnit3 1
WorkCenterStandardWorkQtyUnit4 WorkCenterStandardWorkQtyUnit4 1
WorkCenterStandardWorkQtyUnit5 WorkCenterStandardWorkQtyUnit5 1
WorkCenterStandardWorkQtyUnit6 WorkCenterStandardWorkQtyUnit6 1
WorkCenterTypeCode WorkCenterTypeCode 1
WorkCenterTypeCode_2 WorkCenterTypeCode_2 1
@AbapCatalog.sqlViewName: 'IMFGORDEROPER'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@AccessControl.privilegedAssociations: ['_MRPController', '_ProductionSupervisor', '_LongText']
@Analytics.dataCategory: #DIMENSION
@Analytics.dataExtraction: { enabled: true,
                             delta.changeDataCapture:
                                    { mapping:
                                      [ { role: #MAIN,
                                          table: 'afvc',
                                          tableElement: ['aufpl'             , 'aplzl'],
                                          viewElement:  ['MfgOrderInternalID', 'OrderOperationInternalID']
                                        },
                                        { role: #LEFT_OUTER_TO_ONE_JOIN,
                                          table: 'afvv',
                                          tableElement: ['aufpl'             , 'aplzl'],
                                          viewElement:  ['MfgOrderInternalID', 'OrderOperationInternalID']
                                        },
                                        { role: #LEFT_OUTER_TO_ONE_JOIN,
                                          table: 'afvu',
                                          tableElement: ['aufpl'             , 'aplzl'],
                                          viewElement:  ['MfgOrderInternalID', 'OrderOperationInternalID']
                                        },
                                        { role: #LEFT_OUTER_TO_ONE_JOIN,
                                          table: 'afko',
                                          tableElement: ['aufnr'],
                                          viewElement:  ['ManufacturingOrder']
                                        },
                                        { role: #LEFT_OUTER_TO_ONE_JOIN,
                                          table: 'aufk',
                                          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: [#CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #EXTRACTION_DATA_SOURCE, #ANALYTICAL_DIMENSION]
@ObjectModel.representativeKey: 'OrderOperationInternalID'
@ObjectModel.semanticKey: ['ManufacturingOrder', 'ManufacturingOrderSequence', 'ManufacturingOrderOperation']
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Manufacturing Order Operation'

define view I_ManufacturingOrderOperation
  as select from           I_OrderOperation      as afvg
    inner join             I_MfgOrderBasic       as aufv on  aufv.OrderInternalID = afvg.OrderInternalID
    left outer to one join I_OrderOperationBasic as afvc on  afvc.OrderInternalID = afvg.OrderInternalID //sub-operation handling

                                                         and afvc.OrderOperationInternalID = afvg.SuperiorOperationInternalID
    left outer to one join I_OrderOperationBasic as afvp on  afvp.OrderInternalID = afvg.OrderInternalID //phase handling

                                                         and afvp.OrderOperationInternalID = afvg.OrderIntBillOfOpItemOfPhase

  association [1..1] to I_OrderInternalID             as _OrderInternalID              on  $projection.MfgOrderInternalID = _OrderInternalID.OrderInternalID
  association [1..1] to I_MfgOrder                    as _MfgOrder                     on  $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
  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_OrderOperationBasic         as _SuperiorOperation            on  $projection.MfgOrderInternalID = _SuperiorOperation.OrderInternalID
                                                                                       and $projection.SuperiorOperationInternalID   = _SuperiorOperation.OrderOperationInternalID
  association [0..1] to I_OperationStandardText       as _OperationStandardTextCode    on  $projection.OperationStandardTextCode = _OperationStandardTextCode.OperationStandardTextCode
  association [1..1] to I_Plant                       as _Plant                        on  $projection.Plant = _Plant.Plant
  association [1..1] to I_UnitOfMeasure               as _ProductionUnit               on  $projection.ProductionUnit = _ProductionUnit.UnitOfMeasure
  association [1..1] to I_UnitOfMeasure               as _OperationUnit                on  $projection.OperationUnit = _OperationUnit.UnitOfMeasure
  association [0..1] to I_ProductionSupervisor        as _ProductionSupervisor         on  $projection.Plant                = _ProductionSupervisor.Plant
                                                                                       and $projection.ProductionSupervisor = _ProductionSupervisor.ProductionSupervisor
  association [0..1] to I_MRPController               as _MRPController                on  $projection.Plant         = _MRPController.Plant
                                                                                       and $projection.MRPController = _MRPController.MRPController
  association [0..1] to I_ResponsiblePlannerGroup     as _ResponsiblePlannerGroup      on  $projection.Plant                   = _ResponsiblePlannerGroup.Plant
                                                                                       and $projection.ResponsiblePlannerGroup = _ResponsiblePlannerGroup.ResponsiblePlannerGroup
  association [0..1] to I_WorkCenterType              as _WorkCenterType               on  $projection.WorkCenterTypeCode = _WorkCenterType.WorkCenterTypeCode
  association [0..1] to I_WorkCenter                  as _WorkCenter                   on  $projection.WorkCenterTypeCode   = _WorkCenter.WorkCenterTypeCode
                                                                                       and $projection.WorkCenterInternalID = _WorkCenter.WorkCenterInternalID
  association [0..1] to I_WorkCenterType              as _WorkCenterType_2             on  $projection.WorkCenterTypeCode_2 = _WorkCenterType_2.WorkCenterTypeCode
  association [0..1] to I_WorkCenter                  as _WorkCenter_2                 on  $projection.WorkCenterTypeCode_2 = _WorkCenter_2.WorkCenterTypeCode
                                                                                       and $projection.WorkCenterInternalID = _WorkCenter_2.WorkCenterInternalID
  association [1..1] to I_OperationControlProfile     as _OperationControlProfile      on  $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile
  association [0..1] to I_BillOfOperationsType        as _BillOfOperationsType         on  $projection.BillOfOperationsType = _BillOfOperationsType.BillOfOperationsType
  association [0..1] to I_BillOfOperationsGroup       as _BillOfOperationsGroup        on  $projection.BillOfOperationsType  = _BillOfOperationsGroup.BillOfOperationsType
                                                                                       and $projection.BillOfOperationsGroup = _BillOfOperationsGroup.BillOfOperationsGroup
  association [0..1] to I_MfgBillOfOperations         as _BillOfOperationsVariant      on  $projection.BillOfOperationsType    = _BillOfOperationsVariant.BillOfOperationsType
                                                                                       and $projection.BillOfOperationsGroup   = _BillOfOperationsVariant.BillOfOperationsGroup
                                                                                       and $projection.BillOfOperationsVariant = _BillOfOperationsVariant.BillOfOperationsVariant
  association [0..1] to I_MfgBillOfOperationsSequence as _BillOfOperationsSequence     on  $projection.BillOfOperationsType      = _BillOfOperationsSequence.BillOfOperationsType
                                                                                       and $projection.BillOfOperationsGroup     = _BillOfOperationsSequence.BillOfOperationsGroup
                                                                                       and $projection.BillOfOperationsVariant   = _BillOfOperationsSequence.BillOfOperationsVariant
                                                                                       and $projection.BillOfOperationsSequence  = _BillOfOperationsSequence.BillOfOperationsSequence
  association [0..1] to I_BOOOperationInternalID      as _BOOOperationInternalID       on  $projection.BillOfOperationsType   = _BOOOperationInternalID.BillOfOperationsType
                                                                                       and $projection.BillOfOperationsGroup  = _BOOOperationInternalID.BillOfOperationsGroup
                                                                                       and $projection.BOOOperationInternalID = _BOOOperationInternalID.BOOOperationInternalID
  association [0..1] to I_FactoryCalendar             as _FactoryCalendar              on  $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar
  association [0..1] to I_CapacityRequirement         as _CapacityRequirement          on  $projection.CapacityRequirement = _CapacityRequirement.CapacityRequirement
  association [0..1] to I_CapacityRequirementItem     as _CapacityRequirementItem      on  $projection.CapacityRequirement     = _CapacityRequirementItem.CapacityRequirement
                                                                                       and $projection.CapacityRequirementItem = _CapacityRequirementItem.CapacityRequirementItem
  association [0..1] to I_ControlRecipeDestination    as _ControlRecipeDestination     on  $projection.Plant                    = _ControlRecipeDestination.Plant
                                                                                       and $projection.ControlRecipeDestination = _ControlRecipeDestination.ControlRecipeDestination
  association [0..1] to I_ConfirmationGroup           as _OperationConfirmation        on  $projection.OperationConfirmation = _OperationConfirmation.ConfirmationGroup
  association [0..1] to I_ChangeMaster                as _ChangeNumber                 on  $projection.ChangeNumber = _ChangeNumber.ChangeNumber
  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_PurchasingOrganization      as _PurchasingOrganization       on  $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
  association [0..1] to I_PurchasingGroup             as _PurchasingGroup              on  $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
  association [0..1] to I_PurchasingInfoRecordApi01   as _PurchasingInfoRecord         on  $projection.PurchasingInfoRecord = _PurchasingInfoRecord.PurchasingInfoRecord
  association [0..1] to I_Supplier                    as _Supplier                     on  $projection.Supplier = _Supplier.Supplier
  association [0..1] to I_SupplierCompany             as _SupplierCompany              on  $projection.Supplier    = _SupplierCompany.Supplier
                                                                                       and $projection.CompanyCode = _SupplierCompany.CompanyCode
  association [0..1] to I_SupplierCompanyByPlant      as _SupplierCompanyByPlant       on  $projection.Plant    = _SupplierCompanyByPlant.Plant
                                                                                       and $projection.Supplier = _SupplierCompanyByPlant.Supplier
  association [0..1] to I_EmployeeWageGroup           as _EmployeeWageGroup            on  $projection.Plant             = _EmployeeWageGroup.Plant
                                                                                       and $projection.EmployeeWageGroup = _EmployeeWageGroup.EmployeeWageGroup
  association [0..1] to I_EmployeeSuitability         as _EmployeeSuitability          on  $projection.Plant               = _EmployeeSuitability.Plant
                                                                                       and $projection.EmployeeSuitability = _EmployeeSuitability.EmployeeSuitability
--association [0..1] to I_Employment                  as _Employee                     on  $projection.Personnel = _Employee.EmploymentInternalID
  association [0..1] to I_PersonWorkAgreement_1       as _Employee                     on  $projection.Personnel = _Employee.PersonWorkAgreement
  association [0..1] to I_CompanyCode                 as _CompanyCode                  on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [0..*] to I_ProfitCenter                as _ProfitCenter                 on  $projection.ControllingArea = _ProfitCenter.ControllingArea
                                                                                       and $projection.ProfitCenter    = _ProfitCenter.ProfitCenter
  association [0..*] to I_CostCenter                  as _RequestingCostCenter         on  $projection.ControllingArea      = _RequestingCostCenter.ControllingArea
                                                                                       and $projection.RequestingCostCenter = _RequestingCostCenter.CostCenter
  association [0..1] to I_CostElement                 as _CostElement                  on  $projection.ControllingArea = _CostElement.ControllingArea
                                                                                       and $projection.CostElement = _CostElement.CostElement
  association [0..1] to I_CostingVariant              as _CostingVariant               on  $projection.CostingVariant = _CostingVariant.CostingVariant
  association [0..1] to I_ControllingArea             as _ControllingArea              on  $projection.ControllingArea = _ControllingArea.ControllingArea
  association [0..1] to I_ControllingObjectClass      as _ControllingObjectClass       on  $projection.ControllingObjectClass = _ControllingObjectClass.ControllingObjectClass
  association [0..1] to I_Currency                    as _ControllingObjectCurrency    on  $projection.ControllingObjectCurrency  = _ControllingObjectCurrency.Currency
  association [0..1] to I_Currency                    as _OpExternalProcessingCurrency on  $projection.OpExternalProcessingCurrency = _OpExternalProcessingCurrency.Currency
  association [0..1] to I_FunctionalArea              as _FunctionalArea               on  $projection.FunctionalArea = _FunctionalArea.FunctionalArea
  association [0..1] to I_BusinessArea                as _BusinessArea                 on  $projection.BusinessArea = _BusinessArea.BusinessArea
  association [0..1] to I_BusinessProcess             as _BusinessProcess              on  $projection.ControllingArea = _BusinessProcess.ControllingArea
                                                                                       and $projection.BusinessProcess = _BusinessProcess.BusinessProcess
  association [0..1] to I_UnitOfMeasure               as _BusinessProcessEntryUnit     on  $projection.BusinessProcessEntryUnit = _BusinessProcessEntryUnit.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _ConfirmedWorkQuantityUnit1   on  $projection.OpWorkQuantityUnit1 = _ConfirmedWorkQuantityUnit1.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _ConfirmedWorkQuantityUnit2   on  $projection.OpWorkQuantityUnit2 = _ConfirmedWorkQuantityUnit2.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _ConfirmedWorkQuantityUnit3   on  $projection.OpWorkQuantityUnit3 = _ConfirmedWorkQuantityUnit3.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _ConfirmedWorkQuantityUnit4   on  $projection.OpWorkQuantityUnit4 = _ConfirmedWorkQuantityUnit4.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _ConfirmedWorkQuantityUnit5   on  $projection.OpWorkQuantityUnit5 = _ConfirmedWorkQuantityUnit5.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _ConfirmedWorkQuantityUnit6   on  $projection.OpWorkQuantityUnit6 = _ConfirmedWorkQuantityUnit6.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _StdWorkQuantityUnit1         on  $projection.WorkCenterStandardWorkQtyUnit1 = _StdWorkQuantityUnit1.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _StdWorkQuantityUnit2         on  $projection.WorkCenterStandardWorkQtyUnit2 = _StdWorkQuantityUnit2.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _StdWorkQuantityUnit3         on  $projection.WorkCenterStandardWorkQtyUnit3 = _StdWorkQuantityUnit3.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _StdWorkQuantityUnit4         on  $projection.WorkCenterStandardWorkQtyUnit4 = _StdWorkQuantityUnit4.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _StdWorkQuantityUnit5         on  $projection.WorkCenterStandardWorkQtyUnit5 = _StdWorkQuantityUnit5.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _StdWorkQuantityUnit6         on  $projection.WorkCenterStandardWorkQtyUnit6 = _StdWorkQuantityUnit6.UnitOfMeasure
  association [0..1] to I_OperationSetupGroupCategory as _OperationSetupGroupCategory  on  $projection.Plant                       = _OperationSetupGroupCategory.Plant
                                                                                       and $projection.OperationSetupGroupCategory = _OperationSetupGroupCategory.OperationSetupGroupCategory
  association [0..1] to I_OperationSetupGroup         as _OperationSetupGroup          on  $projection.OperationSetupGroup         = _OperationSetupGroup.OperationSetupGroup
                                                                                       and $projection.OperationSetupGroupCategory = _OperationSetupGroup.OperationSetupGroupCategory
                                                                                       and $projection.Plant              = _OperationSetupGroup.Plant
  association [0..1] to I_OperationSetupType          as _OperationSetupType           on  $projection.OperationSetupType = _OperationSetupType.OperationSetupType
                                                                                       and $projection.Plant              = _OperationSetupType.Plant
  association [0..1] to I_LeadTimeReductionStrategy   as _LeadTimeReductionStrategy    on  $projection.LeadTimeReductionStrategy = _LeadTimeReductionStrategy.LeadTimeReductionStrategy
                                                                                       and $projection.Plant                     = _LeadTimeReductionStrategy.Plant
  association [0..1] to I_OperationDateOffsetRefCode  as _StartDateOffsetReferenceCode on  $projection.StartDateOffsetReferenceCode = _StartDateOffsetReferenceCode.OperationDateOffsetRefCode
  association [0..1] to I_OperationDateOffsetRefCode  as _EndDateOffsetReferenceCode   on  $projection.EndDateOffsetReferenceCode   = _EndDateOffsetReferenceCode.OperationDateOffsetRefCode
  association [0..1] to I_StandardWorkFmlaParamGroup  as _StandardWorkFmlaParamGroup   on  $projection.StandardWorkFormulaParamGroup = _StandardWorkFmlaParamGroup.StandardWorkFormulaParamGroup
  association [0..1] to I_Language                    as _Language                     on  $projection.Language = _Language.Language
  association [0..1] to I_OpActyNtwkInstance          as _SetupOpActyNtwkInstance      on  $projection.SetupOpActyNtwkInstance    = _SetupOpActyNtwkInstance.OpActyNtwkInstance
  association [0..1] to I_OpActyNtwkInstance          as _ProduceOpActyNtwkInstance    on  $projection.ProduceOpActyNtwkInstance  = _ProduceOpActyNtwkInstance.OpActyNtwkInstance
  association [0..1] to I_OpActyNtwkInstance          as _TeardownOpActyNtwkInstance   on  $projection.TeardownOpActyNtwkInstance = _TeardownOpActyNtwkInstance.OpActyNtwkInstance
  association [0..1] to I_UnitOfMeasure               as _FreeDefinedQuantity1Unit     on  $projection.FreeDefinedQuantity1Unit   = _FreeDefinedQuantity1Unit.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure               as _FreeDefinedQuantity2Unit     on  $projection.FreeDefinedQuantity2Unit   = _FreeDefinedQuantity2Unit.UnitOfMeasure
  association [0..1] to I_Currency                    as _FreeDefinedAmount1Currency   on  $projection.FreeDefinedAmount1Currency = _FreeDefinedAmount1Currency.Currency
  association [0..1] to I_Currency                    as _FreeDefinedAmount2Currency   on  $projection.FreeDefinedAmount2Currency = _FreeDefinedAmount2Currency.Currency
  -- to root: Header
  association [1..1] to I_ManufacturingOrder          as _ManufacturingOrder           on  $projection.ManufacturingOrder          = _ManufacturingOrder.ManufacturingOrder
  -- to parent: Sequence
  association [1..1] to I_MfgOrderSequence            as _MfgOrderSequence             on  $projection.ManufacturingOrder          = _MfgOrderSequence.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence  = _MfgOrderSequence.ManufacturingOrderSequence
  -- to child: Components
  association [0..*] to I_MfgOrderOperationComponent  as _MfgOrderOpComponent          on  $projection.ManufacturingOrder          = _MfgOrderOpComponent.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence  = _MfgOrderOpComponent.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation = _MfgOrderOpComponent.ManufacturingOrderOperation
  association [0..*] to I_MfgOrderOperationComponent  as _MfgOrderOpComponent2         on  $projection.ManufacturingOrder            = _MfgOrderOpComponent2.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence    = _MfgOrderOpComponent2.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2 = _MfgOrderOpComponent2.ManufacturingOrderOperation_2
  association [0..*] to I_MfgOrderOperationComponent  as _MfgOrderOpComponent_3        on  $projection.ManufacturingOrder             = _MfgOrderOpComponent_3.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence     = _MfgOrderOpComponent_3.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2  = _MfgOrderOpComponent_3.ManufacturingOrderOperation_2
                                                                                       and $projection.ManufacturingOrdSubOperation_2 = ''
  -- to child: Prodn. resource/tools
  association [0..*] to I_MfgOrderOperationPRT        as _MfgOrderOperationPRT         on  $projection.ManufacturingOrder          = _MfgOrderOperationPRT.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence  = _MfgOrderOperationPRT.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation = _MfgOrderOperationPRT.ManufacturingOrderOperation
  association [0..*] to I_MfgOrderOperationPRT        as _MfgOrderOperationPRT2        on  $projection.ManufacturingOrder            = _MfgOrderOperationPRT2.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence    = _MfgOrderOperationPRT2.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2 = _MfgOrderOperationPRT2.ManufacturingOrderOperation_2
  association [0..*] to I_MfgOrderOperationPRT        as _MfgOrderOperationPRT_3       on  $projection.ManufacturingOrder             = _MfgOrderOperationPRT_3.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence     = _MfgOrderOperationPRT_3.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2  = _MfgOrderOperationPRT_3.ManufacturingOrderOperation_2
                                                                                       and $projection.ManufacturingOrdSubOperation_2 = ''
  -- to child: Trigger points
  association [0..*] to I_MfgOrderOperationTrggrPoint as _MfgOrderOpTriggerPoint       on  $projection.ManufacturingOrder          = _MfgOrderOpTriggerPoint.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence  = _MfgOrderOpTriggerPoint.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation = _MfgOrderOpTriggerPoint.ManufacturingOrderOperation
  association [0..*] to I_MfgOrderOperationTrggrPoint as _MfgOrderOpTriggerPoint2      on  $projection.ManufacturingOrder            = _MfgOrderOpTriggerPoint2.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence    = _MfgOrderOpTriggerPoint2.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2 = _MfgOrderOpTriggerPoint2.ManufacturingOrderOperation
  association [0..*] to I_MfgOrderOperationTrggrPoint as _MfgOrderOpTriggerPoint_3     on  $projection.ManufacturingOrder             = _MfgOrderOpTriggerPoint_3.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence     = _MfgOrderOpTriggerPoint_3.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2  = _MfgOrderOpTriggerPoint_3.ManufacturingOrderOperation
                                                                                       and $projection.ManufacturingOrdSubOperation_2 = ''
  -- to child: Document links
  association [0..*] to I_MfgOrderOpDocInfoRecdObjLink as _MfgOrderOpDocInfoRecord     on  $projection.ManufacturingOrder          = _MfgOrderOpDocInfoRecord.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence  = _MfgOrderOpDocInfoRecord.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation = _MfgOrderOpDocInfoRecord.ManufacturingOrderOperation
  association [0..*] to I_MfgOrderOpDocInfoRecdObjLink as _MfgOrderOpDocInfoRecord2    on  $projection.ManufacturingOrder             = _MfgOrderOpDocInfoRecord2.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence     = _MfgOrderOpDocInfoRecord2.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2  = _MfgOrderOpDocInfoRecord2.ManufacturingOrderOperation_2
  association [0..*] to I_MfgOrderOpDocInfoRecdObjLink as _MfgOrderOpDocInfoRecord_3   on  $projection.ManufacturingOrder             = _MfgOrderOpDocInfoRecord_3.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence     = _MfgOrderOpDocInfoRecord_3.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2  = _MfgOrderOpDocInfoRecord_3.ManufacturingOrderOperation_2
                                                                                       and $projection.ManufacturingOrdSubOperation_2 = ''
  -- to child: Confirmations
  association [0..*] to I_MfgOrderOperationConf       as _MfgOrderOperationConf        on  $projection.ManufacturingOrder          = _MfgOrderOperationConf.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence  = _MfgOrderOperationConf.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation = _MfgOrderOperationConf.ManufacturingOrderOperation
  association [0..*] to I_MfgOrderConfirmation        as _MfgOrderOperationConf2       on  $projection.ManufacturingOrder             = _MfgOrderOperationConf2.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence     = _MfgOrderOperationConf2.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2  = _MfgOrderOperationConf2.ManufacturingOrderOperation_2
  association [0..*] to I_MfgOrderConfirmation        as _MfgOrderOperationConf_3      on  $projection.ManufacturingOrder             = _MfgOrderOperationConf_3.ManufacturingOrder
                                                                                       and $projection.ManufacturingOrderSequence     = _MfgOrderOperationConf_3.ManufacturingOrderSequence
                                                                                       and $projection.ManufacturingOrderOperation_2  = _MfgOrderOperationConf_3.ManufacturingOrderOperation_2
                                                                                       and $projection.ManufacturingOrdSubOperation_2 = ''
  -- to child: Longtext
  association [0..1] to I_MfgOrderOperationLongText   as _MfgOrderOperationLongText    on  $projection.MfgOrderInternalID       = _MfgOrderOperationLongText.MfgOrderInternalID
                                                                                       and $projection.OrderOperationInternalID = _MfgOrderOperationLongText.OrderOperationInternalID
                                                                                       and $projection.Language                 = _MfgOrderOperationLongText.LongTextLanguage
  -- to extension
  association [1..1] to E_OrderOperation              as _Extension                    on  $projection.MfgOrderInternalID       = _Extension.OrderInternalID
                                                                                       and $projection.OrderOperationInternalID = _Extension.OrderOperationInternalID
{
      // Technical Key

      @ObjectModel.foreignKey.association: '_OrderInternalID'
  key cast(afvg.OrderInternalID          as pph_aufpl           preserving type) as MfgOrderInternalID,
  key cast(afvg.OrderOperationInternalID as operationinternalid preserving type) as OrderOperationInternalID,

      // Semantical key

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderStdVH', element: 'ManufacturingOrder' } } ]
      @ObjectModel.foreignKey.association: '_MfgOrder'
      cast(aufv.ManufacturingOrder as manufacturingorder preserving type) as ManufacturingOrder,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderSequenceStdVH', element: 'ManufacturingOrderSequence' } } ]
      @ObjectModel.foreignKey.association: '_MfgOrderSequence'
      cast(afvg.Sequence as manufacturingordersequence preserving type)   as ManufacturingOrderSequence,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'ManufacturingOrderOperation_2'
      @ObjectModel.text.element: ['MfgOrderOperationText']
      case
        when afvg.SuperiorOperationInternalID > '00000000' then
          cast(afvc.Operation as manufacturingorderoperation preserving type)  //superior operation ID

        else
          cast(afvg.Operation as manufacturingorderoperation preserving type)
      end                                                                 as ManufacturingOrderOperation,
      @ObjectModel.text.element: ['MfgOrderOperationText']
      case
        when afvg.SuperiorOperationInternalID > '00000000' then
          afvc.Operation_2                                                     //superior operation ID

        else
          afvg.Operation_2
      end                                                                 as ManufacturingOrderOperation_2,  // no conv. exit

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'ManufacturingOrdSubOperation_2'
      @ObjectModel.text.element: ['MfgOrderOperationText']
      cast(case
             when afvg.SuperiorOperationInternalID > '00000000' then afvg.Operation
             when afvg.SuperiorOperationInternalID = '00000000' then ''
      end as manufacturingordersuboperation preserving type)              as ManufacturingOrderSubOperation,
      @ObjectModel.text.element: ['MfgOrderOperationText']
      case
        when afvg.SuperiorOperationInternalID > '00000000' then afvg.Operation_2
        when afvg.SuperiorOperationInternalID = '00000000' then ''
      end                                                                 as ManufacturingOrdSubOperation_2,  // no conv. exit

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'MfgOrderOperationOrSubOp_2'
      afvc.Operation                                                      as MfgOrderOperationOrSubOp,
      afvc.Operation_2                                                    as MfgOrderOperationOrSubOp_2,

      // Process Order Phase handling

      afvg.MfgOrderOperationIsPhase,
      --Reference to superior operation of a phase
      afvg.OrderIntBillOfOpItemOfPhase,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SuperiorOperation_2'
      cast(afvp.Operation   as vdm_supop   preserving type)               as MfgOrderPhaseSuperiorOperation,
      cast(afvp.Operation_2 as vdm_supop_2 preserving type)               as SuperiorOperation_2,             // no conv. exit


      // Order header data

      @ObjectModel.foreignKey.association: '_MfgOrderCategory'
      cast(aufv.ManufacturingOrderCategory as manufacturingordercategory preserving type) as ManufacturingOrderCategory,
      @ObjectModel.foreignKey.association: '_MfgOrderType'
      cast(aufv.ManufacturingOrderType     as manufacturingordertype preserving type)     as ManufacturingOrderType,
      @ObjectModel.foreignKey.association: '_ProductionSupervisor'
      cast(aufv.ProductionSupervisor       as pph_fevor preserving type)                  as ProductionSupervisor,
      @ObjectModel.foreignKey.association: '_MRPController'
      cast(aufv.MRPController              as pph_dispo preserving type)                  as MRPController,
      @ObjectModel.foreignKey.association: '_ResponsiblePlannerGroup'
      cast(aufv.ResponsiblePlannerGroup    as vagrp preserving type)                      as ResponsiblePlannerGroup,
      cast(aufv.ProductConfiguration       as product_configuration preserving type)      as ProductConfiguration,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_InspectionLotStdVH', element: 'InspectionLot' } } ]
      aufv.InspectionLot,
      aufv.ManufacturingOrderImportance,

      // Text

      @Semantics.text: true
      cast(afvg.OperationText as mfgorderoperationtext preserving type) as MfgOrderOperationText,
      @ObjectModel.foreignKey.association: '_OperationStandardTextCode'
      cast(afvg.StandardTextInternalID as pph_ktsch preserving type)    as OperationStandardTextCode,
      // Long text logic

      cast(case
             when afvg.Language <> '' then 'X'
             else afvg.Language
      end as aufltext preserving type)                                  as OperationHasLongText,
      @ObjectModel.foreignKey.association: '_Language'
      afvg.Language                                                     as Language,

      // Attributes

      afvg.OperationIsToBeDeleted,
      cast(afvg.NumberOfCapacities as pph_anzkap preserving type)  as NumberOfCapacities,
      afvg.NumberOfConfirmationSlips,
      afvg.OperationImportance,

      // Assignments

      @ObjectModel.foreignKey.association: '_SuperiorOperation'
      afvg.SuperiorOperationInternalID,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
      @ObjectModel.foreignKey.association: '_Plant'
      afvg.Plant,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_WorkCenterStdVH', element: 'WorkCenterInternalID' } } ]
      @ObjectModel.foreignKey.association: '_WorkCenter_2'
      cast(afvg.WorkCenterInternalID as pph_arbid preserving type)              as WorkCenterInternalID,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'WorkCenterTypeCode_2'
      @ObjectModel.foreignKey.association: '_WorkCenterType'
      cast(afvg.WorkCenterTypeCode   as pph_arbty preserving type)              as WorkCenterTypeCode,    // CHAR1

      @ObjectModel.foreignKey.association: '_WorkCenterType_2'
      cast(afvg.WorkCenterTypeCode_2 as vdm_arbty preserving type)              as WorkCenterTypeCode_2,  // CHAR2

      @ObjectModel.foreignKey.association: '_OperationControlProfile'
      cast(afvg.OperationControlProfile as pph_steus preserving type)           as OperationControlProfile,
      @ObjectModel.foreignKey.association: '_ControlRecipeDestination'
      afvg.ControlRecipeDestination,
      @ObjectModel.foreignKey.association: '_OperationConfirmation'
      afvg.OperationConfirmation,
      cast(afvg.NumberOfOperationConfirmations as pph_noofconf preserving type) as NumberOfOperationConfirmations,
      @ObjectModel.foreignKey.association: '_FactoryCalendar'
      cast(afvg.FactoryCalendar as cr_wfcid preserving type)                    as FactoryCalendar,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_CapacityRequirementStdVH', element: 'CapacityRequirement' } } ]
      @ObjectModel.foreignKey.association: '_CapacityRequirement'
      afvg.CapacityRequirement,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_CapRqmtItmStdVH', element: 'CapacityRequirementItem' } } ]
      @ObjectModel.foreignKey.association: '_CapacityRequirementItem'
      cast(afvg.CapacityRequirementItem as pph_bedzl preserving type)           as CapacityRequirementItem,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ChangeMasterStdVH', element: 'ChangeNumber' } } ]
      @ObjectModel.foreignKey.association: '_ChangeNumber'
      afvg.ChangeNumber,
      cast(afvg.ObjectInternalID as pph_objnr preserving type)                  as ObjectInternalID,
      afvg.OperationTrackingNumber,

      // Assignments BOO and BOM

      @ObjectModel.foreignKey.association: '_BillOfOperationsType'
      cast(afvg.BillOfOperationsType as billofoperationstype preserving type)   as BillOfOperationsType,
      @ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
      afvg.BillOfOperationsGroup,
      @ObjectModel.foreignKey.association: '_BillOfOperationsVariant'
      afvg.BillOfOperationsVariant,
      @ObjectModel.foreignKey.association: '_BillOfOperationsSequence'
      cast(afvg.BillOfOperationsSequence as boosequence preserving type)        as BillOfOperationsSequence,
      @ObjectModel.foreignKey.association: '_BOOOperationInternalID'
      afvg.BOOOperationInternalID,
      afvg.BillOfOperationsVersion,
      cast(afvg.BillOfMaterialCategory as pph_stlty preserving type)            as BillOfMaterialCategory,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'BillOfMaterialInternalID_2'
      afvg.BillOfMaterialInternalID,
      afvg.BillOfMaterialInternalID_2,   // no conv. exit

      cast(afvg.BillOfMaterialItemNodeNumber as pph_stlkn preserving type)      as BillOfMaterialItemNodeNumber,
      afvg.BOMItemNodeCount,

      // Assignments Purchasing

      afvg.ExtProcgOperationHasSubcontrg,
      @ObjectModel.foreignKey.association: '_PurchasingOrganization'
      cast(afvg.PurchasingOrganization as pph_ekorg preserving type)             as PurchasingOrganization,
      @ObjectModel.foreignKey.association: '_PurchasingGroup'
      afvg.PurchasingGroup,
--    @ObjectModel.foreignKey.association: '_PurchaseRequisition'
      afvg.PurchaseRequisition,
--    @ObjectModel.foreignKey.association: '_PurchaseRequisitionItem'
      cast(afvg.PurchaseRequisitionItem as pph_bnfpo preserving type)            as PurchaseRequisitionItem,
--    @ObjectModel.foreignKey.association: '_PurchaseOrder'
      cast(afvg.PurchasingDocument     as vdm_purchaseorder     preserving type) as PurchaseOrder,
--    @ObjectModel.foreignKey.association: '_PurchaseOrderItem'
      cast(afvg.PurchasingDocumentItem as vdm_purchaseorderitem preserving type) as PurchaseOrderItem,
--    @ObjectModel.foreignKey.association: '_PurchasingInfoRecord'
      cast(afvg.PurchasingInfoRecord as pph_infnr preserving type)               as PurchasingInfoRecord,
      cast(afvg.PurgInfoRecdDataIsFixed as vdm_kzfix preserving type)            as PurgInfoRecdDataIsFixed,
      cast(afvg.PurchasingInfoRecordCategory as pph_esokz preserving type)       as PurchasingInfoRecordCategory,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_Supplier_VH', element: 'Supplier' } } ]
      @ObjectModel.foreignKey.association: '_Supplier'
      afvg.Supplier,
      @Semantics.text: true
      cast(afvg.GoodsRecipientName as pph_wempf preserving type)                 as GoodsRecipientName,
      @Semantics.text: true
      afvg.UnloadingPointName,
      afvg.MaterialGroup,

      // Amount and Currency

      @Semantics.currencyCode: true
      afvg.Currency as OpExternalProcessingCurrency,
      @Aggregation.default: #SUM
      @Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
      afvg.OpExternalProcessingPrice,
      afvg.NumberOfOperationPriceUnits,

      // Assignments FI/CO

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_CompanyCodeStdVH', element: 'CompanyCode' } } ]
      @ObjectModel.foreignKey.association: '_CompanyCode'
      afvg.CompanyCode,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_BusinessAreaStdVH', element: 'BusinessArea' } } ]
      @ObjectModel.foreignKey.association: '_BusinessArea'
      afvg.BusinessArea,
      @ObjectModel.foreignKey.association: '_ControllingArea'
      aufv.ControllingArea,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProfitCenterStdVH', element: 'ProfitCenter' } } ]
--    @ObjectModel.foreignKey.association: '_ProfitCenter'
      afvg.ProfitCenter,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_CostCenterStdVH', element: 'CostCenter' } } ]
--    @ObjectModel.foreignKey.association: '_RequestingCostCenter'
      afvg.RequestingCostCenter,
      @ObjectModel.foreignKey.association: '_CostElement'
      afvg.CostElement,
      @ObjectModel.foreignKey.association: '_CostingVariant'
      afvg.CostingVariant,
      afvg.CostingSheet,
      afvg.CostEstimate,
      @Semantics.currencyCode: true
      afvg.ControllingObjectCurrency,
      @ObjectModel.foreignKey.association: '_ControllingObjectClass'
      cast(afvg.ControllingObjectClass as pph_scope preserving type)             as ControllingObjectClass,
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      afvg.FunctionalArea,
      afvg.TaxJurisdiction,

      // Assignments HR

      cast(afvg.EmployeeWageType    as pph_loart preserving type) as EmployeeWageType,
      @ObjectModel.foreignKey.association: '_EmployeeWageGroup'
      cast(afvg.EmployeeWageGroup   as pph_logrp preserving type) as EmployeeWageGroup,
      @ObjectModel.foreignKey.association: '_EmployeeSuitability'
      cast(afvg.EmployeeSuitability as pph_qualf preserving type) as EmployeeSuitability,
      afvg.NumberOfTimeTickets,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PersWrkAgrmtSrchHelp', element: 'PersonWorkAgreement' } } ]
      @ObjectModel.foreignKey.association: '_Employee'
      cast(afvg.Personnel           as pph_pernr preserving type) as Personnel,
      cast(afvg.NumberOfEmployees   as pph_anzms preserving type) as NumberOfEmployees,

      // Setup and Overlapping

      @ObjectModel.foreignKey.association: '_OperationSetupGroupCategory'
      cast(afvg.OperationSetupGroupCategory as pph_rfgrp preserving type)   as OperationSetupGroupCategory,
      @ObjectModel.foreignKey.association: '_OperationSetupGroup'
      cast(afvg.OperationSetupGroup         as pph_rfsch preserving type)   as OperationSetupGroup,
      @ObjectModel.foreignKey.association: '_OperationSetupType'
      cast(afvg.OperationSetupType          as pph_rasch preserving type)   as OperationSetupType,
      afvg.OperationOverlappingIsRequired,
      afvg.OperationOverlappingIsPossible,
      afvg.OperationsIsAlwaysOverlapping,
      afvg.OperationSplitIsRequired,
      afvg.MaximumNumberOfSplits,
      @ObjectModel.foreignKey.association: '_LeadTimeReductionStrategy'
      cast(afvg.LeadTimeReductionStrategy as pph_rstra preserving type)     as LeadTimeReductionStrategy,
      afvg.OpSchedldReductionLevel,

      // Scheduled Dates and Times

      cast(afvg.OpErlstSchedldExecStrtDte     as vdm_fsavd preserving type) as OpErlstSchedldExecStrtDte,
      cast(afvg.OpErlstSchedldExecStrtTme     as vdm_fsavz preserving type) as OpErlstSchedldExecStrtTme,
      cast(afvg.OpErlstSchedldProcgStrtDte    as vdm_fssbd preserving type) as OpErlstSchedldProcgStrtDte,
      cast(afvg.OpErlstSchedldProcgStrtTme    as vdm_fssbz preserving type) as OpErlstSchedldProcgStrtTme,
      cast(afvg.OpErlstSchedldTrdwnStrtDte    as vdm_fssad preserving type) as OpErlstSchedldTrdwnStrtDte,
      cast(afvg.OpErlstSchedldTrdwnStrtTme    as vdm_fssaz preserving type) as OpErlstSchedldTrdwnStrtTme,
      cast(afvg.OpErlstSchedldExecEndDte      as vdm_fsedd preserving type) as OpErlstSchedldExecEndDte,
      cast(afvg.OpErlstSchedldExecEndTme      as vdm_fsedz preserving type) as OpErlstSchedldExecEndTme,
      cast(afvg.OpLtstSchedldExecStrtDte      as vdm_ssavd preserving type) as OpLtstSchedldExecStrtDte,
      cast(afvg.OpLtstSchedldExecStrtTme      as vdm_ssavz preserving type) as OpLtstSchedldExecStrtTme,
      cast(afvg.OpLtstSchedldProcgStrtDte     as vdm_sssbd preserving type) as OpLtstSchedldProcgStrtDte,
      cast(afvg.OpLtstSchedldProcgStrtTme     as vdm_sssbz preserving type) as OpLtstSchedldProcgStrtTme,
      cast(afvg.OpLtstSchedldTrdwnStrtDte     as vdm_sssad preserving type) as OpLtstSchedldTrdwnStrtDte,
      cast(afvg.OpLtstSchedldTrdwnStrtTme     as vdm_sssaz preserving type) as OpLtstSchedldTrdwnStrtTme,
      cast(afvg.OpLtstSchedldExecEndDte       as vdm_ssedd preserving type) as OpLtstSchedldExecEndDte,
      cast(afvg.OpLtstSchedldExecEndTme       as vdm_ssedz preserving type) as OpLtstSchedldExecEndTme,
      cast(afvg.SchedldFcstdEarliestStartDate as pph_fpavd preserving type) as SchedldFcstdEarliestStartDate,
      cast(afvg.SchedldFcstdEarliestStartTime as pph_fpavz preserving type) as SchedldFcstdEarliestStartTime,
      cast(afvg.SchedldFcstdEarliestEndDate   as pph_fpedd preserving type) as SchedldFcstdEarliestEndDate,
      cast(afvg.SchedldFcstdEarliestEndTime   as pph_fpedz preserving type) as SchedldFcstdEarliestEndTime,
      cast(afvg.LatestSchedldFcstdStartDate   as pph_spavd preserving type) as LatestSchedldFcstdStartDate,
      cast(afvg.SchedldFcstdLatestStartTime   as pph_spavz preserving type) as SchedldFcstdLatestStartTime,
      cast(afvg.LatestSchedldFcstdEndDate     as pph_spedd preserving type) as LatestSchedldFcstdEndDate,
      cast(afvg.SchedldFcstdLatestEndTime     as pph_spedz preserving type) as SchedldFcstdLatestEndTime,

      // Actual/Confirmed Dates and Times

      cast(afvg.OperationConfirmedStartDate   as pph_isavd preserving type) as OperationConfirmedStartDate,
      cast(afvg.OperationConfirmedEndDate     as pph_ieavd preserving type) as OperationConfirmedEndDate,
      cast(afvg.OpActualExecutionStartDate    as vdm_isdd preserving type)  as OpActualExecutionStartDate,
      cast(afvg.OpActualExecutionStartTime    as vdm_isdz preserving type)  as OpActualExecutionStartTime,
      cast(afvg.OpActualSetupEndDate          as vdm_ierd preserving type)  as OpActualSetupEndDate,
      cast(afvg.OpActualSetupEndTime          as vdm_ierz preserving type)  as OpActualSetupEndTime,
      cast(afvg.OpActualProcessingStartDate   as vdm_isbd preserving type)  as OpActualProcessingStartDate,
      cast(afvg.OpActualProcessingStartTime   as vdm_isbz preserving type)  as OpActualProcessingStartTime,
      cast(afvg.OpActualProcessingEndDate     as vdm_iebd preserving type)  as OpActualProcessingEndDate,
      cast(afvg.OpActualProcessingEndTime     as vdm_iebz preserving type)  as OpActualProcessingEndTime,
      cast(afvg.OpActualTeardownStartDate     as vdm_isad preserving type)  as OpActualTeardownStartDate,
      cast(afvg.OpActualTeardownStartTme      as vdm_isaz preserving type)  as OpActualTeardownStartTme,
      cast(afvg.OpActualExecutionEndDate      as vdm_iedd preserving type)  as OpActualExecutionEndDate,
      cast(afvg.OpActualExecutionEndTime      as vdm_iedz preserving type)  as OpActualExecutionEndTime,
      cast(afvg.ActualForecastEndDate         as pph_pedd preserving type)  as ActualForecastEndDate,
      cast(afvg.ActualForecastEndTime         as pph_pedz preserving type)  as ActualForecastEndTime,

      // Wait Dates and Times

      afvg.EarliestScheduledWaitStartDate,
      afvg.EarliestScheduledWaitStartTime,
      afvg.EarliestScheduledWaitEndDate,
      afvg.EarliestScheduledWaitEndTime,
      afvg.LatestScheduledWaitStartDate,
      afvg.LatestScheduledWaitStartTime,
      afvg.LatestScheduledWaitEndDate,
      afvg.LatestScheduledWaitEndTime,

      // Durations

      afvg.BreakDurationUnit,
      afvg.PlannedBreakDuration,
      afvg.ConfirmedBreakDuration,
      cast(afvg.OverlapMinimumDurationUnit as pph_dzeimu preserving type) as OverlapMinimumDurationUnit,
      afvg.OverlapMinimumDuration,
      afvg.MaximumWaitDurationUnit,
      afvg.MaximumWaitDuration,
      afvg.MinimumWaitDurationUnit,
      afvg.MinimumWaitDuration,
      afvg.StandardMoveDurationUnit,
      afvg.StandardMoveDuration,
      afvg.StandardQueueDurationUnit,
      afvg.StandardQueueDuration,
      afvg.MinimumQueueDurationUnit,
      afvg.MinimumQueueDuration,
      afvg.MinimumMoveDurationUnit,
      afvg.MinimumMoveDuration,
      afvg.OperationStandardDuration,
      afvg.OperationStandardDurationUnit,
      cast(afvg.MinimumDuration     as vdm_daumin  preserving type)       as MinimumDuration,
      cast(afvg.MinimumDurationUnit as vdm_daumine preserving type)       as MinimumDurationUnit,
      afvg.MinimumProcessingDuration,
      afvg.MinimumProcessingDurationUnit,
      afvg.ScheduledMoveDuration,
      afvg.ScheduledMoveDurationUnit,
      afvg.ScheduledQueueDuration,
      afvg.ScheduledQueueDurationUnit,
      afvg.ScheduledWaitDuration,
      afvg.ScheduledWaitDurationUnit,
      cast(afvg.PlannedDeliveryDuration     as pph_plifz preserving type) as PlannedDeliveryDuration,
      afvg.OpPlannedSetupDurn,
      afvg.OpPlannedSetupDurnUnit,
      afvg.OpPlannedProcessingDurn,
      cast(afvg.OpPlannedProcessingDurnUnit as pph_beaze preserving type) as OpPlannedProcessingDurnUnit,
      afvg.OpPlannedTeardownDurn,
      afvg.OpPlannedTeardownDurnUnit,
      cast(afvg.ActualForecastDuration      as pph_pdau  preserving type) as ActualForecastDuration,
      cast(afvg.ActualForecastDurationUnit  as pph_pdae  preserving type) as ActualForecastDurationUnit,
      afvg.ForecastProcessingDuration,
      afvg.ForecastProcessingDurationUnit,

      // Offset

      -- Start
      @ObjectModel.foreignKey.association: '_StartDateOffsetReferenceCode'
      afvg.StartDateOffsetReferenceCode,
      @Semantics.unitOfMeasure: true
      afvg.StartDateOffsetDurationUnit,
      afvg.StartDateOffsetDuration,
      -- End
      @ObjectModel.foreignKey.association: '_EndDateOffsetReferenceCode'
      afvg.EndDateOffsetReferenceCode,
      @Semantics.unitOfMeasure: true
      afvg.EndDateOffsetDurationUnit,
      afvg.EndDateOffsetDuration,

      // Standard Value Key

      @ObjectModel.foreignKey.association: '_StandardWorkFmlaParamGroup'
      afvg.StandardWorkFormulaParamGroup,

      // Quantities and UoM

      @Semantics.unitOfMeasure: true
      cast(afvg.OperationUnit as operationunit preserving type) as OperationUnit,
      afvg.OpQtyToBaseQtyDnmntr,
      afvg.OpQtyToBaseQtyNmrtr,
      afvg.OperationScrapPercent,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @Aggregation.default: #MAX
      afvg.OperationReferenceQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @Aggregation.default: #SUM
      afvg.OpPlannedTotalQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @Aggregation.default: #SUM
      afvg.OpPlannedScrapQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @Aggregation.default: #SUM
      cast((afvg.OpPlannedTotalQuantity - afvg.OpPlannedScrapQuantity) as vdm_gmeng) as OpPlannedYieldQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @Aggregation.default: #SUM
      afvg.OpTotalConfirmedYieldQty,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @Aggregation.default: #SUM
      afvg.OpTotalConfirmedScrapQty,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @Aggregation.default: #SUM
      afvg.OperationConfirmedReworkQty,
      @Semantics.unitOfMeasure: true
      cast(aufv.ProductionUnit as productionunit preserving type) as ProductionUnit,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @Aggregation.default: #SUM
      afvg.OpTotConfdYieldQtyInOrdQtyUnit,

      // Confirmed Work Quantities and UoM

      @Semantics.unitOfMeasure: true
      cast(afvg.OpWorkQuantityUnit1            as vdm_ile01 preserving type) as OpWorkQuantityUnit1,
      @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit1'
      @Aggregation.default: #SUM
      cast(afvg.OpConfirmedWorkQuantity1       as vdm_ism01 preserving type) as OpConfirmedWorkQuantity1,
      cast(afvg.NoFurtherOpWorkQuantity1IsExpd as vdm_lek01 preserving type) as NoFurtherOpWorkQuantity1IsExpd,

      @Semantics.unitOfMeasure: true
      cast(afvg.OpWorkQuantityUnit2            as vdm_ile02 preserving type) as OpWorkQuantityUnit2,
      @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit2'
      @Aggregation.default: #SUM
      cast(afvg.OpConfirmedWorkQuantity2       as vdm_ism02 preserving type) as OpConfirmedWorkQuantity2,
      cast(afvg.NoFurtherOpWorkQuantity2IsExpd as vdm_lek02 preserving type) as NoFurtherOpWorkQuantity2IsExpd,

      @Semantics.unitOfMeasure: true
      cast(afvg.OpWorkQuantityUnit3            as vdm_ile03 preserving type) as OpWorkQuantityUnit3,
      @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit3'
      @Aggregation.default: #SUM
      cast(afvg.OpConfirmedWorkQuantity3       as vdm_ism03 preserving type) as OpConfirmedWorkQuantity3,
      cast(afvg.NoFurtherOpWorkQuantity3IsExpd as vdm_lek03 preserving type) as NoFurtherOpWorkQuantity3IsExpd,

      @Semantics.unitOfMeasure: true
      cast(afvg.OpWorkQuantityUnit4            as vdm_ile04 preserving type) as OpWorkQuantityUnit4,
      @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit4'
      @Aggregation.default: #SUM
      cast(afvg.OpConfirmedWorkQuantity4       as vdm_ism04 preserving type) as OpConfirmedWorkQuantity4,
      cast(afvg.NoFurtherOpWorkQuantity4IsExpd as vdm_lek04 preserving type) as NoFurtherOpWorkQuantity4IsExpd,

      @Semantics.unitOfMeasure: true
      cast(afvg.OpWorkQuantityUnit5            as vdm_ile05 preserving type) as OpWorkQuantityUnit5,
      @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit5'
      @Aggregation.default: #SUM
      cast(afvg.OpConfirmedWorkQuantity5       as vdm_ism05 preserving type) as OpConfirmedWorkQuantity5,
      cast(afvg.NoFurtherOpWorkQuantity5IsExpd as vdm_lek05 preserving type) as NoFurtherOpWorkQuantity5IsExpd,

      @Semantics.unitOfMeasure: true
      cast(afvg.OpWorkQuantityUnit6            as vdm_ile06 preserving type) as OpWorkQuantityUnit6,
      @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit6'
      @Aggregation.default: #SUM
      cast(afvg.OpConfirmedWorkQuantity6       as vdm_ism06 preserving type) as OpConfirmedWorkQuantity6,
      cast(afvg.NoFurtherOpWorkQuantity6IsExpd as vdm_lek06 preserving type) as NoFurtherOpWorkQuantity6IsExpd,

      // Work Quantities and UoM

      @Semantics.unitOfMeasure: true
      cast(afvg.WorkCenterStandardWorkQtyUnit1 as pph_vge01 preserving type) as WorkCenterStandardWorkQtyUnit1,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit1'
      @Aggregation.default: #SUM
      cast(afvg.WorkCenterStandardWorkQty1     as vdm_vgw01 preserving type) as WorkCenterStandardWorkQty1,
      cast(afvg.CostCtrActivityType1           as vdm_lar01 preserving type) as CostCtrActivityType1,

      @Semantics.unitOfMeasure: true
      cast(afvg.WorkCenterStandardWorkQtyUnit2 as pph_vge02 preserving type) as WorkCenterStandardWorkQtyUnit2,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit2'
      @Aggregation.default: #SUM
      cast(afvg.WorkCenterStandardWorkQty2     as vdm_vgw02 preserving type) as WorkCenterStandardWorkQty2,
      cast(afvg.CostCtrActivityType2           as vdm_lar02 preserving type) as CostCtrActivityType2,

      @Semantics.unitOfMeasure: true
      cast(afvg.WorkCenterStandardWorkQtyUnit3 as pph_vge03 preserving type) as WorkCenterStandardWorkQtyUnit3,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit3'
      @Aggregation.default: #SUM
      cast(afvg.WorkCenterStandardWorkQty3     as vdm_vgw03 preserving type) as WorkCenterStandardWorkQty3,
      cast(afvg.CostCtrActivityType3           as vdm_lar03 preserving type) as CostCtrActivityType3,

      @Semantics.unitOfMeasure: true
      cast(afvg.WorkCenterStandardWorkQtyUnit4 as pph_vge04 preserving type) as WorkCenterStandardWorkQtyUnit4,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit4'
      @Aggregation.default: #SUM
      cast(afvg.WorkCenterStandardWorkQty4     as vdm_vgw04 preserving type) as WorkCenterStandardWorkQty4,
      cast(afvg.CostCtrActivityType4           as vdm_lar04 preserving type) as CostCtrActivityType4,

      @Semantics.unitOfMeasure: true
      cast(afvg.WorkCenterStandardWorkQtyUnit5 as pph_vge05 preserving type) as WorkCenterStandardWorkQtyUnit5,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit5'
      @Aggregation.default: #SUM
      cast(afvg.WorkCenterStandardWorkQty5     as vdm_vgw05 preserving type) as WorkCenterStandardWorkQty5,
      cast(afvg.CostCtrActivityType5           as vdm_lar05 preserving type) as CostCtrActivityType5,

      @Semantics.unitOfMeasure: true
      cast(afvg.WorkCenterStandardWorkQtyUnit6 as pph_vge06 preserving type) as WorkCenterStandardWorkQtyUnit6,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit6'
      @Aggregation.default: #SUM
      cast(afvg.WorkCenterStandardWorkQty6     as vdm_vgw06 preserving type) as WorkCenterStandardWorkQty6,
      cast(afvg.CostCtrActivityType6           as vdm_lar06 preserving type) as CostCtrActivityType6,

      // Forecast Work Quantities

      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit1'
      @Aggregation.default: #SUM
      cast(afvg.ForecastWorkQuantity1 as  vdm_ofm01 preserving type) as ForecastWorkQuantity1,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit2'
      @Aggregation.default: #SUM
      cast(afvg.ForecastWorkQuantity2 as  vdm_ofm02 preserving type) as ForecastWorkQuantity2,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit3'
      @Aggregation.default: #SUM
      cast(afvg.ForecastWorkQuantity3 as  vdm_ofm03 preserving type) as ForecastWorkQuantity3,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit4'
      @Aggregation.default: #SUM
      cast(afvg.ForecastWorkQuantity4 as  vdm_ofm04 preserving type) as ForecastWorkQuantity4,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit5'
      @Aggregation.default: #SUM
      cast(afvg.ForecastWorkQuantity5 as  vdm_ofm05 preserving type) as ForecastWorkQuantity5,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit6'
      @Aggregation.default: #SUM
      cast(afvg.ForecastWorkQuantity6 as  vdm_ofm06 preserving type) as ForecastWorkQuantity6,

      // Business Process

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_BusinessProcessStdVH', element: 'BusinessProcess' } } ]
      @ObjectModel.foreignKey.association: '_BusinessProcess'
      afvg.BusinessProcess,
      @Semantics.unitOfMeasure: true
      afvg.BusinessProcessEntryUnit,
      @Semantics.quantity.unitOfMeasure: 'BusinessProcessEntryUnit'
      @Aggregation.default: #SUM
      afvg.BusinessProcessConfirmedQty,
      afvg.NoFurtherBusinessProcQtyIsExpd,
      @Semantics.unitOfMeasure: true
      afvg.BusinessProcRemainingQtyUnit,
      @Semantics.quantity.unitOfMeasure: 'BusinessProcRemainingQtyUnit'
      @Aggregation.default: #SUM
      cast(afvg.BusinessProcessRemainingQty as pph_oprz1 preserving type) as BusinessProcessRemainingQty,

      // OAN data

--    @ObjectModel.foreignKey.association: '_SetupOpActyNtwkInstance'
      cast(afvg.SetupOpActyNtwkInstance    as vdm_setup_instance   preserving type)  as SetupOpActyNtwkInstance ,
--    @ObjectModel.foreignKey.association: '_ProduceOpActyNtwkInstance'
      cast(afvg.ProduceOpActyNtwkInstance  as vdm_produce_instance preserving type)  as ProduceOpActyNtwkInstance,
--    @ObjectModel.foreignKey.association:  '_TeardownOpActyNtwkInstance'
      cast(afvg.TeardownOpActyNtwkInstance as vdm_teardown_instance preserving type) as TeardownOpActyNtwkInstance,

      // Free-defined fields

      afvg.FreeDefinedTableFieldSemantic,
      afvg.FreeDefinedAttribute01,
      afvg.FreeDefinedAttribute02,
      afvg.FreeDefinedAttribute03,
      afvg.FreeDefinedAttribute04,
      @Semantics.unitOfMeasure: true
      afvg.FreeDefinedQuantity1Unit,
      @Semantics.quantity.unitOfMeasure: 'FreeDefinedQuantity1Unit'
      @Aggregation.default: #SUM
      afvg.FreeDefinedQuantity1,
      @Semantics.unitOfMeasure: true
      afvg.FreeDefinedQuantity2Unit,
      @Semantics.quantity.unitOfMeasure: 'FreeDefinedQuantity2Unit'
      @Aggregation.default: #SUM
      afvg.FreeDefinedQuantity2,
      @Semantics.currencyCode: true
      afvg.FreeDefinedAmount1Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
      @Aggregation.default: #SUM
      afvg.FreeDefinedAmount1,
      @Semantics.currencyCode: true
      afvg.FreeDefinedAmount2Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
      @Aggregation.default: #SUM
      afvg.FreeDefinedAmount2,
      afvg.FreeDefinedDate1,
      afvg.FreeDefinedDate2,
      afvg.FreeDefinedIndicator1,
      afvg.FreeDefinedIndicator2,

      // Associations

      @Consumption.hidden: true
      _OrderInternalID,
      @ObjectModel.association.type: [#TO_COMPOSITION_ROOT]
      _ManufacturingOrder,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_ManufacturingOrder'
      _MfgOrder,
      @ObjectModel.association.type: [#TO_COMPOSITION_PARENT]
      _MfgOrderSequence,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_MfgOrderOpComponent_3'
      _MfgOrderOpComponent,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_MfgOrderOpComponent_3'
      _MfgOrderOpComponent2,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _MfgOrderOpComponent_3,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_MfgOrderOperationPRT_3'
      _MfgOrderOperationPRT,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_MfgOrderOperationPRT_3'
      _MfgOrderOperationPRT2,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _MfgOrderOperationPRT_3,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_MfgOrderOpTriggerPoint_3'
      _MfgOrderOpTriggerPoint,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_MfgOrderOpTriggerPoint_3'
      _MfgOrderOpTriggerPoint2,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _MfgOrderOpTriggerPoint_3,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_MfgOrderOpDocInfoRecord_3'
      _MfgOrderOpDocInfoRecord,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_MfgOrderOpDocInfoRecord_3'
      _MfgOrderOpDocInfoRecord2,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _MfgOrderOpDocInfoRecord_3,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_MfgOrderOperationConf_3'
      _MfgOrderOperationConf,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_MfgOrderOperationConf_3'
      _MfgOrderOperationConf2,
      _MfgOrderOperationConf_3,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _MfgOrderOperationLongText,
      _MfgOrderCategory,
      _MfgOrderType,
      _SuperiorOperation,
      _OperationStandardTextCode,
      _Plant,
      _MRPController,
      _ResponsiblePlannerGroup,
      _ProductionSupervisor,
      _ProductionUnit,
      _OperationUnit,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_WorkCenter_2'
      _WorkCenter,
      _WorkCenter_2,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_WorkCenterType_2'
      @Consumption.hidden: true
      _WorkCenterType,
      @Consumption.hidden: true
      _WorkCenterType_2,
      _OperationControlProfile,
      _BillOfOperationsType,
      _BillOfOperationsGroup,
      _BillOfOperationsVariant,
      _BillOfOperationsSequence,
      @Consumption.hidden: true
      _BOOOperationInternalID,
      _OperationConfirmation,
      _FactoryCalendar,
      _CapacityRequirement,
      _CapacityRequirementItem,
      _ControlRecipeDestination,
      _ChangeNumber,
      _PurchasingOrganization,
      _PurchasingGroup,
      _PurchaseOrder,
      _PurchaseOrderItem,
      _PurchaseRequisition,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_PurchaseRequisitionItem2'
      _PurchaseRequisitionItem,
      _PurchaseRequisitionItem2,
      _PurchasingInfoRecord,
      _Supplier,
      @Consumption.hidden: true
      _SupplierCompany,
      @Consumption.hidden: true
      _SupplierCompanyByPlant,
      _OpExternalProcessingCurrency,
      _EmployeeWageGroup,
      _EmployeeSuitability,
      _Employee,
      _CompanyCode,
      _ProfitCenter,
      _RequestingCostCenter,
      _ControllingArea,
      _ControllingObjectClass,
      _ControllingObjectCurrency,
      _CostElement,
      _CostingVariant,
      _FunctionalArea,
      _BusinessArea,
      _BusinessProcess,
      _BusinessProcessEntryUnit,
      _ConfirmedWorkQuantityUnit1,
      _ConfirmedWorkQuantityUnit2,
      _ConfirmedWorkQuantityUnit3,
      _ConfirmedWorkQuantityUnit4,
      _ConfirmedWorkQuantityUnit5,
      _ConfirmedWorkQuantityUnit6,
      _StdWorkQuantityUnit1,
      _StdWorkQuantityUnit2,
      _StdWorkQuantityUnit3,
      _StdWorkQuantityUnit4,
      _StdWorkQuantityUnit5,
      _StdWorkQuantityUnit6,
      _OperationSetupGroupCategory,
      _OperationSetupGroup,
      _OperationSetupType,
      _LeadTimeReductionStrategy,
      _StartDateOffsetReferenceCode,
      _EndDateOffsetReferenceCode,
      _StandardWorkFmlaParamGroup,
      _Language,
      _SetupOpActyNtwkInstance,
      _ProduceOpActyNtwkInstance,
      _TeardownOpActyNtwkInstance,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_MfgOrderOperationLongText'
      afvg._LongText,
      _FreeDefinedQuantity1Unit,
      _FreeDefinedQuantity2Unit,
      _FreeDefinedAmount1Currency,
      _FreeDefinedAmount2Currency
}
where
     aufv.ManufacturingOrderCategory = '10'
  or aufv.ManufacturingOrderCategory = '40'; //Manufacturing orders only