使用する
標準のSAPシステムには、大量のビジネスオブジェクトとBAPIが含まれています。これらには、BAPIから生成され、ALEビジネスプロセスで非同期BAPI呼び出しを有効にするBAPI-ALEインターフェースが含まれます。
得意先ネームスペースで独自のBAPIを開発し、関連するBAPI-ALEインタフェースを生成することができます。
BAPI用に次のオブジェクトが生成されます。
-
メッセージタイプ
-
セグメントを含むIDocタイプ
-
アウトバウンド処理側で呼び出される汎用モジュール
(BAPIデータを使用してIDocを作成し、それをディスパッチします。)
-
インバウンド処理側でIDocデータを使用してBAPIを呼び出す汎用モジュール
手動で更新されるメッセージタイプとの違いは、変更ポインタを処理する汎用モジュールがIDocを登録しないことです。代わりに、対応するBAPI構造を入力し、レシーバを決定し、生成されたALE汎用モジュールを呼び出します。
生成されたメッセージタイプ、IDocタイプ、および汎用モジュールを使用して、SMDツールを使用してマスタデータを配信することもできます。
前提条件
重要な前提条件は、BAPIが存在することです。
-
得意先ネームスペースで独自のBAPIを開発しました
-
標準システムからBAPIを変更しました
次に、BAPI-ALEインタフェースが、新しいサブタイプとそれに割り当てられたメソッドのカスタマネームスペースに作成されます。
詳細については、独自のBAPIの実装を参照してください。
BAPIテーブルパラメータ間の階層依存関係を考慮したい場合、別の前提条件は、BAPI-ALEインタフェースを生成する前に階層を定義することです( BAPIパラメータ間の階層の定義を参照)。指定された階層は、インターフェイスが生成され、インターフェイスコーディングに組み込まれるときに評価されます。BAPI-ALEインターフェースは、階層に加えられた後続のすべての変更の後に再生成する必要があります。
生成されたIDocタイプが解放されると、互換性の理由から、非同期BAPIの指定された階層を後で変更することはできません。
このセクションの最後にある関連するALEトピックに関する注記も参照してください。ここでは、メッセージタイプのデータフィルタリングとシリアル化に関する情報を見つけることができます。
手順
ALE開発画面で、 選択します。
カスタマーシステムでは、すべてのオブジェクト名はYまたはZで始まるか、独自のプレフィックスで始まる必要があります。
次のように実行します。
-
ビジネスオブジェクト(オブジェクトタイプ)とインターフェイスの基礎となるメソッドを入力します。
-
[インターフェイス]メニューで、 [作成]、[変更]、[表示]、[チェック] 、または[削除]のいずれかのオプションを選択します。
インターフェースの作成
前提条件:このBAPIのインターフェースがまだ生成されていないか、既に生成されているインターフェースが[削除]オプションを使用して削除されている。生成されるオブジェクトの名前が提案されます。それらを変更することができます。
エントリを確認します。
次のダイアログボックスで次のエントリを作成できます。
エントリを確認します。
[セグメント名の入力]ダイアログボックスが表示されます。
セグメント名を入力します。
推奨されるセグメントタイプは、メッセージタイプまたはBAPI構造から派生しています。
セグメントに1000バイトを超えるデータが含まれている場合、子セグメントはそのセグメントから自動的に生成されます。子セグメント名は、名前の長さが27桁未満の場合、元のセグメントに1、2、…の数字が追加されて拡張されます。
インターフェースの変更
前提条件:このBAPIのオブジェクトはすでに作成されています。
BAPIが変更された後に既存のALEインタフェースのオブジェクトを再生成するには、変更を選択します。オブジェクトメソッドのインタフェース構造が変更された場合、IDocタイプとIDocセグメントが再生成されます。汎用モジュールは、IDocタイプまたはセグメントの1つが変更された場合にのみ再生成することができます。
オブジェクトを作成するときと同様に、ここにもダイアログボックスが表示されます。このダイアログボックスには、システムにすでに存在するオブジェクトが表示されます。入力フィールドではありません。
フィールドが空の場合、そのオブジェクトを生成できます。
ディスプレイインターフェース
前提条件:このBAPIのオブジェクトはすでに存在します。
このBAPIの既存のオブジェクトがすべて表示されます。これにより、BAPIメソッドとIDocメッセージタイプの関係の概要がわかります。
インターフェースの削除
前提条件:このBAPIのオブジェクトはすでに作成されています。
汎用モジュールは、システムに存在する場合は削除することができます。
IDoc構造がまだリリースされていない場合は、削除されます。
IDocセグメントは、リリースされておらず、他のIDocで使用されていない場合にのみ削除されます。
最後に、メッセージタイプがIDocタイプに割り当てられていない場合、メッセージタイプは削除されます。
インターフェースを確認する
前提条件:このBAPIのオブジェクトはすでに作成されています。
システムは、このBAPIに関連するすべてのオブジェクトがシステムで利用可能かどうかをチェックします。また、オブジェクト(IDocタイプとセグメント)がすでにリリースされているかどうかもチェックします。
オブジェクトのリリースステータスは変更できます(以下の注のリリースの設定とリリースのキャンセルを参照)。
-
インターフェイスを解放できます。
開発者は、IDocタイプおよびセグメントのリリースステータスを変更できます([
]または[ ]を選択します)。必要な権限は、権限オブジェクトS_IDOCDEFTのS_IDCDFT_AL+およびS_IDCDFT_ALLです。
オブジェクトを解放する前に、BAPIがすでに解放されている必要があります。オブジェクトがリリースされると、システムは最初に、BAPIメソッドで生成されたインタフェースが現在のステータスであることを確認します。オブジェクトが解放されていない場合は、インターフェイスを再生成するかどうかを尋ねられます。リリースに関連するセグメントとIDocタイプが決定されます。新しいステータスは、まだリリースされていないオブジェクトに割り当てられます。
リリースはいつでもリセットできます。このアクションは、トランスポートシステムに接続されています。
生成された汎用モジュールはリリースされません。
結果
生成されたオブジェクトとそのステータスが画面に表示されます。すべての変更は移送依頼に入れられます。
詳しくは
次の点に注意してください。
-
名前空間の拡張
名前空間の拡張は、顧客とパートナーに対してもサポートされています。
-
データ選択のためのフィルタリング
データの分布は、分布モデルでフィルターとして定義されている条件にリンクできます。
データをフィルタリングする場合は、フィルターを作成または変更するときに、ダイアログボックスで[データのフィルタリングを許可する]オプションを選択する必要があります。
詳細については、「データのフィルタリング」を参照してください。
機能レベルおよびビジネスレベルでの有用なフィルタリングの前提条件は、BAPIテーブルパラメータ間に階層的な依存関係が存在することです。インターフェイスを生成する前に、依存関係を定義する必要があります。BAPIパラメータ間の階層の定義を参照してください。
更新(BDBP)を選択します。依存関係に加えられた変更には互換性がなければならないことに注意してください。互換性がないと、フィルタリングの結果が異なります。詳細については、 -
シリアル化
アウトバウンド処理側の汎用モジュールには、オプションのパラメータSERIAL_ID(チャネル番号への参照)があります。この入力パラメータは、オブジェクトチャネルへのメッセージの割り当てを管理します。ターゲットシステムのすべてのメッセージは、ソースシステムで作成されたのと同じ順序でオブジェクトチャネルで処理されます。オブジェクトチャネルは、BAPIのオブジェクトタイプとチャネル番号からのキーによって識別されます。
詳細については、オブジェクトタイプによるシリアル化を参照してください。
-
リンク
ALEのリンクは、次の質問に答えます。
-
生成された汎用モジュールに関する文書
インバウンドおよびアウトバウンド処理用に生成された汎用モジュールに関する文書が作成されています。このドキュメントは、インターフェイス内から表示できます。パラメータの目的とその値について説明します。
-
BAPIリターンパラメータとIDocステータス
戻りパラメーターがアプリケーションによって入力されている場合、IDocステータスおよびパラメーターからの関連情報はIDocに含まれます。メッセージタイプによってIDocステータスが決まります。
戻りパラメーターがEXPORTINGパラメーターの場合、単一のIDoc状況レコードが書き込まれます。
戻りパラメータがTABLESパラメータの場合、テーブル内のメッセージタイプに応じて、複数のIDocステータスレコードを書き込むことができます。
IDocステータスレコードは、returnパラメータのメッセージと同じ順序でデータベースに書き込まれます。
戻りパラメーターが入力されていない場合は、IDocによってBAPIが正常に呼び出されたことを意味します。この場合、ステータス53(申請伝票転記)のIDocステータスレコードがALEレイヤから書き込まれます。
エラーが発生した場合、returnパラメータからの最初のメッセージのみが関連するエラータスク(作業項目)のテキストにコピーされます。
-
インターフェイスの生成に関する制限
パラメータの参照構造がBAPI汎用モジュール(IMPORTおよび/またはTABLES)で同じである場合は、生成機能を使用しないでください。この状況では、IDocセグメントはパラメーターに一意にマップされません。このため、インバウンドIDocの処理時にパラメータを特定することはできません。
データセットのパラメータの参照構造または参照構造のフィールドに1000バイトを超える場合、最大サイズ1000バイトのデータセットをロードできるのは1つのセグメントのみであるため、生成関数を使用できません。