I_PPM_CHECKLISTITEM

CDS View

Determines Checklist Items

I_PPM_CHECKLISTITEM is a CDS View in S/4HANA. Determines Checklist Items. It contains 33 fields. 4 CDS views read from this table.

CDS Views using this table (4)

ViewTypeJoinVDMDescription
I_PPM_ChecklistItemText view from COMPOSITE Check item text
I_PPM_MyChecklistItem view inner COMPOSITE Returns My Checklist Items
I_PPM_ObjectPageChecklistItem view from COMPOSITE Determines Checklist Items
P_PPM_TaskRelatedSeverity view left_outer COMPOSITE

Fields (33)

KeyField CDS FieldsUsed in Views
KEY ChecklistItemUUID ChecklistItemUUID 3
_AuthGroup _AuthGroup 3
_AuthRole _AuthRole 3
_AuthSubst _AuthSubst 3
_AuthUser _AuthUser 3
_ChecklistItemResult _ChecklistItemResult 1
_ChecklistItemStatus _ChecklistItemStatus 1
_CreatedByUser _CreatedByUser 1
_IsApprovalRelevant _IsApprovalRelevant 1
_LastChangedByUser _LastChangedByUser 1
_Priority _Priority 2
ActualFinishDate ActualFinishDate 2
ChecklistItem ChecklistItem 2
ChecklistItemParentProcStatus ChecklistItemParentProcStatus 2
ChecklistItemProcessingStatus ChecklistItemProcessingStatus 2
ChecklistItemResult ChecklistItemResult 2
ChecklistParentObjectUUID ChecklistParentObjectUUID 1
CreatedByUser CreatedByUser 2
CreationDateTime CreationDateTime 2
FailureModeEfctAnlysDetection FailureModeEfctAnlysDetection 2
FailureModeEfctAnlysOccurence FailureModeEfctAnlysOccurence 2
FailureModeEfctAnlysRiskPrioNo FailureModeEfctAnlysRiskPrioNo 2
FailureModeEfctAnlysSeverity FailureModeEfctAnlysSeverity 2
IsApprovalRelevant IsApprovalRelevant 2
IsChecklistItemChangeable IsChecklistItemChangeable 2
IsDurationZero IsDurationZero 2
LastChangeDateTime LastChangeDateTime 2
LastChangedByUser LastChangedByUser 2
LatestFinishDate LatestFinishDate 2
ObjectType ObjectType 2
PriorityCode PriorityCode 2
ProjectUUID ProjectUUID 2
ProjectVersionNumber ProjectVersionNumber 2
@EndUserText.label: 'Determines Checklist Items'
@VDM.viewType: #BASIC
@AbapCatalog.sqlViewName: 'IPPMCHEKLISTITEM'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: 'XL'
@ObjectModel.usageType.dataClass:  #MIXED

@ObjectModel.representativeKey: 'ChecklistItemUUID'
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API

define view I_PPM_ChecklistItem
  as select from    dpr_checklist_i             as ChecklistItem
    inner join      cgpl_task                   as ChecklistItemData  on ChecklistItemData.guid = ChecklistItem.guid
    inner join      cgpl_hierarchy              as ProjectHierarchy   on ProjectHierarchy.guid = ChecklistItemData.project_guid
    left outer join cgpl_hierarchy              as TaskHiearchy       on ChecklistItem.guid = TaskHiearchy.guid
    left outer join cgpl_hierarchy              as TaskHiearchyUp     on TaskHiearchy.up = TaskHiearchyUp.guid
    left outer join /s4ppm/task                 as ProjectSummaryTask on ProjectSummaryTask.guid = ProjectHierarchy.up

   // associations to authorization views

    association [0..*] to I_PPM_AuthznByUsrH        as _AuthUser
            on      _AuthUser.ReferencedObjectUUID   = $projection.ChecklistItemUUID
             and    _AuthUser.UserID                 = $session.user
             and (  _AuthUser.Activity = 'Admin'     or _AuthUser.Activity = 'Write'      or _AuthUser.Activity = 'Read' )
    association [0..*] to I_PPM_AuthznBySubstitH    as _AuthSubst
            on      _AuthSubst.ReferencedObjectUUID  = $projection.ChecklistItemUUID
             and    _AuthSubst.UserID                = $session.user
             and (  _AuthSubst.Activity = 'Admin'    or _AuthSubst.Activity = 'Write'     or _AuthSubst.Activity = 'Read' )
    association [0..*] to I_PPM_AuthznByUserRoleH   as _AuthRole
            on      _AuthRole.ReferencedObjectUUID   = $projection.ChecklistItemUUID
             and    _AuthRole.UserID                 = $session.user
             and (  _AuthRole.Activity = 'Admin'     or _AuthRole.Activity = 'Write'      or _AuthRole.Activity = 'Read' )
    association [0..*] to I_PPM_AuthznByUsrGrpH     as _AuthGroup
            on      _AuthGroup.ReferencedObjectUUID  = $projection.ChecklistItemUUID
             and    _AuthGroup.UserID                = $session.user
             and (  _AuthGroup.Activity = 'Admin'    or _AuthGroup.Activity = 'Write'     or _AuthGroup.Activity = 'Read' )


// other associations


  association [1..1] to I_Indicator               as _IsApprovalRelevant  on $projection.IsApprovalRelevant = _IsApprovalRelevant.IndicatorValue
  association [1..1] to I_PPM_ChecklistItemResult as _ChecklistItemResult on $projection.ChecklistItemResult = _ChecklistItemResult.ChecklistItemResult
  association [0..1] to I_PPM_User                as _CreatedByUser       on $projection.CreatedByUser = _CreatedByUser.UserID
  association [0..1] to I_PPM_User                as _LastChangedByUser   on $projection.LastChangedByUser = _LastChangedByUser.UserID
  association [0..1] to I_PPM_ProcessingStatus    as _ChecklistItemStatus on $projection.ChecklistItemProcessingStatus = _ChecklistItemStatus.ProcessingStatus
  association [0..1] to I_PPM_Priority            as _Priority            on $projection.PriorityCode = _Priority.PriorityCode
{
  key cast(ChecklistItem.guid      as /s4ppm/tv_entity_guid preserving type )                                                                                                                              as   ChecklistItemUUID,
      ChecklistItemData.object_type                                                                                                                                                                        as   ObjectType,
      cast(TaskHiearchyUp.up   as /s4ppm/tv_entity_guid preserving type )                                                                                                                                  as   ChecklistParentObjectUUID,
      ProjectSummaryTask.project_guid                                                                                                                                                                      as   ProjectUUID,
      ChecklistItem.app_relevant                                                                                                                                                                           as   IsApprovalRelevant,
      ChecklistItem.cl_item_id                                                                                                                                                                             as   ChecklistItem,
      ChecklistItem.changeability                                                                                                                                                                          as   IsChecklistItemChangeable,
      ChecklistItem.detection                                                                                                                                                                              as   FailureModeEfctAnlysDetection,
      ChecklistItem.duration_zero_indicator                                                                                                                                                                as   IsDurationZero,
      ChecklistItem.occurence                                                                                                                                                                              as   FailureModeEfctAnlysOccurence,
      ChecklistItem.proc_status_own                                                                                                                                                                        as   ChecklistItemProcessingStatus,
      ChecklistItem.proc_status_sup                                                                                                                                                                       as   ChecklistItemParentProcStatus,
      ChecklistItem.rpn                                                                                                                                                                                    as   FailureModeEfctAnlysRiskPrioNo,
      ChecklistItem.version_number                                                                                                                                                                         as   ProjectVersionNumber,
      // Severity for the Object Page: Additional Data

      ChecklistItem.severity                                                                                                                                                                               as   FailureModeEfctAnlysSeverity,
      ChecklistItemData.priority                                                                                                                                                                           as   PriorityCode,
      @Semantics.user.createdBy: true
      ChecklistItemData.created_by                                                                                                                                                                         as   CreatedByUser,
      @Semantics.systemDateTime.createdAt: true
      ChecklistItemData.created_on                                                                                                                                                                         as   CreationDateTime,
      @Semantics.user.lastChangedBy: true
      ChecklistItemData.changed_by                                                                                                                                                                         as   LastChangedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      ChecklistItemData.changed_on                                                                                                                                                                         as   LastChangeDateTime,
      @Semantics.businessDate.to: true
      case ChecklistItemData.actualfinish
        when 0 then tstmp_to_dats(
                      ChecklistItemData.actualfinish,
                      abap_system_timezone( $session.client,'NULL' ),
                      $session.client,
                      'NULL' )
        else  tstmp_to_dats(
                tstmp_add_seconds(ChecklistItemData.actualfinish,
                cast(-86400 as abap.dec( 15, 0 )), 'FAIL'),
                abap_system_timezone( $session.client,'NULL' ),
                $session.client,
                'NULL' )
      end                                                                                                                                                                                                  as   ActualFinishDate,
      @Semantics.businessDate.to: true
      case
      //      if the duration is initial, don't substract one day.

        when ChecklistItem.duration_zero_indicator = 'X' then
          tstmp_to_dats(
          ChecklistItemData.latest_finish,
          abap_system_timezone( $session.client,'NULL' ),
          $session.client,
          'NULL' )
        else

        // note_2863878 begin

        //          tstmp_to_dats(

        //    tstmp_add_seconds(ChecklistItemData.latest_finish, cast(-86400 as abap.dec( 15, 0 )), 'FAIL'),

        //    abap_system_timezone( $session.client,'NULL' ),

        //     $session.client,

        //    'NULL' )

        dats_add_days( tstmp_to_dats( ChecklistItemData.latest_finish, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ), -1, 'NULL')
        // note_2863878 end


      end                                                                                                                                                                                                  as   LatestFinishDate,
      case ChecklistItem.ok
          when 'X' then
              '1'
          else
              case ChecklistItem.nok
                  when 'X' then
                      '2'
                  else
                      case ChecklistItem.not_relevant
                          when 'X' then
                              '3'
                          else
                              '0'
                      end
                  end
      end                                                                                                                                                                                                  as   ChecklistItemResult,
      _IsApprovalRelevant,
      _ChecklistItemStatus,
      _ChecklistItemResult,
      _CreatedByUser,
      _LastChangedByUser,
      _Priority,
      _AuthUser,
      _AuthSubst,
      _AuthRole,
      _AuthGroup

}























/*+[internal] {
"BASEINFO":
{
"FROM":
[
"/S4PPM/TASK",
"CGPL_HIERARCHY",
"CGPL_TASK",
"DPR_CHECKLIST_I"
],
"ASSOCIATED":
[
"I_INDICATOR",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH",
"I_PPM_CHECKLISTITEMRESULT",
"I_PPM_PRIORITY",
"I_PPM_PROCESSINGSTATUS",
"I_PPM_USER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/