I_WasteStreamStorageLoc

DDL: I_WASTESTREAMSTORAGELOC Type: view COMPOSITE

Waste Stream Storage Location

I_WasteStreamStorageLoc is a Composite CDS View that provides data about "Waste Stream Storage Location" in SAP S/4HANA. It reads from 4 data sources (I_EHSLocation, I_EHSLocClassifier, I_EHSLocationHierarchyRevision, I_WasteStreamMatlGnrtrGrouped) and exposes 6 fields with key fields WasteStreamStorageLocUUID, EnvrmtWasteGnrtrUUID. It has 2 associations to related views.

Data Sources (4)

SourceAliasJoin Type
I_EHSLocation LocationRevision inner
I_EHSLocClassifier LocClassifier inner
I_EHSLocationHierarchyRevision LocHierarchyRevision inner
I_WasteStreamMatlGnrtrGrouped WastePartner inner

Associations (2)

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

Annotations (12)

NameValueLevelField
EndUserText.label Waste Stream Storage Location view
AbapCatalog.sqlViewName IWSTSTRSTRGLOC 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 WasteStreamStorageLocUUID view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY WasteStreamStorageLocUUID LocHierarchy EHSLocationUUID
KEY EnvrmtWasteGnrtrUUID I_WasteStreamMatlGnrtrGrouped EnvrmtWasteGnrtrUUID
WasteStreamStorageLocID I_EHSLocation EHSLocationID
EnvrmtWasteGnrtrID I_WasteStreamMatlGnrtrGrouped EnvrmtWasteGnrtrID
_LocText _LocText
_WasteGenerator _WasteGenerator
@EndUserText.label: 'Waste Stream Storage Location'

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

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

@VDM.viewType: #COMPOSITE

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

@ClientHandling.algorithm: #SESSION_VARIABLE

define view I_WasteStreamStorageLoc
  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(
                                                '0A94EF4591D71EDAB6DD6BBC32E4C3D0'
                                ) // Waste Storage Location Classifier


  // Only select storage location of generators in waste partner with waste material

    inner join            I_WasteStreamMatlGnrtrGrouped  as WastePartner         on LocHierarchy.EHSParentLocationUUID = WastePartner.EnvrmtWasteGnrtrUUID
                                                                                 or LocHierarchy.EHSLocationUUID       = WastePartner.EnvrmtWasteGnrtrUUID

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

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


{

  key  LocHierarchy.EHSLocationUUID   as WasteStreamStorageLocUUID,

  key  WastePartner.EnvrmtWasteGnrtrUUID,

       LocationRevision.EHSLocationID as WasteStreamStorageLocID,

       WastePartner.EnvrmtWasteGnrtrID,

       _LocText,

       //DCL

       _WasteGenerator

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