*&---------------------------------------------------------------------*
*& Report *
*& *
*&---------------------------------------------------------------------*
*& 通过RFC把本系统程序放入另外一个系统执行并返回结果 *
*& *
*&---------------------------------------------------------------------*
REPORT z_barry_insert_abap .
DATA : itab_prog(140) OCCURS 0 WITH HEADER LINE.
DATA : itab_ret(1023) OCCURS 0 WITH HEADER LINE.
DATA : err_msg LIKE sy-msgv1.
PARAMETER p_report LIKE sy-repid MEMORY ID rid.
PARAMETER p_rfcdes LIKE rfcdes-rfcdest.
START-OF-SELECTION.
REFRESH : itab_prog , itab_ret.
READ REPORT p_report INTO itab_prog.
CALL FUNCTION 'RFC_ABAP_INSTALL_AND_RUN' DESTINATION p_rfcdes
EXPORTING
mode = 'F'
IMPORTING
errormessage = err_msg
TABLES
program = itab_prog
writes = itab_ret
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE e000(z900) WITH err_msg. WRITE :/ err_msg.
ELSE.
IF NOT itab_ret[] IS INITIAL.
LOOP AT itab_ret.
WRITE :/ itab_ret.
ENDLOOP.
ENDIF.
ENDIF.
注:因此函数为RFC函数,可以利用第三方软件做远程程序执行,如Excel。但需要注意的是,如果目标Client设置为不允许修改(SCC4),则会返回错误。
阅读(4547) | 评论(2) | 转发(0) |