I_EHSTASKDEFINITIONDRAFT

CDS View

EHSTask Definition - Draft

I_EHSTASKDEFINITIONDRAFT is a CDS View in S/4HANA. EHSTask Definition - Draft. It contains 2 fields. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
C_EHSCombinedTaskDefAndInstce view union_all CONSUMPTION Task Instances and Future Definitions
I_EHSTaskDefWithDraftUnion view union_all COMPOSITE EHSTask Definition Union

Fields (2)

KeyField CDS FieldsUsed in Views
EHSTaskAssignedUser EHSTaskAssignedBP 1
EHSTaskOwnerUser EHSTaskOwnerBP 1
@AbapCatalog.sqlViewName: 'IEHSTSKDEFRTDRFT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@AccessControl.privilegedAssociations: [ '_DraftAdministrativeData', '_CreatedByUser', '_LastChangedByUser', '_EHSTaskDefinitionReference', '_EHSTaskDefinitionMoC', '_EHSTaskDefinitionMaintenance',
                                         '_EHSTaskPlannedInstance' ]
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'EHSTask Definition - Draft'

@ObjectModel.compositionRoot: true
@ObjectModel.modelCategory: #BUSINESS_OBJECT
@ObjectModel.representativeKey: 'EHSTaskDefinitionUUID'
// used for BOBF Master Data Object

