!--a11y-->

選択画面の押ボタン ( 画面の押ボタンと 類似) を作成するには、次の構文を使用します。
SELECTION SCREEN PUSHBUTTON [/]<pos(len)>
<push>
USER-COMMAND
<ucom> [MODIF ID <key>].
[/]<pos(len)> パラメータ、および MODIF IF 追加オプションの機能は、下線およびコメントのフォーマットオプションに対する機能と同じです。
<push> は、押ボタンのテキストを定義します。<push> には、テキストシンボルか、または最大 8 文字の任意の項目名を指定できます。この文字項目は、<len> の長さで自動生成されるので、DATA 文で宣言しないでください。この項目は、選択画面が呼び出される前に指定する必要があります。
<ucom> には、最大 4 文字のコードを指定する必要があります。ユーザが選択画面上の押ボタンをクリックすると、SSCRFIELDS インタフェース作業領域の UCOMM に、<ucom> の値が入力されます。SSCRFIELDS 構造の宣言には、TABLES 文を使用する必要があります。SSCRFIELDS-UCOMM 項目の内容は、AT SELECTION-SCREEN イベント内で処理できます。

REPORT DEMO.
TABLES SSCRFIELDS.
DATA FLAG.
SELECTION-SCREEN:
BEGIN OF
SCREEN 500 AS WINDOW TITLE TIT,
BEGIN OF LINE,
PUSHBUTTON 2(10) BUT1 USER-COMMAND
CLI1,
PUSHBUTTON 12(10) TEXT-020 USER-COMMAND
CLI2,
END OF LINE,
BEGIN OF LINE,
PUSHBUTTON 2(10) BUT3 USER-COMMAND
CLI3,
PUSHBUTTON 12(10) TEXT-040 USER-COMMAND
CLI4,
END OF LINE,
END OF SCREEN 500.
AT SELECTION-SCREEN.
CASE SSCRFIELDS.
WHEN 'CLI1'.
FLAG = '1'.
WHEN 'CLI2'.
FLAG = '2'.
WHEN 'CLI3'.
FLAG = '3'.
WHEN 'CLI4'.
FLAG = '4'.
ENDCASE.
START-OF-SELECTION.
TIT = '4
つのボタン'.
BUT1 = '
ボタン
1'.
BUT3 = '
ボタン
3'.
CALL SELECTION-SCREEN 500 STARTING AT 10 10.
CASE FLAG.
WHEN '1'.
WRITE / 'Button 1 was
clicked'.
WHEN
'2'.
WRITE /
'Button 2 was clicked'.
WHEN
'3'.
WRITE /
'Button 3 was clicked'.
WHEN
'4'.
WRITE /
'Button 4 was clicked'.
WHEN
OTHERS.
WRITE / 'No
Button was clicked'.
ENDCASE.
この例は、ダイアログボックスとして表示される選択画面上に、4 つの押ボタンを定義します。この選択画面は、SELECTION-SCREEN キーワードに対する命令チェーンで定義されます。
テキストシンボル TEXT-020 および TEXT-040 がそれぞれ ' ボタン 2' および ' ボタン 4' として定義される場合、4 つの押ボタンは、ダイアログボックスとして表示される選択画面に次のように表示されます。

<ucom> には、CLI1 、CLI2 、CLI3 、および CLI4 が使用されます。ユーザがいずれかの押ボタンをクリックすると、AT SELECTION-SCREEN イベントがトリガされ、FLAG 項目が設定されます。FLAG 項目は、ユーザが実行を選択した後、以降のプログラムフロー内でさらに処理できます。