I_EnvrmtAmountsForActivity

DDL: I_ENVRMTAMOUNTSFORACTIVITY SQL: IENVAMNSFORACT Type: view COMPOSITE

Amounts for Activities

I_EnvrmtAmountsForActivity is a Composite CDS View that provides data about "Amounts for Activities" in SAP S/4HANA. It reads from 16 data sources and exposes 105 fields with key field EHSAmountUUID.

Data Sources (16)

SourceAliasJoin Type
P_CalcPeriod _CalcPeriod inner
P_DataCollDefPeriod _DataCollDefPeriod inner
P_LocAggregationPeriod _LocAggregationPeriod inner
P_SamplingPeriod _SamplingPeriod inner
I_EHSAmountRoot AmountRoot from
I_EHSAmountRoot AmountRoot union
I_EHSAmountRoot AmountRoot union
I_EHSAmountRoot AmountRoot union
I_CalcDefResultHeader CalcDefResultHeader inner
I_DataCollectionRoot DataCollectionRoot inner
I_LocAggregationRoot LocAggregationRoot inner
I_SamplingDefinitionRoot SamplingDefinitionRoot inner
t006a t006a inner
t006a t006a inner
t006a t006a inner
t006a t006a inner

Parameters (1)

NameTypeDefault
P_Language sylangu

Annotations (10)

NameValueLevelField
EndUserText.label Amounts for Activities view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #NOT_REQUIRED view
AbapCatalog.sqlViewName IENVAMNSFORACT view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (105)

