@AbapCatalog.sqlViewName: 'IREINTOBJSUBOBJ'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Real Estate Integ Object Subobject'
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
//@ObjectModel.dataCategory: #VALUE_HELP
@VDM.viewType: #COMPOSITE
//@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true
define view I_REIntegrationObjectSubObj
as select from I_REIntegrationObjectBasicData as _REIntegObjLvl0
left outer to one join I_REIntegrationObjectBasicData as _REIntegObjLvl1 on _REIntegObjLvl0.RealEstateExternalID = _REIntegObjLvl1.REParentIntegObjectExternalID
left outer to one join I_REIntegrationObjectBasicData as _REIntegObjLvl2 on _REIntegObjLvl1.RealEstateExternalID = _REIntegObjLvl2.REParentIntegObjectExternalID
left outer to one join I_REIntegrationObjectBasicData as _REIntegObjLvl3 on _REIntegObjLvl2.RealEstateExternalID = _REIntegObjLvl3.REParentIntegObjectExternalID
// association[1..1] to I_REIntegrationObject as _REIntegrationObjLvl0 on _REIntegObjLvl0.RealEstateExternalID = $projection.RealEstateExternalIDLvl0
// association[1..1] to I_REIntegrationObject as _REIntegrationObjLvl1 on _REIntegObjLvl1.RealEstateExternalID = $projection.RealEstateExternalIDLvl1
// association[1..1] to I_REIntegrationObject as _REIntegrationObjLvl2 on _REIntegObjLvl2.RealEstateExternalID = $projection.RealEstateExternalIDLvl2
// association[1..1] to I_REIntegrationObject as _REIntegrationObjLvl3 on _REIntegObjLvl3.RealEstateExternalID = $projection.RealEstateExternalIDLvl3
{
key _REIntegObjLvl0.InternalRealEstateNumber as InternalRealEstateNumberLvl0,
key _REIntegObjLvl1.InternalRealEstateNumber as InternalRealEstateNumberLvl1,
key case _REIntegObjLvl2.REIntegrationObjectType
when 'C4LA' then ' '
else _REIntegObjLvl2.InternalRealEstateNumber
end as InternalRealEstateNumberLvl2,
key case _REIntegObjLvl2.REIntegrationObjectType
when 'C4LA' then _REIntegObjLvl2.InternalRealEstateNumber
else _REIntegObjLvl3.InternalRealEstateNumber
end as InternalRealEstateNumberLvl3,
//Level 0
_REIntegObjLvl0.RealEstateExternalID as RealEstateExternalIDLvl0,
_REIntegObjLvl0.REIntegrationObjectNumber as REIntegrationObjectNumberLvl0,
_REIntegObjLvl0.REIntegrationObjectName as REIntegObjectSiteName,
_REIntegObjLvl0.REIntegrationObjectType as REIntegrationObjectTypeLvl0,
// _REIntegObjLvl0.ValidityStartDate as ValidityStartDateLvl0,
// _REIntegObjLvl0.ValidityEndDate as ValidityEndDateLvl0,
@ObjectModel.foreignKey.association: '_UnitOfMeasureArea'
_REIntegObjLvl0.REAreaUnit as REAreaUnit,
//Level 1
_REIntegObjLvl1.RealEstateExternalID as RealEstateExternalIDLvl1,
_REIntegObjLvl1.REIntegrationObjectNumber as REIntegrationObjectNumberLvl1,
_REIntegObjLvl1.REIntegrationObjectType as REIntegrationObjectTypeLvl1,
// case _REIntegObjLvl1.REIntegrationObjectType
// when 'C4BU' then _REIntegObjLvl1.REIntegrationObjectName
// else ' '
// end as REIntegObjectBuildingName,
// case _REIntegObjLvl1.REIntegrationObjectType
// when 'C4PR' then _REIntegObjLvl1.REIntegrationObjectName
// else ' '
// end as REIntegObjectLandName,
// _REIntegObjLvl1.ValidityStartDate as ValidityStartDateLvl1,
// _REIntegObjLvl1.ValidityEndDate as ValidityEndDateLvl1,
//Level 2
case _REIntegObjLvl2.REIntegrationObjectType
when 'C4LA' then ' '
else _REIntegObjLvl2.RealEstateExternalID
end as RealEstateExternalIDLvl2,
case _REIntegObjLvl2.REIntegrationObjectType
when 'C4LA' then ' '
else _REIntegObjLvl2.REIntegrationObjectNumber
end as REIntegrationObjectNumberLvl2,
case _REIntegObjLvl2.REIntegrationObjectType
when 'C4LA' then ' '
else _REIntegObjLvl2.REIntegrationObjectType
end as REIntegrationObjectTypeLvl2,
// case _REIntegObjLvl2.REIntegrationObjectType
// when 'C4PR' then _REIntegObjLvl2.REIntegrationObjectName
// else ' '
// end as REIntegObjectFloorName,
// _REIntegObjLvl2.ValidityStartDate as ValidityStartDateLvl2,
// _REIntegObjLvl2.ValidityEndDate as ValidityEndDateLvl2,
//Level 3
case _REIntegObjLvl2.REIntegrationObjectType
when 'C4LA' then _REIntegObjLvl2.RealEstateExternalID
else _REIntegObjLvl3.RealEstateExternalID
end as RealEstateExternalIDLvl3,
case _REIntegObjLvl2.REIntegrationObjectType
when 'C4LA' then _REIntegObjLvl2.REIntegrationObjectNumber
else _REIntegObjLvl3.REIntegrationObjectNumber
end as REIntegrationObjectNumberLvl3,
// _REIntegObjLvl3.ValidityStartDate as ValidityStartDateLvl3,
// _REIntegObjLvl3.ValidityEndDate as ValidityEndDateLvl3,
case _REIntegObjLvl2.REIntegrationObjectType
when 'C4LA' then _REIntegObjLvl2.REIntegrationObjectType
else _REIntegObjLvl3.REIntegrationObjectType
end as REIntegrationObjectType,
// case _REIntegObjLvl3.REIntegrationObjectType
// when 'C4LA' then ' '
// else _REIntegObjLvl3.REIntegrationObjectType
// end as REIntegrationObjectTypeLvl3,
_REIntegObjLvl0._UnitOfMeasureArea
// _REIntegObjLvl3.RESpaceGroupUsageType,
// _REIntegObjLvl3.RESpaceGrpProvisionType,
// _REIntegObjLvl3.REIntegObjSpaceGroupType,
// _REIntegObjLvl3.REIntegrationObjectName,
// _REIntegObjLvl3.REIntegObjectLongName,
// _REIntegObjLvl3.REParentIntegObjectType,
// _REIntegObjLvl3.REParentIntegObjectExternalID,
// _REIntegObjLvl3.Responsible,
// _REIntegObjLvl3.REAuthorizationGroup,
//
// _REIntegObjLvl3._REIntegObjectType,
// _REIntegObjLvl3._REParentIntegObjectType,
// _REIntegObjLvl3._REIntegObjSpaceGroupType,
// _REIntegObjLvl3._RESpaceGroupUsageType,
// _REIntegObjLvl3._RESpaceGrpProvisionType
// _REIntegrationObjLvl0,
// _REIntegrationObjLvl1,
// _REIntegrationObjLvl2,
// _REIntegrationObjLvl3
}
where
_REIntegObjLvl0.REIntegrationObjectType = 'C4SI'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_REINTEGRATIONOBJECTBASICDATA"
],
"ASSOCIATED":
[
"I_UNITOFMEASURE"
],
"BASE":
[
"I_REINTEGRATIONOBJECTBASICDATA"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/