I_EHSCombinedTaskDefAndInstce
Task Instances and Future Definitions
I_EHSCombinedTaskDefAndInstce is a Composite CDS View that provides data about "Task Instances and Future Definitions" in SAP S/4HANA. It reads from 1 data source (I_EHSTaskPlannedInstance) and exposes 41 fields with key field EHSPlannedTaskUUID. It has 3 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_EHSTaskPlannedInstance | PlannedInstance | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_BusinessUser | _EHSTaskAssignedUser | PlannedInstance.EHSTaskAssignedBP = _EHSTaskAssignedUser.BusinessPartner |
| [0..1] | I_EHSTaskPriority | _EHSTaskPriority | $projection.EHSTaskPriority = _EHSTaskPriority.EHSTaskPriority |
| [0..*] | I_OTRText | _OTRText | _OTRText.Language = $session.system_language |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IEHSTASKDEFINSTN | view | |
| VDM.viewType | #COMPOSITE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| EndUserText.label | Task Instances and Future Definitions | view |
Fields (41)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | EHSPlannedTaskUUID | I_EHSTaskPlannedInstance | EHSPlannedTaskUUID | |
| EHSTaskDefinitionUUID | I_EHSTaskPlannedInstance | EHSTaskDefinitionUUID | ||
| WorkflowTaskInternalID | I_EHSTaskPlannedInstance | WorkflowTaskInternalID | ||
| WorkflowTaskStatus | WorkflowTask | WorkflowTaskStatus | ||
| WorkflowTaskDefinition | WorkflowTask | WorkflowTaskDefinition | ||
| EHSTaskHostSemanticObject | ||||
| EHSTaskHostObjectAdapterClass | ||||
| EHSTaskHostObjectInstance | ||||
| EHSTaskHostObjectInstanceUUID | ||||
| EHSTaskDefinitionType | ||||
| EHSTaskDefinitionStatus | ||||
| EHSTaskDefinitionIsPaused | ||||
| EHSTaskPriorityasEHSTaskPriority | ||||
| EHSTaskRecurrenceType | ||||
| EHSTaskStartDate | I_EHSTaskPlannedInstance | EHSTaskStartDate | ||
| EHSTaskDueDate | I_EHSTaskPlannedInstance | EHSTaskDueDate | ||
| WrkflwTskCompletionUTCDateTime | WorkflowTask | WrkflwTskCompletionUTCDateTime | ||
| EHSTaskInstceCompletionDate | I_EHSTaskPlannedInstance | EHSTaskInstceCompletionDate | ||
| EHSTaskUser | ||||
| EHSTaskOwnerUser | ||||
| EHSTaskInstanceProcessorBP | I_EHSTaskPlannedInstance | EHSTaskInstanceProcessorBP | ||
| EHSTaskAssignedBP | I_EHSTaskPlannedInstance | EHSTaskAssignedBP | ||
| EHSTaskAssignedUserName | ||||
| EHSTaskApprovingBP | I_EHSTaskPlannedInstance | EHSTaskApprovingBP | ||
| EHSTaskOwnerBP | I_EHSTaskPlannedInstance | EHSTaskOwnerBP | ||
| EHSTaskAssignedLocRole | I_EHSTaskPlannedInstance | EHSTaskAssignedLocRole | ||
| EHSTaskApproverLocRole | I_EHSTaskPlannedInstance | EHSTaskApproverLocRole | ||
| EHSLocationUUID | ||||
| EHSTaskTimeZone | I_EHSTaskPlannedInstance | EHSTaskTimeZone | ||
| _EHSTaskAdapterClass | ||||
| _EHSTaskOwnerUser | I_EHSTaskPlannedInstance | _EHSTaskOwnerUser | ||
| _EHSTaskAssignedUser | _EHSTaskAssignedUser | |||
| _EHSTaskDefinition | I_EHSTaskPlannedInstance | _EHSTaskDefinition | ||
| _IncidentAuthorizationFields | ||||
| _EHSCtrlImplmtnAuthznFields | ||||
| _EHSRskAssessmentAuthznFields | ||||
| _EHSCmplncScenAuthznFields | ||||
| _CmplncRqmtAuthznFields | ||||
| _EHSTaskPriority | _EHSTaskPriority | |||
| IncidentHasAccessRestriction | ||||
| EHSPlannedTaskID | I_EHSTaskPlannedInstance | EHSPlannedTaskID |
@AbapCatalog.sqlViewName: 'IEHSTASKDEFINSTN'
@VDM.viewType: #COMPOSITE
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType:{ serviceQuality: #D, // < 100 msec
sizeCategory: #XL, // < 10.000.000
dataClass: #MIXED }
@AccessControl.authorizationCheck: #MANDATORY
// #NOT_REQUIRED as a start
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Task Instances and Future Definitions'
define view I_EHSCombinedTaskDefAndInstce
as select from I_EHSTaskPlannedInstance as PlannedInstance
left outer to one join P_EHSWorkflowHeader as WorkflowTask
on PlannedInstance.WorkflowTaskInternalID = WorkflowTask.WorkflowTaskInternalID
association [0..1] to I_BusinessUser as _EHSTaskAssignedUser
on PlannedInstance.EHSTaskAssignedBP = _EHSTaskAssignedUser.BusinessPartner
association [0..1] to I_EHSTaskPriority as _EHSTaskPriority
on $projection.EHSTaskPriority = _EHSTaskPriority.EHSTaskPriority
association [0..*] to I_OTRText as _OTRText on _OTRText.Language = $session.system_language
{
key PlannedInstance.EHSPlannedTaskUUID,
PlannedInstance.EHSTaskDefinitionUUID,
PlannedInstance.WorkflowTaskInternalID,
// WORKFLOW INFORMATION
WorkflowTask.WorkflowTaskStatus,
case
when WorkflowTask.WorkflowTaskInternalID is null then cast ( '' as ehfnd_task_has_workflow preserving type )
else cast ( 'X' as ehfnd_task_has_workflow preserving type )
end as EHSTaskHasWorkflow,
WorkflowTask.WorkflowTaskDefinition,
// HOST OBJECT
PlannedInstance._EHSTaskDefinition._EHSTaskAdapterClass.EHSSemanticObject as EHSTaskHostSemanticObject,
PlannedInstance._EHSTaskDefinition.EHSTaskHostObjectAdapterClass,
PlannedInstance._EHSTaskDefinition.EHSTaskHostObjectInstance,
PlannedInstance._EHSTaskDefinition.EHSTaskHostObjectInstanceUUID,
// TASK DEFINITION
PlannedInstance._EHSTaskDefinition.EHSTaskWorkflowEvent as EHSTaskDefinitionType,
PlannedInstance._EHSTaskDefinition.EHSTaskDefinitionStatus,
PlannedInstance._EHSTaskDefinition.EHSTaskDefinitionIsPaused,
coalesce( cast(WorkflowTask.WorkflowTaskPriority as ehfnd_task_def_priority_code preserving type ),
PlannedInstance._EHSTaskDefinition.EHSTaskPriority ) as EHSTaskPriority,
PlannedInstance._EHSTaskDefinition.EHSTaskRecurrenceType,
// DATE & TIME
PlannedInstance.EHSTaskStartDate,
PlannedInstance.EHSTaskDueDate,
WorkflowTask.WrkflwTskCompletionUTCDateTime,
PlannedInstance.EHSTaskInstceCompletionDate,
// USERS
cast ( '' as bu_partner ) as EHSTaskUser,
PlannedInstance._EHSTaskOwnerUser.UserID as EHSTaskOwnerUser,
PlannedInstance.EHSTaskInstanceProcessorBP,
PlannedInstance.EHSTaskAssignedBP,
PlannedInstance._EHSTaskAssigneeUser.PersonFullName as EHSTaskAssignedUserName,
PlannedInstance.EHSTaskApprovingBP,
PlannedInstance.EHSTaskOwnerBP,
// Roles
PlannedInstance.EHSTaskAssignedLocRole,
PlannedInstance.EHSTaskApproverLocRole,
// DATA
cast( coalesce( replace(WorkflowTask.WorkflowTaskName, concat_with_space(
concat(
concat_with_space( ' /',
_OTRText[1: OnlnTxtRpstryConceptID = '80215A5C32181DEF8E9BBBFAF5718652'].Text, 1
),
': '
),
PlannedInstance.EHSPlannedTaskID, 1
), ''), PlannedInstance._EHSTaskDefinition.EHSTaskTitle ) as ehfnd_task_definition_title ) as EHSTaskTitle,
// SORTING
case
when PlannedInstance.WorkflowTaskInternalID is not initial then
case WorkflowTask.WorkflowTaskStatus
when 'ERROR' then cast( '01' as ehfnd_task_sorting_status_nc)
when 'COMPLETED' then cast( '05' as ehfnd_task_sorting_status_nc)
when 'CANCELLED' then cast( '06' as ehfnd_task_sorting_status_nc)
when 'STARTED' then
case
when PlannedInstance.EHSTaskDueDate < tstmp_to_dats(tstmp_current_utctimestamp(), PlannedInstance.EHSTaskTimeZone, $session.client, 'INITIAL') then cast( '02' as ehfnd_task_sorting_status_nc)
when PlannedInstance.EHSTaskDueDate >= tstmp_to_dats(tstmp_current_utctimestamp(), PlannedInstance.EHSTaskTimeZone, $session.client, 'INITIAL') then cast( '03' as ehfnd_task_sorting_status_nc)
else cast( '00' as ehfnd_task_sorting_status_nc)
end
else case
when WorkflowTask.WorkflowTaskInternalID is null then
case
when PlannedInstance.EHSTaskInstceCompletionDate is initial then cast( '06' as ehfnd_task_sorting_status_nc ) //Archived Incomplete -> status Cancelled
else cast( '05' as ehfnd_task_sorting_status_nc ) //Archived Completed -> status Completed
end
else cast( '00' as ehfnd_task_sorting_status_nc)
end
end
else case PlannedInstance._EHSTaskDefinition.EHSTaskDefinitionIsPaused
when 'X' then cast( '01' as ehfnd_task_sorting_status_nc)
else cast( '04' as ehfnd_task_sorting_status_nc)
end
end as EHSTaskStatusValueForSorting,
case
when PlannedInstance.WorkflowTaskInternalID is not initial then
case
when WorkflowTask.WorkflowTaskStatus = 'COMPLETED' then '99991231'
when WorkflowTask.WorkflowTaskStatus = 'CANCELLED' then '99991231'
else PlannedInstance.EHSTaskDueDate
end
else PlannedInstance.EHSTaskStartDate
end as EHSTaskDateForSorting,
PlannedInstance._EHSTaskDefinition.EHSLocationUUID,
PlannedInstance.EHSTaskTimeZone,
PlannedInstance._EHSTaskDefinition._EHSTaskAdapterClass,
PlannedInstance._EHSTaskOwnerUser,
_EHSTaskAssignedUser,
PlannedInstance._EHSTaskDefinition,
// Associations for Authorization Check of Host BO
PlannedInstance._EHSTaskDefinition._IncidentAuthorizationFields,
PlannedInstance._EHSTaskDefinition._EHSCtrlImplmtnAuthznFields,
PlannedInstance._EHSTaskDefinition._EHSRskAssessmentAuthznFields,
PlannedInstance._EHSTaskDefinition._EHSCmplncScenAuthznFields,
PlannedInstance._EHSTaskDefinition._CmplncRqmtAuthznFields,
_EHSTaskPriority,
PlannedInstance._EHSTaskDefinition._IncidentTaskRefAccRestricted.IncidentHasAccessRestriction,
PlannedInstance.EHSPlannedTaskID
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA