Homelab, Linux, JS & ABAP (~˘▾˘)~
 

[Workflow] Get all Workitems and Workitem Container related to a pernr

If you have connected any workflows to a pernr via BUS1065 (like it is described here), you can receive all related workflows/workitems related to this pernr via the following code:

01
02
03
04
05
06
07
08
09
10
11
12
13
NEW cl_def_im_com_bsp_workflow( )->if_ex_com_bsp_workflow~read_workitems_for_object( EXPORTING iv_swo_objtype = 'BUS1065'
                                                                                               iv_swo_objkey  = CONV #( lv_pernr )
                                                                                     IMPORTING et_workitems   = DATA(lt_workitems) ).
 
LOOP AT lt_workitems ASSIGNING FIELD-SYMBOL(<workitems>).
  "If you are only interested in specific workflows, you could filter here
  "WHERE wi_rh_task = 'WSxxxxxxxx'
  "AND   wi_stat    =  'STARTED'.
 
  NEW /iwwrk/cl_wf_read_workitem( <workitems>-wi_id )->get_wi_container( IMPORTING et_wi_container = DATA(lt_wi_container) ).
  " access container items via lt_wi_container[ element = 'IV_PERNR'  ]-value
 
ENDLOOP.