I_MajorAssemblyProjectStatus is a Composite CDS View that provides data about "To get Project Status Description" in SAP S/4HANA. It reads from 1 data source (I_Project) and exposes 9 fields with key field ProjectObject.
@AbapCatalog.sqlViewName: 'IPROJECTSTATUS'
@AbapCatalog.compiler.compareFilter: true@AbapCatalog.preserveKey: true@AccessControl.authorizationCheck: #CHECK@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel.usageType:{serviceQuality: #C, sizeCategory : #XL, dataClass: #MIXED }@ObjectModel.representativeKey: 'ProjectObject'
@EndUserText.label: 'To get Project Status Description'
defineview I_MajorAssemblyProjectStatus asselectfrom I_Project as p
leftouter to one join I_StatusObjectStatusBasic as _isCreated on _isCreated.StatusObject = p.ProjectObject and _isCreated.StatusCode = 'I0001' and _isCreated.StatusIsInactive = ''// OrderIscreated
leftouter to one join I_StatusObjectStatusBasic as _isReleased on _isReleased.StatusObject = p.ProjectObject and _isReleased.StatusCode = 'I0002' and _isReleased.StatusIsInactive = ''// OrderIsReleased
//leftouter to one join I_StatusObjectStatusBasic as _isConfirmed on _isConfirmed.StatusObject = p.ProjectObject and _isConfirmed.StatusCode = 'I0009' // OrderIsConfirmed
//leftouter to one join I_StatusObjectStatusBasic as _isPartConf on _isPartConf.StatusObject = p.ProjectObject and _isPartConf.StatusCode = 'I0010' // OrderIsPartiallyConfirmed
leftouter to one join I_StatusObjectStatusBasic as _isDeleted on _isDeleted.StatusObject = p.ProjectObject and _isDeleted.StatusCode = 'I0013' and _isDeleted.StatusIsInactive = ''// OrderIsDeleted
leftouter to one join I_StatusObjectStatusBasic as _isPartRel on _isPartRel.StatusObject = p.ProjectObject and _isPartRel.StatusCode = 'I0042' and _isPartRel.StatusIsInactive = ''// OrderIsPartiallyReleased
//leftouter to one join I_StatusObjectStatusBasic as _isLocked on _isLocked.StatusObject = p.ProjectObject and _isLocked.StatusCode = 'I0043' // OrderIsLocked
leftouter to one join I_StatusObjectStatusBasic as _isTechCompl on _isTechCompl.StatusObject = p.ProjectObject and _isTechCompl.StatusCode = 'I0045' and _isTechCompl.StatusIsInactive = ''// OrderIsTechnicallyCompleted
leftouter to one join I_StatusObjectStatusBasic as _isClosed on _isClosed.StatusObject = p.ProjectObject and _isClosed.StatusCode = 'I0046' and _isClosed.StatusIsInactive = ''// OrderIsClosed
leftouter to one join I_StatusObjectStatusBasic as _isMarkedDel on _isMarkedDel.StatusObject = p.ProjectObject and _isMarkedDel.StatusCode = 'I0076' and _isMarkedDel.StatusIsInactive = ''// OrderIsMarkedForDeletion
leftouter to one join I_StatusObjectStatusBasic as _isMastDataLock on _isMastDataLock.StatusObject = p.ProjectObject and _isMastDataLock.StatusCode = 'I0065' and _isMastDataLock.StatusIsInactive = ''// OrderIsMarkedForDeletion
{
key p.ProjectObject,
// Status
casewhen _isCreated.StatusCode isnullthen '' else 'X' endas ObjectIsCreated,
casewhen _isReleased.StatusCode isnullthen '' else 'X' endas ObjectIsReleased,
// casewhen _isConfirmed.StatusCode isnullthen '' else 'X' endas ObjectIsConfirmed,
//casewhen _isPartConf.StatusCode isnullthen '' else 'X' endas ObjectIsPartiallyConfirmed,
casewhen _isDeleted.StatusCode isnullthen '' else 'X' endas ObjectIsDeleted,
casewhen _isPartRel.StatusCode isnullthen '' else 'X' endas ObjectIsPartiallyReleased,
//casewhen _isLocked.StatusCode isnullthen '' else 'X' endas ObjectIsLocked,
casewhen _isTechCompl.StatusCode isnullthen '' else 'X' endas ObjectIsTechlyCompleted,
casewhen _isClosed.StatusCode isnullthen '' else 'X' endas ObjectIsClosed,
casewhen _isMarkedDel.StatusCode isnullthen '' else 'X' endas ObjectIsMarkedForDeletion,
casewhen _isMastDataLock.StatusCode isnullthen '' else 'X' endas ObjectIsMasterDataLocked
}