I_MFGORDERITEMSERIALNUMBER

CDS View

Manufacturing Order Item Serial Number

I_MFGORDERITEMSERIALNUMBER is a CDS View in S/4HANA. Manufacturing Order Item Serial Number. It contains 8 fields. 5 CDS views read from this table.

CDS Views using this table (5)

ViewTypeJoinVDMDescription
A_ProdnOrderItemSerialNumber view_entity from COMPOSITE Production Order Serial Numbers
C_MfgOrderItemSerialNumber view_entity from CONSUMPTION Mfg Order Serial Numbers
I_MfgOrderItemSrlNmbrDataList view_entity from COMPOSITE Output MfgOrderItm SerialNumber DataList
R_ProcOrderItemSerialNumberTP view_entity from TRANSACTIONAL Process Order Item Serial Number - TP
R_ProdnOrderItemSerialNumberTP view_entity from TRANSACTIONAL Production Order Item Serial Number - TP

Fields (8)

KeyField CDS FieldsUsed in Views
KEY ManufacturingOrder ManufacturingOrder,ProcessOrder,ProductionOrder 3
KEY ManufacturingOrderItem ManufacturingOrderItem,ProcessOrderItem,ProductionOrderItem 3
KEY SerialNumber SerialNumber 3
ManufacturingOrderCategory ManufacturingOrderCategory 2
ManufacturingOrderType ProcessOrderType,ProductionOrderType 2
Product Product 3
ProductionPlant ProductionPlant 2
SerialNumberProfile SerialNumberProfile 2
@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
};