SAP Basis
SAP SM59でRFC接続を設定・テストする手順と接続エラーの切り分け
SAP GUIのSM59でRFC接続先を登録し、接続テスト・リモートログオン・権限確認を行う手順を解説します。接続先タイプごとの用途と、ネットワーク・認証・ゲートウェイ関連のエラー切り分けも整理します。
SAPシステム間連携や外部プログラムからの呼び出しでは、RFC接続先を正しく登録し、実際に通信できることを確認してから運用へ移します。SAP GUIのSM59では、接続先の種類、宛先ホスト、システム番号、ログオン情報、セキュリティ設定を一つの宛先として管理できます。
この記事では、ABAPシステムを接続先とする設定を中心に、HTTP、TCP/IP、論理宛先を含む使い分け、テストの順番、障害発生時の確認箇所をまとめます。変更前後の記録には、SAP Basisシステム管理の運用手順も役立ちます。
SM59でRFC接続を設定する前の確認
SM59で作業を始める前に、接続元と接続先の情報を整理します。最低限、次の項目を確認しておくと、設定途中で情報を探し直す時間を減らせます。
- 接続元SAPシステムのSIDとクライアント
- 接続先SAPシステムのSID、クライアント、アプリケーションサーバーのホスト名
- 接続先のシステム番号
- RFC通信に使用するユーザーと、その用途に必要な権限
- ファイアウォール、ルーティング、名前解決の状況
- SNCやTLSなど、組織で定めた通信保護の要件
接続先のホスト名は、SAPアプリケーションサーバーから名前解決できる形式で登録します。冗長構成を使用する場合は、特定インスタンスへ固定するのか、メッセージサーバー経由にするのかを運用設計に合わせます。
RFCユーザーは用途を分け、ダイアログログオン用の個人ユーザーを共有しない構成が安全です。接続先で実行する汎用モジュールや業務処理を洗い出し、必要最小限の権限を割り当てます。パスワードを設定する場合は、保存場所と変更手順も管理対象にします。
SM59接続先タイプの選び方
SM59の接続先タイプは、接続する相手と通信方式に合わせて選択します。タイプを誤ると、ホスト情報が正しくても期待したテストを実行できません。
| 接続先タイプ | 主な用途 | 代表的な設定項目 |
|---|---|---|
| ABAP接続(タイプ3) | SAP ABAPシステム間のRFC | アプリケーションサーバー、システム番号、クライアント、ユーザー |
| HTTP接続(タイプG) | HTTPまたはHTTPSによる外部サービス連携 | URL、プロキシ、SSL設定、認証情報 |
| TCP/IP接続(タイプT) | 外部RFCサーバーや登録済みプログラムとの通信 | 起動方式、プログラムID、ゲートウェイ情報 |
| 論理接続(タイプL) | 論理システム名を使う連携 | 論理システム、接続先の割り当て |
SAPシステム同士を接続する場合は、通常ABAP接続を使用します。外部プログラムがRFCサーバーとして登録される構成ではTCP/IP接続を使用し、プログラムIDとSAPゲートウェイの許可設定を一致させます。
接続先タイプは、単に通信ポートで決めるのではなく、呼び出し側と受け側の役割で判断します。インターネット向けのWeb API連携をRFC宛先で代用せず、相手側が要求する認証方式、証明書、プロキシ経路を確認します。
タイプ3のRFC接続先を登録する
SAP GUIでSM59を起動し、RFC接続の一覧から接続先を作成します。接続先名は、環境と用途が分かる命名規則にそろえます。例として、開発環境から品質保証環境へ接続する宛先であれば、DEV_TO_QASのように方向を含めると管理しやすくなります。
タイプ3の主な入力項目は次のとおりです。
- 接続先名を入力します。
- 接続先タイプでABAP接続を選択します。
- 技術設定で対象アプリケーションサーバーを入力します。
- 接続先のシステム番号を入力します。
- 負荷分散を使う場合は、メッセージサーバーとログオングループを設定します。
- ログオンとセキュリティの画面でクライアント、ユーザー、言語、パスワードを設定します。
- 必要に応じてSNC、Unicode、タイムアウトなどの通信条件を設定します。
- 保存してから接続テストを実行します。
設定値は、接続元のSM59だけでなく、接続先のシステム構成と照合します。システム番号が異なると別インスタンスへ接続するため、ホスト名と番号をセットで確認します。
本番宛先では、接続先ユーザーのパスワード期限、ロック状態、ユーザー種別も確認します。パスワードを変更した場合は、SM59に保存された認証情報を更新し、接続テストを再実行します。
SAP RFC接続をテストする
設定を保存したら、テストを一つずつ実行します。最初から業務トランザクションを実行するのではなく、通信経路、ログオン、権限、業務呼び出しの順に確認すると原因を限定できます。
接続テスト
接続テストは、接続元から接続先のアプリケーションサーバーまたはメッセージサーバーへ到達できるかを確認します。成功しない場合は、SM59のホスト名、システム番号、メッセージサーバー情報、ファイアウォール、DNS、ルーティングを確認します。
リモートログオン
リモートログオンは、登録したユーザー情報で接続先へログオンできるかを確認します。接続テストが成功しても、ユーザーのロック、パスワード期限、クライアント、ログオン言語の誤りによって失敗することがあります。接続先のユーザー管理画面とセキュリティログを確認します。
権限テスト
権限テストでは、RFCユーザーが接続先で必要な処理を実行できるかを確認します。ログオン成功だけでは、対象の汎用モジュールや業務オブジェクトを実行できるとは限りません。実際に呼び出す処理を特定し、失敗した権限チェックの内容を接続先で調べます。
RFC宛先の一覧を管理台帳と突き合わせるときは、SAPトランザクションコード一覧も参照できます。変更者、変更日時、接続先、用途、関連インターフェースを記録しておくと、障害時の影響範囲を追いやすくなります。
SAP RFC接続エラーを切り分ける
RFC接続エラーは、エラーが発生した層を分けて確認します。SM59のメッセージだけで判断せず、接続元と接続先のログを同じ時刻で照合します。
1. ネットワーク到達性を確認する
接続テストが失敗する場合、最初にホスト名、IPアドレス、システム番号に対応するポート、ファイアウォールの許可、ルーティングを確認します。ホスト名の名前解決が接続元と接続先で異なる場合もあるため、SAPアプリケーションサーバー上の名前解決を確認します。
メッセージサーバー経由の接続では、メッセージサーバーのホスト名、サービス名、ログオングループを確認します。特定アプリケーションサーバーへ直接接続する設定と、負荷分散を使う設定を混在させず、設計どおりの経路を維持します。
2. ゲートウェイとTCP/IP設定を確認する
TCP/IP接続では、プログラムID、ゲートウェイホスト、ゲートウェイサービスを照合します。外部RFCサーバーが登録済みでも、ゲートウェイのアクセス制御で拒否されることがあります。外部プログラムの起動状態、登録先、ゲートウェイの許可ルールを確認します。
ゲートウェイの登録方式を使用する場合、外部プログラムが予期しないホストから登録できないようにアクセス制御を設計します。登録状態だけでなく、呼び出し元から外部プログラムまでの経路も確認します。
3. 認証と権限を確認する
リモートログオンが失敗した場合は、クライアント、ユーザー名、パスワード、ユーザーロック、パスワード期限を確認します。ログオンが成功して処理だけ失敗する場合は、接続先ユーザーの権限と、呼び出している汎用モジュールの権限チェックを確認します。
認証情報を更新した後は、SM59の接続テストとリモートログオンを続けて実行します。接続元の設定変更だけでなく、接続先ユーザーの変更履歴も運用記録に残します。
4.接続先のログを確認する
接続先のシステムログ、セキュリティログ、ゲートウェイトレース、短時間ダンプを、失敗時刻とユーザー名で確認します。アプリケーションログに業務処理の失敗が出ている場合は、RFC通信ではなく呼び出し先処理のデータや権限が原因となることがあります。
システムログの確認手順は、SAP SM21システムログの運用記事と合わせて整理できます。SM21で該当時刻のイベントを確認し、接続元のSM59メッセージ、接続先のユーザー情報、ネットワーク機器の記録を一つの時系列にまとめます。
RFC宛先を安全に運用する
RFC宛先は、登録して終わりではなく、変更と利用状況を継続的に管理します。特に本番環境では、接続先ユーザー、保存された認証情報、SNCまたはTLSの証明書、外部プログラムの登録許可を定期的に見直します。
命名と用途を統一する
宛先名に環境、方向、用途を含め、同じ接続先を複数の名前で登録しないようにします。インターフェース仕様書には、宛先名、接続先タイプ、呼び出し元、呼び出し先、使用ユーザー、利用する汎用モジュール、変更担当を記載します。
権限を最小化する
RFCユーザーには、実際の呼び出しに必要な権限だけを付与します。強い権限を一時的に付けた場合は、テスト完了後に戻し、権限変更を記録します。個人ユーザーではなく、用途を限定した技術ユーザーを使用し、所有者とパスワード管理責任者を明確にします。
変更後に再テストする
宛先のホスト、システム番号、クライアント、ユーザー、認証方式、証明書、ゲートウェイ設定を変更した場合は、接続テスト、リモートログオン、代表的な業務呼び出しを再実行します。接続先の再起動やネットワーク変更後も、定期ジョブと連携処理の実行結果を確認します。
RFC障害の調査記録を残す
障害記録には、接続元システム、接続先システム、RFC宛先名、接続先タイプ、発生日時、実行したテスト、エラー文、接続先ユーザー、対象の汎用モジュールを記載します。パスワードや秘密鍵などの認証情報は記録に含めません。
調査では、設定変更の直後に発生したのか、特定のアプリケーションサーバーだけで発生したのか、すべての呼び出しで発生したのかを区別します。特定ホストだけで失敗する場合は、ホスト固有の名前解決、ファイアウォール、ゲートウェイ設定を優先して確認します。
RFCの基本概念やBAPIとの関係を整理する場合は、SAP RFCとBAPIを参照できます。SM59の宛先定義、接続先ユーザー、呼び出し元プログラム、業務処理を分けて記録すると、通信障害とアプリケーション障害を切り分けやすくなります。