I_ManufacturingOrderStatus

DDL: I_MANUFACTURINGORDERSTATUS Type: view_entity COMPOSITE Package: VDM_PP_SFC

Manufacturing Order Status

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

Data Sources (2)

SourceAliasJoin Type
I_OrderBasic aufk from
I_StatusObjectStatus jest inner

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_MfgOrderCategory _MfgOrderCategory $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory -- to root/parent
[1..1] I_ManufacturingOrder _ManufacturingOrder $projection.ManufacturingOrder = _ManufacturingOrder.ManufacturingOrder -- to child
[0..*] I_ManufacturingOrderStatusText _Text $projection.ManufacturingOrder = _Text.ManufacturingOrder and $projection.StatusCode = _Text.StatusCode

Annotations (15)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true 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 Status view

Fields (14)

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
_MfgOrderCategory _MfgOrderCategory
_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.dataExtraction.enabled: true
@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 Status'
-- CDS view for all system and user status of a manufacturing order

define view entity I_ManufacturingOrderStatus
    as select from I_OrderBasic         as aufk
       inner join  I_StatusObjectStatus as jest on jest.StatusObject = aufk.ObjectInternalID

    association [1..1] to I_MfgOrderCategory   as _MfgOrderCategory   on  $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory
 -- to root/parent
    association [1..1] to I_ManufacturingOrder as _ManufacturingOrder on  $projection.ManufacturingOrder = _ManufacturingOrder.ManufacturingOrder
--  to child
    association [0..*] to I_ManufacturingOrderStatusText as _Text     on  $projection.ManufacturingOrder = _Text.ManufacturingOrder
                                                                      and $projection.StatusCode         = _Text.StatusCode
{
      @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,

      @ObjectModel.foreignKey.association: '_MfgOrderCategory'
      aufk.OrderCategory as ManufacturingOrderCategory,

      // Associations

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