C_EHSRisksForIdentifyRisks

DDL: C_EHSRISKSFORIDENTIFYRISKS SQL: CEHSRSKFORIDRSK Type: view CONSUMPTION

Consumption view for the existing and newly identified Risks

C_EHSRisksForIdentifyRisks is a Consumption CDS View that provides data about "Consumption view for the existing and newly identified Risks" in SAP S/4HANA. It reads from 1 data source (C_EHSRisk) and exposes 41 fields with key field EHSRiskUUID. It has 18 associations to related views.

Data Sources (1)

SourceAliasJoin Type
C_EHSRisk C_EHSRisk from

Associations (18)

CardinalityTargetAliasCondition
[0..*] I_EHSMethodOfUseText _MethodOfUseText $projection.MethodOfUse = _MethodOfUseText.MethodOfUse
[1..1] I_Hazard _Hazard $projection.Hazard = _Hazard.Hazard
[0..*] I_HazardText _HazardText $projection.Hazard = _HazardText.Hazard
[0..*] I_EHSOperationalStatusText _OperationalStatusText $projection.OperationalStatus = _OperationalStatusText.OperationalStatus
[0..*] I_EHSRiskLevelText _EHSRiskLevelText $projection.EHSRiskLevel = _EHSRiskLevelText.EHSRiskLevel
[0..*] I_EHSRiskStatusText _EHSRiskStatusText $projection.EHSRiskStatus = _EHSRiskStatusText.EHSRiskStatus
[0..1] P_EHSControlsCount _EHSControlsCount $projection.EHSRiskRevisionUUID = _EHSControlsCount.EHSRiskRevisionUUID
[0..*] C_AdhocEHSCtrlForIdentifyRisks _AdhocEHSControls $projection.EHSRiskRevisionUUID = _AdhocEHSControls.EHSRiskRevisionUUID
[0..*] C_StdEHSCtrlForIdentifyRisks _StandardEHSControls $projection.EHSRiskRevisionUUID = _StandardEHSControls.EHSRiskRevisionUUID
[0..*] I_CurrentEHSLocationNameText _EHSLocationName $projection.EHSLocationUUID = _EHSLocationName.EHSLocationUUID
[0..*] I_HazardImpact _HazardImpact $projection.Hazard = _HazardImpact.Hazard
[0..*] I_HazardControl _HazardControl $projection.Hazard = _HazardControl.Hazard
[1..1] C_EHSRiskWithAssessmentProfile _EHSRiskWithAssessmentProfile $projection.EHSRiskUUID = _EHSRiskWithAssessmentProfile.EHSRiskUUID
[0..*] I_ChemicalNameText _ChemicalNameText $projection.ChemicalUUID = _ChemicalNameText.ChemicalUUID and _ChemicalNameText.RevisionEndDate >= $session.system_date
[0..*] I_AirborneAgentNameText _AirborneAgentNameText $projection.AirborneAgentUUID = _AirborneAgentNameText.AirborneAgentUUID and _AirborneAgentNameText.RevisionEndDate >= $session.system_date
[0..*] I_PhysicalAgentNameText _PhysicalAgentNameText $projection.PhysicalAgentUUID = _PhysicalAgentNameText.PhysicalAgentUUID
[0..1] I_EHSJobAtLocation _EHSJobAtLocation $projection.EHSLocationUUID = _EHSJobAtLocation.EHSLocationUUID and $projection.EHSJobUUID = _EHSJobAtLocation.EHSJobUUID
[0..1] I_EHSJobStepForJobAtLocation _EHSJobStepForJobAtLocation $projection.EHSJobAtLocationUUID = _EHSJobStepForJobAtLocation.EHSJobAtLocationUUID and $projection.EHSJobStep = _EHSJobStepForJobAtLocation.EHSJobStep

Annotations (12)

NameValueLevelField
EndUserText.label Consumption view for the existing and newly identified Risks view
VDM.viewType #CONSUMPTION view
ObjectModel.updateEnabled false view
ObjectModel.createEnabled false view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey EHSRiskUUID view
AbapCatalog.sqlViewName CEHSRSKFORIDRSK view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (41)

