C_MyOpenEHSControlImpl

DDL: C_MYOPENEHSCONTROLIMPL Type: view CONSUMPTION

My Open Control Implementations

C_MyOpenEHSControlImpl is a Consumption CDS View that provides data about "My Open Control Implementations" in SAP S/4HANA. It reads from 2 data sources (C_EHSControlImpl, I_MyEHSLocationExpanded) and exposes 41 fields with key field EHSControlInstanceUUID. It has 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
C_EHSControlImpl C_EHSControlImpl from
I_MyEHSLocationExpanded I_MyEHSLocationExpanded inner

Associations (1)

CardinalityTargetAliasCondition
[0..*] C_EHSControlImplementationTask _ControlTasks $projection.EHSControlInstanceUUIDHex = _ControlTasks.EHSTaskHostObjectInstance

Annotations (16)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.sqlViewName CMYOPEHSCTRIMPL view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
Consumption.semanticObject EHSControl view
EndUserText.label My Open Control Implementations view
Metadata.allowExtensions true view
ObjectModel.createEnabled false view
ObjectModel.updateEnabled false view
ObjectModel.representativeKey EHSControlInstanceUUID view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view

Fields (41)

KeyFieldSource TableSource FieldDescription
KEY EHSControlInstanceUUID EHSControlInstanceUUID
EHSControlInstanceUUIDHex
EHSControlUUID C_EHSControlImpl EHSControlUUID
EHSControlIsAdhoc EHSControlIsAdhoc
EHSControlTitleendasEHSControlTitle
_EHSControl _EHSControl
EHSControlImageURL
EHSLocationUUID C_EHSControlImpl EHSLocationUUID
_EHSLocation C_EHSControlImpl _EHSLocation
EHSControlTaskStatus EHSControlTaskStatus
EHSControlTaskStatusCrtclty _EHSControlTaskStatus EHSControlTaskStatusCrtclty
_EHSControlTaskStatus _EHSControlTaskStatus
ResponsiblePerson ResponsiblePerson
_ResponsibleContactCard _ResponsibleContactCard
FunctionalLocation FunctionalLocation
_FunctionalLocation _FunctionalLocation
Equipment Equipment
_Equipment _Equipment
MaintenanceObject MaintenanceObject
TechObjIsEquipOrFuncnlLoc TechObjIsEquipOrFuncnlLoc
Material Material
_Material _Material
EHSRiskAssessmentUUID EHSRiskAssessmentUUID
EHSRiskAssessmentUUIDHex _EHSRiskAssessment EHSRiskAssessmentUUIDHex
_EHSRiskAssessment _EHSRiskAssessment
EHSTaskDueDate EHSTaskDueDate
EHSActnDuUTCDteTmeCriticality EHSActnDuUTCDteTmeCriticality
DesiredEHSControlEffect DesiredEHSControlEffect
_EHSCtrlEffect _EHSCtrlEffect
EHSControlTarget EHSControlTarget
_EHSGoalTarget _EHSGoalTarget
EHSControlObjective EHSControlObjective
EHSControlRemarkUUID EHSControlRemarkUUID
TextCollectionText
_EHSControlRemarkText _EHSControlRemarkText
EHSControlImplStatus EHSControlImplStatus
_EHSCtrlImplementationStatus _EHSCtrlImplementationStatus
EHSRiskUUID EHSRiskUUID
_EHSRisk _EHSRisk
_ControlTasks _ControlTasks
EHSControlCatalogName
@AbapCatalog : {
  compiler.compareFilter: true,
  sqlViewName: 'CMYOPEHSCTRIMPL',
  preserveKey:true 
}
@AccessControl: {
  authorizationCheck: #CHECK,
  privilegedAssociations: [ '_EHSControlRemarkText'  ]
}
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@Consumption.semanticObject: 'EHSControl'
@EndUserText.label: 'My Open Control Implementations'
@Metadata.allowExtensions: true
@ObjectModel : {
  createEnabled: false,
  updateEnabled: false,
  representativeKey: 'EHSControlInstanceUUID',
  semanticKey: ['EHSControlUUID'], // this will make the title column bold in smart templates

  usageType:{
    serviceQuality: #D,                  // < 100 msec

    sizeCategory:  #L,                   // < 10.000.000

    dataClass: #MIXED
  }
}
@VDM.viewType: #CONSUMPTION

