ヘッダーをスキップ
Oracle Fusion Middleware Oracle WebLogic Server Application Adapter for SAP R/3ユーザーズ・ガイド
11g リリース1(11.1.1.3.0)
B61418-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

A リモート処理におけるSAPシステムの役割を理解する

Oracle Application Adapter for SAP R/3は、3つの異なるメッセージ・タイプ・シナリオと2つの通信ロールを使用してSAPとメッセージを交換します。それぞれのロールには構成オプションがあり、通信を有効にしてメッセージを送るには、SAPサーバ上とアダプタ上でこれらのオプションを有効にしなければなりません。この付録では、ロール・タイプ、メッセージ・タイプ、およびそれらに関連する用語について説明します。SAPの本番システム環境では、特定の構成ロールに関する正当な管理者だけが、通信エントリの変更や作成を行なう権限を持っています。この付録では必要タスクに関する管理者用のチェックリストを示し、インバウンド・メッセージとアウトバウンド・メッセージの処理を構成するためのプロセスをすべて説明します。ここに示す内容は、非本番システムを構成するために使用したり、参考用として使用したりすることもできます。

この付録の内容は以下のとおりです。

アダプタの機能

Oracle Application Adapter for SAP R/3の実装にはSAP Java Connector(JCo)が使われています。JCoは、Java Native Interface(JNI)を介してネイティブC通信レイヤーと通信を行なうJavaインタフェースです。RFC(リモート関数呼出し)APIは、SAPシステム上の関係コンポーネントと通信を行なうために、CPIC(Common Programming Interface - Communications)プロトコルとTCP/IPプロトコルを実装します。それぞれのメッセージはXMLフォーマットからRFCフォーマットに、またはRFCフォーマットからXMLフォーマットにシリアライズされ、さらにSAPへ転送するために現在のSAPメッセージ・タイプにマーシャルされます。SAPサーバーは現在のランタイム・オブジェクトにメッセージをアンマーシャルして、そのオブジェクトを実行します。レスポンス・メッセージはRFCにマーシャルされ、XMLへのアンマーシャリングとシリアライゼーションのためにアダプタに返されます。このプロセスはシームレスで非常に迅速です。不適切な資格証明やドキュメント・エンコーディング、あるいは実際のアプリケーション・エラー(たとえば指定されたフィールドに不適切な値を入力した場合)などはエラーの原因となります。

ロール

RFCプロトコルは、リクエストのモードによっては動的プロトコルとなります。リクエストがRFC接続ノードへのインバウンドである場合、そのノードはリクエストに対応するサーバーとして機能します。リクエストがノードからのアウトバウンドである場合そのノードはクライアントとして機能し、サーバーがリクエストに応答するのを待ちます。レスポンスの必要がないアウトバウンド・イベントも、サーバーによって処理されます。

クライアント

別のシステムへの接続をインスタンス化するシステムはクライアントであり、そのクライアント・ロールはリクエスト/レスポンス・メッセージを同期的に処理します。クライアント・システムはメッセージ処理を行ないませんが、処理を有効にします。メッセージはクライアント上で開始されてクライアント上で終了します。アダプタがOracleからSAPへメッセージを送る場合、そのアダプタはクライアントとして機能します。

クライアント接続のタイプは以下のとおりです。

  • アプリケーション・サーバー。これは1つのSAPアプリケーション・サーバーに接続します。

  • メッセージ・サーバー。これはSAPアプリケーション・サーバーのグループに接続して分散ロード処理を行なうために、SAPログオン・ロード・バランシング・メッセージ・サーバーに接続します。

どちらの接続タイプも接続プールと呼ばれる特別なタイプの接続を使用します。接続プールについてはこの付録の後半を参照してください。

クライアント・メッセージのタイプは以下のとおりです。

  • BAPIメッセージ。これはXML属性としてのパラメータを持つオブジェクトスタイルのメッセージです。

  • RFCメッセージ。これはパラメータをXML要素として持つRFCスタイルのメッセージです。

  • 中間ドキュメント(IDocs)。これは、ALEメッセージ・システムを使用して位置区切りのフラット・テキストまたはXML要素パラメータを送ります。

サーバー

別のシステムから接続リクエストを受け取るシステムがサーバーです。サーバーはメッセージ処理を行なって結果をクライアントに返します。サーバーは、所定のメッセージの処理を実装していない場合、NOT_IMPLEMENTEDを返す例外によってメッセージ・リクエストを拒否することがあります。サーバーは2つのタイプのメッセージを処理できます。

  • インバウンド・メッセージ。これはメッセージ・リクエストとそのリクエストのパラメータを含みます。

  • 同期メッセージ。これはインバウンド・メッセージ・リクエストを取得し、追加作業の実行、別のシステムへの追加作業転送、または追加処理のための追加作業処理のいずれかを行なってSAPに返します。

SAPアプリケーション・サーバーは、同期メッセージ処理の終了を待ってから次の処理へ進みます。

サーバー接続のタイプは以下のとおりです。

  • 処理モード(リクエスト)。単純にメッセージ・タイプとパラメータを受信します。

  • レスポンス。同期プロセスを実行します。

サーバー・メッセージのタイプは以下のとおりです。

  • RFCメッセージ。これはパラメータを要素として持つRPCスタイルのメッセージです。

  • 中間ドキュメント(IDocs)。これは、ALEメッセージ・システムを使用して位置区切りのフラット・テキストまたはXML要素パラメータを送ります。

SAPインバウンド・メッセージの処理

リモート関数呼出し(RFC)またはビジネス・アプリケーション・インタフェース(BAPI)用のリクエスト/レスポンス(クライアント)メッセージをSAPシステムへ送信するには、有効なログオン資格証明のセットが必要です。必要なパラメータのリストを含め、アダプタ・ターゲットの構成方法の詳細については「SAP R/3のログイン・パラメータ」を参照してください。アダプタ・ターゲットの有効値については、SAPのシステム管理者に確認してください。

最初のログオン前に以下の値を用意してください。

SAP認可

サーバーへ接続する前に適切なSAP認可を取得する必要があります。SAPではセキュリティ確保のため、RFCとDIAGに同じユーザーIDへアクセスさせないようにすることを推奨します。

安全なRFCアクセスのための基本的な認可オブジェクトは以下の通りです。

S_RFC: 関数グループを保護します(認可オブジェクト・クラスAAAB内にあります)。

個々の関数モジュールは、その実行コード内に追加的なセキュリティを含んでいることがあります。関数やアプリケーションのユーザーにその関数やアプリケーションを使用するための認可要件を知らせるかどうかは、関数開発者やアプリケーション作成者の要求によります。追加的な認可が必要かどうかについては、管理者に確認してください。

個々の表は、以下の認可オブジェクトを使ってアクセスから保護することができます。

S_TABU_DIS: 表を保護します(認可オブジェクト・クラスBC_A内にあります)。

アダプタ・ターゲットに対する適切な資格証明が指定されてSAPアプリケーション・システム上で適切な認可がアセンブルされれば、アダプタを初期化する準備は完了です。

リクエスト/レスポンス(クライアント)メッセージ

ビジネス・オブジェクト・リポジトリ

