I_EHSControlImpl

DDL: I_EHSCONTROLIMPL SQL: IEHSRISKCTRLIMP Type: view COMPOSITE Package: EHHSS_BO_RAS_IMPL

EHS Risk Control Implementation

I_EHSControlImpl is a Composite CDS View that provides data about "EHS Risk Control Implementation" in SAP S/4HANA. It reads from 1 data source (I_EHSRiskControl) and exposes 37 fields with key field EHSControlInstanceUUID. It has 7 associations to related views. Part of development package EHHSS_BO_RAS_IMPL.

Data Sources (1)

SourceAliasJoin Type
I_EHSRiskControl I_EHSRiskControl from

Associations (7)

CardinalityTargetAliasCondition
[1..1] I_EHSRiskRoot _RiskRoot $projection.EHSRiskUUID = _RiskRoot.EHSRiskUUID
[1..1] I_EHSRiskRevision _RiskRevision $projection.EHSRiskRevisionUUID = _RiskRevision.EHSRiskRevisionUUID
[0..1] I_EHSCtrlEffect _EHSCtrlEffect $projection.DesiredEHSControlEffect = _EHSCtrlEffect.DesiredEHSControlEffect
[0..1] I_EHSCtrlGoalTar _EHSGoalTarget $projection.EHSControlTarget = _EHSGoalTarget.EHSControlTarget
[0..1] P_MinDuDteOfOpnActnInstances _MinDuDteOfOpnActnInstances $projection.EHSControlInstanceUUIDHex = _MinDuDteOfOpnActnInstances.EHSTaskHostObjectInstance
[0..1] P_NmbrOfEHSTskDefAndInstce _NmbrOfEHSTskDefAndInstce $projection.EHSControlInstanceUUIDHex = _NmbrOfEHSTskDefAndInstce.EHSTaskHostObjectInstance
[0..1] P_NmbrOfOpenEHSTskDefAndInstce _NmbrOfOpenEHSTskDefAndInstce $projection.EHSControlInstanceUUIDHex = _NmbrOfOpenEHSTskDefAndInstce.EHSTaskHostObjectInstance

Annotations (12)

NameValueLevelField
EndUserText.label EHS Risk Control Implementation view
VDM.viewType #COMPOSITE view
ObjectModel.representativeKey EHSControlInstanceUUID view
AccessControl.authorizationCheck #NOT_REQUIRED view
AbapCatalog.sqlViewName IEHSRISKCTRLIMP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (37)

KeyFieldSource TableSource FieldDescription
KEY EHSControlInstanceUUID EHSControlInstanceUUID
EHSControlInstanceUUIDHex EHSControlInstanceUUIDHex
EHSControlUUID EHSControlUUID
EHSControlIsAdhoc EHSControlIsAdhoc
EHSControlAdhocTitle EHSControlAdhocTitle
EHSRiskUUID EHSRiskUUID
_RiskRoot _RiskRoot
EHSRiskRevisionUUID EHSRiskRevisionUUID
_RiskRevision _RiskRevision
ResponsiblePerson ResponsiblePerson
FunctionalLocation FunctionalLocation
Equipment Equipment
Material Material
Hazard Hazard
MaintenanceObject MaintenanceObject
TechObjIsEquipOrFuncnlLoc TechObjIsEquipOrFuncnlLoc
EHSControlImplStatus EHSControlImplStatus
_EHSCtrlImplementationStatus _EHSCtrlImplementationStatus
EHSControlRefCategory EHSControlRefCategory
_EHSControlRefCategory _EHSControlRefCategory
DesiredEHSControlEffect DesiredEHSControlEffect
_EHSCtrlEffect _EHSCtrlEffect
EHSControlTarget EHSControlTarget
_EHSGoalTarget _EHSGoalTarget
EHSControlObjective EHSControlObjective
EHSControlCatalog _EHSControl EHSControlCatalog
_EHSCatalog _EHSControl _EHSCatalog
_EHSControl _EHSControl
EHSLocationUUID _RiskRoot EHSLocationUUID
EHSRiskStatus _RiskRevision EHSRiskStatus
_EHSRiskStatus _RiskRevision _EHSRiskStatus
EHSRiskLevel _RiskRoot EHSRiskLevel
_EHSRiskLevel _RiskRoot _EHSRiskLevel
EHSRiskAssessmentUUID _RiskRevision EHSRiskAssessmentUUID
EHSControlRemarkUUID I_EHSRiskControl EHSControlRemarkUUID
_EHSControlRemarkText _EHSControlRemarkText
EHSTaskDueDate _MinDuDteOfOpnActnInstances EHSTaskDueDate
@EndUserText.label: 'EHS Risk Control Implementation'
@VDM.viewType: #COMPOSITE
@ObjectModel.representativeKey: 'EHSControlInstanceUUID'
@AccessControl.authorizationCheck: #NOT_REQUIRED  // TODO:  we have to check:   #CHECK


@AbapCatalog.sqlViewName: 'IEHSRISKCTRLIMP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: 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 }

