C_Materialsamplestatus is a Consumption CDS View that provides data about "CDS View for Material Sample Statuses" in SAP S/4HANA. It reads from 3 data sources (I_StatusCodeText, I_StatusObjectStatus, I_UserStatusText) and exposes 4 fields with key fields StatusObject, StatusCode.
@AbapCatalog.sqlViewName: 'CSAMPLESTATUS'
@AbapCatalog.compiler.compareFilter: true@ObjectModel.usageType: { serviceQuality: #D, sizeCategory: #M, dataClass: #CUSTOMIZING }@AccessControl.authorizationCheck: #PRIVILEGED_ONLY@EndUserText.label: 'CDS View for Material Sample Statuses'
@VDM.viewType: #CONSUMPTION@ClientHandling.algorithm: #SESSION_VARIABLEdefineview C_Materialsamplestatus
asselectdistinctfrom I_StatusObjectActiveStatus as _StatusObject
innerjoin I_StatusObjectStatus as _STATUSOBJECTSTATUS on _StatusObject.StatusObject = _STATUSOBJECTSTATUS.StatusObject
//Get system status short name and description
leftouterjoin I_StatusCodeText as _StatusCodeText on _StatusObject.StatusCode = _StatusCodeText.StatusCode
and _StatusCodeText.Language = $session.system_language
//Get user status short name and description
leftouterjoin I_UserStatusText as _UserStatusText on _StatusObject.StatusProfile = _UserStatusText.StatusProfile
and _StatusObject.StatusCode = _UserStatusText.UserStatus
and _UserStatusText.Language = $session.system_language
{
@UI.hidden: truekey _StatusObject.StatusObject,
@UI.hidden: truekey _StatusObject.StatusCode,
_StatusObject._StatusCode._StatusCodeText[1:Language=$session.system_language].IsUserStatus,
@UI.lineItem: [{position:10, importance: #HIGH}]@EndUserText.label: 'Status'
@EndUserText.quickInfo: 'Status'
cast( case _StatusObject._StatusCode._StatusCodeText[1:Language=$session.system_language].IsUserStatus
when 'X' then _UserStatusText.UserStatusShortName
else _StatusCodeText.StatusShortName
endas j_txt04 ) as StatusShortName,
@UI.lineItem: [{position:20, importance: #HIGH}]@EndUserText.label: 'Status Text'
@EndUserText.quickInfo: 'Status Text'
cast(case _StatusObject._StatusCode._StatusCodeText[1:Language=$session.system_language].IsUserStatus
when 'X' then _UserStatusText.UserStatusName
else _StatusCodeText.StatusName
endas j_txt30 ) as StatusName
}
where _StatusObject.StatusObject like 'QP%'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_STATUSCODE",
"I_STATUSCODETEXT",
"I_STATUSOBJECTACTIVESTATUS",
"I_STATUSOBJECTSTATUS",
"I_USERSTATUSTEXT"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0
}
}*/