アプリケーション・エクスプローラを使用して「Financial Accounting」などの適当なアプリケーション・ツリー・ブランチを展開し、さらに「Company Code」などのビジネス・オブジェクトを探して展開します。オブジェクトをクリックして、そのオブジェクトのメソッドを表示してください。BAPIには解放とバージョニングが必要です。実行時に使用するすべてのBAPIは「解放」ステータスになっていなければならず、解放されていないとランタイム例外が発生します。XMLスキーマを作成するためのメソッドを選択し、そのXMLスキーマからXMLインスタンス・ドキュメントを作成して、それをデータとともに移入してください。適当な入力および出力(ファイル/html/その他)送信メソッドを使用してOracleプロセスを作成し、アダプタにドキュメントを送信して処理を行い、結果を受信します。

リモート関数呼出し

アプリケーション・エクスプローラを使用して「Financial Accounting」などの適当なアプリケーション・ツリー・ブランチを展開し、さらに 「0002 - Company Code」などの関数グループを探して展開します。各関数は、処理のための様々なメソッドを提供します。すべてのBAPIはRFCを介して実装されるので、これらはRFCオブジェクトとして存在しています。これらの関数は、たとえばBAPI処理を行なっていない時にイベント処理を行なうような形で呼び出すことができます。必ずしもすべてのRFCがBAPIとして存在しているわけではありません。関数を選択してXMLスキーマを作成し、そのXMLスキーマからXMLインスタンス・ドキュメントを作成してそれをデータとともに移入してください。適当な入力および出力(ファイル/html/その他)送信メソッドを使用してOracleプロセスを作成し、アダプタにドキュメントを送信して処理を行い、結果を受信します。

ALE IDOCメッセージ

SAP ERP ALE*インバウンド・メッセージ処理ではIDocがSAP R/3システムに送られて保存されますが、この処理を行なうには使用するSAPサーバーに一定の構成を行なう必要があります。このロールにおいては、メッセージがトランザクション・データとしてSAPに送られてSAPサーバー上に保存されます。このドキュメント・データは、ワークフローがトリガされた時にSAP内の第2ステップで処理されます。

SAP R/3インバウンド処理の構成

IDocをSAP ERPへ送るには、メッセージ・パーティに関する以下の情報が必要です。

  • メッセージの送信者

  • メッセージの受信者

  • 送信されるメッセージのタイプ

送信者と受信者はALEシステム内で決定しなければならず、各パーティがどのようなメッセージを受け入れ、それをどのように処理するのかをパーティごとに決定しなければなりません。

接続情報には物理的な接続情報が含まれていないので、送信システムと受信システムの情報は論理システムと呼ばれるユニット内で決定されます。論理システムは、特定の送信者または受信者に関するすべての情報のコンテナの役割を果たします。

論理システムを決定すると、そのシステムによって送受信される様々なメッセージに関する情報が配布モデル内に保存されます。このモデルは何らかの処理を行なう前に定義しておかなければならず、また、送信者エラーや受信者エラーを防ぐために正確に定義しなければなりません。この配布モデル内では、IDocメッセージ・アプリケーションのフィルタを有効にして、IDocの特定部分だけを送信または配信することもできます。論理システム、配布モデル、およびメッセージ・タイプの間には1対1の対応関係があります。フィルタ・グループ、フィルタ・オブジェクト、規則、および依存関係によって、複雑なフィルタ規則を構成することが可能です。フィルタを備えた配布モデルの構成に関する詳しい説明は、SAPシステムのドキュメントを参照してください。

SAPシステムによるIDocの処理はパートナ・プロファイルで定義します。(場合によっては)別々にメッセージを処理するために、それぞれのパートナとメッセージに対して処理コードを定義することができます。

アダプタのチェック・リスト

SAPにメッセージを送るために、ALE管理者は以下の項目を指定しなければなりません(ログオン資格証明の後):

  1. 論理システム名。

  2. SAPアプリケーション・サーバーへ送信するメッセージ・タイプとIDoc基本タイプ。

ALE管理者はSAP ERPシステム内で以下の処理を行なう必要があります:

  1. 論理システムの作成。

  2. 配布モデルの作成。

    1. モデルへの送信者割り当て。

    2. モデルへの受信者割り当て。

    3. メッセージ・タイプの割り当て。

  3. 論理システム用のパートナ・プロファイルの作成。

    1. メッセージ・タイプごとに、メッセージを処理するためのSAP用プロセス・コードを割り当てます。

  • 論理システム"ORACLIENT"を作成(SAPトランザクションSALEを使用)。

  • 配布モデル"ZORACLNT"を作成(SAPトランザクションBD64を使用)。

  • 送信パートナ"ORACLIENT"および受信パートナ"T90ALECNT"(セントラル・ホストのALEコンポーネント)用にメッセージ・タイプ"MATMAS"を追加。

  • パートナ・プロファイル"ORACLIENT"を作成(SAPトランザクションWE20を使用)し、インバウンド・メッセージ"MATMAS"にプロセス・コード"MATM"を割り当て。


注意:

ここではインバウンド・メッセージ用にSAP ERPを構成するためのステップを示しましたが、これは参考用です。総合的な説明についてはSAP ERPのドキュメントを参照してください。

インバウンドIDocの処理用にSAP R/3を構成するには、以下のステップを実行する必要があります。

  1. 論理システムの構成

  2. 配布モデルの構成

  3. インバウンド・パートナ・プロファイルの定義

論理システムの構成

論理システムは、メッセージの送信者パーティまたは受信者パーティに関する構成情報を格納するコンテナ・オブジェクトです。論理システムには接続情報は保存されず、エンド・ポイントが処理できるメッセージとそのメッセージを処理するために使用するメソッドに関する情報だけが保存されます。

SAPトランザクションのショートカット

  • /n - 現在のトランザクションを終了して、直ちに新しいトランザクションを開きます。

  • /o - 現在のトランザクションのコンテキストを維持して、新しいウィンドウで新しいトランザクションを開きます。

論理システムの定義

SAP Implementation Guide for Customizing(IMG)でエントリを作成することにより、論理システムの定義を作成します。

