? ME29N采购订单审批BAPI_PO_RELEASE - SAP顾问圈 亚博体育娱乐 ,亚博体育app怎么样,亚博2018网上投注
二维码

[BAPI] ME29N采购订单审批BAPI_PO_RELEASE

Twilight发表于 2019-08-07 10:43Twilight 最后回复于 2019-08-07 10:43 [复制链接] 186 0

采购订单不能跨级审批,只能逐级审批

程序代码:
  1. FUNCTION zpufm009.
  2. *"----------------------------------------------------------------------
  3. *"*"本地接口
  4. *"??IMPORTING
  5. *"? ???VALUE(I_EBELN) TYPE??EBELN
  6. *"? ???VALUE(I_FRGZU) TYPE??FRGZU
  7. *"??EXPORTING
  8. *"? ???VALUE(E_MESSAGE) TYPE??ZOTS001
  9. *"----------------------------------------------------------------------
  10. ??DATA:lt_return TYPE TABLE OF bapireturn WITH HEADER LINE.
  11. ??DATA:BEGIN OF ls_ekko,
  12. ? ?? ???ebeln TYPE ekko-ebeln,
  13. ? ?? ???frggr TYPE ekko-frggr,
  14. ? ?? ???frgsx TYPE ekko-frgsx,
  15. ? ?? ?END OF ls_ekko.
  16. ??DATA:ls_t16fs TYPE t16fs.
  17. ??DATA:lv_level TYPE n.
  18. ??DATA:lv_pre_field TYPE string VALUE 'FRGC'.
  19. ??DATA:lv_fieldname TYPE string.
  20. ??FIELD-SYMBOLS: TYPE t16fs-frgc1.

  21. ??PERFORM frm_inputsap_ebeln CHANGING i_ebeln.

  22. ??SELECT SINGLE
  23. ? ? ebeln??"采购订单
  24. ? ? frggr??"审批组
  25. ? ? frgsx??"审批策略
  26. ??INTO ls_ekko
  27. ??FROM ekko
  28. ??WHERE ebeln = i_ebeln
  29. ? ? AND frgzu = i_frgzu "空 未审核 X一级审核 XX二级审核
  30. ? ? AND frgrl = 'X'.? ? "X有待审批,未审核完成
  31. ??IF sy-subrc = 0.
  32. ? ? SELECT SINGLE * INTO ls_t16fs FROM t16fs WHERE frggr = ls_ekko-frggr AND frgsx = ls_ekko-frgsx. "审批代码
  33. ? ? IF sy-subrc = 0.
  34. ? ?? ?lv_level = strlen( i_frgzu ).
  35. ? ?? ?lv_level = lv_level + 1.
  36. ? ?? ?CONCATENATE lv_pre_field lv_level INTO lv_fieldname.
  37. ? ?? ?"通过指针获取批准代码
  38. ? ?? ?ASSIGN COMPONENT lv_fieldname OF STRUCTURE ls_t16fs TO .
  39. ? ?? ?IF sy-subrc = 0.
  40. ? ?? ???CALL FUNCTION 'BAPI_PO_RELEASE'
  41. ? ?? ?? ? EXPORTING
  42. ? ?? ?? ?? ?purchaseorder? ?? ?? ? = i_ebeln
  43. ? ?? ?? ?? ?po_rel_code? ?? ?? ?? ?=
  44. ? ?? ?? ?? ?use_exceptions? ?? ?? ?= 'X'
  45. ? ?? ?? ? TABLES
  46. ? ?? ?? ?? ?return? ?? ?? ?? ?? ???= lt_return
  47. ? ?? ?? ? EXCEPTIONS
  48. ? ?? ?? ?? ?authority_check_fail? ?= 1
  49. ? ?? ?? ?? ?document_not_found? ???= 2
  50. ? ?? ?? ?? ?enqueue_fail? ?? ?? ???= 3
  51. ? ?? ?? ?? ?prerequisite_fail? ?? ?= 4
  52. ? ?? ?? ?? ?release_already_posted = 5
  53. ? ?? ?? ?? ?responsibility_fail? ? = 6
  54. ? ?? ?? ?? ?OTHERS? ?? ?? ?? ?? ???= 7.
  55. ? ?? ???LOOP AT lt_return WHERE type CA 'AEX'.
  56. ? ?? ?? ? IF e_message-message IS INITIAL.
  57. ? ?? ?? ?? ?e_message-message? ?= lt_return-message.
  58. ? ?? ?? ? ELSE.
  59. ? ?? ?? ?? ?CONCATENATE e_message-message lt_return-message INTO e_message-message SEPARATED BY '/'.
  60. ? ?? ?? ? ENDIF.
  61. ? ?? ???ENDLOOP.
  62. ? ?? ???IF sy-subrc = 0.
  63. ? ?? ?? ? e_message-type? ?= 'E'.
  64. ? ?? ?? ? EXIT.
  65. ? ?? ???ELSE.
  66. ? ?? ?? ? e_message-type? ? = 'S'.
  67. ? ?? ?? ? e_message-message = '采购订单' && lv_level && '级审批通过!'.
  68. ? ?? ???ENDIF.
  69. ? ?? ?ENDIF.

  70. ? ? ENDIF.
  71. ??ELSE.
  72. ? ? e_message-type? ? = 'S'.
  73. ? ? e_message-message = '没有发现需要审批的采购订单!'.
  74. ??ENDIF.

  75. ENDFUNCTION.
  76. FORM frm_inputsap_ebeln CHANGING pc_vbeln TYPE ekko-ebeln.
  77. ??CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  78. ? ? EXPORTING
  79. ? ?? ?input??= pc_vbeln
  80. ? ? IMPORTING
  81. ? ?? ?output = pc_vbeln.
  82. ENDFORM.
复制代码

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表