I_ProdnModOpActyComponent

DDL: I_PRODNMODOPACTYCOMPONENT Type: view_entity COMPOSITE

Production Model Activity Component

I_ProdnModOpActyComponent is a Composite CDS View that provides data about "Production Model Activity Component" in SAP S/4HANA. It reads from 8 data sources and exposes 130 fields with key fields ProductionModelUUID, BOOOperationInternalID, OperationActivity, OperationActyVersionCounter, BOOOpBOMItemInternalID. It has 20 associations to related views.

Data Sources (8)

SourceAliasJoin Type
I_BillOfMaterialComponent BOMItem inner
I_BillOfOperationsOpBasic BOOOpBasic inner
I_BOOOperationChgStOANBasic BOOOperationDetails inner
I_OpActyNtwkElement OpactivityNetworkElement inner
I_BillOfOperationsOperation Operation inner
I_OpActyBOOOpBOMItmAssgmt OperationActivityComponent from
I_RoutingCompAllocSrchMod OperationComponent inner
I_ProductionModel ProductionModel inner

Associations (20)

CardinalityTargetAliasCondition
[0..1] I_MaterialText _MaterialText _MaterialText.Material = BOMItem.BillOfMaterialComponent and _MaterialText.Language = $session.system_language
[0..1] I_BomItemCategoryText _BOMItemCategoryText $projection.BillOfMaterialItemCategory = _BOMItemCategoryText.BillOfMaterialItemCategory and _BOMItemCategoryText.Language = $session.system_language
[0..1] I_MRPQuantityDistrKeyText _DistrKeyText $projection.Plant = _DistrKeyText.Plant and $projection.DistrKeyCompConsumption = _DistrKeyText.QuantityDistributionKey and _DistrKeyText.Language = $session.system_language
[0..1] I_ExplosionTypeVH _ExplosionTypeText $projection.ExplosionType = _ExplosionTypeText.ExplosionType
[0..1] I_SpecialProcurementType _SpecialProcTypeText $projection.Plant = _SpecialProcTypeText.Plant and $projection.SpecialProcurementType = _SpecialProcTypeText.SpecialProcurementType
[0..1] I_AltItemStrategyVH _AltItemStrategyText $projection.AlternativeItemStrategy = _AltItemStrategyText.AlternativeItemStrategy and _AltItemStrategyText.Language = $session.system_language
[0..1] I_ReferencePointVH _ReferencePointText $projection.ReferencePoint = _ReferencePointText.ReferencePoint
[0..1] I_BOMItemCostingRelevant _CostingRelevantText $projection.MaterialCompCostingRelevancy = _CostingRelevantText.BOMItemIsCostingRelevant
[0..1] I_MatProvisionIndicatorVH _MatProvisionIndText $projection.MaterialProvisionType = _MatProvisionIndText.IsMaterialProvision
[0..1] I_StorageLocation _IssueLocationText $projection.Plant = _IssueLocationText.Plant and $projection.ProdOrderIssueLocation = _IssueLocationText.StorageLocation
[0..1] I_ProductionSupplyAreaText _ProdSupplyAreaText $projection.Plant = _ProdSupplyAreaText.Plant and $projection.ProductionSupplyArea = _ProdSupplyAreaText.ProductionSupplyArea and _ProdSupplyAreaText.Language = $session.system_language
[0..1] I_BOMItemSparePart _SparePartText $projection.MatlComponentSparePartType = _SparePartText.BOMItemIsSparePart
[0..1] I_BOMItemSalesRelevant _SalesRelevantText $projection.BOMItemSalesRelevancy = _SalesRelevantText.BOMItemIsSalesRelevant
[0..1] I_PurchasingOrganization _PurchasingOrgText $projection.PurchasingOrganization = _PurchasingOrgText.PurchasingOrganization
[0..1] I_PurchasingGroup _PurchasingGroupText $projection.PurchasingGroup = _PurchasingGroupText.PurchasingGroup
[0..1] I_MaterialGroupText _MaterialGroupText $projection.MaterialGroup = _MaterialGroupText.MaterialGroup and _MaterialGroupText.Language = $session.system_language
[0..1] I_Supplier _SupplierText $projection.Creditor = _SupplierText.Supplier
[0..1] I_CostElementText _CostElementText $projection.CostElement = _CostElementText.CostElement and _CostElementText.Language = $session.system_language
[0..1] I_ProductSupplyPlanning _MaterialPlant $projection.BillOfMaterialComponent = _MaterialPlant.Product and $projection.Plant = _MaterialPlant.Plant
[0..*] I_ProdnModOpActyCompInstance _OpActivityComponentInstance $projection.ProductionModelUUID = _OpActivityComponentInstance.ProductionModelUUID and $projection.BOOOperationInternalID = _OpActivityComponentInstance.BOOOperationInternalID and $projection.OperationActivity = _OpActivityComponentInstance.OperationActivity and $projection.OperationActyVersionCounter = _OpActivityComponentInstance.OperationActyVersionCounter and $projection.BOOOpBOMItemInternalID = _OpActivityComponentInstance.BOOOpBOMItemInternalID

