I_ProductionModelOperation

DDL: I_PRODUCTIONMODELOPERATION Type: view_entity COMPOSITE

Production Model Operation

I_ProductionModelOperation is a Composite CDS View that provides data about "Production Model Operation" in SAP S/4HANA. It reads from 3 data sources (P_ProdnModBOOOperation, I_ProdnModBOOVersBOMAssgmt, I_ProductionModelBasic) and exposes 136 fields with key fields ProductionModelUUID, BillOfOperationsVersion, BOOOperationInternalID. It has 23 associations to related views.

Data Sources (3)

SourceAliasJoin Type
P_ProdnModBOOOperation BOOOpBasic from
I_ProdnModBOOVersBOMAssgmt BOOVersion inner
I_ProductionModelBasic ProductionModel inner

Associations (23)

CardinalityTargetAliasCondition
[0..1] I_WorkCenterTextBySemanticKey _WorkCenterText $projection.BOOOperationPlant = _WorkCenterText.Plant and $projection.WorkCenter = _WorkCenterText.WorkCenter and _WorkCenterText.Language = $session.system_language
[0..1] I_OperationControlProfileText _ControlProfileText $projection.OperationControlProfile = _ControlProfileText.OperationControlProfile and _ControlProfileText.Language = $session.system_language
[0..1] I_Plant _Plant $projection.BOOOperationPlant = _Plant.Plant
[0..1] I_LeadTimeReducnStrategyText _LeadTimeReductionStrategyText $projection.LeadTimeReductionStrategy = _LeadTimeReductionStrategyText.LeadTimeReductionStrategy and $projection.Plant = _LeadTimeReductionStrategyText.Plant and _LeadTimeReductionStrategyText.Language = $session.system_language
[0..1] I_EmployeeWageGroupText _EmployeeWageGroupText $projection.EmployeeWageGroup = _EmployeeWageGroupText.EmployeeWageGroup and $projection.Plant = _EmployeeWageGroupText.Plant and _EmployeeWageGroupText.Language = $session.system_language
[0..1] I_OperationSetupTypeText _OperationSetupTypeText $projection.OperationSetupType = _OperationSetupTypeText.OperationSetupType and $projection.Plant = _OperationSetupTypeText.Plant and _OperationSetupTypeText.Language = $session.system_language
[0..1] I_OperationSetupGroupCatText _OperationSetupGroupCatText $projection.OperationSetupGroupCategory = _OperationSetupGroupCatText.OperationSetupGroupCategory and $projection.Plant = _OperationSetupGroupCatText.Plant and _OperationSetupGroupCatText.Language = $session.system_language
[0..1] I_OperationSetupGroupText _OperationSetupGroupText $projection.OperationSetupGroup = _OperationSetupGroupText.OperationSetupGroup and $projection.OperationSetupGroupCategory = _OperationSetupGroupText.OperationSetupGroupCategory and $projection.Plant = _OperationSetupGroupText.Plant and _OperationSetupGroupText.Language = $session.system_language
[0..1] I_MaintOrdOpCompCostRelevancyT _CostRelevancyText $projection.OperationCostingRelevancyType = _CostRelevancyText.CostingRelevantDescription and _CostRelevancyText.Language = $session.system_language
[0..1] I_User _CreatedByUser $projection.CreatedByUser = _CreatedByUser.UserID
[0..1] I_User _ChangedByUser $projection.LastChangedByUser = _ChangedByUser.UserID
[0..*] I_ProductionModel _ProductionModel $projection.ProductionModelUUID = _ProductionModel.ProductionModelUUID and $projection.BillOfOperationsVersion = _ProductionModel.BillOfOperationsVersion
[0..*] I_ProdnModOperationActivity _OperationActivity $projection.ProductionModelUUID = _OperationActivity.ProductionModelUUID and $projection.BillOfMaterial = _OperationActivity.BillOfMaterial and $projection.BillOfMaterialVariant = _OperationActivity.BillOfMaterialVariant and $projection.BillOfMaterialCategory = _OperationActivity.BillOfMaterialCategory and $projection.Plant = _OperationActivity.Plant and $projection.BillOfOperationsType = _OperationActivity.BillOfOperationsType and $projection.BillOfOperationsGroup = _OperationActivity.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _OperationActivity.BillOfOperationsVariant and $projection.BillOfOperationsVersion = _OperationActivity.BillOfOperationsVersion and $projection.BOOOperationInternalID = _OperationActivity.BOOOperationInternalID
[0..*] I_ProdnModOperationComponent _OperationComponent $projection.ProductionModelUUID = _OperationComponent.ProductionModelUUID and $projection.BillOfOperationsVersion = _OperationComponent.BillOfOperationsVersion and $projection.BillOfMaterial = _OperationComponent.BillOfMaterial and $projection.BillOfMaterialVariant = _OperationComponent.BillOfMaterialVariant and $projection.BillOfMaterialCategory = _OperationComponent.BillOfMaterialCategory and $projection.Plant = _OperationComponent.Plant and $projection.BillOfOperationsType = _OperationComponent.BillOfOperationsType and $projection.BillOfOperationsGroup = _OperationComponent.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _OperationComponent.BillOfOperationsVariant and $projection.BOOOperationInternalID = _OperationComponent.BOOOperationInternalID
[1..1] I_OperationControlProfile _OperationControlProfile $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile
[0..1] I_BOOOperationOvrlpngText _ProdnModelBOOOpOvrlpngText $projection.BOOOperationOverlapping = _ProdnModelBOOOpOvrlpngText.BOOOperationOverlapping and _ProdnModelBOOOpOvrlpngText.Language = $session.system_language
[0..1] I_PurchasingOrganization _PurchasingOrganization $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
[0..1] I_MaterialGroupText _MaterialGroupText $projection.MaterialGroup = _MaterialGroupText.MaterialGroup and _MaterialGroupText.Language = $session.system_language
[0..1] I_PurchasingGroup _PurchasingGroup $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
[0..1] I_Supplier _Supplier $projection.Supplier = _Supplier.Supplier
[0..1] I_CurrencyText _OpExtProcessingCurrencyText $projection.OpExternalProcessingCurrency = _OpExtProcessingCurrencyText.Currency and _OpExtProcessingCurrencyText.Language = $session.system_language
[0..1] I_InspectionLotTypeText _InspectionLotTypeText $projection.InspectionLotType = _InspectionLotTypeText.InspectionLotType
[0..1] I_PurchasingGroup _PurchasingGroupText $projection.PurchasingGroup = _PurchasingGroupText.PurchasingGroup

