SAP RFC通信模式基础知识(srfc arfc prfc trfc qrfc bgrf)

Reference => 官方文档 SAP Help Portal-RFC

1.同步RFC

  • 同步RFC(sRFC,synchronous RFC)是RFC最原始版本,其执行基于同步通信模式,远程调用时,通信双方系统必须处于可用状态,调用程序等待远程功能处理结束并返回结果

  • 语法形式:

    	CALL FUNCTION 'rfm_name'
    	  DESTINATION dest
    	  EXPORTING
    	    ...
    	  IMPORTING
    	    ...
    	  CHANGING
    	    ...
    	  TABLES
    	    ...
    	  EXCEPTIONS
    	    ...
    

2.异步RFC

  • 异步RFC(aRFC,asynchronous RFC)执行并不依赖RFC服务器系统的可用性,被调用的远程功能启动之后,调用程序继续运行,远程功能和调用程序处理互不影响,独立运行。远程功能调用结构可以稍后接收(在做并行aRFC时一定要考虑负载性能)

  • PERFORMING frm_return_proc ON END OF TASK 可用于接收远程模块返回结果或异常,并通过指定的FORM处理

  • WAIT UNTIL log_exp [UP TO sec SECONDS] 用于异步RFC调用中等待结果的返回,并必须搭配 PERFORMING语句

  • KEEPING TASK 用于相同任务名称的异步RFC启用时保持远程上下文,即使用相同的TASK

  • 语法形式:

    CALL FUNCTION 'rfm_name'
      DESTINATION dest
      STARTING NEW TASK taskname
      PERFORMING frm_return_proc ON END OF TASK         "接收远程模块返回结果或异常
      EXPORTING
        ...
      CHANGING
        ...
      TABLES
        ...
      EXCEPTIONS
        ...
    
    ...
    WAIT UNTIL log_exp [up to sec seconds].             "挂起进程等待
    ...
    FORM frm_return_proc USING taskname.                

你可能感兴趣的:(ABAP开发,小记,abap)