@AbapCatalog.sqlViewName: 'IFECTRLGRELUNIN'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@ObjectModel:{
usageType:{
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
}
}
@EndUserText.label: 'Interface View of FE to Profit Cost Center Group Union'
define view I_FrcElmntToCtrlgRelshpUnion
as select distinct from I_FrcElmntToAcctgCtrlgRelshp as FrcElmntToCtrlgRelshpUnion
left outer to one join I_FrcElmntToCtrlgRelshpDrft as FrcElmntToCtrlgRelshpDrft on FrcElmntToCtrlgRelshpUnion.DfsObjectID = FrcElmntToCtrlgRelshpDrft.DfsObjectID
{
key FrcElmntToCtrlgRelshpUnion.DfsObjectID,
key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x preserving type ) as DfsObjectDraftUUID,
'1' as DfsAssgmtActiveDraft,
FrcElmntToCtrlgRelshpUnion.DfsObjectSubType,
FrcElmntToCtrlgRelshpUnion.DfsObjectPlngStatus,
case FrcElmntToCtrlgRelshpUnion.DfsObjectPlngStatus
when '1' then 3 when '5' then 1 else 2 end as FrcElmntOrgPlngStsCritlty,
FrcElmntToCtrlgRelshpUnion.DfsObjectValdtyStartDate,
FrcElmntToCtrlgRelshpUnion.DfsObjectValdtyEndDate,
FrcElmntToCtrlgRelshpUnion.DfsObjectPlanVersion,
FrcElmntToCtrlgRelshpUnion.DfsObjectType,
FrcElmntToCtrlgRelshpUnion.FrcElmntOrgVariationID,
FrcElmntToCtrlgRelshpUnion.NumberOfForceElementOrg,
FrcElmntToCtrlgRelshpUnion.DfsObjectInfoType,
FrcElmntToCtrlgRelshpUnion.DfsObjectConcatenatedID,
FrcElmntToCtrlgRelshpUnion.FrcElmntOrgGroupName,
FrcElmntToCtrlgRelshpUnion.FrcElmntOrgControllingArea,
FrcElmntToCtrlgRelshpUnion.DfsObjRelshpLastChgdDate,
FrcElmntToCtrlgRelshpUnion.DfsObjRelshpLastChgdByUser,
case FrcElmntToCtrlgRelshpUnion.DfsObjectSubType
when '0106'
then FrcElmntToCtrlgRelshpUnion.FrcElmntOrgGroupName
else ' '
end as FrcElmntOrgProfitCtrGrpName,
case FrcElmntToCtrlgRelshpUnion.DfsObjectSubType
when '0101'
then FrcElmntToCtrlgRelshpUnion.FrcElmntOrgGroupName
else ' '
end as FrcElmntOrgCostCenterGrpName,
cast( 'X' as boole_d preserving type ) as IsActiveEntity,
cast( ' ' as boole_d preserving type ) as HasActiveEntity,
case
// when( DraftDocument.DfsAssgmtUUID is null ) then cast( ' ' as boole_d preserving type )
when( FrcElmntToCtrlgRelshpDrft.DfsObjectDraftUUID is null ) then cast( ' ' as boole_d preserving type )
else cast( 'X' as boole_d preserving type )
end as HasDraftEntity,
cast( 3 as int1) as Criticality
// FrcElmntToCtrlgRelshpUnion.FrcElmntOrgPlngStsCritlty
}
union all select from I_FrcElmntToCtrlgRelshpDrft as FrcElmntToCtrlgRelshpDrft
inner join I_DraftAdministrativeData on I_DraftAdministrativeData.DraftUUID = FrcElmntToCtrlgRelshpDrft.DfsObjectDraftUUID
{
key FrcElmntToCtrlgRelshpDrft.DfsObjectID,
key FrcElmntToCtrlgRelshpDrft.DfsObjectDraftUUID,
case
// Locked by somebody else
when(I_DraftAdministrativeData.DraftIsProcessedByMe <> 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe <> 'X' and
I_DraftAdministrativeData.InProcessByUser <> ' ') then '2' //2 = Locked
// Locked by somebody else
when (I_DraftAdministrativeData.DraftIsProcessedByMe <> 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe = 'X' and
I_DraftAdministrativeData.InProcessByUser <> ' ') then '2'
when (I_DraftAdministrativeData.DraftIsProcessedByMe = 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe = 'X' and
I_DraftAdministrativeData.InProcessByUser = ' ' ) then '3' //3 = Draft
when (I_DraftAdministrativeData.DraftIsProcessedByMe = ' ' and
I_DraftAdministrativeData.DraftIsCreatedByMe = 'X' and
I_DraftAdministrativeData.InProcessByUser = ' ' ) then '3'
when (I_DraftAdministrativeData.DraftIsProcessedByMe = 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe <> 'X' and
I_DraftAdministrativeData.InProcessByUser <> ' ' ) then '3'
when (I_DraftAdministrativeData.DraftIsProcessedByMe = 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe = 'X' and
I_DraftAdministrativeData.InProcessByUser <> ' ' ) then '3'
when (I_DraftAdministrativeData.DraftIsProcessedByMe <> 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe <> 'X' and
I_DraftAdministrativeData.InProcessByUser = ' ' ) then '4' //4 = Draft by Other
else '0'
end as DfsAssgmtActiveDraft,
FrcElmntToCtrlgRelshpDrft.DfsObjectSubType,
FrcElmntToCtrlgRelshpDrft.DfsObjectPlngStatus,
case FrcElmntToCtrlgRelshpDrft.DfsObjectPlngStatus
when '1' then 3 when '5' then 1 else 2 end as FrcElmntOrgPlngStsCritlty,
FrcElmntToCtrlgRelshpDrft.DfsObjectValdtyStartDate,
FrcElmntToCtrlgRelshpDrft.DfsObjectValdtyEndDate,
FrcElmntToCtrlgRelshpDrft.DfsObjectPlanVersion,
FrcElmntToCtrlgRelshpDrft.DfsObjectType,
FrcElmntToCtrlgRelshpDrft.FrcElmntOrgVariationID,
FrcElmntToCtrlgRelshpDrft.NumberOfForceElementOrg,
FrcElmntToCtrlgRelshpDrft.DfsObjectInfoType,
FrcElmntToCtrlgRelshpDrft.DfsObjectConcatenatedID,
FrcElmntToCtrlgRelshpDrft.FrcElmntOrgGroupName,
FrcElmntToCtrlgRelshpDrft.FrcElmntOrgControllingArea,
// FrcElmntToProfitCostCtrDraft.frcelmntorgplngstscritlty,
FrcElmntToCtrlgRelshpDrft.DfsObjRelshpLastChgdDate,
FrcElmntToCtrlgRelshpDrft.DfsObjRelshpLastChgdByUser,
case DfsObjectSubType
when '0106'
then FrcElmntToCtrlgRelshpDrft.FrcElmntOrgGroupName
else ' '
end as FrcElmntOrgProfitCtrGrpName,
case DfsObjectSubType
when '0101'
then FrcElmntOrgGroupName
else ' '
end as FrcElmntOrgCostCenterGrpName,
cast( ' ' as boole_d preserving type ) as IsActiveEntity,
FrcElmntToCtrlgRelshpDrft.HasActiveEntity,
cast( ' ' as boole_d preserving type) as HasDraftEntity,
case
// Locked by somebody else
when(I_DraftAdministrativeData.DraftIsProcessedByMe <> 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe <> 'X' and
I_DraftAdministrativeData.InProcessByUser <> ' ') then cast( 1 as int1) //2 = Locked
// Locked by somebody else
when (I_DraftAdministrativeData.DraftIsProcessedByMe <> 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe = 'X' and
I_DraftAdministrativeData.InProcessByUser <> ' ') then cast( 1 as int1)
when (I_DraftAdministrativeData.DraftIsProcessedByMe = 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe = 'X' and
I_DraftAdministrativeData.InProcessByUser = ' ' ) then cast( 2 as int1) //3 = Draft
when (I_DraftAdministrativeData.DraftIsProcessedByMe = ' ' and
I_DraftAdministrativeData.DraftIsCreatedByMe = 'X' and
I_DraftAdministrativeData.InProcessByUser = ' ' ) then cast( 2 as int1)
when (I_DraftAdministrativeData.DraftIsProcessedByMe = 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe <> 'X' and
I_DraftAdministrativeData.InProcessByUser <> ' ' ) then cast( 2 as int1)
when (I_DraftAdministrativeData.DraftIsProcessedByMe = 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe = 'X' and
I_DraftAdministrativeData.InProcessByUser <> ' ' ) then cast( 2 as int1)
when (I_DraftAdministrativeData.DraftIsProcessedByMe <> 'X' and
I_DraftAdministrativeData.DraftIsCreatedByMe <> 'X' and
I_DraftAdministrativeData.InProcessByUser = ' ' ) then cast( 1 as int1) //4 = Draft by Other
else cast( 0 as int1)
end as Criticality
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_DRAFTADMINISTRATIVEDATA",
"I_FRCELMNTTOACCTGCTRLGRELSHP",
"I_FRCELMNTTOCTRLGRELSHPDRFT"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/