SAP資格過去問ならSAPnavi

NoteやStripe決済で安全にSAP過去問を購入することができます。
領収書発行可能 / 即時入手可能

SAP過去問 (SAP Exam)

Maintaining the BAPI-ALE Interface

使用する

標準の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開発画面で、 Start of the navigation pathBAPI Next navigation step 生成ALEインタフェース(BDBG)をEnd of the navigation path選択します。

カスタマーシステムでは、すべてのオブジェクト名はYまたはZで始まるか、独自のプレフィックスで始まる必要があります。

次のように実行します。

  1. ビジネスオブジェクト(オブジェクトタイプ)とインターフェイスの基礎となるメソッドを入力します。

  2. [インターフェイス]メニューで、 [作成]、[変更]、[表示]、[チェック] 、または[削除]のいずれかのオプションを選択します。

    インターフェースの作成

    前提条件:このBAPIのインターフェースがまだ生成されていないか、既に生成されているインターフェースが[削除]オプションを使用して削除されている。生成されるオブジェクトの名前が提案されます。それらを変更することができます。

    メッセージタイプの名前を指定します。

    ダイアログボックスが表示されます。

    デフォルトの名前には、次の命名規則があります。

    メッセージタイプ:

    商号

    例:

    MYTEST

    エントリを確認します。

    次のダイアログボックスで次のエントリを作成できます。

    IDocタイプ:

    <メッセージタイプ>01

    例:

    MYTEST

    アウトバウンド汎用モジュール:

    ALE_ <OBJECT> _ <METHOD>

    例:

    ALE_EXAMPLE_TEST

    インバウンド汎用モジュール:

    IDOC_INPUT_<メッセージタイプ>

    例:

    IDOC_INPUT_MYTEST

    デフォルトのパッケージおよび汎用グループは、BAPI汎用モジュールが属するものです。独自のインターフェースを生成するときは、独自のパッケージと機能グループを使用する必要があります。

    次のオプションを使用できます。

    • 許可されたデータフィルタリング

      データをフィルタリングする場合は、フィルターを作成または変更するときに、ダイアログボックスで[データのフィルタリングを許可する]オプションを選択する必要があります。SAPによって生成されたBAPI-ALEインターフェースでは、通常、このオプションが選択されます。また、以下に概説する注記を念頭に置いてください。

    • 更新タスクを呼び出す

      データベースの変更が更新タスクを使用するメソッドによって実行される場合は、このインジケーターを選択する必要があります。

    • パケット処理が許可されました

      パケット処理を許可する場合は、このオプションを選択する必要があります。関連するBAPIはパケットを処理できる必要があります。パケットサイズは、ALEカスタマイジングで設定することができます。

      オブジェクトを生成しない項目を空のままにして、メッセージおよびIDocタイプ(必須項目)のみ、または汎用モジュールの1つ(オプション項目)のみを生成することができます。

    エントリを確認します。

    [セグメント名の入力]ダイアログボックスが表示されます。

    セグメント名を入力します。

    推奨されるセグメントタイプは、メッセージタイプまたはBAPI構造から派生しています。

    E1<メッセージタイプ>

    ヘッダーセグメントとしての個々のフィールドの場合

    例:E1MYTEST

    E1BP_XX..。

    構造体BAPI_XXのパラメータについて…

    例:BAPI_HUGOのE1BP_HUGO

    セグメントに1000バイトを超えるデータが含まれている場合、子セグメントはそのセグメントから自動的に生成されます。子セグメント名は、名前の長さが27桁未満の場合、元のセグメントに1、2、…の数字が追加されて拡張されます。

    インターフェースの変更

    前提条件:このBAPIのオブジェクトはすでに作成されています。

    BAPIが変更された後に既存のALEインタフェースのオブジェクトを再生成するには、変更を選択しますオブジェクトメソッドのインタフェース構造が変更された場合、IDocタイプとIDocセグメントが再生成されます。汎用モジュールは、IDocタイプまたはセグメントの1つが変更された場合にのみ再生成することができます。

    オブジェクトを作成するときと同様に、ここにもダイアログボックスが表示されます。このダイアログボックスには、システムにすでに存在するオブジェクトが表示されます。入力フィールドではありません。

    フィールドが空の場合、そのオブジェクトを生成できます。

    ディスプレイインターフェース

    前提条件:このBAPIのオブジェクトはすでに存在します。

    このBAPIの既存のオブジェクトがすべて表示されます。これにより、BAPIメソッドとIDocメッセージタイプの関係の概要がわかります。

    インターフェースの削除

    前提条件:このBAPIのオブジェクトはすでに作成されています。

    汎用モジュールは、システムに存在する場合は削除することができます。

    IDoc構造がまだリリースされていない場合は、削除されます。

    IDocセグメントは、リリースされておらず、他のIDocで使用されていない場合にのみ削除されます。

    最後に、メッセージタイプがIDocタイプに割り当てられていない場合、メッセージタイプは削除されます。

    インターフェースを確認する

    前提条件:このBAPIのオブジェクトはすでに作成されています。

    システムは、このBAPIに関連するすべてのオブジェクトがシステムで利用可能かどうかをチェックします。また、オブジェクト(IDocタイプとセグメント)がすでにリリースされているかどうかもチェックします。

    オブジェクトのリリースステータスは変更できます(以下の注のリリースの設定とリリースキャンセルを参照)。

  3. インターフェイスを解放できます。

    開発者は、IDocタイプおよびセグメントのリリースステータスを変更できます([セットリリースのStart of the navigation path編集 Next navigation step End of the navigation path]または[Start of the navigation pathリリースのキャンセルEnd of the navigation path]を選択します)。

    必要な権限は、権限オブジェクトS_IDOCDEFTのS_IDCDFT_AL+およびS_IDCDFT_ALLです。

    オブジェクトを解放する前に、BAPIがすでに解放されている必要があります。オブジェクトがリリースされると、システムは最初に、BAPIメソッドで生成されたインタフェースが現在のステータスであることを確認します。オブジェクトが解放されていない場合は、インターフェイスを再生成するかどうかを尋ねられます。リリースに関連するセグメントとIDocタイプが決定されます。新しいステータスは、まだリリースされていないオブジェクトに割り当てられます。

    リリースはいつでもリセットできます。このアクションは、トランスポートシステムに接続されています。

    生成された汎用モジュールはリリースされません。

