I_ProdnOrderItemSerialNumber

DDL: I_PRODNORDERITEMSERIALNUMBER Type: view_entity COMPOSITE Package: VDM_PP_SFC

Serial Number of Production Order Item

I_ProdnOrderItemSerialNumber is a Composite CDS View (Fact) that provides data about "Serial Number of Production Order Item" in SAP S/4HANA. It reads from 2 data sources (I_ProductionOrderItem, I_MaintenanceItemObject) and exposes 23 fields with key fields ProductionOrder, ProductionOrderItem. It has 3 associations to related views. Part of development package VDM_PP_SFC.

Data Sources (2)

SourceAliasJoin Type
I_ProductionOrderItem item from
I_MaintenanceItemObject objk inner

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_ProductionOrder _ProductionOrder $projection.ProductionOrder = _ProductionOrder.ProductionOrder
[1..1] I_Equipment _Equipment $projection.Equipment = _Equipment.Equipment -- new associations for full coverage of text relations
[0..*] I_EquipmentText _EquipmentText $projection.Equipment = _EquipmentText.Equipment

Annotations (14)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
Analytics.technicalName IPRODNORDITMSERN view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.sapObjectNodeType.name ProductionOrderSerialNumber 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 Serial Number of Production Order Item view

Fields (23)

KeyFieldSource TableSource FieldDescription
KEY ProductionOrder I_ProductionOrderItem ProductionOrder
KEY ProductionOrderItem I_ProductionOrderItem ProductionOrderItem
MaintenanceItemObjectList I_MaintenanceItemObject MaintenanceItemObjectList
MaintenanceItemObject I_MaintenanceItemObject MaintenanceItemObject
Equipment
Product I_ProductionOrderItem Product
ProductionPlant I_ProductionOrderItem ProductionPlant
PlanningPlant I_ProductionOrderItem PlanningPlant
ProductionOrderType I_ProductionOrderItem ProductionOrderType
SerialNumberProfile
SerialNumberAssignmentDate sern SerialNumberAssignmentDate
_ProductionOrder _ProductionOrder
_ProductionOrderItem _ProductionOrderItem
_Equipment _Equipment
_ProductionOrderType I_ProductionOrderItem _ProductionOrderType
_Product I_ProductionOrderItem _Product
_ProductionPlant I_ProductionOrderItem _ProductionPlant
_PlanningPlant I_ProductionOrderItem _PlanningPlant
_SerialNumberProfile I_ProductionOrderItem _SerialNumberProfile
Newtextrelations_EquipmentText
_ProductText I_ProductionOrderItem _ProductText
_ProductionPlantText I_ProductionOrderItem _ProductionPlantText
_PlanningPlantText I_ProductionOrderItem _PlanningPlantText
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@Analytics.dataCategory: #FACT
@Analytics.dataExtraction.enabled: true
@Analytics.technicalName: 'IPRODNORDITMSERN'
@Metadata.ignorePropagatedAnnotations: true 
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #EXTRACTION_DATA_SOURCE, #SQL_DATA_SOURCE]
@ObjectModel.sapObjectNodeType.name: 'ProductionOrderSerialNumber'
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Serial Number of Production Order Item'

define view entity I_ProdnOrderItemSerialNumber
    as select from I_ProductionOrderItem        as item
      inner join ( I_MaintObjListLogisticsOrder as sern
        inner join I_MaintenanceItemObject      as objk on  objk.MaintenanceItemObjectList = sern.MaintenanceObjectList )
                                                        on  sern.LogisticsOrder = item.ProductionOrder
                                                        and sern.OrderItem      = item.ProductionOrderItem
                       
     association to parent I_ProductionOrderItem as _ProductionOrderItem on  $projection.ProductionOrder     = _ProductionOrderItem.ProductionOrder
                                                                         and $projection.ProductionOrderItem = _ProductionOrderItem.ProductionOrderItem
     association [1..1] to I_ProductionOrder     as _ProductionOrder     on  $projection.ProductionOrder = _ProductionOrder.ProductionOrder
     association [1..1] to I_Equipment           as _Equipment           on  $projection.Equipment = _Equipment.Equipment  
 
--   new associations for full coverage of text relations
     association [0..*] to I_EquipmentText       as _EquipmentText       on  $projection.Equipment = _EquipmentText.Equipment

{
      // Key

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductionOrderStdVH', element: 'ProductionOrder' } } ]
      @ObjectModel.foreignKey.association: '_ProductionOrder'
  key item.ProductionOrder,
  key item.ProductionOrderItem,
      -- representative key
  key cast(objk.SerialNumber as gernr preserving type) as SerialNumber,

      // Technical Key

      @Consumption.hidden: true
      objk.MaintenanceItemObjectList,    //OBKNR

      @Consumption.hidden: true
      objk.MaintenanceItemObject,        //OBZAE


      // Assignments

      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_EquipmentStdVH', element: 'Equipment' } } ]
      @ObjectModel.foreignKey.association: '_Equipment'
      @ObjectModel.text.association: '_EquipmentText'
      cast(objk.Equipment as equnr preserving type) as Equipment,
      @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: '_PlanningPlant'
      item.PlanningPlant,
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductionOrderTypeStdVH', element: 'ProductionOrderType' } } ]
      @ObjectModel.foreignKey.association: '_ProductionOrderType'
      item.ProductionOrderType,
--    @ObjectModel.foreignKey.association: '_SerialNumberProfile'
      item.SerialNumberProfile,

      // Date

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

      // Association,

      _ProductionOrder,
      _ProductionOrderItem,
      _Equipment,
      item._ProductionOrderType,
      item._Product,
      item._ProductionPlant,
      item._PlanningPlant,
      item._SerialNumberProfile,
      -- New text relations
      _EquipmentText,
      item._ProductText,
      item._ProductionPlantText,
      item._PlanningPlantText
};