【ABAP】PARAMETERS―選択項目の作成を3分で解説

ABAP

本ページでは、選択画面作成の際に必須となるPARAMETERS命令について解説します。

ABAPで作成する選択画面は、SELECTION-SCREEN命令/SELECT-OPTIONS命令、そして本ページで解説するPARAMETERS命令の組み合わせで成立します。

このページで学べる内容
  • PARAMETERS命令とは?
  • PARAMETERS命令の構文ルール:書き方:使い方
  • PARAMETERS命令の様々なオプション
    • OBLIGATORY:必須入力
    • NO-DISPLAY:非表示
    • VISIBLE LENGTH:表示長
    • AS CHECKBOX:チェックボックス
    • AS LISTBOX:リストボックス
    • RADIOBUTTON:ラジオボタン

ABAPエンジニアを目指す方であれば知らないと恥ずかしい超・基本事項ですので、是非最後までご覧ください。

スポンサーリンク
スポンサーリンク

PARAMETERS命令とは?

PARAMETERS命令は、選択画面内に入力項目を作成する命令です。

上記の項目 "INT1" と "INT2" はPARAMETERS命令を使って作成された入力項目です。

最もBasicでシンプルな入力項目です。

SELECT-OPTIONS命令との違い

SELECT-OPTIONS命令も選択画面中の入力項目を作成する命令です。

SELECT-OPTIONS命令では、最小値・最大値の入力(from/to指定)ができる入力項目を定義します。

PARAMETERS命令が作成する項目は、あくまでも指定値1つのみしか入力することができない項目です。

構文ルール:PARAMETERS

構文ルール:PARAMETERS

PARAMETERS (項目名) TYPE (データ型)(オプション).

構文ルールはDATA命令とほぼ同じです。ユーザによって入力された値は、プログラムの処理では1つの変数のような扱いを受けると考えてOK

そのため、PARAMETERS命令は、DATA命令と同じように箱を作ってあげるようなイメージで問題ありません。

プログラムを実行する際の条件を変更するような使い方をすることからPARAMETERSと呼ばれると理解すれば命令の意味もよく理解できるはずです。

PARAMETERS命令で作成する項目名は、最大8文字で定義します。それ以上の場合、構文エラーとなります。

実際にPARAMETERS命令の使い方と簡単な画面をご覧ください。

*&---------------------------------------------------------------------*
*& Report  YTEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YTEST.

PARAMETERS: TEXT(15) TYPE C,
            DATE TYPE D,
            NUM TYPE P DECIMALS 4.
PARAMETERS命令

PARAMETERS命令:オプション

PARAMETERS命令には様々な属性定義オプションが存在します。

例えば、その項目が必須入力なのかどうか。非表示項目なのかどうか。

それらのオプションの動作を解説します。

OBLIGATORY:必須入力

オプションにOBLIGATORYと記述することで、その項目への値入力が必須となります。

PARAMETERS: TEXT1(15) TYPE C OBLIGATORY.

TYPEオプションの後ろに記述します。

*&---------------------------------------------------------------------*
*& Report  YTEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YTEST.

PARAMETERS: TEXT1(15) TYPE C OBLIGATORY,
            TEXT2(15) TYPE C,
            TEXT3(15) TYPE C.
OBLIGATORY

"TEXT1" の項目にチェックマークがついています。これは、その項目が必須入力であるということを示します。

もし、この項目に値が入っていない場合に実行ボタンを押すと、エラーメッセージが出力されプログラムを実行することができません。

NO-DISPLAY:非表示

続いて、NO-DISPLAYオプションについて。

NO-DISPLAYオプションは画面を非表示にするオプションです。

*&---------------------------------------------------------------------*
*& Report  YTEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YTEST.

PARAMETERS: TEXT1(15) TYPE C OBLIGATORY,
            TEXT2(15) TYPE C NO-DISPLAY,
            TEXT3(15) TYPE C.

上記サンプルコードを実行した結果がこちら。

NO-DISPLAYオプションを適用した"TEXT2" という項目が非表示となっています。ユーザから見る画面から"TEXT2" という項目を確認することができなくなります。

ただし、あくまでも非表示になっているだけでこの項目は依然として存在しています。他のプログラムから値を受け取ることを目的としている項目の場合に用います。

