SAP MM采购申请审批接口分享
一、接口逻辑
需要留意SAP是否设置多级审批,接口中有设置逐级审批逻辑
二、接口代码
FUNCTION z_fmmm_0018.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_DATA_GD) TYPE ZSBC_IF_GD OPTIONAL
*" VALUE(I_INPUT) TYPE STRING OPTIONAL
*" EXPORTING
*" VALUE(E_OUTPUT) TYPE STRING
*"----------------------------------------------------------------------
DATA: gs_input TYPE zsmm_input_018,
gs_return TYPE zsbc_msg,
lt_return TYPE TABLE OF bapireturn.
DATA: lt_input TYPE zttmm_input_018,
lwa_input TYPE zssmm_input_018,
lt_output TYPE zttmm_output_018,
lwa_output TYPE zsmm_output_018,
ls_output TYPE zssmm_output_018.
DATA: lv_type TYPE bapi_mtype.
lv_type = 'S'. "默认成功
"CALL FUNCTION 'ZFM_BREAK_POINT' .
CALL FUNCTION 'Z_FMBC_JSONTOABAP2'
EXPORTING
i_json = i_input
IMPORTING
e_data = gs_input.
lt_input = gs_input-data_list.
LOOP AT lt_input ASSIGNING FIELD-SYMBOL(<fs_input>).
<fs_input>-banfn = |{ <fs_input>-banfn ALPHA = IN }|.
ENDLOOP.
"先处理还没有一级审批的数据
SELECT banfn,bnfpo,frgzu
FROM eban
FOR ALL ENTRIES IN @lt_input
WHERE banfn = @lt_input-banfn
* AND frgzu = 'XX' "X XX 和 空
INTO TABLE @DATA(lt_eban).
LOOP AT lt_input INTO lwa_input.
MOVE-CORRESPONDING lwa_input TO ls_output.
"还处于未审批状态