P_ProcOrderOperationDurn

DDL: P_PROCORDEROPERATIONDURN SQL: PPOROPDURN Type: view COMPOSITE Package: VDM_PP_PROC_ORD_MNG

Process Order Operation Durations

P_ProcOrderOperationDurn is a Composite CDS View that provides data about "Process Order Operation Durations" in SAP S/4HANA. It reads from 2 data sources (I_OrderOperation, P_ProcOrdAORList_2) and exposes 341 fields with key fields MfgOrderInternalID, OrderOperationInternalID. It has 77 associations to related views. Part of development package VDM_PP_PROC_ORD_MNG.

Data Sources (2)

SourceAliasJoin Type
I_OrderOperation afvg from
P_ProcOrdAORList_2 aufv inner

Associations (77)

CardinalityTargetAliasCondition
[1..1] I_OrderInternalID _OrderInternalID $projection.MfgOrderInternalID = _OrderInternalID.OrderInternalID
[1..1] I_MfgOrder _MfgOrder $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
[1..1] I_MfgOrderCategory _MfgOrderCategory $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory
[1..1] I_MfgOrderType _MfgOrderType $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType
[0..1] I_OrderOperationBasic _SuperiorOperation $projection.MfgOrderInternalID = _SuperiorOperation.OrderInternalID and $projection.SuperiorOperationInternalID = _SuperiorOperation.OrderOperationInternalID
[0..1] I_OperationStandardText _OperationStandardTextCode $projection.OperationStandardTextCode = _OperationStandardTextCode.OperationStandardTextCode
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[1..1] I_Plant _ProductionPlant $projection.ProductionPlant = _ProductionPlant.Plant
[1..1] I_UnitOfMeasure _ProductionUnit $projection.ProductionUnit = _ProductionUnit.UnitOfMeasure
[1..1] I_UnitOfMeasure _OperationUnit $projection.OperationUnit = _OperationUnit.UnitOfMeasure
[0..1] I_ProductionSupervisor _ProductionSupervisor $projection.Plant = _ProductionSupervisor.Plant and $projection.ProductionSupervisor = _ProductionSupervisor.ProductionSupervisor
[0..1] I_MRPController _MRPController $projection.Plant = _MRPController.Plant and $projection.MRPController = _MRPController.MRPController
[0..1] I_ResponsiblePlannerGroup _ResponsiblePlannerGroup $projection.Plant = _ResponsiblePlannerGroup.Plant and $projection.ResponsiblePlannerGroup = _ResponsiblePlannerGroup.ResponsiblePlannerGroup
[0..1] I_WorkCenterType _WorkCenterType $projection.WorkCenterTypeCode = _WorkCenterType.WorkCenterTypeCode
[0..1] I_WorkCenter _WorkCenter $projection.WorkCenterTypeCode = _WorkCenter.WorkCenterTypeCode and $projection.WorkCenterInternalID = _WorkCenter.WorkCenterInternalID and $projection.WorkCenterTypeCode = 'A'
[1..1] I_OperationControlProfile _OperationControlProfile $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile
[0..1] I_BillOfOperationsType _BillOfOperationsType $projection.BillOfOperationsType = _BillOfOperationsType.BillOfOperationsType
[0..1] I_BillOfOperationsGroup _BillOfOperationsGroup $projection.BillOfOperationsType = _BillOfOperationsGroup.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsGroup.BillOfOperationsGroup
[0..1] I_MfgBillOfOperations _BillOfOperationsVariant $projection.BillOfOperationsType = _BillOfOperationsVariant.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsVariant.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperationsVariant.BillOfOperationsVariant
[0..1] I_MfgBillOfOperationsSequence _BillOfOperationsSequence $projection.BillOfOperationsType = _BillOfOperationsSequence.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsSequence.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperationsSequence.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BillOfOperationsSequence.BillOfOperationsSequence
[0..1] I_BOOOperationInternalID _BOOOperationInternalID $projection.BillOfOperationsType = _BOOOperationInternalID.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOperationInternalID.BillOfOperationsGroup and $projection.BOOOperationInternalID = _BOOOperationInternalID.BOOOperationInternalID
[0..1] I_FactoryCalendar _FactoryCalendar $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar
[0..1] I_CapacityRequirement _CapacityRequirement $projection.CapacityRequirement = _CapacityRequirement.CapacityRequirement
[0..1] I_CapacityRequirementItem _CapacityRequirementItem $projection.CapacityRequirement = _CapacityRequirementItem.CapacityRequirement and $projection.CapacityRequirementItem = _CapacityRequirementItem.CapacityRequirementItem
[0..1] I_ControlRecipeDestination _ControlRecipeDestination $projection.Plant = _ControlRecipeDestination.Plant and $projection.ControlRecipeDestination = _ControlRecipeDestination.ControlRecipeDestination
[0..1] I_ConfirmationGroup _OperationConfirmation $projection.OperationConfirmation = _OperationConfirmation.ConfirmationGroup
[0..1] I_ChangeMaster _ChangeNumber $projection.ChangeNumber = _ChangeNumber.ChangeNumber
[0..1] I_PurchaseOrderAPI01 _PurchaseOrder $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
[0..1] I_PurchaseOrderItemAPI01 _PurchaseOrderItem $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
[0..1] I_Purchaserequisition _PurchaseRequisition $projection.PurchaseRequisition = _PurchaseRequisition.PurchaseRequisition
[0..1] I_PurchaseRequisition_Api01 _PurchaseRequisitionItem $projection.PurchaseRequisition = _PurchaseRequisitionItem.PurchaseRequisition and $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem.PurchaseRequisitionItem
[0..1] I_PurchaseRequisitionItemAPI01 _PurchaseRequisitionItem2 $projection.PurchaseRequisition = _PurchaseRequisitionItem2.PurchaseRequisition and $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem2.PurchaseRequisitionItem
[0..1] I_PurchasingOrganization _PurchasingOrganization $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
[0..1] I_PurchasingGroup _PurchasingGroup $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
[0..1] I_PurchasingInfoRecordApi01 _PurchasingInfoRecord $projection.PurchasingInfoRecord = _PurchasingInfoRecord.PurchasingInfoRecord
[0..1] I_Supplier _Supplier $projection.Supplier = _Supplier.Supplier
[0..1] I_SupplierCompanyByPlant _SupplierCompanyByPlant $projection.Plant = _SupplierCompanyByPlant.Plant and $projection.Supplier = _SupplierCompanyByPlant.Supplier
[0..1] I_EmployeeWageGroup _EmployeeWageGroup $projection.Plant = _EmployeeWageGroup.Plant and $projection.EmployeeWageGroup = _EmployeeWageGroup.EmployeeWageGroup
[0..1] I_EmployeeSuitability _EmployeeSuitability $projection.Plant = _EmployeeSuitability.Plant and $projection.EmployeeSuitability = _EmployeeSuitability.EmployeeSuitability
[0..1] I_PersonWorkAgreement_1 _Employee $projection.Personnel = _Employee.PersonWorkAgreement
[0..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[0..*] I_ProfitCenter _ProfitCenter $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.ProfitCenter = _ProfitCenter.ProfitCenter
[0..*] I_CostCenter _RequestingCostCenter $projection.ControllingArea = _RequestingCostCenter.ControllingArea and $projection.RequestingCostCenter = _RequestingCostCenter.CostCenter
[0..1] I_CostElement _CostElement $projection.ControllingArea = _CostElement.ControllingArea and $projection.CostElement = _CostElement.CostElement
[0..1] I_CostingVariant _CostingVariant $projection.CostingVariant = _CostingVariant.CostingVariant
[0..1] I_ControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea
[0..1] I_ControllingObjectClass _ControllingObjectClass $projection.ControllingObjectClass = _ControllingObjectClass.ControllingObjectClass
[0..1] I_Currency _ControllingObjectCurrency $projection.ControllingObjectCurrency = _ControllingObjectCurrency.Currency
[0..1] I_Currency _OpExternalProcessingCurrency $projection.OpExternalProcessingCurrency = _OpExternalProcessingCurrency.Currency
[0..1] I_FunctionalArea _FunctionalArea $projection.FunctionalArea = _FunctionalArea.FunctionalArea
[0..1] I_BusinessArea _BusinessArea $projection.BusinessArea = _BusinessArea.BusinessArea
[0..1] I_BusinessProcess _BusinessProcess $projection.ControllingArea = _BusinessProcess.ControllingArea and $projection.BusinessProcess = _BusinessProcess.BusinessProcess
[0..1] I_UnitOfMeasure _BusinessProcessEntryUnit $projection.BusinessProcessEntryUnit = _BusinessProcessEntryUnit.UnitOfMeasure
[0..1] I_OperationSetupGroupCategory _OperationSetupGroupCategory $projection.Plant = _OperationSetupGroupCategory.Plant and $projection.OperationSetupGroupCategory = _OperationSetupGroupCategory.OperationSetupGroupCategory
[0..1] I_OperationSetupGroup _OperationSetupGroup $projection.OperationSetupGroup = _OperationSetupGroup.OperationSetupGroup and $projection.OperationSetupGroupCategory = _OperationSetupGroup.OperationSetupGroupCategory and $projection.Plant = _OperationSetupGroup.Plant
[0..1] I_OperationSetupType _OperationSetupType $projection.OperationSetupType = _OperationSetupType.OperationSetupType and $projection.Plant = _OperationSetupType.Plant
[0..1] I_LeadTimeReductionStrategy _LeadTimeReductionStrategy $projection.LeadTimeReductionStrategy = _LeadTimeReductionStrategy.LeadTimeReductionStrategy and $projection.Plant = _LeadTimeReductionStrategy.Plant
[0..1] I_OperationDateOffsetRefCode _StartDateOffsetReferenceCode $projection.StartDateOffsetReferenceCode = _StartDateOffsetReferenceCode.OperationDateOffsetRefCode
[0..1] I_OperationDateOffsetRefCode _EndDateOffsetReferenceCode $projection.EndDateOffsetReferenceCode = _EndDateOffsetReferenceCode.OperationDateOffsetRefCode
[0..1] I_StandardWorkFmlaParamGroup _StandardWorkFmlaParamGroup $projection.StandardWorkFormulaParamGroup = _StandardWorkFmlaParamGroup.StandardWorkFormulaParamGroup
[0..1] I_Language _Language $projection.Language = _Language.Language
[0..1] I_OpActyNtwkInstance _SetupOpActyNtwkInstance $projection.SetupOpActyNtwkInstance = _SetupOpActyNtwkInstance.OpActyNtwkInstance
[0..1] I_OpActyNtwkInstance _ProduceOpActyNtwkInstance $projection.ProduceOpActyNtwkInstance = _ProduceOpActyNtwkInstance.OpActyNtwkInstance
[0..1] I_OpActyNtwkInstance _TeardownOpActyNtwkInstance $projection.TeardownOpActyNtwkInstance = _TeardownOpActyNtwkInstance.OpActyNtwkInstance
[0..1] I_UnitOfMeasure _FreeDefinedQuantity1Unit $projection.FreeDefinedQuantity1Unit = _FreeDefinedQuantity1Unit.UnitOfMeasure
[0..1] I_UnitOfMeasure _FreeDefinedQuantity2Unit $projection.FreeDefinedQuantity2Unit = _FreeDefinedQuantity2Unit.UnitOfMeasure
[0..1] I_Currency _FreeDefinedAmount1Currency $projection.FreeDefinedAmount1Currency = _FreeDefinedAmount1Currency.Currency
[0..1] I_Currency _FreeDefinedAmount2Currency $projection.FreeDefinedAmount2Currency = _FreeDefinedAmount2Currency.Currency -- to root: Header
[1..1] I_ManufacturingOrder _ManufacturingOrder $projection.ManufacturingOrder = _ManufacturingOrder.ManufacturingOrder and _ManufacturingOrder.ManufacturingOrderCategory = '40' -- to parent: Sequence
[1..1] I_MfgOrderSequence _MfgOrderSequence $projection.ManufacturingOrder = _MfgOrderSequence.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderSequence.ManufacturingOrderSequence and _MfgOrderSequence.ManufacturingOrderCategory = '40' -- to child: Components
[0..*] I_MfgOrderOperationComponent _MfgOrderOpComponent $projection.ManufacturingOrder = _MfgOrderOpComponent.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderOpComponent.ManufacturingOrderSequence and $projection.ManufacturingOrderOperation = _MfgOrderOpComponent.ManufacturingOrderOperation and _MfgOrderOpComponent.ManufacturingOrderCategory = '40' -- to child: Prodn. resource/tools
[0..*] I_MfgOrderOperationPRT _MfgOrderOperationPRT $projection.ManufacturingOrder = _MfgOrderOperationPRT.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderOperationPRT.ManufacturingOrderSequence and $projection.ManufacturingOrderOperation = _MfgOrderOperationPRT.ManufacturingOrderOperation and _MfgOrderOperationPRT.ManufacturingOrderCategory = '40' -- to child: Trigger points
[0..*] I_MfgOrderOperationTrggrPoint _MfgOrderOpTriggerPoint $projection.ManufacturingOrder = _MfgOrderOpTriggerPoint.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderOpTriggerPoint.ManufacturingOrderSequence and $projection.ManufacturingOrderOperation = _MfgOrderOpTriggerPoint.ManufacturingOrderOperation and _MfgOrderOpTriggerPoint.ManufacturingOrderCategory = '40' -- to child: Document links
[0..*] I_MfgOrderOpDocInfoRecdObjLink _MfgOrderOpDocInfoRecord $projection.ManufacturingOrder = _MfgOrderOpDocInfoRecord.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderOpDocInfoRecord.ManufacturingOrderSequence and $projection.ManufacturingOrderOperation = _MfgOrderOpDocInfoRecord.ManufacturingOrderOperation and _MfgOrderOpDocInfoRecord.ManufacturingOrderCategory = '40' -- to child: Confirmations
[0..*] I_MfgOrderOperationConf _MfgOrderOperationConf $projection.ManufacturingOrder = _MfgOrderOperationConf.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderOperationConf.ManufacturingOrderSequence and $projection.ManufacturingOrderOperation = _MfgOrderOperationConf.ManufacturingOrderOperation and _MfgOrderOperationConf.ManufacturingOrderCategory = '40' -- to extension
[1..1] E_OrderOperation _Extension $projection.MfgOrderInternalID = _Extension.OrderInternalID and $projection.OrderOperationInternalID = _Extension.OrderOperationInternalID
[0..1] I_Material _Material $projection.Material = _Material.Material

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PPOROPDURN view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (341)

KeyFieldSource TableSource FieldDescription
KEY MfgOrderInternalID
KEY OrderOperationInternalID
ManufacturingOrder
ManufacturingOrderSequence
MfgOrderOperationOrSubOp afvc Operation
ManufacturingOrderCategory
ManufacturingOrderType
ManufacturingOrderTypeName
ProductionPlant
ProductionPlantName _ProductionPlant PlantName
PlantTimeZone
ProductionSupervisor
ProductionSupervisorName _ProductionSupervisor ProductionSupervisorName
MRPController
MRPControllerName _MRPController MRPControllerName
ResponsiblePlannerGroup
ProductConfiguration
InspectionLot P_ProcOrdAORList_2 InspectionLot
ManufacturingOrderImportance P_ProcOrdAORList_2 PriorityCode
MfgOrderOperationText
Language I_OrderOperation Language
OperationStandardTextCode
OperationIsToBeDeleted I_OrderOperation OperationIsToBeDeleted
MfgOrderOperationIsPhase I_OrderOperation MfgOrderOperationIsPhase
MfgOrderPhaseSuperiorOperation
SuperiorOperationText afvp OperationText
NumberOfCapacities
NumberOfConfirmationSlips I_OrderOperation NumberOfConfirmationSlips
OperationImportance I_OrderOperation OperationImportance
SuperiorOperationInternalID I_OrderOperation SuperiorOperationInternalID
Plant I_OrderOperation Plant
WorkCenterInternalID
WorkCenterTypeCode
OperationControlProfile
OperationControlProfileName
ControlRecipeDestination I_OrderOperation ControlRecipeDestination
OperationConfirmation I_OrderOperation OperationConfirmation
NumberOfOperationConfirmations
FactoryCalendar
CapacityRequirement I_OrderOperation CapacityRequirement
CapacityRequirementItem
ChangeNumber I_OrderOperation ChangeNumber
ObjectInternalID
OperationTrackingNumber I_OrderOperation OperationTrackingNumber
BillOfOperationsType
BillOfOperationsGroup I_OrderOperation BillOfOperationsGroup
BillOfOperationsVariant I_OrderOperation BillOfOperationsVariant
BillOfOperationsSequence
BOOOperationInternalID I_OrderOperation BOOOperationInternalID
BillOfOperationsVersion I_OrderOperation BillOfOperationsVersion
BillOfMaterialCategory
BillOfMaterialInternalID I_OrderOperation BillOfMaterialInternalID
BillOfMaterialItemNodeNumber
BOMItemNodeCount I_OrderOperation BOMItemNodeCount
ExtProcgOperationHasSubcontrg I_OrderOperation ExtProcgOperationHasSubcontrg
PurchasingOrganization
PurchasingGroup I_OrderOperation PurchasingGroup
PurchaseRequisition
PurgInfoRecdDataIsFixed
PurchasingInfoRecordCategory
Supplier I_OrderOperation Supplier
GoodsRecipientName
UnloadingPointName I_OrderOperation UnloadingPointName
OpExternalProcessingCurrency I_OrderOperation Currency
OpExternalProcessingPrice I_OrderOperation OpExternalProcessingPrice
NumberOfOperationPriceUnits I_OrderOperation NumberOfOperationPriceUnits
CompanyCode I_OrderOperation CompanyCode
BusinessArea I_OrderOperation BusinessArea
ControllingArea P_ProcOrdAORList_2 ControllingArea
ProfitCenter
RequestingCostCenter
CostElement I_OrderOperation CostElement
CostingVariant I_OrderOperation CostingVariant
CostingSheet I_OrderOperation CostingSheet
CostEstimate I_OrderOperation CostEstimate
ControllingObjectCurrency I_OrderOperation ControllingObjectCurrency
ControllingObjectClass
FunctionalArea I_OrderOperation FunctionalArea
TaxJurisdiction I_OrderOperation TaxJurisdiction
EmployeeWageType
EmployeeWageGroup
EmployeeSuitability
NumberOfTimeTickets I_OrderOperation NumberOfTimeTickets
Personnel
NumberOfEmployees
OperationSetupGroupCategory
OperationSetupGroup
OperationSetupType
OperationOverlappingIsRequired I_OrderOperation OperationOverlappingIsRequired
OperationOverlappingIsPossible I_OrderOperation OperationOverlappingIsPossible
OperationsIsAlwaysOverlapping I_OrderOperation OperationsIsAlwaysOverlapping
OperationSplitIsRequired I_OrderOperation OperationSplitIsRequired
MaximumNumberOfSplits I_OrderOperation MaximumNumberOfSplits
LeadTimeReductionStrategy
OpSchedldReductionLevel I_OrderOperation OpSchedldReductionLevel
OpErlstSchedldExecStrtDte
OpErlstSchedldExecStrtTme
OpErlstSchedldProcgStrtDte
OpErlstSchedldProcgStrtTme
OpErlstSchedldTrdwnStrtDte
OpErlstSchedldTrdwnStrtTme
OpErlstSchedldExecEndDte
OpErlstSchedldExecEndTme
OpLtstSchedldExecStrtDte
OpLtstSchedldExecStrtTme
OpLtstSchedldProcgStrtDte
OpLtstSchedldProcgStrtTme
OpLtstSchedldTrdwnStrtDte
OpLtstSchedldTrdwnStrtTme
OpLtstSchedldExecEndDte
OpLtstSchedldExecEndTme
SchedldFcstdEarliestStartDate
SchedldFcstdEarliestStartTime
SchedldFcstdEarliestEndDate
SchedldFcstdEarliestEndTime
LatestSchedldFcstdStartDate
SchedldFcstdLatestStartTime
LatestSchedldFcstdEndDate
SchedldFcstdLatestEndTime
OperationConfirmedStartDate
OperationConfirmedEndDate
OpActualExecutionStartDate I_OrderOperation OpActualExecutionStartDate
OpActualExecutionStartTime I_OrderOperation OpActualExecutionStartTime
OpActualSetupEndDate I_OrderOperation OpActualSetupEndDate
OpActualSetupEndTime I_OrderOperation OpActualSetupEndTime
OpActualProcessingStartDate I_OrderOperation OpActualProcessingStartDate
OpActualProcessingStartTime I_OrderOperation OpActualProcessingStartTime
OpActualProcessingEndDate I_OrderOperation OpActualProcessingEndDate
OpActualProcessingEndTime I_OrderOperation OpActualProcessingEndTime
OpActualTeardownStartDate I_OrderOperation OpActualTeardownStartDate
OpActualTeardownStartTme I_OrderOperation OpActualTeardownStartTme
OpActualExecutionEndDate I_OrderOperation OpActualExecutionEndDate
OpActualExecutionEndTime I_OrderOperation OpActualExecutionEndTime
EarliestScheduledWaitStartDate I_OrderOperation EarliestScheduledWaitStartDate
EarliestScheduledWaitStartTime I_OrderOperation EarliestScheduledWaitStartTime
EarliestScheduledWaitEndDate I_OrderOperation EarliestScheduledWaitEndDate
EarliestScheduledWaitEndTime I_OrderOperation EarliestScheduledWaitEndTime
LatestScheduledWaitStartDate I_OrderOperation LatestScheduledWaitStartDate
LatestScheduledWaitStartTime I_OrderOperation LatestScheduledWaitStartTime
LatestScheduledWaitEndDate I_OrderOperation LatestScheduledWaitEndDate
LatestScheduledWaitEndTime I_OrderOperation LatestScheduledWaitEndTime
BreakDurationUnit I_OrderOperation BreakDurationUnit
PlannedBreakDuration I_OrderOperation PlannedBreakDuration
ConfirmedBreakDuration I_OrderOperation ConfirmedBreakDuration
OverlapMinimumDurationUnit
OverlapMinimumDuration I_OrderOperation OverlapMinimumDuration
MaximumWaitDurationUnit I_OrderOperation MaximumWaitDurationUnit
MaximumWaitDuration I_OrderOperation MaximumWaitDuration
MinimumWaitDurationUnit I_OrderOperation MinimumWaitDurationUnit
MinimumWaitDuration I_OrderOperation MinimumWaitDuration
StandardMoveDurationUnit I_OrderOperation StandardMoveDurationUnit
StandardMoveDuration I_OrderOperation StandardMoveDuration
StandardQueueDurationUnit I_OrderOperation StandardQueueDurationUnit
StandardQueueDuration I_OrderOperation StandardQueueDuration
MinimumQueueDurationUnit I_OrderOperation MinimumQueueDurationUnit
MinimumQueueDuration I_OrderOperation MinimumQueueDuration
MinimumMoveDurationUnit I_OrderOperation MinimumMoveDurationUnit
MinimumMoveDuration I_OrderOperation MinimumMoveDuration
OperationStandardDuration I_OrderOperation OperationStandardDuration
OperationStandardDurationUnit I_OrderOperation OperationStandardDurationUnit
MinimumDuration
MinimumDurationUnit
ScheduledMoveDuration I_OrderOperation ScheduledMoveDuration
ScheduledMoveDurationUnit I_OrderOperation ScheduledMoveDurationUnit
ScheduledQueueDuration I_OrderOperation ScheduledQueueDuration
ScheduledQueueDurationUnit I_OrderOperation ScheduledQueueDurationUnit
ScheduledWaitDuration I_OrderOperation ScheduledWaitDuration
ScheduledWaitDurationUnit I_OrderOperation ScheduledWaitDurationUnit
PlannedDeliveryDuration
OpPlannedSetupDurn I_OrderOperation OpPlannedSetupDurn
OpPlannedSetupDurnUnit I_OrderOperation OpPlannedSetupDurnUnit
OpPlannedProcessingDurn I_OrderOperation OpPlannedProcessingDurn
OpPlannedProcessingDurnUnit
OpPlannedTeardownDurn I_OrderOperation OpPlannedTeardownDurn
OpPlannedTeardownDurnUnit I_OrderOperation OpPlannedTeardownDurnUnit
StartDateOffsetReferenceCode
StartDateOffsetDurationUnit I_OrderOperation StartDateOffsetDurationUnit
StartDateOffsetDuration I_OrderOperation StartDateOffsetDuration
EndDateOffsetReferenceCode
EndDateOffsetDurationUnit I_OrderOperation EndDateOffsetDurationUnit
EndDateOffsetDuration I_OrderOperation EndDateOffsetDuration
StandardWorkFormulaParamGroup I_OrderOperation StandardWorkFormulaParamGroup
OperationUnit
OpQtyToBaseQtyDnmntr I_OrderOperation OpQtyToBaseQtyDnmntr
OpQtyToBaseQtyNmrtr I_OrderOperation OpQtyToBaseQtyNmrtr
OperationScrapPercent I_OrderOperation OperationScrapPercent
OperationReferenceQuantity I_OrderOperation OperationReferenceQuantity
OpPlannedTotalQuantity I_OrderOperation OpPlannedTotalQuantity
OpPlannedScrapQuantity I_OrderOperation OpPlannedScrapQuantity
OpPlannedYieldQuantity
OpTotalConfirmedYieldQty I_OrderOperation OpTotalConfirmedYieldQty
OpTotalConfirmedScrapQty I_OrderOperation OpTotalConfirmedScrapQty
OperationConfirmedReworkQty I_OrderOperation OperationConfirmedReworkQty
ProductionUnit
OpTotConfdYieldQtyInOrdQtyUnit I_OrderOperation OpTotConfdYieldQtyInOrdQtyUnit
OpWorkQuantityUnit1
OpConfirmedWorkQuantity1
NoFurtherOpWorkQuantity1IsExpd I_OrderOperation NoFurtherOpWorkQuantity1IsExpd
OpWorkQuantityUnit2
OpConfirmedWorkQuantity2
NoFurtherOpWorkQuantity2IsExpd I_OrderOperation NoFurtherOpWorkQuantity2IsExpd
OpWorkQuantityUnit3
OpConfirmedWorkQuantity3
NoFurtherOpWorkQuantity3IsExpd I_OrderOperation NoFurtherOpWorkQuantity3IsExpd
OpWorkQuantityUnit4
OpConfirmedWorkQuantity4
NoFurtherOpWorkQuantity4IsExpd I_OrderOperation NoFurtherOpWorkQuantity4IsExpd
OpWorkQuantityUnit5
OpConfirmedWorkQuantity5
NoFurtherOpWorkQuantity5IsExpd I_OrderOperation NoFurtherOpWorkQuantity5IsExpd
OpWorkQuantityUnit6
OpConfirmedWorkQuantity6
NoFurtherOpWorkQuantity6IsExpd I_OrderOperation NoFurtherOpWorkQuantity6IsExpd
WorkCenterStandardWorkQtyUnit1
WorkCenterStandardWorkQty1
CostCtrActivityType1
WorkCenterStandardWorkQtyUnit2
WorkCenterStandardWorkQty2
CostCtrActivityType2
WorkCenterStandardWorkQtyUnit3
WorkCenterStandardWorkQty3
CostCtrActivityType3
WorkCenterStandardWorkQtyUnit4
WorkCenterStandardWorkQty4
CostCtrActivityType4
WorkCenterStandardWorkQtyUnit5
WorkCenterStandardWorkQty5
CostCtrActivityType5
WorkCenterStandardWorkQtyUnit6
WorkCenterStandardWorkQty6
CostCtrActivityType6
BusinessProcess
BusinessProcessEntryUnit I_OrderOperation BusinessProcessEntryUnit
BusinessProcessConfirmedQty I_OrderOperation BusinessProcessConfirmedQty
NoFurtherBusinessProcQtyIsExpd I_OrderOperation NoFurtherBusinessProcQtyIsExpd
BusinessProcRemainingQtyUnit I_OrderOperation BusinessProcRemainingQtyUnit
BusinessProcessRemainingQty
FreeDefinedTableFieldSemantic I_OrderOperation FreeDefinedTableFieldSemantic
FreeDefinedAttribute01 I_OrderOperation FreeDefinedAttribute01
FreeDefinedAttribute02 I_OrderOperation FreeDefinedAttribute02
FreeDefinedAttribute03 I_OrderOperation FreeDefinedAttribute03
FreeDefinedAttribute04 I_OrderOperation FreeDefinedAttribute04
FreeDefinedQuantity1Unit I_OrderOperation FreeDefinedQuantity1Unit
FreeDefinedQuantity1 I_OrderOperation FreeDefinedQuantity1
FreeDefinedQuantity2Unit I_OrderOperation FreeDefinedQuantity2Unit
FreeDefinedQuantity2 I_OrderOperation FreeDefinedQuantity2
FreeDefinedAmount1Currency I_OrderOperation FreeDefinedAmount1Currency
FreeDefinedAmount1 I_OrderOperation FreeDefinedAmount1
FreeDefinedAmount2Currency I_OrderOperation FreeDefinedAmount2Currency
FreeDefinedAmount2 I_OrderOperation FreeDefinedAmount2
FreeDefinedDate1 I_OrderOperation FreeDefinedDate1
FreeDefinedDate2 I_OrderOperation FreeDefinedDate2
FreeDefinedIndicator1 I_OrderOperation FreeDefinedIndicator1
FreeDefinedIndicator2 I_OrderOperation FreeDefinedIndicator2
ConfirmationIsNotPossible _OperationControlProfile ConfirmationIsNotPossible
ConfirmationGroup _OperationConfirmation ConfirmationGroup
OrderIntBillOfOpItemOfPhase I_OrderOperation OrderIntBillOfOpItemOfPhase
Material _ManufacturingOrder Material
OrdObjectInternalID P_ProcOrdAORList_2 ObjectInternalID
WorkCenter
WorkCenterText
CapacityInternalID _WorkCenter CapacityInternalID
ScheduledBasicStartDate P_ProcOrdAORList_2 ScheduledBasicStartDate
ScheduledBasicEndDate P_ProcOrdAORList_2 ScheduledBasicEndDate
_OrderInternalID _OrderInternalID
_ManufacturingOrder _ManufacturingOrder
_MfgOrder _MfgOrder
_MfgOrderSequence _MfgOrderSequence
_MfgOrderOpComponent _MfgOrderOpComponent
_MfgOrderOperationPRT _MfgOrderOperationPRT
_MfgOrderOpTriggerPoint _MfgOrderOpTriggerPoint
_MfgOrderOpDocInfoRecord _MfgOrderOpDocInfoRecord
_MfgOrderOperationConf _MfgOrderOperationConf
_MfgOrderCategory _MfgOrderCategory
_MfgOrderType _MfgOrderType
_SuperiorOperation _SuperiorOperation
_OperationStandardTextCode _OperationStandardTextCode
_Plant _Plant
_MRPController _MRPController
_ResponsiblePlannerGroup _ResponsiblePlannerGroup
_ProductionSupervisor _ProductionSupervisor
_ProductionUnit _ProductionUnit
_OperationUnit _OperationUnit
_WorkCenter _WorkCenter
_WorkCenterType _WorkCenterType
_OperationControlProfile _OperationControlProfile
_BillOfOperationsType _BillOfOperationsType
_BillOfOperationsGroup _BillOfOperationsGroup
_BillOfOperationsVariant _BillOfOperationsVariant
_BillOfOperationsSequence _BillOfOperationsSequence
_BOOOperationInternalID _BOOOperationInternalID
_OperationConfirmation _OperationConfirmation
_FactoryCalendar _FactoryCalendar
_CapacityRequirement _CapacityRequirement
_CapacityRequirementItem _CapacityRequirementItem
_ControlRecipeDestination _ControlRecipeDestination
_ChangeNumber _ChangeNumber
_PurchasingOrganization _PurchasingOrganization
_PurchasingGroup _PurchasingGroup
_PurchaseOrder _PurchaseOrder
_PurchaseOrderItem _PurchaseOrderItem
_PurchaseRequisition _PurchaseRequisition
_PurchaseRequisitionItem _PurchaseRequisitionItem
_PurchaseRequisitionItem2 _PurchaseRequisitionItem2
_PurchasingInfoRecord _PurchasingInfoRecord
_Supplier _Supplier
_SupplierCompanyByPlant _SupplierCompanyByPlant
_OpExternalProcessingCurrency _OpExternalProcessingCurrency
_EmployeeWageGroup _EmployeeWageGroup
_EmployeeSuitability _EmployeeSuitability
_Employee _Employee
_CompanyCode _CompanyCode
_ProfitCenter _ProfitCenter
_RequestingCostCenter _RequestingCostCenter
_ControllingArea _ControllingArea
_ControllingObjectClass _ControllingObjectClass
_ControllingObjectCurrency _ControllingObjectCurrency
_CostElement _CostElement
_CostingVariant _CostingVariant
_FunctionalArea _FunctionalArea
_BusinessArea _BusinessArea
_BusinessProcess _BusinessProcess
_BusinessProcessEntryUnit _BusinessProcessEntryUnit
_OperationSetupGroupCategory _OperationSetupGroupCategory
_OperationSetupGroup _OperationSetupGroup
_OperationSetupType _OperationSetupType
_LeadTimeReductionStrategy _LeadTimeReductionStrategy
_StartDateOffsetReferenceCode _StartDateOffsetReferenceCode
_EndDateOffsetReferenceCode _EndDateOffsetReferenceCode
_StandardWorkFmlaParamGroup _StandardWorkFmlaParamGroup
_Language _Language
_SetupOpActyNtwkInstance _SetupOpActyNtwkInstance
_ProduceOpActyNtwkInstance _ProduceOpActyNtwkInstance
_TeardownOpActyNtwkInstance _TeardownOpActyNtwkInstance
_LongText _LongText
_FreeDefinedQuantity1Unit _FreeDefinedQuantity1Unit
_FreeDefinedQuantity2Unit _FreeDefinedQuantity2Unit
_FreeDefinedAmount1Currency _FreeDefinedAmount1Currency
_FreeDefinedAmount2Currency _FreeDefinedAmount2Currency
_ProductionPlant _ProductionPlant
_Material _Material
@AbapCatalog.sqlViewName: 'PPOROPDURN'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.viewType: #COMPOSITE
@VDM.private: true
//@EndUserText.label: 'Process Order Operation'

define view P_ProcOrderOperationDurn
  as select from           I_OrderOperation         as afvg
    //Change selection for P_ProcOrdAORList_2 that is more optimized

    inner join             P_ProcOrdAORList_2 as aufv on afvg.OrderInternalID = aufv.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_Plant                        as _ProductionPlant              on  $projection.ProductionPlant = _ProductionPlant.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
                                                                                        and $projection.WorkCenterTypeCode   = 'A'
  //  association [0..1] to I_WorkCenterAllCapacity        as _AllCapacity                  on  $projection.WorkCenterInternalID = _AllCapacity.WorkCenterInternalID

  //                                                                                        and $projection.WorkCenterTypeCode   = _AllCapacity.WorkCenterTypeCode

  //                                                                                        and $projection.CapacityInternalId   = _AllCapacity.CapacityInternalID

  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_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_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
                                                                                        and _ManufacturingOrder.ManufacturingOrderCategory = '40'
  -- to parent: Sequence
  association [1..1] to I_MfgOrderSequence             as _MfgOrderSequence             on  $projection.ManufacturingOrder               = _MfgOrderSequence.ManufacturingOrder
                                                                                        and $projection.ManufacturingOrderSequence       = _MfgOrderSequence.ManufacturingOrderSequence
                                                                                        and _MfgOrderSequence.ManufacturingOrderCategory = '40'
  -- 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
                                                                                        and _MfgOrderOpComponent.ManufacturingOrderCategory = '40'
  -- 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
                                                                                        and _MfgOrderOperationPRT.ManufacturingOrderCategory = '40'
  -- 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
                                                                                        and _MfgOrderOpTriggerPoint.ManufacturingOrderCategory = '40'
  -- 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
                                                                                        and _MfgOrderOpDocInfoRecord.ManufacturingOrderCategory = '40'
  -- 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
                                                                                        and _MfgOrderOperationConf.ManufacturingOrderCategory = '40'
  -- to extension
  association [1..1] to E_OrderOperation               as _Extension                    on  $projection.MfgOrderInternalID       = _Extension.OrderInternalID
                                                                                        and $projection.OrderOperationInternalID = _Extension.OrderOperationInternalID

  association [0..1] to I_Material                     as _Material                     on  $projection.Material = _Material.Material
{
      // 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

      @ObjectModel.foreignKey.association: '_MfgOrder'
      //      cast(aufv.OrderID as manufacturingorder preserving type)                 as ManufacturingOrder,

      //cast(aufv.ManufacturingOrder as manufacturingorder preserving type)                        as ManufacturingOrder,

      //Change the field name to the correct one

      cast(aufv.OrderID as manufacturingorder preserving type)                                   as ManufacturingOrder,
      @ObjectModel.foreignKey.association: '_MfgOrderSequence'
      cast(afvg.Sequence as manufacturingordersequence preserving type)                          as ManufacturingOrderSequence,
      @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
          cast(afvg.Operation as manufacturingordersuboperation preserving type)
        else ''
      end                                                                                        as ManufacturingOrderSubOperation,
      afvc.Operation                                                                             as MfgOrderOperationOrSubOp,

      // Order header data

      @ObjectModel.foreignKey.association: '_MfgOrderCategory'
      //cast(aufv.ManufacturingOrderCategory as manufacturingordercategory preserving type)        as ManufacturingOrderCategory,

      //Change the field name to the correct one

      cast(aufv.OrderCategory as manufacturingordercategory preserving type) as ManufacturingOrderCategory,

      @ObjectModel.foreignKey.association: '_MfgOrderType'
      //cast(aufv.ManufacturingOrderType     as manufacturingordertype preserving type)            as ManufacturingOrderType,

      //Change the field name to the correct one

      cast(aufv.OrderType     as manufacturingordertype preserving type)                         as ManufacturingOrderType,

      _MfgOrderType._Text[1: Language=$session.system_language].ManufacturingOrderTypeName,

      @ObjectModel.foreignKey.association: '_ProductionPlant'
      //cast(aufv.ProductionPlant as pwwrk preserving type)                                        as ProductionPlant,

      //Change the field name to the correct one

      cast(aufv.Plant as pwwrk preserving type)                                                  as ProductionPlant,
      _ProductionPlant.PlantName                                                                 as ProductionPlantName,

      cast( _ProductionPlant._StandardOrganizationAddress.AddressTimeZone as co_plant_timezone ) as PlantTimeZone,
      @ObjectModel.foreignKey.association: '_ProductionSupervisor'
      cast(aufv.ProductionSupervisor       as pph_fevor preserving type)                         as ProductionSupervisor,
      _ProductionSupervisor.ProductionSupervisorName,

      @ObjectModel.foreignKey.association: '_MRPController'
      cast(aufv.MRPController              as pph_dispo preserving type)                         as MRPController,
      _MRPController.MRPControllerName,

      @ObjectModel.foreignKey.association: '_ResponsiblePlannerGroup'
      cast(aufv.ResponsiblePlannerGroup    as vagrp preserving type)                             as ResponsiblePlannerGroup,
      cast(aufv.ProductConfiguration       as product_configuration preserving type)             as ProductConfiguration,
      aufv.InspectionLot,
      
      //aufv.ManufacturingOrderImportance,

      //Change the field name to the correct one

      aufv.PriorityCode                                                                         as ManufacturingOrderImportance,

      // Text

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

      cast(case afvg.Language
            when '' then ''
            else 'X'
      end as aufltext preserving type)                                                           as OperationHasLongText,

      // Attributes

      afvg.OperationIsToBeDeleted,
      afvg.MfgOrderOperationIsPhase,
      cast(afvp.Operation as vdm_supop preserving type)                                          as MfgOrderPhaseSuperiorOperation,
      afvp.OperationText                                                                         as SuperiorOperationText,
      cast(afvg.NumberOfCapacities as pph_anzkap preserving type)                                as NumberOfCapacities,
      afvg.NumberOfConfirmationSlips,
      afvg.OperationImportance,

      // Assignments

      @ObjectModel.foreignKey.association: '_SuperiorOperation'
      afvg.SuperiorOperationInternalID,
      @ObjectModel.foreignKey.association: '_Plant'
      afvg.Plant,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_WorkCenterStdVH', element: 'WorkCenterInternalID' } } ]
      @ObjectModel.foreignKey.association: '_WorkCenter'
      cast(afvg.WorkCenterInternalID as pph_arbid preserving type)                               as WorkCenterInternalID,
      @ObjectModel.foreignKey.association: '_WorkCenterType'
      cast(afvg.WorkCenterTypeCode   as pph_arbty preserving type)                               as WorkCenterTypeCode,

      @ObjectModel.foreignKey.association: '_OperationControlProfile'
      cast(afvg.OperationControlProfile as pph_steus preserving type)                            as OperationControlProfile,
      _OperationControlProfile._Text[1: Language=$session.system_language].OperationControlProfileName,

      @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,
      afvg.BillOfMaterialInternalID,
      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,

      // Amount and Currency

      @Semantics.currencyCode: true
      afvg.Currency                                                                              as OpExternalProcessingCurrency,
      @DefaultAggregation: #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 pph_fsavd preserving type)                      as OpErlstSchedldExecStrtDte,
      cast(afvg.OpErlstSchedldExecStrtTme     as pph_fsavz preserving type)                      as OpErlstSchedldExecStrtTme,
      cast(afvg.OpErlstSchedldProcgStrtDte    as pph_fssbd preserving type)                      as OpErlstSchedldProcgStrtDte,
      cast(afvg.OpErlstSchedldProcgStrtTme    as pph_fssbz preserving type)                      as OpErlstSchedldProcgStrtTme,
      cast(afvg.OpErlstSchedldTrdwnStrtDte    as pph_fssad preserving type)                      as OpErlstSchedldTrdwnStrtDte,
      cast(afvg.OpErlstSchedldTrdwnStrtTme    as pph_fssaz preserving type)                      as OpErlstSchedldTrdwnStrtTme,
      cast(afvg.OpErlstSchedldExecEndDte      as pph_fsedd preserving type)                      as OpErlstSchedldExecEndDte,
      cast(afvg.OpErlstSchedldExecEndTme      as pph_fsedz preserving type)                      as OpErlstSchedldExecEndTme,
      cast(afvg.OpLtstSchedldExecStrtDte      as pph_ssavd preserving type)                      as OpLtstSchedldExecStrtDte,
      cast(afvg.OpLtstSchedldExecStrtTme      as pph_ssavz preserving type)                      as OpLtstSchedldExecStrtTme,
      cast(afvg.OpLtstSchedldProcgStrtDte     as pph_sssbd preserving type)                      as OpLtstSchedldProcgStrtDte,
      cast(afvg.OpLtstSchedldProcgStrtTme     as pph_sssbz preserving type)                      as OpLtstSchedldProcgStrtTme,
      cast(afvg.OpLtstSchedldTrdwnStrtDte     as pph_sssad preserving type)                      as OpLtstSchedldTrdwnStrtDte,
      cast(afvg.OpLtstSchedldTrdwnStrtTme     as pph_sssaz preserving type)                      as OpLtstSchedldTrdwnStrtTme,
      cast(afvg.OpLtstSchedldExecEndDte       as pph_ssedd preserving type)                      as OpLtstSchedldExecEndDte,
      cast(afvg.OpLtstSchedldExecEndTme       as pph_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 Dates and Times

      cast(afvg.OperationConfirmedStartDate as pph_isavd preserving type)                        as OperationConfirmedStartDate,
      cast(afvg.OperationConfirmedEndDate   as pph_ieavd preserving type)                        as OperationConfirmedEndDate,
      afvg.OpActualExecutionStartDate,
      afvg.OpActualExecutionStartTime,
      afvg.OpActualSetupEndDate,
      afvg.OpActualSetupEndTime,
      afvg.OpActualProcessingStartDate,
      afvg.OpActualProcessingStartTime,
      afvg.OpActualProcessingEndDate,
      afvg.OpActualProcessingEndTime,
      afvg.OpActualTeardownStartDate,
      afvg.OpActualTeardownStartTme,
      afvg.OpActualExecutionEndDate,
      afvg.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.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,

      // 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'
      @DefaultAggregation: #MAX
      afvg.OperationReferenceQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @DefaultAggregation: #SUM
      afvg.OpPlannedTotalQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @DefaultAggregation: #SUM
      afvg.OpPlannedScrapQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @DefaultAggregation: #SUM
      cast((afvg.OpPlannedTotalQuantity - afvg.OpPlannedScrapQuantity) as vdm_gmeng)             as OpPlannedYieldQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @DefaultAggregation: #SUM
      afvg.OpTotalConfirmedYieldQty,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @DefaultAggregation: #SUM
      afvg.OpTotalConfirmedScrapQty,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      @DefaultAggregation: #SUM
      afvg.OperationConfirmedReworkQty,
      @Semantics.unitOfMeasure: true
      //cast(aufv.ProductionUnit as productionunit preserving type)                                as ProductionUnit,

      //Change the field name to the correct one

      cast(aufv.BaseUnit as productionunit preserving type)                                     as ProductionUnit,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #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'
      @DefaultAggregation: #SUM
      cast(afvg.OpConfirmedWorkQuantity1 as vdm_ism01 preserving type)                           as OpConfirmedWorkQuantity1,
      afvg.NoFurtherOpWorkQuantity1IsExpd,

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

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

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

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

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

      // Work Quantities and UoM

      @Semantics.unitOfMeasure: true
      cast(afvg.WorkCenterStandardWorkQtyUnit1 as pph_vge01 preserving type)                     as WorkCenterStandardWorkQtyUnit1,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit1'
      @DefaultAggregation: #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'
      @DefaultAggregation: #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'
      @DefaultAggregation: #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'
      @DefaultAggregation: #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'
      @DefaultAggregation: #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'
      @DefaultAggregation: #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'
      @DefaultAggregation: #SUM
      cast(afvg.ForecastWorkQuantity1 as  vdm_ofm01 preserving type)                             as ForecastWorkQuantity1,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit2'
      @DefaultAggregation: #SUM
      cast(afvg.ForecastWorkQuantity2 as  vdm_ofm02 preserving type)                             as ForecastWorkQuantity2,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit3'
      @DefaultAggregation: #SUM
      cast(afvg.ForecastWorkQuantity3 as  vdm_ofm03 preserving type)                             as ForecastWorkQuantity3,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit4'
      @DefaultAggregation: #SUM
      cast(afvg.ForecastWorkQuantity4 as  vdm_ofm04 preserving type)                             as ForecastWorkQuantity4,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit5'
      @DefaultAggregation: #SUM
      cast(afvg.ForecastWorkQuantity5 as  vdm_ofm05 preserving type)                             as ForecastWorkQuantity5,
      @Semantics.quantity.unitOfMeasure: 'WorkCenterStandardWorkQtyUnit6'
      @DefaultAggregation: #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'
      @DefaultAggregation: #SUM
      afvg.BusinessProcessConfirmedQty,
      afvg.NoFurtherBusinessProcQtyIsExpd,
      @Semantics.unitOfMeasure: true
      afvg.BusinessProcRemainingQtyUnit,
      @Semantics.quantity.unitOfMeasure: 'BusinessProcRemainingQtyUnit'
      @DefaultAggregation: #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'
      @DefaultAggregation: #SUM
      afvg.FreeDefinedQuantity1,
      @Semantics.unitOfMeasure: true
      afvg.FreeDefinedQuantity2Unit,
      @Semantics.quantity.unitOfMeasure: 'FreeDefinedQuantity2Unit'
      @DefaultAggregation: #SUM
      afvg.FreeDefinedQuantity2,
      @Semantics.currencyCode: true
      afvg.FreeDefinedAmount1Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
      @DefaultAggregation: #SUM
      afvg.FreeDefinedAmount1,
      @Semantics.currencyCode: true
      afvg.FreeDefinedAmount2Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
      @DefaultAggregation: #SUM
      afvg.FreeDefinedAmount2,
      afvg.FreeDefinedDate1,
      afvg.FreeDefinedDate2,
      afvg.FreeDefinedIndicator1,
      afvg.FreeDefinedIndicator2,

      _OperationControlProfile.ConfirmationIsNotPossible,
      _OperationConfirmation.ConfirmationGroup,

      //pvzkn - parent operations item number

      afvg.OrderIntBillOfOpItemOfPhase,

      _ManufacturingOrder.Material                                                               as Material,
      //aufv.BillOfOperationsMaterial                                                       as Material,

      //_ManufacturingOrder.ObjectInternalID                                                as OrdObjectInternalID,

      aufv.ObjectInternalID                                                                      as OrdObjectInternalID,

      // Has no long text indicator

      cast(case afvg.Language
            when '' then 'X'
            else ''
      end as processorderhasnolongtext preserving type)                                          as ProcessOrderHasNoLongText, //replace with ProcOrdOpHasNoLongText


      cast(_WorkCenter.WorkCenter as pph_arbpl preserving type)                                  as WorkCenter,
      _WorkCenter._Text[1: Language=$session.system_language].WorkCenterText,
      _WorkCenter.CapacityInternalID,
      //      _AllCapacity.CapacityCategoryAllocation,

      //'' as CapacityCategoryAllocation,


      //Segmentation details

      //_MfgOrder.StockSegment                                                              as StockSegment,

      
      //Expose Start and End dates to push-down filters to associations

      aufv.ScheduledBasicStartDate,
      aufv.ScheduledBasicEndDate,
      
      // Associations

      @Consumption.hidden: true
      _OrderInternalID,
      _ManufacturingOrder,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_ManufacturingOrder'
      _MfgOrder,
      _MfgOrderSequence,
      _MfgOrderOpComponent,
      _MfgOrderOperationPRT,
      _MfgOrderOpTriggerPoint,
      _MfgOrderOpDocInfoRecord,
      _MfgOrderOperationConf,
      _MfgOrderCategory,
      _MfgOrderType,
      _SuperiorOperation,
      _OperationStandardTextCode,
      _Plant,
      _MRPController,
      _ResponsiblePlannerGroup,
      _ProductionSupervisor,
      _ProductionUnit,
      _OperationUnit,
      _WorkCenter,
      @Consumption.hidden: true
      _WorkCenterType,
      _OperationControlProfile,
      _BillOfOperationsType,
      _BillOfOperationsGroup,
      _BillOfOperationsVariant,
      _BillOfOperationsSequence,
      @Consumption.hidden: true
      _BOOOperationInternalID,
      _OperationConfirmation,
      _FactoryCalendar,
      _CapacityRequirement,
      _CapacityRequirementItem,
      _ControlRecipeDestination,
      _ChangeNumber,
      _PurchasingOrganization,
      _PurchasingGroup,
      _PurchaseOrder,
      _PurchaseOrderItem,
      _PurchaseRequisition,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_PurchaseRequisitionItem2'
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_PurchaseRequisitionItem2'
      _PurchaseRequisitionItem,
      _PurchaseRequisitionItem2,
      _PurchasingInfoRecord,
      _Supplier,
      @Consumption.hidden: true
      _SupplierCompanyByPlant,
      _OpExternalProcessingCurrency,
      _EmployeeWageGroup,
      _EmployeeSuitability,
      _Employee,
      _CompanyCode,
      _ProfitCenter,
      _RequestingCostCenter,
      _ControllingArea,
      _ControllingObjectClass,
      _ControllingObjectCurrency,
      _CostElement,
      _CostingVariant,
      _FunctionalArea,
      _BusinessArea,
      _BusinessProcess,
      _BusinessProcessEntryUnit,
      _OperationSetupGroupCategory,
      _OperationSetupGroup,
      _OperationSetupType,
      _LeadTimeReductionStrategy,
      _StartDateOffsetReferenceCode,
      _EndDateOffsetReferenceCode,
      _StandardWorkFmlaParamGroup,
      _Language,
      _SetupOpActyNtwkInstance,
      _ProduceOpActyNtwkInstance,
      _TeardownOpActyNtwkInstance,
      _LongText,
      _FreeDefinedQuantity1Unit,
      _FreeDefinedQuantity2Unit,
      _FreeDefinedAmount1Currency,
      _FreeDefinedAmount2Currency,
      _ProductionPlant,
      _Material
}
where
  //aufv.ManufacturingOrderCategory = '40';

  //Change the field name to the correct one

  aufv.OrderCategory = '40';
// and afvg.BillOfOperationsType       = '2'; //process orders only