KeyFieldSource TableSource FieldDescription
KEY EHSAmountUUID I_EHSAmountRoot EHSAmountUUID
EHSAmountUTCDateTime I_EHSAmountRoot EHSAmountUTCDateTime
UnitOfMeasureName I_EHSAmountRoot UnitOfMeasureName
UnitOfMeasure I_EHSAmountRoot UnitOfMeasure
_UnitText I_EHSAmountRoot _UnitText
EHSAmountSourceType I_EHSAmountRoot EHSAmountSourceType
_EHSAmountSourceType I_EHSAmountRoot _EHSAmountSourceType
EHSAmountSourceTypeName
EHSSubjectType I_EHSAmountRoot EHSSubjectType
EHSSubjectUUID I_EHSAmountRoot EHSSubjectUUID
EHSAmountValue I_EHSAmountRoot EHSAmountValue
EHSLocationUUID I_DataCollectionRoot EHSLocationUUID
DataUsagePeriodicity I_DataCollectionRoot DataUsagePeriodicity
EHSLocationName
_EHSLocation _EHSLocation
Country
_Country _EHSLocation _Country
Plant
PlantName
_Plant _EHSLocation _Plant
BusinessArea
_BusinessArea _EHSLocation _BusinessArea
Region
_Region _EHSLocation _Region
EHSLocationType
_EHSLocationType _EHSLocation _EHSLocationType
EHSAmountUUID
EHSAmountUTCDateTime I_EHSAmountRoot EHSAmountUTCDateTime
UnitOfMeasureName I_EHSAmountRoot UnitOfMeasureName
UnitOfMeasure I_EHSAmountRoot UnitOfMeasure
_UnitText I_EHSAmountRoot _UnitText
EHSAmountSourceType I_EHSAmountRoot EHSAmountSourceType
_EHSAmountSourceType I_EHSAmountRoot _EHSAmountSourceType
EHSAmountSourceTypeName
EHSSubjectType I_EHSAmountRoot EHSSubjectType
EHSSubjectUUID I_EHSAmountRoot EHSSubjectUUID
EHSAmountValue I_EHSAmountRoot EHSAmountValue
EHSLocationUUID I_CalcDefResultHeader EHSLocationUUID
DataUsagePeriodicity I_CalcDefResultHeader DataUsagePeriodicity
EHSLocationName
_EHSLocation _EHSLocation
Country
_Country _EHSLocation _Country
Plant
PlantName
_Plant _EHSLocation _Plant
BusinessArea
_BusinessArea _EHSLocation _BusinessArea
Region
_Region _EHSLocation _Region
EHSLocationType
_EHSLocationType _EHSLocation _EHSLocationType
EHSAmountUUID
EHSAmountUTCDateTime I_EHSAmountRoot EHSAmountUTCDateTime
UnitOfMeasureName I_EHSAmountRoot UnitOfMeasureName
UnitOfMeasure I_EHSAmountRoot UnitOfMeasure
_UnitText I_EHSAmountRoot _UnitText
EHSAmountSourceType I_EHSAmountRoot EHSAmountSourceType
_EHSAmountSourceType I_EHSAmountRoot _EHSAmountSourceType
EHSAmountSourceTypeName
EHSSubjectType I_EHSAmountRoot EHSSubjectType
EHSSubjectUUID I_EHSAmountRoot EHSSubjectUUID
EHSAmountValue I_EHSAmountRoot EHSAmountValue
EHSLocationUUID I_SamplingDefinitionRoot EHSLocationUUID
DataUsagePeriodicity I_SamplingDefinitionRoot DataUsagePeriodicity
EHSLocationName
_EHSLocation _EHSLocation
Country
_Country _EHSLocation _Country
Plant
PlantName
_Plant _EHSLocation _Plant
BusinessArea
_BusinessArea _EHSLocation _BusinessArea
Region
_Region _EHSLocation _Region
EHSLocationType
_EHSLocationType _EHSLocation _EHSLocationType
EHSAmountUUID
EHSAmountUTCDateTime I_EHSAmountRoot EHSAmountUTCDateTime
UnitOfMeasureName I_EHSAmountRoot UnitOfMeasureName
UnitOfMeasure I_EHSAmountRoot UnitOfMeasure
_UnitText I_EHSAmountRoot _UnitText
EHSAmountSourceType I_EHSAmountRoot EHSAmountSourceType
_EHSAmountSourceType I_EHSAmountRoot _EHSAmountSourceType
EHSAmountSourceTypeName
EHSSubjectType I_EHSAmountRoot EHSSubjectType
EHSSubjectUUID I_EHSAmountRoot EHSSubjectUUID
EHSAmountValue I_EHSAmountRoot EHSAmountValue
EHSLocationUUID I_LocAggregationRoot EHSLocationUUID
DataUsagePeriodicity I_LocAggregationRoot DataUsagePeriodicity
EHSLocationName
_EHSLocation _EHSLocation
Country
_Country _EHSLocation _Country
Plant
PlantName
_Plant _EHSLocation _Plant
BusinessArea
_BusinessArea _EHSLocation _BusinessArea
Region
_Region _EHSLocation _Region
EHSLocationType
_EHSLocationType _EHSLocation _EHSLocationType
DataPeriodName P_LocAggregationPeriod DataPeriodName
@EndUserText.label: 'Amounts for Activities'
@VDM.viewType: #COMPOSITE

@AccessControl:
{
  authorizationCheck: #NOT_REQUIRED,
  // blocking of personal data not required (user data can not be blocked and no BP info from user exposed)

  personalData.blocking: #NOT_REQUIRED
}
@AbapCatalog.sqlViewName: 'IENVAMNSFORACT'
@AbapCatalog.compiler.compareFilter: true

// Client handling by session

@ClientHandling.algorithm: #SESSION_VARIABLE

// used for BOBF Master Data Object