ALEは、アプリケーション同士のリンクを可能にするSAP ERPのシステムです。/nSALEトランザクションを使用してALE用のIMGにナビゲートします。

  1. 図A-1に示すように、SALEトランザクションにナビゲートします。

    図A-1 SALEトランザクション

    SALEトランザクション
    「図A-1 SALEトランザクション」の説明

    「IMGを表示」ウィンドウには、図A-2に示すようにALE構成ツリーが表示されます。

    図A-2 「IMGを表示」ウィンドウ

    「IMGを表示」ウィンドウ
    「図A-2 「IMGを表示」ウィンドウ」の説明

  2. 次のステップを実行します:

    1. 「基本設定」ノードを展開します。

    2. 論理システムを展開します。

    3. 「論理システムを定義」をクリックします。

    4. 実際にSAP R/3で表示される画面はわずかに異なることがあるので、「送受信システム」という特別なノードを展開します。

    図A-3に示すように、「注意: 表はクライアント非依存です。」というメッセージが表示されます。

    図A-3 注意メッセージ

    注意メッセージ
    「図A-3 注意メッセージ」の説明

    このメッセージは、論理システムのカスタマイズ用データへの変更が、SAP ERPサーバーのすべてのユーザーに適用されることを知らせるために表示されます。これは、ほとんどのアプリケーション・データがログオン・クライアントにバインドされることと対照をなしています。新しい情報だけを追加し、追加にあたっては適切な権限が付与されたSAPログオンIDを使用してください。

  3. 緑色のチェックマークをクリックして次へ進みます。

    図A-4に示すように、「論理システム表示の変更」ウィンドウが表示されます。

    図A-4 「論理システム表示の変更」ウィンドウ

    「論理システム表示の変更」ウィンドウ
    「図A-4 「論理システム表示の変更」ウィンドウ」の説明

  4. 新規エントリボタンをクリックします。

    図A-5に示すように、「新規エントリ: 追加エントリの概要」ウィンドウが表示されます。

    図A-5 「新規エントリ: 追加エントリの概要」ウィンドウ

    図A-5の説明が続きます
    「図A-5 「新規エントリ: 追加エントリの概要」ウィンドウ」の説明

  5. 「論理システム」列に論理システム(たとえばORACLETDS)を入力して、「名前」列に説明を入力します。


    注意:

    フィールドは、入力が必要であることを示すために黄色でハイライト表示されます。

  6. 図A-6に示すように一番上のメニュー・バーにある「保存」アイコンをクリックします。

    図A-6 「保存」アイコン

    「保存」アイコン
    「図A-6 「保存」アイコン」の説明

    「ワークベンチ・リクエストのプロンプト」ダイアログが表示されます。


    注意:

    システムの使用状況に応じて、最後のワークベンチ・リクエスト番号がダイアログに表示されます。これは使わずに次のステップへ進んでください。

  7. 図A-7に示すように、「新規リクエスト」アイコンをクリックして新しいリクエストを作成します。

    図A-7 「新規リクエスト」アイコン

    「新規リクエスト」アイコン
    「図A-7 「新規リクエスト」アイコン」の説明

  8. エントリの説明をリクエスト・システムに入力します。残りのフィールドは自動的に入力されるので、変更の必要はありません。

    「ワークベンチ・リクエストのプロンプト」ダイアログがもう一度表示され、ワークベンチで作成された最後のリクエスト番号が新しいリクエスト番号として表示されます。この番号は使わないでください。図A-8に示すように、チェック・マークをクリックして新しいリクエスト番号を作成します。

    図A-8 「ワークベンチ・リクエストのプロンプト」ダイアログ

    「ワークベンチ・リクエストのプロンプト」ダイアログ
    「図A-8 「ワークベンチ・リクエストのプロンプト」ダイアログ」の説明

    「論理システム・エントリ」ウィンドウがリフレッシュされて新しい論理システム情報が表示されます。図A-9に示すように、このステップが正常に終了したことを示すため、新しい論理システムは青でハイライト表示されます。

    図A-9 「論理システム・エントリ」ウィンドウ

    図A-9の説明が続きます
    「図A-9 「論理システム・エントリ」ウィンドウ」の説明

論理システム用配布モデルの構成

配布モデルには、送信者論理システムと受信者論理システム、および送受信されるメッセージのタイプが格納されます。所定の送信者または受信者に対して有効な配布モデルがない場合は、メッセージが処理されてエラー位置にルーティングされます。SAP BAPIオブジェクトやフィルタリングを含め、配布モデルの拡張トピックについてはSAPのドキュメントを参照してください。

配布モデルの定義

配布モデルは以下の手順で定義します。

  1. 図A-10に示すように、bd64トランザクションを実行します。

    図A-10 Bd64トランザクション

    bd64トランザクション
    「図A-10 「Bd64トランザクション」の説明

    「配布モデル表示」ウィンドウがデフォルトの表示モードで表示されます。このウィンドウには、図A-11に示すように現在のモデル・ビュー・エントリが表示されます。

    図A-11 配布モデル表示

    「配布モデル表示」ウィンドウ
    「図A-11 配布モデル表示」の説明

  2. 各モデル・ビューのエントリを表示するには、ツリーを展開します。

    アイテムを追加するには、トランザクションを「変更モード」に切り替える必要があります。

  3. 図A-12に示すように、「配布モデル」をクリックして「処理モードを切り替え」を選択します。

    図A-12 「処理モードを切り替え」オプション

    「処理モードを切り替え」オプション
    「図A-12 「処理モードを切り替え」オプション」の説明

    図A-13に示すように、スクリーンがリフレッシュされてモデル・ビュー・ウィンドウが「配布モデルの変更」に切り替わります。

    図A-13 配布モデルの変更

    「配布モデルの変更」ビュー
    「図A-13 配布モデルの変更」の説明

  4. 使用可能なメニュー・ボタンの中から、「モデル・ビューの作成」を選択します。

    図A-14に示すように、「モデル・ビューの作成」ダイアログが表示されます。

    図A-14 「モデル・ビューの作成」ダイアログ

    「モデル・ビューの作成」ダイアログ
    「図A-14 「モデル・ビューの作成」ダイアログ」の説明

  5. 「ショート・テキスト」フィールドにモデル・ビュー名を、「技術名」フィールドに名前を入力します。後者は説明としての役割も果たします。

    SAPはシステム・アップデート時にZで始まる名前を上書きしないので、このような名前を使用することを推奨します。これはモデル・ビューの名前に限られます。

  6. 情報を入力するには緑のチェック・マークをクリックします。

    スクリーンがリフレッシュされてメインの「配布モデルの変更」ウィンドウに戻ります。図A-15に示すように、リストには構成された配布モデルが追加されます。

    図A-15 「配布モデルの変更」ウィンドウ

    「配布モデルの変更」ウィンドウ
    「図A-15 「配布モデルの変更」ウィンドウ」の説明

    モデル・ビューは、「保存」アイコンをクリックするまで一時的なトランザクション・ストレージに置かれます(エントリは薄い色で表示されます)。システムの接続が失われたりタイム・アウトになったりすると、そのエントリは失われます。変更内容が失われてしまうのを防ぐために、配布モデルの構成プロセスにおいては各ダイアログの終了ごとに変更を保存することをお薦めします。

  7. 前に定義したエントリの上にカーソルを置きます。

    図A-16 新しい配布モデル

    新しい配布モデル
    「図A-16 新しい配布モデル」の説明

    図A-16に示すように、エントリがハイライト表示されます。

  8. 中央のメニュー・バーで「メッセージ・タイプを追加」ボタンをクリックします。

    「メッセージ・タイプを追加」ダイアログが表示されます。

  9. 次のステップを実行します:

    1. 「送信者」フィールドに、Oracleシステムの送信側論理システム名を入力します(たとえばORACLETDS)。詳細は、「論理システムの構成」を参照してください。

    2. 「受信者」フィールドにSAPシステム用クライアントALE論理システム(ALE受信者)の名前を入力するか、ドロップダウン・メニューから選択します(たとえばT90CLNT090)。

    3. 「メッセージ・タイプ」フィールドに使いたいメッセージ・タイプを入力します(たとえばMATMAS)。

      各フィールドの右側にあるドロップダウン・アイコンをクリックすれば、リストから選択可能な値を参照できます。

    4. 情報を入力するには緑のチェック・マークをクリックします。

      メインの「配布モデルの変更」ウィンドウがリフレッシュされます。

  10. 「保存」をクリックします。

  11. ALE階層ツリーをナビゲートして、最近作成した配布モデルを探してください。図A-17に示すように、送信者、受信者、およびメッセージに対する相対的関係を示す形で送信者と受信者がグラフィックで表示されます。

    図A-17 送信者、受信者、およびメッセージの各コンポーネント

    送信者、受信者、およびメッセージの各コンポーネント
    「図7-17 送信者、受信者、およびメッセージの各コンポーネント」の説明

    同じシステムのその後のメッセージについては、モデル・ビューを展開して受信者名を表示し、その上にカーソルを置いて「メッセージ・タイプを追加」ボタンをクリックします。すべてのフィールドの入力は自動的に行なわれるので、ユーザーはその後にメッセージ・タイプを入力することができます。

