P_ObjectStatus

DDL: P_OBJECTSTATUS SQL: POBJECTSTATUS Type: view BASIC

P_ObjectStatus is a Basic CDS View in SAP S/4HANA. It reads from 4 data sources (jest, proj, prps, prte) and exposes 10 fields with key field WBSElementInternalID. It has 2 associations to related views.

Data Sources (4)

SourceAliasJoin Type
jest jest left_outer
proj proj left_outer
prps prps from
prte prte left_outer

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_UserStatus _UserStatus $projection.Status = _UserStatus.UserStatus and $projection.WBSStatusProfile = _UserStatus.StatusProfile
[0..1] I_SystemStatus _SystemStatus $projection.Status = _SystemStatus.SystemStatus

Annotations (7)

NameValueLevelField
AbapCatalog.sqlViewName POBJECTSTATUS view
ClientDependent true view
VDM.viewType #BASIC view
AbapCatalog.compiler.compareFilter true view
ObjectModel.representativeKey WBSElementInternalID view
AccessControl.authorizationCheck #CHECK view
VDM.private true view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY WBSElementInternalID
ObjectNumber prps objnr
WBSStatusProfile proj stspr
Status jest stat
statlikeEthenXelseendasIsUserStatus
UserStatusShortName
SystemStatusShortName
SystemStatusNameendasStatusName
_UserStatus _UserStatus
_SystemStatus _SystemStatus
@AbapCatalog.sqlViewName: 'POBJECTSTATUS'
@ClientDependent: true
@VDM.viewType: #BASIC
@AbapCatalog.compiler.compareFilter: true
@ObjectModel.representativeKey: 'WBSElementInternalID'
@AccessControl.authorizationCheck: #CHECK
//@EndUserText.label: 'Object status list view'

@VDM.private: true
define view P_ObjectStatus 
as select from prps 
left outer join prte on prps.pspnr = prte.posnr 
                    and prps.psphi = prte.psphi
left outer join jest on prps.objnr = jest.objnr
left outer join proj on proj.pspnr = prps.psphi
association [0..1] to I_UserStatus as _UserStatus 
                     on $projection.Status = _UserStatus.UserStatus 
                    and $projection.WBSStatusProfile = _UserStatus.StatusProfile
association [0..1] to I_SystemStatus as _SystemStatus 
                     on $projection.Status = _SystemStatus.SystemStatus
{
    key cast ( prps.pspnr as ps_posnr ) as WBSElementInternalID,
    prps.objnr as ObjectNumber,
    proj.stspr as WBSStatusProfile,
    jest.stat  as Status,
    case  
        when jest.stat like 'E%' then 'X'
        else   ' '
    end as IsUserStatus,
    _UserStatus._UserStatusText[ 1: Language = $session.system_language ].UserStatusShortName,
    _SystemStatus._SystemStatusText[ 1: Language = $session.system_language ].SystemStatusShortName,
    case  
       when jest.stat like 'E%' 
        then _UserStatus._UserStatusText[1: Language = $session.system_language].UserStatusName
       else
        _SystemStatus._SystemStatusText[1: Language = $session.system_language].SystemStatusName
     end as StatusName,
        
    _UserStatus,
    _SystemStatus
}
where jest.inact = ' ';
        
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SYSTEMSTATUS",
"I_SYSTEMSTATUSTEXT",
"I_USERSTATUS",
"I_USERSTATUSTEXT",
"JEST",
"PROJ",
"PRPS",
"PRTE"
],
"ASSOCIATED":
[
"I_SYSTEMSTATUS",
"I_USERSTATUS"
],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0
}
}*/