@AbapCatalog.sqlViewName: 'IEHSTASKINSTCUBE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@EndUserText.label: 'EHS Task Instance - Cube'
@Analytics: { dataCategory:#CUBE, internalName: #LOCAL }
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType:{ serviceQuality: #D,
sizeCategory: #XL,
dataClass: #MIXED }
@ObjectModel.supportedCapabilities: [#ANALYTICAL_PROVIDER]
@ObjectModel.modelingPattern: #ANALYTICAL_CUBE
@Metadata.ignorePropagatedAnnotations: true
@Metadata.allowExtensions:true
define view I_EHSTaskInstanceCube
with parameters
P_Date : sydatum,
P_Language : sylangu
as select from I_EHSTaskPlannedInstance as EHSTaskPlannedInstance
inner join I_EHSTaskDefinition as _EHSTaskDefinition on EHSTaskPlannedInstance.EHSTaskDefinitionUUID = _EHSTaskDefinition.EHSTaskDefinitionUUID
left outer to one join I_EHSTaskFollowUp as _EHSTaskFollowUp on EHSTaskPlannedInstance.EHSPlannedTaskUUID = _EHSTaskFollowUp.EHSPlannedTaskUUID
left outer to one join I_EHSTaskDefReference as _EHSTaskDefReference on EHSTaskPlannedInstance.EHSTaskDefinitionUUID = _EHSTaskDefReference.EHSTaskDefinitionUUID
association [0..1] to I_EHSLocationRoot as _EHSLocationRoot on _EHSTaskDefinition.EHSLocationUUID = _EHSLocationRoot.EHSLocationUUID
association [0..*] to I_EHSLocationForFiltering as _EHSLocationForFiltering on _EHSTaskDefinition.EHSLocationUUID = _EHSLocationForFiltering.EHSLocationUUID
association [0..*] to I_EHSLocationRevision as _EHSLocation on _EHSTaskDefinition.EHSLocationUUID = _EHSLocation.EHSLocationUUID
association [0..*] to I_DvtnIncdntTriggeringTask as _EHSDeviationTriggeringTask on _EHSTaskFollowUp.TaskFollowRefObjUUID = _EHSDeviationTriggeringTask.IncidentRefUUID
and EHSTaskPlannedInstance.EHSPlannedTaskUUID = _EHSDeviationTriggeringTask.EHSPlannedTaskUUID
association [0..*] to I_EHSTaskTriggerCategoryText as _EHSTaskTriggerCategoryText on $projection.TaskFollowCategoryCode = _EHSTaskTriggerCategoryText.TaskFollowCategoryCode
association [1..1] to I_EHSCombinedTaskDefAndInstce as _EHSCombinedTaskDefAndInstce on EHSTaskPlannedInstance.EHSPlannedTaskUUID = _EHSCombinedTaskDefAndInstce.EHSPlannedTaskUUID
association [0..*] to I_CmplRqVersEnhanced as _EHSCmplReq on _EHSTaskDefinition.EHSTaskHostObjectInstanceUUID = _EHSCmplReq.CmplRqUUID
association [0..*] to I_CmplRqVersStructure as _EHSCmplParagraph on _EHSTaskDefReference.EHSTaskRelatedObjInstanceUUID = _EHSCmplParagraph.CmplRqUUID
association [0..*] to I_EHSCmplncScenRoot as _EHSCmplScen on _EHSTaskDefinition.EHSTaskHostObjectInstanceUUID = _EHSCmplScen.EHSCmplncScenOrignRootUUID
association [0..*] to I_EHSLocClassifier as _EHSLocClassifier on _EHSTaskDefinition.EHSLocationUUID = _EHSLocClassifier.EHSLocationUUID
association [0..1] to P_EHSLOCCLASSIFIERS as _EHSLocClassifiers on $projection.EHSLocationUUID = _EHSLocClassifiers.EHSLocationUUID
association [0..1] to I_EHSRiskControl as _EHSRiskControl on $projection.EHSTaskHostObjectInstanceUUID = _EHSRiskControl.EHSControlInstanceUUID
association [0..1] to I_EHSRiskAssessment as _EHSRiskAssessment on $projection.EHSTaskHostObjectInstanceUUID = _EHSRiskAssessment.EHSRiskAssessmentUUID
{
@EndUserText.label: 'Task Instance Key'
key EHSTaskPlannedInstance.EHSPlannedTaskUUID,
@EndUserText.label: 'Main Location ID'
key _EHSLocationForFiltering(P_Date: $parameters.P_Date).EHSParentLocationID as EHSMainLocationID,
@EndUserText.label: 'Location Classifier ID'
key _EHSLocClassifier._EHSClassifierRoot.EHSLocClassifierID,
@EndUserText.label: 'Follow Up Key'
key _EHSDeviationTriggeringTask.TaskFollowRefObjUUID,
@EndUserText.label: 'Task Instance ID'
EHSTaskPlannedInstance.EHSPlannedTaskID,
@EndUserText.label: 'Due Date of Task Instance'
EHSTaskPlannedInstance.EHSTaskDueDate,
@EndUserText.label: 'Start Date of Task Instance'
EHSTaskPlannedInstance.EHSTaskStartDate,
@EndUserText.label: 'Completion Date of Task Instance'
EHSTaskPlannedInstance.EHSTaskInstceCompletionDate,
@EndUserText.label: 'Task Owner'
@ObjectModel.foreignKey.association: '_EHSTaskOwnerUser'
EHSTaskPlannedInstance.EHSTaskOwnerBP as EHSTaskOwnerBP,
@EndUserText.label: 'Task Owner Name'
EHSTaskPlannedInstance._EHSTaskOwnerUser.PersonFullName as EHSTaskOwnerUserName,
@EndUserText.label: 'Task Definition Key'
_EHSTaskDefinition.EHSTaskDefinitionUUID,
@EndUserText.label: 'Task Definition Title'
_EHSTaskDefinition.EHSTaskTitle,
_EHSTaskDefinition.EHSTaskPriority,
@EndUserText.label: 'Task Definition Priority Name'
EHSTaskPlannedInstance._EHSTaskDefinition._EHSTaskPriority.EHSTaskPriorityName,
@EndUserText.label: 'Task Definition Status'
cast( _EHSTaskDefinition.EHSTaskDefinitionStatus as ehfnd_tdef_status_code ) as EHSTaskDefinitionStatus,
@EndUserText.label: 'Task Assignee'
@ObjectModel.foreignKey.association: '_EHSTaskAssigneeUser'
EHSTaskPlannedInstance.EHSTaskAssignedBP as EHSTaskAssignedUser,
@EndUserText.label: 'Task Assignee Name'
EHSTaskPlannedInstance._EHSTaskAssigneeUser.PersonFullName as EHSTaskAssignedUserName,
@EndUserText.label: 'Task Approver'
@ObjectModel.foreignKey.association: '_EHSTaskApprovingUser'
EHSTaskPlannedInstance.EHSTaskApprovingBP as EHSTaskApprovingUser,
@EndUserText.label: 'Task Approver Name'
_EHSTaskPlannedInstance._EHSTaskApprovingUser.PersonFullName as EHSTaskApprovingUserName,
@EndUserText.label: 'Task Origin'
EHSTaskPlannedInstance._EHSTaskDefinition._EHSTaskAdapterClass.EHSSemanticObject,
@EndUserText.label: 'Location Key'
_EHSTaskDefinition.EHSLocationUUID,
@EndUserText.label: 'Task Definition Type'
_EHSTaskDefinition.EHSTaskWorkflowEvent as EHSTaskDefinitionType,
EHSTaskPlannedInstance._EHSTaskDefinition._EHSTaskDefinitionType._EHSTaskDefinitionTypeText[1: Language = $parameters.P_Language].EHSTaskDefinitionTypeName,
@EndUserText.label: 'Task Status'
cast( _EHSCombinedTaskDefAndInstce.EHSTaskStatusValueForSorting as ehfnd_task_sorting_status_nc preserving type ) as EHSTaskStatus,
@EndUserText.label: 'Workflow Task Status'
_EHSCombinedTaskDefAndInstce.WorkflowTaskStatus,
_EHSTaskDefReference.EHSTaskRelatedObjInstanceUUID,
@EndUserText.label: 'Location Name'
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._EHSLocationRevisionName[1: Language = $parameters.P_Language].EHSLocationName,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].EHSLocationType,
@EndUserText.label: 'Location Type Name'
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._EHSLocationType._Text[1: Language = $parameters.P_Language].EHSLocationTypeText,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].Country,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._Country._Text[1: Language = $parameters.P_Language].CountryName,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].Region,
@EndUserText.label: 'Region Name'
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._Region._RegionText[1: Language = $parameters.P_Language].RegionName,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].Plant,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._Plant.PlantName,
cast ( _EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].OrganizationalUnit as ehfnd_org_unit_id_nc preserving type ) as OrganizationalUnit,
@EndUserText.label: 'Organizational Unit Name'
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._OrganizationalUnit._OrgUnitText[1: Language = $parameters.P_Language].OrganizationalUnitName,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].ControllingArea,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._ControllingArea.ControllingAreaName,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].CostCenter,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._CostCenter[1: ValidityStartDate <= $parameters.P_Date and ValidityEndDate >= $parameters.P_Date]._Text[1: Language = $parameters.P_Language].CostCenterName,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].CompanyCode,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._CompanyCode.CompanyCodeName,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].EHSLocationStatus,
cast( _EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].EHSLocationAuthorizationGroup as ehfnd_loc_auth_group_nc preserving type ) as EHSLocationAuthorizationGroup,
_EHSLocation[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].BusinessArea,
_EHSLocationRoot.EHSLocationID,
@EndUserText.label: 'Location Classifier'
_EHSLocClassifiers(P_Mandt: $session.client, P_Langu: $parameters.P_Language).Classifiers as EHSLocClassifiersText,
@EndUserText.label: 'Category of Triggering Task'
_EHSTaskFollowUp.TaskFollowCategoryCode,
@EndUserText.label: 'Category Name of Triggering Task'
_EHSTaskTriggerCategoryText[1: Language = $parameters.P_Language].EHSTriggerCategoryDesc,
@EndUserText.label: 'Compliance Requirement Key'
_EHSCmplReq[1:EffectiveDate <= $parameters.P_Date and CmplRqVersValidToDate >= $parameters.P_Date ].CmplRqVersUUID,
@EndUserText.label: 'Compliance Requirement ID'
_EHSCmplReq[1:EffectiveDate <= $parameters.P_Date and CmplRqVersValidToDate >= $parameters.P_Date ].ComplianceRequirement,
@EndUserText.label: 'Compliance Requirement Name'
_EHSCmplReq[1:EffectiveDate <= $parameters.P_Date and CmplRqVersValidToDate >= $parameters.P_Date ]._CmplRqVersText[1: Language = $parameters.P_Language].CmplRqVersName,
_EHSCmplReq[1:EffectiveDate <= $parameters.P_Date and CmplRqVersValidToDate >= $parameters.P_Date ].CmplRqUUID,
@EndUserText.label: 'Compliance Requirement Type'
_EHSCmplReq[1:EffectiveDate <= $parameters.P_Date and CmplRqVersValidToDate >= $parameters.P_Date ]._CmplncRqmtType.CmplRqType,
@EndUserText.label: 'Compliance Requirement Type Name'
_EHSCmplReq[1:EffectiveDate <= $parameters.P_Date and CmplRqVersValidToDate >= $parameters.P_Date ]._CmplncRqmtType._Text[1: Language = $parameters.P_Language].CmplRqTypeName,
@EndUserText.label: 'Compliance Requirement Paragraph ID'
_EHSCmplParagraph.CmplRqVersParagraphID,
@EndUserText.label: 'Compliance Requirement Paragraph Name'
_EHSCmplParagraph.CmplRqVersParagraphName,
@EndUserText.label: 'Compliance Scenario Key'
_EHSCmplScen[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ].EHSComplianceScenarioRootUUID,
@EndUserText.label: 'Compliance Scenario Name'
_EHSCmplScen[1:RevisionStartDate <= $parameters.P_Date and RevisionEndDate >= $parameters.P_Date ]._EHSCmplncScenName[1: Language = $parameters.P_Language].EHSComplianceScenarioName,
@EndUserText.label: 'Deviation Incident Key'
_EHSDeviationTriggeringTask.DeviationUUID,
@EndUserText.label: 'Incident Key'
_EHSDeviationTriggeringTask.IncidentRefUUID,
@EndUserText.label: 'Incident ID'
_EHSDeviationTriggeringTask.IncidentID,
@Consumption.hidden: true
_EHSTaskDefinition.EHSTaskHostObjectInstanceUUID,
@Consumption.hidden: true
_EHSTaskDefinition.EHSTaskHostObjectInstance,
@Consumption.hidden: true
_EHSTaskDefinition._IncidentTaskRefAccRestricted.IncidentHasAccessRestriction as IncdntTskRefAccessRestriction,
@EndUserText.label: 'Task Recurrence'
@Semantics.booleanIndicator
case
when _EHSTaskDefinition.EHSTaskRecurrenceType = '001'
then cast( '' as ehfnd_task_def_is_recurrent preserving type )
else cast( 'X' as ehfnd_task_def_is_recurrent preserving type )
end as EHSTaskIsRecurrent,
@EndUserText.label: 'Workflow Exists'
@Semantics.booleanIndicator
case
when EHSTaskPlannedInstance.WorkflowTaskInternalID is initial
then cast ( '' as ehfnd_task_has_workflow preserving type )
else cast ( 'X' as ehfnd_task_has_workflow preserving type )
end as EHSTaskHasWorkflow,
@EndUserText.label: 'Deviation Triggered by Task'
@Semantics.booleanIndicator
case
when _EHSDeviationTriggeringTask.IncidentID is not initial
then cast ( 'X' as ehfnd_boolean preserving type )
else cast ( '' as ehfnd_boolean preserving type )
end as EHSTaskHasDeviation,
@Aggregation.default: #COUNT_DISTINCT
@Aggregation.referenceElement: ['EHSPlannedTaskUUID']
@EndUserText.label: 'Number of Records'
0 as NumberOfRecords,
@ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true
_EHSTaskOwnerUser,
@ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true
_EHSTaskAssigneeUser,
@ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true
_EHSTaskApprovingUser,
@Consumption.hidden: true
_EHSTaskDefinition._IncidentAuthorizationFields,
@Consumption.hidden: true
_EHSTaskDefinition._EHSRskAssessmentAuthznFields,
@Consumption.hidden: true
_EHSTaskDefinition._EHSCtrlImplmtnAuthznFields,
@Consumption.hidden: true
_EHSTaskDefinition._EHSCmplncScenAuthznFields,
@Consumption.hidden: true
_EHSTaskDefinition._CmplncRqmtAuthznFields
}
where _EHSTaskDefinition.EHSTaskDefinitionStatus <> '01'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSUSERBASIC",
"I_CMPLNCRQMTTYPE",
"I_CMPLNCRQMTTYPETEXT",
"I_CMPLRQVERSENHANCED",
"I_CMPLRQVERSSTRUCTURE",
"I_CMPLRQVERSTEXT",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_COSTCENTERTEXT",
"I_COUNTRY",
"I_COUNTRYTEXT",
"I_DVTNINCDNTTRIGGERINGTASK",
"I_EHSCLASSIFIERROOT",
"I_EHSCMPLNCSCENNAME",
"I_EHSCMPLNCSCENROOT",
"I_EHSCOMBINEDTASKDEFANDINSTCE",
"I_EHSLOCATIONFORFILTERING",
"I_EHSLOCATIONREVISION",
"I_EHSLOCATIONREVISIONNAMET",
"I_EHSLOCATIONROOT",
"I_EHSLOCATIONTYPE",
"I_EHSLOCATIONTYPETEXT",
"I_EHSLOCCLASSIFIER",
"I_EHSTASKADAPTERCLASS",
"I_EHSTASKDEFINITION",
"I_EHSTASKDEFINITIONTYPE",
"I_EHSTASKDEFINITIONTYPETEXT",
"I_EHSTASKDEFREFERENCE",
"I_EHSTASKFOLLOWUP",
"I_EHSTASKPLANNEDINSTANCE",
"I_EHSTASKPRIORITY",
"I_EHSTASKTRIGGERCATEGORYTEXT",
"I_INCIDENTTASKREFACCRESTRICTED",
"I_ORGUNIT",
"I_ORGUNITTEXT",
"I_PLANT",
"I_REGION",
"I_REGIONTEXT"
],
"ASSOCIATED":
[
"I_BUSINESSUSERBASIC",
"I_CMPLNCRQMTAUTHZNFIELDS",
"I_CMPLRQVERSENHANCED",
"I_CMPLRQVERSSTRUCTURE",
"I_DVTNINCDNTTRIGGERINGTASK",
"I_EHSCMPLNCSCENAUTHZNFIELDS",
"I_EHSCMPLNCSCENROOT",
"I_EHSCOMBINEDTASKDEFANDINSTCE",
"I_EHSCTRLIMPLMTNAUTHZNFIELDS",
"I_EHSLOCATIONFORFILTERING",
"I_EHSLOCATIONREVISION",
"I_EHSLOCATIONROOT",
"I_EHSLOCCLASSIFIER",
"I_EHSRISKASSESSMENT",
"I_EHSRISKCONTROL",
"I_EHSRSKASSESSMENTAUTHZNFIELDS",
"I_EHSTASKTRIGGERCATEGORYTEXT",
"I_INCIDENTCOMBAUTHFIELDS"
],
"BASE":
[
"I_EHSTASKDEFINITION",
"I_EHSTASKPLANNEDINSTANCE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/