パートナ・プロファイルの定義

パートナ・プロファイルは、それぞれの論理システム、処理するメッセージ、およびメッセージの処理方法を定義します。これにより、パートナ用の処理詳細を柔軟に構成することができます。各メッセージ・タイプがパートナ・プロファイル内に持つことのできるエントリは1つだけです。パートナ・プロファイルは以下のように定義します。

  1. 図A-18に示すように、we20トランザクションを実行します。

    図A-18 We20トランザクション

    we20トランザクション
    「図A-18 We20トランザクション」の説明

    図A-19に示すように、「パートナ・プロファイル」ウィンドウが表示されます。

    図A-19 「パートナ・プロファイル」ウィンドウ

    「パートナ・プロファイル」ウィンドウ
    「図A-19 「パートナ・プロファイル」ウィンドウ」の説明

  2. 「パートナ・タイプLS」を選択して、中央のメニュー・バーにある白いアイコンをクリックします。一番上のメニューから「作成」を選択することもできます。

    図A-20に示すように、スクリーン右側が、何も入力されていない「パートナ・プロファイル」フォームに変わります。

    図A-20 「パートナ・プロファイル」フォーム

    「パートナ・プロファイル」フォーム
    「図A-20 「パートナ・プロファイル」フォーム」の説明

  3. パートナ番号フィールドに論理システム名を入力して(たとえばORACLETDS)、「保存」アイコンをクリックします。

    図A-21に示すように、スクリーンが新しいプロファイルに変更されます。

    図A-21 新しいパートナ・プロファイル

    新しいパートナ・プロファイル
    「図A-21 新しいパートナ・プロファイル」の説明

  4. 埋め込みテキストである「インバウンド・パラメータ」エントリが表示されるまで、画面を下へスクロールさせます。

  5. 緑色のプラス記号アイコンをクリックします。

    図A-22に示すように、「パートナ・プロファイル: インバウンド・パラメータ」ダイアログが表示されます。

    図A-22 「パートナ・プロファイル: インバウンド・パラメータ」ダイアログ

    「パートナ・プロファイル: インバウンド・パラメータ」ダイアログ
    「図A-22 「パートナ・プロファイル: インバウンド・パラメータ」ダイアログ」の説明

  6. 「メッセージ・タイプ」としてMATMASと入力します。

  7. 「プロセス・コード」ドロップダウン・リストでMATMを探して選択し、MATMASを指定します。

  8. 「プロセス・モード」として、「即時」または「バックグラウンド」を選択します。


    注意:

    正しい設定についてはSAP管理者に確認してください。

  9. メニュー・バーの「保存」アイコンをクリックして、MATMASのインバウンド・パートナ・プロファイル・エントリを保存します。

  10. 図A-23に示すように、メニュー・バーの「戻る」ボタンをクリックします。

    図A-23 「戻る」ボタン

    「戻る」ボタン
    「図A-23 「戻る」ボタン」の説明

    図A-24に示すように、エントリ・リストにMATMASが表示されます。

    図A-24 MATMASメッセージ・タイプ

    MATMASメッセージ・タイプ
    「図A-24 MATMASメッセージ・タイプ」の説明

    以上で、「論理システム/パートナ・プロファイル: OracleTDS/MATMAS」のインバウンド構成は完了です。新しいインバウンドIDocメッセージ・タイプ・エントリを追加するには、「論理システム用配布モデルの構成」から始まるステップを繰り返してください。また、別の論理システムとメッセージ・タイプを追加するには、「論理システムの構成」からステップを繰り返します。

    以上で、適当なOracleプロセスを構成すればIDocの送信を開始することができます。

    SAP IDocモニター・コンソールを使用すればSAPトランザクションWE02内のIDocトランザクションをモニターすることができ、図A-25に示すように、処理状態とIDocのステータスに加えて、送信者、受信者、およびデータを知ることができます。

    図A-25 SAP IDocモニター・コンソール

    SAP IDocモニター・コンソール
    「図A-25 SAP IDocモニター・コンソール」の説明

SAPアウトバウンド・メッセージの処理

Oracle Application Adapter for SAP R/3は、SAPアプリケーション・サーバーから発出される2種類のアウトバウンド・メッセージを処理することができます。すなわち、リモート関数呼出しメッセージと、トランザクションIDを持つトランザクションRFCメッセージです。 SAP JCOを介して行なわれるすべての通信処理は同期(リクエスト/レスポンス)ですが、メッセージ処理は非同期(配信のみ)の場合もあれば同期(編成されたプロセスが機能して、待機中のアプリケーション・サーバーに情報を返します)の場合もあります。RFCメッセージはSAP ABAPプログラムやSAPワークフロー・システム、あるいはSAP関数テスト・トランザクションからでも送ることができます。

多くの場合、アウトバウンド処理はイベントとして実装されます。SAPアプリケーション・サーバー上では、定義されたイベントからなる数多くの段階があります。イベント処理はリンクによって互いに結合されています。本番用のSAPサーバーでは、必ずしもすべてのリンクが有効になっているわけではありません。イベントを有効にしてメッセージを送信できるようにするには、オブジェクトのステータス変化を送信することのできるオブジェクト、有効イベントのリストへのリンク、およびイベント・ハンドラがなければなりません。イベント・ハンドラはメッセージの処理を行ないます。

アクティブSAPイベントは、イベント・ハンドラが実装された定義コンポーネントに関するステータス変化です。SAPアプリケーション・サーバー内には様々なタイプのイベントが存在していますが、もっとも良く知られているイベント・ハンドラがALEメッセージ・コントロールで、これはSAPにより、Material Master(材料マスター)やCustomer Master(顧客マスター)といったオブジェクトの周辺に実装されます。これらのオブジェクトに変更が生じると、アウトバウンド・イベントIDocsが生成されます。

通常、イベントの生成はSAPによって行なわれます。多くのオブジェクトはイベント・ハンドリングを有効にすることができますが、多くの場合、これには高度な構成やプログラミングが必要とされます。SAPイベントのタイプとその構成方法については、SAPのドキュメントを参照してください。

