前提条件 SAP接続を使用する前に、SAP管理者は前提条件のタスクを実行してSecure AgentマシンとSAPシステムを設定する必要があります。
IDocおよびSAP BAPI/RFC機能を処理するには、必要なライセンスがSAPシステムで有効になっているかどうかを確認する必要もあります。
SAPライブラリのダウンロードと設定 中間ドキュメント(IDocs)またはBAPI/RFCインタフェースを介してSAPデータにアクセスするには、Secure AgentマシンでSAP NetWeaver RFC SDKライブラリとSAP JCoライブラリをダウンロードして設定する必要があります。ライブラリのダウンロードで問題が発生した場合は、SAPカスタマサポートにお問い合わせください。
1 SAP Support Portal に移動し、[ソフトウェアのダウンロード] をクリックします。2 Secure Agentをホストするオペレーティングシステムに固有の最新バージョンのSAP NetWeaver RFC SDK 7.50ライブラリをダウンロードします。次の表に、各オペレーティングシステムに対応するライブラリを示します。
オペレーティングシステム
SAP NetWeaver RFC SDKライブラリ
Linux 64
- libicudata.so.50 - libicui18n.so.50 - libicuuc.so.50 - libsapnwrfc.so - libsapucum.so Windows 64
- icudt50.dll - icuin50.dll - icuuc50.dll - libsapucum.dll - sapnwrfc.dll
3 SAP NetWeaver RFC SDK 7.50ライブラリを次のディレクトリにコピーします。<Informatica Secure Agent installation directory>\apps\Data_Integration_Server\ext\deploy_to_main\bin\rdtm
存在しない場合は、deploy_to_main\bin\rdtm ディレクトリを作成します。
4 SAP NetWeaver RFC SDKライブラリごとに以下の権限を設定します。- 現在のユーザーに読み取り、書き込みおよび実行権限。- 他のすべてのユーザーに読み取りおよび実行権限。5 Secure Agentを実行しているマシンのオペレーティングシステムに基づいて、SAP Support Portal から最新バージョンの64ビットSAP JCoライブラリをダウンロードします。Secure Agentシステム
SAP JCoライブラリ
Windows
sapjco3.jar
sapjco3.dll
Linux
sapjco3.jar
libsapjco3.so
6 次のディレクトリにJCoライブラリをコピーします。<Informatica Secure Agent installation directory>\apps\Data_Integration_Server\ext\deploy_to_main\bin\rdtm-extra\tpl\sap
存在しない場合は、deploy_to_main\bin\rdtm-extra\tpl\sap ディレクトリを作成します。
7 Informatica Intelligent Cloud Servicesにログインし、Secure AgentのJAVA_LIBSプロパティを設定します。a [Administrator] > [ランタイム環境] の順に選択します。b [ランタイム環境] をクリックして、[ランタイム環境] ページにアクセスします。c エージェント名の左側で、[Secure Agentの編集] をクリックします。d [サービス] リストから、[データ統合サーバー] を選択します。e [タイプ] リストから、[Tomcat JRE] を選択します。f Secure Agentを実行しているマシンのオペレーティングシステムに基づいて、JAVA_LIBS値を入力します。オペレーティングシステム
値
Windows
../bin/rdtm-extra/tpl/sap/sapjco3.jar;../bin/rdtm/javalib/sap/sap-adapter-common.jar
Linux
../bin/rdtm-extra/tpl/sap/sapjco3.jar:../bin/rdtm/javalib/sap/sap-adapter-common.jar
警告: テーブルから値を直接コピーすると、値のハイフン(-)が誤ってコピーされることがあります。値をテキストエディタにコピーし、コピーした値が破損していないことを確認します。
g [保存] をクリックします。h Secure Agentをインストールしたすべてのマシンで手順2 – 7を繰り返します。8 Secure Agentを再起動します。SAPユーザー権限の設定 SAPシステムでSAPユーザーアカウントを設定して、中間ドキュメント(IDocs)およびBAPI/RFCインタフェースを介したデータの交換を有効にします。
実行時にSAPとデータのやり取りをする場合に役立つIDocとSAP BAPI/RFC機能を処理するには、SAPに権限オブジェクトを追加する必要があります。また、処理するトランザクションの特定のIDocおよびSAP BAPI/RFC関数にアクセスする必要もあります。
次の表に、IDocおよびSAP BAPI/RFC関数を処理するために必要な権限を示します。
関数
オブジェクト名
認証
SAP BAPI/RFC
S_RFC
SYST、SDTX、SDIFRUNTIME、RFC_METADATA、RFC1、RFC2、ABAP4_COMMIT_WORK、BAPI_TRANSACTION_COMMIT
IDoc
S_RFC
SYST、SDTX、SDIFRUNTIME、RFC1、RFC2、EDIMEXT
SAPシステムでSAPユーザー認証を設定する方法の詳細については、「
SAP user authorizations 」を参照してください。
sapnwrfc.iniファイルの設定 SAPは、RFC(Remote Function Call)という通信プロトコルを使用して外部のシステムとデータのやり取りを行います。
SAP IDocまたはSAP BAPI/RFCインタフェースを介してSAPに対する読み取りまたは書き込みを行う場合は、SAP IDocまたはSAP BAPI/RFC関数を処理してデータの転送を容易にするsapnwrfc.ini ファイルが必要です。
sapnwrfc.ini ファイルを作成し、SAP接続タイプに必要な接続情報とRFC固有のパラメータを含めます。DOSエディタまたはワードパッドを使用して
sapnwrfc.ini ファイルを作成すると、メモ帳で頻繁に発生するエラーを回避できます。さまざまな接続タイプに使用できる
sapnwrfc.ini ファイルのサンプルの詳細については、「
接続タイプのサンプルsapnwrfc.iniファイル 」を参照してください。
sapnwrfc.ini ファイルを作成した後に、エージェントディレクトリにsapnwrfc.ini ファイルを配置する必要があります。エージェントはsapnwrfc.ini ファイルを検証し、設定された接続にそのファイルを使用します。
エージェントディレクトリへのsapnwrfc.iniファイルの配置 次のように、Secure Agentまたはサーバーレスランタイム環境を使用して、RFCクライアントとしてSAPシステムに接続できます。 - Secure Agentを使用するには、sapnwrfc.ini ファイルを次の場所に配置します。<Informatica Secure Agent installation directory>\apps\Data_Integration_Server\ext\deploy_to_main\bin\rdtm\
- サーバーレスランタイム環境を使用するには、sapnwrfc.ini ファイルを次の場所に配置します。\data2\home\cldagnt\SystemAgent\apps\Data_Integration_Server\ext\deploy_to_main\bin\rdtm\
必要なディレクトリにファイルを配置した後に、エージェントを再起動します。
以前のバージョンからのアップグレード 以前のバージョンからアップグレードする場合は、sapnwrfc.ini ファイルを作成する必要はありません。Secure Agentは、sapnwrfc.ini ファイルをdeploy_to_main\bin\rdtm ディレクトリにコピーします。 sapnwrfc.iniファイルの確認 ユーザーが接続を作成すると、Secure Agentは最初に、sapnwrfc.ini ファイルがディレクトリ内に存在するかどうかを確認します。sapnwrfc.ini ファイルが存在する場合、Secure Agentはsapnwrfc.ini ファイルを使用します。存在しない場合は、例外が発生します。 接続タイプのサンプルsapnwrfc.iniファイル sapnwrfc.ini ファイルを使用して、次のタイプの接続を設定できます。
SAPアプリケーションサーバーへの接続 この接続を作成し、RFCクライアントとSAPシステムの間の通信を有効にします。それぞれの接続エントリは、1つのアプリケーションサーバーと1つのSAPシステムを指定します。
以下の例に、sapnwrfc.ini ファイルの特定のSAPアプリケーションサーバーの接続エントリを示します。
DEST=sapr3 ASHOST=sapr3 SYSNR=00
SAP負荷分散のための接続 この接続を作成し、SAPが実行時の負荷が最も低いアプリケーションサーバーへのRFC接続を作成できるようにします。SAP負荷分散を使用する場合は、この接続を使用します。
以下の例に、sapnwrfc.ini ファイルのSAP負荷分散の接続エントリを示します。
DEST=sapr3 R3NAME=ABV MSHOST=infamessageserver.informatica.com GROUP=INFADEV
SAPゲートウェイで登録されているRFCサーバープログラムへの接続 この接続を作成して、受信する送信IDocのソースとなるSAPシステムに接続します。
以下の例に、sapnwrfc.ini ファイルのSAPゲートウェイで登録されているRFCサーバープログラムの接続エントリを示します。
DEST=sapr346CLSQA PROGRAM_ID=PID_LSRECEIVE GWHOST=sapr346c GWSERV=sapgw00
さまざまな接続タイプに対して、sapnwrfc.ini ファイルで次のようなパラメータを設定できます。
sapnwrfc.iniのパラメータ
説明
適用できる接続タイプ
DEST
接続用のSAPシステムの論理名。
すべてのDESTエントリは一意にする必要があります。SAPシステムごとにDESTエントリを1つだけ設定する必要があります。
バージョン4.6C以降のSAPの場合は、最大文字数が32文字です。バージョン4.6Cより前のバージョンの場合は、最大文字数は8文字です。
このパラメータは、以下のタイプの接続に使用します。
- 特定のSAPアプリケーションサーバーへの接続- 負荷分散を使用する接続- SAPゲートウェイで登録されているRFCサーバープログラムへの接続ASHOST
SAPアプリケーションのホスト名またはIPアドレス。Secure Agentはこのエントリを使用して、アプリケーションサーバーに接続します。
このパラメータを使用して、特定のSAPアプリケーションサーバーへの接続を作成します。
SYSNR
SAPシステム番号。
このパラメータを使用して、特定のSAPアプリケーションサーバーへの接続を作成します。
R3NAME
SAPシステムの名称。
このパラメータを使用して、SAP負荷分散を使用する接続を作成します。
MSHOST
SAPメッセージサーバーのホスト名。
このパラメータを使用して、SAP負荷分散を使用する接続を作成します。
GROUP
SAPアプリケーションサーバーのグループ名。
このパラメータを使用して、SAP負荷分散を使用する接続を作成します。
PROGRAM_ID
プログラムID。プログラムIDは、IDocを送受信するためにSAPシステムで定義した論理システムのプログラムIDと同一であることが必要です。
このパラメータを使用して、SAPゲートウェイで登録されているRFCサーバープログラムへの接続を作成します。
GWHOST
SAPゲートウェイのホスト名。
このパラメータを使用して、SAPゲートウェイで登録されているRFCサーバープログラムへの接続を作成します。
GWSERV
SAPゲートウェイのサーバー名。
このパラメータを使用して、SAPゲートウェイで登録されているRFCサーバープログラムへの接続を作成します。
TRACE
RFC接続関連の問題をデバッグします。
トレースに求める詳細レベルに基づいて、以下のいずれかの値を設定します。
- 0. オフ- 1. Brief- 2. Verbose- 3. フルこのパラメータは、以下のタイプの接続に使用します。
- 特定のSAPアプリケーションサーバーへの接続- 負荷分散を使用する接続- SAPゲートウェイで登録されているRFCサーバープログラムへの接続
次のスニペットは、sapnwrfc.ini ファイルの例を示しています。
/*===================================================================*/ /* Connection to an RFC server program registered at an SAP gateway */ /*===================================================================*/ DEST=<destination in RfcRegisterServer> PROGRAM_ID=<program-ID, optional; default: destination> GWHOST=<host name of the SAP gateway> GWSERV=<service name of the SAP gateway> *===================================================================*/ /* Connection to a specific SAP application server */ /*===================================================================*/ DEST=<destination in RfcOpenConnection> ASHOST=<Host name of the application server.> SYSNR=<The back-end system number.> /*===================================================================*/ /* Connection to use SAP load balancing */ /* The application server will be determined at run time. */ /*===================================================================*/ DEST=<destination in RfcOpenConnection> R3NAME=<name of SAP system, optional; default: destination> MSHOST=<host name of the message server> GROUP=<group name of the application servers, optional; default: PUBLIC>
SAPの論理システムとしてのSAPコネクタの定義 SAPとの間でIDocを送受信するには、SAPコネクタをSAPの外部論理システムとして定義する必要があります。
SAPコネクタを外部論理システムとして定義するには、SAPコネクタとのIDoc ALE統合のためにSAPで単一の論理システムを作成し、SAPコネクタと通信するためのSAPシステム内のtRFCポートで設定されたRFC接続先を作成します。
外部論理システムを識別するには、作成した論理システムのパートナープロファイルを作成する必要もあります。
SAPコネクタを論理システムとして定義すると、SAPは、SAPから送信IDocを受け取り、SAPに受信IDocを送信する外部システムとしてSAPコネクタを承認します。
注: これらの手順は、SAPバージョン4.6Cに適用されます。別のバージョンを使用する場合は、手順が異なる場合があります。SAPで論理システムを作成する方法の詳細については、SAPのマニュアルを参照してください。
SAPコネクタの論理システムの作成 SAPコネクタをネットワーク内のクライアントとして一意に識別するには、SAPコネクタをSAPの外部論理システムとして定義する必要があります。
1 SAPにログインし、SALEトランザクションに移動します。2 [IMGの表示] ウィンドウでツリーを展開し、[アプリケーションリンクの有効化] > [送信および受信システム] > [論理システム] > [論理システムの定義] 操作に移動します。3 [IMG - Activity] アイコンをクリックして、[論理システムの定義] 操作を実行します。情報ダイアログボックスが表示されます。
4 [Enter] をクリックします。[Change View Logical Systems] ウィンドウが表示されます。
5 [New Entries] をクリックします。6 [新しいエントリ] ウィンドウで、SAPコネクタの論理システムエントリの名前と説明を入力します。
RFC宛先の作成 論理システムを作成した後に、SAPシステムでSAPコネクタのRFC接続先とプログラムIDを作成する必要があります。
1 トランザクションSM59に進みます。2 [RFC接続先の表示と管理] ウィンドウで、[作成] をクリックします。[RFC宛先] ウィンドウが表示されます。
3 RFC宛先として、作成した論理システムの名前を入力します。4 TCP/IP接続を作成するには、接続タイプとして「T」を入力します。5 RFC宛先の説明を入力します。6 [保存] をクリックします。7 起動タイプについては、[登録] をクリックします。8 プログラムIDについては、RFC宛先名と同じ名前を入力します。saprfc.ini ファイルのPROGRAM_IDパラメータの値として、このプログラムIDを使用します。
RFC接続先に対するtRFCポートの作成 SAPコネクタのRFC接続先とプログラムIDを作成した後に、SAPで定義したRFC接続先のtRFCポートを作成する必要があります。SAPでは、tRFCポートを使用してSAPコネクタと通信します。
1 トランザクションWE21に進みます。2 [ポート] > [トランザクションRFC] をクリックします。3 [登録] をクリックします。[Ports in IDoc Processing] ダイアログボックスが表示されます。
4 [ポート名の生成] または[Own Port Name] をクリックして、名前を入力します。5 [Enter] をクリックします。6 ポートの説明を入力します。7 IDocレコードのバージョンタイプを選択します。8 作成したRFC宛先の名前を入力します。
SAPコネクタのパートナープロファイルの作成 SAPコネクタ用に定義した論理システムのパートナプロファイルを作成します。SAPは、外部システムと通信する際に、パートナプロファイルを使用して外部システムを特定します。
1 トランザクションWE20に進みます。2 [登録] をクリックします。3 以下のプロパティを入力します。パートナプロファイルプロパティ
説明
パートナ番号
SAPコネクタに対して作成した論理システムの名前。
パートナタイプ
パートナプロファイルタイプ。ALE分散システム用の論理システムの場合は、「LS」と入力します。
4 [後処理] タブで、次のプロパティを入力します。パートナプロファイルプロパティ
説明
タイプ
ユーザータイプ。ユーザの場合はUSを入力します。
エージェント
SAPユーザーのログイン名。
言語
SAP言語に対応する言語コード。日本語の場合はJAを入力します。
5 [分類] タブで、次のプロパティを入力します。パートナプロファイルプロパティ
説明
パートナクラス
ALEを入力します。
パートナステータス
パートナとの通信の状態を示します。パートナと通信するには、「A」を入力してアクティブにします。
パートナープロファイルへの受信パラメータおよび送信パラメータの作成 SAPコネクタにパートナープロファイルを定義した後に、パートナープロファイルに送信パラメータと受信パラメータを作成する必要があります。
送信パラメータでは、IDocのメッセージタイプ、IDocの基本タイプ、および送信IDoc用のポート番号を定義します。受信パラメータでは、受信IDocのIDocメッセージタイプを定義します。
SAPは、IDocをSAPコネクタに送信するときに、送信パラメータを使用します。SAPがSAPコネクタに送信するIDocのメッセージタイプごとに送信パラメータを作成します。SAPはSAPコネクタからIDocを受け取るときに、受信パラメータを使用します。SAPがSAPコネクタから受け取るIDocのメッセージタイプごとに受信パラメータを作成します。
1 [パートナプロファイル] ウィンドウから、[送信パラメータの登録] をクリックします。2 [パートナープロファイル: 送信パラメータ] ウィンドウで、次のプロパティを入力します。送信パラメータのプロパティ
説明
メッセージタイプ
SAPシステムがSAPコネクタに送信するIDocメッセージタイプ。
受信ポート
定義したtRFCポート番号。
IDocタイプ
SAPシステムがSAPコネクタに送信するIDocの基本タイプ。
3 [保存] をクリックします。[パケットサイズ] プロパティが表示されます。
4 パケットサイズとして、10から200までのIDocの値を入力します。パケットサイズによって、SAPが1つのパケットでSAPコネクタに送信するIDocの数が決まります。
5 [Enter] をクリックします。6 手順1から5までを繰り返して、SAPがSAPコネクタに送信するIDocメッセージタイプごとに送信パラメータを作成します。7 [受信パラメータの登録] をクリックします。8 [パートナープロファイル: 受信パラメータ] ウィンドウで、次のプロパティを入力します。受信パラメータのプロパティ
説明
メッセージタイプ
SAPシステムがSAPコネクタから受け取るIDocメッセージタイプ。
プロセスコード
プロセスコード。SAPシステムはプロセスコードを使用して、SAPシステムが受け取るIDocを処理するための関数モジュールを呼び出します。
9 [Enter] をクリックします。10 手順7から9までを繰り返して、SAPシステムがSAPコネクタから受け取るIDocメッセージタイプごとに受信パラメータを作成します。