@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