I_ProductionVersion

DDL: I_PRODUCTIONVERSION SQL: IPPPRODVERSION Type: view_entity BASIC Package: VDM_PP_MD_PRV

Production Version

I_ProductionVersion is a Basic CDS View (Dimension) that provides data about "Production Version" in SAP S/4HANA. It reads from 1 data source (mkal) and exposes 72 fields with key fields Material, Plant, ProductionVersion. It has 20 associations to related views. Part of development package VDM_PP_MD_PRV.

Data Sources (1)

SourceAliasJoin Type
mkal mkal from

Associations (20)

CardinalityTargetAliasCondition
[1..1] I_Material _Material $projection.Material = _Material.Material
[1..1] I_MaterialText _MaterialText $projection.Material = _MaterialText.Material and _MaterialText.Language = $session.system_language
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[1..1] I_Product _Product $projection.Material = _Product.Product
[1..1] I_ProductPlant _ProductPlant $projection.Material = _ProductPlant.Product and $projection.Plant = _ProductPlant.Plant
[0..1] I_Product _MainProduct $projection.MainProduct = _MainProduct.Product
[0..1] I_Product _OriglBatchReferenceMaterial $projection.OriginalBatchReferenceMaterial = _OriglBatchReferenceMaterial.Product
[1..1] I_BillOfOperationsType _BillOfOperationsType $projection.BillOfOperationsType = _BillOfOperationsType.BillOfOperationsType
[1..1] I_BillOfOperationsGroup _BillOfOperationsGroup $projection.BillOfOperationsType = _BillOfOperationsGroup.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsGroup.BillOfOperationsGroup
[1..1] I_BillOfOperations _BillOfOperations $projection.BillOfOperationsType = _BillOfOperations.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperations.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant
[0..1] I_ProductionLine _ProductionLine $projection.Plant = _ProductionLine.Plant and $projection.ProductionLine = _ProductionLine.ProductionLine
[0..1] I_ProductionVersionGroup _ProductionVersionGroup $projection.Plant = _ProductionVersionGroup.Plant and $projection.ProductionVersionGroup = _ProductionVersionGroup.ProductionVersionGroup
[0..1] I_ProductionSupplyArea _ProductionSupplyArea $projection.Plant = _ProductionSupplyArea.Plant and $projection.ProductionSupplyArea = _ProductionSupplyArea.ProductionSupplyArea
[0..1] I_ProductionSupplyArea _TargetProductionSupplyArea $projection.Plant = _TargetProductionSupplyArea.Plant and $projection.TargetProductionSupplyArea = _TargetProductionSupplyArea.ProductionSupplyArea
[0..1] I_StorageLocation _IssuingStorageLocation $projection.Plant = _IssuingStorageLocation.Plant and $projection.IssuingStorageLocation = _IssuingStorageLocation.StorageLocation
[0..1] I_StorageLocation _ReceivingStorageLocation $projection.Plant = _ReceivingStorageLocation.Plant and $projection.ReceivingStorageLocation = _ReceivingStorageLocation.StorageLocation
[0..1] I_MatlCostApportionmentStruc _MatlCostApportionmentStruc $projection.Material = _MatlCostApportionmentStruc.Material and $projection.Plant = _MatlCostApportionmentStruc.Plant and $projection.MaterialCostApportionmentStruc = _MatlCostApportionmentStruc.MaterialCostApportionmentStruc
[0..1] I_MRPQuantityDistributionKey _QuantityDistributionKey $projection.Plant = _QuantityDistributionKey.Plant and $projection.QuantityDistributionKey = _QuantityDistributionKey.QuantityDistributionKey
[0..1] I_UnitOfMeasure _MaterialBaseUnit $projection.MaterialBaseUnit = _MaterialBaseUnit.UnitOfMeasure
[0..1] I_MatlProcurementProfile _MatlProcurementProfile $projection.Plant = _MatlProcurementProfile.Plant and $projection.MaterialProcurementProfile = _MatlProcurementProfile.MaterialProcurementProfile

