よくあるプログラムバグ:SELECT-OPTIONSなのに条件指定をイコール(=)にしている

SAPのERPシステムは、パッケージシステムといえども、どのプロジェクトでも多かれ少なかれアドオンプログラムは作成されています。

おそらく今後、ノーコードツールも今以上に充実していくでしょうから、それに合わせてアドオン開発も減っていくとは思いますが、現状はまだまだ新規プログラムが作成されていっていると思います。

 

 

アドオン開発をすると、どうしても出てしまうのが不具合(バグ)です。

人間が作るものである以上、完璧なものは作れませんし、人によってスキルの差もありますから、これは必ずついてまわります。

SAPのABAPプログラミングでよくある不具合の原因について書いていこうかなと思い、今回はその第1回目です。

少しずつ書いていくつもりですので、ご参考にしてみてください。

 

 

では早速ですが、今回は『SELECT-OPTIONS』で定義した選択画面項目についてです。

選択画面の項目を定義する時に使うものとして大きく分けて2つあります。

  • PARAMETERS
  • SELECT-OPTIONS

 

 

この2つで、何が違うのかというと、PARAMETERSは単一項目を作成するための命令で、SELECT-OPTIONSは複数指定・範囲指定も可能な入力項目を作成するための命令です。

プログラム内部的にはPARAMETERSで定義をすると変数が作成され、SELECT-OPTIONSで定義するとレンジテーブルが作成されます。

 

 

つまり、これらを条件指定に使う場合、PARAMETERSは変数なのでイコール(=)で良いのですが、SELECT-OPTIONSはINを使う必要があります。

SELECT-OPTIONSで定義した項目をイコールで条件指定しても構文エラーにはならないため、不具合を見逃して本番化される事があります。

 

 

とても単純なミスではありますが、キャリアの浅い人が作ったプログラムにはよくある事なので、覚えておくと良いと思います。

コメント

この記事へのコメントはありません。

PAGE TOP