ABAPstatement:選択画面定義

ABAP-基礎系

SAPのABAPレポートには選択画面という仕組みが標準で提供されています。
アドオンDynpro画面では、Dynproをレイアウトエディタから視覚的にデザイン可能ですが、
標準で提供されているABAPレポートの選択画面は、上記のように視覚的にデザインはできず、
ABAPプログラム内のグローバル領域において標準で用意されている要素をコードで定義することで選択画面を生成できます。
配置イメージはREPORT直下というよりかは変数等宣言よりも後且つイベントブロックよりも前に配置することが多いです。
※選択画面要素を組み合わせた例はこちらのメモをご参照ください。

■選択画面要素

選択条件

選択条件は選択画面に表示するユーザ入力用のフィールドになります。
ユーザはこの選択条件に値を入力し、実行することで入力した値に基づいたプログラム実行結果を得られます。
大きく分けて単一選択と複数選択の2つがあり、それぞれ定義方法が違います。

PARAMETERS

PARAMETERSは単一選択ができる選択条件を定義できます。
後述のSELECT-OPTIONSのように複数選択や範囲選択、排他や大小の指定はできません。

SAP ABAPレポートの選択画面におけるPARAMETERS基礎解説用画像
SELECT-OPTIONS

SELECT-OPTIONSは複数選択ができる選択条件を定義できます。
単純に複数の値を選択できるだけでなく、最大値最小値での値範囲指定や指定した値を基準に以上以下を指定したり、排他包括を指定もできます。
本命令で定義された選択条件はプログラム内でレンジテーブルとして使用できます。
※[選択条件ID] FOR [変数]で定義する必要があるため、TABLESやDATAなどで変数を事前に宣言しておく必要があります。

SAP ABAPレポートの選択画面におけるSELECT-OPTIONS基礎解説用画像

選択条件のオプション

選択条件にオプションを使用することで選択条件をカスタムできます。
使用できるオプションは多岐に渡るため、幾つかご紹介します。

OBLIGATORY

本オプションを使用することで選択条件を入力必須フィールドにすることが可能です。
PARAMETERS、SELECT-OPTIONSのどちらでも使用可能です。

SAP ABAPレポートの選択画面における選択条件オプション:OBLIGATORY解説用画像
DEFAULT

本オプションを使用すると選択条件に初期値を与えることができます。
PARAMETERS、SELECT-OPTIONSのどちらでも使用可能です。
※変数等宣言時にも本オプションを使用できます。

SAP ABAPレポートの選択画面における選択条件オプション:DEFAULT解説用画像
LOWER CASE

本オプションを使用すると選択条件の入力値について、小文字の入力が許可されます。
PARAMETERS、SELECT-OPTIONSのどちらでも使用可能です。
※使用しなければ小文字を入力しても大文字に自動変換されてしまいます。
 特に、ファイルパスなどの指定を実現したい場合はLOWER CASEをご使用ください。

SAP ABAPレポートの選択画面における選択条件オプション:LOWER CASE解説用画像
VISIBLE LENGTH

選択条件の入力フィールドは指定した型の長さで表示長が自動決定されますが、
本オプションを使用すると選択条件の入力値について表示長を短縮できます。
なお、入力できる長さは変わりません。
PARAMETERS、SELECT-OPTIONSのどちらでも使用可能です。
※本オプションで指定した長さよりも、指定の型の長さが長い場合は指定型の長さが表示長になります。

SAP ABAPレポートの選択画面における選択条件オプション:VISIBLE LENGTH解説用画像
RADIOBUTTON

本オプションを使用することで、選択条件をラジオボタンとして出力できます。
指定したグループ内のラジオボタンのいずれか一つのみをONにすることができます。
※もともとONになっていたものはOFFになります。
PARAMETERSのみ使用可能です。
USER-COMMANDを指定することで、AT SELECTION-SCREEN OUTPUTイベントブロックなどをトリガできます。

SAP ABAPレポートの選択画面における選択条件オプション:RADIOBUTTON解説用画像
AS CHECK BOX

本オプションを使用することで、選択条件をチェックボックスの外見で出力することができます。
ON=X/OFF=ブランクのため、FLAG型やC(1)型などの一文字入る型を指定する必要があります。
※型指定を省略してPARAMETERS [変数ID] AS CHECKBOXでも定義できます。
PARAMETERSのみ使用可能です。

SAP ABAPレポートの選択画面における選択条件オプション:AS CHECKBOX解説用画像
AS LISTBOX

本オプションを使用するとリストボックスの選択条件が出力できます。
使用する際はVISIBLE LENGTHオプションと併用が必要になります。
PARAMETERSのみ使用可能です。

SAP ABAPレポートの選択画面における選択条件オプション:AS LISTBOX解説用画像
NO-DISPLAY

本オプションを使用すると選択条件を非表示にできます。
画面に出力されないですが非表示項目として存在するので、バリアントにて非表示にした選択条件を表示する場合と同じく省略条件を表示ボタンを押せば表示できます。
PARAMETERS、SELECT-OPTIONSのどちらでも使用可能です。

SAP ABAPレポートの選択画面における選択条件オプション:NO-DISPLAY解説用画像
NO-EXTENSION

本オプションを使用すると選択条件から拡張機能を消去できます。
※範囲指定機能は使用可能です。
SELECT-OPTIONSのみ使用可能です。

SAP ABAPレポートの選択画面における選択条件オプション:NO-EXTENSION解説用画像
NO INTERVAL

本オプションを使用すると選択条件から範囲選択機能を消去できます。
※拡張機能は使用可能です。
SELECT-OPTIONSのみ使用可能です。

SAP ABAPレポートの選択画面における選択条件オプション:NO INTERVAL解説用画像

コメント/改行/下線

以下で改行やコメント(テキストラベル)/下線を出力できます。

SAP ABAPレポートの選択画面におけるコメントや改行、下線の出力方法解説用画像

ブロック

ブロックは選択条件をまとめて表示したい時など画面を整理する場合に使用します。
WITH FRAME TITLEでテキストエレメントを指定するとブロックのタイトルを表示できます。

SAP ABAPレポートの選択画面におけるブロックの出力方法解説用画像

画面

標準で提供されている選択画面の仕組みは通常の画面がDynpro番号1000番が割り当てられて生成されており、ParametersやSelectOptions、ブロックを指定すると自動でDynpro番号1000番の画面として生成されます。
しかし、プッシュボタンを押してポップアップの選択画面を表示させたい時など、別の画面定義が必要な際は、従属画面やウィンドウ画面として番号を指定して定義する必要があります。

従属画面

従属画面はタブ切り替え画面を定義する場合など、メイン画面内に埋め込まれる別画面として定義できます。(例:タブで画面が切り替えられる画面など)
定義するだけではどこにも出力されず、AT SELECTION SCREENイベントブロックなどで呼び出す(またはタブ切り替え機能で呼び出す)ことで、出力することができます。
※呼び出し例はこちら

ウィンドウ画面

ウィンドウ画面はプッシュボタン押下時などのイベントで呼び出すことのできる画面です。
呼び出すと従属画面とは違い、メイン画面内に埋め込まれる画面ではなく別画面のポップアップとして出力されます。
従属画面と同じく定義するだけでは出力されずAT SELECTION SCREENイベントブロックなどで呼び出すことで出力できます。
※呼び出し例はこちら

タイトルとURLをコピーしました