@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'
define view I_MajorAssemblyProjectStatus as select from I_Project as p
left outer join I_StatusObjectStatusBasic as _isCreated on _isCreated.StatusObject = p.ProjectObject and _isCreated.StatusCode = 'I0001' // OrderIscreated
left outer join I_StatusObjectStatusBasic as _isReleased on _isReleased.StatusObject = p.ProjectObject and _isReleased.StatusCode = 'I0002' // OrderIsReleased
left outer join I_StatusObjectStatusBasic as _isConfirmed on _isConfirmed.StatusObject = p.ProjectObject and _isConfirmed.StatusCode = 'I0009' // OrderIsConfirmed
left outer join I_StatusObjectStatusBasic as _isPartConf on _isPartConf.StatusObject = p.ProjectObject and _isPartConf.StatusCode = 'I0010' // OrderIsPartiallyConfirmed
left outer join I_StatusObjectStatusBasic as _isDeleted on _isDeleted.StatusObject = p.ProjectObject and _isDeleted.StatusCode = 'I0013' // OrderIsDeleted
left outer join I_StatusObjectStatusBasic as _isPartRel on _isPartRel.StatusObject = p.ProjectObject and _isPartRel.StatusCode = 'I0042' // OrderIsPartiallyReleased
left outer join I_StatusObjectStatusBasic as _isLocked on _isLocked.StatusObject = p.ProjectObject and _isLocked.StatusCode = 'I0043' // OrderIsLocked
left outer join I_StatusObjectStatusBasic as _isTechCompl on _isTechCompl.StatusObject = p.ProjectObject and _isTechCompl.StatusCode = 'I0045' // OrderIsTechnicallyCompleted
left outer join I_StatusObjectStatusBasic as _isClosed on _isClosed.StatusObject = p.ProjectObject and _isClosed.StatusCode = 'I0046' // OrderIsClosed
left outer join I_StatusObjectStatusBasic as _isMarkedDel on _isMarkedDel.StatusObject = p.ProjectObject and _isMarkedDel.StatusCode = 'I0076' // OrderIsMarkedForDeletion
{
key p.ProjectObject,
// Status
case when _isCreated.StatusCode is null then '' else 'X' end as ObjectIsCreated,
case when _isReleased.StatusCode is null then '' else 'X' end as ObjectIsReleased,
case when _isConfirmed.StatusCode is null then '' else 'X' end as ObjectIsConfirmed,
case when _isPartConf.StatusCode is null then '' else 'X' end as ObjectIsPartiallyConfirmed,
case when _isDeleted.StatusCode is null then '' else 'X' end as ObjectIsDeleted,
case when _isPartRel.StatusCode is null then '' else 'X' end as ObjectIsPartiallyReleased,
case when _isLocked.StatusCode is null then '' else 'X' end as ObjectIsLocked,
case when _isTechCompl.StatusCode is null then '' else 'X' end as ObjectIsTechlyCompleted,
case when _isClosed.StatusCode is null then '' else 'X' end as ObjectIsClosed,
case when _isMarkedDel.StatusCode is null then '' else 'X' end as ObjectIsMarkedForDeletion
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PROJECT",
"I_STATUSOBJECTSTATUSBASIC"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/