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.privilegedAssociations: ['_DraftAdministrativeData']
@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: #MASTER }
                         
@AbapCatalog.preserveKey: true
@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_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
      EHSTaskDefinitionRootDraft.creationutcdatetime           as CreationUTCDateTime,
      @Semantics.user.createdBy: true
      EHSTaskDefinitionRootDraft.createdbyuser                 as CreatedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      EHSTaskDefinitionRootDraft.lastchangeutcdatetime         as LastChangeUTCDateTime,
      @Semantics.user.lastChangedBy: true
      EHSTaskDefinitionRootDraft.lastchangedbyuser             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,
      _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'
  // ************* begin correction  3240821  26.08.2022

  or _EHSTaskAdapterClass.EHSSemanticObject = 'EHSRiskAssessment'
  or _EHSTaskAdapterClass.EHSSemanticObject = 'EHSControlImplementation'
// ************* end correction  3240821  26.08.2022

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_DRAFTADMINISTRATIVEDATA",
"I_EHSTASKADAPTERCLASS",
"I_INCIDENTTASKREFACCRESTRICTED",
"EHFNDW_TDEF_ROOT"
],
"ASSOCIATED":
[
"I_BUSINESSUSERBASIC",
"I_CMPLNCRQMTAUTHZNFIELDS",
"I_DRAFTADMINISTRATIVEDATA",
"I_EHSCMPLNCSCENAUTHZNFIELDS",
"I_EHSCTRLIMPLMTNAUTHZNFIELDS",
"I_EHSLOCATIONPERSONRESPROLET",
"I_EHSRSKASSESSMENTAUTHZNFIELDS",
"I_EHSTASKADAPTERCLASS",
"I_EHSTASKDEFEXECUTION",
"I_EHSTASKDEFINITIONSTATUS",
"I_EHSTASKDEFINITIONTYPE",
"I_EHSTASKDEFMAINTENANCENOTIF",
"I_EHSTASKDEFMGMTOFCHANGE",
"I_EHSTASKDEFREFERENCE",
"I_EHSTASKDUEINUNIT",
"I_EHSTASKPLANNEDINSTANCE",
"I_EHSTASKPRIORITY",
"I_EHSTASKRECURRENCEENDTYPE",
"I_EHSTASKRECURRENCEMONTH",
"I_EHSTASKRECURRENCEOFFSET",
"I_EHSTASKRECURRENCETYPE",
"I_EHSTASKRECURRENCEWEEKDAY",
"I_EHSTASKSTARTBEFOREUNIT",
"I_INCIDENTCOMBAUTHFIELDS",
"I_INCIDENTTASKREFACCRESTRICTED",
"I_USER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/