コンテンツエリア開始

Background documentation RFC 宛先 Locate the document in its SAP Library structure

RFC インタフェースを使用して汎用モジュールを呼び出す場合は、呼出元プログラムで接続パラメータを宛先の形式で指定する必要があります。この宛先によって、接続タイプ、パートナプログラム、対象システムが定義されます。宛先は、トランザクション SM59 を使用して管理できます。宛先によって、TCP/IP SAP 接続などのさまざまな接続が区別されます。同期 RFC の場合、宛先を明示的に指定する必要があります。非同期 RFC とトランザクション RFC の場合、宛先は任意で指定できます。宛先を指定しない場合、汎用モジュールは RFC インタフェースを使用して同じシステムで呼び出されます。実行のタイプに応じて、次の条件が適用されます。

      同期呼出と非同期呼出の場合、呼出パラメータ値は汎用モジュールに直接転送されます。トランザクション呼出の場合、呼出パラメータ値は実行されるまでデータベースに一時的に保存されます。

      非同期呼出の場合、外部システムには接続できません (トランザクション SM59 TCP/IP 接続)

      同期呼出の場合は、呼出先汎用モジュールの結果が直接コピーされます。非同期呼出では、命令 RECEIVE を使用してコールバックルーチンで結果を受け取ることができますが、トランザクション呼出では、結果は転送できません。

      呼出先汎用モジュールのサーバが、同期呼出および非同期呼出に対応している必要があります。

RFC インタフェースを使用して汎用モジュールを呼び出せるようにするには、その汎用モジュールのプロパティでリモート対応のフラグを設定し、インタフェースパラメータで値による受け渡しのみを許可する必要があります。テーブルパラメータも、値による受け渡しが暗黙的に実行されます。パラメータが定義されているシステム内で、リモート対応汎用モジュールを RFC インタフェースを使用して呼び出すか、または通常の汎用モジュールと同様に呼び出すことができます。通常の呼出は、命令 CALL FUNCTION を使用して、オプション DESTINATIONSTARTING NEW TASK または IN BACKGROUND TASK を使用せずに実行されます。RFC インタフェースを使用して呼出を実行する場合、特殊な宛先"NONE" を指定するか (下記を参照)、宛先を指定せずに非同期 RFC またはトランザクション RFC を実行する必要があります。

指定可能な宛先はすべてデータベーステーブル RFCDES に記載されています。このテーブルの内容はトランザクション SM59 を使用して管理されます。汎用モジュールをリモートで ABAP プログラムから呼び出す場合は、命令 CALL FUNCTION のオプション DESTINATION を使用して、宛先をデータベーステーブル RFCDES の列 RFCDEST キー値形式で指定します。データベーステーブルの該当列には、トランザクション SM59 で定義されたすべてのパラメータが含まれています。これらのパラメータは外部システムとの通信に使用されます。

事前に定義された以下の 2 つの宛先があります。これらはトランザクション SM59 から入力する必要はありません。

      宛先"NONE" の場合は、汎用モジュールが呼出元プログラムと同じアプリケーションサーバで開始されますが、これには RFC インタフェースと独自の RFC コンテキストが使用されます。この宛先は、呼出のすべてのタイプに指定できます。

      宛先"BACK" リモートで呼び出される汎用モジュールで使用でき、呼出元にリンクバックします。この宛先は、同期的に呼び出された汎用モジュールにのみ指定できます。宛先"BACK" は、3 つの実行タイプのすべてにおいて、呼出元システムの各リモート対応汎用モジュールを呼び出すために使用できます。同期コールバックでは、この宛先が使用できない場合、汎用グループは呼出元プログラムの内部セッションにロードされます。このコールバックには既存の RFC 接続が使用されます。

トランザクション SM59で登録された宛先と 2 つの事前に定義された宛先のほかに、"hostname_sysid_sysnr" の形式で宛先を直接指定できます。ここで、"hostname" はアプリケーションサーバの名前、"sysid" SAP システムの名前、"sysnr" はシステム番号を表します。その例を、トランザクション SM51 を使用して照会できます。

 

 

RFC パフォーマンスプロファイル

 

 

 

 

コンテンツエリア終了