!--a11y-->
R/3
からの RFC 接続の確立
ABAP
プログラムからのコールCALL FUNCTION
” ABC ” DESTINATION ” RFCEXTERNAL ”インポート
宛先“
RFCEXTERNAL ”は、 RFCD テーブルのエントリを識別します。R/3
リリース 3.0C 以前の RFCDES テーブル :リリース
3.0C までの R/3 では、トランザクション sm59 を使用して、以下のように RFCDES テーブル内にエントリを定義することができます。接続タイプ
TRFC
サーバプログラムは、 RFC API ベースの外部プログラムで、 TCP/IP 経由で通信します。プログラムの格納場所「明示する」
RFC
サーバプログラムを実行するコンピュータは「対象ホスト」で指定できます。この場合、 RFC サーバプログラムは、ローカルからでもリモートシェルからでも、 SAP で起動できます。この RFC サーバプログラムは、ゲートウェイユーザ ID のもと、サポートされている UNIX プラットフォームで動作します。Windows
の 16 ビット RFC ライブラリを使用している RFC サーバプログラムでは、プログラムの格納場所を“明示”にすることはできません。リリース 3.0C 以降の新機能については、「 R/3 リリース 3.0C 以降の RFCDES テーブル」を参照してください。プログラムの格納場所「サーバ」
RFC
サーバプログラムは現行の R/3 アプリケーションサーバにより起動されます。これを使用すると、 RFC サーバプログラムは常に ABAP プログラム(現行 ABAP プログラムのワークプロセス)と同じコンピュータ上で動作するので、性能が向上します。この
RFC サーバプログラムは、それぞれの R/3 アプリケーションサーバのユーザ ID のもと、サポートされている UNIX プラットフォームで動作します。Windows
の 16 ビット RFC ライブラリを使用している RFC サーバプログラムでは、プログラムの格納場所を“明示”にすることはできません。リリース 3.0C 以降の新機能については、「 R/3 リリース 3.0C 以降の RFCDES テーブル」を参照してください。プログラムの格納場所「ユーザ」
RFC
サーバプログラムは現行の SAPGUI ( SAP フロントエンド)により起動されます。プログラムの格納場所「ユーザ」は、 Windows の 16 ビット RFC ライブラリを使用している RFC サーバプログラムの起動に使用できる唯一のオプションです。リリース 3.0C 以降の新機能については、 R/3 リリース 3.0C 未満の RFCDES テーブルを参照してください。トレース
この項目を選択すると、
ABAP プログラムの RFRFCTRC テーブルを使用して、トレースデータが SAP システムに表示されます。拡張システムでは、‘ dev_rfc ’ファイルにトレースデータが保存されます。 16 ビット RFC ライブラリでは、トレースファイル‘ RFCxxxx.TRC ’が、各接続に作成されます。ゲートウェイ
ゲートウェイの指定はオプションです。何も指定されいない場合は、デフォルトゲートウェイが使用されます。デフォルトゲートウェイは、
R/3 リリースに依存します。トランザクション
これらのリリース以降の各
接続のテスト
トランザクション
sm59 を使用して新しい宛先の入力と保存を行ったら、「テスト接続」をダブルクリックすることで RFC 接続をテストすることができます。このテストは、 RfcGetName ではなく、 RfcDispatch を使用し、ループで RFC サーバプログラムをインプリメントした場合に限り実行できます。R/3
リリース 3.0C 以降の RFCDES テーブル :R/3
リリース 3.0C 以降では、起動済みで、 SAP ゲートウェイに登録されていて、 RFC コール依頼を待機している RFC サーバプログラムを、トランザクション sm59 を使用して定義することができます。ここでは、
RFC サーバプログラムを、有効化アクションとプログラム ID を登録するものと定義する必要があります。プログラム
- IDプログラム
ID は、 SAP ゲートウェイが RFC サーバプログラムを区別するために使用する、 RFC サーバプログラムの識別子です。 RFC サーバプログラムの名称と、 RFC サーバプログラムが動作するマシンのホスト名との両方を使用することをおすすめします。SAP
ゲートウェイに関する情報

他に何も指定しないと、実際のアクションサーバ上の
システム設定
トランザクション
sm59 を使用して RFCDES にエントリを定義する際には、 RFC サーバプログラムの完全な名称(フルパス名を含む)を指定することをおすすめします。RFC
サーバプログラムは、現在実行中の SAPGUI 、現在動作中のアプリケーションサーバ、 SAP ゲートウェイで起動することができますが、指定した SAP ゲートウェイで通信する必要があります。したがって、以下の前提条件の定義が必要になります。
− このコンピュータの
−
SAP ゲートウェイのサービス名を services ファイルに指定すること
− 両方のコンピュータの
−
SAP ゲートウェイのサービス名を services ファイルに指定すること− 対象コンピュータで
RFC サーバプログラムをリモートシェルから起動する権限を、 SAP ゲートウェイが持つこと1. SAP
ゲートウェイのユーザを、対象コンピュータ上に定義すること2.
ゲートウェイコンピュータのホスト名を含む‘ .rhosts ’ファイルが、対象コンピュータのこのユーザのホームディレクトリに存在すること3. UNIX
プラットフォーム( remsh 、 rsh など)が異なると、リモートシェルコマンドも異なるので、必要に応じてコマンドをゲートウェイプロファイルパラメータ gw/remsh に定義することができます(たとえば gw/remsh=/usr/ucb/remsh )。

OS/2
の hosts ファイルが非常に大きい場合は、使用しているすべての IP アドレスの取得に時間がかかるため、関連するすべてのコンピュータのエントリをこのファイルの最初に定義することをお勧めします。RFC
サーバプログラムの起動前のセクションで説明したように、
RFC サーバプログラムは、現在実行中の SAPGUI 、現在動作中の R/3 アプリケーションサーバ、 SAP ゲートウェイで起動することができます。SAP
ゲートウェイ(リリース 3.0C 以降)の登録機能を使用することにより、 RFC サーバプログラムを、事前に起動し、この SAP ゲートウェイに登録し、 R/3 リリース 3.0C 以降からの RFC コール依頼を待機させることができます。ここでは、
RFCDES テーブル(トランザクション sm59 )の RFC サーバプログラムを、アクションを有効化するために登録するものとして定義する必要があります。追加情報については、 SAPRFC.INI ファイルを参照してください。
