Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- begin_method edit changing container.
- DATA: rms_id TYPE string,
- return_value TYPE i,
- activity_state TYPE i,
- l_pathpos TYPE i,
- l_pathid TYPE i,
- l_funcresult TYPE srmactfc,"выполненная функция деятельности
- l_ncmplfn TYPE ztrcm_cd_ncmplfn."структура для сверки с настроечной таблицей
- *--Y7AK060922--PANDEP-cust msg 0120025231 0000575665 2007--------------
- CLEAR: g_var, g_workitem.
- *--PANDEP--------------------------------------------------------------
- swc_get_element container 'POSITIONTOPROCEED' g_var.
- swc_get_element container '_WORKITEM' g_workitem.
- PERFORM start_rmf_activity USING if_srm_activity_list=>modify
- object-key-guid
- CHANGING activity_state
- return_value.
- swc_get_property g_var 'POSID' l_pathpos.
- swc_get_property g_var 'PATHID' l_pathid.
- "получение результата выполненной функции деятельности
- SELECT SINGLE funcresult
- FROM srmwfpthfields
- INTO l_funcresult
- WHERE pathid = l_pathid
- AND posid = l_pathpos
- AND actarea = 'SCMG'.
- "проверка результата выполнения функции деятельности
- IF sy-subrc NE 0."если не была нажата кнопка функции деятельности, задачу не завершаем
- CLEAR activity_state.
- ELSE."кнопка была нажата. проверяем допустимость завершения задачи в соотв. с настроечной таблицей
- SELECT SINGLE *
- FROM ztrcm_cd_ncmplfn
- INTO l_ncmplfn
- WHERE actfunc EQ l_funcresult.
- IF sy-subrc EQ 0."если результат функции деятельности есть в настроечной таблице, задачу не завершаем
- CLEAR activity_state.
- ENDIF.
- ENDIF.
- IF activity_state NE if_srm_request=>activity_finished_with_ok
- AND NOT g_workitem IS INITIAL. "only in workflow
- exit_cancelled.
- ENDIF.
- IF return_value <> 0.
- exit_return '1000' 'SCMG_BOR_CASE->EDIT'
- 'start_rmf_activity' return_value space.
- ENDIF.
- end_method.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement