I_MYEHSLOCATIONEXPANDED
My EHS Location and Sublocations
I_MYEHSLOCATIONEXPANDED is a CDS View in S/4HANA. My EHS Location and Sublocations. 10 CDS views read from this table.
CDS Views using this table (10)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_EHSLocationForSafetyInsights | view | left_outer | CONSUMPTION | EHS Location for Safety Insights |
| C_EHSRiskAtMyLocation | view | inner | CONSUMPTION | EHS Risk |
| C_MyEHSLocationExpanded | view | from | CONSUMPTION | My EHS Location and Sublocations |
| C_MyOpenEHSControlImpl | view | inner | CONSUMPTION | My Open Control Implementations |
| I_ChemicalRiskReportC | view | inner | COMPOSITE | Chemical Risk Report Cube |
| I_EHSRiskAtMyLocation | view | inner | COMPOSITE | Risk at my Location |
| I_EHSRiskOverviewC | view | inner | COMPOSITE | Risk Overview |
| I_MyEHSLocAprvdChemicalUse | view | inner | COMPOSITE | Approved Chemical for my Location |
| I_OptionalMyEHSLocationFilter | view | union_all | COMPOSITE | Optional My EHS Location Filter |
| P_EHSRasAtMyLocation | view | inner | COMPOSITE |
@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' )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EHSLOCATIONHIERARCHYREVISION",
"I_EHSLOCHIERARCHYPATH",
"I_MYEHSLOCATION",
"P_EHSLOCATIONHIERARCHYLEVEL"
],
"ASSOCIATED":
[
"I_EHSLOCATION",
"P_EHSLOCATIONHIERARCHYLEVEL"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/