Annotations (7)

NameValueLevelField
EndUserText.label Production Model Operation view
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #COMPOSITE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view

Fields (136)

KeyFieldSource TableSource FieldDescription
KEY ProductionModelUUID I_ProductionModelBasic ProductionModelUUID
KEY BillOfOperationsVersion I_ProdnModBOOVersBOMAssgmt BillOfOperationsVersion
KEY BOOOperationInternalID P_ProdnModBOOOperation BOOOperationInternalID
BOOOpInternalVersionCounter P_ProdnModBOOOperation BOOOpInternalVersionCounter
BillOfMaterial
BillOfMaterialVariant I_ProductionModelBasic BillOfMaterialVariant
BillOfMaterialCategory I_ProductionModelBasic BillOfMaterialCategory
BillOfMaterialVariantUsage I_ProductionModelBasic BillOfMaterialVariantUsage
Plant I_ProductionModelBasic Plant
BillOfOperationsGroup I_ProductionModelBasic BillOfOperationsGroup
BillOfOperationsType I_ProductionModelBasic BillOfOperationsType
BillOfOperationsVariant I_ProductionModelBasic BillOfOperationsVariant
OperationExternalID P_ProdnModBOOOperation OperationExternalID
Operation
OperationText
LongTextLanguageCode P_ProdnModBOOOperation LongTextLanguageCode
WorkCenterTypeCode P_ProdnModBOOOperation WorkCenterTypeCode
WorkCenterInternalID P_ProdnModBOOOperation WorkCenterInternalID
WorkCenter ProdnModOpWorkCenter WorkCenter
BOOOperationPlant
OperationControlProfile P_ProdnModBOOOperation OperationControlProfile
OperationReferenceQuantity P_ProdnModBOOOperation OperationReferenceQuantity
OperationUnit P_ProdnModBOOOperation OperationUnit
BillOfOperationsBreakDuration P_ProdnModBOOOperation BillOfOperationsBreakDuration
BillOfOperationsBreakDurnUnit P_ProdnModBOOOperation BillOfOperationsBreakDurnUnit
BusinessProcess P_ProdnModBOOOperation BusinessProcess
LeadTimeReductionStrategy P_ProdnModBOOOperation LeadTimeReductionStrategy
TeardownAndWaitIsParallel P_ProdnModBOOOperation TeardownAndWaitIsParallel
MinimumWaitDuration P_ProdnModBOOOperation MinimumWaitDuration
MinimumWaitDurationUnit P_ProdnModBOOOperation MinimumWaitDurationUnit
MaximumWaitDuration P_ProdnModBOOOperation MaximumWaitDuration
MaximumWaitDurationUnit P_ProdnModBOOOperation MaximumWaitDurationUnit
MinimumQueueDuration P_ProdnModBOOOperation MinimumQueueDuration
MinimumQueueDurationUnit P_ProdnModBOOOperation MinimumQueueDurationUnit
StandardQueueDuration P_ProdnModBOOOperation StandardQueueDuration
StandardQueueDurationUnit P_ProdnModBOOOperation StandardQueueDurationUnit
MinimumMoveDuration P_ProdnModBOOOperation MinimumMoveDuration
MinimumMoveDurationUnit P_ProdnModBOOOperation MinimumMoveDurationUnit
StandardMoveDuration P_ProdnModBOOOperation StandardMoveDuration
StandardMoveDurationUnit P_ProdnModBOOOperation StandardMoveDurationUnit
WorkCenterStdQueueDurnUnit ProdnModOpWorkCenter WorkCenterStdQueueDurnUnit
WorkCenterStandardQueueDurn ProdnModOpWorkCenter WorkCenterStandardQueueDurn
WorkCenterMinimumQueueDurnUnit ProdnModOpWorkCenter WorkCenterMinimumQueueDurnUnit
WorkCenterMinimumQueueDuration ProdnModOpWorkCenter WorkCenterMinimumQueueDuration
OperationSplitIsRequired P_ProdnModBOOOperation OperationSplitIsRequired
MaximumNumberOfSplits P_ProdnModBOOOperation MaximumNumberOfSplits
MinProcessingDurationPerSplit P_ProdnModBOOOperation MinProcessingDurationPerSplit
MinProcessingDurnPerSplitUnit P_ProdnModBOOOperation MinProcessingDurnPerSplitUnit
OperationOverlappingIsRequired P_ProdnModBOOOperation OperationOverlappingIsRequired
OperationOverlappingIsPossible P_ProdnModBOOOperation OperationOverlappingIsPossible
OperationsIsAlwaysOverlapping P_ProdnModBOOOperation OperationsIsAlwaysOverlapping
OverlapMinimumDuration P_ProdnModBOOOperation OverlapMinimumDuration
OverlapMinimumDurationUnit P_ProdnModBOOOperation OverlapMinimumDurationUnit
OverlapMinimumTransferQty P_ProdnModBOOOperation OverlapMinimumTransferQty
OverlapMinimumTransferQtyUnit P_ProdnModBOOOperation OverlapMinimumTransferQtyUnit
OperationScrapPercent P_ProdnModBOOOperation OperationScrapPercent
NmbrOfTimeTicketsIsReferenced ProdnModOpWorkCenter NmbrOfTimeTicketsIsReferenced
NumberOfConfSlipsIsReferenced ProdnModOpWorkCenter NumberOfConfSlipsIsReferenced
EmployeeWageGroupIsReferenced ProdnModOpWorkCenter EmployeeWageGroupIsReferenced
EmployeeWageTypeIsReferenced ProdnModOpWorkCenter EmployeeWageTypeIsReferenced
WorkCenterSetpTypeIsReferenced ProdnModOpWorkCenter WorkCenterSetpTypeIsReferenced
NumberOfEmployees P_ProdnModBOOOperation NumberOfEmployees
OperationSetupGroupCategory P_ProdnModBOOOperation OperationSetupGroupCategory
OperationSetupGroup P_ProdnModBOOOperation OperationSetupGroup
OperationCostingRelevancyType P_ProdnModBOOOperation OperationCostingRelevancyType
StandardWorkFormulaParamName1 ProdnModOpWorkCenter StandardWorkFormulaParamName1
StandardWorkFormulaParamName2 ProdnModOpWorkCenter StandardWorkFormulaParamName2
StandardWorkFormulaParamName3 ProdnModOpWorkCenter StandardWorkFormulaParamName3
StandardWorkFormulaParamName4 ProdnModOpWorkCenter StandardWorkFormulaParamName4
StandardWorkFormulaParamName5 ProdnModOpWorkCenter StandardWorkFormulaParamName5
StandardWorkFormulaParamName6 ProdnModOpWorkCenter StandardWorkFormulaParamName6
StandardWorkQuantity1 P_ProdnModBOOOperation StandardWorkQuantity1
StandardWorkQuantity2 P_ProdnModBOOOperation StandardWorkQuantity2
StandardWorkQuantity3 P_ProdnModBOOOperation StandardWorkQuantity3
StandardWorkQuantity4 P_ProdnModBOOOperation StandardWorkQuantity4
StandardWorkQuantity5 P_ProdnModBOOOperation StandardWorkQuantity5
StandardWorkQuantity6 P_ProdnModBOOOperation StandardWorkQuantity6
StandardWorkQuantityUnit1 P_ProdnModBOOOperation StandardWorkQuantityUnit1
StandardWorkQuantityUnit2 P_ProdnModBOOOperation StandardWorkQuantityUnit2
StandardWorkQuantityUnit3 P_ProdnModBOOOperation StandardWorkQuantityUnit3
StandardWorkQuantityUnit4 P_ProdnModBOOOperation StandardWorkQuantityUnit4
StandardWorkQuantityUnit5 P_ProdnModBOOOperation StandardWorkQuantityUnit5
StandardWorkQuantityUnit6 P_ProdnModBOOOperation StandardWorkQuantityUnit6
CostCtrActyType1IsReferenced ProdnModOpWorkCenter CostCtrActyType1IsReferenced
CostCtrActyType2IsReferenced ProdnModOpWorkCenter CostCtrActyType2IsReferenced
CostCtrActyType3IsReferenced ProdnModOpWorkCenter CostCtrActyType3IsReferenced
CostCtrActyType4IsReferenced ProdnModOpWorkCenter CostCtrActyType4IsReferenced
CostCtrActyType5IsReferenced ProdnModOpWorkCenter CostCtrActyType5IsReferenced
CostCtrActyType6IsReferenced ProdnModOpWorkCenter CostCtrActyType6IsReferenced
PurchasingInfoRecord P_ProdnModBOOOperation PurchasingInfoRecord
PurchaseContract P_ProdnModBOOOperation PurchaseContract
PurchasingInfoRecdAddlGrpgName P_ProdnModBOOOperation PurchasingInfoRecdAddlGrpgName
MaterialGroup P_ProdnModBOOOperation MaterialGroup
PurchasingGroup P_ProdnModBOOOperation PurchasingGroup
Supplier P_ProdnModBOOOperation Supplier
PlannedDeliveryDuration P_ProdnModBOOOperation PlannedDeliveryDuration
NumberOfOperationPriceUnits P_ProdnModBOOOperation NumberOfOperationPriceUnits
OpExternalProcessingPrice P_ProdnModBOOOperation OpExternalProcessingPrice
InspectionLotType P_ProdnModBOOOperation InspectionLotType
PurchasingOrganization P_ProdnModBOOOperation PurchasingOrganization
PurchaseContractItem P_ProdnModBOOOperation PurchaseContractItem
CostElement P_ProdnModBOOOperation CostElement
OpExternalProcessingCurrency P_ProdnModBOOOperation OpExternalProcessingCurrency
GoodsRecipientName BOOOpChgStOANBasic GoodsRecipientName
UnloadingPointName BOOOpChgStOANBasic UnloadingPointName
ShopFloorRoutingTemplateType BOORoutingTemplate ShopFloorRoutingTemplateType
ShopFloorRtgTemplateGroup BOOOpChgStOANBasic ShopFloorRtgTemplateGroup
ShopFloorRtgTemplateGrpVariant BOOOpChgStOANBasic ShopFloorRtgTemplateGrpVariant
ShopFloorRtgTemplateVersion BOOOpChgStOANBasic ShopFloorRtgTemplateVersion
CreatedByUser P_ProdnModBOOOperation CreatedByUser
CreationDate P_ProdnModBOOOperation CreationDate
LastChangedByUser P_ProdnModBOOOperation LastChangedByUser
LastChangeDate P_ProdnModBOOOperation LastChangeDate
_WorkCenterText _WorkCenterText
_ControlProfileText _ControlProfileText
_Plant _Plant
_LeadTimeReductionStrategyText _LeadTimeReductionStrategyText
_EmployeeWageGroupText _EmployeeWageGroupText
_OperationSetupTypeText _OperationSetupTypeText
_OperationSetupGroupCatText _OperationSetupGroupCatText
_OperationSetupGroupText _OperationSetupGroupText
_CostRelevancyText _CostRelevancyText
_CreatedByUser _CreatedByUser
_ChangedByUser _ChangedByUser
_ProductionModel _ProductionModel
_OperationActivity _OperationActivity
_OperationComponent _OperationComponent
_OperationControlProfile _OperationControlProfile
_ProdnModelBOOOpOvrlpngText _ProdnModelBOOOpOvrlpngText
_PurchasingOrganization _PurchasingOrganization
_MaterialGroupText _MaterialGroupText
_PurchasingGroup _PurchasingGroup
_Supplier _Supplier
_OpExtProcessingCurrencyText _OpExtProcessingCurrencyText
_InspectionLotTypeText _InspectionLotTypeText
_PurchasingGroupText _PurchasingGroupText
@EndUserText.label: 'Production Model Operation'
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #L,
  dataClass: #TRANSACTIONAL
}

