I_ProductionModel

DDL: I_PRODUCTIONMODEL Type: view_entity COMPOSITE

Production Model Header

I_ProductionModel is a Composite CDS View that provides data about "Production Model Header" in SAP S/4HANA. It reads from 2 data sources (I_ProdnModBOOVersBOMAssgmt, I_ProductionModelBasic) and exposes 32 fields with key fields ProductionModelUUID, BillOfOperationsVersion. It has 9 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_ProdnModBOOVersBOMAssgmt BooVersionBOMAssgmt inner
I_ProductionModelBasic ProductionModel from

Associations (9)

CardinalityTargetAliasCondition
[0..*] I_ProductionModelComponent _HeaderComponent $projection.ProductionModelUUID = _HeaderComponent.ProductionModelUUID and $projection.BillOfOperationsVersion = _HeaderComponent.BillOfOperationsVersion
[0..*] I_ProductionModelOperation _Operation $projection.ProductionModelUUID = _Operation.ProductionModelUUID and $projection.BillOfOperationsVersion = _Operation.BillOfOperationsVersion
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant and _Plant.Language = $session.system_language
[0..1] I_MaterialText _MaterialText $projection.Material = _MaterialText.Material and _MaterialText.Language = $session.system_language
[0..1] I_VersionStatus _BOMVersStatusText $projection.BOMVersionStatus = _BOMVersStatusText.BOMVersionStatus and _BOMVersStatusText.Language = $session.system_language
[0..1] I_BOOVersionStatusText _BOOVersionStatusText $projection.BillOfOperationsVersionStatus = _BOOVersionStatusText.BillOfOperationsVersionStatus and _BOOVersionStatusText.Language = $session.system_language
[0..1] I_BillOfMaterialUsage _BOMUsageText $projection.BillOfMaterialVariantUsage = _BOMUsageText.BillOfMaterialVariantUsage and _BOMUsageText.Language = $session.system_language
[0..1] I_BillOfOperationsTypeText _BOOTypeText $projection.BillOfOperationsType = _BOOTypeText.BillOfOperationsType and _BOOTypeText.Language = $session.system_language
[0..1] I_SalesDocumentItem _SalesDocumentItemText $projection.SalesOrder = _SalesDocumentItemText.SalesDocument and $projection.SalesOrderItem = _SalesDocumentItemText.SalesDocumentItem

Annotations (7)

NameValueLevelField
EndUserText.label Production Model Header 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 (32)

