RFC 同步非同步呼叫例項
同步呼叫RFC 示例
*&---------------------------------------------------------------------*
*& Report sapbc415_rfcsync_s1 *
*& *
*&---------------------------------------------------------------------*
REPORT SAPBC415_RFCSYNC_S1 MESSAGE-ID BC415.
TABLES SPFLI.
PARAMETERS: ICARR LIKE SFLIGHT-CARRID DEFAULT 'LH',
ICONN LIKE SFLIGHT-CONNID DEFAULT '0400',
DEST LIKE RFCDES-RFCDEST DEFAULT 'NONE'.
DATA: SYSID LIKE SY-SYSID,
MESS(80).
CALL FUNCTION 'BC415_RFC_READ_SPFLI'
DESTINATION DEST
EXPORTING
CARRID = ICARR
CONNID = ICONN
IMPORTING
EX_SPFLI = SPFLI
SYS = SYSID
EXCEPTIONS
INVALID_DATA = 1
COMMUNICATION_FAILURE = 2 MESSAGE MESS
SYSTEM_FAILURE = 3 MESSAGE MESS.
CASE SY-SUBRC.
WHEN 1.
WRITE: / TEXT-001.
EXIT.
WHEN 2.
WRITE: / MESS.
EXIT.
WHEN 3.
WRITE: / MESS.
EXIT.
ENDCASE.
WRITE: / TEXT-004, SYSID COLOR 5.
SKIP.
WRITE: SPFLI-CARRID, SPFLI-CONNID, SPFLI-CITYFROM, SPFLI-CITYTO.
非同步呼叫RFC示例
*&---------------------------------------------------------------------*
*& *
*& Report sapbc415_rfcasync_s1 *
*& *
*&---------------------------------------------------------------------*
REPORT SAPBC415_RFCASYNC_S1 MESSAGE-ID BC415.
TABLES SPFLI.
PARAMETERS: ICARR LIKE SFLIGHT-CARRID DEFAULT 'LH',
ICONN LIKE SFLIGHT-CONNID DEFAULT '0400',
DEST LIKE RFCDES-RFCDEST DEFAULT 'NONE'.
DATA: SYSID LIKE SY-SYSID,
MESS(80),
FLAG,
RETCODE LIKE SY-SUBRC.
CALL FUNCTION 'BC415_RFC_READ_SPFLI'
DESTINATION DEST
STARTING NEW TASK 'T1'
PERFORMING BACK ON END OF TASK
EXPORTING
CARRID = ICARR
CONNID = ICONN
EXCEPTIONS
COMMUNICATION_FAILURE = 2 MESSAGE MESS
SYSTEM_FAILURE = 3 MESSAGE MESS.
CASE SY-SUBRC.
WHEN 2.
WRITE: / MESS.
EXIT.
WHEN 3.
WRITE: / MESS.
EXIT.
ENDCASE.
WAIT UNTIL FLAG = 'X'.
CASE RETCODE.
WHEN 0.
WRITE: / TEXT-004, SYSID COLOR 5.
SKIP.
WRITE: SPFLI-CARRID, SPFLI-CONNID, SPFLI-CITYFROM, SPFLI-CITYTO.
WHEN 1.
WRITE: / TEXT-001, / TEXT-002.
WHEN 2 OR 3.
WRITE MESS.
ENDCASE.
*---------------------------------------------------------------------*
* FORM BACK *
*---------------------------------------------------------------------*
* --> T *
*---------------------------------------------------------------------*
FORM BACK USING T.
RECEIVE RESULTS FROM FUNCTION 'BC415_RFC_READ_SPFLI'
IMPORTING
EX_SPFLI = SPFLI
SYS = SYSID
EXCEPTIONS
INVALID_DATA = 1
COMMUNICATION_FAILURE = 2 MESSAGE MESS
SYSTEM_FAILURE = 3 MESSAGE MESS.
RETCODE = SY-SUBRC.
FLAG = 'X'.
ENDFORM.
RFC函式原型
FUNCTION BC415_RFC_READ_SPFLI.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(CARRID) LIKE SFLIGHT-CARRID OPTIONAL
*" VALUE(CONNID) LIKE SFLIGHT-CONNID OPTIONAL
*" EXPORTING
*" VALUE(EX_SPFLI) LIKE SPFLI STRUCTURE SPFLI
*" VALUE(SYS) LIKE SY-SYSID
*" EXCEPTIONS
*" INVALID_DATA
*"----------------------------------------------------------------------
SELECT SINGLE * FROM SPFLI INTO SPFLI_WORKAREA
WHERE CARRID = CARRID
AND CONNID = CONNID.
IF SY-SUBRC EQ 0.
EX_SPFLI = SPFLI_WORKAREA.
ELSE.
MESSAGE E007 RAISING INVALID_DATA.
ENDIF.
SYS = SY-SYSID.
ENDFUNCTION.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90072/viewspace-978180/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何使用ABAP非同步RFC呼叫提升應用效能非同步
- XHR 例項 GET 和 POST 非同步和同步非同步
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- 同步、非同步、阻塞、非阻塞非同步
- 同步非同步 與 阻塞非阻塞非同步
- 理解阻塞、非阻塞、同步、非同步非同步
- 同步、非同步,阻塞、非阻塞理解非同步
- 同步、非同步、阻塞與非阻塞非同步
- 同步、非同步、阻塞和非阻塞非同步
- [轉]阻塞/非阻塞與同步/非同步非同步
- 同步與非同步 阻塞與非阻塞非同步
- Dubbo原始碼分析(十)同步呼叫與非同步呼叫原始碼非同步
- 同步、非同步、阻塞、非阻塞的區別非同步
- 非同步呼叫和同步呼叫 及 spring的@Async註解非同步Spring
- 徹底搞懂同步非同步與阻塞非阻塞非同步
- IO - 同步 非同步 阻塞 非阻塞的區別非同步
- 同步、非同步、阻塞、非阻塞的簡單理解非同步
- 同步與非同步、阻塞與非阻塞的理解非同步
- java同步非阻塞IOJava
- 非同步和非阻塞非同步
- Java 非同步回撥機制例項解析Java非同步
- 同步阻塞、同步非阻塞、多路複用的介紹
- 非同步(一):Promise深入理解與例項分析非同步Promise
- 大白話搞懂什麼是同步/非同步/阻塞/非阻塞非同步
- socket阻塞與非阻塞,同步與非同步、I/O模型非同步模型
- 網路IO之阻塞、非阻塞、同步、非同步總結非同步
- 掌握C#中非同步魔法:同步方法如何優雅呼叫非同步方法C#非同步
- Java實現非同步呼叫Java非同步
- Winform同步呼叫非同步函式死鎖原因分析、為什麼要用非同步ORM非同步函式
- 怎樣理解阻塞非阻塞與同步非同步的區別?非同步
- 一篇文章讀懂阻塞,非阻塞,同步,非同步非同步
- Oracle 11g RAC到單例項OGG同步Oracle單例
- jQuery實現的非同步請求程式碼例項jQuery非同步
- 關於跨語言呼叫與同步非同步等的疑惑非同步
- 程式執行緒、同步非同步、阻塞非阻塞、併發並行執行緒非同步並行
- 聊聊執行緒與程式 & 阻塞與非阻塞 & 同步與非同步執行緒非同步
- 從同步原語看非阻塞同步以及Java中的應用Java