RFCアウトバウンド・メッセージの場合、リモート関数呼出しを受信するために必要となるのはSAP RFC接続先とプログラムIDだけです。

IDoc処理については、tRFCを介してメッセージ制御イベントを受信するために、論理システム、送信先モデル、パートナ・プロファイル、およびポートを生成しなければなりません。

SAPアウトバウンドの用語

SAPゲートウェイ

SAPゲートウェイは、SAPアプリケーション・サーバー上、または専用のゲートウェイ・サーバー上で実行されるプロセスです。ゲートウェイ・プロセスは、SAPへのすべての接続を管理します。SAPへのサーバー接続は、それらの接続が登録プログラムとして前もってSAPアプリケーション内に構成されていて、なおかつ必要なプログラムIDを提示しないかぎり、受け入れられません。

サーバー接続はそれ自体をゲートウェイに提示して、プログラムIDを明らかにします。このプログラムIDが登録プログラムIDのリストの中にある場合、ゲートウェイ・サーバーはサーバーへの接続を許可します。つまり、接続を「受け入れ」ます。さらに、このプログラムIDがSAP内のRFC接続先にリンクされ、これによってSAP関数モジュールとALEドキュメント(IDocまたはBAPI IDoc)が接続先にルーティングされます。RFC接続先は、SAPプログラムIDを確認するための鍵として機能します。プログラムIDはアプリケーション・サーバーによっても公開されてSAPへの接続を行ないますが、これは接続サーバーのIPアドレスへの直接リンクです。メッセージは、RFC送信先を介してアプリケーション・サーバーにルーティングされます。推奨されるセキュリティ方法は、プログラムIDを実装するアダプタ・インスタンスにアクセスするOracle Application Adapter for SAP R/3ユーザーと、SAP内でプログラムIDを変更または表示するSAPトランザクション権限を持つユーザーを分離することで、すべてのリクエストはRFC接続先を通じてルーティングされます。


注意:

RFCサーバー・プログラムはSAPゲートウェイによって登録され、送られてくるRFCコール・リクエストを待ちます。RFCサーバー・プログラムは、特定のSAPシステムではなくSAPゲートウェイにおいて、プログラムIDに基づいて自身を登録します。SAPGUI内では、接続タイプTおよび登録モードを使い、トランザクションSM59によって接続先を決定しなければなりません。さらに、このエントリには、RFCサーバー・プログラムが登録されるSAPゲートウェイに関する情報が含まれていなければなりません。

プログラムIDとロード・バランシング

ゲートウェイ・サーバーが特定のサーバー・インスタンスへの接続を保持していて、別のサーバー・インスタンスが自身をゲートウェイに提供している場合は、そのゲートウェイが接続を提供してロード・バランシング・モードでの動作を開始します。ゲートウェイは固有のアルゴリズムを使用し、受容と合計処理時間に応じて様々なメッセージを各サーバーへ送信します。このため、スキーマとアプリケーションによってメッセージを検証した場合は、予期せぬ結果を招くことがあります。

Oracle内で1つのSAPプログラムIDを使って複数のイベントを構成する場合、SAPはイベント・データのロード・バランスをとります。たとえば、複数のリモート関数呼出しやBAPIが同じプログラムID(たとえばORACLETDS)を使用していて、このプログラムIDによって複数のSAPリスナーが構成されている場合、SAPは1つのリスナーに1つのリクエストを送り、次のリクエストを別のリスナーに、というふうに処理を進めます。SAPゲートウェイ・サーバーはロード・バランシング・アルゴリズムを備えています。このメカニズムはSAPのアプリケーション開発固有のもので、接続の合計スループット、待機状態の回数などを比較することによって機能します。1つの接続が9つのメッセージを受け取ることもあれば、2つ目の接続が1つのメッセージを受け取ることもあります。スキーマ検証によって9つのうち5つのメッセージが拒否され、別の接続上の1つのメッセージもスキーマ検証によって拒否された場合は、SAPイベント・ハンドリング・メッセージが欠落している疑いがあります。

サーバー(SAPからアダプタへのインバウンド)状況におけるロード・バランシングは、アダプタの複数のインスタンスをSAPシステムへ接続することによって行なわれます。次いで、SAPシステムが接続のロード・バランシングを行ないます。ユーザーがこのパフォーマンスを調整することはできません。

SAP RFCアウトバウンドの概要

  1. RFC接続先を作成します(SM59を使用)

    1. 接続先名を入力します。

    2. 登録済のプログラムIDを入力します。

    3. 「MDMPとUnicode」タブで、Unicodeオプションが選択されていることを確認します。

    4. Oracle BPEL/メディエータを起動します。

    5. BPELまたはメディエータのチャネル用にステップbと同じ登録済みプログラムID値を入力します。

    6. チャネルを起動します。

    7. SAPの「テスト」ボタンを使って接続をテストします。

  2. SAP RFCメッセージをシミュレートします(SE37を使用)。

    ABAPワークベンチの認可が必要です。

    1. 「接続先」フィールドにステップ1aのRFC接続先名を入力します。

    2. 「関数」フィールドに有効なSAP RFC関数名を入力します。

    3. 関数のパラメータにデータを入力します。

    4. 「実行」(時計)ボタンをクリックします。

      BPELチャネルにデータが届きます。

SAP IDocイベント

SAPからのIDocを受信できるようにするには、アプリケーション・エクスプローラを使用してOracle Application Adapter for SAP R/3用のチャネルを構成しなければなりません。加えて、SAPアプリケーション・サーバーの構成も必要です。

  1. RFC接続先を作成するか(SM59を使用)、前項(「SAP RFCアウトバウンドの概要」)で定義したものと同じ接続先を使用します。

    1. 接続先名を入力します。

    2. 登録済のプログラムIDを入力します。

    3. 「MDMPとUnicode」タブで、Unicodeオプションが選択されていることを確認します。

    4. Oracle BPEL/メディエータを起動します。

    5. BPELまたはメディエータのチャネル用にステップbと同じ登録済みプログラムID値を入力します。

    6. チャネルを起動します。

    7. SAPの「テスト」ボタンを使って接続をテストします。

  2. 「論理システムの構成」の説明に従い、論理システムを作成または使用します。

  3. 「論理システム用配布モデルの構成」の説明に従い、配布モデルを定義または使用します。

  4. トランザクションWE21を介してSAPトランザクションRFCポートを作成します。

  5. トランザクションWE20を介してSAPアウトバウンド・パートナ・プロファイルを作成します。

SAP GUIによるRFC接続先とプログラムIDの登録

SAP R/3システムを有効にして以下のコールを発行したり、SAP R/3イベント・アダプタへのインタフェースを取ったりするには、RFC接続先に基づいてプログラムIDを登録しなければなりません。

  • リモート関数呼出し(RFC)

  • ビジネス・アプリケーション・プログラミング・インタフェース(BAPI) - BAPIに外部イベントはありません。RFCフォームを使用してください。

  • 中間ドキュメント(IDoc)

RFC接続先は、ターゲット・システムにイベントをダイレクトするために使われるシンボル名(たとえばORACLETDS)であり、プログラムIDをマスクします。プログラムIDは、SAP GUIとイベント・アダプタで設定されます。

