ABAP/PARAMETERS のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ABAP/PARAMETERS へ行く。
- 0 (1970-01-01 (木) 18:00:00)
- 1 (2014-06-26 (木) 11:02:40)
画面の項目を定義する命令の一つ。 この命令を記述すると、Dynpro1000が生成される。
概要 †
選択画面に実行条件を入力させるために利用し、形式については型やラジオボタンに関わるオプションで規定する。
特徴としては、パラメータの名称は8文字までであること、SELECT-OPTIONSと違いアスタリスクによるワイルドカードが利用できないことなどが挙げられる。
DEFAULT x †
用法 †
そのパラメータの初期値を定義する。 ユーザマスタに割当済のユーザパラメータやシステム変数などを利用する目的が一般的か。
なお、上記以外のものを使う場合は、この値が設定されるのはごく初期のタイミングであるため、変数でなくリテラルとするのが適切のようだ。
サンプル †
# PARAMETERS : P_DATE TYPE SY-DATLO DEFAULT SY-DATLO.
TYPE x †
用法 †
選択項目の型を規定する方法。 ただ、ラジオボタンやチェックボックスを除けば選択項目はそもそもデータ抽出に使われることが多いので、あまり使用頻度は高くないだろう。
サンプル †
# PARAMETERS : P_CHAR(4) TYPE C.
LENGTH x †
用法 †
上記TYPEの長さを規定するオプション。 当然ながら、型はCNXPの何れかに限られる。
サンプル †
# PARAMETERS : P_CHAR TYPE C LENGTH 4.
DECIMALS x †
用法 †
業務アプリケーションではあまり使わないかと思うが、指定の小数点以下桁数を持つパラメータを定義する。 型はPである必要がある。
サンプル †
# PARAMETERS : P_AMOUNT TYPE P DECIMALS 5.
LIKE x †
用法 †
データオブジェクトを参照する場合に利用する。 が、パラメータ宣言時点で定義されているデータオブジェクト、更に言えばグローバル変数である必要があるため、これを参照しなければならないシーンはあまりないだろう。 当然ながら、参照元がリポジトリオブジェクトの場合はTYPEを使うこと。
サンプル †
# PARAMETERS : P_AMOUNT LIKE G_AMOUNT.
MEMORY ID x †
用法 †
選択画面の値にユーザパラメータを採用する場合。 ユーザマスタに予め設定してある値、あるいは直前に入力または処理した値が表示されるため、大した手間ではないがコレをつけるだけで利用者にとっての使い心地はかなり上がる。
具体的には伝票番号や品目マスタなどの各種マスタが相当するが、心して入力・選択してほしいという場合には敢えて実装しないことも必要。
ちなみに引用符なしで直接入力すること。
サンプル †
# PARAMETERS : P_VKORG TYPE VBAK-VKORG MEMORY ID VKO/
MATCHCODE OBJECT x †
項目に検索ヘルプを設定する場合に利用する。 通常はリポジトリ参照で定義すれば、その項目のデータエレメントや割り当てられているドメインが自動的に割り当てられるが、標準とは異なるものをアドオンで利用したい場合、リポジトリを参照せずに割り当てたい場合などに利用する。
用法 †
サンプル †
# PARAMETERS P_VBELN TYPE VBRK-VBELN MATCHCODE OBJECT VMCF.
MODIF ID x †
用法 †
Dynpro項目をグルーピングすることで、画面上の属性を制御する。
サンプル †
下記は、パラメータに割り当て、イベントブロックで制御するというもの。
# PARAMETERS :
# P_PROC AS CHECKBOX,
# P_MATNR TYPE MARA-MATNR MODIF ID xx.
#
# AT SELECTION-SCREEN OUTPUT.
#
# IF ( P_PROC = 'X' )
# LOOP AT SCREEN.
# IF ( SCREEN-GROUP = xx ).
# SCREEN-INPUT
# ENDIF.
# ENDLOOP.
# ENDIF.
NO-DISPLAY †
用法 †
非表示パラメータの定義に使用する。 例えばユーザパラメータからの誘導や会社コードから誘導する勘定コード表の退避など。
が、別にバリアントによる非表示で困ることもあまりないので、敢えて使う機会は多くないだろう。
サンプル †
# PARAMETERS :
# P_BUKRS TYPE BKPF-BUKRS NO-DISPLAY.
LOWER CASE †
用法 †
SAPではドメインで小文字を認識するフラグが設定されている場合を除いては全てが大文字で認識されるが、これにより小文字も認識されることとなる。 小文字として認識したい場合についても多くはリポジトリ参照で型を切るため、あまり使う機会はない。
サンプル †
# PARAMETERS :
# P_CHAR TYPE C LOWER CASE.
OBLIGATORY †
用法 †
項目を必須入力としたい場合に用いる。 注意すべきなのは、SAPでは必須チェックは非常に速いタイミングで実行されるため、特定のラジオボタンやチェックボックスが指定された場合など条件付きで必須とするケースでは利用できないこと。 会計伝票検索系のレポートにおける会社コードやパフォーマンス対策上で指定させたい抽出項目など、無条件で必須とする場合には有用。
サンプル †
# PARAMETERS :
# P_BUKRS TYPE BKPF-BUKRS OBLIGATORY.
AS CHECKBOX †
用法 †
画面上にチェックボックスを設けたい場合に使用する。 型はCHARの1と決まっており、取り得る値はブランクと大文字Xの二つ。
USER-COMMANDオプションでイベントを割り当てることもできる。
なお、デフォルトではチェックボックスの右側にキャプションが表示されるため、並びや配置が気に入らなければSELECTION-SCREEN命令で調整するといい。
サンプル †
# PARAMETERS :
# P_CB1 AS CHECKBOX.
RADIOBUTTON GROUP x †
用法 †
いわゆるラジオボタン。 なお、Dynproにリンクするエレメントの一つで、ラジオボタングループに割り当てることで、グルーピングする。
チェックボックスと同じく、型はCHARの1と決まっており取り得る値はブランクと大文字Xの二つで、USER-COMMANDオプションでイベントを割り当てることもできる。
AT SELECTION-SCREENイベントを利用する場合は、ON〜でなくON RADIOBUTTON GROUP〜を用いること。
サンプル †
# PARAMETERS :
# P_RAD1 RADIOBUTTON GROUP Z1 DEFAULT 'X',
# P_RAD2 RADIOBUTTON GROUP Z1.
FOR TABLE x †
用法 †
サンプル †
#
#
FOR NODE x †
用法 †
サンプル †
#
#
AS SEARCH PATTERN x †
用法 †
サンプル †
#
#
VALUE-REQUEST †
用法 †
サンプル †
#
#
HELP-REQUEST †
用法 †
サンプル †
#
#
VISIBLE LENGTH x †
用法 †
サンプル †
#
#
VALUE CHECK †
用法 †
サンプル †
#
#
LIKE (x) †
用法 †
サンプル †
#
#
AS LISTBOX †
用法 †
サンプル †
#
#
AS USER-COMMAND x †
用法 †
サンプル †
#
#
その他 †
メニューからテキストエレメント→選択テキストと進み、パラメータのテキストを定義可能で、ディクショナリ参照にもできる。 翻訳漏れの防止や標準化の観点から、余程わかりにくいものでなければディクショナリ参照を推奨。
コメントはありません。 Comments/ABAP/PARAMETERS