I_MyEHSLocationExpanded

DDL: I_MYEHSLOCATIONEXPANDED Type: view COMPOSITE Package: EHFND_BO_LOC_IMPL

My EHS Location and Sublocations

I_MyEHSLocationExpanded is a Composite CDS View (Dimension) that provides data about "My EHS Location and Sublocations" in SAP S/4HANA. It reads from 6 data sources and exposes 6 fields with key field EHSLocationUUID. It has 2 associations to related views. Part of development package EHFND_BO_LOC_IMPL.

Data Sources (6)

SourceAliasJoin Type
I_EHSLocationHierarchyNode I_EHSLocationHierarchyNode inner
I_EHSLocationHierarchyRevision I_EHSLocationHierarchyRevision inner
I_EHSLocationHierarchyRevision I_EHSLocationHierarchyRevision inner
I_EHSLocHierarchyPath I_EHSLocHierarchyPath inner
I_MyEHSLocation MyEHSLocation from
I_MyEHSLocation MyEHSLocation union_all

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_EHSLocation _EHSLocationRevision $projection.EHSLocationUUID = _EHSLocationRevision.EHSLocationUUID and _EHSLocationRevision.RevisionStartDate <= $session.system_date and _EHSLocationRevision.RevisionEndDate >= $session.system_date
[1..1] P_EHSLocationHierarchyLevel _EHSLocationHierarchyLevel I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID = _EHSLocationHierarchyLevel.EHSLocHierarchyRevisionUUID and $projection.EHSLocationUUID = _EHSLocationHierarchyLevel.EHSLocationUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IMYLOCEXPANDED view
AbapCatalog.compiler.compareFilter true view
EndUserText.label My EHS Location and Sublocations view
Analytics.dataCategory #DIMENSION view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey EHSLocationUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MASTER view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY EHSLocationUUID
MyEHSLocationUUID
EHSLocationHierarchyLevel _EHSLocationHierarchyLevel EHSLocationHierarchyLevel
MyEHSLocationUUID
EHSLocationHierarchyLevel _EHSLocationHierarchyLevel EHSLocationHierarchyLevel
_EHSLocationRevision _EHSLocationRevision
@AbapCatalog:{
    sqlViewName: 'IMYLOCEXPANDED',
    compiler.compareFilter: true
}
@EndUserText.label: 'My EHS Location and Sublocations'
@Analytics: { dataCategory:#DIMENSION }
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #NOT_REQUIRED
// Client handling by session

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel:{
    representativeKey: 'EHSLocationUUID',
// used for BOBF Master Data Object

    usageType:{ serviceQuality: #C,        // < 15 msec

                         sizeCategory:  #L,         // < 10.000.000

                         dataClass: #MASTER }
}
                         
// This returns the current users "My Location" and its sublocations

define view I_MyEHSLocationExpanded
  as select from I_MyEHSLocation as MyEHSLocation

  // get the current revision of the location hierarchy

  inner join   I_EHSLocationHierarchyRevision on I_EHSLocationHierarchyRevision.RevisionStartDate <= $session.system_date and
                                                 I_EHSLocationHierarchyRevision.RevisionEndDate   >= $session.system_date

  // get all sub location of my location

  inner join   I_EHSLocHierarchyPath          on I_EHSLocHierarchyPath.EHSLocHierarchyRevisionUUID = I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID and
                                                 I_EHSLocHierarchyPath.EHSParentLocationUUID     = MyEHSLocation.EHSLocationUUID 

  /*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
  association [1..1] to I_EHSLocation as _EHSLocationRevision on  $projection.EHSLocationUUID = _EHSLocationRevision.EHSLocationUUID and
                                                                  _EHSLocationRevision.RevisionStartDate <= $session.system_date and
                                                                  _EHSLocationRevision.RevisionEndDate   >= $session.system_date

  association [1..1] to P_EHSLocationHierarchyLevel as _EHSLocationHierarchyLevel on I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID = _EHSLocationHierarchyLevel.EHSLocHierarchyRevisionUUID 
                                                                                  and $projection.EHSLocationUUID = _EHSLocationHierarchyLevel.EHSLocationUUID

{
   key cast (I_EHSLocHierarchyPath.EHSLocationUUID as ehfnd_location_uuid_ref preserving type ) as EHSLocationUUID,
       cast (MyEHSLocation.EHSLocationUUID  as ehfnd_location_uuid_ref preserving type ) as MyEHSLocationUUID,
       _EHSLocationHierarchyLevel.EHSLocationHierarchyLevel,
       _EHSLocationRevision
}                                          


union all select from I_MyEHSLocation as MyEHSLocation

  // get the current revision of the location hierarchy

    inner join   I_EHSLocationHierarchyRevision on I_EHSLocationHierarchyRevision.RevisionStartDate <= $session.system_date and
                                                   I_EHSLocationHierarchyRevision.RevisionEndDate   >= $session.system_date

  // get my location in addition

    inner join   I_EHSLocationHierarchyNode     on I_EHSLocationHierarchyNode.EHSLocHierarchyRevisionUUID = I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID and
                                                   I_EHSLocationHierarchyNode.EHSLocationUUID           = MyEHSLocation.EHSLocationUUID 



  /*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
  association [1..1] to I_EHSLocation as _EHSLocationRevision on  $projection.EHSLocationUUID = _EHSLocationRevision.EHSLocationUUID and
                                                                  _EHSLocationRevision.RevisionStartDate <= $session.system_date and
                                                                  _EHSLocationRevision.RevisionEndDate   >= $session.system_date

  association [1..1] to P_EHSLocationHierarchyLevel as _EHSLocationHierarchyLevel on I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID = _EHSLocationHierarchyLevel.EHSLocHierarchyRevisionUUID 
                                                                                  and $projection.EHSLocationUUID = _EHSLocationHierarchyLevel.EHSLocationUUID

{
   key cast (MyEHSLocation.EHSLocationUUID as ehfnd_location_uuid_ref preserving type ) as EHSLocationUUID,
       cast (MyEHSLocation.EHSLocationUUID as ehfnd_location_uuid_ref preserving type ) as MyEHSLocationUUID,
       _EHSLocationHierarchyLevel.EHSLocationHierarchyLevel,
       _EHSLocationRevision  
      
}