P_OrderOperationStatus

DDL: P_ORDEROPERATIONSTATUS Type: view_entity COMPOSITE

P_OrderOperationStatus is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_OrderOperationBasic, I_StatusObjectStatus) and exposes 5 fields with key fields OrderInternalID, OrderOperationInternalID.

Data Sources (2)

SourceAliasJoin Type
I_OrderOperationBasic afvc from
I_StatusObjectStatus jest inner

Annotations (7)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (5)

KeyFieldSource TableSource FieldDescription
KEY OrderInternalID I_OrderOperationBasic OrderInternalID
KEY OrderOperationInternalID I_OrderOperationBasic OrderOperationInternalID
Plant I_OrderOperationBasic Plant
ObjectInternalID I_OrderOperationBasic ObjectInternalID
_OrderInternalID I_OrderOperationBasic _OrderInternalID
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@VDM.viewType: #COMPOSITE
@VDM.private: true
// provides the non-aggregated status per order operation (multiple lines per key)

// to be used in aggregation views such as I_OrderOperationStatus only

define view entity P_OrderOperationStatus
  as select from I_OrderOperationBasic as afvc 
    inner join   I_StatusObjectStatus  as jest on  jest.StatusObject     = afvc.ObjectInternalID
                                               and jest.StatusIsInactive = '' 
{
    // Technical Key

key afvc.OrderInternalID,
key afvc.OrderOperationInternalID,

    afvc.Plant,  // for DCLS


    // Status

    afvc.ObjectInternalID,
    case jest.StatusCode
      when 'I0001' then 'X'
      else ''
     end as OperationIsCreated,
    case jest.StatusCode
      when 'I0002' then 'X'
      else ''
    end as OperationIsReleased,
    case jest.StatusCode
      when 'I0007' then 'X'
      else ''
    end as OperationIsPrinted,
    case jest.StatusCode
      when 'I0009' then 'X'
      else ''
    end as OperationIsConfirmed,
    case jest.StatusCode
      when 'I0010' then 'X'
      else ''
    end as OperationIsPartiallyConfirmed,
    case jest.StatusCode
      when 'I0013' then 'X'
      else ''
    end as OperationIsDeleted,
    case jest.StatusCode
      when 'I0045'then 'X'
      else ''
    end as OperationIsTechlyCompleted,
    case jest.StatusCode
      when 'I0046'then 'X'
      else ''
    end as OperationIsClosed,
    case jest.StatusCode
      when 'I0051' then 'X' 
      else '' 
    end as OperationIsConfdByMilestone,
    case jest.StatusCode
      when 'I0052' then 'X' 
      else '' 
    end as OperationIsManuallyConfirmed,
    case jest.StatusCode
      when 'I0117' then 'X'
      else ''
    end as OperationIsScheduled,
    case jest.StatusCode
      when 'I0377' then 'X'
      else ''
    end as OperationIsPartiallyDelivered,
    case jest.StatusCode
      when 'I0378' then 'X'
      else ''
    end as OperationIsDelivered,
    
    afvc._OrderInternalID
}
where
  (
       jest.StatusCode       = 'I0001'
    or jest.StatusCode       = 'I0002'
    or jest.StatusCode       = 'I0007'
    or jest.StatusCode       = 'I0009'
    or jest.StatusCode       = 'I0010'
    or jest.StatusCode       = 'I0013'
    or jest.StatusCode       = 'I0045'
    or jest.StatusCode       = 'I0046'
    or jest.StatusCode       = 'I0051'
    or jest.StatusCode       = 'I0052'
    or jest.StatusCode       = 'I0117'
    or jest.StatusCode       = 'I0377'
    or jest.StatusCode       = 'I0378'
  );
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ORDEROPERATIONBASIC",
"I_STATUSOBJECTSTATUS"
],
"ASSOCIATED":
[
"I_ORDERINTERNALID"
],
"BASE":
[
"I_ORDEROPERATIONBASIC"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/