Annotations (16)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
ObjectModel.representativeKey ProductionVersion view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view
Search.searchable true view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #BASIC view
EndUserText.label Production Version view
ObjectModel.sapObjectNodeType.name ProductionVersion view

Fields (72)

KeyFieldSource TableSource FieldDescription
KEY Material mkal matnr
KEY Plant mkal werks
KEY ProductionVersion mkal verid
ProductionVersionText mkal text1
ChangeHistoryCount mkal_aend ChangeHistoryCount
ChangeNumber mkal_aend ChangeNumber
CreationDate mkal_aend CreationDate
CreatedByUser mkal_aend CreatedByUser
LastChangeDate mkal_aend LastChangeDate
LastChangedByUser mkal_aend LastChangedByUser
BillOfOperationsType
BillOfOperationsGroup
BillOfOperationsVariant
BillOfMaterialVariantUsage mkal stlan
BillOfMaterialVariant mkal stlal
ProductionLine mkal mdv01
ProductionSupplyArea
ProductionVersionGroup
MainProduct
MaterialCostApportionmentStruc mkal csplt
IssuingStorageLocation mkal elpro
ReceivingStorageLocation mkal alort
OriginalBatchReferenceMaterial
QuantityDistributionKey mkal verto
ProductionVersionStatus mkal prfg_f
ProductionVersionLastCheckDate
RateBasedPlanningStatus
PreliminaryPlanningStatus
BOMCheckStatus
ValidityStartDate
ValidityEndDate
ProductionVersionIsLocked mkal mksp
ProdnVersIsAllowedForRptvMfg mkal serkz
HasVersionCtrldBOMAndRouting mkal versind
PlanningAndExecutionBOMIsDiff mkal diffplanexemstr
ExecBillOfMaterialVariantUsage mkal exe_stlan
ExecBillOfMaterialVariant mkal exe_stlal
ExecBillOfOperationsType mkal exe_plnty
ExecBillOfOperationsGroup mkal exe_plnnr
ExecBillOfOperationsVariant mkal exe_alnal
Warehouse mkal ewm_lgnum
DestinationStorageBin mkal ewm_lgpla
ProcurementType mkal beskz
MaterialProcurementProfile mkal sobsl
UsgeProbltyWthVersCtrlInPct mkal ewahr
MaterialBaseUnit _Product BaseUnit
MaterialMinLotSizeQuantity mkal bstmi
MaterialMaxLotSizeQuantity mkal bstma
CostingLotSize mkal losgr
DistributionKey mkal verto
TargetProductionSupplyArea
_Material _Material
_MaterialText _MaterialText
_Product _Product
_ProductPlant _ProductPlant
_Plant _Plant
_BillOfOperationsType _BillOfOperationsType
_BillOfOperationsGroup _BillOfOperationsGroup
_BillOfOperations _BillOfOperations
_ProductionLine _ProductionLine
_ProductionVersionGroup _ProductionVersionGroup
_ProductionSupplyArea _ProductionSupplyArea
_TargetProductionSupplyArea _TargetProductionSupplyArea
_MainProduct _MainProduct
_OriglBatchReferenceMaterial _OriglBatchReferenceMaterial
_IssuingStorageLocation _IssuingStorageLocation
_ReceivingStorageLocation _ReceivingStorageLocation
_MatlCostApportionmentStruc _MatlCostApportionmentStruc
_QuantityDistributionKey _QuantityDistributionKey
_MaterialBaseUnit _MaterialBaseUnit
_MatlProcurementProfile _MatlProcurementProfile
_ChangeMaster mkal_aend _ChangeMaster
//@AbapCatalog.sqlViewName: 'IPPPRODVERSION'

