Advertisement
Guest User

Untitled

a guest
Oct 25th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 2.18 KB | None | 0 0
  1. begin_method edit changing container.
  2.  
  3. DATA: rms_id         TYPE string,
  4.       return_value   TYPE i,
  5.       activity_state TYPE i,
  6.       l_pathpos      TYPE i,
  7.       l_pathid       TYPE i,
  8.       l_funcresult   TYPE srmactfc,"выполненная функция деятельности
  9.       l_ncmplfn      TYPE ztrcm_cd_ncmplfn."структура для сверки с настроечной таблицей
  10.  
  11. *--Y7AK060922--PANDEP-cust msg 0120025231 0000575665 2007--------------
  12. CLEAR: g_var, g_workitem.
  13. *--PANDEP--------------------------------------------------------------
  14. swc_get_element container 'POSITIONTOPROCEED' g_var.
  15. swc_get_element container '_WORKITEM' g_workitem.
  16.  
  17. PERFORM start_rmf_activity USING if_srm_activity_list=>modify
  18.       object-key-guid
  19. CHANGING activity_state
  20.   return_value.
  21.  
  22. swc_get_property g_var 'POSID' l_pathpos.
  23. swc_get_property g_var 'PATHID' l_pathid.
  24.  
  25. "получение результата выполненной функции деятельности
  26. SELECT SINGLE funcresult
  27.   FROM srmwfpthfields
  28.   INTO l_funcresult
  29.   WHERE pathid  = l_pathid
  30.     AND posid   = l_pathpos
  31.     AND actarea = 'SCMG'.
  32.  
  33. "проверка результата выполнения функции деятельности
  34. IF sy-subrc NE 0."если не была нажата кнопка функции деятельности, задачу не завершаем
  35.   CLEAR activity_state.
  36. ELSE."кнопка была нажата. проверяем допустимость завершения задачи в соотв. с настроечной таблицей
  37.   SELECT SINGLE *
  38.     FROM ztrcm_cd_ncmplfn
  39.     INTO l_ncmplfn
  40.     WHERE actfunc EQ l_funcresult.
  41.   IF sy-subrc EQ 0."если результат функции деятельности есть в настроечной таблице, задачу не завершаем
  42.     CLEAR activity_state.
  43.   ENDIF.
  44. ENDIF.
  45.  
  46. IF activity_state NE if_srm_request=>activity_finished_with_ok
  47. AND NOT g_workitem IS INITIAL. "only in workflow
  48.   exit_cancelled.
  49. ENDIF.
  50. IF return_value <> 0.
  51.   exit_return '1000' 'SCMG_BOR_CASE->EDIT'
  52.   'start_rmf_activity' return_value space.
  53. ENDIF.
  54.  
  55. end_method.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement