P_REIntegObjectOccpcyCalc1

DDL: P_REINTEGOBJECTOCCPCYCALC1 SQL: PREINTOBJOCCCAL1 Type: view COMPOSITE

P_REIntegObjectOccpcyCalc1 is a Composite CDS View in SAP S/4HANA. It reads from 7 data sources and exposes 37 fields.

Data Sources (7)

SourceAliasJoin Type
I_REContract _REContract inner
I_REIntegrationObject _REIntegrationObject inner
I_REIntegrationObject _REIntegrationObject inner
I_REObjectArchived _REObjectArchived inner
I_REObjectAssgmt _REObjectAssgmt from
I_REObjectAssgmt _REObjectAssgmt union
I_REObjectAssgmtArchived _REObjectAssgmtArchived inner

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PREINTOBJOCCCAL1 view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.private true view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.preserveKey true view

Fields (37)

KeyFieldSource TableSource FieldDescription
REIntegObjectStatusObject I_REIntegrationObject REStatusObject
REContractStatusObject I_REContract REStatusObject
REIntegObjectInternalNumber I_REIntegrationObject InternalRealEstateNumber
REContractInternalNumber I_REContract InternalRealEstateNumber
CompanyCode I_REContract CompanyCode
RealEstateContract I_REContract RealEstateContract
ContractEndDateendasREOccupancyToDate
REIntegObjectValidityStartDate I_REIntegrationObject ValidityStartDate
REIntegObjectValidityEndDate I_REIntegrationObject ValidityEndDate
ContractStartDate I_REContract ContractStartDate
ContractEndDate I_REContract ContractEndDate
REObjAssgmtValidityStartDate I_REObjectAssgmt ValidityStartDate
REObjAssgmtValidityEndDate I_REObjectAssgmt ValidityEndDate
REObjectPossessionStartDate I_REObjectAssgmt REObjectPossessionStartDate
REObjectPossessionEndDate I_REObjectAssgmt REObjectPossessionEndDate
REPossessionStartDate I_REContract REPossessionStartDate
REPossessionEndDate I_REContract REPossessionEndDate
REStatusObjectSourceIsArchived I_REObjectAssgmt REStatusObjectSourceIsArchived
REContractStatusObject I_REObjectArchived REStatusObject
REIntegObjectInternalNumber I_REIntegrationObject InternalRealEstateNumber
REContractInternalNumber I_REObjectArchived InternalRealEstateNumber
CompanyCode
RealEstateContract
REOccupancyFromDate I_REObjectAssgmtArchived ValidityStartDate
REOccupancyToDate I_REObjectAssgmtArchived ValidityEndDate
REIntegObjectValidityStartDate I_REIntegrationObject ValidityStartDate
REIntegObjectValidityEndDate I_REIntegrationObject ValidityEndDate
ContractStartDate I_REObjectAssgmtArchived ContractStartDate
ContractEndDate I_REObjectAssgmtArchived ContractEndDate
REObjAssgmtValidityStartDate I_REObjectAssgmt ValidityStartDate
REObjAssgmtValidityEndDate I_REObjectAssgmt ValidityEndDate
REObjectPossessionStartDate I_REObjectAssgmt REObjectPossessionStartDate
REObjectPossessionEndDate I_REObjectAssgmt REObjectPossessionEndDate
REPossessionStartDate I_REObjectAssgmtArchived REObjectPossessionStartDate
REPossessionEndDate I_REObjectAssgmtArchived REObjectPossessionEndDate
REStatusObjectSourceIsArchived I_REObjectAssgmt REStatusObjectSourceIsArchived
REContractIsActive
@AbapCatalog.sqlViewName: 'PREINTOBJOCCCAL1'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.private: true
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L

@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true