@ObjectModel.usageType:{ serviceQuality: #D,        // < 15 msec

                         sizeCategory:  #L,         // < 10.000.000

                         dataClass: #MIXED }


define view I_EnvrmtAmountsForActivity
  with parameters
    @Consumption.hidden: true
    @Environment.systemField: #SYSTEM_LANGUAGE
    P_Language : sylangu
  //================================================================================================================

  //================================================================================================================

  //================================================================================================================

  ///////DATA COLLECTIONS

  as select from I_EHSAmountRoot      as AmountRoot
    inner join   I_DataCollectionRoot as DataCollectionRoot on AmountRoot.EHSAmountSourceUUID = DataCollectionRoot.DataCollectionUUID
    inner join   t006a                                      on t006a.msehi = AmountRoot.UnitOfMeasure
    inner join   P_DataCollDefPeriod  as _DataCollDefPeriod on  DataCollectionRoot.DataUsagePeriodicity = _DataCollDefPeriod.Period
                                                            and _DataCollDefPeriod.Language             = $session.system_language


{

  key AmountRoot.EHSAmountUUID,
      AmountRoot.EHSAmountUTCDateTime,
      AmountRoot.UnitOfMeasureName,
      AmountRoot.UnitOfMeasure,
      AmountRoot._UnitText,
      AmountRoot.EHSAmountSourceType,
      AmountRoot._EHSAmountSourceType,
      AmountRoot._EHSAmountSourceType._Text[1: Language = $session.system_language].EHSAmountSourceTypeName,
      AmountRoot.EHSSubjectType,
      AmountRoot.EHSSubjectUUID,
      AmountRoot.EHSAmountValue,


      DataCollectionRoot.EHSLocationUUID,
      // DataCollectionRoot._EHSLocation,

      DataCollectionRoot.DataUsagePeriodicity,
      DataCollectionRoot._EHSLocation._EHSLocationRevisionName[1: Language = $session.system_language].EHSLocationName as EHSLocationName,
      _EHSLocation,
      DataCollectionRoot._EHSLocation.Country,
      // DataCollectionRoot._EHSLocation._Country._Text[1: Language = $session.system_language].CountryName,

      _EHSLocation._Country,
      DataCollectionRoot._EHSLocation.Plant,
      DataCollectionRoot._EHSLocation._Plant.PlantName,
      _EHSLocation._Plant,
      DataCollectionRoot._EHSLocation.BusinessArea,
      //DataCollectionRoot._EHSLocation._BusinessArea._Text[1: Language = $session.system_language].BusinessAreaName,

      _EHSLocation._BusinessArea,
      DataCollectionRoot._EHSLocation.Region,
      _EHSLocation._Region,
      DataCollectionRoot._EHSLocation.EHSLocationType,
      // DataCollectionRoot._EHSLocation._EHSLocationType._Text[1: Language = $session.system_language].EHSLocationTypeText,

      _EHSLocation._EHSLocationType,
      _DataCollDefPeriod.DataPeriodName


}

where
  //Only Data Collection

  AmountRoot.EHSAmountSourceType          = '02'
  and
  //With Approved Status!

  AmountRoot.EHSAmountStatus              = '02'
  and
  //Only Monthly Data Collections

  DataCollectionRoot.DataUsagePeriodicity = '002'

//================================================================================================================

//================================================================================================================

//================================================================================================================

/////////CALCULATIONS

union select from I_EHSAmountRoot       as AmountRoot
  inner join      I_CalcDefResultHeader as CalcDefResultHeader on AmountRoot.EHSAmountSourceUUID = CalcDefResultHeader.CalculationResultHeaderUUID
  inner join      t006a                                        on  t006a.msehi = AmountRoot.UnitOfMeasure
                                                               and t006a.spras = $parameters.P_Language

  inner join      P_CalcPeriod          as _CalcPeriod         on  CalcDefResultHeader.DataUsagePeriodicity = _CalcPeriod.Period
                                                               and _CalcPeriod.Language                     = $session.system_language

{

  key AmountRoot.EHSAmountUUID,
      AmountRoot.EHSAmountUTCDateTime,
      AmountRoot.UnitOfMeasureName,
      AmountRoot.UnitOfMeasure,
      AmountRoot._UnitText,
      AmountRoot.EHSAmountSourceType,
      AmountRoot._EHSAmountSourceType,
      AmountRoot._EHSAmountSourceType._Text[1: Language = $session.system_language].EHSAmountSourceTypeName,

      AmountRoot.EHSSubjectType,
      AmountRoot.EHSSubjectUUID,
      AmountRoot.EHSAmountValue,


      CalcDefResultHeader.EHSLocationUUID,
      // CalcDefResultHeader._EHSLocation,

      CalcDefResultHeader.DataUsagePeriodicity,
      CalcDefResultHeader._EHSLocation._EHSLocationRevisionName[1: Language = $session.system_language].EHSLocationName as EHSLocationName,
      _EHSLocation,
      CalcDefResultHeader._EHSLocation.Country,
      //  CalcDefResultHeader._EHSLocation._Country._Text[1: Language = $session.system_language].CountryName,

      _EHSLocation._Country,
      CalcDefResultHeader._EHSLocation.Plant,
      CalcDefResultHeader._EHSLocation._Plant.PlantName,
      _EHSLocation._Plant,
      CalcDefResultHeader._EHSLocation.BusinessArea,

      // CalcDefResultHeader._EHSLocation._BusinessArea._Text[1: Language = $session.system_language].BusinessAreaName,

      _EHSLocation._BusinessArea,
      CalcDefResultHeader._EHSLocation.Region,
      _EHSLocation._Region,
      CalcDefResultHeader._EHSLocation.EHSLocationType,
      // CalcDefResultHeader._EHSLocation._EHSLocationType._Text[1: Language = $session.system_language].EHSLocationTypeText,

      _EHSLocation._EHSLocationType,
      _CalcPeriod.DataPeriodName



}
where
  //Only CALCULATIONS

  AmountRoot.EHSAmountSourceType           = '04'
  and
  //With Approved Status!

  AmountRoot.EHSAmountStatus               = '02'
  and
  //Only Monthly Data Collections

  CalcDefResultHeader.DataUsagePeriodicity = '002'
////================================================================================================================

////================================================================================================================

////================================================================================================================

/////////SAMPLING

union select from I_EHSAmountRoot          as AmountRoot
  inner join      I_SamplingDefinitionRoot as SamplingDefinitionRoot on AmountRoot.EHSAmountSourceUUID = SamplingDefinitionRoot.SamplingDefinitionUUID
  inner join      t006a                                              on  t006a.msehi = AmountRoot.UnitOfMeasure
                                                                     and t006a.spras = $parameters.P_Language
  inner join      P_SamplingPeriod         as _SamplingPeriod        on  SamplingDefinitionRoot.DataUsagePeriodicity = _SamplingPeriod.Period
                                                                     and _SamplingPeriod.Language                    = $session.system_language
{

  key AmountRoot.EHSAmountUUID,
      AmountRoot.EHSAmountUTCDateTime,
      AmountRoot.UnitOfMeasureName,
      AmountRoot.UnitOfMeasure,
      AmountRoot._UnitText,
      AmountRoot.EHSAmountSourceType,
      AmountRoot._EHSAmountSourceType,
      AmountRoot._EHSAmountSourceType._Text[1: Language = $session.system_language].EHSAmountSourceTypeName,
      AmountRoot.EHSSubjectType,
      AmountRoot.EHSSubjectUUID,
      AmountRoot.EHSAmountValue,



      SamplingDefinitionRoot.EHSLocationUUID,
      //SamplingDefinitionRoot._EHSLocation,

      SamplingDefinitionRoot.DataUsagePeriodicity,
      SamplingDefinitionRoot._EHSLocation._EHSLocationRevisionName[1: Language = $session.system_language].EHSLocationName as EHSLocationName,
      _EHSLocation,
      SamplingDefinitionRoot._EHSLocation.Country,
      // SamplingDefinitionRoot._EHSLocation._Country._Text[1: Language = $session.system_language].CountryName,

      _EHSLocation._Country,
      SamplingDefinitionRoot._EHSLocation.Plant,
      SamplingDefinitionRoot._EHSLocation._Plant.PlantName,
      _EHSLocation._Plant,
      SamplingDefinitionRoot._EHSLocation.BusinessArea,
      // SamplingDefinitionRoot._EHSLocation._BusinessArea._Text[1: Language = $session.system_language].BusinessAreaName,

      _EHSLocation._BusinessArea,
      SamplingDefinitionRoot._EHSLocation.Region,
      _EHSLocation._Region,
      SamplingDefinitionRoot._EHSLocation.EHSLocationType,
      //SamplingDefinitionRoot._EHSLocation._EHSLocationType._Text[1: Language = $session.system_language].EHSLocationTypeText,

      _EHSLocation._EHSLocationType,
      _SamplingPeriod.DataPeriodName

}
where
  //Only SAMPLINGS

  AmountRoot.EHSAmountSourceType = '05'
  and
  //With Approved Status!

  AmountRoot.EHSAmountStatus     = '02'
////================================================================================================================

////================================================================================================================

////================================================================================================================

/////////LOCATION AGGREGATION

union select from I_EHSAmountRoot        as AmountRoot
  inner join      I_LocAggregationRoot   as LocAggregationRoot    on AmountRoot.EHSAmountSourceUUID = LocAggregationRoot.LocAggregationUUID
  inner join      t006a                                           on  t006a.msehi = AmountRoot.UnitOfMeasure
                                                                  and t006a.spras = $parameters.P_Language
  inner join      P_LocAggregationPeriod as _LocAggregationPeriod on  LocAggregationRoot.DataUsagePeriodicity = _LocAggregationPeriod.Period
                                                                  and _LocAggregationPeriod.Language          = $session.system_language
{

  key AmountRoot.EHSAmountUUID,
      AmountRoot.EHSAmountUTCDateTime,
      AmountRoot.UnitOfMeasureName,
      AmountRoot.UnitOfMeasure,
      AmountRoot._UnitText,
      AmountRoot.EHSAmountSourceType,
      AmountRoot._EHSAmountSourceType,
      AmountRoot._EHSAmountSourceType._Text[1: Language = $session.system_language].EHSAmountSourceTypeName,
      AmountRoot.EHSSubjectType,
      AmountRoot.EHSSubjectUUID,
      AmountRoot.EHSAmountValue,



      LocAggregationRoot.EHSLocationUUID,
      //LocAggregationRoot._EHSLocation,

      LocAggregationRoot.DataUsagePeriodicity,
      LocAggregationRoot._EHSLocation._EHSLocationRevisionName[1: Language = $session.system_language].EHSLocationName as EHSLocationName,
      _EHSLocation,
      LocAggregationRoot._EHSLocation.Country,
      // LocAggregationRoot._EHSLocation._Country._Text[1: Language = $session.system_language].CountryName,

      _EHSLocation._Country,
      LocAggregationRoot._EHSLocation.Plant,
      LocAggregationRoot._EHSLocation._Plant.PlantName,
      _EHSLocation._Plant,
      LocAggregationRoot._EHSLocation.BusinessArea,
      //LocAggregationRoot._EHSLocation._BusinessArea._Text[1: Language = $session.system_language].BusinessAreaName,

      _EHSLocation._BusinessArea,
      LocAggregationRoot._EHSLocation.Region,
      _EHSLocation._Region,
      LocAggregationRoot._EHSLocation.EHSLocationType,
      //  LocAggregationRoot._EHSLocation._EHSLocationType._Text[1: Language = $session.system_language].EHSLocationTypeText,

      _EHSLocation._EHSLocationType,
      _LocAggregationPeriod.DataPeriodName



}
where
  //Only LOCATION AGGREGATION

  AmountRoot.EHSAmountSourceType          = '06'
  and
  //With Approved Status!

  AmountRoot.EHSAmountStatus              = '02'
  and
  //Only Monthly Data Collections

  LocAggregationRoot.DataUsagePeriodicity = '002'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CALCDEFRESULTHEADER",
"I_DATACOLLECTIONROOT",
"I_EHSAMOUNTROOT",
"I_EHSAMOUNTSOURCETYPE",
"I_EHSAMOUNTSOURCETYPENAME",
"I_EHSLOCATIONREVISION",
"I_EHSLOCATIONREVISIONNAMET",
"I_LOCAGGREGATIONROOT",
"I_PLANT",
"I_SAMPLINGDEFINITIONROOT",
"P_CALCPERIOD",
"P_DATACOLLDEFPERIOD",
"P_LOCAGGREGATIONPERIOD",
"P_SAMPLINGPERIOD",
"T006A"
],
"ASSOCIATED":
[
"I_BUSINESSAREA",
"I_COUNTRY",
"I_EHSAMOUNTSOURCETYPE",
"I_EHSLOCATIONREVISION",
"I_EHSLOCATIONTYPE",
"I_PLANT",
"I_REGION",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_DATACOLLECTIONROOT",
"I_EHSAMOUNTROOT",
"I_EHSLOCATIONREVISION"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/