プログラムIDの登録

プログラムIDは以下の手順で登録します。

  1. SAP GUIを起動してSAP R/3システムへログインします。

  2. 「ツール」「管理」→「ネットワーク」→「RFC接続先」を選択します。

  3. SM59トランザクションを実行します。

    図A-26に示すように、「RFC接続の構成」ウィンドウが表示されます。

    図A-26 「RFC接続の構成」ウィンドウ

    「RFC接続の構成」ウィンドウ
    「図A-26 「RFC接続の構成」ウィンドウ」の説明

  4. 「TCP/IP接続」を選択して「作成」(白紙のアイコン)をクリックします。

    図A-27に示すように、「RFC接続先」ウィンドウが表示されます。

    図A-27 「RFC接続先」ウィンドウ

    「RFC接続先」ウィンドウ
    「図A-27 「RFC接続先」ウィンドウ」の説明

  5. 次の情報を入力します。

    1. 「RFC接続先」フィールドに名前を入力します(たとえばORACLETDS)。

      このフィールドの値は大文字と小文字が区別されます。大文字と小文字の別は、送信側プログラムと同じにしてください。

    2. 「接続タイプ」フィールドに「T」(TCP/IPを表す)と入力します。

    3. 「説明」フィールドに簡単な説明を入力します。

  6. ツール・バーの「保存」アイコン(ディスク)をクリックするか、一番上のメニュー・バーから「保存」を選択します。

    ウィンドウがリフレッシュされ、2つ目のパネル内で「技術的設定」タブがハイライト表示されます。

  7. 最初に「登録サーバー・プログラム」ボタンをクリックします。

    再びスクリーンがリフレッシュされます。

  8. プログラムIDを入力します。ここでは大文字と小文字が区別されるので、大文字と小文字の別をアダプタ・チャネルのプログラムIDと揃えてください。

  9. ツール・バーの「保存」アイコン(ディスク)をクリックするか、一番上のメニュー・バーから「保存」を選択します。

  10. 「MDMPとUnicode」タブを選択して、「Unicode」ボタンをクリックします。

  11. ツール・バーの「保存」アイコン(ディスク)をクリックするか、一番上のメニュー・バーから「保存」を選択します。

    以上でRFC接続先とプログラムIDが定義されました。これで、呼び出し関数APIの接続先パラメータを介してサーバーにあらゆるリモート関数呼出し(RFC)を送ることができます。これは逆呼出しなので、関数のデータはマーシャルしてアダプタに送る必要があります。

構成のテスト

構成は以下の手順でテストします。

  1. Oracle Application Adapter for SAP R/3用のBPELプロセス/チャネルにプログラムIDを入力し、チャネルを起動します。

  2. SAP GUIを使ってSE37へナビゲートします。

    ABAPワークベンチの認可が必要です。

  3. 図A-28に示すように、有効な関数名を入力して「テスト実行」(ツール)アイコンをクリックします。

    図A-28 「テスト実行」(ツール)アイコン

    「テスト実行」アイコン
    「図A-28 「テスト実行」(ツール)アイコン」の説明

    図A-29に示すように、「関数モジュールのテスト: 初期スクリーン」ウィンドウが表示されます。

    図A-29 「関数モジュールのテスト: 初期スクリーン」ウィンドウ

    「関数モジュールのテスト: 初期スクリーン」ウィンドウ
    「図A-29 「関数モジュールのテスト: 初期スクリーン」ウィンドウ」の説明

  4. RFC接続先名とデータを入力して、「実行」(時計)アイコンをクリックします。

    これは逆呼出しなので、アダプタへの送信のためにすべてのデータを関数に渡さなければなりません。実行が正常に終了すると、図A-30に示すように実行時間が表示されます。通常、最初の実行には時間がかかりますが、2回目以降は時間が短縮されます。

同期RFCコール

同期RFCコールは、SAP側の非同期コールと同じように定義されます。アダプタ側では、呼び出しのモードとして"request_response"が選択されていることを確認してください。SAPの配布するデータを取得してそれを処理し、SAPに返すプロセスを関数フォーマットに編成します。フォーマット・エラーがあると、そのリクエストは中断されます。例(擬似コード):

関数: MY_COMPANY_GETLIST DESTINATION 'ORACLETDS'

tables mycompanies        field1: name(20)        field2: company(20)

同期コールであるGet Listが空の表mycompaniesをBPELサーバーに渡し、SAPは待機します。BPEL編成には、以下のSQLステートメントを持つオブジェクトが含まれています。

select name(20), company(20) into mycompanies where country eq us

SQLステートメントはOracleデータベース上で実行されて結果セットが返され、編成内の割り当てステートメントによってmycompaniesという表に渡されます。SAPアプリケーションはプロセス全体を通じて待機しており、SAPサーバーは最大オンライン処理時間を取ることができます。この最大時間を超えると、SAPが自動的にプロセスを終了させます。

関数は同期コールを介してSAPに戻り、表はデータとともに呼び出し元のプロセスに戻されます。

実行時間が接続プールの実行時間より長い場合はタイム・アウトが発生することがあります。また、タイプ、長さ、または小数点についてはフォーマット例外が発生することがあります。

イベント・アダプタのALE(Application Link Embedding)構成

SAP R/3のイベント・アダプタはSAP R/3からIDoc(中間ドキュメント)を受け取ります。SAP R/3システムがSAP R/3イベント・アダプタにIDocsを送るように構成するには、ALE(Application Link Embedding)構成を使用して以下の手順を実行します。

  1. SAP GUIでプログラムIDを登録します。

  2. ポートを定義します。

  3. 論理システムを作成します。

  4. パートナ・プロファイルを作成します。

  5. パートナとメッセージ・タイプに対する配布モデルを作成します。

  6. SAP R/3イベント・アダプタをテストします。

ポートの定義

メッセージを送るポートの識別子です。Oracle Application Adapter for SAP R/3が使用するポート・タイプはトランザクションRFCポートです。これは、ALEポートを定義してそれをRFC接続先にリンクすることによって、メッセージ実行プロセスのパスウェイを作成します。

ポートの定義