define view P_REIntegObjectOccpcyCalc1
  as select from I_REObjectAssgmt      as _REObjectAssgmt
    inner join   I_REIntegrationObject as _REIntegrationObject on  _REObjectAssgmt.REStatusObjectTarget   = _REIntegrationObject.REStatusObject
                                                               and _REObjectAssgmt.REObjectAssignmentType = '10'
                                                               and _REObjectAssgmt.REOnlyInfoAssgmt       = ' '
    inner join   I_REContract          as _REContract          on  _REObjectAssgmt.REStatusObjectSource   = _REContract.REStatusObject
                                                               and _REObjectAssgmt.REObjectAssignmentType = '10'
                                                               and _REObjectAssgmt.REOnlyInfoAssgmt       = ' '
{
  _REIntegrationObject.REStatusObject            as REIntegObjectStatusObject,
  _REContract.REStatusObject                     as REContractStatusObject,
  _REIntegrationObject.InternalRealEstateNumber  as REIntegObjectInternalNumber,
  _REContract.InternalRealEstateNumber           as REContractInternalNumber,
  _REContract.CompanyCode                        as CompanyCode,
  _REContract.RealEstateContract                 as RealEstateContract,
  case when _REObjectAssgmt.ValidityStartDate > _REContract.ContractStartDate then _REObjectAssgmt.ValidityStartDate
       when _REIntegrationObject.ValidityStartDate > _REContract.ContractStartDate then _REIntegrationObject.ValidityStartDate
       else _REContract.ContractStartDate
  end                                            as REOccupancyFromDate,
  case when _REObjectAssgmt.ValidityEndDate < _REContract.ContractEndDate then _REObjectAssgmt.ValidityEndDate
       when _REIntegrationObject.ValidityEndDate < _REContract.ContractEndDate then _REIntegrationObject.ValidityEndDate
       else _REContract.ContractEndDate
  end                                            as REOccupancyToDate,
  _REIntegrationObject.ValidityStartDate         as REIntegObjectValidityStartDate,
  _REIntegrationObject.ValidityEndDate           as REIntegObjectValidityEndDate,
  _REContract.ContractStartDate                  as ContractStartDate,
  _REContract.ContractEndDate                    as ContractEndDate,
  _REObjectAssgmt.ValidityStartDate              as REObjAssgmtValidityStartDate,
  _REObjectAssgmt.ValidityEndDate                as REObjAssgmtValidityEndDate,
  _REObjectAssgmt.REObjectPossessionStartDate    as REObjectPossessionStartDate,
  _REObjectAssgmt.REObjectPossessionEndDate      as REObjectPossessionEndDate,
  _REContract.REPossessionStartDate              as REPossessionStartDate,
  _REContract.REPossessionEndDate                as REPossessionEndDate,
  _REObjectAssgmt.REStatusObjectSourceIsArchived as REStatusObjectSourceIsArchived,
  case when _REContract.REContractActivateDate <> '00000000' then 'X' else ' ' end as REContractIsActive

}
where
  _REContractType.REContractUserSupplier = '0' 
  and(
       _REIntegrationObject.REIntegObjSpaceGroupType = 'EO01' //External Occupancy Object

    or _REIntegrationObject.REIntegObjSpaceGroupType = 'IC01' //Intercompany Object

    or _REIntegrationObject.REIntegObjSpaceGroupType = 'IO01'  //Internal Occupancy Object

  )

union select from I_REObjectAssgmt         as _REObjectAssgmt
  inner join      I_REIntegrationObject    as _REIntegrationObject    on  _REObjectAssgmt.REStatusObjectTarget           = _REIntegrationObject.REStatusObject
                                                                      and _REObjectAssgmt.REObjectAssignmentType         = '10'
                                                                      and _REObjectAssgmt.REOnlyInfoAssgmt               = ' '
                                                                      and _REObjectAssgmt.REStatusObjectSourceIsArchived = 'X'
  inner join      I_REObjectAssgmtArchived as _REObjectAssgmtArchived on  _REObjectAssgmt.REStatusObjectSource   = _REObjectAssgmtArchived.REStatusObjectSource
                                                                      and _REObjectAssgmt.REObjectAssignmentType = _REObjectAssgmtArchived.REObjectAssignmentType
                                                                      and _REObjectAssgmt.REStatusObjectTarget   = _REObjectAssgmtArchived.REStatusObjectTarget
  inner join      I_REObjectArchived       as _REObjectArchived       on _REObjectAssgmtArchived.REStatusObjectSource = _REObjectArchived.REStatusObject
{
  _REIntegrationObject.REStatusObject                 as REIntegObjectStatusObject,
  _REObjectArchived.REStatusObject                    as REContractStatusObject,
  _REIntegrationObject.InternalRealEstateNumber       as REIntegObjectInternalNumber,
  _REObjectArchived.InternalRealEstateNumber          as REContractInternalNumber,
  substring(_REObjectArchived.REStatusObject, 3, 4)   as CompanyCode,
  substring(_REObjectArchived.REStatusObject, 7, 13)  as RealEstateContract,
  _REObjectAssgmtArchived.ValidityStartDate           as REOccupancyFromDate,
  _REObjectAssgmtArchived.ValidityEndDate             as REOccupancyToDate,
  _REIntegrationObject.ValidityStartDate              as REIntegObjectValidityStartDate,
  _REIntegrationObject.ValidityEndDate                as REIntegObjectValidityEndDate,
  _REObjectAssgmtArchived.ContractStartDate           as ContractStartDate,
  _REObjectAssgmtArchived.ContractEndDate             as ContractEndDate,
  _REObjectAssgmt.ValidityStartDate                   as REObjAssgmtValidityStartDate,
  _REObjectAssgmt.ValidityEndDate                     as REObjAssgmtValidityEndDate,
  _REObjectAssgmt.REObjectPossessionStartDate         as REObjectPossessionStartDate,
  _REObjectAssgmt.REObjectPossessionEndDate           as REObjectPossessionEndDate,
  _REObjectAssgmtArchived.REObjectPossessionStartDate as REPossessionStartDate,
  _REObjectAssgmtArchived.REObjectPossessionEndDate   as REPossessionEndDate,
  _REObjectAssgmt.REStatusObjectSourceIsArchived      as REStatusObjectSourceIsArchived,
  ' ' as REContractIsActive
  
}
where
       _REObjectArchived.REArchiveObjectType         = 'REFX_CN'
  and _REContractType.REContractUserSupplier = '0'
  and(
       _REIntegrationObject.REIntegObjSpaceGroupType = 'EO01' //External Occupancy Object

    or _REIntegrationObject.REIntegObjSpaceGroupType = 'IC01' //Intercompany Object

    or _REIntegrationObject.REIntegObjSpaceGroupType = 'IO01'
  ) //Internal Occupancy Object