KeyFieldSource TableSource FieldDescription
KEY ProductionModelUUID I_ProductionModelBasic ProductionModelUUID
KEY BillOfOperationsVersion I_ProdnModBOOVersBOMAssgmt BillOfOperationsVersion
ProductionModelProcessType I_ProductionModelBasic ProductionModelProcessType
ProdnModComplexAssemblyType I_ProductionModelBasic ProdnModComplexAssemblyType
Material I_ProductionModelBasic Material
BillOfMaterial I_ProductionModelBasic BillOfMaterial
BillOfMaterialVariant I_ProductionModelBasic BillOfMaterialVariant
BillOfMaterialCategory I_ProductionModelBasic BillOfMaterialCategory
BillOfMaterialVariantUsage I_ProductionModelBasic BillOfMaterialVariantUsage
BillOfMaterialVersion I_ProdnModBOOVersBOMAssgmt BillOfMaterialVersion
BOMVersionStatus I_ProdnModBOOVersBOMAssgmt BOMVersionStatus
Plant I_ProductionModelBasic Plant
BillOfOperationsType I_ProductionModelBasic BillOfOperationsType
BillOfOperationsGroup I_ProductionModelBasic BillOfOperationsGroup
BillOfOperationsVariant I_ProductionModelBasic BillOfOperationsVariant
SalesOrder I_ProductionModelBasic SalesOrder
SalesOrderItem I_ProductionModelBasic SalesOrderItem
BillOfOperationsVersionStatus I_ProdnModBOOVersBOMAssgmt BillOfOperationsVersionStatus
IsLatestBOOVersion I_ProdnModBOOVersBOMAssgmt IsLatestBOOVersion
ProdnModelCreationDateTime I_ProductionModelBasic ProdnModelCreationDateTime
ProductionModelCreatedByUser I_ProductionModelBasic ProductionModelCreatedByUser
ProdnModelChangedDateTime I_ProductionModelBasic ProdnModelChangedDateTime
ProductionModelChangedByUser I_ProductionModelBasic ProductionModelChangedByUser
_HeaderComponent _HeaderComponent
_Operation _Operation
_Plant _Plant
_MaterialText _MaterialText
_BOOVersionStatusText _BOOVersionStatusText
_BOMVersStatusText _BOMVersStatusText
_BOMUsageText _BOMUsageText
_BOOTypeText _BOOTypeText
_SalesDocumentItemText _SalesDocumentItemText
@EndUserText.label: 'Production Model Header'
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #L,
  dataClass: #TRANSACTIONAL
}
define view entity I_ProductionModel
  as select from I_ProductionModelBasic     as ProductionModel

    inner join   I_ProdnModBOOVersBOMAssgmt as BooVersionBOMAssgmt on  BooVersionBOMAssgmt.BillOfOperationsType    = ProductionModel.BillOfOperationsType
                                                                   and BooVersionBOMAssgmt.BillOfOperationsGroup   = ProductionModel.BillOfOperationsGroup
                                                                   and BooVersionBOMAssgmt.BillOfOperationsVariant = ProductionModel.BillOfOperationsVariant
                                                           //        and BooVersionBOMAssgmt.BillOfOperationsVersion = BooLatestVersion.BillOfOperationsVersion

    left outer to one join   P_ProdnModLatestBOOVersion as BooLatestVersion    on  BooLatestVersion.BillOfOperationsType    = ProductionModel.BillOfOperationsType
                                                                               and BooLatestVersion.BillOfOperationsGroup   = ProductionModel.BillOfOperationsGroup
                                                                               and BooLatestVersion.BillOfOperationsVariant = ProductionModel.BillOfOperationsVariant
                                                                               and BooLatestVersion.BillOfOperationsVersion = BooVersionBOMAssgmt.BillOfOperationsVersion
    left outer to one join   P_ProdnModActiveBOOVersion as BooActiveVersion    on  BooActiveVersion.BillOfOperationsType    = ProductionModel.BillOfOperationsType
                                                                               and BooActiveVersion.BillOfOperationsGroup   = ProductionModel.BillOfOperationsGroup
                                                                               and BooActiveVersion.BillOfOperationsVariant = ProductionModel.BillOfOperationsVariant
                                                                               and BooActiveVersion.BillOfOperationsVersion = BooVersionBOMAssgmt.BillOfOperationsVersion
  association [0..*] to I_ProductionModelComponent as _HeaderComponent       on  $projection.ProductionModelUUID = _HeaderComponent.ProductionModelUUID
                                                                             and $projection.BillOfOperationsVersion = _HeaderComponent.BillOfOperationsVersion
  association [0..*] to I_ProductionModelOperation as _Operation             on  $projection.ProductionModelUUID = _Operation.ProductionModelUUID
                                                                             and $projection.BillOfOperationsVersion = _Operation.BillOfOperationsVersion
  association [0..1] to I_Plant                    as _Plant                 on  $projection.Plant = _Plant.Plant
                                                                             and _Plant.Language   = $session.system_language
  association [0..1] to I_MaterialText             as _MaterialText          on  $projection.Material   = _MaterialText.Material
                                                                             and _MaterialText.Language = $session.system_language
  association [0..1] to I_VersionStatus            as _BOMVersStatusText     on  $projection.BOMVersionStatus = _BOMVersStatusText.BOMVersionStatus
                                                                             and _BOMVersStatusText.Language  = $session.system_language
  association [0..1] to I_BOOVersionStatusText     as _BOOVersionStatusText  on  $projection.BillOfOperationsVersionStatus = _BOOVersionStatusText.BillOfOperationsVersionStatus
                                                                             and _BOOVersionStatusText.Language            = $session.system_language
  association [0..1] to I_BillOfMaterialUsage      as _BOMUsageText          on  $projection.BillOfMaterialVariantUsage = _BOMUsageText.BillOfMaterialVariantUsage
                                                                             and _BOMUsageText.Language                 = $session.system_language
  association [0..1] to I_BillOfOperationsTypeText as _BOOTypeText           on  $projection.BillOfOperationsType = _BOOTypeText.BillOfOperationsType
                                                                             and _BOOTypeText.Language            = $session.system_language
  association [0..1] to I_SalesDocumentItem        as _SalesDocumentItemText on  $projection.SalesOrder     = _SalesDocumentItemText.SalesDocument
                                                                             and $projection.SalesOrderItem = _SalesDocumentItemText.SalesDocumentItem
{

  key ProductionModel.ProductionModelUUID,
  key BooVersionBOMAssgmt.BillOfOperationsVersion,
      ProductionModel.ProductionModelProcessType,
      ProductionModel.ProdnModComplexAssemblyType,
      ProductionModel.Material,
      ProductionModel.BillOfMaterial,
      ProductionModel.BillOfMaterialVariant,
      ProductionModel.BillOfMaterialCategory,
      ProductionModel.BillOfMaterialVariantUsage,
      BooVersionBOMAssgmt.BillOfMaterialVersion,
      BooVersionBOMAssgmt.BOMVersionStatus,
      ProductionModel.Plant,
      ProductionModel.BillOfOperationsType,
      ProductionModel.BillOfOperationsGroup,
      ProductionModel.BillOfOperationsVariant,
      ProductionModel.SalesOrder,
      ProductionModel.SalesOrderItem,
      @ObjectModel.text.association: '_BOOVersionStatusText'
      BooVersionBOMAssgmt.BillOfOperationsVersionStatus,
      cast ( case
      when BooLatestVersion.BillOfOperationsVersion is not initial
      then 'X'
      else ''
      end as boole_d preserving type ) as ProdnModelVersionIsLatest,

      cast ( case
      when BooActiveVersion.BillOfOperationsVersion is not initial
      then 'X'
      when BooActiveVersion.BillOfOperationsVersion is null and BooLatestVersion.BillOfOperationsVersion = '0001' and BooVersionBOMAssgmt.BillOfOperationsVersionStatus = '30'
      then 'X'
      else ''
      end as boole_d preserving type ) as ProdnModelVersionIsActive,

      @Semantics.booleanIndicator: true
      BooVersionBOMAssgmt.IsLatestBOOVersion,
      ProductionModel.ProdnModelCreationDateTime,
      ProductionModel.ProductionModelCreatedByUser,
      ProductionModel.ProdnModelChangedDateTime,
      ProductionModel.ProductionModelChangedByUser,
      _HeaderComponent,
      _Operation,
      _Plant,
      _MaterialText,
      _BOOVersionStatusText,
      _BOMVersStatusText,
      _BOMUsageText,
      _BOOTypeText,
      _SalesDocumentItemText
}