PR

【ABAP】VALUE / DEFAULT (初期値定義オプション)を3分で解説

ABAP

DATA命令 / CONSTANTS命令 / PARAMETERS命令 / SELECT-OPTIONS命令などで利用する初期値定義オプション(VALUE / DEFAULT オプション)について解説します。

VALUE / DEFAULT どっちを利用すれば良いんだっけ?と迷ってしまう方が結構いらっしゃるのでこのページで整理しておきます。

このページで学べる内容
  • 初期値定義方法(VALUE / DEFAULT)
  • VALUEオプションの利用方法
  • DEFAULTオプションの利用方法

ABAPerであれば知らないと恥ずかしい超・重要知識。是非最後までご覧ください。

スポンサーリンク

初期値定義の目的

ABAPでは変数 / 画面項目などの定義を行う場合に初期値を定義することが可能です。何も指定しない場合、変数はからっぽの状態で誕生します。

ですが、例えばカウント用の変数であれば中身は空にしておくのではなく初期値を「1」として定義しておいたほうが便利です。また、日付を入れるような画面項目があれば今日の日付を初期値として定義してあげるのが親切でしょう。

このような場合に、VALUE / DEFAULT オプションを利用し初期値を定義してあげることが可能です。

変数とは?

VALUEオプション

VALUEオプションを利用する命令は、DATA命令・CONSTANTS命令です。

DATA命令の場合

DATA命令で定義する変数には、VALUEオプションで初期値を指定できます。

構文ルール:DATA命令の場合

DATA(変数名)TYPE(データ型)VALUE(初期値).


DATA命令は変数を定義する命令であるため、初期値の付与は任意です。そのため、VALUEオプションを付けなくても構文エラーは発生しません。(その場合には、空の変数が定義されます。)

DATA: LV_CNT        TYPE I VALUE 1,
      LV_TMP        TYPE I VALUE 50,
      LV_TEST(4)    TYPE C VALUE 'TEST'.

CONSTANTS命令の場合

構文ルール:CONSTANTS命令の場合

CONSTANTS(変数名)TYPE(データ型)VALUE(初期値).

CONSTANTS命令の場合は、VALUEオプションが必須です。

CONSTANTS:
  GV_CSV(4)   TYPE C  VALUE '.csv',
  GV_TEX(4)   TYPE C  VALUE '.txt',
  GV_SLASH(1) TYPE C  VALUE '/',
  GV_PATH(1)  TYPE C  VALUE '\'.

DEFAULTオプション

画面定義に関連するPARAMETERS命令 / SELECT-OPTIONS命令の場合に利用するのがDEFAULTオプションです。

PARAMETERS命令の場合

構文ルール:PARAMETERS命令の場合

PARAMETERS(項目名)TYPE(データ型)DEFAULT(初期値).

PARAMETERS GP_BUKRS TYPE BKPF-BUKRS DEFAULT '1000'.

この場合、項目「GP_BUKRS」の初期値は「1000」となります。プログラムを実行し選択画面が表示されたとき当該項目には「1000」が表示された状態になります。

PARAMETERS GP_1 RADIOBUTTON GROUP GRP1 DEFAULT 'X'.

上記のようにコーディングすることで、ラジオボタンがチェックされた状態になります。

SELECT-OPTIONS命令の場合

構文ルール:SELECT-OPTIONS命令の場合

SELECT-OPTIONS(項目名)FOR(データオブジェクト)DEFAULT(初期値)[TO 最大値].

SELECT-OPTIONS命令はFROM~TOの指定が可能な項目を生成する命令のため、初期値を指定する場合FROM項目の値なのか、TO項目の値なのかを識別する必要があります。

SELECT-OPTIONS: GS_BURKS1 FOR BKPF-BUKRS DEFAULT '1000',
                GS_BURKS2 FOR BKPF-BUKRS DEFAULT '1000' TO '9000'.

2行目の例だと、FROMに「1000」が、TOに「9000」がセットされた状態になります。

SAP / ABAPを1から学習したい方は

初めてABAPを勉強するのは結構難しいですよね。

でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。

ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?

あなたの技術、もっと価値ある場所で活かしませんか?
SAPエンジニアのキャリア支援はこちらから↓

No.1 > 外資系・IT業界などハイクラスの転職なら【アクシスコンサルティング】blank
4人に1人のコンサルタントが選ぶパートナー!
ビッグ4やアクセンチュアへの転職を実現し年収1000万へ。

No.2 > IT・Web転職特化エージェント【レバテックキャリアblank
blank
サービス利用者数20万人突破。

平均年収アップ率77%であなたの転職成功を保証します。

No.3 > blankリクルートエージェント
blank
\転職支援実績NO.1/

応募が殺到しすぎるが故に・・・非公開にせざるを得ない魅力的な求人が多数!

読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
ABAPSAP
シェアする
ビズドットオンラインをフォローする
タイトルとURLをコピーしました