結果

生成されたオブジェクトとそのステータスが画面に表示されます。すべての変更は移送依頼に入れられます。

詳しくは

次の点に注意してください。

  • 名前空間の拡張

    名前空間の拡張は、顧客とパートナーに対してもサポートされています。

  • データ選択のためのフィルタリング

    データの分布は、分布モデルでフィルターとして定義されている条件にリンクできます。

    データをフィルタリングする場合は、フィルターを作成または変更するときに、ダイアログボックスで[データのフィルタリングを許可する]オプションを選択する必要があります。

    詳細については、「データのフィルタリング」を参照してください。

    機能レベルおよびビジネスレベルでの有用なフィルタリングの前提条件は、BAPIテーブルパラメータ間に階層的な依存関係が存在することです。インターフェイスを生成する前に、依存関係を定義する必要があります。Start of the navigation pathBAPIインタフェース Next navigation step データフィルタリング Next navigation step 、テーブルパラメータの階層のEnd of the navigation path更新(BDBP)を選択します。依存関係に加えられた変更には互換性がなければならないことに注意してください。互換性がないと、フィルタリングの結果が異なります。詳細については、 BAPIパラメータ間の階層の定義を参照してください。

  • シリアル化

    アウトバウンド処理側の汎用モジュールには、オプションのパラメータSERIAL_ID(チャネル番号への参照)があります。この入力パラメータは、オブジェクトチャネルへのメッセージの割り当てを管理します。ターゲットシステムのすべてのメッセージは、ソースシステムで作成されたのと同じ順序でオブジェクトチャネルで処理されます。オブジェクトチャネルは、BAPIのオブジェクトタイプとチャネル番号からのキーによって識別されます。

    詳細については、オブジェクトタイプによるシリアル化を参照してください。

  • リンク

    ALEのリンクは、次の質問に答えます。

    アウトバウンド処理:

    IDocはどのアプリケーションオブジェクトから作成されましたか?

    前提条件は、アプリケーションがアウトバウンド処理に使用される汎用モジュールのパラメータAPPLICATION_OBJECTSを正しく入力していることです。

    インバウンド処理:

    どのアウトバウンドIDocからインバウンドIDocが作成され、どのアプリケーションオブジェクトがインバウンドIDocから作成されましたか?

    前提条件は、キーがBAPIメソッドのビジネスオブジェクトリポジトリ(BOR)で定義されていること、およびこのキーがエクスポートおよびインポートパラメータのBAPI汎用モジュールに含まれていることです。このキーは、いくつかのキーフィールドで構成されている場合があります。BORにキーフィールドがない場合は、別のオブジェクトへのリンクを指定できます。

  • 生成された汎用モジュールに関する文書

    インバウンドおよびアウトバウンド処理用に生成された汎用モジュールに関する文書が作成されています。このドキュメントは、インターフェイス内から表示できます。パラメータの目的とその値について説明します。

  • BAPIリターンパラメータとIDocステータス

    戻りパラメーターがアプリケーションによって入力されている場合、IDocステータスおよびパラメーターからの関連情報はIDocに含まれます。メッセージタイプによってIDocステータスが決まります。

    戻りパラメーターがEXPORTINGパラメーターの場合、単一のIDoc状況レコードが書き込まれます。

    メッセージタイプA

    ステータス51

    (アプリケーションドキュメントは投稿されておらず、DBロールバックあり)

    メッセージタイプE

    ステータス51

    (アプリケーションドキュメントは投稿されていません。DBロールバックはありません)

    メッセージタイプW、I、またはS

    ステータス53

    (出願書類掲載)

    戻りパラメータがTABLESパラメータの場合、テーブル内のメッセージタイプに応じて、複数のIDocステータスレコードを書き込むことができます。

    メッセージタイプA

    ステータス51

    (アプリケーションドキュメントは投稿されておらず、DBロールバックあり)

    (メッセージタイプSのステータスはありません)

    メッセージタイプE

    ステータス51

    (アプリケーションドキュメントは投稿されていません。DBロールバックはありません)

    (メッセージタイプSのステータスはありません)

    メッセージタイプAまたはEはありません

    ステータス53

    (出願書類掲載)

    IDocステータスレコードは、returnパラメータのメッセージと同じ順序でデータベースに書き込まれます。

    戻りパラメーターが入力されていない場合は、IDocによってBAPIが正常に呼び出されたことを意味します。この場合、ステータス53(申請伝票転記)のIDocステータスレコードがALEレイヤから書き込まれます。

    エラーが発生した場合、returnパラメータからの最初のメッセージのみが関連するエラータスク(作業項目)のテキストにコピーされます。

  • インターフェイスの生成に関する制限

    パラメータの参照構造がBAPI汎用モジュール(IMPORTおよび/またはTABLES)で同じである場合は、生成機能を使用しないでください。この状況では、IDocセグメントはパラメーターに一意にマップされません。このため、インバウンドIDocの処理時にパラメータを特定することはできません。

    データセットのパラメータの参照構造または参照構造のフィールドに1000バイトを超える場合、最大サイズ1000バイトのデータセットをロードできるのは1つのセグメントのみであるため、生成関数を使用できません。

タイトルとURLをコピーしました