I_WasteStreamPtOfGnrtnLoc
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)
| Source | Alias | Join Type |
|---|---|---|
| I_EHSLocation | LocationRevision | inner |
| I_EHSLocClassifier | LocClassifier | inner |
| I_EHSLocationHierarchyRevision | LocHierarchyRevision | inner |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
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