@EndUserText.label: 'EHS Risk Assessment'
@Analytics: { dataCategory:#DIMENSION , dataExtraction.enabled:true }
@VDM.viewType: #BASIC
@ObjectModel.representativeKey: 'EHSRiskAssessmentUUID'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations: ['_CreatedByUser','_LastChangedByUser']
@AbapCatalog.sqlViewName: 'IEHSRASROOT'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
// Client handling by session
@ClientHandling.algorithm: #SESSION_VARIABLE
// used for BOBF Master Data Object
@ObjectModel.usageType:{ serviceQuality: #C, // < 15 msec
sizeCategory: #M, // < 100.000
dataClass: #TRANSACTIONAL }
@Metadata.allowExtensions:true
define view I_EHSRiskAssessment
as select from ehhssd_ras_root
// left outer join ehfndd_loc_rev as _EHSLoc on ehhssd_ras_root.loc_key_ref = _EHSLoc.parent_key
association [1..1] to I_EHSRiskAssessmentType as _EHSRiskAssessmentType on $projection.EHSRiskAssessmentType = _EHSRiskAssessmentType.EHSRiskAssessmentType
association [0..1] to I_EHSJob as _EHSJob on $projection.EHSJobUUID = _EHSJob.EHSJobUUID
association [0..*] to I_EHSRiskAssessmentRisk as _Risk on $projection.EHSRiskAssessmentUUID = _Risk.EHSRiskAssessmentUUID
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 [0..*] to I_EHSLocationRevision as _EHSLoc on $projection.EHSLocationUUID = _EHSLoc.EHSLocationUUID
association [1..1] to I_EHSRiskAssessmentStatus as _EHSRiskAssessmentStatus on $projection.EHSRiskAssessmentStatus = _EHSRiskAssessmentStatus.EHSRiskAssessmentStatus
association [0..1] to I_EHSRiskAssessmentLead as _EHSRiskAssessmentLead on $projection.EHSRiskAssessmentUUID = _EHSRiskAssessmentLead.EHSRiskAssessmentUUID
association [0..1] to I_EHSOperationalStatus as _OperationalStatus on $projection.OperationalStatus = _OperationalStatus.OperationalStatus
{
@ObjectModel.text.element: [ 'EHSRiskAssessmentTitle' ]
key cast( db_key as ehhss_ras_uuid_ref preserving type ) as EHSRiskAssessmentUUID,
_Risk,
cast(datetime_cr as timestamp preserving type) as CreationDateTime,
user_id_cr as CreatedByUser,
_CreatedByUser,
cast(datetime_ch as timestamp preserving type) as LastChangeDateTime,
user_id_ch as LastChangedByUser,
_LastChangedByUser,
id as EHSRiskAssessmentID,
@ObjectModel.foreignKey.association: '_EHSRiskAssessmentType'
cast(type as ehhss_ras_type_code_nc preserving type) as EHSRiskAssessmentType,
_EHSRiskAssessmentType,
@Semantics.text: true
title as EHSRiskAssessmentTitle,
@ObjectModel.foreignKey.association: '_EHSJob'
cast( job_root_key_ref as ehhss_job_uuid_ref preserving type ) as EHSJobUUID,
_EHSJob,
@ObjectModel.foreignKey.association: null
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_EHSLocationValueHelp', element: 'EHSLocationUUID' }}]
cast( loc_key_ref as ehfnd_location_uuid_ref preserving type ) as EHSLocationUUID,
_EHSLoc,
@ObjectModel.foreignKey.association: '_OperationalStatus'
cast(op_status_code as ehhss_opstatus_code_nc preserving type) as OperationalStatus,
_OperationalStatus,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date].EHSLocationAuthorizationGroup,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date]._EHSLocationAuthGroup,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date].BusinessArea,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date]._BusinessArea,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date].Plant,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date]._Plant,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date].CostCenter,
// _EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date]._CostCenter,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date].CompanyCode,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date]._CompanyCode,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date].ControllingArea,
_EHSLoc[1: RevisionStartDate <= $session.system_date and RevisionEndDate >= $session.system_date]._ControllingArea,
bintohex(loc_key_ref) as EHSLocationUUIDHex,
is_simulated as IsSimulatedEHSRiskAssessment,
@ObjectModel.foreignKey.association: '_EHSRiskAssessmentStatus'
status as EHSRiskAssessmentStatus,
_EHSRiskAssessmentStatus,
_EHSRiskAssessmentLead
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_EHSLOCATIONREVISION",
"EHHSSD_RAS_ROOT"
],
"ASSOCIATED":
[
"I_BUSINESSAREA",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_EHSJOB",
"I_EHSLOCATIONAUTHZNGROUP",
"I_EHSLOCATIONREVISION",
"I_EHSOPERATIONALSTATUS",
"I_EHSRISKASSESSMENTLEAD",
"I_EHSRISKASSESSMENTRISK",
"I_EHSRISKASSESSMENTSTATUS",
"I_EHSRISKASSESSMENTTYPE",
"I_PLANT",
"I_USER"
],
"BASE":
[
"I_EHSLOCATIONREVISION"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/