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.
@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: truedefineview P_ObjectStatus
asselectfrom prps
leftouterjoin prte on prps.pspnr = prte.posnr
and prps.psphi = prte.psphi
leftouterjoin jest on prps.objnr = jest.objnr
leftouterjoin 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
{
keycast ( prps.pspnr as ps_posnr ) as WBSElementInternalID,
prps.objnr as ObjectNumber,
proj.stspr as WBSStatusProfile,
jest.stat as Status,
casewhen jest.stat like 'E%' then 'X'
else ' '
endas IsUserStatus,
_UserStatus._UserStatusText[ 1: Language = $session.system_language ].UserStatusShortName,
_SystemStatus._SystemStatusText[ 1: Language = $session.system_language ].SystemStatusShortName,
casewhen jest.stat like 'E%'
then _UserStatus._UserStatusText[1: Language = $session.system_language].UserStatusName
else
_SystemStatus._SystemStatusText[1: Language = $session.system_language].SystemStatusName
endas 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
}
}*/