A_ProductionOrderStatus

DDL: A_PRODUCTIONORDERSTATUS Type: view_entity COMPOSITE Package: ODATA_PP_API_PRODORDER

API Production Order Status

A_ProductionOrderStatus is a Composite CDS View that provides data about "API Production Order Status" in SAP S/4HANA. It reads from 3 data sources (I_MfgOrderStatus, I_StatusCodeText, I_UserStatusText) and exposes 5 fields with key fields ManufacturingOrder, StatusCode. It has 1 association to related views. Part of development package ODATA_PP_API_PRODORDER.

Data Sources (3)

SourceAliasJoin Type
I_MfgOrderStatus _MfgOrderStatus inner
I_StatusCodeText _StatusCodeText left_outer
I_UserStatusText _UserStatusText left_outer

Associations (1)

CardinalityTargetAliasCondition
[1..1] A_ProductionOrder _ProductionOrder $projection.ManufacturingOrder = _ProductionOrder.ProductionOrder

Annotations (8)

NameValueLevelField
EndUserText.label API Production Order Status view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view

Fields (5)

KeyFieldSource TableSource FieldDescription
KEY ManufacturingOrder I_MfgOrderStatus ManufacturingOrder
KEY StatusCode _StatusObject StatusCode
IsUserStatus
StatusNameendasj_txt30asStatusName
_ProductionOrder _ProductionOrder
@EndUserText.label: 'API Production Order Status'
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED}
@VDM.lifecycle.contract.type: #PUBLIC_REMOTE_API

define view entity A_ProductionOrderStatus   
as select distinct from I_StatusObjectActiveStatus as _StatusObject
  //Get Manufacturing Order

    inner join            I_MfgOrderStatus           as _MfgOrderStatus on _MfgOrderStatus.ManufacturingObject = _StatusObject.StatusObject
                                                                        and _MfgOrderStatus.ManufacturingOrderCategory = '10'
  //Get system status short name and description

    left outer join       I_StatusCodeText           as _StatusCodeText on  _StatusObject.StatusCode = _StatusCodeText.StatusCode
                                                                        and _StatusCodeText.Language = $session.system_language
  //Get user status short name and description

    left outer join       I_UserStatusText           as _UserStatusText on  _StatusObject.StatusProfile = _UserStatusText.StatusProfile
                                                                        and _StatusObject.StatusCode    = _UserStatusText.UserStatus
                                                                        and _UserStatusText.Language    = $session.system_language

  association [1..1] to A_ProductionOrder            as _ProductionOrder
                                                     on  $projection.ManufacturingOrder = _ProductionOrder.ProductionOrder
                                                                                                          
{
  key _MfgOrderStatus.ManufacturingOrder,   
  key _StatusObject.StatusCode,
  
      _StatusObject._StatusCode._StatusCodeText[1:Language=$session.system_language].IsUserStatus, 
        
      cast( case _StatusObject._StatusCode._StatusCodeText[1:Language=$session.system_language].IsUserStatus
         when 'X' then _UserStatusText.UserStatusShortName
         else  _StatusCodeText.StatusShortName
         end as j_txt04 ) as StatusShortName,  
         
      cast(case _StatusObject._StatusCode._StatusCodeText[1:Language=$session.system_language].IsUserStatus
        when 'X' then _UserStatusText.UserStatusName
        else _StatusCodeText.StatusName
        end as j_txt30 )  as StatusName,
        _ProductionOrder
                
}