トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

ABAP/SELECT-OPTIONS のバックアップ(No.3)


画面の項目を定義する命令の一つ。

概要

用法

宣言すると、レンジテーブル型の内部テーブルとなる。データブラウザ(SE16)やその他標準レポート等と一緒のアレ。

PARAMETERSと違い、複数指定、除外指定、ワイルドカード(要はアスタ検索)などが利用可能という性質を持つ。

テーブルの型や取り得る値などについては、レンジテーブルを参照のこと。

サンプル

基本形

SELECT-OPTIONS : S_KUNNR FOR WA_KUNNR OBLIGATORY.

ちなみに、OBLIGATORYを指定した場合は、LOW(左側)が必須となるため、HIGHだけ指定すればokというような「何らかの指定があればよい」という場合には使用できない。

NO-EXTENSION

SELECT-OPTIONS : S_KUNNR FOR WA_KUNNR NO-EXTENSION.

選択画面上に複数選択用の押ボタンを表示したくない場合に使用し、選択画面で複数選択が出来なくなるため、値の入力が単一指定か範囲指定のみとなる。

その他

TABLESとの関わり

この命令でFORの後に指定する参照型で使用するためにはTABLES命令が必要と認識している人もいるが、大間違い。 TABLESはSAP非推奨命令であるし、DATAによって宣言したものを参照しても定義はできる。

単一、範囲、除外、範囲除外

命令の複雑化やパフォーマンス悪化の原因となるのが、これらのバリエーション。 「除外指定をできなくしたい」といった場合には、SELECT_OPTION_RESTRICTIONっぽい名前の汎用モジュールがあるので、そちらが使える。

必須チェックについて

パフォーマンス的な理由なども含めて、「何らかの値を指定させたい」というチェックを入れるにあたり、

IF ( S_BELNR[] IS NOT INITIAL ).

単に上記のような書き方をしてしまうと、「除外指定がされていたらok」という意図に反する動きになってしまうこともあるので注意。



【スポンサードリンク】
amazon_book_sap_system_implement is not found or not readable.




コメントはありません。 Comments/ABAP/SELECT-OPTIONS

お名前: