P_APIOrderStatus

DDL: P_APIORDERSTATUS Type: view_entity COMPOSITE Package: ODATA_PP_API_PRODORDER_2

Production Order Status

P_APIOrderStatus is a Composite CDS View that provides data about "Production Order Status" in SAP S/4HANA. It reads from 2 data sources (I_OrderBasic, I_StatusObjectStatusBasic) and exposes 7 fields with key fields ManufacturingOrder, StatusCode. It has 2 associations to related views. Part of development package ODATA_PP_API_PRODORDER_2.

Data Sources (2)

SourceAliasJoin Type
I_OrderBasic _order from
I_StatusObjectStatusBasic _StatusBasic inner

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_SystemStatusText _SystemStatusText $projection.StatusCode = _SystemStatusText.SystemStatus and _SystemStatusText.Language = $session.system_language
[1..1] I_UserStatusText _UserStatusText $projection.statusprofile = _UserStatusText.StatusProfile and $projection.StatusCode = _UserStatusText.UserStatus and _UserStatusText.Language = $session.system_language

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
AccessControl.personalData.blocking #NOT_REQUIRED view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.private true view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY ManufacturingOrder I_OrderBasic OrderID
KEY StatusCode I_StatusObjectStatusBasic StatusCode
ManufacturingOrderCategory I_OrderBasic OrderCategory
StatusProfile
SystemStatusName _SystemStatusText SystemStatusName
SystemStatusShortName _SystemStatusText SystemStatusShortName
_UserStatusText _UserStatusText
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #NOT_REQUIRED
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType: {serviceQuality: #A, sizeCategory: #XL, dataClass: #MIXED}
@VDM.private:true

define view entity P_APIOrderStatus   
as select from I_OrderBasic as _order
                                                      //Get Manufacturing Order

    inner join    I_StatusObjectStatusBasic  as _StatusBasic  on _order.ObjectInternalID   = _StatusBasic.StatusObject
                                                                   and _StatusBasic.StatusIsInactive = ''     
    left outer to one join I_SystemStatus             as _SystemStatus on _SystemStatus.SystemStatus = _StatusBasic.StatusCode
                                                      //Get system status short name and description

    association [1..1] to     I_SystemStatusText           as _SystemStatusText  on $projection.StatusCode = _SystemStatusText.SystemStatus
                                                                      and _SystemStatusText.Language = $session.system_language
                                                                        
                                                      //Get user status short name and description

   association [1..1] to     I_UserStatusText           as _UserStatusText  on $projection.statusprofile = _UserStatusText.StatusProfile
                                                                      and $projection.StatusCode    = _UserStatusText.UserStatus
                                                                      and _UserStatusText.Language    = $session.system_language
{
      // Key

  @ObjectModel.sapObjectNodeTypeReference: 'ProductionOrder'
  key _order.OrderID     as ManufacturingOrder,     
  key _StatusBasic.StatusCode,
       _order.OrderCategory as ManufacturingOrderCategory,

       _order._StatusObject.StatusProfile,
//      case when _SystemStatus.StatusIsHidden is null then '' else _SystemStatus.StatusIsHidden end as StatusIsHidden, 

      _SystemStatusText.SystemStatusName,
      _SystemStatusText.SystemStatusShortName,
      // Status  

      _UserStatusText
                
} 
where 
  ( _SystemStatus.StatusIsHidden = '' or _SystemStatus.StatusIsHidden is null)