!--a11y-->
同一システム内でリモート機能
( つまり、汎用ライブラリ内にリモートとして登録されている機能 ) を呼び出したいこともあります。 この機能を、 CALL FUNCTION 命令に従って、リモートまたはローカルのコールとして動作させることができます。 このコールがリモートまたはローカルのどちらとして実行されるかによって、パラメータ処理が変わります ( リモートコールにおけるパラメータの処理を参照してください ) 。以下の
2 つのオプションがあります。DESTINATION = 'NONE' ' はリモート機能が呼出元と同じシステムで動作することを意味します。これはリモートコールです。 リモートコールとして、汎用モジュールは本来のロール領域で動作し、パラメータ値は他のリモートコールの場合と同じように処理されます ( リモートコールにおけるパラメータの処理を参照してください ) 。
CALL FUNCTION ‘RFC_CUSTOMER_GET’
DESTINATION ‘NONE’ |
|
EXPORTING |
KUNNR = CUSTNO |
TABLES |
CUSTOMER_T = ITAB |
EXCEPTIONS |
NO_RECORD_FOUND = 01. |
汎用モジュールはリモートとして登録されていますが、これはローカルコールです。
この汎用モジュールは別のロール領域で動作することはなく、本質的には標準のファンクションコールと同様です。 パラメータ転送は、標準の汎用モジュールの場合と同様に処理されます。 特に、コール終了時に EXPORTING パラメータの中に未指定のものがあると、このコールは異常終了します。CALL FUNCTION ‘RFC_CUSTOMER_GET’
EXPORTING |
KUNNR = CUSTNO |
TABLES |
CUSTOMER_T = ITAB |
EXCEPTIONS |
NO_RECORD_FOUND = 01. |
同一システム内で並列処理のために機能を呼び出すこともできます。
詳細については、 非同期 RFC を使用した並列処理を参照してください。