Annotations (7)

NameValueLevelField
EndUserText.label Production Model Activity Component 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 (130)

KeyFieldSource TableSource FieldDescription
KEY ProductionModelUUID I_ProductionModel ProductionModelUUID
KEY BOOOperationInternalID I_BillOfOperationsOperation BOOOperationInternalID
KEY OperationActivity I_OpActyBOOOpBOMItmAssgmt OperationActivity
KEY OperationActyVersionCounter I_OpActyBOOOpBOMItmAssgmt OperationActyVersionCounter
KEY BOOOpBOMItemInternalID I_OpActyBOOOpBOMItmAssgmt BOOOpBOMItemInternalID
BillOfMaterial I_ProductionModel 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
Material I_ProductionModel Material
BillOfMaterialVersion I_ProductionModel BillOfMaterialVersion
Operation I_BillOfOperationsOpBasic Operation_2
OpActyNtwkElementExternalID I_OpActyNtwkElement OpActyNtwkElementExternalID
ProductionModelComponentUUID I_BillOfMaterialComponent BillOfMaterialItemUUID
BillOfMaterialItemNodeNumber I_BillOfMaterialComponent BillOfMaterialItemNodeNumber
ValidityStartDate I_BillOfMaterialComponent ValidityStartDate
ValidityEndDate I_BillOfMaterialComponent ValidityEndDate
EngineeringChangeDocument I_BillOfMaterialComponent EngineeringChangeDocument
ChgToEngineeringChgDocument I_BillOfMaterialComponent ChgToEngineeringChgDocument
InheritedNodeNumberForBOMItem I_BillOfMaterialComponent InheritedNodeNumberForBOMItem
InheritedNodeNumberVersionBOM I_BillOfMaterialComponent InheritedNodeNumberVersionBOM
BOMItemInternalChangeCount I_BillOfMaterialComponent BOMItemInternalChangeCount
BillOfMaterialComponent I_BillOfMaterialComponent BillOfMaterialComponent
ComponentDescription I_BillOfMaterialComponent ComponentDescription
BillOfMaterialItemCategory I_BillOfMaterialComponent BillOfMaterialItemCategory
BillOfMaterialItemNumber
BillOfMaterialItemUnit I_OpActyBOOOpBOMItmAssgmt BillOfMaterialItemUnit
ProdnModBOMCompAssgdQuantity I_OpActyBOOOpBOMItmAssgmt BillOfMaterialItemQuantity
BillOfMaterialItemQuantity I_BillOfMaterialComponent BillOfMaterialItemQuantity
IsAssembly I_BillOfMaterialComponent IsAssembly
IsSubItem I_BillOfMaterialComponent IsSubItem
IsDeleted I_BillOfMaterialComponent IsDeleted
IdentifierBOMItem I_BillOfMaterialComponent IdentifierBOMItem
BOMItemSorter I_BillOfMaterialComponent BOMItemSorter
BOMItemHasFixedQuantity I_BillOfMaterialComponent BOMItemHasFixedQuantity
ComponentScrapInPercent I_BillOfMaterialComponent ComponentScrapInPercent
OperationScrapInPercent I_BillOfMaterialComponent OperationScrapInPercent
IsNetScrap I_BillOfMaterialComponent IsNetScrap
IsBulkMaterial I_BillOfMaterialComponent IsBulkMaterial
IsBulkMaterialComponent _MaterialPlant IsBulkMaterialComponent
MaterialProvisionType I_BillOfMaterialComponent IsMaterialProvision
MatlComponentSparePartType I_BillOfMaterialComponent BOMItemIsSparePart
BOMItemSalesRelevancy I_BillOfMaterialComponent BOMItemIsSalesRelevant
IsEngineeringRelevant I_BillOfMaterialComponent IsEngineeringRelevant
BOMItemIsPlantMaintRelevant I_BillOfMaterialComponent BOMItemIsPlantMaintRelevant
IsProductionRelevant I_BillOfMaterialComponent IsProductionRelevant
MaterialCompCostingRelevancy I_BillOfMaterialComponent BOMItemIsCostingRelevant
BOMIsRecursive I_BillOfMaterialComponent BOMIsRecursive
IsBOMRecursiveAllowed I_BillOfMaterialComponent IsBOMRecursiveAllowed
FollowUpGroup I_BillOfMaterialComponent FollowUpGroup
AlternativeItemGroup I_BillOfMaterialComponent AlternativeItemGroup
MaterialIsCoProduct I_BillOfMaterialComponent MaterialIsCoProduct
AlternativeItemPriority I_BillOfMaterialComponent AlternativeItemPriority
AlternativeItemStrategy I_BillOfMaterialComponent AlternativeItemStrategy
IsALE I_BillOfMaterialComponent IsALE
UsageProbabilityPercent I_BillOfMaterialComponent UsageProbabilityPercent
IsPMAssemblyRelevant I_BillOfMaterialComponent IsPMAssemblyRelevant
DocumentIsCreatedByCAD I_BillOfMaterialComponent DocumentIsCreatedByCAD
DependencyObjectNumber I_BillOfMaterialComponent DependencyObjectNumber
DiscontinuationGroup I_BillOfMaterialComponent DiscontinuationGroup
LeadTimeOffset I_BillOfMaterialComponent LeadTimeOffset
OperationLeadTimeOffset I_BillOfMaterialComponent OperationLeadTimeOffset
OpsLeadTimeOffsetUnit I_BillOfMaterialComponent OpsLeadTimeOffsetUnit
DistrKeyCompConsumption I_BillOfMaterialComponent DistrKeyCompConsumption
IsPhantomItem I_BillOfMaterialComponent IsPhantomItem
PurchasingGroup I_BillOfMaterialComponent PurchasingGroup
DeliveryDurationInDays I_BillOfMaterialComponent DeliveryDurationInDays
Creditor I_BillOfMaterialComponent Creditor
MaterialComponentPrice I_BillOfMaterialComponent MaterialComponentPrice
Currency I_BillOfMaterialComponent Currency
CostElement I_BillOfMaterialComponent CostElement
MaterialGroup I_BillOfMaterialComponent MaterialGroup
GoodsReceiptDuration I_BillOfMaterialComponent GoodsReceiptDuration
PurchasingOrganization I_BillOfMaterialComponent PurchasingOrganization
PreliminaryMaterial I_BillOfMaterialComponent PreliminaryMaterial
Size1 I_BillOfMaterialComponent Size1
Size2 I_BillOfMaterialComponent Size2
Size3 I_BillOfMaterialComponent Size3
UnitOfMeasureForSize1To3 I_BillOfMaterialComponent UnitOfMeasureForSize1To3
QuantityVariableSizeItem I_BillOfMaterialComponent QuantityVariableSizeItem
VariableSizeItemQuantity
VariableSizeItemUnit I_BillOfMaterialComponent UnitOfMeasureForVarSizeItem
FormulaKey I_BillOfMaterialComponent FormulaKey
VariableSizeCompUnitOfMeasure I_BillOfMaterialComponent VariableSizeCompUnitOfMeasure
BOMItemDescription I_BillOfMaterialComponent BOMItemDescription
BOMItemText2 I_BillOfMaterialComponent BOMItemText2
DocumentType I_BillOfMaterialComponent DocumentType
DocNumber I_BillOfMaterialComponent DocNumber
DocumentVersion I_BillOfMaterialComponent DocumentVersion
DocumentPart I_BillOfMaterialComponent DocumentPart
ProdOrderIssueLocation I_BillOfMaterialComponent ProdOrderIssueLocation
ProductionSupplyArea I_BillOfMaterialComponent ProductionSupplyArea
ExplosionType I_BillOfMaterialComponent ExplosionType
SpecialProcurementType I_BillOfMaterialComponent SpecialProcurementType
ReferencePoint I_BillOfMaterialComponent ReferencePoint
AssemblySequenceNumber I_OpActyBOOOpBOMItmAssgmt AssemblySequenceNumber
BOMItemRecordCreationDate I_BillOfMaterialComponent BOMItemRecordCreationDate
BOMItemCreatedByUser I_BillOfMaterialComponent BOMItemCreatedByUser
BOMItemLastChangeDate I_BillOfMaterialComponent BOMItemLastChangeDate
BOMItemLastChangedByUser I_BillOfMaterialComponent BOMItemLastChangedByUser
CreatedByUser I_OpActyBOOOpBOMItmAssgmt CreatedByUser
CreationDateTime I_OpActyBOOOpBOMItmAssgmt CreationDateTime
ChangedBy I_OpActyBOOOpBOMItmAssgmt ChangedBy
LastChangeDateTime I_OpActyBOOOpBOMItmAssgmt LastChangeDateTime
_BOMItemCategoryText _BOMItemCategoryText
_DistrKeyText _DistrKeyText
_ExplosionTypeText _ExplosionTypeText
_SpecialProcTypeText _SpecialProcTypeText
_AltItemStrategyText _AltItemStrategyText
_ReferencePointText _ReferencePointText
_CostingRelevantText _CostingRelevantText
_MatProvisionIndText _MatProvisionIndText
_IssueLocationText _IssueLocationText
_ProdSupplyAreaText _ProdSupplyAreaText
_SparePartText _SparePartText
_SalesRelevantText _SalesRelevantText
_PurchasingOrgText _PurchasingOrgText
_PurchasingGroupText _PurchasingGroupText
_MaterialGroupText _MaterialGroupText
_SupplierText _SupplierText
_CostElementText _CostElementText
_MaterialText _MaterialText
_ProdnModOperationActivity _ProdnModOperationActivity
_ProductionModel _ProductionModel
_OpActivityComponentInstance _OpActivityComponentInstance
@EndUserText.label: 'Production Model Activity Component'
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #L,
  dataClass: #TRANSACTIONAL
}
define view entity I_ProdnModOpActyComponent
  as select from I_OpActyBOOOpBOMItmAssgmt   as OperationActivityComponent

  //    inner join   I_ProdnModOperationActivity  as ProdnModOperationActivity  on  ProdnModOperationActivity.BillOfOperationsType        = OperationActivityComponent.BillOfOperationsType

  //                                                                            and ProdnModOperationActivity.BillOfOperationsGroup       = OperationActivityComponent.BillOfOperationsGroup

  //                                                                            and ProdnModOperationActivity.OperationActivity           = OperationActivityComponent.OperationActivity

  //                                                                            and ProdnModOperationActivity.OperationActyVersionCounter = OperationActivityComponent.OperationActyVersionCounter

  //    inner join   I_OperationActivity          as OperationActivity          on  OperationActivity.OperationActivity           = OperationActivityComponent.OperationActivity

  //                                                                            and OperationActivity.OperationActyVersionCounter = OperationActivityComponent.OperationActyVersionCounter

    inner join   I_OpActyNtwkElement         as OpactivityNetworkElement on  OpactivityNetworkElement.OpActyNtwkElementElement       = OperationActivityComponent.OperationActivity
                                                                         and OpactivityNetworkElement.OpActyNtwkElementElmntVersCntr = OperationActivityComponent.OperationActyVersionCounter
                                                                         and OpactivityNetworkElement.OpActyNtwkElementType          = 3
    inner join   I_BOOOperationChgStOANBasic as BOOOperationDetails      on  BOOOperationDetails.ProduceOpActyNtwk             = OpactivityNetworkElement.OperationActivityNetwork
                                                                         and BOOOperationDetails.ProduceOpActyNtwkVersCounter  = OpactivityNetworkElement.OpActyNtwkVersionCounter
                                                                         or  BOOOperationDetails.SetupOpActyNtwk               = OpactivityNetworkElement.OperationActivityNetwork
                                                                         and BOOOperationDetails.SetupOpActyNtwkVersCounter    = OpactivityNetworkElement.OpActyNtwkVersionCounter
                                                                         or  BOOOperationDetails.TeardownOpActyNtwk            = OpactivityNetworkElement.OperationActivityNetwork
                                                                         and BOOOperationDetails.TeardownOpActyNtwkVersCounter = OpactivityNetworkElement.OpActyNtwkVersionCounter
    inner join   I_BillOfOperationsOperation as Operation                on  Operation.BillOfOperationsType   = BOOOperationDetails.BillOfOperationsType
                                                                         and Operation.BillOfOperationsGroup  = BOOOperationDetails.BillOfOperationsGroup
                                                                         and Operation.BOOOperationInternalID = BOOOperationDetails.BOOOperationInternalID
    inner join   I_BillOfOperationsOpBasic   as BOOOpBasic               on  BOOOpBasic.BillOfOperationsType    = Operation.BillOfOperationsType
                                                                         and BOOOpBasic.BillOfOperationsGroup   = Operation.BillOfOperationsGroup
                                                                         and BOOOpBasic.BOOOperationInternalID  = Operation.BOOOperationInternalID
                                                                         and BOOOpBasic.BillOfOperationsVersion = BOOOperationDetails.BillOfOperationsVersion
    inner join   I_RoutingCompAllocSrchMod   as OperationComponent       on  OperationComponent.BOOOpBOMItemInternalID  = OperationActivityComponent.BOOOpBOMItemInternalID
                                                                         and OperationComponent.BillOfOperationsType    = Operation.BillOfOperationsType
                                                                         and OperationComponent.BillOfOperationsGroup   = Operation.BillOfOperationsGroup
                                                                         and OperationComponent.BOOOperationInternalID  = Operation.BOOOperationInternalID
                                                                         and OperationComponent.BillOfOperationsVersion = BOOOperationDetails.BillOfOperationsVersion
    inner join   I_ProductionModel           as ProductionModel          on  ProductionModel.BillOfOperationsGroup   = Operation.BillOfOperationsGroup
                                                                         and ProductionModel.BillOfOperationsType    = Operation.BillOfOperationsType
                                                                         and ProductionModel.BillOfOperationsVariant = Operation.BillOfOperationsVariant
                                                                         and ProductionModel.BillOfOperationsVersion = OperationComponent.BillOfOperationsVersion
    inner join   I_BillOfMaterialComponent   as BOMItem                  on  BOMItem.BillOfMaterial               = OperationComponent.BillOfMaterial
                                                                         and BOMItem.BillOfMaterialVariant        = OperationComponent.BillOfMaterialVariant
                                                                         and BOMItem.BillOfMaterialCategory       = OperationComponent.BillOfMaterialCategory
                                                                         and BOMItem.BillOfMaterialItemNodeNumber = OperationComponent.BillOfMaterialItemNodeNumber
                                                                         and BOMItem.BillOfMaterialVersion        = ProductionModel.BillOfMaterialVersion
  association [0..1] to I_MaterialText               as _MaterialText                on  _MaterialText.Material = BOMItem.BillOfMaterialComponent
                                                                                     and _MaterialText.Language = $session.system_language
  association [0..1] to I_BomItemCategoryText        as _BOMItemCategoryText         on  $projection.BillOfMaterialItemCategory = _BOMItemCategoryText.BillOfMaterialItemCategory
                                                                                     and _BOMItemCategoryText.Language          = $session.system_language
  association [0..1] to I_MRPQuantityDistrKeyText    as _DistrKeyText                on  $projection.Plant                   = _DistrKeyText.Plant
                                                                                     and $projection.DistrKeyCompConsumption = _DistrKeyText.QuantityDistributionKey
                                                                                     and _DistrKeyText.Language              = $session.system_language
  association [0..1] to I_ExplosionTypeVH            as _ExplosionTypeText           on  $projection.ExplosionType = _ExplosionTypeText.ExplosionType
  association [0..1] to I_SpecialProcurementType     as _SpecialProcTypeText         on  $projection.Plant                  = _SpecialProcTypeText.Plant
                                                                                     and $projection.SpecialProcurementType = _SpecialProcTypeText.SpecialProcurementType
  association [0..1] to I_AltItemStrategyVH          as _AltItemStrategyText         on  $projection.AlternativeItemStrategy = _AltItemStrategyText.AlternativeItemStrategy
                                                                                     and _AltItemStrategyText.Language       = $session.system_language
  association [0..1] to I_ReferencePointVH           as _ReferencePointText          on  $projection.ReferencePoint = _ReferencePointText.ReferencePoint
  association [0..1] to I_BOMItemCostingRelevant     as _CostingRelevantText         on  $projection.MaterialCompCostingRelevancy = _CostingRelevantText.BOMItemIsCostingRelevant
  association [0..1] to I_MatProvisionIndicatorVH    as _MatProvisionIndText         on  $projection.MaterialProvisionType = _MatProvisionIndText.IsMaterialProvision
  association [0..1] to I_StorageLocation            as _IssueLocationText           on  $projection.Plant                  = _IssueLocationText.Plant
                                                                                     and $projection.ProdOrderIssueLocation = _IssueLocationText.StorageLocation
  association [0..1] to I_ProductionSupplyAreaText   as _ProdSupplyAreaText          on  $projection.Plant                = _ProdSupplyAreaText.Plant
                                                                                     and $projection.ProductionSupplyArea = _ProdSupplyAreaText.ProductionSupplyArea
                                                                                     and _ProdSupplyAreaText.Language     = $session.system_language
  association [0..1] to I_BOMItemSparePart           as _SparePartText               on  $projection.MatlComponentSparePartType = _SparePartText.BOMItemIsSparePart
  association [0..1] to I_BOMItemSalesRelevant       as _SalesRelevantText           on  $projection.BOMItemSalesRelevancy = _SalesRelevantText.BOMItemIsSalesRelevant
  association [0..1] to I_PurchasingOrganization     as _PurchasingOrgText           on  $projection.PurchasingOrganization = _PurchasingOrgText.PurchasingOrganization
  association [0..1] to I_PurchasingGroup            as _PurchasingGroupText         on  $projection.PurchasingGroup = _PurchasingGroupText.PurchasingGroup
  association [0..1] to I_MaterialGroupText          as _MaterialGroupText           on  $projection.MaterialGroup   = _MaterialGroupText.MaterialGroup
                                                                                     and _MaterialGroupText.Language = $session.system_language
  association [0..1] to I_Supplier                   as _SupplierText                on  $projection.Creditor = _SupplierText.Supplier
  association [0..1] to I_CostElementText            as _CostElementText             on  $projection.CostElement   = _CostElementText.CostElement // Need to add key fields

                                                                                     and _CostElementText.Language = $session.system_language
  association [0..1] to I_ProductSupplyPlanning      as _MaterialPlant               on  $projection.BillOfMaterialComponent = _MaterialPlant.Product
                                                                                     and $projection.Plant                   = _MaterialPlant.Plant



  association [0..*] to I_ProdnModOpActyCompInstance as _OpActivityComponentInstance on  $projection.ProductionModelUUID         = _OpActivityComponentInstance.ProductionModelUUID
                                                                                     and $projection.BOOOperationInternalID      = _OpActivityComponentInstance.BOOOperationInternalID
                                                                                     and $projection.OperationActivity           = _OpActivityComponentInstance.OperationActivity
                                                                                     and $projection.OperationActyVersionCounter = _OpActivityComponentInstance.OperationActyVersionCounter
                                                                                     and $projection.BOOOpBOMItemInternalID      = _OpActivityComponentInstance.BOOOpBOMItemInternalID
  association        to I_ProdnModOperationActivity  as _ProdnModOperationActivity   on  $projection.ProductionModelUUID         = _ProdnModOperationActivity.ProductionModelUUID
                                                                                     and $projection.BillOfMaterial              = _ProdnModOperationActivity.BillOfMaterial
                                                                                     and $projection.BillOfMaterialVariant       = _ProdnModOperationActivity.BillOfMaterialVariant
                                                                                     and $projection.BillOfMaterialCategory      = _ProdnModOperationActivity.BillOfMaterialCategory
                                                                                     and $projection.BillOfMaterialVariantUsage  = _ProdnModOperationActivity.BillOfMaterialVariantUsage
                                                                                     and $projection.Plant                       = _ProdnModOperationActivity.Plant
                                                                                     and $projection.BillOfOperationsGroup       = _ProdnModOperationActivity.BillOfOperationsGroup
                                                                                     and $projection.BillOfOperationsType        = _ProdnModOperationActivity.BillOfOperationsType
                                                                                     and $projection.BillOfOperationsVariant     = _ProdnModOperationActivity.BillOfOperationsVariant
                                                                                     and $projection.BOOOperationInternalID      = _ProdnModOperationActivity.BOOOperationInternalID
                                                                                     and $projection.OperationActivity           = _ProdnModOperationActivity.OperationActivity
                                                                                     and $projection.OperationActyVersionCounter = _ProdnModOperationActivity.OperationActyVersionCounter
  association        to I_ProductionModel            as _ProductionModel             on  $projection.ProductionModelUUID = _ProductionModel.ProductionModelUUID
{
  key ProductionModel.ProductionModelUUID,
  key Operation.BOOOperationInternalID,
  key OperationActivityComponent.OperationActivity,
  key OperationActivityComponent.OperationActyVersionCounter,
  key OperationActivityComponent.BOOOpBOMItemInternalID,
      ProductionModel.BillOfMaterial,
      ProductionModel.BillOfMaterialVariant,
      ProductionModel.BillOfMaterialCategory,
      ProductionModel.BillOfMaterialVariantUsage,
      ProductionModel.Plant,
      ProductionModel.BillOfOperationsGroup,
      ProductionModel.BillOfOperationsType,
      ProductionModel.BillOfOperationsVariant,
      ProductionModel.BillOfOperationsVersion,
      ProductionModel.Material,
      ProductionModel.BillOfMaterialVersion,
      BOOOpBasic.Operation_2                                               as Operation,
      OpactivityNetworkElement.OpActyNtwkElementExternalID,
      BOMItem.BillOfMaterialItemUUID                                       as ProductionModelComponentUUID,
      BOMItem.BillOfMaterialItemNodeNumber,
      BOMItem.ValidityStartDate,
      BOMItem.ValidityEndDate,
      BOMItem.EngineeringChangeDocument,
      BOMItem.ChgToEngineeringChgDocument,
      BOMItem.InheritedNodeNumberForBOMItem,
      BOMItem.InheritedNodeNumberVersionBOM,
      BOMItem.BOMItemInternalChangeCount,
      BOMItem.BillOfMaterialComponent,
      BOMItem.ComponentDescription,
      BOMItem.BillOfMaterialItemCategory,
      cast( BOMItem.BillOfMaterialItemNumber as cs_sposn preserving type ) as BillOfMaterialItemNumber,
      OperationActivityComponent.BillOfMaterialItemUnit,
      @Semantics.quantity.unitOfMeasure: 'BillOfMaterialItemUnit'
      OperationActivityComponent.BillOfMaterialItemQuantity                as ProdnModBOMCompAssgdQuantity,
      @Semantics.quantity.unitOfMeasure: 'BillOfMaterialItemUnit'
      BOMItem.BillOfMaterialItemQuantity,
      @Semantics.booleanIndicator: true
      BOMItem.IsAssembly,
      @Semantics.booleanIndicator: true
      BOMItem.IsSubItem,
      @Semantics.booleanIndicator: true
      BOMItem.IsDeleted,
      BOMItem.IdentifierBOMItem,
      BOMItem.BOMItemSorter,
      @Semantics.booleanIndicator: true
      BOMItem.BOMItemHasFixedQuantity,
      BOMItem.ComponentScrapInPercent,
      BOMItem.OperationScrapInPercent,
      @Semantics.booleanIndicator: true
      BOMItem.IsNetScrap,
      @Semantics.booleanIndicator: true
      BOMItem.IsBulkMaterial,
      @Semantics.booleanIndicator: true
      _MaterialPlant.IsBulkMaterialComponent,
      BOMItem.IsMaterialProvision                                          as MaterialProvisionType,
      BOMItem.BOMItemIsSparePart                                           as MatlComponentSparePartType,
      BOMItem.BOMItemIsSalesRelevant                                       as BOMItemSalesRelevancy,
      @Semantics.booleanIndicator: true
      BOMItem.IsEngineeringRelevant,
      @Semantics.booleanIndicator: true
      BOMItem.BOMItemIsPlantMaintRelevant,
      @Semantics.booleanIndicator: true
      BOMItem.IsProductionRelevant,
      BOMItem.BOMItemIsCostingRelevant                                     as MaterialCompCostingRelevancy,
      @Semantics.booleanIndicator: true
      BOMItem.BOMIsRecursive,
      @Semantics.booleanIndicator: true
      BOMItem.IsBOMRecursiveAllowed,
      BOMItem.FollowUpGroup,
      BOMItem.AlternativeItemGroup,
      BOMItem.MaterialIsCoProduct,
      BOMItem.AlternativeItemPriority,
      BOMItem.AlternativeItemStrategy,
      @Semantics.booleanIndicator: true
      BOMItem.IsALE,
      BOMItem.UsageProbabilityPercent,
      BOMItem.IsPMAssemblyRelevant,
      BOMItem.DocumentIsCreatedByCAD,
      BOMItem.DependencyObjectNumber,
      BOMItem.DiscontinuationGroup,
      BOMItem.LeadTimeOffset,
      BOMItem.OperationLeadTimeOffset,
      BOMItem.OpsLeadTimeOffsetUnit,
      BOMItem.DistrKeyCompConsumption,
      BOMItem.IsPhantomItem,
      BOMItem.PurchasingGroup,
      BOMItem.DeliveryDurationInDays,
      BOMItem.Creditor,
      @Semantics.amount.currencyCode : 'Currency'
      BOMItem.MaterialComponentPrice,
      //      BOMItem.MaterialPriceUnitQty,

      BOMItem.Currency,
      BOMItem.CostElement,
      BOMItem.MaterialGroup,
      BOMItem.GoodsReceiptDuration,
      BOMItem.PurchasingOrganization,
      BOMItem.PreliminaryMaterial,
      @Semantics.quantity.unitOfMeasure: 'UnitOfMeasureForSize1To3'
      BOMItem.Size1,
      @Semantics.quantity.unitOfMeasure: 'UnitOfMeasureForSize1To3'
      BOMItem.Size2,
      @Semantics.quantity.unitOfMeasure: 'UnitOfMeasureForSize1To3'
      BOMItem.Size3,
      BOMItem.UnitOfMeasureForSize1To3,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeCompUnitOfMeasure'
      BOMItem.QuantityVariableSizeItem,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeItemUnit'
      cast(BOMItem.NumberOfVariableSizeItem as pph_roanz preserving type)  as VariableSizeItemQuantity,
      BOMItem.UnitOfMeasureForVarSizeItem                                  as VariableSizeItemUnit,
      BOMItem.FormulaKey,
      BOMItem.VariableSizeCompUnitOfMeasure,
      BOMItem.BOMItemDescription,
      BOMItem.BOMItemText2,
      BOMItem.DocumentType,
      BOMItem.DocNumber,
      BOMItem.DocumentVersion,
      BOMItem.DocumentPart,
      BOMItem.ProdOrderIssueLocation,
      BOMItem.ProductionSupplyArea,
      BOMItem.ExplosionType,
      BOMItem.SpecialProcurementType,
      BOMItem.ReferencePoint,
      OperationActivityComponent.AssemblySequenceNumber,
      BOMItem.BOMItemRecordCreationDate,
      BOMItem.BOMItemCreatedByUser,
      BOMItem.BOMItemLastChangeDate,
      BOMItem.BOMItemLastChangedByUser,
      OperationActivityComponent.CreatedByUser,
      OperationActivityComponent.CreationDateTime,
      OperationActivityComponent.ChangedBy,
      OperationActivityComponent.LastChangeDateTime,

      /* Associations */
      _BOMItemCategoryText,
      _DistrKeyText,
      _ExplosionTypeText,
      _SpecialProcTypeText,
      _AltItemStrategyText,
      _ReferencePointText,
      _CostingRelevantText,
      _MatProvisionIndText,
      _IssueLocationText,
      _ProdSupplyAreaText,
      _SparePartText,
      _SalesRelevantText,
      _PurchasingOrgText,
      _PurchasingGroupText,
      _MaterialGroupText,
      _SupplierText,
      _CostElementText,
      _MaterialText,
      _ProdnModOperationActivity,
      _ProductionModel,
      _OpActivityComponentInstance
}
where
       OperationActivityComponent.BillOfOperationsType = 'V'
  and(
       OperationComponent.BillOfMaterialCategory       = 'K'
    or OperationComponent.BillOfMaterialCategory       = 'M'
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BILLOFMATERIALCOMPONENT",
"I_BILLOFOPERATIONSOPBASIC",
"I_BILLOFOPERATIONSOPERATION",
"I_BOOOPERATIONCHGSTOANBASIC",
"I_OPACTYBOOOPBOMITMASSGMT",
"I_OPACTYNTWKELEMENT",
"I_PRODUCTIONMODEL",
"I_PRODUCTSUPPLYPLANNING",
"I_ROUTINGCOMPALLOCSRCHMOD"
],
"ASSOCIATED":
[
"I_ALTITEMSTRATEGYVH",
"I_BOMITEMCATEGORYTEXT",
"I_BOMITEMCOSTINGRELEVANT",
"I_BOMITEMSALESRELEVANT",
"I_BOMITEMSPAREPART",
"I_COSTELEMENTTEXT",
"I_EXPLOSIONTYPEVH",
"I_MATERIALGROUPTEXT",
"I_MATERIALTEXT",
"I_MATPROVISIONINDICATORVH",
"I_MRPQUANTITYDISTRKEYTEXT",
"I_PRODNMODOPACTYCOMPINSTANCE",
"I_PRODNMODOPERATIONACTIVITY",
"I_PRODUCTIONMODEL",
"I_PRODUCTIONSUPPLYAREATEXT",
"I_PURCHASINGGROUP",
"I_PURCHASINGORGANIZATION",
"I_REFERENCEPOINTVH",
"I_SPECIALPROCUREMENTTYPE",
"I_STORAGELOCATION",
"I_SUPPLIER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/