ポートを定義するには:

  1. ALE構成で「ツール」「ビジネス通信」「IDocの基礎」「IDoc」「ポート定義」を選択します。

    WE21トランザクションを実行することもできます。

    図A-31に示すように、「IDoc処理のポート」ウィンドウが表示されます。

    図A-31 「IDoc処理のポート」ウィンドウ

    「IDoc処理のポート」ウィンドウ
    「図A-31 「IDoc処理のポート」ウィンドウ」の説明

  2. 左側ペインの「ポート」の下で「トランザクションRFC」を選択し、「作成」(白紙のアイコン)をクリックします。

  3. 「ポート名を作成」をクリックします。

    システムがポート名を作成します。

  4. このポートを経由して送るIDocのバージョンを入力します(通常は4)。

  5. 作成したRFC接続先の名前をタイプ入力するか選択します(たとえばORACLETDS。あるいは、図A-32に示すように最初の数文字の後にアスタリスクを付けて入力すると、選択リストが表示されます。

  6. 作成したRFCポートを確認してセッションを保存します。

    図A-32 「RFC接続先」フィールド

    「RFC接続先」フィールド
    「図A-32 「RFC接続先」フィールド」の説明

論理システムの構成


注意:

過去に定義した論理システムを再利用する場合、この項はスキップできます。

論理システムは、メッセージの送信者パーティまたは受信者パーティに関する構成情報を格納するコンテナ・オブジェクトです。論理システムには接続情報は保存されず、エンド・ポイントが処理できるメッセージとそのメッセージを処理するために使用するメソッドに関する情報だけが保存されます。

SAPトランザクションのショートカット

  • /n - 現在のトランザクションを終了して、直ちに新しいトランザクションを開きます。

  • /o - 現在のトランザクションのコンテキストを維持して、新しいウィンドウで新しいトランザクションを開きます。

論理システムの定義

SAP Implementation Guide for Customizing(IMG)でエントリを作成することにより、論理システムの定義を作成します。

ALEは、アプリケーション同士のリンクを可能にするSAP ERPのシステムです。/nSALEトランザクションを使用してALE用のIMGにナビゲートします。

  1. 図A-33に示すように、SALEトランザクションにナビゲートします。

    図A-33 SALEトランザクション

    SALEトランザクション
    「図A-33 SALEトランザクション」の説明

    「IMGを表示」ウィンドウには、図A-34に示すようにALE構成ツリーが表示されます。

    図A-34 「IMGを表示」ウィンドウ

    「IMGを表示」ウィンドウ
    「図A-34 「IMGを表示」ウィンドウ」の説明

  2. 次のステップを実行します:

    1. 「基本設定」ノードを展開します。

    2. 論理システムを展開します。

    3. 「論理システムを定義」をクリックします。

    4. 実際にSAP R/3で表示される画面はわずかに異なることがあるので、「送受信システム」という特別なノードを展開します。

    図A-35に示すように、「注意: 表はクライアント非依存です。」というメッセージが表示されます。

    図A-35 注意メッセージ

    注意メッセージ
    「図A-35 注意メッセージ」の説明

    このメッセージは、論理システムのカスタマイズ用データへの変更が、SAP ERPサーバーのすべてのユーザーに適用されることを知らせるために表示されます。これは、ほとんどのアプリケーション・データがログオン・クライアントにバインドされることと対照をなしています。新しい情報だけを追加し、追加にあたっては適切な権限が付与されたSAPログオンIDを使用してください。

  3. 緑色のチェックマークをクリックして次へ進みます。

    図A-36に示すように、「論理システム表示の変更」ウィンドウが表示されます。

    図A-36 「論理システム表示の変更」ウィンドウ

    「論理システム表示の変更」ウィンドウ
    「図A-36 「論理システム表示の変更」ウィンドウ」の説明

  4. 新規エントリボタンをクリックします。

    図A-37に示すように、「新規エントリ: 追加エントリの概要」ウィンドウが表示されます。

    図A-37 「新規エントリ: 追加エントリの概要」ウィンドウ

    図A-37の説明が続きます
    「図A-37 「新規エントリ: 追加エントリの概要」ウィンドウ」の説明

  5. 「論理システム」列に論理システム(たとえばORACLETDS)を入力して、「名前」列に説明を入力します。


    注意:

    フィールドは、入力が必要であることを示すために黄色でハイライト表示されます。

  6. 図A-38に示すように一番上のメニュー・バーにある「保存」アイコンをクリックします。

    図A-38 「保存」アイコン

    「保存」アイコン
    「図A-38 「保存」アイコン」の説明

    「ワークベンチ・リクエストのプロンプト」ダイアログが表示されます。


    注意:

    システムの使用状況に応じて、最後のワークベンチ・リクエスト番号がダイアログに表示されます。これは使わずに次のステップへ進んでください。

  7. 図A-39に示すように、「新規リクエスト」アイコンをクリックして新しいリクエストを作成します。

    図A-39 「新規リクエスト」アイコン

    「新規リクエスト」アイコン
    「図A-39 「新規リクエスト」アイコン」の説明

  8. エントリの説明をリクエスト・システムに入力します。残りのフィールドは自動的に入力されるので、変更の必要はありません。

    「ワークベンチ・リクエストのプロンプト」ダイアログがもう一度表示され、ワークベンチで作成された最後のリクエスト番号が新しいリクエスト番号として表示されます。この番号は使わないでください。図A-40に示すように、チェック・マークをクリックして新しいリクエスト番号を作成します。

    図A-40 「ワークベンチ・リクエストのプロンプト」ダイアログ

    「ワークベンチ・リクエストのプロンプト」ダイアログ
    「図A-40 「ワークベンチ・リクエストのプロンプト」ダイアログ」の説明

    「論理システム・エントリ」ウィンドウがリフレッシュされて新しい論理システム情報が表示されます。図A-41に示すように、このステップが正常に終了したことを示すために、新しい論理システムは青でハイライト表示されます。

    図A-41 「論理システム・エントリ」ウィンドウ

    論理システム・エントリ」ウィンドウ
    「図A-41 「論理システム・エントリ」ウィンドウ」の説明

論理システム用配布モデルの構成

配布モデルには、送信者論理システムと受信者論理システム、および送受信されるメッセージのタイプが格納されます。所定の送信者または受信者に対して有効な配布モデルがない場合、メッセージは処理されず、エラー位置にルーティングされます。SAP BAPIオブジェクトやフィルタリングを含め、配布モデルの拡張トピックについてはSAPのドキュメントを参照してください。

配布モデルの定義

配布モデルは以下の手順で定義します。

  1. 図A-42に示すように、bd64トランザクションを実行します。

    図A-42 Bd64トランザクション

    bd64トランザクション
    「図A-42 「Bd64トランザクション」の説明

    「配布モデル表示」ウィンドウがデフォルトの表示モードで表示されます。このウィンドウには、図A-43に示すように現在のモデル・ビュー・エントリが表示されます。

    図A-43 「配布モデル表示」ウィンドウ

    「配布モデル表示」ウィンドウ
    「図A-43 「配布モデル表示」ウィンドウ」の説明

  2. 各モデル・ビューのエントリを表示するには、ツリーを展開します。

    アイテムを追加するには、トランザクションを「変更モード」に切り替える必要があります。

  3. 図A-44に示すように、「配布モデル」をクリックして「処理モードを切り替え」を選択します。

    図A-44 「処理モードを切り替え」オプション

    「処理モードを切り替え」オプション
    「図A-44 「処理モードを切り替え」オプション」の説明

    図A-45に示すように、スクリーンがリフレッシュされて、モデル・ビュー・ウィンドウが「配布モデルの変更」に切り替わります。

    図A-45 「配布モデルの変更」ウィンドウ

    「配布モデルの変更」ウィンドウ
    「図A-45 「配布モデルの変更」ウィンドウ」の説明

  4. 使用可能なメニュー・ボタンの中から、「モデル・ビューの作成」を選択します。

    図A-46に示すように、「モデル・ビューの作成」ダイアログが表示されます。

    図A-46 「モデル・ビューの作成」ダイアログ

    「モデル・ビューの作成」ダイアログ
    「図A-46 「モデル・ビューの作成」ダイアログ」の説明

  5. 「ショート・テキスト」フィールドにモデル・ビュー名を、「技術名」フィールドに名前を入力します。後者は説明としての役割も果たします。

    SAPはシステム・アップデート時にZで始まる名前を上書きしないので、このような名前を使用することを推奨します。これはモデル・ビューの名前に限られます。

  6. 情報を入力するには緑のチェック・マークをクリックします。

    スクリーンがリフレッシュされてメインの「配布モデルの変更」ウィンドウに戻ります。図A-47に示すように、リストには構成された配布モデルが追加されます。

    図A-47 「配布モデルの変更」ウィンドウ

    「配布モデルの変更」ウィンドウ
    「図A-47 「配布モデルの変更」ウィンドウ」の説明

    モデル・ビューは、「保存」アイコンをクリックするまで一時的なトランザクション・ストレージに置かれます(エントリは薄い色で表示されます)。システムの接続が失われたりタイム・アウトになったりすると、そのエントリは失われます。変更内容が失われてしまうのを防ぐために、配布モデルの構成プロセスにおいては各ダイアログの終了ごとに変更を保存することをお薦めします。

  7. 前に定義したエントリの上にカーソルを置きます。

    図A-48 新しい配布モデル

    新しい配布モデル
    「図A-48 新しい配布モデル」の説明

    図A-48に示すように、エントリがハイライト表示されます。

  8. 中央のメニュー・バーで「メッセージ・タイプを追加」ボタンをクリックします。

    「メッセージ・タイプを追加」ダイアログが表示されます。

  9. ALEセントラル・インスタンスの送信者を入力します。

    これについてはSAP管理者に確認してください。

  10. 「受信者」フィールドに受信者を入力します。

  11. 有効なメッセージ・タイプを入力します。

  12. 図A-49に示すように、このパートナ・シナリオにおけるそれぞれのアウトバウンド・メッセージ・タイプについて、この手順を繰り返します。

    図A-49 「メッセージ・タイプを追加」ダイアログ

    「メッセージ・タイプを追加」ダイアログ
    「図A-49 「メッセージ・タイプを追加」ダイアログ」の説明

パートナ・プロファイルの定義


注意:

過去に定義したパートナ・プロファイルを再利用する場合、この項はスキップできます。

パートナ・プロファイルは、それぞれの論理システム、処理するメッセージ、およびメッセージの処理方法を定義します。これにより、パートナ用の処理詳細を柔軟に構成することができます。各メッセージ・タイプがパートナ・プロファイル内に持つことのできるエントリは1つだけです。パートナ・プロファイルは以下のように定義します。

  1. 図A-50に示すように、we20トランザクションを実行します。

    図A-50 We20トランザクション

    we20トランザクション
    「図A-50 We20トランザクション」の説明

    図A-51に示すように、「パートナ・プロファイル」ウィンドウが表示されます。

    図A-51 「パートナ・プロファイル」ウィンドウ

    「パートナ・プロファイル」ウィンドウ
    「図A-51 「パートナ・プロファイル」ウィンドウ」の説明

  2. 「パートナ・タイプLS」を選択して、中央のメニュー・バーにある白いアイコンをクリックします。一番上のメニューから「作成」を選択することもできます。

    図A-52に示すように、スクリーン右側が、何も入力されていない「パートナ・プロファイル」フォームに変わります。

    図A-52 「パートナ・プロファイル」フォーム

    「パートナ・プロファイル」フォーム
    「図A-52 「パートナ・プロファイル」フォーム」の説明

  3. パートナ番号フィールドに論理システム名を入力して(たとえばORACLETDS)、「保存」アイコンをクリックします。

    図A-53に示すように、スクリーンが新しいプロファイルに変更されます。

    図A-53 パートナ・プロファイル: アウトバウンド・パラメータ

    「パートナ・プロファイル: アウトバウンド・パラメータ」ウィンドウ
    「図A-22 「パートナ・プロファイル: アウトバウンド・パラメータ」の説明

  4. 「メッセージ・タイプ」フィールドにメッセージ・タイプを入力します。

  5. 「受信ポート」フィールドにポート番号を入力します。

  6. 「直ちにIDocを転送」ボタンを選択するか、「IDocを収集」を選択してバッチ・サイズを指定し、bd87を使って処理のためにIDocを解放します。

  7. 基本タイプを入力します(MATMASの場合はMATMAS05など)。

  8. 「保存」アイコンをクリックします。

SAP R/3 ALE構成のテスト

SAPサーバでは、BD12トランザクションが、あらゆる論理システム(たとえばイベント・アダプタ)へのマスター・データIDocの送信を有効にします。

SAP R/3 ALE構成のテスト

SAP R/3のALE(Application Link Embedding)構成は以下の手順に従ってテストします。

  1. 図A-54に示すように、「顧客を送付」ウィンドウで「出力タイプフィールドにIDocメッセージ・タイプを入力します(たとえばDEBMAS)。

    図A-54 「顧客を送付」ウィンドウ

    「顧客を送付」ウィンドウ
    「図A-54 「顧客を送付」ウィンドウ」の説明

  2. 「論理システム」フィールドに論理システムを入力します(たとえばORACLETDS)。

  3. 「実行」をクリックします。

    SAP R/3のイベント・アダプタはXMLフォーマットでIDocを受信します。イベント・アダプタからのレスポンスはありません。

    図A-55に示すように、確認メッセージが表示されます。

    図A-55 確認メッセージ

    確認メッセージ
    「図A-55 確認メッセージ」の説明

    同数の通信IDocを作成する必要があります。これらのIDocは間もなくアダプタ上に表示されます。IDocが表示されない場合は以下の確認を行なってください。

    1. パートナ・プロファイルで「IDocを収集」オプションが選択されています(解放にはbd87を使用)。

    2. 他のサーバーが同じプログラムIDを公開していません。

SAP IDocイベント

SAPからのIDocを受信できるようにするには、アプリケーション・エクスプローラを使用してOracle Application Adapter for SAP R/3用のチャネルを構成しなければなりません。加えて、SAPアプリケーション・サーバーの構成も必要です。

  1. RFC接続先を作成するか(SM59を使用)、前項(「SAP RFCアウトバウンドの概要」)で定義したものと同じ接続先を使用します。

    1. 接続先名を入力します。

    2. 登録済のプログラムIDを入力します。

    3. 「MDMPとUnicode」タブで、Unicodeオプションが選択されていることを確認します。

    4. Oracle BPEL/メディエータを起動します。

    5. BPELまたはメディエータのチャネル用にステップbと同じ登録済みプログラムID値を入力します。

    6. チャネルを起動します。

    7. SAPの「テスト」ボタンを使って接続をテストします。

  2. 「論理システムの構成」の説明に従い、論理システムを作成または使用します。

  3. 「論理システム用配布モデルの構成」の説明に従い、配布モデルを定義または使用します。

  4. トランザクションWE21を介してSAPトランザクションRFCポートを作成します。

  5. トランザクションWE20を介してSAPアウトバウンド・パートナ・プロファイルを作成します。