コンテンツエリア開始

Function documentation プログラム式バインド Locate the document in its SAP Library structure

用途

バインド指示でプログラム式バインドを使用することができます。プログラム式バインドを使用して、以下のような、より複雑な割当を登録することができます。

     割当前にコンテナエレメントで計算またはチェックを実行

     割当前に 2 つ以上のコンテナエレメントを組合せる

バインドエディタで各行に対してプログラム式バインドを定義することができます。

ABAP クラスまたは汎用モジュール

プログラム式バインドを ABAP クラスまたは汎用モジュールとして導入することができます。

ABAP クラス

ABAP クラスを使用して、コンテナ コンテナとデータ型 データ型バインドを実装することができます。

ABAP クラスとして実装されているバインドが、拡張としてバインド命令の一覧に表示され、すべてのワークフローでも表示されます。そのため、この型の ABAP クラスは、全社的な拡張の作成に特に適しています。

このような拡張はバインドエディタで完全に統合されています。クラスに対する独自のチェックを導入し、バインドエディタで拡張の表示に使用される名称およびシンボルを選択します。

汎用モジュール

汎用モジュールを使用して、コンテナ コンテナバインドを実装することができます。

汎用モジュールは、BOR コンテナインタフェースまたはコンテナインタフェースを使用することができます。

Note

BOR コンテナインタフェースは互換性のためにサポートしています。そのため、以下の理由により、新規汎用モジュール用コンテナインタフェースを使用することをお奨めします。

      コンテナにはデータ型に関する制限がありません。BOR コンテナでは、REF TOSTRINGXSTRING255 文字を超える項目といったデータ型はサポートされません

      コンテナインタフェースにデータ型規則は必要ありません。これにより、パフォーマンスが向上します。

アクティビティ

ABAP クラスのプログラム式バインド

プログラム式バインドの ABAP クラスには、以下のインタフェースを実装する必要があります。

     データ型 データ型バインド: IF_SWF_IFS_BIND_TRANSFORM

     コンテナ コンテナバインド: IF_SWF_IFS_BIND_TRANSFORM_CONT

両方のインタフェースには以下のメソッドが含まれています。

インタフェースメソッド

メソッド

内容説明

CHECK

互換性チェック。データソースのデータ型をチェックすることができます。

クラスを選択すると、バインドエディタによってアクセスされます。

チェックが必要でない場合、エントリなしで実装することができます。

TRANSFORM

ユーザ定義バインド指示。

実行時に呼び出されます。

GET_SUPPORTED_OPTIONS

サポート対象オプションの一覧。表示する標準オプションを設定します。

バインドエディタによってアクセスされます。

静的CHECK および TRANSFORM メソッドが実装され、クラスが有効化されている場合、クラスは、(拡張) バインド指示の一覧項目で選択として利用可能になります。

データ型 データ型バインド IF_SWF_IFS_BIND_TRANSFORM

インタフェースによってソースデータ型および対象データ型が設定され、ユーザ定義クラスsource_element およびtarget_element へ転送されます。クラスによって、CHECK メソッドでソースデータ型および対象データ型のデータ型を設定することができます。

ソースデータ型を対象データ型へ追加する CL_SWF_BND_TRANS_ADD_TO デモクラスは、このタイプのバインドの一例です。ソースデータ型をテーブルにすることができます。

IF_SWF_IFS_BIND_TRANSFORM_CONT を使用したコンテナ コンテナバインド

コンテナ コンテナバインドは、対象コンテナでのみ変更を行うことができます。ソースコンテナでの変更は許可されていません

インタフェースによってソースデータ型および対象データ型が設定され、ユーザ定義クラス source_container および target_container へ転送されます。

また、インタフェースによってバインドイベンド dataflow_event CHECK および TRANSFORM メソッドへ転送されます。つまり、インポートイベントまたはエクスポートイベントのアクセスに対して異なる応答ができます。ワークフロー間のバインドに対して以下が適用されます。

     エクスポートイベントに関しては、ワークフローコンテナがソースコンテナに、タスクコンテナが対象コンテナになります。

     インポートイベントに関しては、タスクコンテナがソースコンテナに、ワークフローコンテナが対象コンテナになります。

CHECK メソッドで妥当性チェックを実行することができます。特定のエレメントがソースコンテナと対象コンテナのどちらで定義されているかチェックすることができます。

IF_SWF_IFS_BIND_PRESENTATION を使用したデータフローエディタの照会

クラスは、IF_SWF_IFS_BIND_PRESENTATION インタフェースを実装することもできます。インタフェースは、クラスの名称、言語依存内容説明、およびアイコンを提供します。この情報は、バインド指示の一覧項目でクラスを選択した場合にのみ表示されます。

インタフェースメソッド

メソッド

内容説明

GET_ICON

クラス用に表示されるアイコン。

GET_NAME

クラスに固有の言語依存の内容説明。"Add to" など。

GET_DESCRIPTION

言語依存の内容説明。"Add to" など。

このバインドは、以下の場所で表示されます。

     拡張の一覧項目で

     クイックインフォとして

     項目名とし

 

以下のメソッドは現在使用されていません。これらは実装する必要がありますが、空白のままにすることができます。

     GET_SYMBOL

     GET_TEXT_KEY

     TO_HTML

     TO_STRING

汎用モジュールのプログラム式バインド

ワークフローの基本データで指定した汎用グループで、プログラム式バインド用の汎用モジュールを登録します。この汎用グループには、このワークフロー用に登録されたすべてのオブジェクトを含めてください。バインドエディタを使用して汎用モジュールを登録した場合、その汎用モジュールは、自動的に汎用グループに保存されます。ワークフローの基本データで汎用グループが指定されていない場合、自動的に 1 つの汎用グループが登録されます。

登録された新規汎用モジュールは、以下の汎用モジュールをベースにしています。

     BOR コンテナ: SWA_TEMPLATE_EXECUTE_DATAFLOW

     コンテナインタフェース: SWA_BINDING_TEMPLATE

インタフェースの内容説明およびプログラミングに関するノートは、汎用モジュール文書で閲覧することができます。

 

 

コンテンツエリア終了