I_ManufacturingOrderStatus

DDL: I_MANUFACTURINGORDERSTATUS Type: view_entity COMPOSITE

Manufacturing Order with Status

I_ManufacturingOrderStatus is a Composite CDS View (Fact) that provides data about "Manufacturing Order with Status" in SAP S/4HANA. It reads from 2 data sources (I_OrderBasic, I_StatusObjectStatus) and exposes 13 fields with key fields ManufacturingOrder, StatusCode. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_OrderBasic aufk from
I_StatusObjectStatus jest inner

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_ManufacturingOrder _ManufacturingOrder $projection.ManufacturingOrder = _ManufacturingOrder.ManufacturingOrder
[0..*] I_ManufacturingOrderStatusText _Text

Annotations (14)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
Analytics.dataCategory #FACT view
Analytics.technicalName IMFGORDERSTATUS view
Consumption.ranked true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
Search.searchable true view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #COMPOSITE view
EndUserText.label Manufacturing Order with Status view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY ManufacturingOrder
KEY StatusCode I_StatusObjectStatus StatusCode
StatusObject
StatusProfile I_StatusObjectStatus StatusProfile
IsUserStatus
StatusIsActive
StatusIsInactive I_StatusObjectStatus StatusIsInactive
ManufacturingOrderCategory I_OrderBasic OrderCategory
_ManufacturingOrder _ManufacturingOrder
_Text _Text
_StatusObject I_StatusObjectStatus _StatusObject
_StatusCode I_StatusObjectStatus _StatusCode
_StatusProfile I_StatusObjectStatus _StatusProfile
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AccessControl.privilegedAssociations: ['_StatusObject']
@Analytics.dataCategory: #FACT
@Analytics.technicalName: 'IMFGORDERSTATUS'
@Consumption.ranked: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE, #SEARCHABLE_ENTITY]
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XXL, dataClass: #MIXED}
@Search.searchable: true
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Manufacturing Order with Status'
-- CDS view for all system and user status of a manufacturing order

define root view entity I_ManufacturingOrderStatus
  as select from I_OrderBasic         as aufk
    inner join   I_StatusObjectStatus as jest on jest.StatusObject = aufk.ObjectInternalID
  // -- to root/parent

  association [1..1] to I_ManufacturingOrder           as _ManufacturingOrder on $projection.ManufacturingOrder = _ManufacturingOrder.ManufacturingOrder
  //  to child

  composition [0..*] of I_ManufacturingOrderStatusText as _Text

{
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderStdVH', element: 'ManufacturingOrder' } } ]
      @ObjectModel.text.association: '_Text'
  key cast(aufk.OrderID as manufacturingorder preserving type)          as ManufacturingOrder,
      @ObjectModel.foreignKey.association: '_StatusCode'
      @Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
  key jest.StatusCode,

      @ObjectModel.foreignKey.association: '_StatusObject'
      cast(jest.StatusObject as j_objnr preserving type)                as StatusObject,
      @ObjectModel.foreignKey.association: '_StatusProfile'
      jest.StatusProfile,
      cast(jest.IsUserStatus   as vdm_j_isuserstatus   preserving type) as IsUserStatus,
      cast(jest.StatusIsActive as vdm_j_statusisactive preserving type) as StatusIsActive,
      @Semantics.booleanIndicator
      jest.StatusIsInactive,

      aufk.OrderCategory                                                as ManufacturingOrderCategory,

      // Associations

      @ObjectModel.association.type: [#TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT]
      _ManufacturingOrder,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _Text,
      jest._StatusObject,
      jest._StatusCode,
      jest._StatusProfile
}
where
     aufk.OrderCategory = '10'
  or aufk.OrderCategory = '40';