I_EHSLocationForFiltering

DDL: I_EHSLOCATIONFORFILTERING Type: view COMPOSITE

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)

SourceAliasJoin Type
I_EHSLocationHierarchyRevision I_EHSLocationHierarchyRevision inner
I_EHSLocationRoot I_EHSLocationRoot union
I_EHSLocHierarchyPath I_EHSLocHierarchyPath from

Parameters (1)

NameTypeDefault
P_Date ehfnd_date

Associations (3)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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 
}