コンテンツフレーム起動

Dynpro の入力ヘルプ 文書を SAP ライブラリストラクチャに組み込む

スクリーンペインタ内では下記の 2 タイプの入力ヘルプを定義することができます。

...

       1.      オプション VALUES SELECT のいずれか一方を使用したFIELD 命令

       2.      Dynpro 項目への検索ヘルプの直接リンク

検索ヘルプを Dynpro 項目に直接リンクすると、FIELD 命令のオプションが上書きされます。ただし、FIELD 命令の入力チェック機能は、影響を受けずに保持されます。 

制御ロジックの入力ヘルプ

以下の入力ヘルプメソッドは、無効になり、現在は使用されておりません。互換性の保持のみを目的としてサポートされています。

Dynpro 制御ロジックでは、次のように Dynpro 項目 <f> に値一覧を指定することができます。

FIELD <f> VALUES (<val1>, <val2>,...).

この値一覧には、一連の指定値 <vali> のみが含まれます。入力ヘルプには、入力チェック NOT BETWEEN のオプションは使用できません。

以下のように、データベーステーブルにアクセスして値一覧を作成することもできます。

FIELD <f> SELECT   *
            FROM  <dbtab>
            WHERE <k1> = <f1> AND <k2> = <f2> AND...

WHERE 条件では、データベーステーブル <dbtab> の一次キー <ki> の項目が、Dynpro 項目 <fi> に照らしてチェックされます。入力ヘルプには、入力チェックで使用されるWHENEVER オプションが必要ありません。

項目 <f> ABAP ディクショナリ参照を使用している場合、選択と該当対象一覧の書式設定が項目に割り当てられているチェックテーブルの影響を受ける場合があります。

検索ヘルプの割当

ABAP ディクショナリからの検索ヘルプを ストラクチャのリンクDynpro 項目に割り当てる ことができます。これは、スクリーンペインタで Dynpro 項目の属性の対応項目に検索ヘルプ名を入力して実行します。これによって、検索ヘルプの最初のパラメータが Dynpro 項目に割り当てられます。該当対象一覧の値を Dynpro に配置することのみができます。

例

Dynpro の入力ヘルプ

REPORT DEMO_DYNPRO_F4_HELP_DYNPRO MESSAGE-ID AT.

DATA: CARRIER(3) TYPE C,
      CONNECTION(4) TYPE C.

CALL SCREEN 100.

MODULE CANCEL INPUT.
   LEAVE PROGRAM.
ENDMODULE.

Dynpro 100 の次画面 ( 静的定義) は同じ Dynpro です。これは次のようなレイアウトになります。

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

入力項目はプログラム項目 CARRIER CONNECTION から取得されています。押しボタンの機能コードは CANCEL で、機能タイプは E です。検索ヘルプパラメータ CARRID のある検索ヘルプ DEMO_F4_DE Dynpro 項目 CARRIER に割り当てられています。検索ヘルプでは、データベーステーブル SCARR が使用されます。

この Dynpro 制御ロジックは次のとおりです。

PROCESS BEFORE OUTPUT.

PROCESS AFTER INPUT.
  MODULE CANCEL AT EXIT-COMMAND.
  FIELD CARRIER VALUES ('AA', 'LH').
  FIELD CONNECTION SELECT *
                      FROM  SPFLI
                      WHERE CARRID = CARRIER
                        AND CONNID = CONNECTION.

ユーザが個別の項目で入力ヘルプを選択すると、入力ヘルプが以下のように表示されます。

         航空会社項目には、検索ヘルプによって航空会社名が表示され、選択した行の入力航空会社コードが配置されます。航空会社コードが Dynpro 制御ロジックの VALUES 一覧に記載されたものではない場合は、PAI イベントで入力チェックによってエラーメッセージがトリガされます。このため、検索ヘルプによって入力ヘルプの VALUES オプションが上書きされます。ただし、入力チェックでは上書きされません。したがって、これは VALUE オプションの使用には適していない場所になります。

         フライト番号項目には、制御ロジックによってデータベーステーブル SPFLI から選択されたエントリが表示され、入力項目の選択した行に配置されます。

 

 

 

 

 

コンテンツフレーム終了