第一歩:确认好触发自动审批的增强点 BADI:ME_PROCESS_PO_CUST->CLOSE
第二歩:
将自动审批的代码 封装一个函数
第三歩:使用异步调用执行函数(该增强点在保存订单后触发,防止等待时间过长或同步失败,使用异步调用)
第四歩:确认好用户是否有权限(这种异步是指多级审批,需要外围系统审批的步骤,通常是设置审批都会使用多级审批的)
第五步:在用户没有权限的情况下,自动审批需要通过ABAP连接的方式跳过当前的权限(设置SM59 ABAP链接的登录方式)
函数代码: DATA: lv_flag TYPE c,
lv_status TYPE c.
DATA:gt_return TYPE TABLE OF bapireturn.
DATA:gs_return TYPE bapireturn.
SELECT COUNT(*) FROM zmmt005 WHERE bukrs EQ iv_bukrs AND bsart EQ iv_bsart.
IF sy-subrc EQ 0.
DO 10 TIMES.
"取值
SELECT a~matnr,
c~eindt
FROM ekpo AS a
INNER JOIN ekko AS b ON b~ebeln EQ a~ebeln
INNER JOIN eket AS c ON c~ebeln EQ a~ebeln AND c~ebelp EQ a~ebelp
INTO TABLE @DATA(lt_tab)
WHERE a~ebeln EQ @iv_ebeln.
IF lt_tab[] IS INITIAL.
WAIT UP TO '0.1' SECONDS.
ELSE.