I_EHSCmplncScenRoot

DDL: I_EHSCMPLNCSCENROOT Type: view BASIC Package: EHENV_BO_SCENARIO_IMPL

EHS Compliance Scenario Root

I_EHSCmplncScenRoot is a Basic CDS View that provides data about "EHS Compliance Scenario Root" in SAP S/4HANA. It reads from 1 data source (ehenvd_scen_root) and exposes 23 fields with key field EHSComplianceScenarioRootUUID. It has 7 associations to related views. Part of development package EHENV_BO_SCENARIO_IMPL.

Data Sources (1)

SourceAliasJoin Type
ehenvd_scen_root ehenvd_scen_root from

Associations (7)

CardinalityTargetAliasCondition
[1..*] I_EHSCmplncScenName _EHSCmplncScenName $projection.EHSComplianceScenarioRootUUID = _EHSCmplncScenName.EHSComplianceScenarioRootUUID
[0..*] I_EHSLocationRevision _EHSLocationRevision $projection.EHSLocationUUID = _EHSLocationRevision.EHSLocationUUID
[1..*] I_EHSComplianceScenarioTypeTxt _EHSComplianceScenarioTypeTxt $projection.EHSComplianceScenarioTypeCode = _EHSComplianceScenarioTypeTxt.EHSComplianceScenarioTypeCode
[1..1] I_EHSComplianceScenarioStatus _EHSComplianceScenarioStatus $projection.EHSComplianceScenarioStatus = _EHSComplianceScenarioStatus.EHSComplianceScenarioStatus
[0..1] I_EHSCmplncScenNameFllbckLang _EHSCmplncScenNameFllbckLang $projection.EHSComplianceScenarioRootUUID = _EHSCmplncScenNameFllbckLang.EHSComplianceScenarioRootUUID
[1..1] I_EHSLocationRoot _EHSLocationRoot $projection.EHSLocationUUID = _EHSLocationRoot.EHSLocationUUID
[1..1] I_LocationDescFallbackLang _LocationDescFallbackLang $projection.EHSLocationUUID = _LocationDescFallbackLang.EHSLocationUUID

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IEHSCMPLSCENROOT view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
EndUserText.label EHS Compliance Scenario Root view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view

Fields (23)

KeyFieldSource TableSource FieldDescription
KEY EHSComplianceScenarioRootUUID db_key
EHSCmplncScenMigrationSource migration_src
CreationDateTime
LastChangeDateTime
CreatedByUser user_id_cr
LastChangedByUser user_id_ch
EHSComplianceScenarioStatus status
RevisionStartDate valid_from
RevisionEndDate valid_to
RevisionDescription revision_descr
EHSCmplncScenOrignRootUUID object_key
EHSCmplncScenProdnProcTypeCode
EHSComplianceScenarioTypeCode scenario_type_code
EHSComplianceScenarioID id
EHSComplianceScenUsagePeriod usage_period
_EHSCmplncScenName _EHSCmplncScenName
_EHSComplianceScenarioTypeTxt _EHSComplianceScenarioTypeTxt
_EHSComplianceScenarioStatus _EHSComplianceScenarioStatus
EHSLocationUUID
_EHSLocationRevision _EHSLocationRevision
_EHSCmplncScenNameFllbckLang _EHSCmplncScenNameFllbckLang
_LocationDescFallbackLang _LocationDescFallbackLang
_EHSLocationRoot _EHSLocationRoot
@AbapCatalog:{
    sqlViewName: 'IEHSCMPLSCENROOT',
    compiler.compareFilter: true,
    preserveKey:true
}

@EndUserText.label: 'EHS Compliance Scenario Root'
@VDM.viewType: #BASIC

@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType:{ dataClass: #TRANSACTIONAL,
                         serviceQuality: #D,
                         sizeCategory: #XL }


define view I_EHSCmplncScenRoot
  as select from ehenvd_scen_root
  // association [0..1] to I_User                as _CreatedByUser     on  $projection.CreatedByUser       = _CreatedByUser.UserID

  //  association [0..1] to I_User                as _LastChangedByUser on  $projection.LastChangedByUser   = _LastChangedByUser.UserID

  association [1..*] to I_EHSCmplncScenName            as _EHSCmplncScenName            on $projection.EHSComplianceScenarioRootUUID = _EHSCmplncScenName.EHSComplianceScenarioRootUUID
  association [0..*] to I_EHSLocationRevision          as _EHSLocationRevision          on $projection.EHSLocationUUID = _EHSLocationRevision.EHSLocationUUID
  association [1..*] to I_EHSComplianceScenarioTypeTxt as _EHSComplianceScenarioTypeTxt on $projection.EHSComplianceScenarioTypeCode = _EHSComplianceScenarioTypeTxt.EHSComplianceScenarioTypeCode
  association [1..1] to I_EHSComplianceScenarioStatus  as _EHSComplianceScenarioStatus  on $projection.EHSComplianceScenarioStatus = _EHSComplianceScenarioStatus.EHSComplianceScenarioStatus
  association [0..1] to I_EHSCmplncScenNameFllbckLang  as _EHSCmplncScenNameFllbckLang  on $projection.EHSComplianceScenarioRootUUID = _EHSCmplncScenNameFllbckLang.EHSComplianceScenarioRootUUID
  association [1..1] to I_EHSLocationRoot              as _EHSLocationRoot              on $projection.EHSLocationUUID = _EHSLocationRoot.EHSLocationUUID
  association [1..1] to I_LocationDescFallbackLang     as _LocationDescFallbackLang     on $projection.EHSLocationUUID = _LocationDescFallbackLang.EHSLocationUUID
{

  key db_key                                                                        as EHSComplianceScenarioRootUUID,

      migration_src                                                                 as EHSCmplncScenMigrationSource,
      //admin fields

      @Semantics.systemDate.createdAt: true
      cast( datetime_cr as ehfnd_datetime_cr preserving type )                      as CreationDateTime,
      @Semantics.systemDate.lastChangedAt: true
      cast( datetime_ch as ehfnd_datetime_ch preserving type )                      as LastChangeDateTime,
      @Semantics.user.createdBy: true
      user_id_cr                                                                    as CreatedByUser,

      @Semantics.user.lastChangedBy: true
      user_id_ch                                                                    as LastChangedByUser,

      status                                                                        as EHSComplianceScenarioStatus,

      @Semantics.businessDate.from
      valid_from                                                                    as RevisionStartDate,
      @Semantics.businessDate.to
      valid_to                                                                      as RevisionEndDate,

      revision_descr                                                                as RevisionDescription,

      object_key                                                                    as EHSCmplncScenOrignRootUUID,

      cast( prod_proc_type_code as ehenv_scen_prod_proc_type_code preserving type ) as EHSCmplncScenProdnProcTypeCode,

      scenario_type_code                                                            as EHSComplianceScenarioTypeCode,

      id                                                                            as EHSComplianceScenarioID,

      usage_period                                                                  as EHSComplianceScenUsagePeriod,

      _EHSCmplncScenName,

      _EHSComplianceScenarioTypeTxt,

      _EHSComplianceScenarioStatus,

      // commented out becasue:

      // 1. there is a problem with the mapping role because of renaming the view

      // 2. the authorization check is not used

      // Location information is needed because of the mapping role for the authorization check

      //      @ObjectModel.foreignKey.association: '_EHSLocation'

      cast( loc_root_key_ref as ehfnd_location_uuid_ref preserving type )           as EHSLocationUUID,
      _EHSLocationRevision,
      _EHSCmplncScenNameFllbckLang,
      _LocationDescFallbackLang,
      _EHSLocationRoot
}