@AccessControl.personalData.blocking: #NOT_REQUIRED

define view I_EHSControlImpl
  //  with parameters

  //    @Consumption.hidden: true

  //    @Environment.systemField: #SYSTEM_DATE

  //    P_KeyDate  : sydatum

  as select from I_EHSRiskControl

  association [1..1] to I_EHSRiskRoot                  as _RiskRoot                     on $projection.EHSRiskUUID = _RiskRoot.EHSRiskUUID
  association [1..1] to I_EHSRiskRevision              as _RiskRevision                 on $projection.EHSRiskRevisionUUID = _RiskRevision.EHSRiskRevisionUUID  
  association [0..1] to I_EHSCtrlEffect                as _EHSCtrlEffect                on $projection.DesiredEHSControlEffect = _EHSCtrlEffect.DesiredEHSControlEffect
  association [0..1] to I_EHSCtrlGoalTar               as _EHSGoalTarget                on $projection.EHSControlTarget = _EHSGoalTarget.EHSControlTarget

  association [0..1] to P_MinDuDteOfOpnActnInstances   as _MinDuDteOfOpnActnInstances   on $projection.EHSControlInstanceUUIDHex = _MinDuDteOfOpnActnInstances.EHSTaskHostObjectInstance
  association [0..1] to P_NmbrOfEHSTskDefAndInstce     as _NmbrOfEHSTskDefAndInstce     on $projection.EHSControlInstanceUUIDHex = _NmbrOfEHSTskDefAndInstce.EHSTaskHostObjectInstance
  association [0..1] to P_NmbrOfOpenEHSTskDefAndInstce as _NmbrOfOpenEHSTskDefAndInstce on $projection.EHSControlInstanceUUIDHex = _NmbrOfOpenEHSTskDefAndInstce.EHSTaskHostObjectInstance



{

  key EHSControlInstanceUUID,
      EHSControlInstanceUUIDHex,
      EHSControlUUID,
      EHSControlIsAdhoc,
      EHSControlAdhocTitle,
      EHSRiskUUID,
      _RiskRoot,
      EHSRiskRevisionUUID,
      _RiskRevision,

      ResponsiblePerson,

      FunctionalLocation,
      Equipment,
      Material,
      Hazard,
      MaintenanceObject,
      TechObjIsEquipOrFuncnlLoc,


      @ObjectModel.foreignKey.association: '_EHSCtrlImplementationStatus'
      EHSControlImplStatus,
      _EHSCtrlImplementationStatus,

      @ObjectModel.foreignKey.association: '_EHSControlRefCategory'
      EHSControlRefCategory,
      _EHSControlRefCategory,

      @ObjectModel.foreignKey.association: '_EHSCtrlEffect'
      DesiredEHSControlEffect,
      _EHSCtrlEffect,

      @ObjectModel.foreignKey.association: '_EHSGoalTarget'
      EHSControlTarget,
      _EHSGoalTarget,

      EHSControlObjective,


      @ObjectModel.foreignKey.association: '_EHSCatalog'
      _EHSControl.EHSControlCatalog,
      _EHSControl._EHSCatalog,
      _EHSControl,

      _RiskRoot.EHSLocationUUID,

      @ObjectModel.foreignKey.association: '_EHSRiskStatus'
      _RiskRevision.EHSRiskStatus,
      _RiskRevision._EHSRiskStatus,

      @ObjectModel.foreignKey.association: '_EHSRiskLevel'
      _RiskRoot.EHSRiskLevel,
      _RiskRoot._EHSRiskLevel,

      _RiskRevision.EHSRiskAssessmentUUID,

      I_EHSRiskControl.EHSControlRemarkUUID,
      _EHSControlRemarkText,

      cast( case
        when _NmbrOfEHSTskDefAndInstce.NmbrOfEHSTaskDefAndInstce is null
          then  cast('01' as ehhss_ctrl_task_status)
        when _NmbrOfEHSTskDefAndInstce.NmbrOfEHSTaskDefAndInstce = 0
          then  cast('01' as ehhss_ctrl_task_status)
        when _NmbrOfOpenEHSTskDefAndInstce.NmbrOfEHSTaskDefAndInstce  > 0
          then cast('02' as ehhss_ctrl_task_status)
        else
         '03' 
      end as ehhss_ctrl_task_status) as EHSControlTaskStatus,

      //      case

      //        when ( _NmbrOfOpnDefWth0OpnInstances.NumberOfOpenEHSActnDefinitions = 0 or

      //              _NmbrOfOpnDefWth0OpnInstances.NumberOfOpenEHSActnDefinitions is null ) and

      //              _MinDuDteOfOpnActnInstances.EHSActionDueUTCDateTime is not null

      //          then _MinDuDteOfOpnActnInstances.EHSActionDueUTCDateTime

      //      end

      _MinDuDteOfOpnActnInstances.EHSTaskDueDate,

      case
         when _MinDuDteOfOpnActnInstances.EHSTaskDueDate < $session.system_date
         then 1
         else 0
       end as EHSActnDuUTCDteTmeCriticality

}