KeyFieldSource TableSource FieldDescription
KEY EHSRiskUUID EHSRiskUUID
EHSRiskRevisionUUID EHSRiskRevisionUUID
EHSRiskUUIDHex EHSRiskUUIDHex
EHSLocationUUID EHSLocationUUID
_EHSLocation _EHSLocation
_EHSLocationName _EHSLocationName
EHSJobUUID EHSJobUUID
_EHSJob _EHSJob
EHSJobStep EHSJobStep
EHSJobAtLocationUUID _EHSJobAtLocation EHSJobAtLocationUUID
_EHSJobStepForJobAtLocation _EHSJobStepForJobAtLocation
Hazard Hazard
_Hazard _Hazard
_HazardText _HazardText
EHSAgentUUID EHSAgentUUID
ChemicalUUID ChemicalUUID
_ChemicalNameText _ChemicalNameText
AirborneAgentUUID AirborneAgentUUID
_AirborneAgentNameText _AirborneAgentNameText
PhysicalAgentUUID PhysicalAgentUUID
_PhysicalAgentNameText _PhysicalAgentNameText
OperationalStatus
_OperationalStatusText _OperationalStatusText
MethodOfUse MethodOfUse
_MethodOfUseText _MethodOfUseText
EHSRiskLevel EHSRiskLevel
_EHSRiskLevelText _EHSRiskLevelText
EHSRiskStatus EHSRiskStatus
_EHSRiskStatusText _EHSRiskStatusText
NumberOfEHSControls _EHSControlsCount NumberOfEHSControls
EHSRiskImageURL
EHSRiskLevelCriticality _EHSRiskLevel EHSRiskLevelCriticality
EHSRiskCommentUUID EHSRiskCommentUUID
_EHSRiskCommentText _EHSRiskCommentText
_HazardControl _HazardControl
_AdhocEHSControls _AdhocEHSControls
_StandardEHSControls _StandardEHSControls
_HazardImpact _HazardImpact
_EHSRiskImpact _EHSRiskImpact
EHSRiskAssessmentType C_EHSRisk EHSRiskAssessmentType
_EHSRiskWithAssessmentProfile _EHSRiskWithAssessmentProfile
@EndUserText.label: 'Consumption view for the existing and newly identified Risks'

@VDM.viewType: #CONSUMPTION
@ObjectModel.updateEnabled: false
@ObjectModel.createEnabled: false

@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations: ['_EHSRiskCommentText']

@ObjectModel.representativeKey: 'EHSRiskUUID'

@AbapCatalog.sqlViewName: 'CEHSRSKFORIDRSK'
@AbapCatalog.compiler.compareFilter: true

// Client handling by session

@ClientHandling.algorithm: #SESSION_VARIABLE

// used for BOBF Master Data Object

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

                         sizeCategory:  #XL,         // < 100.000.000

                         dataClass: #MIXED }

@Consumption.dbHints: ['USE_HEX_PLAN']

define view C_EHSRisksForIdentifyRisks
  as select from    C_EHSRisk

  association [0..*] to I_EHSMethodOfUseText           as _MethodOfUseText              on $projection.MethodOfUse = _MethodOfUseText.MethodOfUse
  association [1..1] to I_Hazard                       as _Hazard                       on $projection.Hazard = _Hazard.Hazard
  association [0..*] to I_HazardText                   as _HazardText                   on $projection.Hazard = _HazardText.Hazard
  association [0..*] to I_EHSOperationalStatusText     as _OperationalStatusText        on $projection.OperationalStatus = _OperationalStatusText.OperationalStatus
  association [0..*] to I_EHSRiskLevelText             as _EHSRiskLevelText             on $projection.EHSRiskLevel = _EHSRiskLevelText.EHSRiskLevel
  association [0..*] to I_EHSRiskStatusText            as _EHSRiskStatusText            on $projection.EHSRiskStatus = _EHSRiskStatusText.EHSRiskStatus
  association [0..1] to P_EHSControlsCount             as _EHSControlsCount             on $projection.EHSRiskRevisionUUID = _EHSControlsCount.EHSRiskRevisionUUID
  association [0..*] to C_AdhocEHSCtrlForIdentifyRisks as _AdhocEHSControls             on $projection.EHSRiskRevisionUUID = _AdhocEHSControls.EHSRiskRevisionUUID
  association [0..*] to C_StdEHSCtrlForIdentifyRisks   as _StandardEHSControls          on $projection.EHSRiskRevisionUUID = _StandardEHSControls.EHSRiskRevisionUUID
  association [0..*] to I_CurrentEHSLocationNameText   as _EHSLocationName              on $projection.EHSLocationUUID = _EHSLocationName.EHSLocationUUID
  association [0..*] to I_HazardImpact                 as _HazardImpact                 on $projection.Hazard = _HazardImpact.Hazard
  association [0..*] to I_HazardControl                as _HazardControl                on $projection.Hazard = _HazardControl.Hazard
  association [1..1] to C_EHSRiskWithAssessmentProfile as _EHSRiskWithAssessmentProfile on $projection.EHSRiskUUID = _EHSRiskWithAssessmentProfile.EHSRiskUUID
  association [0..*] to I_ChemicalNameText             as _ChemicalNameText             on $projection.ChemicalUUID = _ChemicalNameText.ChemicalUUID
                                                                                          and _ChemicalNameText.RevisionEndDate >= $session.system_date
  association [0..*] to I_AirborneAgentNameText        as _AirborneAgentNameText        on $projection.AirborneAgentUUID = _AirborneAgentNameText.AirborneAgentUUID
                                                                                          and _AirborneAgentNameText.RevisionEndDate >= $session.system_date
  association [0..*] to I_PhysicalAgentNameText        as _PhysicalAgentNameText        on $projection.PhysicalAgentUUID = _PhysicalAgentNameText.PhysicalAgentUUID
  
  association [0..1] to I_EHSJobAtLocation   as _EHSJobAtLocation   on $projection.EHSLocationUUID = _EHSJobAtLocation.EHSLocationUUID and
                                                                        $projection.EHSJobUUID = _EHSJobAtLocation.EHSJobUUID

  association [0..1] to I_EHSJobStepForJobAtLocation   as _EHSJobStepForJobAtLocation   on $projection.EHSJobAtLocationUUID  = _EHSJobStepForJobAtLocation.EHSJobAtLocationUUID and
                                                                        $projection.EHSJobStep = _EHSJobStepForJobAtLocation.EHSJobStep

