コンテンツフレーム起動

選択の編集 文書を SAP ライブラリストラクチャに組み込む

論理データベースの構造を表示または変更するには、論理データベースビルダの第一画面で 選択を選択するか、または別のコンポーネントから選択インクルードにナビゲートします。 

選択インクルード名は DB<ldb>SEL となり、<ldb> は論理データベース名を表します。このインクルードプログラムは、INCLUDE 文を使用してデータベースプログラム内に 組み込まないでください。代わりに、実行時環境が論理データベースを生成する際、データベースプログラムおよび対応するプログラム内に選択インクルードがインクルードされます。

選択を編集しようとした時点で、既存の選択インクルードがない場合は、システムがこれを生成します。これには、構造内の全データベーステーブル (T 型のノード) に対する SELECT-OPTIONS 文が含まれます。各データベーステーブルに対し、一次キー内の全項目に対する選択基準の提案が生成されます。 

この SELECT-OPTIONS 文はコメントアウトされ、選択基準名の代わりに疑問符が挿入されます。使用するすべての選択基準に対し、選択基準名を入力して、コメント文字 (*) を削除する必要があります。

また、検索ヘルプが論理データベースに指定されている場合は、対応する PARAMETERS 文が、AS SEARCH PATTERN 追加オプションと共に生成されます。これで、 検索ヘルプを使用する選択という名前のグループボックスが選択画面に表示され、検索ヘルプ ID および検索文字列を入力するための入力項目が表示されます。また、複合検索ヘルプに対する押ボタンも表示されます。この機能を選択すると、各項目に複合選択を入力できます。

最後に、T または S 型のノードに対し、 動的選択および項目選択のための SELECTION-SCREEN 文が生成されます (構造定義によって許可されている場合)

デフォルトの要素に加え、以下の文を使用して選択画面を拡張することができます。

         PARAMETERS 文とその追加オプションを使用すると、個別値の入力項目を追加できます。これらの文は、プログラムフローの制御などに使用できます。選択インクルードには、PARAMETERS 文で、FOR NODE または FOR TABLE 追加オプションを使用する 必要がありますNODE は、すべてのノード型に対して使用できます。TABLE は、T 型のノードにのみ使用できます。選択画面の生成時には、実行可能プログラムで NODES または TABLES 文によって宣言されたノード、または LDB_PROCESS 汎用モジュールによって要求されたノードだけに対して項目が生成されます。

         SELECTION-SCREEN 文を使用すると、選択画面をフォーマットできます。

        次の文を使用すると、

SELECTION-SCREEN DYNAMIC SELECTIONS FOR NODE|TABLE <node>.

動的選択のためのノードをさらに定義できます。T 型のノードには、NODE の代わりに TABLE を使用できます。これで、ユーザは実行時に、選択を入力するためのノードのコンポーネントを決定できるようになります。動的選択を使用するには、データベースプログラム内で特別な処理が必要になります。

         次の文を使用すると、

SELECTION-SCREEN FIELD SELECTION FOR NODE|TABLE <node>.

項目選択のためのノードをさらに定義できます。T 型のノードには、NODE の代わりに TABLE を使用できます。実行可能プログラムにおいて、GET 文内で項目一覧を使用すると、論理データベースのどのノードの項目を読み込むかを指定できます。汎用モジュール LDB_PROCESS では、FIELD_SELECTION パラメータをこのとおりに渡す必要があります。動的選択を使用するには、データベースプログラム内で特別な処理が必要になります。

         次の文を使用すると、

SELECTION-SCREEN BEGIN OF VERSION <dynnr>
  ...

  SELECTION-SCREEN EXCLUDE <f>.
  ...
SELECTION-SCREEN BEGIN OF VERSION <dynnr>.

1000 未満の画面番号 <dynnr> により、別バージョンの選択画面を作成できます。<f> に指定した選択基準またはパラメータに対応する入力項目を、非表示にすることができます。これにより、実行可能プログラムで、適切なバージョンの選択画面を処理できるようになります。

DB<dba>SEL 選択インクルードに対し、構文エラーをチェックするには、第一画面で チェックを選択します。データベースプログラムの編集中にチェックを選択しても、選択インクルードの構文がチェックされます。

 例

論理データベース TEST_LDB が、以下の 構造を持つとします。

このグラフィックは添付のテキストに説明されています

これに対して生成されるデフォルトの選択インクルードは、次のようになります。

*-----------------------------------------------------------*
* Include DBTEST_LDBSEL
* It will be automatically included into the database program
*-----------------------------------------------------------*
* If the source is automatically generated,
* please perform the following steps:

* 1. Replace ? by suitable names (at most 8 characters).
* 2. Activate SELECT-OPTIONS and PARAMETERS (delete stars).
* 3. Save source code.
* 4. Edit database program.
*
* Hint: Syntax-Check is not possible within this Include!

* It will be checked during syntax-check of database program.
*-----------------------------------------------------------*

* SELECT-OPTIONS:  ?FOR LFA1-LIFNR.


* Parameter for search pattern selection (Type SY-LDB_SP):
* PARAMETERS p_sp AS SEARCH PATTERN FOR TABLE LFA1.

* SELECT-OPTIONS :
*                   ?FOR LFB1-LIFNR,
*                   ?FOR LFB1-BUKRS.


* SELECT-OPTIONS :
*                   ?FOR LFC1-LIFNR,
*                   ?FOR LFC1-BUKRS,
*                   ?FOR LFC1-GJAHR.


* SELECT-OPTIONS :
*                   ?FOR BKPF-BUKRS,
*                   ?FOR BKPF-BELNR,
*                   ?FOR BKPF-GJAHR.


* Enable DYNAMIC SELECTIONS for selected nodes :
* Enable FIELD SELECTION for selected nodes :

LFA1 および LFB1 ノードが動的選択に、LFC1 ノードが項目選択にそれぞれ定義されている場合は、以下のコード行も生成されます。

SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE LFA1.

SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE LFB1.

SELECTION-SCREEN FIELD SELECTION FOR TABLE LFC1.

自動生成された選択インクルードは、次のように編集できます。

* Selection criteria:

  SELECT-OPTIONS SLIFNR  FOR LFA1-LIFNR.

  SELECT-OPTIONS SBUKRS  FOR LFB1-BUKRS.

  SELECT-OPTIONS SGJAHR  FOR LFC1-GJAHR.

  SELECT-OPTIONS SBELNR  FOR BKPF-BELNR.

* Self-defined parameters:

  PARAMETERS PSTIDA LIKE SY-DATUM FOR NODE BKPF.

* Dynamic selections for LFA1 and LFB1:

  SELECTION-SCREEN DYNAMIC SELECTIONS FOR NODEE: LFA1, LFB1.

* Field selection for LFB1 and LFC1:

  SELECTION-SCREEN FIELD SELECTION FOR NODE: LFB1, LFC1.

ここでは、有効な選択基準から選択が選ばれ、名前を割り当てられます。PSTIDA 追加パラメータが宣言され、BKPF ノードにリンクされます。LFA1 および LFB1 テーブルには、動的選択が定義されます。LFB1 および LFC1 テーブルには、項目選択が定義されます。

 

 

 

 

コンテンツフレーム終了