SAP BAPI 采购申请->审批

 

 1 * Program Name :   ZGER_1910LK_030602                                    *
 2 * describe:                                                  *
 3 * Created by   :                                             *
 4 * Created on   :                                             *
 5 *                                                            *
 6 *------------------------------------------------------------*
 7 REPORT zger_1910lk_030602.
 8 *--------------------------------------------------------------------*
 9 DATA:
10   BEGIN OF ls_grp,
11     frggr TYPE t16fc-frggr,  "审批组
12     frgco TYPE t16fc-frgco,  "审批代码
13   END OF ls_grp,
14 
15   lt_grp    LIKE TABLE OF ls_grp,
16   lt_return TYPE STANDARD TABLE OF bapireturn,
17   ls_return TYPE bapireturn.
18 *--------------------------------------------------------------------*
19 *  屏幕
20 *--------------------------------------------------------------------*
21 SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
22 PARAMETERS:p_banfn TYPE eban-banfn.      "采购申请号
23 PARAMETERS:p_frgco TYPE t16fc-frgco.     "审批级别
24 SELECTION-SCREEN END OF BLOCK blk1.
25 *--------------------------------------------------------------------*
26 * 根据PR获得审批组,从而获取审批码
27 SELECT t16fc~frggr
28        t16fc~frgco
29   INTO TABLE lt_grp
30   FROM eban
31  INNER JOIN t16fc ON eban~frggr = t16fc~frggr  "审批组
32   WHERE eban~banfn = p_banfn
33     AND eban~frgrl = 'X'."FRGRL 字段标示审批是否结束(X未结束,需要审批, ''审批结束
34 *循环审批码将PR逐级
35 
36 SORT lt_grp BY frggr frgco.  "排序
37 DELETE ADJACENT DUPLICATES FROM lt_grp  COMPARING frggr  frgco. "删除相邻重复
38 *--------------------------------------------------------------------*
39 *调用扒皮函数
40 *--------------------------------------------------------------------*
41 LOOP AT lt_grp INTO ls_grp.
42   CALL FUNCTION 'BAPI_REQUISITION_RELEASE_GEN'
43     EXPORTING
44       number   = p_banfn
45       rel_code = p_frgco
46 *     NO_COMMIT_WORK          = ' '
47 * IMPORTING
48 *     REL_STATUS_NEW          =
49 *     REL_INDICATOR_NEW       =
50     TABLES
51       return   = lt_return.
52   LOOP AT lt_return INTO ls_return WHERE type = 'A'
53                                        OR type = 'E'
54                                        OR type = 'X'.
55     MESSAGE ls_return-message TYPE 'S' DISPLAY LIKE 'E'.
56   ENDLOOP.
57 ENDLOOP.

 

 

 

posted @ 2020-03-06 22:11  独孤like  阅读(38)  评论(0)    收藏  举报