【ABAP】PARAMETERS

概要

以下図の通り選択画面に入力項目を表示する命令となります。
PARAMETERS命令で定義した変数はパラメータと呼ばれます。
このパラメータにはオプションを使用する事で入力必須項目、チェックボックスなど
定義することが可能です。

命令文

命令文は以下の通り、オプションは必要に応じて追加します。

PARAMETERS 変数 TYPE 型 オプション.

特徴

特徴は以下の4つの通りとなります。

  • パラメータ(変数)は最大8桁
  • 命令した宣言位置によって入力項目の位置が決まる
  • データ型F、参照タイプ(TYPE REF TO)、集約タイプを使用する事は出来ない
  • 選択画面に表示される名称はパラメータ(変数)が表示される

パラメータ(変数)は最大8桁

コーディングで定義する変数名は最大8桁までとなります。
8桁を超えた場合はエラーとなるため注意です。

入力項目の位置

PARAMETERSを定義する位置によって入力項目の表示位置が決まります。
図の通りコーディング順序(上から順番)で入力項目の順番が決まっています。

データ型F、参照タイプ、集約タイプの使用不可

見出しの通り使用不可のため使用した場合はエラーとなります。

選択画面の名称(選択シンボル)

選択画面の名称は何も設定していなければパラメータのまま表示されます。
選択シンボルを使用する事でパラメータを名称で表示させることが可能です。

選択シンボルの手順

手順は以下の通りテキスト表示化が行えます。

ジャンプ > テキストエレメント > 選択テキスト より選択テキストへ移動する。

テキスト表示したいパラメータにテキストを入力する。
入力後の有効化を忘れずに行いましょう。

オプション

今回紹介するオプションは7つとなります。主観的に使用頻度の高い順で並べています。
以下の命令文のオプション部分に追加する事で機能します。
PARAMETERS 変数 TYPE 型 オプション.
他にも検索ヘルプやリストボックスなどありますが他のオプションと比べ難易度が上がるため割愛いたします。
プルダウンの中に簡単に説明をしていますが表現として分かりにくいのでサンプルコーディングをご確認頂き実際に動作確認することをお勧めします。

  • 項目に値を入力しないと選択画面で入力必須のエラーとなります。
  • 項目に初めから設定した値が入力されます。
  • チェックボックスとして表示されます。
  • 長さ1の文字型として定義され、チェックが入ると値’X’が代入されます。
  • ラジオボタンとして表示されます。
  • グループ名は最大4文字となります。
  • グループ単位に作成し、2つ以上のパラメータを割当てる必要があります。
  • グループで選択できるパラメータは1つのみ、選択されたパラメータには値’X’が設定されます。
  • DEFAULTオプションの指定が可能だが1つのパラメータのみ、DEFAULT指定なしの場合は各グループの最初のパラメータに値’X’が設定されます。
  • 大文字小文字の入力が可能となります。
  • このオプションを使用しない場合は自動で全て大文字に変換されます。

  • 選択画面に表示される項目の長さが指定されます。
  • 実際に入力できる長さは項目の長さのままです。
    例えば項目の長さ10、このオプションで指定した長さ5の場合でも長さ10の入力が可能
  • 上記より使用する場合はチェックロジックやOFFSET命令で長さを切出す等の考慮が必要です。
  • 選択画面から項目が表示されなくなります。
  • 項目が表示されないため選択画面から見えませんが、項目は存在しています。
  • このオプションを使用せず、バリアントを用いる事が一般的です。
    ⇒非表示、表示の制御が必要となるとロジックが複雑になる可能性があるため

サンプルソースコード

今回紹介したオプションを用いていますので実際に動かして確認すると良いかと思います。
実際の選択画面とその結果についてはサンプルの画像の通りとなります。
入力値によって出力結果はかわりますのでお試しください。

PARAMETERS: P_TEST01(10) TYPE C,
            P_TEST02     TYPE T001-BUKRS,
*     必須項目
            P_TEST03(10) TYPE C OBLIGATORY,
*     初期値設定
            P_TEST04(10) TYPE C DEFAULT 'TEST2',
*     チェックボックス
            P_TEST05     TYPE C AS CHECKBOX,
*     ラジオボタン
            P_TEST06     TYPE C RADIOBUTTON GROUP G001,
            P_TEST07     TYPE C RADIOBUTTON GROUP G001,
            P_TEST08     TYPE C RADIOBUTTON GROUP G002,
            P_TEST09     TYPE C RADIOBUTTON GROUP G002 DEFAULT 'X',
            P_TEST10     TYPE C RADIOBUTTON GROUP G002,
*     小文字使用可
            P_TEST11(10) TYPE C LOWER CASE,
*     表示項目長さ指定
            P_TEST12(10) TYPE C VISIBLE LENGTH 3,
*     項目非表示
            P_TEST13(10) TYPE C NO-DISPLAY.

*     以下コメントアウトを外すと非表示項目へ値が格納されます。
*            P_TEST13 = '非表示'.

*選択画面の入力値の結果を出力
WRITE: / 'P_TEST01' ,P_TEST01,
       / 'P_TEST02' ,P_TEST02,
       / 'P_TEST03' ,P_TEST03,
       / 'P_TEST04' ,P_TEST04,
       / 'P_TEST05' ,P_TEST05,
       / 'P_TEST06' ,P_TEST06,
       / 'P_TEST07' ,P_TEST07,
       / 'P_TEST08' ,P_TEST08,
       / 'P_TEST09' ,P_TEST09,
       / 'P_TEST10' ,P_TEST10,
       / 'P_TEST11' ,P_TEST11,
       / 'P_TEST12' ,P_TEST12,
       / 'P_TEST13' ,P_TEST13.