Допустим у нас есть стартовавший процесс, но в нем не предусмотрено сообщение пользователям о статусе шагов. А информация нам нужна.
Запустим наш процесс, созданный ранее. Если зайдем в SWIA, можно увидеть текущий шаг и его статус.
Информация будет неполная, алгоритм поиска придется доделать самостоятельно. Т.к. я начал разбираться, но в итоге это не потребовалось. Жалко если потеряется, поэтому вставлю в таком виде, может быть кому-то пригодится.
Информация о шагах и потоке Хранится в таблицах swwwihead, sww_wi2obj
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
SELECT obj~instid AS build_id, top~wi_cd AS start_date, top~wi_ct AS start_time, top~wi_id AS wi_id_top, top~wi_stat AS wi_stat_top, top~wfd_version AS obsolete_wf_icon, wi~parent_wi AS wi_id, wi~wi_stat, wi~wi_type, wi~def_guid INTO TABLE @DATA(lt_wf_data) FROM sww_wi2obj AS obj INNER JOIN swwwihead AS top ON top~wi_id = obj~wi_id "AND * top~wi_chckwi = @lv_wi_initial LEFT OUTER JOIN swwwihead AS wi ON wi~top_wi_id = top~wi_id AND ( wi~wi_stat = 'READY' ) WHERE obj~wi_rh_task = 'WS90000007' “Код потока операциий из SWDD AND obj~removed = @space AND top~wi_stat = 'STARTED' "@it_top_wi_stat ORDER BY start_date DESCENDING, start_time DESCENDING. |
В своей обработке вы добавите те условия, которые необходимы для определения именно вашего потока. Тут только примерный план для показа возможности
1 2 3 4 5 6 7 |
DATA lt_witems TYPE TABLE OF swr_wihdr. LOOP AT lt_wf_data ASSIGNING FIELD-SYMBOL(<ls_wf>). CALL FUNCTION 'SAP_WAPI_GET_CHILD_WORKITEMS' EXPORTING workitem_id = <ls_wf>-wi_id_top TABLES worklist = lt_witems. |
Получили список задач. По полю wi_chckwi можем получить доступ к данным контейнера
Выберем интересующую нас задачу
1 2 3 4 5 6 7 8 9 10 11 12 13 |
READ TABLE lt_witems ASSIGNING FIELD-SYMBOL(<ls_witems>) INDEX 8. CHECK sy-subrc = 0. DATA lt_cont TYPE TABLE OF swr_cont. DATA lv_idx TYPE i VALUE 0. CALL FUNCTION 'SAP_WAPI_READ_CONTAINER' EXPORTING workitem_id = <ls_witems>-wi_chckwi TABLES simple_container = lt_cont. ENDLOOP. |
Получили данные контейнера