{
  key EHSRiskUUID,
      EHSRiskRevisionUUID,
      EHSRiskUUIDHex,

      @ObjectModel.text.association: '_EHSLocationName'
      EHSLocationUUID,
      _EHSLocation,
      _EHSLocationName,

      EHSJobUUID,
      _EHSJob,
      EHSJobStep,
      _EHSJobAtLocation.EHSJobAtLocationUUID as EHSJobAtLocationUUID,
      _EHSJobStepForJobAtLocation,

      @ObjectModel.text.association: '_HazardText'
      Hazard,
      _Hazard,
      _HazardText,

      EHSAgentUUID,

      // due to performance reasons, it is beneficial to provide distinct agent names. The union view I_EHSAgentNameText can lead to a bad performance

      @ObjectModel.text.association: '_ChemicalNameText'
      ChemicalUUID,
      _ChemicalNameText,

      @ObjectModel.text.association: '_AirborneAgentNameText'
      AirborneAgentUUID,
      _AirborneAgentNameText,

      @ObjectModel.text.association: '_PhysicalAgentNameText'
      PhysicalAgentUUID,
      _PhysicalAgentNameText,

      @ObjectModel.text.association: '_OperationalStatusText'
      cast ( OperationalStatus as ehhss_opstatus_code_nc preserving type ) as OperationalStatus,
      _OperationalStatusText,

      @ObjectModel.text.association: '_MethodOfUseText'
      MethodOfUse,
      _MethodOfUseText,

      @ObjectModel.text.association: '_EHSRiskLevelText'
      EHSRiskLevel,
      _EHSRiskLevelText,

      @ObjectModel.text.association: '_EHSRiskStatusText'
      EHSRiskStatus,
      _EHSRiskStatusText,

      _EHSControlsCount.NumberOfEHSControls,

      // to decrease the HANA footprint on performance, the algorithm to determine the picture path was moved into a SADL exit,

      // before this was a distinct AMDP view

      @ObjectModel: {
        readOnly: true,
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_EHHSS_RISK_IMG_EXIT'
      }
      cast( '' as text1024 ) as EHSRiskImageURL,
      _EHSRiskLevel.EHSRiskLevelCriticality                                as EHSRiskLevelCriticality,

      EHSRiskCommentUUID,
      _EHSRiskCommentText,

      _HazardControl,
      _AdhocEHSControls,
      _StandardEHSControls,
      _HazardImpact,
      _EHSRiskImpact,

      //  these fields are needed for the authorization checks.

      //  they are exposed here with the try to reduce the number of the generated joins: ref. internal message 1670391530/2016

      C_EHSRisk.EHSRiskAssessmentType,
//      C_EHSRisk.EHSLocationAuthorizationGroup,

//      C_EHSRisk.Plant,

//      C_EHSRisk.CostCenter,

//      C_EHSRisk.CompanyCode,

//      C_EHSRisk.BusinessArea


      _EHSRiskWithAssessmentProfile
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_EHSRISK",
"C_EHSRISKLEVEL",
"I_EHSJOBATLOCATION",
"P_EHSCONTROLSCOUNT"
],
"ASSOCIATED":
[
"C_ADHOCEHSCTRLFORIDENTIFYRISKS",
"C_EHSLOCATION",
"C_EHSRISKWITHASSESSMENTPROFILE",
"C_STDEHSCTRLFORIDENTIFYRISKS",
"I_AIRBORNEAGENTNAMETEXT",
"I_CHEMICALNAMETEXT",
"I_CURRENTEHSLOCATIONNAMETEXT",
"I_EHSJOB",
"I_EHSJOBATLOCATION",
"I_EHSJOBSTEPFORJOBATLOCATION",
"I_EHSMETHODOFUSETEXT",
"I_EHSOPERATIONALSTATUSTEXT",
"I_EHSRISKIMPACT",
"I_EHSRISKLEVELTEXT",
"I_EHSRISKSTATUSTEXT",
"I_EHSTEXTCOLLECTIONTEXT",
"I_HAZARD",
"I_HAZARDCONTROL",
"I_HAZARDIMPACT",
"I_HAZARDTEXT",
"I_PHYSICALAGENTNAMETEXT",
"P_EHSCONTROLSCOUNT"
],
"BASE":
[
"C_EHSRISK"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/