1.先上代码
FUNCTION zrfc_mm_meq1.
*"----------------------------------------------------------------------
*"*"本地接口:
*" TABLES
*" IT_XEQUK STRUCTURE EQUKU
*" IT_XEQUP STRUCTURE UEQUP
*" IT_YEQUK STRUCTURE EQUKU
*" IT_YEQUP STRUCTURE UEQUP
*" RETURN STRUCTURE ZRFC_RETURN_MESSAGE
*"----------------------------------------------------------------------
"用于OA流程--供应商物料报价审批汇总单,报价类型为新品且为独家供货调用产生100%配额
INCLUDE zgen_bc_x_fmlog_first_phase.
TABLES :equk.
DATA : iw_equk TYPE equk.
DATA : it_equk TYPE TABLE OF equk.
CLEAR:iw_equk.
* READ TABLE it_xequk INTO iw_equk.
* CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
* EXPORTING
* input = iw_equk-matnr
* IMPORTING
* output = iw_equk-matnr.
LOOP AT it_xequk INTO iw_equk.
SELECT * INTO CORRESPONDING FIELDS OF TABLE it_equk FROM equk WHERE matnr = iw_equk-matnr AND werks = iw_equk-werks.
IF sy-subrc = 0.
DELETE it_xequk INDEX sy-tabix.
DELETE it_xequp INDEX sy-tabix.
ELSE.
ENDIF.
ENDLOOP.
IF it_xequk[] IS NOT INITIAL.
CALL FUNCTION 'ME_UPDATE_QUOTA'
TABLES
xequk = it_xequk
xequp = it_xequp
yequk = it_yequk
yequp = it_yequp.
IF sy-subrc = 0.
return-type = 'S'.
return-message = '配额维护成功!'.
APPEND return TO return[].
ELSE.
return-type = 'E'.
return-message = '配额维护失败!'.
APPEND return TO return[].
ENDIF.
ELSE.
return-type = 'E'.
return-message = '配额已经存在!'.
APPEND return TO return[].
ENDIF.
INCLUDE zgen_bc_x_fmlog_last_phase.
ENDFUNCTION.
2.要注意点!KZ(字段一定要打上I标识!!!)因为这个小细节测了半天都没有成功!