@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
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_EHSCONTROLIMPL",
"C_EHSLOCATION",
"C_EHSRISKASSESSMENT",
"I_EHSCONTROL",
"I_EHSCTRLCATALOG",
"I_EHSCTRLCATALOGTEXT",
"I_EHSCTRLTASKSTATUS",
"I_EHSCTRLTITLETEXT",
"I_EHSTEXTCOLLECTIONTEXT",
"I_MYEHSLOCATIONEXPANDED"
],
"ASSOCIATED":
[
"C_EHSCONTROLIMPLEMENTATIONTASK",
"C_EHSCTRLIMPLMTNRESPCNTCTCARD",
"C_EHSLOCATION",
"C_EHSRISK",
"C_EHSRISKASSESSMENT",
"I_EHSCONTROL",
"I_EHSCTRLEFFECT",
"I_EHSCTRLGOALTAR",
"I_EHSCTRLIMPLSTATUS",
"I_EHSCTRLTASKSTATUS",
"I_EHSTEXTCOLLECTIONTEXT",
"I_EQUIPMENT",
"I_FUNCTIONALLOCATION",
"I_MATERIAL"
],
"BASE":
[
"C_EHSCONTROLIMPL"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/