SAP での IDOC 操作のメタデータの参照、検索、取得
このセクションでは、アダプター サービス参照プラグインの追加、アダプター メタデータの追加ウィザード、またはアダプター サービス アドインの使用を使用して、IDOC 操作のために SAP からメタデータを参照、検索、および取得する方法について説明します。 ほとんどの手順は、3 つのユーザー インターフェイスすべてで同じです。 該当する場合は、関連するユーザー インターフェイスに対して個別の手順が提供されます。
次のセクションで説明する手順を実行する前に、以下が必要です。
Visual Studio プロジェクトを作成しました。
アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用して SAP システムに接続されています。 手順については、「 Visual Studio で SAP システムに接続する 」を参照してください。SAP システムに接続してスキーマまたは IDOC 用の WCF クライアントを生成する前に、特定のバインド プロパティを設定する必要があります。
GenerateFlatFileCompatibleIdocSchema
ReceiveIdocFormat
FlatFileSegmentIndicator
これらのプロパティは、IDOC のメタデータを SAP システムから取得する方法を制御します。 これらのプロパティの詳細については、「 BizTalk Adapter for mySAP Business Suite のバインド プロパティ」を参照してください。 バインド プロパティを設定する方法については、「 SAP アダプターのバインド プロパティを構成する」を参照してください。
SAP システムでの IDOC の参照
アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用してメタデータを参照するときに、SAP アダプターは、SAP システムから IDOC を送受信するための個別の操作を表示します。
送受信。 アダプター クライアントは、これらの操作を使用して、厳密に型指定されたスキーマを使用して SAP システムから IDOC を送受信できます。 アダプターは、これらの操作を IDOC ごとに個別に表示し、それぞれの IDOC ノードで使用できます。
SendIdoc と ReceiveIdoc。 アダプター クライアントは、これらの操作を使用して、弱く型指定されたスキーマを使用して SAP システムから IDOC を送受信できます。 SAP アダプターは、すべての IDOC に対して 1 つの SendIdoc 操作と ReceiveIdoc 操作のみを表示します。 これらの操作は、 IDOC ノードの直下で使用できます。
アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照の追加プラグインを使用して、SAP システムの IDOC を参照するには、次の手順を実行します。
SAP システムで IDOC を参照するには
アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用して、SAP サーバーに接続します。 手順については、「 Visual Studio での SAP システムへの接続 」を参照してください。
[ コントラクトの種類の選択 ] ドロップダウン リストから、アダプターを使用して受信操作と送信操作のどちらを実行するかに基づいて、コントラクトの種類を選択します。
[ カテゴリの選択 ] ボックスで、[IDOC] ノードをクリックして、[ 利用可能なカテゴリと操作 ] ボックスに IDOC メッセージの種類を表示します。 または、IDOC ノードを展開して IDOC メッセージの種類を確認することもできます。
ヒント
ツリー内の "イミディエイト" カテゴリ ノードまたはサブカテゴリ ノードに直接移動するには、[ カテゴリの選択 ] ボックスに、ツリー ビューにフォーカスがある間に成果物の名前を入力します。 たとえば、 IDOC メッセージの種類ACC_BILLINGに移動するには、 IDOC ノードにフォーカスを置き、「」と入力
ACC_BILLING
します。次の図は、IDOC メッセージの種類を一覧表示するアダプター サービス アドインの使用を示しています。 ルート IDOC ノードには、弱く型指定された IDOC を SAP システムに送信する SendIdoc オプションも表示されます。
でのメッセージの種類の参照
Note
受信シナリオの場合、ルート IDOC ノードは ReceiveIdoc 操作を表示して、弱く型指定された IDOC を受信します。
IDOC メッセージタイプをクリックすると、関連する IDOC タイプが表示されます。 次の図は、特定の IDOC メッセージの種類で IDOC 型のアダプター サービス アドインを使用する方法を示しています。
IDOC タイプをクリックすると、IDOC タイプのさまざまなバージョンが表示されます。 次の図は、特定の IDOC の種類のバージョンを含むアダプター サービス アドインの使用を示しています。
の参照バージョン
IDOC タイプのバージョンをクリックすると、その IDOC タイプでサポートされている操作が表示されます。 次の図は、特定の IDOC の種類のバージョンでサポートされている操作を使用するアダプター サービス アドインを示しています。
の参照操作
SAP システムでの IDOC の検索
アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、アダプター サービス参照プラグインの追加、SAP アダプターを使用して SAP システム内の IDOC のメタデータを検索する場合:
検索式でワイルドカード文字をサポートします。
検索操作が実行されるノードのすぐ下で検索を有効にします。
次の表に、検索に使用できる特殊文字と、SAP アダプターによる解釈を示します。
特殊文字 | 解釈 |
---|---|
+ (プラス) | 1 文字に一致します。 たとえば、A+ は AB、AC、AD と一致します |
* (アスタリスク) | 0 個以上の文字と一致します。 たとえば、A* は A、AB、ABC と一致します。 |
アダプターでサポートされる特殊文字の詳細については、「 WCF LOB アダプター SDK を使用してアダプター設定をバインド プロパティとして公開する」を参照してください。
アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、アダプター サービス参照プラグインの追加を使用して SAP システムの IDOC を検索するには、次の手順を実行します。
SAP システムで IDOC を検索するには
アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用して、SAP サーバーに接続します。 手順については、「 Visual Studio で SAP システムに接続する 」を参照してください。
[ Select contract type ]\(コントラクトの種類の選択\) ドロップダウン リストから、アダプターを使用して受信操作と送信操作のどちらを検索するかに基づいて、コントラクトの種類を選択します。
[ カテゴリの選択 ] ボックスで、[IDOC] ノードをクリックします。
重要
IDOC は、ルート レベルでのみ検索できます。
[ カテゴリ内で検索 ] テキスト ボックスに、特定の IDOC メッセージの種類を検索する検索式を入力します。 たとえば、名前に "MATMAS" がある IDOC を検索するには、テキスト ボックスに「*MATMAS*」と入力します。
右矢印アイコンが表示されたボタンをクリックして、検索を開始します。 検索が完了すると、[ 利用可能なカテゴリと操作 ] ボックスに、検索条件を満たす IDOC が一覧表示されます。
次の図は、IDOC 検索結果の一覧を示すアダプター サービス アドインの使用を示しています。
BizTalk プロジェクトのスキーマの生成
アダプター サービス アドインまたはアダプター メタデータの追加ウィザードを使用して、選択した SAP 成果物のスキーマを生成できます。 呼び出す成果物を参照して検索したら、それらの成果物のスキーマを生成し、スキーマに準拠して SAP システムにメッセージを送信できます。
Note
カテゴリ ノードを選択すると、そのカテゴリのサブツリー内のすべての操作が返されます。たとえば、IDOC の種類 (そのグループ内のすべてのバージョンの IDOC のスキーマを生成する場合) を選択したり、特定のバージョンの IDOC を選択して、そのバージョンの IDOC のみのスキーマを生成したりできます。 ノードの詳細については、「 メタデータ ノード ID」を参照してください。
IDOC のメタデータを取得するには
アダプター サービス アドインの使用またはアダプター メタデータの追加ウィザードを使用して、SAP サーバーに接続します。 手順については、「 Visual Studio で SAP システムに接続する 」を参照してください。
[ コントラクトの種類の選択 ] ドロップダウン リストから、アダプターを使用して受信操作と送信操作のどちらを実行するかに基づいて、コントラクトの種類を選択します。
[ カテゴリの選択 ] ボックスで、メタデータを生成する IDOC メッセージの種類または IDOC の種類をクリックします。
[ 利用可能なカテゴリと操作 ] ボックスで、メタデータを生成する IDOC の種類またはサポートされている操作を選択し、[ 追加] をクリックします。 選択した IDOC の種類または操作は、[ 追加されたカテゴリと操作 ] ボックスに一覧表示されます。
次の図は、選択した IDOC を一覧表示するアダプター サービス アドインの使用を示しています。
のメタデータを取得する
複数の操作のスキーマを生成する場合は、BizTalk プロジェクトのコンパイルでエラーが発生する可能性のある、これらのスキーマの中に重複する要素定義が存在する可能性があります。 たとえば、操作 "Op1" のスキーマを生成するシナリオを考えてみましょう。 "Op1" のスキーマには、複合データ型 "CT1" のパラメーターが含まれています。 "Op1" のスキーマを生成した後、アダプター サービス アドインを使用して再度開き、別の操作 "Op2" のスキーマを生成します。 "Op2" には、複合データ型 "CT1" のパラメーターも含まれているとします。 アダプター サービス アドインの使用を終了してプロジェクトをコンパイルすると、複合データ型 "CT1" が異なる XSD ファイルで 2 回定義されているため、コンパイル エラーが発生します。 このような場合は、次のことをお勧めします。
アダプター サービス アドインの 1 回の実行ですべての操作のスキーマを生成します。 これにより、アダプター サービス アドインを使用すると、複合データ型 "CT1" の定義が 1 つだけ生成されます。
アダプター サービス アドインの実行ごとに複数の操作のスキーマを生成する場合は、生成された XSD ファイルに複合データ型 "CT1" の一意の名前空間が含まれるように、[一意のスキーマの種類チェック生成する] ボックスを必ず選択してください。
[OK] をクリックします。 スキーマ ファイルは、IDOC プロジェクトと同じ場所に .xsd 拡張子で保存されます。
Note
アダプター サービス アドインを使用している場合、既定では、ファイルは名前付け規則 "SAPBinding<n.xsd>" で作成されます。ここで、作成されるスキーマ ファイルの数に応じて、'n' は 1、2 などになります。 または、[ ファイル名プレフィックス ] テキスト ボックスに名前を入力して、スキーマ ファイルにカスタム名を指定することもできます。 アダプター サービス アドインを使用すると、名前付け規則 <のファイル名プレフィックス><n.xsd> を使用してスキーマ ファイルが作成されるようになりました。
Note
アダプター サービス アドインを使用すると、操作のスキーマの生成中に指定したバインド プロパティと、操作を呼び出す SOAP アクションを含むバインド ファイル (XML ファイル) も作成されます。 このバインド ファイルは、BizTalk Server管理コンソールにインポートして、接続 URI、バインド プロパティ、および SOAP アクション セットを含む WCF-Custom ポートを作成できます。 詳細については、「 SAP へのポート バインド ファイルを使用して物理ポート バインドを構成する」を参照してください。
[ファイル] メニューの [すべてを保存] をクリックします。
アダプター サービス参照プラグインの追加を使用した IDOC 操作用の WCF クライアントの生成
アダプター サービス参照の追加プラグインを使用すると、WCF クライアント コードを生成して IDOC を SAP システムに送信するか、WCF サービス コントラクトを使用して SAP システムから IDOC を受信できます。
IDOC 用の WCF クライアントまたは WCF サービス コントラクトを生成するには
[アダプター サービス参照プラグインの追加] の [コントラクトの 種類の選択 ] ドロップダウン リストから、受信 (IDOC の受信) 操作と送信 (IDOC の送信) 操作のどちらを実行するかに基づいてコントラクトの種類を選択します。
[ カテゴリの選択 ] ボックスで、[ IDOC ] ノードを展開し、送受信する IDOC メッセージの種類または IDOC の種類を参照または検索します。
[ 利用可能なカテゴリと操作 ] ボックスで、WCF クライアント (または WCF サービス コントラクト) を生成する IDOC の種類またはサポートされている操作を選択し、[ 追加] をクリックします。 選択した操作は、[追加された カテゴリと操作 ] ボックスに一覧表示されます。 [ 利用可能なカテゴリと操作 ] ボックスに一覧表示されている任意のノードを選択できます。 カテゴリ ノードを選択すると、そのノードとそのサブノードで使用できるすべての操作が追加されます。
重要
アダプター サービス参照の追加プラグインは、IDOC の種類ごとに一意の WCF クライアント クラス (または WCF サービス コントラクト) を生成します。 選択したカテゴリと操作によっては、複数の WCF クライアント クラスが生成される場合があります。 詳細については、「 SAP ソリューション成果物の WCF クライアントまたは WCF サービス コントラクトを生成する」を参照してください。
ほとんどのシナリオでは、既定のシリアル化オプションで十分です。ただし、必要に応じて、生成されるコードと使用されるシリアライザーの種類に関するいくつかの側面を制御できます。 これらのオプションを設定するには:
[ 詳細オプション] を クリックして、[ 詳細オプション] ボックスを開きます。
[ 詳細オプション] ボックスの [ 生成されたプロキシのオプションの選択] で、目的のオプションを選択します。 たとえば、WCF クライアントに対して非同期メソッドを生成するか、構成ファイルの生成を無効にするかを選択できます。
[ シリアライザー ] で、使用するシリアライザーを選択します。
次の図は、[ 詳細オプション] ボックスに既定の選択項目を示しています (シリアライザーでは [自動 ] が選択され、その他のオプションは選択されていません)。
[ 詳細オプション] ボックスで構成できるオプションは、ServiceModel メタデータ ユーティリティ ツール (svcutil.exe) を使用するときに使用できるオプションの一部と同じです。 これらのオプションの詳細については、「 ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)」を参照してください。
[OK] をクリックします。 アダプター サービス参照の追加プラグインは、プロジェクト ディレクトリで選択した操作とカテゴリの WCF クライアント クラス (または WCF サービス インターフェイス) とヘルパー コードを保存します。 既定では、構成ファイルも保存されます。 受信操作と送信操作では、少し異なるファイルが生成されます。詳細については、「 SAP ソリューション成果物の WCF クライアントまたは WCF サービス コントラクトを生成する」を参照してください。