define view entity I_ProductionModelOperation
  as select from           P_ProdnModBOOOperation        as BOOOpBasic
    inner join             I_ProdnModBOOVersBOMAssgmt    as BOOVersion           on  BOOVersion.BillOfOperationsType    = BOOOpBasic.BillOfOperationsType
                                                                                 and BOOVersion.BillOfOperationsGroup   = BOOOpBasic.BillOfOperationsGroup
                                                                                 and BOOVersion.BillOfOperationsVariant = BOOOpBasic.BillOfOperationsVariant
                                                                                 and BOOVersion.BillOfOperationsVersion = BOOOpBasic.BillOfOperationsVersion
    inner join             I_ProductionModelBasic        as ProductionModel      on  ProductionModel.BillOfOperationsType    = BOOVersion.BillOfOperationsType
                                                                                 and ProductionModel.BillOfOperationsGroup   = BOOVersion.BillOfOperationsGroup
                                                                                 and ProductionModel.BillOfOperationsVariant = BOOVersion.BillOfOperationsVariant
    left outer to one join P_ProdnModOperationWorkCenter as ProdnModOpWorkCenter on  ProdnModOpWorkCenter.WorkCenterTypeCode   = BOOOpBasic.WorkCenterTypeCode
                                                                                 and ProdnModOpWorkCenter.WorkCenterInternalID = BOOOpBasic.WorkCenterInternalID
    left outer to one join I_BOOOperationChgStOANBasic   as BOOOpChgStOANBasic   on  BOOOpChgStOANBasic.BillOfOperationsType        = BOOOpBasic.BillOfOperationsType
                                                                                 and BOOOpChgStOANBasic.BillOfOperationsGroup       = BOOOpBasic.BillOfOperationsGroup
                                                                                 and BOOOpChgStOANBasic.BOOOperationInternalID      = BOOOpBasic.BOOOperationInternalID
                                                                                 and BOOOpChgStOANBasic.BOOOpInternalVersionCounter = BOOOpBasic.BOOOpInternalVersionCounter
                                                                                 and BOOOpChgStOANBasic.BillOfOperationsVersion     = BOOOpBasic.BillOfOperationsVersion
    left outer to one join I_BillOfOperations            as BOORoutingTemplate   on  BOORoutingTemplate.BillOfOperationsType    = BOOOpChgStOANBasic.ShopFloorRtgTmplTaskListType
                                                                                 and BOORoutingTemplate.BillOfOperationsGroup   = BOOOpChgStOANBasic.ShopFloorRtgTemplateGroup
                                                                                 and BOORoutingTemplate.BillOfOperationsVariant = BOOOpChgStOANBasic.ShopFloorRtgTemplateGrpVariant
  association [0..1] to I_WorkCenterTextBySemanticKey  as _WorkCenterText                on  $projection.BOOOperationPlant = _WorkCenterText.Plant
                                                                                         and $projection.WorkCenter        = _WorkCenterText.WorkCenter
                                                                                         and _WorkCenterText.Language      = $session.system_language
  association [0..1] to I_OperationControlProfileText  as _ControlProfileText            on  $projection.OperationControlProfile = _ControlProfileText.OperationControlProfile
                                                                                         and _ControlProfileText.Language        = $session.system_language
  association [0..1] to I_Plant                        as _Plant                         on  $projection.BOOOperationPlant = _Plant.Plant
  association [0..1] to I_LeadTimeReducnStrategyText   as _LeadTimeReductionStrategyText on  $projection.LeadTimeReductionStrategy   = _LeadTimeReductionStrategyText.LeadTimeReductionStrategy
                                                                                         and $projection.Plant                       = _LeadTimeReductionStrategyText.Plant
                                                                                         and _LeadTimeReductionStrategyText.Language = $session.system_language
  association [0..1] to I_EmployeeWageGroupText        as _EmployeeWageGroupText         on  $projection.EmployeeWageGroup   = _EmployeeWageGroupText.EmployeeWageGroup
                                                                                         and $projection.Plant               = _EmployeeWageGroupText.Plant
                                                                                         and _EmployeeWageGroupText.Language = $session.system_language
  association [0..1] to I_OperationSetupTypeText       as _OperationSetupTypeText        on  $projection.OperationSetupType   = _OperationSetupTypeText.OperationSetupType
                                                                                         and $projection.Plant                = _OperationSetupTypeText.Plant
                                                                                         and _OperationSetupTypeText.Language = $session.system_language
  association [0..1] to I_OperationSetupGroupCatText   as _OperationSetupGroupCatText    on  $projection.OperationSetupGroupCategory = _OperationSetupGroupCatText.OperationSetupGroupCategory
                                                                                         and $projection.Plant                       = _OperationSetupGroupCatText.Plant
                                                                                         and _OperationSetupGroupCatText.Language    = $session.system_language
  association [0..1] to I_OperationSetupGroupText      as _OperationSetupGroupText       on  $projection.OperationSetupGroup         = _OperationSetupGroupText.OperationSetupGroup
                                                                                         and $projection.OperationSetupGroupCategory = _OperationSetupGroupText.OperationSetupGroupCategory
                                                                                         and $projection.Plant                       = _OperationSetupGroupText.Plant
                                                                                         and _OperationSetupGroupText.Language       = $session.system_language
  association [0..1] to I_MaintOrdOpCompCostRelevancyT as _CostRelevancyText             on  $projection.OperationCostingRelevancyType = _CostRelevancyText.CostingRelevantDescription
                                                                                         and _CostRelevancyText.Language               = $session.system_language
  association [0..1] to I_User                         as _CreatedByUser                 on  $projection.CreatedByUser = _CreatedByUser.UserID
  association [0..1] to I_User                         as _ChangedByUser                 on  $projection.LastChangedByUser = _ChangedByUser.UserID
  association [0..*] to I_ProductionModel              as _ProductionModel               on  $projection.ProductionModelUUID     = _ProductionModel.ProductionModelUUID
                                                                                         and $projection.BillOfOperationsVersion = _ProductionModel.BillOfOperationsVersion
  association [0..*] to I_ProdnModOperationActivity    as _OperationActivity             on  $projection.ProductionModelUUID     = _OperationActivity.ProductionModelUUID
                                                                                         and $projection.BillOfMaterial          = _OperationActivity.BillOfMaterial
                                                                                         and $projection.BillOfMaterialVariant   = _OperationActivity.BillOfMaterialVariant
                                                                                         and $projection.BillOfMaterialCategory  = _OperationActivity.BillOfMaterialCategory
                                                                                         and $projection.Plant                   = _OperationActivity.Plant
                                                                                         and $projection.BillOfOperationsType    = _OperationActivity.BillOfOperationsType
                                                                                         and $projection.BillOfOperationsGroup   = _OperationActivity.BillOfOperationsGroup
                                                                                         and $projection.BillOfOperationsVariant = _OperationActivity.BillOfOperationsVariant
                                                                                         and $projection.BillOfOperationsVersion = _OperationActivity.BillOfOperationsVersion
                                                                                         and $projection.BOOOperationInternalID  = _OperationActivity.BOOOperationInternalID
  association [0..*] to I_ProdnModOperationComponent   as _OperationComponent            on  $projection.ProductionModelUUID         = _OperationComponent.ProductionModelUUID
                                                                                         and $projection.BillOfOperationsVersion     = _OperationComponent.BillOfOperationsVersion
                                                                                         and $projection.BillOfMaterial              = _OperationComponent.BillOfMaterial
                                                                                         and $projection.BillOfMaterialVariant       = _OperationComponent.BillOfMaterialVariant
                                                                                         and $projection.BillOfMaterialCategory      = _OperationComponent.BillOfMaterialCategory
                                                                                         and $projection.Plant                       = _OperationComponent.Plant
                                                                                         and $projection.BillOfOperationsType        = _OperationComponent.BillOfOperationsType
                                                                                         and $projection.BillOfOperationsGroup       = _OperationComponent.BillOfOperationsGroup
                                                                                         and $projection.BillOfOperationsVariant     = _OperationComponent.BillOfOperationsVariant
                                                                                         and $projection.BOOOperationInternalID      = _OperationComponent.BOOOperationInternalID
  association [1..1] to I_OperationControlProfile      as _OperationControlProfile       on  $projection.OperationControlProfile = _OperationControlProfile.OperationControlProfile
  association [0..1] to I_BOOOperationOvrlpngText      as _ProdnModelBOOOpOvrlpngText    on  $projection.BOOOperationOverlapping  = _ProdnModelBOOOpOvrlpngText.BOOOperationOverlapping
                                                                                         and _ProdnModelBOOOpOvrlpngText.Language = $session.system_language
  association [0..1] to I_PurchasingOrganization       as _PurchasingOrganization        on  $projection.PurchasingOrganization = _PurchasingOrganization.PurchasingOrganization
  association [0..1] to I_MaterialGroupText            as _MaterialGroupText             on  $projection.MaterialGroup   = _MaterialGroupText.MaterialGroup
                                                                                         and _MaterialGroupText.Language = $session.system_language
  association [0..1] to I_PurchasingGroup              as _PurchasingGroup               on  $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
  association [0..1] to I_Supplier                     as _Supplier                      on  $projection.Supplier = _Supplier.Supplier
  association [0..1] to I_CurrencyText                 as _OpExtProcessingCurrencyText   on  $projection.OpExternalProcessingCurrency = _OpExtProcessingCurrencyText.Currency
                                                                                         and _OpExtProcessingCurrencyText.Language    = $session.system_language

  association [0..1] to I_InspectionLotTypeText        as _InspectionLotTypeText         on  $projection.InspectionLotType = _InspectionLotTypeText.InspectionLotType
  association [0..1] to I_PurchasingGroup              as _PurchasingGroupText           on  $projection.PurchasingGroup = _PurchasingGroupText.PurchasingGroup
{

  key       ProductionModel.ProductionModelUUID,
  key       BOOVersion.BillOfOperationsVersion,
  key       BOOOpBasic.BOOOperationInternalID,
            BOOOpBasic.BOOOpInternalVersionCounter,
            cast( ProductionModel.BillOfMaterial as cs_stlnr )  as BillOfMaterial,
            ProductionModel.BillOfMaterialVariant,
            ProductionModel.BillOfMaterialCategory,
            ProductionModel.BillOfMaterialVariantUsage,
            ProductionModel.Plant,
            ProductionModel.BillOfOperationsGroup,
            ProductionModel.BillOfOperationsType,
            ProductionModel.BillOfOperationsVariant,
            BOOOpBasic.OperationExternalID,
            cast(BOOOpBasic.Operation_2 as mpe_vdm_rtg_operation preserving type ) as Operation,
            cast(BOOOpBasic.OperationText as mpe_ltxa1 preserving type ) as OperationText,
            BOOOpBasic.LongTextLanguageCode,
            BOOOpBasic.WorkCenterTypeCode,
            BOOOpBasic.WorkCenterInternalID,
            ProdnModOpWorkCenter.WorkCenter,
            cast (BOOOpBasic.Plant as werks_d preserving type ) as BOOOperationPlant,
            @ObjectModel.foreignKey.association: '_OperationControlProfile'
            BOOOpBasic.OperationControlProfile,
            @Semantics.quantity.unitOfMeasure: 'OperationUnit'
            BOOOpBasic.OperationReferenceQuantity,
            BOOOpBasic.OperationUnit,
            @Semantics.quantity.unitOfMeasure: 'BillOfOperationsBreakDurnUnit'
            BOOOpBasic.BillOfOperationsBreakDuration,
            BOOOpBasic.BillOfOperationsBreakDurnUnit,
            BOOOpBasic.BusinessProcess,
            BOOOpBasic.LeadTimeReductionStrategy,
            BOOOpBasic.TeardownAndWaitIsParallel,
            @Semantics.quantity.unitOfMeasure: 'MinimumWaitDurationUnit'
            BOOOpBasic.MinimumWaitDuration,
            BOOOpBasic.MinimumWaitDurationUnit,
            @Semantics.quantity.unitOfMeasure: 'MaximumWaitDurationUnit'
            BOOOpBasic.MaximumWaitDuration,
            BOOOpBasic.MaximumWaitDurationUnit,
            @Semantics.quantity.unitOfMeasure: 'MinimumQueueDurationUnit'
            BOOOpBasic.MinimumQueueDuration,
            BOOOpBasic.MinimumQueueDurationUnit,
            @Semantics.quantity.unitOfMeasure: 'StandardQueueDurationUnit'
            BOOOpBasic.StandardQueueDuration,
            BOOOpBasic.StandardQueueDurationUnit,
            @Semantics.quantity.unitOfMeasure: 'MinimumMoveDurationUnit'
            BOOOpBasic.MinimumMoveDuration,
            BOOOpBasic.MinimumMoveDurationUnit,
            @Semantics.quantity.unitOfMeasure: 'StandardMoveDurationUnit'
            BOOOpBasic.StandardMoveDuration,
            BOOOpBasic.StandardMoveDurationUnit,
            ProdnModOpWorkCenter.WorkCenterStdQueueDurnUnit,
            @Semantics.quantity.unitOfMeasure: 'WorkCenterStdQueueDurnUnit'
            ProdnModOpWorkCenter.WorkCenterStandardQueueDurn,
            ProdnModOpWorkCenter.WorkCenterMinimumQueueDurnUnit,
            @Semantics.quantity.unitOfMeasure: 'WorkCenterMinimumQueueDurnUnit'
            ProdnModOpWorkCenter.WorkCenterMinimumQueueDuration,
            BOOOpBasic.OperationSplitIsRequired,
            BOOOpBasic.MaximumNumberOfSplits,
            @Semantics.quantity.unitOfMeasure: 'MinProcessingDurnPerSplitUnit'
            BOOOpBasic.MinProcessingDurationPerSplit,
            BOOOpBasic.MinProcessingDurnPerSplitUnit,
            cast ( case when BOOOpBasic.OperationOverlappingIsRequired = 'X'
                    then '1'
                    when BOOOpBasic.OperationOverlappingIsPossible = 'X'
                    then '2'
                    when BOOOpBasic.OperationsIsAlwaysOverlapping = 'X'
                    then '3'
                    else '' end as mpe_rtg_op_overlapping )     as BOOOperationOverlapping,
            BOOOpBasic.OperationOverlappingIsRequired,
            BOOOpBasic.OperationOverlappingIsPossible,
            BOOOpBasic.OperationsIsAlwaysOverlapping,
            @Semantics.quantity.unitOfMeasure: 'OverlapMinimumDurationUnit'
            BOOOpBasic.OverlapMinimumDuration,
            BOOOpBasic.OverlapMinimumDurationUnit,
            @Semantics.quantity.unitOfMeasure: 'OverlapMinimumTransferQtyUnit'
            BOOOpBasic.OverlapMinimumTransferQty,
            BOOOpBasic.OverlapMinimumTransferQtyUnit,
            BOOOpBasic.OperationScrapPercent,
            ProdnModOpWorkCenter.NmbrOfTimeTicketsIsReferenced,
            ProdnModOpWorkCenter.NumberOfConfSlipsIsReferenced,
            ProdnModOpWorkCenter.EmployeeWageGroupIsReferenced,
            ProdnModOpWorkCenter.EmployeeWageTypeIsReferenced,
            ProdnModOpWorkCenter.WorkCenterSetpTypeIsReferenced,
            cast ( case ProdnModOpWorkCenter.NmbrOfTimeTicketsIsReferenced
            when 'X' then ProdnModOpWorkCenter.NumberOfTimeTickets
            else BOOOpBasic.NumberOfTimeTickets
            end as lohnanz preserving type )                    as NumberOfTimeTickets,
            cast( case ProdnModOpWorkCenter.NumberOfConfSlipsIsReferenced
            when 'X' then ProdnModOpWorkCenter.NumberOfConfirmationSlips
            else BOOOpBasic.NumberOfConfirmationSlips
            end as cr_rs_anz preserving type )                  as NumberOfConfirmationSlips,
            cast ( case ProdnModOpWorkCenter.EmployeeWageGroupIsReferenced
            when 'X' then ProdnModOpWorkCenter.EmployeeWageGroup
            else BOOOpBasic.EmployeeWageGroup
            end as lohngrp preserving type )                    as EmployeeWageGroup,
            cast ( case ProdnModOpWorkCenter.EmployeeWageTypeIsReferenced
            when 'X' then ProdnModOpWorkCenter.EmployeeWageType
            else BOOOpBasic.EmployeeWageType
            end as lohnart preserving type )                    as EmployeeWageType,
            BOOOpBasic.NumberOfEmployees,
            cast( case ProdnModOpWorkCenter.WorkCenterSetpTypeIsReferenced
            when 'X' then ProdnModOpWorkCenter.WorkCenterSetupType
            else BOOOpBasic.OperationSetupType
            end as ruearschlu preserving type )                 as OperationSetupType,
            BOOOpBasic.OperationSetupGroupCategory,
            BOOOpBasic.OperationSetupGroup,
            BOOOpBasic.OperationCostingRelevancyType,
            ProdnModOpWorkCenter.StandardWorkFormulaParamName1,
            ProdnModOpWorkCenter.StandardWorkFormulaParamName2,
            ProdnModOpWorkCenter.StandardWorkFormulaParamName3,
            ProdnModOpWorkCenter.StandardWorkFormulaParamName4,
            ProdnModOpWorkCenter.StandardWorkFormulaParamName5,
            ProdnModOpWorkCenter.StandardWorkFormulaParamName6,
            @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit1'
            BOOOpBasic.StandardWorkQuantity1,
            @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit2'
            BOOOpBasic.StandardWorkQuantity2,
            @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit3'
            BOOOpBasic.StandardWorkQuantity3,
            @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit4'
            BOOOpBasic.StandardWorkQuantity4,
            @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit5'
            BOOOpBasic.StandardWorkQuantity5,
            @Semantics.quantity.unitOfMeasure: 'StandardWorkQuantityUnit6'
            BOOOpBasic.StandardWorkQuantity6,
            BOOOpBasic.StandardWorkQuantityUnit1,
            BOOOpBasic.StandardWorkQuantityUnit2,
            BOOOpBasic.StandardWorkQuantityUnit3,
            BOOOpBasic.StandardWorkQuantityUnit4,
            BOOOpBasic.StandardWorkQuantityUnit5,
            BOOOpBasic.StandardWorkQuantityUnit6,
            ProdnModOpWorkCenter.CostCtrActyType1IsReferenced,
            ProdnModOpWorkCenter.CostCtrActyType2IsReferenced,
            ProdnModOpWorkCenter.CostCtrActyType3IsReferenced,
            ProdnModOpWorkCenter.CostCtrActyType4IsReferenced,
            ProdnModOpWorkCenter.CostCtrActyType5IsReferenced,
            ProdnModOpWorkCenter.CostCtrActyType6IsReferenced,
            cast( case ProdnModOpWorkCenter.CostCtrActyType1IsReferenced
            when 'X' then ProdnModOpWorkCenter.CostCtrActivityType1
            else BOOOpBasic.CostCtrActivityType1
            end as lstar preserving type )                      as CostCtrActivityType1,
            cast( case ProdnModOpWorkCenter.CostCtrActyType2IsReferenced
            when 'X' then ProdnModOpWorkCenter.CostCtrActivityType2
            else BOOOpBasic.CostCtrActivityType2
            end as lstar preserving type )                      as CostCtrActivityType2,
            cast( case ProdnModOpWorkCenter.CostCtrActyType3IsReferenced
            when 'X' then ProdnModOpWorkCenter.CostCtrActivityType3
            else BOOOpBasic.CostCtrActivityType3
            end as lstar preserving type )                      as CostCtrActivityType3,
            cast( case ProdnModOpWorkCenter.CostCtrActyType4IsReferenced
            when 'X' then ProdnModOpWorkCenter.CostCtrActivityType4
            else BOOOpBasic.CostCtrActivityType4
            end as lstar preserving type )                      as CostCtrActivityType4,
            cast( case ProdnModOpWorkCenter.CostCtrActyType5IsReferenced
            when 'X' then ProdnModOpWorkCenter.CostCtrActivityType5
            else BOOOpBasic.CostCtrActivityType5
            end as lstar preserving type )                      as CostCtrActivityType5,
            cast( case ProdnModOpWorkCenter.CostCtrActyType6IsReferenced
            when 'X' then ProdnModOpWorkCenter.CostCtrActivityType6
            else BOOOpBasic.CostCtrActivityType6
            end as lstar preserving type )                      as CostCtrActivityType6,
            BOOOpBasic.PurchasingInfoRecord,
            BOOOpBasic.PurchaseContract,
            BOOOpBasic.PurchasingInfoRecdAddlGrpgName,
            BOOOpBasic.MaterialGroup,
            BOOOpBasic.PurchasingGroup,
            BOOOpBasic.Supplier,
            BOOOpBasic.PlannedDeliveryDuration,
            BOOOpBasic.NumberOfOperationPriceUnits,
            @Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
            BOOOpBasic.OpExternalProcessingPrice,
            BOOOpBasic.InspectionLotType,
            BOOOpBasic.PurchasingOrganization,
            BOOOpBasic.PurchaseContractItem,
            BOOOpBasic.CostElement,
            BOOOpBasic.OpExternalProcessingCurrency,
            BOOOpChgStOANBasic.GoodsRecipientName,
            BOOOpChgStOANBasic.UnloadingPointName,
            BOORoutingTemplate.ShopFloorRoutingTemplateType,
            BOOOpChgStOANBasic.ShopFloorRtgTemplateGroup,
            BOOOpChgStOANBasic.ShopFloorRtgTemplateGrpVariant,
            BOOOpChgStOANBasic.ShopFloorRtgTemplateVersion,
            @Semantics.user.createdBy: true
            BOOOpBasic.CreatedByUser,
            @Semantics.systemDate.createdAt: true
            BOOOpBasic.CreationDate,
            @Semantics.user.lastChangedBy: true
            BOOOpBasic.LastChangedByUser,
            @Semantics.systemDate.lastChangedAt: true
            BOOOpBasic.LastChangeDate,

            _WorkCenterText,
            _ControlProfileText,
            _Plant,
            _LeadTimeReductionStrategyText,
            _EmployeeWageGroupText,
            _OperationSetupTypeText,
            _OperationSetupGroupCatText,
            _OperationSetupGroupText,
            _CostRelevancyText,
            _CreatedByUser,
            _ChangedByUser,
            _ProductionModel,
            _OperationActivity,
            _OperationComponent,
            _OperationControlProfile,
            _ProdnModelBOOOpOvrlpngText,
            _PurchasingOrganization,
            _MaterialGroupText,
            _PurchasingGroup,
            _Supplier,
            _OpExtProcessingCurrencyText,
            _InspectionLotTypeText,
            _PurchasingGroupText

}
where
  ProductionModel.ProdnModComplexAssemblyType <> 'MA';