I_FavoriteEHSLocationExpanded

DDL: I_FAVORITEEHSLOCATIONEXPANDED Type: view COMPOSITE

Favorite EHS Location and Sublocations

I_FavoriteEHSLocationExpanded is a Composite CDS View (Dimension) that provides data about "Favorite EHS Location and Sublocations" in SAP S/4HANA. It reads from 3 data sources (I_FavoriteEHSLocation, I_EHSLocationHierarchyRevision, I_EHSLocHierarchyPath) and exposes 3 fields with key field EHSLocationUUID. It has 1 association to related views.

Data Sources (3)

SourceAliasJoin Type
I_FavoriteEHSLocation EHSFavLocation from
I_EHSLocationHierarchyRevision I_EHSLocationHierarchyRevision inner
I_EHSLocHierarchyPath I_EHSLocHierarchyPath inner

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_EHSLocationRevision _EHSLocationRevision $projection.EHSLocationUUID = _EHSLocationRevision.EHSLocationUUID and _EHSLocationRevision.RevisionStartDate <= $session.system_date and _EHSLocationRevision.RevisionEndDate >= $session.system_date

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IFAVLOCEXPANDED view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Favorite 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 (3)

KeyFieldSource TableSource FieldDescription
KEY EHSLocationUUID
FavoriteEHSLocationUUID
_EHSLocationRevision _EHSLocationRevision
@AbapCatalog:{
    sqlViewName: 'IFAVLOCEXPANDED',
    compiler.compareFilter: true
}
@EndUserText.label: 'Favorite 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 "Favorite Location" and its sublocations

define view I_FavoriteEHSLocationExpanded
  as select from I_FavoriteEHSLocation as EHSFavLocation

  // 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 favorite location and favorite location in addition

    inner join   I_EHSLocHierarchyPath          on I_EHSLocHierarchyPath.EHSLocHierarchyRevisionUUID = I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID and
                                                   (
                                                     I_EHSLocHierarchyPath.EHSParentLocationUUID     = EHSFavLocation.EHSLocationUUID                             or
                                                     I_EHSLocHierarchyPath.EHSLocationUUID           = EHSFavLocation.EHSLocationUUID                             and
                                                     I_EHSLocHierarchyPath.EHSParentLocationUUID     = hextobin( '00000000000000000000000000000000' )
                                                   )
                                                   
  association [1..1] to I_EHSLocationRevision as _EHSLocationRevision on  $projection.EHSLocationUUID = _EHSLocationRevision.EHSLocationUUID and
                                                                          _EHSLocationRevision.RevisionStartDate <= $session.system_date and
                                                                          _EHSLocationRevision.RevisionEndDate   >= $session.system_date

                                                     
                                                   
{
   key cast (I_EHSLocHierarchyPath.EHSLocationUUID as ehfnd_location_uuid_ref ) as EHSLocationUUID,
   
//     add an additional field to be able to filter on one given favorite location later on    

       cast (EHSFavLocation.EHSLocationUUID as ehfnd_location_uuid_ref )        as FavoriteEHSLocationUUID,
       _EHSLocationRevision
}
where EHSFavLocation.EHSLocationUUID <> hextobin( '00000000000000000000000000000000' )                                    
  
  
  
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EHSLOCATIONHIERARCHYREVISION",
"I_EHSLOCHIERARCHYPATH",
"I_FAVORITEEHSLOCATION"
],
"ASSOCIATED":
[
"I_EHSLOCATIONREVISION"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/