I_EHSLocationForFiltering
EHS Location and Sublocations for Filtering
I_EHSLocationForFiltering is a Composite CDS View that provides data about "EHS Location and Sublocations for Filtering" in SAP S/4HANA. It reads from 3 data sources (I_EHSLocationHierarchyRevision, I_EHSLocationRoot, I_EHSLocHierarchyPath) and exposes 7 fields with key fields EHSLocationUUID, EHSParentLocationUUID, EHSParentLocationUUID. It has 3 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_EHSLocationHierarchyRevision | I_EHSLocationHierarchyRevision | inner |
| I_EHSLocationRoot | I_EHSLocationRoot | union |
| I_EHSLocHierarchyPath | I_EHSLocHierarchyPath | from |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_Date | ehfnd_date |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_EHSLocationIncludingRoot | _ParentLocation | _ParentLocation.RevisionStartDate <= $parameters.P_Date and _ParentLocation.RevisionEndDate >= $parameters.P_Date and _ParentLocation.EHSLocationUUID = I_EHSLocHierarchyPath.EHSParentLocationUUID |
| [1..1] | P_EHSLocationHierarchyLevel | _EHSLocationHierarchyLevel | I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID = _EHSLocationHierarchyLevel.EHSLocHierarchyRevisionUUID and $projection.EHSLocationUUID = _EHSLocationHierarchyLevel.EHSLocationUUID |
| [0..*] | I_EHSLocationRevisionNameT | _EHSLocationRevisionNameT | $projection.EHSParentLocationUUID = _EHSLocationRevisionNameT.EHSLocationUUID |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IEHSLOCFORFILTR | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| EndUserText.label | EHS Location and Sublocations for Filtering | 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 (7)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | EHSLocationUUID | |||
| KEY | EHSParentLocationUUID | I_EHSLocHierarchyPath | EHSParentLocationUUID | |
| EHSParentLocationID | _ParentLocation | EHSLocationID | ||
| EHSLocationUUIDkeyEHSLocationUUID | ||||
| KEY | EHSParentLocationUUID | EHSLocationUUID | ||
| EHSParentLocationID | EHSLocationID | |||
| _EHSLocationRevisionNameT | _EHSLocationRevisionNameT |
@AbapCatalog:{
sqlViewName: 'IEHSLOCFORFILTR',
compiler.compareFilter: true,
preserveKey: true
}
@EndUserText.label: 'EHS Location and Sublocations for Filtering'
@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 sublocations of a specific location
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] } */
define view I_EHSLocationForFiltering
with parameters
@Environment.systemField: #SYSTEM_DATE
P_Date : ehfnd_date
as select from I_EHSLocHierarchyPath
// get the current revision of the location hierarchy
inner join I_EHSLocationHierarchyRevision on I_EHSLocationHierarchyRevision.RevisionStartDate <= $parameters.P_Date
and I_EHSLocationHierarchyRevision.RevisionEndDate >= $parameters.P_Date
and I_EHSLocHierarchyPath.EHSLocHierarchyRevisionUUID = I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID
association [1..1] to I_EHSLocationIncludingRoot as _ParentLocation on _ParentLocation.RevisionStartDate <= $parameters.P_Date
and _ParentLocation.RevisionEndDate >= $parameters.P_Date
and _ParentLocation.EHSLocationUUID = I_EHSLocHierarchyPath.EHSParentLocationUUID
association [1..1] to P_EHSLocationHierarchyLevel as _EHSLocationHierarchyLevel on I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID = _EHSLocationHierarchyLevel.EHSLocHierarchyRevisionUUID
and $projection.EHSLocationUUID = _EHSLocationHierarchyLevel.EHSLocationUUID
association [0..*] to I_EHSLocationRevisionNameT as _EHSLocationRevisionNameT on $projection.EHSParentLocationUUID = _EHSLocationRevisionNameT.EHSLocationUUID
{
key cast (I_EHSLocHierarchyPath.EHSLocationUUID as ehfnd_location_uuid_ref preserving type ) as EHSLocationUUID,
key I_EHSLocHierarchyPath.EHSParentLocationUUID,
_ParentLocation.EHSLocationID as EHSParentLocationID,
_EHSLocationRevisionNameT
}
// Add the location itself
union select from I_EHSLocationRoot
association [0..*] to I_EHSLocationRevisionNameT as _EHSLocationRevisionNameT on $projection.EHSParentLocationUUID = _EHSLocationRevisionNameT.EHSLocationUUID
{
key EHSLocationUUID,
key EHSLocationUUID as EHSParentLocationUUID,
EHSLocationID as EHSParentLocationID,
_EHSLocationRevisionNameT
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA