I_WasteStreamPtOfGnrtnLoc

DDL: I_WASTESTREAMPTOFGNRTNLOC Type: view COMPOSITE

Waste Stream Pt Of Generation Location

I_WasteStreamPtOfGnrtnLoc is a Composite CDS View that provides data about "Waste Stream Pt Of Generation Location" in SAP S/4HANA. It reads from 3 data sources (I_EHSLocation, I_EHSLocClassifier, I_EHSLocationHierarchyRevision) and exposes 9 fields with key field WasteStreamPtOfGnrtnLocUUID. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_EHSLocation LocationRevision inner
I_EHSLocClassifier LocClassifier inner
I_EHSLocationHierarchyRevision LocHierarchyRevision inner

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_WasteStreamLocationText _LocText $projection.WasteStreamPtOfGnrtnLocUUID = _LocText.EHSLocationUUID and _LocText.Language = $session.system_language
[1..1] I_EHSLocationTypeText _LocTypeText $projection.EHSLocationType = _LocTypeText.EHSLocationType and _LocTypeText.Language = $session.system_language
[1..*] I_EnvrmtWasteGnrtr _WasteGenerator $projection.EnvrmtWasteGnrtrUUID = _WasteGenerator.EnvrmtWasteGnrtrUUID or $projection.WasteStreamPtOfGnrtnLocUUID = _WasteGenerator.EnvrmtWasteGnrtrUUID

Annotations (12)

NameValueLevelField
EndUserText.label Waste Stream Pt Of Generation Location view
AbapCatalog.sqlViewName IWSTSTPTGENLOC view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #REQUIRED view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.representativeKey WasteStreamPtOfGnrtnLocUUID view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (9)

KeyFieldSource TableSource FieldDescription
KEY WasteStreamPtOfGnrtnLocUUID LocHierarchy EHSLocationUUID
WasteStreamPtOfGnrtnLocID I_EHSLocation EHSLocationID
EHSLocationIDendasEnvrmtWasteGnrtrID
EHSLocationType I_EHSLocation EHSLocationType
WasteStreamPtOfGnrtnLocName _LocText EHSLocationName
EHSLocationTypeText _LocTypeText EHSLocationTypeText
_LocText _LocText
_LocTypeText _LocTypeText
_WasteGenerator _WasteGenerator
@EndUserText.label: 'Waste Stream Pt Of Generation Location'

@AbapCatalog:
{
  sqlViewName: 'IWSTSTPTGENLOC',
  compiler.compareFilter: true,
  preserveKey:true
}

@AccessControl:
{
  authorizationCheck: #MANDATORY,
  personalData.blocking: #REQUIRED
}

@VDM.viewType: #COMPOSITE

@ObjectModel:
{
  usageType:
  {
    dataClass: #MIXED,
    sizeCategory: #L,
    serviceQuality: #C
  },
  representativeKey: 'WasteStreamPtOfGnrtnLocUUID'
}

@ClientHandling.algorithm: #SESSION_VARIABLE

define view I_WasteStreamPtOfGnrtnLoc
  as select distinct from  I_EHSLocHierarchyPath          as LocHierarchy

    inner join             I_EHSLocationHierarchyRevision as LocHierarchyRevision      on  LocHierarchy.EHSLocHierarchyRevisionUUID = LocHierarchyRevision.EHSLocHierarchyRevisionUUID
                                                                                       and LocHierarchyRevision.RevisionStartDate   <= $session.system_date
                                                                                       and LocHierarchyRevision.RevisionEndDate     >= $session.system_date

    inner join             I_EHSLocation                  as LocationRevision          on  LocHierarchy.EHSLocationUUID       = LocationRevision.EHSLocationUUID
                                                                                       and LocationRevision.RevisionStartDate <= $session.system_date
                                                                                       and LocationRevision.RevisionEndDate   >= $session.system_date

    inner join             I_EHSLocClassifier             as LocClassifier             on  LocHierarchy.EHSLocationUUID          = LocClassifier.EHSLocationUUID
                                                                                       and LocClassifier.EHSLocClassifierRefUUID = hextobin(
                                                                                                                  '0A94EF4591D71EDAB6DD6CD513B1A3D0'
                                                                            ) // Point of Waste Generation Classifier

    left outer to one join I_EHSLocClassifier             as LocClassifierGnrtr        on  LocHierarchy.EHSParentLocationUUID         = LocClassifierGnrtr.EHSLocationUUID
                                                                                       and LocClassifierGnrtr.EHSLocClassifierRefUUID = hextobin(
                                                                                                                  '0A94EF4591D71EDAB6DD6AE7E9E883CD'
                                                                            ) // Waste Generator Classifier

    left outer to one join I_EHSLocClassifier             as LocClassifierGnrtrCurrent on  LocHierarchy.EHSLocationUUID                      = LocClassifierGnrtrCurrent.EHSLocationUUID
                                                                                       and LocClassifierGnrtrCurrent.EHSLocClassifierRefUUID = hextobin(
                                                                                                                  '0A94EF4591D71EDAB6DD6AE7E9E883CD'
                                                                            ) // Waste Generator Classifier


  association [1..1] to I_WasteStreamLocationText as _LocText        on  $projection.WasteStreamPtOfGnrtnLocUUID = _LocText.EHSLocationUUID
                                                                     and _LocText.Language                       = $session.system_language

  association [1..1] to I_EHSLocationTypeText     as _LocTypeText    on  $projection.EHSLocationType = _LocTypeText.EHSLocationType
                                                                     and _LocTypeText.Language       = $session.system_language

  association [1..*] to I_EnvrmtWasteGnrtr        as _WasteGenerator on  $projection.EnvrmtWasteGnrtrUUID        = _WasteGenerator.EnvrmtWasteGnrtrUUID
                                                                     or  $projection.WasteStreamPtOfGnrtnLocUUID = _WasteGenerator.EnvrmtWasteGnrtrUUID

{

  key  LocHierarchy.EHSLocationUUID     as WasteStreamPtOfGnrtnLocUUID,

  key  case
         when LocClassifierGnrtrCurrent.EHSLocationUUID is not null
           or LocClassifierGnrtr.EHSLocationUUID is null
         then LocHierarchy.EHSLocationUUID
         else LocHierarchy.EHSParentLocationUUID
       end                              as EnvrmtWasteGnrtrUUID,

       LocationRevision.EHSLocationID   as WasteStreamPtOfGnrtnLocID,

       case
          when LocClassifierGnrtrCurrent.EHSLocationUUID is not null
            or LocClassifierGnrtr.EHSLocationUUID is null
          then LocHierarchy._EHSLocation.EHSLocationID
          else LocHierarchy._EHSParentLocation.EHSLocationID
        end                             as EnvrmtWasteGnrtrID,

       LocationRevision.EHSLocationType as EHSLocationType,

       @Semantics.text: true
       _LocText.EHSLocationName         as WasteStreamPtOfGnrtnLocName,

       @Semantics.text: true
       _LocTypeText.EHSLocationTypeText,

       _LocText,
       _LocTypeText,

       // DCL

       _WasteGenerator

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EHSLOCATION",
"I_EHSLOCATIONHIERARCHYREVISION",
"I_EHSLOCATIONROOT",
"I_EHSLOCATIONTYPETEXT",
"I_EHSLOCCLASSIFIER",
"I_EHSLOCHIERARCHYPATH",
"I_WASTESTREAMLOCATIONTEXT"
],
"ASSOCIATED":
[
"I_EHSLOCATIONTYPETEXT",
"I_ENVRMTWASTEGNRTR",
"I_WASTESTREAMLOCATIONTEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/