I_MfgOrderItemSerialNumber

DDL: I_MFGORDERITEMSERIALNUMBER Type: view_entity COMPOSITE Package: VDM_PP_SFC

Manufacturing Order Item Serial Number

I_MfgOrderItemSerialNumber is a Composite CDS View (Dimension) that provides data about "Manufacturing Order Item Serial Number" in SAP S/4HANA. It reads from 2 data sources (I_ManufacturingOrderItem, I_MaintenanceItemObject) and exposes 30 fields with key fields ManufacturingOrder, ManufacturingOrderItem. It has 4 associations to related views. Part of development package VDM_PP_SFC.

Data Sources (2)

SourceAliasJoin Type
I_ManufacturingOrderItem item from
I_MaintenanceItemObject objk inner

Associations (4)

CardinalityTargetAliasCondition
[1..1] I_ManufacturingOrderItem _MfgOrderItem $projection.ManufacturingOrder = _MfgOrderItem.ManufacturingOrder and $projection.ManufacturingOrderItem = _MfgOrderItem.ManufacturingOrderItem
[1..1] I_Equipment _Equipment $projection.Equipment = _Equipment.Equipment
[1..1] I_Equipment _Equipment_2 $projection.Equipment_2 = _Equipment_2.Equipment -- start new associations for full coverage of text relations
[0..*] I_EquipmentText _EquipmentText $projection.Equipment_2 = _EquipmentText.Equipment -- end new associations for full coverage of text relations

Annotations (15)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
Analytics.dataCategory #DIMENSION view
Analytics.technicalName IPPMFGORDITMSERN view
Analytics.internalName #LOCAL view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.representativeKey SerialNumber view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #COMPOSITE view
EndUserText.label Manufacturing Order Item Serial Number view

Fields (30)

KeyFieldSource TableSource FieldDescription
KEY ManufacturingOrder I_ManufacturingOrderItem ManufacturingOrder
KEY ManufacturingOrderItem I_ManufacturingOrderItem ManufacturingOrderItem
MaintenanceItemObjectList I_MaintenanceItemObject MaintenanceItemObjectList
MaintenanceItemObject I_MaintenanceItemObject MaintenanceItemObject
Equipment I_MaintenanceItemObject Equipment
Equipment_2
Product I_ManufacturingOrderItem Product
ProductionPlant I_ManufacturingOrderItem ProductionPlant
PlanningPlant I_ManufacturingOrderItem PlanningPlant
MRPController I_ManufacturingOrderItem MRPController
ProductionSupervisor I_ManufacturingOrderItem ProductionSupervisor
ManufacturingOrderCategory I_ManufacturingOrderItem ManufacturingOrderCategory
ManufacturingOrderType I_ManufacturingOrderItem ManufacturingOrderType
DocumentDate sern SerialNumberAssignmentDate
_MfgOrder I_ManufacturingOrderItem _MfgOrder
_MfgOrderItem _MfgOrderItem
_MfgOrderCategory I_ManufacturingOrderItem _MfgOrderCategory
_MfgOrderType I_ManufacturingOrderItem _MfgOrderType
_Equipment _Equipment
_Equipment_2 _Equipment_2
_Product I_ManufacturingOrderItem _Product
_ProductionPlant I_ManufacturingOrderItem _ProductionPlant
_ProductionSupervisor I_ManufacturingOrderItem _ProductionSupervisor
_MRPController I_ManufacturingOrderItem _MRPController
_MRPPlant I_ManufacturingOrderItem _MRPPlant
_SerialNumberProfile I_ManufacturingOrderItem _SerialNumberProfile
_EquipmentText _EquipmentText
_ProductText I_ManufacturingOrderItem _ProductText
_ProductionPlantText I_ManufacturingOrderItem _ProductionPlantText
_PlanningPlantText I_ManufacturingOrderItem _PlanningPlantText
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AccessControl.privilegedAssociations: ['_MRPController', '_ProductionSupervisor']
@Analytics.dataCategory: #DIMENSION
@Analytics.technicalName: 'IPPMFGORDITMSERN'
@Analytics.internalName: #LOCAL
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true 
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION]
@ObjectModel.representativeKey: 'SerialNumber'
@ObjectModel.semanticKey: ['ManufacturingOrder', 'ManufacturingOrderItem', 'SerialNumber']
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Manufacturing Order Item Serial Number'

