P_OrderOpCompStatusBasic

DDL: P_ORDEROPCOMPSTATUSBASIC Type: view_entity COMPOSITE Package: VDM_PP_SFC

Order Operation Component Status

P_OrderOpCompStatusBasic is a Composite CDS View that provides data about "Order Operation Component Status" in SAP S/4HANA. It reads from 1 data source (I_StatusObjectStatusBasic) and exposes 7 fields with key field ObjectInternalID. It has 5 associations to related views. Part of development package VDM_PP_SFC.

Data Sources (1)

SourceAliasJoin Type
I_StatusObjectStatusBasic jest from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_StatusCode _ComponentIsCreatedCode _ComponentIsCreatedCode.StatusCode = 'I0001' and _ComponentIsCreatedCode.StatusProfile = ''
[0..1] I_StatusCode _ComponentIsReleasedCode _ComponentIsReleasedCode.StatusCode = 'I0002' and _ComponentIsReleasedCode.StatusProfile = ''
[0..1] I_StatusCode _ComponentIsPrintedCode _ComponentIsPrintedCode.StatusCode = 'I0007' and _ComponentIsPrintedCode.StatusProfile = ''
[0..1] I_StatusCode _ComponentIsDeletedCode _ComponentIsDeletedCode.StatusCode = 'I0013' and _ComponentIsDeletedCode.StatusProfile = ''
[0..1] I_StatusCode _CompIsCreatedByOrderSplitCode _CompIsCreatedByOrderSplitCode.StatusCode = 'I0487' and _CompIsCreatedByOrderSplitCode.StatusProfile = ''

Annotations (6)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY ObjectInternalID I_StatusObjectStatusBasic StatusObject
_StatusObject _StatusObject
_ComponentIsCreatedCode _ComponentIsCreatedCode
_ComponentIsReleasedCode _ComponentIsReleasedCode
_ComponentIsPrintedCode _ComponentIsPrintedCode
_ComponentIsDeletedCode _ComponentIsDeletedCode
_CompIsCreatedByOrderSplitCode _CompIsCreatedByOrderSplitCode
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.viewType: #COMPOSITE
@VDM.private: true
// provides the non-aggregated component status

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


/*+[hideWarning] { "IDS" : [ "KEY_CHECK", "CALCULATED_FIELD_CHECK" ]  } */
define view entity P_OrderOpCompStatusBasic
  as select from I_StatusObjectStatusBasic as jest
  
  association [0..1] to I_StatusCode as _ComponentIsCreatedCode        on  _ComponentIsCreatedCode.StatusCode    = 'I0001'
                                                                       and _ComponentIsCreatedCode.StatusProfile = ''
  association [0..1] to I_StatusCode as _ComponentIsReleasedCode       on  _ComponentIsReleasedCode.StatusCode    = 'I0002'
                                                                       and _ComponentIsReleasedCode.StatusProfile = ''
  association [0..1] to I_StatusCode as _ComponentIsPrintedCode        on  _ComponentIsPrintedCode.StatusCode    = 'I0007'
                                                                       and _ComponentIsPrintedCode.StatusProfile = ''           
  association [0..1] to I_StatusCode as _ComponentIsDeletedCode        on  _ComponentIsDeletedCode.StatusCode    = 'I0013'
                                                                       and _ComponentIsDeletedCode.StatusProfile = ''
  association [0..1] to I_StatusCode as _CompIsCreatedByOrderSplitCode on  _CompIsCreatedByOrderSplitCode.StatusCode    = 'I0487'
                                                                       and _CompIsCreatedByOrderSplitCode.StatusProfile = ''
{
    // Key

key jest.StatusObject as ObjectInternalID,

    @Semantics.booleanIndicator: true 
    case jest.StatusCode
      when 'I0001' then 'X'
      else ''
    end as MaterialComponentIsCreated,
    @Semantics.booleanIndicator: true 
    case jest.StatusCode
      when 'I0002' then 'X'
      else ''
    end as MaterialComponentIsReleased,
    @Semantics.booleanIndicator: true 
    case jest.StatusCode
      when 'I0007' then 'X'
      else ''
    end as MaterialComponentIsPrinted,
    @Semantics.booleanIndicator: true 
    case jest.StatusCode
      when 'I0013' then 'X'
      else ''
    end as MaterialComponentIsDeleted,
    @Semantics.booleanIndicator: true 
    case jest.StatusCode
      when 'I0487' then 'X'
      else ''
    end as MatlCompIsCreatedByOrderSplit,

    // Associations

    _StatusObject,
    _ComponentIsCreatedCode,
    _ComponentIsReleasedCode,
    _ComponentIsPrintedCode,
    _ComponentIsDeletedCode,
    _CompIsCreatedByOrderSplitCode
}
where
  (     jest.StatusCode       = 'I0001'
    or  jest.StatusCode       = 'I0002'
    or  jest.StatusCode       = 'I0007'
    or  jest.StatusCode       = 'I0013'
--  or  jest.StatusCode       = 'I0291' // no disp.

    or  jest.StatusCode       = 'I0487'
  ) and jest.StatusIsInactive = ' ' 
    and jest.StatusObject like 'OK%';