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 (I_BillOfOperationsOpBasic, I_BillOfOperationsOperation, I_ProductionModel) and exposes 132 fields with key fields ProductionModelUUID, BOOOperationInternalID. It has 23 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_BillOfOperationsOpBasic BOOOpBasic inner
I_BillOfOperationsOperation Operation from
I_ProductionModel 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
[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.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 (132)

KeyFieldSource TableSource FieldDescription
KEY ProductionModelUUID I_ProductionModel ProductionModelUUID
KEY BOOOperationInternalID I_BillOfOperationsOperation BOOOperationInternalID
BillOfMaterial
BillOfMaterialVariant I_ProductionModel BillOfMaterialVariant
BillOfMaterialCategory I_ProductionModel BillOfMaterialCategory
BillOfMaterialVariantUsage I_ProductionModel BillOfMaterialVariantUsage
Plant I_ProductionModel Plant
BillOfOperationsGroup I_ProductionModel BillOfOperationsGroup
BillOfOperationsType I_ProductionModel BillOfOperationsType
BillOfOperationsVariant I_ProductionModel BillOfOperationsVariant
BillOfOperationsVersion I_ProductionModel BillOfOperationsVersion
BOOOpInternalVersionCounter I_BillOfOperationsOpBasic BOOOpInternalVersionCounter
OperationExternalID I_BillOfOperationsOpBasic OperationExternalID
Operation I_BillOfOperationsOpBasic Operation_2
OperationText I_BillOfOperationsOpBasic OperationText
LongTextLanguageCode I_BillOfOperationsOpBasic LongTextLanguageCode
WorkCenterTypeCode I_BillOfOperationsOpBasic WorkCenterTypeCode
WorkCenterInternalID I_BillOfOperationsOpBasic WorkCenterInternalID
WorkCenter ProdnModOpWorkCenter WorkCenter
BOOOperationPlant
OperationControlProfile I_BillOfOperationsOpBasic OperationControlProfile
OperationReferenceQuantity I_BillOfOperationsOpBasic OperationReferenceQuantity
OperationUnit I_BillOfOperationsOpBasic OperationUnit
BillOfOperationsBreakDuration I_BillOfOperationsOpBasic BillOfOperationsBreakDuration
BillOfOperationsBreakDurnUnit I_BillOfOperationsOpBasic BillOfOperationsBreakDurnUnit
BusinessProcess I_BillOfOperationsOpBasic BusinessProcess
LeadTimeReductionStrategy I_BillOfOperationsOpBasic LeadTimeReductionStrategy
TeardownAndWaitIsParallel I_BillOfOperationsOpBasic TeardownAndWaitIsParallel
MinimumWaitDuration I_BillOfOperationsOpBasic MinimumWaitDuration
MinimumWaitDurationUnit I_BillOfOperationsOpBasic MinimumWaitDurationUnit
MaximumWaitDuration I_BillOfOperationsOpBasic MaximumWaitDuration
MaximumWaitDurationUnit I_BillOfOperationsOpBasic MaximumWaitDurationUnit
MinimumQueueDuration I_BillOfOperationsOpBasic MinimumQueueDuration
MinimumQueueDurationUnit I_BillOfOperationsOpBasic MinimumQueueDurationUnit
StandardQueueDuration I_BillOfOperationsOpBasic StandardQueueDuration
StandardQueueDurationUnit I_BillOfOperationsOpBasic StandardQueueDurationUnit
MinimumMoveDuration I_BillOfOperationsOpBasic MinimumMoveDuration
MinimumMoveDurationUnit I_BillOfOperationsOpBasic MinimumMoveDurationUnit
StandardMoveDuration I_BillOfOperationsOpBasic StandardMoveDuration
StandardMoveDurationUnit I_BillOfOperationsOpBasic StandardMoveDurationUnit
WorkCenterStdQueueDurnUnit ProdnModOpWorkCenter WorkCenterStdQueueDurnUnit
WorkCenterStandardQueueDurn ProdnModOpWorkCenter WorkCenterStandardQueueDurn
WorkCenterMinimumQueueDurnUnit ProdnModOpWorkCenter WorkCenterMinimumQueueDurnUnit
WorkCenterMinimumQueueDuration ProdnModOpWorkCenter WorkCenterMinimumQueueDuration
OperationSplitIsRequired I_BillOfOperationsOpBasic OperationSplitIsRequired
MaximumNumberOfSplits I_BillOfOperationsOpBasic MaximumNumberOfSplits
MinProcessingDurationPerSplit I_BillOfOperationsOpBasic MinProcessingDurationPerSplit
MinProcessingDurnPerSplitUnit I_BillOfOperationsOpBasic MinProcessingDurnPerSplitUnit
OperationOverlappingIsRequired I_BillOfOperationsOpBasic OperationOverlappingIsRequired
OperationOverlappingIsPossible I_BillOfOperationsOpBasic OperationOverlappingIsPossible
OperationsIsAlwaysOverlapping I_BillOfOperationsOpBasic OperationsIsAlwaysOverlapping
OverlapMinimumDuration I_BillOfOperationsOpBasic OverlapMinimumDuration
OverlapMinimumDurationUnit I_BillOfOperationsOpBasic OverlapMinimumDurationUnit
OverlapMinimumTransferQty I_BillOfOperationsOpBasic OverlapMinimumTransferQty
OverlapMinimumTransferQtyUnit I_BillOfOperationsOpBasic OverlapMinimumTransferQtyUnit
OperationScrapPercent I_BillOfOperationsOpBasic OperationScrapPercent
NmbrOfTimeTicketsIsReferenced ProdnModOpWorkCenter NmbrOfTimeTicketsIsReferenced
NumberOfConfSlipsIsReferenced ProdnModOpWorkCenter NumberOfConfSlipsIsReferenced
EmployeeWageGroupIsReferenced ProdnModOpWorkCenter EmployeeWageGroupIsReferenced
EmployeeWageTypeIsReferenced ProdnModOpWorkCenter EmployeeWageTypeIsReferenced
WorkCenterSetpTypeIsReferenced ProdnModOpWorkCenter WorkCenterSetpTypeIsReferenced
NumberOfEmployees I_BillOfOperationsOpBasic NumberOfEmployees
OperationSetupGroupCategory I_BillOfOperationsOpBasic OperationSetupGroupCategory
OperationSetupGroup I_BillOfOperationsOpBasic OperationSetupGroup
OperationCostingRelevancyType I_BillOfOperationsOpBasic OperationCostingRelevancyType
StandardWorkFormulaParamName1 ProdnModOpWorkCenter StandardWorkFormulaParamName1
StandardWorkFormulaParamName2 ProdnModOpWorkCenter StandardWorkFormulaParamName2
StandardWorkFormulaParamName3 ProdnModOpWorkCenter StandardWorkFormulaParamName3
StandardWorkFormulaParamName4 ProdnModOpWorkCenter StandardWorkFormulaParamName4
StandardWorkFormulaParamName5 ProdnModOpWorkCenter StandardWorkFormulaParamName5
StandardWorkFormulaParamName6 ProdnModOpWorkCenter StandardWorkFormulaParamName6
StandardWorkQuantity1 I_BillOfOperationsOpBasic StandardWorkQuantity1
StandardWorkQuantity2 I_BillOfOperationsOpBasic StandardWorkQuantity2
StandardWorkQuantity3 I_BillOfOperationsOpBasic StandardWorkQuantity3
StandardWorkQuantity4 I_BillOfOperationsOpBasic StandardWorkQuantity4
StandardWorkQuantity5 I_BillOfOperationsOpBasic StandardWorkQuantity5
StandardWorkQuantity6 I_BillOfOperationsOpBasic StandardWorkQuantity6
StandardWorkQuantityUnit1 I_BillOfOperationsOpBasic StandardWorkQuantityUnit1
StandardWorkQuantityUnit2 I_BillOfOperationsOpBasic StandardWorkQuantityUnit2
StandardWorkQuantityUnit3 I_BillOfOperationsOpBasic StandardWorkQuantityUnit3
StandardWorkQuantityUnit4 I_BillOfOperationsOpBasic StandardWorkQuantityUnit4
StandardWorkQuantityUnit5 I_BillOfOperationsOpBasic StandardWorkQuantityUnit5
StandardWorkQuantityUnit6 I_BillOfOperationsOpBasic StandardWorkQuantityUnit6
CostCtrActyType1IsReferenced ProdnModOpWorkCenter CostCtrActyType1IsReferenced
CostCtrActyType2IsReferenced ProdnModOpWorkCenter CostCtrActyType2IsReferenced
CostCtrActyType3IsReferenced ProdnModOpWorkCenter CostCtrActyType3IsReferenced
CostCtrActyType4IsReferenced ProdnModOpWorkCenter CostCtrActyType4IsReferenced
CostCtrActyType5IsReferenced ProdnModOpWorkCenter CostCtrActyType5IsReferenced
CostCtrActyType6IsReferenced ProdnModOpWorkCenter CostCtrActyType6IsReferenced
PurchasingInfoRecord I_BillOfOperationsOpBasic PurchasingInfoRecord
PurchaseContract I_BillOfOperationsOpBasic PurchaseContract
PurchasingInfoRecdAddlGrpgName I_BillOfOperationsOpBasic PurchasingInfoRecdAddlGrpgName
MaterialGroup I_BillOfOperationsOpBasic MaterialGroup
PurchasingGroup I_BillOfOperationsOpBasic PurchasingGroup
Supplier I_BillOfOperationsOpBasic Supplier
PlannedDeliveryDuration I_BillOfOperationsOpBasic PlannedDeliveryDuration
NumberOfOperationPriceUnits I_BillOfOperationsOpBasic NumberOfOperationPriceUnits
OpExternalProcessingPrice I_BillOfOperationsOpBasic OpExternalProcessingPrice
InspectionLotType I_BillOfOperationsOpBasic InspectionLotType
PurchasingOrganization I_BillOfOperationsOpBasic PurchasingOrganization
PurchaseContractItem I_BillOfOperationsOpBasic PurchaseContractItem
CostElement I_BillOfOperationsOpBasic CostElement
OpExternalProcessingCurrency I_BillOfOperationsOpBasic OpExternalProcessingCurrency
GoodsRecipientName BOOOpChgStOANBasic GoodsRecipientName
UnloadingPointName BOOOpChgStOANBasic UnloadingPointName
CreatedByUser I_BillOfOperationsOpBasic CreatedByUser
CreationDate I_BillOfOperationsOpBasic CreationDate
LastChangedByUser I_BillOfOperationsOpBasic LastChangedByUser
LastChangeDate I_BillOfOperationsOpBasic 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           I_BillOfOperationsOperation   as Operation
    inner join             I_ProductionModel             as ProductionModel      on  ProductionModel.BillOfOperationsType    = Operation.BillOfOperationsType
                                                                                 and ProductionModel.BillOfOperationsGroup   = Operation.BillOfOperationsGroup
                                                                                 and ProductionModel.BillOfOperationsVariant = Operation.BillOfOperationsVariant
    inner join             I_BillOfOperationsOpBasic     as BOOOpBasic           on  BOOOpBasic.BillOfOperationsType    = Operation.BillOfOperationsType
                                                                                 and BOOOpBasic.BillOfOperationsGroup   = Operation.BillOfOperationsGroup
                                                                                 and BOOOpBasic.BOOOperationInternalID  = Operation.BOOOperationInternalID
                                                                                 and BOOOpBasic.BillOfOperationsVersion = ProductionModel.BillOfOperationsVersion
    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

  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
  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.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 Operation.BOOOperationInternalID,
      cast( ProductionModel.BillOfMaterial as cs_stlnr )  as BillOfMaterial,
      ProductionModel.BillOfMaterialVariant,
      ProductionModel.BillOfMaterialCategory,
      ProductionModel.BillOfMaterialVariantUsage,
      ProductionModel.Plant,
      ProductionModel.BillOfOperationsGroup,
      ProductionModel.BillOfOperationsType,
      ProductionModel.BillOfOperationsVariant,
      ProductionModel.BillOfOperationsVersion,
      BOOOpBasic.BOOOpInternalVersionCounter,
      BOOOpBasic.OperationExternalID,
      BOOOpBasic.Operation_2                              as Operation,
      BOOOpBasic.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,
      @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'
  and Operation.BillOfOperationsType              =  'V';
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BILLOFOPERATIONSOPBASIC",
"I_BILLOFOPERATIONSOPERATION",
"I_BOOOPERATIONCHGSTOANBASIC",
"I_PRODUCTIONMODEL",
"P_PRODNMODOPERATIONWORKCENTER"
],
"ASSOCIATED":
[
"I_BOOOPERATIONOVRLPNGTEXT",
"I_CURRENCYTEXT",
"I_EMPLOYEEWAGEGROUPTEXT",
"I_INSPECTIONLOTTYPETEXT",
"I_LEADTIMEREDUCNSTRATEGYTEXT",
"I_MAINTORDOPCOMPCOSTRELEVANCYT",
"I_MATERIALGROUPTEXT",
"I_OPERATIONCONTROLPROFILE",
"I_OPERATIONCONTROLPROFILETEXT",
"I_OPERATIONSETUPGROUPCATTEXT",
"I_OPERATIONSETUPGROUPTEXT",
"I_OPERATIONSETUPTYPETEXT",
"I_PLANT",
"I_PRODNMODOPERATIONACTIVITY",
"I_PRODNMODOPERATIONCOMPONENT",
"I_PRODUCTIONMODEL",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_SUPPLIER",
"I_USER",
"I_WORKCENTERTEXTBYSEMANTICKEY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/