@ObjectModel.usageType:{ serviceQuality: #C,        // < 15 msec

                         sizeCategory:  #M,         // < 100.000

                         dataClass: #MIXED }

@Search.searchable: false
@VDM.viewType: #BASIC
define view I_EHSTaskDefinitionDraft
  as select from ehfndw_tdef_root as EHSTaskDefinitionRootDraft
  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..1] to I_BusinessUserBasic            as _EHSTaskOwnerUser             on  $projection.EHSTaskOwnerUser = _EHSTaskOwnerUser.BusinessPartner
  association [0..1] to I_BusinessUserBasic            as _EHSTaskAssignedUser          on  $projection.EHSTaskAssignedUser = _EHSTaskAssignedUser.BusinessPartner
  association [0..1] to I_BusinessUserBasic            as _EHSTaskApprovingUser         on  $projection.EHSTaskApprovingUser = _EHSTaskApprovingUser.BusinessPartner
  /*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] }*/
  association [0..1] to I_EHSTaskDefExecution          as _EHSTaskDefinitionExecution   on  $projection.EHSTaskDefinitionUUID = _EHSTaskDefinitionExecution.EHSTaskDefinitionUUID
  association [0..*] to I_EHSTaskDefReference          as _EHSTaskDefinitionReference   on  $projection.EHSTaskDefinitionUUID = _EHSTaskDefinitionReference.EHSTaskDefinitionUUID
  association [0..1] to I_EHSTaskDefMaintenanceNotif   as _EHSTaskDefinitionMaintenance on  $projection.EHSTaskDefinitionUUID = _EHSTaskDefinitionMaintenance.EHSTaskDefinitionUUID
  association [0..1] to I_EHSTaskDefMgmtOfChange       as _EHSTaskDefinitionMoC         on  $projection.EHSTaskDefinitionUUID = _EHSTaskDefinitionMoC.EHSTaskDefinitionUUID
  association [0..*] to I_EHSTaskPlannedInstance       as _EHSTaskPlannedInstance       on  $projection.EHSTaskDefinitionUUID = _EHSTaskPlannedInstance.EHSTaskDefinitionUUID
  association [0..1] to I_EHSTaskPriority              as _EHSTaskPriority              on  $projection.EHSTaskPriority = _EHSTaskPriority.EHSTaskPriority
  association [0..1] to I_EHSTaskDefinitionStatus      as _EHSTaskDefinitionStatus      on  $projection.EHSTaskDefinitionStatus = _EHSTaskDefinitionStatus.EHSTaskDefinitionStatus
  association [0..1] to I_EHSTaskDueInUnit             as _EHSTaskDueInUnit             on  $projection.EHSTaskDueInUnit = _EHSTaskDueInUnit.EHSTaskDueInUnit
  association [0..1] to I_EHSTaskStartBeforeUnit       as _EHSTaskStartBeforeUnit       on  $projection.EHSTaskStartBeforeUnit = _EHSTaskStartBeforeUnit.EHSTaskStartBeforeUnit
  association [0..1] to I_EHSTaskRecurrenceType        as _EHSTaskRecurrenceType        on  $projection.EHSTaskRecurrenceType = _EHSTaskRecurrenceType.EHSTaskRecurrenceType
  association [0..1] to I_EHSTaskRecurrenceOffset      as _EHSTaskRecurrenceOffset      on  $projection.EHSTaskRecurrenceOffset = _EHSTaskRecurrenceOffset.EHSTaskRecurrenceOffset
  association [0..1] to I_EHSTaskRecurrenceWeekDay     as _EHSTaskRecurrenceWeekDay     on  $projection.EHSTaskRecurrenceWeekDay = _EHSTaskRecurrenceWeekDay.EHSTaskRecurrenceWeekDay
  association [0..1] to I_EHSTaskRecurrenceMonth       as _EHSTaskRecurrenceMonth       on  $projection.EHSTaskRecurrenceMonth = _EHSTaskRecurrenceMonth.EHSTaskRecurrenceMonth
  association [0..1] to I_EHSTaskRecurrenceEndType     as _EHSTaskRecurrenceEndType     on  $projection.EHSTaskRecurrenceEndType = _EHSTaskRecurrenceEndType.EHSTaskRecurrenceEndType
  association [1..1] to I_EHSTaskDefinitionType        as _EHSTaskDefinitionType        on  $projection.EHSTaskHostObjectAdapterClass = _EHSTaskDefinitionType.EHSTaskAdapterClass
                                                                                        and $projection.EHSTaskWorkflowEvent          = _EHSTaskDefinitionType.EHSTaskDefinitionType
  association [1..1] to I_EHSTaskAdapterClass          as _EHSTaskAdapterClass          on  $projection.EHSTaskHostObjectAdapterClass = _EHSTaskAdapterClass.EHSTaskAdapterClass
  association [0..1] to I_IncidentCombAuthFields       as _IncidentAuthorizationFields  on  $projection.EHSTaskHostObjectInstanceUUID = _IncidentAuthorizationFields.EHSTaskHostObjectInstanceUUID
  association [0..1] to I_IncidentTaskRefAccRestricted as _IncidentTaskRefAccRestricted on  $projection.EHSTaskDefinitionUUID         = _IncidentTaskRefAccRestricted.EHSTaskDefinitionUUID
                                                                                        and $projection.EHSTaskHostObjectInstanceUUID = _IncidentTaskRefAccRestricted.IncidentUUID

  association [0..1] to I_EHSCtrlImplmtnAuthznFields   as _EHSCtrlImplmtnAuthznFields   on  $projection.EHSTaskHostObjectInstanceUUID = _EHSCtrlImplmtnAuthznFields.EHSControlInstanceUUID
  association [0..1] to I_EHSRskAssessmentAuthznFields as _EHSRskAssessmentAuthznFields on  $projection.EHSTaskHostObjectInstanceUUID = _EHSRskAssessmentAuthznFields.EHSRiskAssessmentUUID
  association [0..1] to I_EHSRskAssmt2RskCtrlAuthznFld as _EHSRskAssmt2RskCtrlAuthznFld on  $projection.EHSTaskHostObjectInstanceUUID = _EHSRskAssmt2RskCtrlAuthznFld.EHSRiskControlUUID
  association [0..1] to I_EHSCmplncScenAuthznFields    as _EHSCmplncScenAuthznFields    on  $projection.EHSTaskHostObjectInstanceUUID = _EHSCmplncScenAuthznFields.EHSCmplncScenOrignRootUUID
  association [0..1] to I_CmplncRqmtAuthznFields       as _CmplncRqmtAuthznFields       on  $projection.EHSTaskHostObjectInstanceUUID = _CmplncRqmtAuthznFields.CmplRqUUID
  association [0..1] to I_DraftAdministrativeData      as _DraftAdministrativeData      on  $projection.EHSTaskDefinitionUUID        = _DraftAdministrativeData.DraftUUID
                                                                                        and _DraftAdministrativeData.DraftEntityType = 'I_EHSTASKDEFINITIONTP'
  association [0..1] to I_BusinessUserBasic            as _BusinessPartner              on  $projection.EHSTaskUser = _BusinessPartner.UserID

  association [0..*] to I_EHSLocationPersonRespRoleT   as _EHSTaskAssigneeRoleT         on  $projection.EHSTaskAssignedLocRole = _EHSTaskAssigneeRoleT.EHSLocationPersonRespRole
  association [0..*] to I_EHSLocationPersonRespRoleT   as _EHSTaskApproverRoleT         on  $projection.EHSTaskApproverLocRole = _EHSTaskApproverRoleT.EHSLocationPersonRespRole
{
      @ObjectModel.text.element: 'EHSTaskTitle'
  key EHSTaskDefinitionRootDraft.ehstaskdefinitionuuid                                                    as EHSTaskDefinitionUUID,

      // ADMIN FIELDS

      @Semantics.systemDateTime.createdAt: true
      cast( EHSTaskDefinitionRootDraft.creationutcdatetime as ehfnd_bo_crea_date_time preserving type )   as CreationUTCDateTime,
      @Semantics.user.createdBy: true
      cast( EHSTaskDefinitionRootDraft.createdbyuser as ehfnd_bo_crea_uname preserving type )             as CreatedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      cast( EHSTaskDefinitionRootDraft.lastchangeutcdatetime as ehfnd_bo_lchg_date_time preserving type ) as LastChangeUTCDateTime,
      @Semantics.user.lastChangedBy: true
      cast( EHSTaskDefinitionRootDraft.lastchangedbyuser as ehfnd_bo_lchg_uname preserving type )         as LastChangedByUser,


      // HOST OBJECT


      EHSTaskDefinitionRootDraft.ehstaskhostobjectinstanceuuid                                            as EHSTaskHostObjectInstanceUUID,
      EHSTaskDefinitionRootDraft.ehstaskhostobjectinstance                                                as EHSTaskHostObjectInstance,
      EHSTaskDefinitionRootDraft.ehstaskhostobjectadapterclass                                            as EHSTaskHostObjectAdapterClass,
      EHSTaskDefinitionRootDraft.ehstaskworkflowevent                                                     as EHSTaskWorkflowEvent,

      // TASK DEFINITION - The WHO and WHAT


      EHSTaskDefinitionRootDraft.ehstaskpriority                                                          as EHSTaskPriority,
      @ObjectModel.foreignKey.association: '_EHSTaskAssignedUser'
      EHSTaskDefinitionRootDraft.ehstaskassigneduser                                                      as EHSTaskAssignedUser,
      @ObjectModel.foreignKey.association: '_EHSTaskOwnerUser'
      EHSTaskDefinitionRootDraft.ehstaskowneruser                                                         as EHSTaskOwnerUser,
      @ObjectModel.foreignKey.association: '_EHSTaskApprovingUser'
      EHSTaskDefinitionRootDraft.ehstaskapprovinguser                                                     as EHSTaskApprovingUser,
      EHSTaskDefinitionRootDraft.ehstaskdefinitionstatus                                                  as EHSTaskDefinitionStatus,

      @Semantics.text: true
      @Search.defaultSearchElement: true
      @Search.ranking: #HIGH
      @Search.fuzzinessThreshold: 0.8
      EHSTaskDefinitionRootDraft.ehstasktitle                                                             as EHSTaskTitle,
      EHSTaskDefinitionRootDraft.ehstaskdescription                                                       as EHSTaskDescription,

      EHSTaskDefinitionRootDraft.ehstaskstartdate                                                         as EHSTaskStartDate,

      // DUE DATE


      EHSTaskDefinitionRootDraft.ehstaskdueinvalue                                                        as EHSTaskDueInValue,
      EHSTaskDefinitionRootDraft.ehstaskdueinunit                                                         as EHSTaskDueInUnit,
      EHSTaskDefinitionRootDraft.ehstaskduedate                                                           as EHSTaskDueDate,
      EHSTaskDefinitionRootDraft.ehstaskisdueonsameday                                                    as EHSTaskIsDueOnSameDay,

      // START BEFORE


      EHSTaskDefinitionRootDraft.ehstaskstartbeforevalue                                                  as EHSTaskStartBeforeValue,
      EHSTaskDefinitionRootDraft.ehstaskstartbeforeunit                                                   as EHSTaskStartBeforeUnit,

      // SCHEDULLING


      EHSTaskDefinitionRootDraft.ehstaskrecurrenceisbyduedate                                             as EHSTaskRecurrenceIsByDueDate,
      EHSTaskDefinitionRootDraft.ehstaskrecurrencetype                                                    as EHSTaskRecurrenceType,
      EHSTaskDefinitionRootDraft.ehstaskrecurrenceinterval                                                as EHSTaskRecurrenceInterval,
      EHSTaskDefinitionRootDraft.ehstaskisrecurringonmonday                                               as EHSTaskIsRecurringOnMonday,
      EHSTaskDefinitionRootDraft.ehstaskisrecurringontuesday                                              as EHSTaskIsRecurringOnTuesday,
      EHSTaskDefinitionRootDraft.ehstaskisrecurringonwednesday                                            as EHSTaskIsRecurringOnWednesday,
      EHSTaskDefinitionRootDraft.ehstaskisrecurringonthursday                                             as EHSTaskIsRecurringOnThursday,
      EHSTaskDefinitionRootDraft.ehstaskisrecurringonfriday                                               as EHSTaskIsRecurringOnFriday,
      EHSTaskDefinitionRootDraft.ehstaskisrecurringonsaturday                                             as EHSTaskIsRecurringOnSaturday,
      EHSTaskDefinitionRootDraft.ehstaskisrecurringonsunday                                               as EHSTaskIsRecurringOnSunday,
      EHSTaskDefinitionRootDraft.ehstaskrecurrenceday                                                     as EHSTaskRecurrenceDay,
      EHSTaskDefinitionRootDraft.ehstaskrecurrencemonth                                                   as EHSTaskRecurrenceMonth,
      EHSTaskDefinitionRootDraft.ehstaskrecurrenceoffset                                                  as EHSTaskRecurrenceOffset,
      EHSTaskDefinitionRootDraft.ehstaskrecurrenceweekday                                                 as EHSTaskRecurrenceWeekDay,
      EHSTaskDefinitionRootDraft.ehstaskrecurrenceendtype                                                 as EHSTaskRecurrenceEndType,
      EHSTaskDefinitionRootDraft.ehstaskrecurrenceenddate                                                 as EHSTaskRecurrenceEndDate,
      EHSTaskDefinitionRootDraft.ehstaskrecurrencefirstduedate                                            as EHSTaskRecurrenceFirstDueDate,
      EHSTaskDefinitionRootDraft.ehstaskdefinitionispaused                                                as EHSTaskDefinitionIsPaused,
      EHSTaskDefinitionRootDraft.ehslocationuuid                                                          as EHSLocationUUID,
      EHSTaskDefinitionRootDraft.ehstaskid                                                                as EHSTaskID,
      EHSTaskDefinitionRootDraft.ehstaskmigrationsource                                                   as EHSTaskMigrationSource,
      EHSTaskDefinitionRootDraft.ehstaskassignedtype                                                      as EHSTaskAssignedType,
      EHSTaskDefinitionRootDraft.ehstaskassignedlocrole                                                   as EHSTaskAssignedLocRole,
      EHSTaskDefinitionRootDraft.ehstaskapprovertype                                                      as EHSTaskApproverType,
      EHSTaskDefinitionRootDraft.ehstaskapproverlocrole                                                   as EHSTaskApproverLocRole,

      EHSTaskDefinitionRootDraft.activeuuid                                                               as EHSTaskDefinitionActiveUUID,
      EHSTaskDefinitionRootDraft.hasactiveentity                                                          as HasActiveEntity,


      // Draft Administrative Data

      _DraftAdministrativeData.LastChangeDateTime                                                         as DraftEntityLastChangeDateTime,
      _DraftAdministrativeData.DraftIsLastChangedByMe,
      _DraftAdministrativeData.LastChangedByUserDescription,
      _DraftAdministrativeData.DraftIsProcessedByMe,
      _DraftAdministrativeData.InProcessByUser,
      _DraftAdministrativeData.InProcessByUserDescription,
      _DraftAdministrativeData,

      cast ( '' as bu_partner )                                                                           as EHSTaskUser,

      _EHSTaskAdapterClass.EHSSemanticObject                                                              as EHSTaskHostSemanticObject,

      _BusinessPartner,

      _IncidentTaskRefAccRestricted.IncidentHasAccessRestriction,

      _EHSTaskAssigneeRoleT,
      _EHSTaskApproverRoleT,

      _CreatedByUser,
      _LastChangedByUser,
      _EHSTaskOwnerUser,
      _EHSTaskAssignedUser,
      _EHSTaskApprovingUser,
      _EHSTaskPriority,
      _EHSTaskDefinitionStatus,
      _EHSTaskDueInUnit,
      _EHSTaskStartBeforeUnit,
      _EHSTaskRecurrenceType,
      _EHSTaskRecurrenceOffset,
      _EHSTaskRecurrenceWeekDay,
      _EHSTaskRecurrenceMonth,
      _EHSTaskRecurrenceEndType,
      _EHSTaskDefinitionType,
      _EHSTaskAdapterClass,

      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _EHSTaskDefinitionExecution,

      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _EHSTaskDefinitionReference,

      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _EHSTaskDefinitionMaintenance,

      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _EHSTaskDefinitionMoC,

      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _EHSTaskPlannedInstance,

      // Associations for Authorization Check of Host BO

      _IncidentAuthorizationFields,
      _EHSCtrlImplmtnAuthznFields,
      _EHSRskAssessmentAuthznFields,
      _EHSRskAssmt2RskCtrlAuthznFld,
      _EHSCmplncScenAuthznFields,
      _IncidentTaskRefAccRestricted,
      _CmplncRqmtAuthznFields

}
where
     _EHSTaskAdapterClass.EHSSemanticObject = 'Incident' // Currenty restrict the draft records to be shown not for all apps, as not all of them are adopted

  or _EHSTaskAdapterClass.EHSSemanticObject = 'IncidentInvestigationStep'
  or _EHSTaskAdapterClass.EHSSemanticObject = 'EHSComplianceScenario'
  or _EHSTaskAdapterClass.EHSSemanticObject = 'EHSComplianceRequirement'
  or _EHSTaskAdapterClass.EHSSemanticObject = 'EHSRiskAssessment'
  or _EHSTaskAdapterClass.EHSSemanticObject = 'EHSControlImplementation'
  or _EHSTaskAdapterClass.EHSSemanticObject = 'ComplianceRegister'