!--a11y-->

スクリーンペインタ内では下記の 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 から選択されたエントリが表示され、入力項目の選択した行に配置されます。