コンテンツフレーム起動

R/3 からの RFC 接続の確立 文書を SAP ライブラリストラクチャに組み込む

ABAP プログラムからのコール

CALL FUNCTION ABC DESTINATION RFCEXTERNAL

インポート
エクスポート
テーブル
例外

宛先“ RFCEXTERNAL ”は、 RFCD テーブルのエントリを識別します。

R/3 リリース 3.0C 以前の RFCDES テーブル :

リリース 3.0C までの R/3 では、トランザクション sm59 を使用して、以下のように RFCDES テーブル内にエントリを定義することができます。

接続タイプ T

RFC サーバプログラムは、 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 リリースに依存します。

トランザクション se38 を呼び出し、プログラム RSPARM を実行してください。パラメータ rdisp/gateway rdisp/gw_service には、デフォルト SAP ゲートウェイに関するデータが含まれています。

これらのリリース以降の各 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 ゲートウェイに関する情報

ノート

他に何も指定しないと、実際のアクションサーバ上の SAP ゲートウェイが使用されます。通常、 RFC サーバプログラムは特定の SAP ゲートウェイに登録するので、 SAP ゲートウェイを明示して定義することをおすすめします。

システム設定

トランザクション sm59 を使用して RFCDES にエントリを定義する際には、 RFC サーバプログラムの完全な名称(フルパス名を含む)を指定することをおすすめします。

RFC サーバプログラムは、現在実行中の SAPGUI 、現在動作中のアプリケーションサーバ、 SAP ゲートウェイで起動することができますが、指定した SAP ゲートウェイで通信する必要があります。

したがって、以下の前提条件の定義が必要になります。

− このコンピュータの IP アドレスを hosts ファイルに指定すること

SAP ゲートウェイのサービス名を services ファイルに指定すること

− 両方のコンピュータの IP アドレスを両方の hosts ファイルに指定すること

SAP ゲートウェイのサービス名を services ファイルに指定すること

− 対象コンピュータで RFC サーバプログラムをリモートシェルから起動する権限を、 SAP ゲートウェイが持つこと

1. SAP ゲートウェイのユーザを、対象コンピュータ上に定義すること

2. ゲートウェイコンピュータのホスト名を含む‘ .rhosts ’ファイルが、対象コンピュータのこのユーザのホームディレクトリに存在すること

3. UNIX プラットフォーム( remsh rsh など)が異なると、リモートシェルコマンドも異なるので、必要に応じてコマンドをゲートウェイプロファイルパラメータ gw/remsh に定義することができます(たとえば gw/remsh=/usr/ucb/remsh )。
デフォルトは‘ 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 ファイルを参照してください。

 

 

コンテンツフレーム終了