define view C_MyOpenEHSControlImpl
  as select from C_EHSControlImpl
  // Filter risks by "My Location" and its sublocations

    inner join   I_MyEHSLocationExpanded on C_EHSControlImpl.EHSLocationUUID = I_MyEHSLocationExpanded.EHSLocationUUID
  association [0..*] to C_EHSControlImplementationTask as _ControlTasks on $projection.EHSControlInstanceUUIDHex = _ControlTasks.EHSTaskHostObjectInstance
{

  key EHSControlInstanceUUID, // EHSControlInstanceUUID is UUID of RiskControl

      bintohex(EHSControlInstanceUUID) as EHSControlInstanceUUIDHex,
      // name of the control

      //--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW

      @Consumption.valueHelpDefinition: [ 
        { entity:  { name:    'I_EHSControlStdVH',
                     element: 'EHSControlUUID' }
        }]
      // ]--GENERATED

      @ObjectModel: {
        foreignKey.association: '_EHSControl',
        text.element:  [ 'EHSControlTitle' ]
      }
      C_EHSControlImpl.EHSControlUUID,

      EHSControlIsAdhoc,
      
      @Semantics.text: true
      case EHSControlIsAdhoc
        when 'X' then C_EHSControlImpl.EHSControlAdhocTitle
        else C_EHSControlImpl._EHSControl._EHSCtrlTitleTxt[1:Language = $session.system_language].EHSControlTitle // EHSControlUUID is UUID of Control Master

      end                                    as EHSControlTitle,

      _EHSControl,

      @Semantics.imageUrl
      @ObjectModel: {
        readOnly: true,
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_EHHSS_CTRL_IMAGE_EXIT'
      }
      cast('' as text1024)                   as EHSControlImageURL,

      // location where the control is to be implemented

      @ObjectModel.foreignKey.association: '_EHSLocation'
      C_EHSControlImpl.EHSLocationUUID,
      C_EHSControlImpl._EHSLocation,

      // task status text

      @ObjectModel.foreignKey.association: '_EHSControlTaskStatus'
      EHSControlTaskStatus,
      _EHSControlTaskStatus.EHSControlTaskStatusCrtclty,
      _EHSControlTaskStatus,

      ResponsiblePerson,
      _ResponsibleContactCard,

      //--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW

      @Consumption.valueHelpDefinition: [ 
        { entity:  { name:    'I_FunctionalLocationStdVH',
                     element: 'FunctionalLocation' }
        }]
      // ]--GENERATED

      FunctionalLocation,
      _FunctionalLocation,

      //--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW

      @Consumption.valueHelpDefinition: [ 
        { entity:  { name:    'I_EquipmentStdVH',
                     element: 'Equipment' }
        }]
      // ]--GENERATED

      Equipment,
      _Equipment,

      MaintenanceObject,
      TechObjIsEquipOrFuncnlLoc,

      //--[ GENERATED:012:29JlHNUf7jY4oS0yl5vKTW

      @Consumption.valueHelpDefinition: [ 
        { entity:  { name:    'I_MaterialStdVH',
                     element: 'Material' }
        }]
      // ]--GENERATED

      Material,
      _Material,

      EHSRiskAssessmentUUID,
      _EHSRiskAssessment.EHSRiskAssessmentUUIDHex,
      _EHSRiskAssessment,

      // due date

      EHSTaskDueDate,
      EHSActnDuUTCDteTmeCriticality,

      DesiredEHSControlEffect,
      _EHSCtrlEffect,

      EHSControlTarget,
      _EHSGoalTarget,

      EHSControlObjective,

      EHSControlRemarkUUID,
      _EHSControlRemarkText[1: Language = $session.system_language ].TextCollectionText, //Element 'EHSControlRemarkUUID_Text' for 'UI.fieldGroup.value' not found

      _EHSControlRemarkText,

      EHSControlImplStatus,
      _EHSCtrlImplementationStatus,

      // needed for authorization checks

      EHSRiskUUID,
      _EHSRisk,
      _ControlTasks,
      _EHSControl._EHSCatalog._CatalogText[1: Language = $session.system_language ].EHSControlCatalogName // Element '_EHSControl._EHSCatalog.EHSControlCatalog_Text' for 'UI.headerInfo.description.value' not found


}
where
      C_EHSControlImpl.EHSControlImplStatus           =  '02' // Control Implementations in process

  and C_EHSControlImpl.EHSRiskStatus                  <> '01' // Risk ist not asigned to RAS yet    

  and C_EHSControlImpl.EHSRiskStatus                  <> '04' // Risk Revision NOT Historic

  and C_EHSControlImpl.EHSRiskStatus                  <> '00' // Risk Revision NOT Void

  and C_EHSControlImpl._EHSLocation.EHSLocationStatus <> '04' // Location not Historic