define view entity I_MfgOrderItemSerialNumber
  as select from I_ManufacturingOrderItem     as item
    inner join ( I_MaintObjListLogisticsOrder as sern
      inner join I_MaintenanceItemObject      as objk on  objk.MaintenanceItemObjectList = sern.MaintenanceObjectList )
                                                      on  sern.LogisticsOrder = item.ManufacturingOrder
                                                      and sern.OrderItem      = item.ManufacturingOrderItem
                                                 
   association [1..1] to I_ManufacturingOrderItem as _MfgOrderItem  on  $projection.ManufacturingOrder     = _MfgOrderItem.ManufacturingOrder
                                                                    and $projection.ManufacturingOrderItem = _MfgOrderItem.ManufacturingOrderItem
   association [1..1] to I_Equipment              as _Equipment     on  $projection.Equipment              = _Equipment.Equipment   // deprecated

   association [1..1] to I_Equipment              as _Equipment_2   on  $projection.Equipment_2            = _Equipment_2.Equipment                                        
-- start new associations for full coverage of text relations
   association [0..*] to I_EquipmentText          as _EquipmentText on  $projection.Equipment_2 = _EquipmentText.Equipment
-- end new associations for full coverage of text relations
{
      // Key

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderStdVH', element: 'ManufacturingOrder' } } ]
      @ObjectModel.foreignKey.association: '_MfgOrder'
  key item.ManufacturingOrder,
      @ObjectModel.foreignKey.association: '_MfgOrderItem'
  key item.ManufacturingOrderItem,
      -- representative key
  key cast(objk.SerialNumber as gernr preserving type) as SerialNumber,

      // Technical Key  

      objk.MaintenanceItemObjectList,    //OBKNR

      objk.MaintenanceItemObject,        //OBZAE


      // Assignments

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'Equipment_2'
      @ObjectModel.foreignKey.association: '_Equipment'
      objk.Equipment,                                                  // w/o conv. exit

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_EquipmentStdVH', element: 'Equipment' } } ]
      @ObjectModel.foreignKey.association: '_Equipment_2'
      @ObjectModel.text.association: '_EquipmentText'
      cast(objk.Equipment as equnr preserving type)    as Equipment_2, // with conv. exit     

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductStdVH', element: 'Product' } } ]
      @ObjectModel.foreignKey.association: '_Product'
      @ObjectModel.text.association: '_ProductText'
      item.Product,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
      @ObjectModel.foreignKey.association: '_ProductionPlant'
      item.ProductionPlant,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_PlantStdVH', element: 'Plant' } } ]
      @ObjectModel.foreignKey.association: '_MRPPlant'
      item.PlanningPlant,
      @ObjectModel.foreignKey.association: '_MRPController'
      item.MRPController,
      @ObjectModel.foreignKey.association: '_ProductionSupervisor'
      item.ProductionSupervisor,
      @ObjectModel.foreignKey.association: '_MfgOrderCategory'
      item.ManufacturingOrderCategory,
      @ObjectModel.foreignKey.association: '_MfgOrderType'
      item.ManufacturingOrderType,
--    @ObjectModel.foreignKey.association: '_SerialNumberProfile'
      item.SerialNumberAssgmtProfile                   as SerialNumberProfile,

      // Date

      @Semantics.businessDate.at: true
      sern.SerialNumberAssignmentDate                  as DocumentDate,

      // Associations

      @ObjectModel.association.type: [#TO_COMPOSITION_ROOT]
      item._MfgOrder,
      @ObjectModel.association.type: [#TO_COMPOSITION_PARENT]
      _MfgOrderItem,
      item._MfgOrderCategory,
      item._MfgOrderType,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_Equipment_2'
      _Equipment,
      _Equipment_2,
      item._Product,
      item._ProductionPlant,
      item._ProductionSupervisor,
      item._MRPController,
      item._MRPPlant,
      item._SerialNumberProfile,
      
      // Text relations

      _EquipmentText,
      item._ProductText,
      item._ProductionPlantText,
      item._PlanningPlantText
};