I_MyEHSLocationExpanded

DDL: I_MYEHSLOCATIONEXPANDED Type: view COMPOSITE

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 3 data sources (I_EHSLocationHierarchyRevision, I_EHSLocHierarchyPath, I_MyEHSLocation) and exposes 4 fields with key field EHSLocationUUID. It has 2 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_EHSLocationHierarchyRevision I_EHSLocationHierarchyRevision inner
I_EHSLocHierarchyPath I_EHSLocHierarchyPath inner
I_MyEHSLocation MyEHSLocation from

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 (13)

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

Fields (4)

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

@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.allowExtensions:true
@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 and my location in addition

    inner join   I_EHSLocHierarchyPath          on I_EHSLocHierarchyPath.EHSLocHierarchyRevisionUUID = I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID and
                                                   (
                                                     I_EHSLocHierarchyPath.EHSParentLocationUUID     = MyEHSLocation.EHSLocationUUID                              or
                                                     I_EHSLocHierarchyPath.EHSLocationUUID           = MyEHSLocation.EHSLocationUUID                              and
                                                     I_EHSLocHierarchyPath.EHSParentLocationUUID     = hextobin( '00000000000000000000000000000000' )
                                                   )
  /*+[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,
       
       _EHSLocationRevision,
       
       
   _EHSLocationHierarchyLevel.EHSLocationHierarchyLevel    
      
}
where MyEHSLocation.EHSLocationUUID <> hextobin( '00000000000000000000000000000000' )