!--a11y-->

実行プログラムで宣言された入力項目のデータ型が ABAP ディクショナリで定義されている場合、ユーザがその項目にカーソルを合せて F1 を押すと、基となるデータエレメントの文書が自動的に表示されます。ディクショナリへの参照がない入力項目のヘルプを作成したり、項目にデフォルトでリンクされているヘルプを上書きするには、次のイベントに対応するイベントブロックを作成します。
AT SELECTION-SCREEN ON HELP-REQUEST FOR <field>
このイベントは、ユーザが項目 <field> の F1 ヘルプを呼び出したときにトリガされます。対応するイベントブロックが定義されていない場合は、ABAP ディクショナリのヘルプが表示されます。項目にディクショナリへの参照がなければ、何も表示されません。対応するイベントブロックが定義されている場合は、それがデフォルトのヘルプ機構に優先します。適切なヘルプが表示されるようにするのはプログラマの責任です。
論理データベース内で宣言されている選択画面の入力項目に対して AT SELECTION-SCREEN ON HELP-REQUEST イベントブロックを宣言することはできません。プログラムで論理データベースのヘルプ機構をオーバーライドすることはできません。PARAMETERS および SELECT-OPTIONS 命令の HELP-REQUEST オプションを使用すると、論理データベースプログラム内に別のヘルプを定義することができます。

REPORT SELECTION_SCREEN_F1_DEMO.
PARAMETERS: P_CARR_1 TYPE
S_CARR_ID,
P_CARR_2
TYPE S_CARR_ID.
AT SELECTION-SCREEN ON HELP-REQUEST FOR P_CARR_2.
CALL SCREEN 100 STARTING AT 10 5
ENDING
AT 60 10.
このプログラムでは、選択画面を宣言し、ABAP ディクショナリのデータエレメント S_CARR_ID を参照する 2 つのパラメータを指定しています。P_CARR_1 には ABAP ディクショナリの文書を使用し、P_CARR_2 にはヘルプ画面 100 を呼び出します。このヘルプ画面に制御ロジックは不要です。