@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@Analytics.dataCategory: #DIMENSION
@Analytics.dataExtraction.enabled: true
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
@ObjectModel.supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #SEARCHABLE_ENTITY, #EXTRACTION_DATA_SOURCE]
@ObjectModel.representativeKey: 'ProductionVersion'
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #L, dataClass: #MASTER}
@Search.searchable: true
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #BASIC
@EndUserText.label: 'Production Version'
@ObjectModel.sapObjectNodeType.name: 'ProductionVersion'
define view entity I_ProductionVersion
  as select from           mkal                         as mkal
    left outer to one join I_ProdnVersLastChangeHistory as mkal_aend on  mkal_aend.Material          = mkal.matnr
                                                                     and mkal_aend.Plant             = mkal.werks
                                                                     and mkal_aend.ProductionVersion = mkal.verid

  association [1..1] to I_Material                   as _Material                    on  $projection.Material = _Material.Material

  association [1..1] to I_MaterialText               as _MaterialText                on  $projection.Material   = _MaterialText.Material
                                                                                     and _MaterialText.Language = $session.system_language
  association [1..1] to I_Plant                      as _Plant                       on  $projection.Plant = _Plant.Plant
  association [1..1] to I_Product                    as _Product                     on  $projection.Material = _Product.Product
  association [1..1] to I_ProductPlant               as _ProductPlant                on  $projection.Material = _ProductPlant.Product
                                                                                     and $projection.Plant    = _ProductPlant.Plant
  association [0..1] to I_Product                    as _MainProduct                 on  $projection.MainProduct = _MainProduct.Product
  association [0..1] to I_Product                    as _OriglBatchReferenceMaterial on  $projection.OriginalBatchReferenceMaterial = _OriglBatchReferenceMaterial.Product
  association [1..1] to I_BillOfOperationsType       as _BillOfOperationsType        on  $projection.BillOfOperationsType = _BillOfOperationsType.BillOfOperationsType
  association [1..1] to I_BillOfOperationsGroup      as _BillOfOperationsGroup       on  $projection.BillOfOperationsType  = _BillOfOperationsGroup.BillOfOperationsType
                                                                                     and $projection.BillOfOperationsGroup = _BillOfOperationsGroup.BillOfOperationsGroup
  association [1..1] to I_BillOfOperations           as _BillOfOperations            on  $projection.BillOfOperationsType    = _BillOfOperations.BillOfOperationsType
                                                                                     and $projection.BillOfOperationsGroup   = _BillOfOperations.BillOfOperationsGroup
                                                                                     and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant
  association [0..1] to I_ProductionLine             as _ProductionLine              on  $projection.Plant          = _ProductionLine.Plant
                                                                                     and $projection.ProductionLine = _ProductionLine.ProductionLine
  association [0..1] to I_ProductionVersionGroup     as _ProductionVersionGroup      on  $projection.Plant                  = _ProductionVersionGroup.Plant
                                                                                     and $projection.ProductionVersionGroup = _ProductionVersionGroup.ProductionVersionGroup
  association [0..1] to I_ProductionSupplyArea       as _ProductionSupplyArea        on  $projection.Plant                = _ProductionSupplyArea.Plant
                                                                                     and $projection.ProductionSupplyArea = _ProductionSupplyArea.ProductionSupplyArea
  association [0..1] to I_ProductionSupplyArea       as _TargetProductionSupplyArea  on  $projection.Plant                      = _TargetProductionSupplyArea.Plant
                                                                                     and $projection.TargetProductionSupplyArea = _TargetProductionSupplyArea.ProductionSupplyArea
  association [0..1] to I_StorageLocation            as _IssuingStorageLocation      on  $projection.Plant                  = _IssuingStorageLocation.Plant
                                                                                     and $projection.IssuingStorageLocation = _IssuingStorageLocation.StorageLocation
  association [0..1] to I_StorageLocation            as _ReceivingStorageLocation    on  $projection.Plant                    = _ReceivingStorageLocation.Plant
                                                                                     and $projection.ReceivingStorageLocation = _ReceivingStorageLocation.StorageLocation
  association [0..1] to I_MatlCostApportionmentStruc as _MatlCostApportionmentStruc  on  $projection.Material                       = _MatlCostApportionmentStruc.Material
                                                                                     and $projection.Plant                          = _MatlCostApportionmentStruc.Plant
                                                                                     and $projection.MaterialCostApportionmentStruc = _MatlCostApportionmentStruc.MaterialCostApportionmentStruc
  association [0..1] to I_MRPQuantityDistributionKey as _QuantityDistributionKey     on  $projection.Plant                   = _QuantityDistributionKey.Plant
                                                                                     and $projection.QuantityDistributionKey = _QuantityDistributionKey.QuantityDistributionKey
  association [0..1] to I_UnitOfMeasure              as _MaterialBaseUnit            on  $projection.MaterialBaseUnit = _MaterialBaseUnit.UnitOfMeasure
  association [0..1] to I_MatlProcurementProfile     as _MatlProcurementProfile      on  $projection.Plant                      = _MatlProcurementProfile.Plant
                                                                                     and $projection.MaterialProcurementProfile = _MatlProcurementProfile.MaterialProcurementProfile
{
      // Key

      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaterialStdVH', element: 'Material' } } ]
      @ObjectModel.foreignKey.association: '_Material'
  key mkal.matnr                                                    as Material,
      @ObjectModel.foreignKey.association: '_Plant'
  key mkal.werks                                                    as Plant,
      @ObjectModel.text.element: ['ProductionVersionText']
  key mkal.verid                                                    as ProductionVersion,

      // Text

      @Semantics.text: true
      @Search: {defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8}
      mkal.text1                                                    as ProductionVersionText,

      // Administrative Data

      mkal_aend.ChangeHistoryCount,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ChangeMasterStdVH', element: 'ChangeNumber' } } ]
      @ObjectModel.foreignKey.association: '_ChangeMaster'
      mkal_aend.ChangeNumber,
      @Semantics.systemDate.createdAt: true
      mkal_aend.CreationDate,
      @Semantics.user.createdBy: true
      mkal_aend.CreatedByUser,
      @Semantics.systemDate.lastChangedAt: true
      mkal_aend.LastChangeDate,
      @Semantics.user.lastChangedBy: true
      mkal_aend.LastChangedByUser,

      // Key of Bill of Operations (BOO, e.g. Routing)

      @ObjectModel.foreignKey.association: '_BillOfOperationsType'
      cast(mkal.plnty as billofoperationstype preserving type)      as BillOfOperationsType,
      @ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
      cast(mkal.plnnr as billofoperationsgroup preserving type)     as BillOfOperationsGroup,
      @ObjectModel.foreignKey.association: '_BillOfOperations'
      cast(mkal.alnal as billofoperationsvariant preserving type)   as BillOfOperationsVariant,
      // Key for Bill of Material (BOM) in addition to matnr and werks

      mkal.stlan                                                    as BillOfMaterialVariantUsage,
      mkal.stlal                                                    as BillOfMaterialVariant,

      // Assignments

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductionLineStdVH', element: 'ProductionLine' } } ]
      @ObjectModel.foreignKey.association: '_ProductionLine'
      mkal.mdv01                                                    as ProductionLine,
      @ObjectModel.foreignKey.association: '_ProductionSupplyArea'
      cast(mkal.prvbe as pph_prvbe  preserving type)                as ProductionSupplyArea,
      @ObjectModel.foreignKey.association: '_ProductionVersionGroup'
      cast(mkal.mdv02 as pph_mdv   preserving type)                 as ProductionVersionGroup,
      @ObjectModel.foreignKey.association: '_MainProduct'
      cast(mkal.matko as pph_matko  preserving type)                as MainProduct,
      @ObjectModel.foreignKey.association: '_MatlCostApportionmentStruc'
      mkal.csplt                                                    as MaterialCostApportionmentStruc,
      @ObjectModel.foreignKey.association: '_IssuingStorageLocation'
      mkal.elpro                                                    as IssuingStorageLocation,
      @ObjectModel.foreignKey.association: '_ReceivingStorageLocation'
      mkal.alort                                                    as ReceivingStorageLocation,
      @ObjectModel.foreignKey.association: '_OriglBatchReferenceMaterial'
      cast(mkal.ucmat as pph_rfmat  preserving type)                as OriginalBatchReferenceMaterial,
      @ObjectModel.foreignKey.association: '_QuantityDistributionKey'
      mkal.verto                                                    as QuantityDistributionKey,
      mkal.prfg_f                                                   as ProductionVersionStatus,
      cast(mkal.prdat as pph_mkprdat preserving type)               as ProductionVersionLastCheckDate,
      cast(mkal.prfg_r as pph_prfgr  preserving type)               as RateBasedPlanningStatus,
      cast(mkal.prfg_g as pph_prfgg  preserving type)               as PreliminaryPlanningStatus,
      cast(mkal.prfg_s as pph_prfgs  preserving type)               as BOMCheckStatus,

      // Attributes

      @Semantics.businessDate.from: true
      cast(mkal.adatu as vdm_v_validity_start_date preserving type) as ValidityStartDate,
      @Semantics.businessDate.to: true
      cast(mkal.bdatu as vdm_v_validity_end_date preserving type)   as ValidityEndDate,
      mkal.mksp                                                     as ProductionVersionIsLocked,
      mkal.serkz                                                    as ProdnVersIsAllowedForRptvMfg,
      mkal.versind                                                  as HasVersionCtrldBOMAndRouting,
      mkal.diffplanexemstr                                          as PlanningAndExecutionBOMIsDiff,
      mkal.exe_stlan                                                as ExecBillOfMaterialVariantUsage,
      mkal.exe_stlal                                                as ExecBillOfMaterialVariant,
      mkal.exe_plnty                                                as ExecBillOfOperationsType,
      mkal.exe_plnnr                                                as ExecBillOfOperationsGroup,
      mkal.exe_alnal                                                as ExecBillOfOperationsVariant,
      mkal.ewm_lgnum                                                as Warehouse,
      mkal.ewm_lgpla                                                as DestinationStorageBin,
      mkal.beskz                                                    as ProcurementType,
      @ObjectModel.foreignKey.association: '_MatlProcurementProfile'
      mkal.sobsl                                                    as MaterialProcurementProfile,
      mkal.ewahr                                                    as UsgeProbltyWthVersCtrlInPct,

      // Quantity and UoM

      // @Semantics.unitOfMeasure: true; commented for cds2.0

      _Product.BaseUnit                                             as MaterialBaseUnit,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      @DefaultAggregation: #MIN
      mkal.bstmi                                                    as MaterialMinLotSizeQuantity,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      @DefaultAggregation: #MAX
      mkal.bstma                                                    as MaterialMaxLotSizeQuantity,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      mkal.losgr                                                    as CostingLotSize,

      // kept for compatibility reasons

      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'QuantityDistributionKey'
      mkal.verto                                                    as DistributionKey,

      @ObjectModel.foreignKey.association: '_TargetProductionSupplyArea'
      cast(mkal.tsa_prvbe as pph_prvbe  preserving type)            as TargetProductionSupplyArea,

      // Associations

      _Material,
      _MaterialText,
      _Product,
      _ProductPlant,
      _Plant,
      _BillOfOperationsType,
      _BillOfOperationsGroup,
      _BillOfOperations,
      _ProductionLine,
      _ProductionVersionGroup,
      _ProductionSupplyArea,
      _TargetProductionSupplyArea,
      _MainProduct,
      _OriglBatchReferenceMaterial,
      _IssuingStorageLocation,
      _ReceivingStorageLocation,
      _MatlCostApportionmentStruc,
      _QuantityDistributionKey,
      _MaterialBaseUnit,
      _MatlProcurementProfile,
      mkal_aend._ChangeMaster
};