VISIBLE LENGTH:表示する項目長

VISIBLE LENGTHオプションで、表示する長さを指定することが可能です。

*&---------------------------------------------------------------------*
*& Report  YTEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YTEST.

PARAMETERS: TEXT1(15) TYPE C OBLIGATORY,
            TEXT2(15) TYPE C NO-DISPLAY,
            TEXT3(15) TYPE C VISIBLE LENGTH 5,
            TEXT4(15) TYPE C.

"TEXT2" の項目は15で定義していますが、実際に表示されているのは5文字分だけ。

このオプションを利用しているシーンはあまり見かけませんが、オプションの1つとして覚えておきましょう。

ちなみに、このVISIBLE LENGTHオプションはあくまでも表示項目を減らすだけであって、入力可能な長さは変わりません。

AS CHECKBOX:チェックボックス

チェックボックスを作成する際に利用するオプションです。

*&---------------------------------------------------------------------*
*& Report  YTEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YTEST.

PARAMETERS: TEXT1(15) TYPE C OBLIGATORY,
            TEXT2(15) TYPE C NO-DISPLAY,
            TEXT3(15) TYPE C VISIBLE LENGTH 5,
            TEXT4     TYPE C AS CHECKBOX,
            TEXT5(15) TYPE C.

チェックがされている場合の値は「X」となります。

チェックボックスの項目は、データ型Cの項目長1で定義します。

それ以外の場合は構文エラーとなります。

AS LISTBOX:リストボックスの作成

AS LISTBOXオプションを利用するとリストボックスが作成されます。

AS LISTBOXを用いる際は、先ほど解説した「VISIBLE LENGTHオプション」と同時に指定する必要があります。

*&---------------------------------------------------------------------*
*& Report  YTEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YTEST.

PARAMETERS: TEXT1(15) TYPE C OBLIGATORY,
            TEXT2(15) TYPE C NO-DISPLAY,
            TEXT3(15) TYPE C VISIBLE LENGTH 5,
            TEXT4     TYPE C AS CHECKBOX,
            TEXT5(15) TYPE C VISIBLE LENGTH 5 AS LISTBOX,
            TEXT6(15) TYPE C.

RADIOBUTTON GROUP:ラジオボタン

RADIOBUTTON GROUPオプションを利用するとラジオボタンが作成されます。

*&---------------------------------------------------------------------*
*& Report  YTEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YTEST.

PARAMETERS: TEXT1(15) TYPE C OBLIGATORY,
            TEXT2(15) TYPE C NO-DISPLAY,
            TEXT3(15) TYPE C VISIBLE LENGTH 5,
            TEXT4     TYPE C AS CHECKBOX,
            TEXT5(15) TYPE C VISIBLE LENGTH 5 AS LISTBOX,
            TEXT6     TYPE C RADIOBUTTON GROUP r1,
            TEXT7     TYPE C RADIOBUTTON GROUP r1,
            TEXT8     TYPE C RADIOBUTTON GROUP r1.

初期値の割り当て

PARAMETERS命令で定義した項目に初期値を与えることも可能です。(基本は初期値はすべてブランクで設定されています。)

初期値設定の使いどころとしては、ユーザへのサジェストであったり、入力内容が決まっている場合に用います。

初期値の割り当ては、DEFAULTオプションを用います。

DEFAULTオプションの使い方については、下記のページで詳しく解説しておりますので、合わせてご参照ください。

補足:TYPEオプションを用いない場合

実はPARAMETERS命令は、TYPEオプションは必須ではありません。

TYPEオプションを利用しない場合、デフォルトで長さ1の「C:文字型」で定義されます。

ただし、この知識を知っている人はかぎられてくるので、PARAMETERS命令を用いる場合は必ずTYPEオプションをセットで利用するようにしましょう。

ABAPを1から勉強したい方は

ABAPを1から学習したい初心者の方向けに、できるだけ網羅的にABAPが理解できるよう以下ページに知識体系を整理しています。

特に初心者のうちは、どこから学べばよいか?どう勉強すれば良いか?すらわからない状態になりがち。

ある程度の知識を持ったうえで、はじめて実践的な理解へとつながります。

是非、一度ご覧になってみてください。

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