プログラム変数表示 (DSPPGMVAR)
| 実行可能場所: すべての環境 (*ALL) スレッド・セーフ: いいえ |
パラメーター 例 エラー・メッセージ |
プログラム変数表示(DSPPGMVAR)コマンドは,デバッグ中のプログラムの1つまたは複数のプログラム変数の現在の値を表示します。変数は,変数名または機械語命令のオブジェクト定義テーブル・ベクトル(MI ODV)番号によって指定することができます。最大10個の変数を指定することができます。
制約事項:
- このコマンドを使用できるのは,デバッグ・モードの時だけです。デバッグ・モードを開始するためには,デバッグ開始(STRDBG)コマンドを参照してください。
- 別のジョブをサービス中で,そのジョブがジョブ待ち行列上にあるか,あるいは保留,延期,または終了中の場合には,このコマンドを使用することはできません。
- このコマンドを使用して,バインド済みプログラムの変数を表示することはできません。
- ユーザーに*SERVICE特殊権限がない場合には,このコマンドを使用して,システム・ドメイン内の変数を表示することはできません。
| 上 |
パラメーター
| キーワード | 記述 | 選択項目 | ノーツ |
|---|---|---|---|
| PGMVAR | プログラム変数 | 値 (最大 10 回の繰り返し): 要素リスト | 必須, 定位置 1 |
| 要素 1: プログラム変数 | 文字値, *CHAR | ||
| 要素 2: 基底ポインター変数 | 値 (最大 5 回の繰り返し): 文字値 | ||
| OUTFMT | 出力形式 | *CHAR, *HEX | オプショナル |
| OUTPUT | 出力 | オプショナル | |
| PGM | プログラム | 名前, *DFTPGM | オプショナル |
| START | 文字出力開始位置 | 整数, 1 | オプショナル, 定位置 2 |
| LEN | 表示する文字数 | 整数, *DCL | オプショナル |
| RCRLVL | 反復レベル | 整数, *LAST | オプショナル |
| 上 |
プログラム変数 (PGMVAR)
値が表示されるプログラム変数を10個まで指定します。その変数は,高水準言語(HLL)または機械語命令(MI)プログラムに入れることができます。
これは必須パラメーターです。
要素1: プログラム変数
- *CHAR
- 基底ポインターを指定した場合には,この特殊値を変数名の代わりに指定することができます。これは基底付変数を使用せずに示されるポインターの文字ビューを示します。
- 文字値
- 表示されるプログラム変数の名前を指定してください。特殊文字が入っている場合には,名前をアポストロフィで囲まなければなりません。
プログラム変数が配列の場合には,配列中の要素を表す添え字を指定することができます。添え字なしで配列名を指定した場合には,すべての配列要素が記録されます。また,単一次元クロスセクションも指定することができます。このプログラム変数項目には,最大132文字を指定することができます。これには,修飾子,添え字,ブランク,括弧,およびコンマが含まれます。ただし,特殊文字が含まれている場合の両端のアポストロフィは,この文字数には含まれません。添え字には,整数,マシン・インターフェースのオブジェクト定義テーブル・ベクトル(MI ODV)番号,アスタリスク(単一次元クロスセクション),または数値変数名を指定することができます。
要素2: 基底ポインター変数
- 文字値
- 基底ポインター変数の名前を指定してください。一部の言語では,プログラム変数はポインター変数を基礎とすることができます。このような値の組み合わせを用いることにより,記録される変数の基底ポインターを明示的に指定することができます。特殊文字を含む基底ポインター名の場合には,各基底ポインター名はアポストロフィで囲まなければなりません。
基底ポインターが配列である場合には,配列内の要素を表わす添え字を指定しなければなりません。基底ポインター名には,最大132文字を指定することができます。これには,修飾子,添え字,組み込みブランク,括弧,およびコンマが含まれます。ただし,特殊文字が含まれている場合の両端のアポストロフィは,この文字数には含まれません。添え字には,整数,MI ODV番号,または数値変数名を指定することができます。
| 上 |
出力形式 (OUTFMT)
プログラム変数の値をどの形式で表示するかを指定します。変数のタイプによっては,変数値のほかに,補足の記述情報が,システムによってあらかじめ定められている形式で表示されることがあります。
- *CHAR
- プログラム変数は文字形式で表示されます。
- *HEX
- プログラム変数16進数形式で表示されます。
| 上 |
出力 (OUTPUT)
コマンドからの出力を,要求元のワークステーションに表示するか,あるいはジョブのスプール出力で印刷するかを指定します。
- *
- 出力は表示されるか(対話式ジョブによって要求された場合),あるいはジョブのスプール出力で印刷されます(バッチ・ジョブによって要求された場合)。
- 出力はジョブのスプール出力で印刷されます。
| 上 |
プログラム (PGM)
表示するプログラム変数の入っているプログラムの名前を指定します。
- *DFTPGM
- 表示する変数は,前に省略時のプログラムとして指定されているプログラムに入っています。
- 名前
- 表示したいプログラム変数の入っているプログラムの名前を指定してください。
| 上 |
文字出力開始位置 (START)
ストリング変数の場合にだけ,変数の値が表示されるストリングの開始位置を指定します。プログラム変数 (PGMVAR)パラメーターに複数のストリング変数を指定した場合には,それぞれに同じ開始位置の値が使用されます。ビット・ストリングの場合には,値は開始ビット位置を指定し,文字ストリングの場合には,値は開始文字位置を指定します。
- 1
- 変数は,最初の桁から表示する文字数 (LEN)パラメーターに指定された長さまで表示されます。
- 整数
- 表示されるストリングの最初の桁を指定してください。文字出力開始位置 (START)パラメーターに指定する値は,指定した変数のどれかの最大ストリング長を超えるものであってはなりません。ただし,ストリングの最大長がゼロである場合には,STARTパラメーターに1の値を指定することができます。LENパラメーターに指定した値にSTARTパラメーターに指定した値を加え,それから1を引いた値が,最大ストリング長を超えていてはなりません。これらの検査は,PGMVARパラメーターに指定した各ストリング変数について行われます。
| 上 |
表示する文字数 (LEN)
ストリング変数の場合にだけ,停止点に達した時に,文字出力開始位置 (START)パラメーターによって指定された位置から順に示されるストリングの長さを指定します。プログラム変数 (PGMVAR)パラメーターに複数のストリング変数を指定した場合には,それぞれに同じ値が使用されます。この値は,ビット・ストリングの場合は表示されるビット数を示し,文字ストリングの場合は表示される文字数を示します。
- *DCL
- ストリング変数は,ストリングの終わりまであるいは200バイトのいずれか少ない方の文字数分だけ表示されます。ストリング変数の最大長がゼロである場合には,LENパラメーターに使用できる唯一の値は*DCLです。
- 整数
- 表示されるデータの長さを指定してください。STARTパラメーターおよびLENパラメーターの値の組み合わせの場合と同様に,この桁数も,PGMVARパラメーターによって指定された最も短いストリングの桁数を超えるものであってはなりません。
| 上 |
反復レベル (RCRLVL)
値が表示される変数が,プログラムのどの反復レベルに入っているかを指定します。反復レベル1はプログラムの最初の(最も早い)呼び出しであり,反復レベル2 はプログラムの2番目の呼び出しです。同様にして,スタック内の最後の(最新の)反復レベルまで番号が付けられます。たとえば,プログラムAがプログラムBを呼び出し,プログラムBが再びプログラムAを呼び出すとすれば,プログラムAの新しい反復レベルが形成されます。表示される変数がプログラムAの最初の呼び出しに含まれているのであれば,反復レベル (RCRLVL)パラメーターには1の値を指定しなければなりません。高水準言語によっては,再帰的プロシージャーが使用できるものもあります。
- *LAST
- 指定したプログラムの最後の(最新の)呼び出しでの,指定した変数の値が表示されます。
- 整数
- 値が表示される変数の入っているプログラムの反復レベルを指定してください。
| 上 |
例
例1:プログラム変数の表示
DSPPGMVAR PGMVAR('&QUANT') PGM(MYPROG)
プログラムMYPROGがデバッグ・モードにあるとすると,このコマンドは,&QUANTと呼ばれるCL変数の名前と現行値を表示します。そのタイプおよび長さも表示されます。
例2:プログラム変数の表示
DSPPGMVAR PGMVAR(TOTSALES MANHRS) PGM(REGION) RCRLVL(1)
このコマンドは,プログラムREGIONの最初の呼び出しのプログラム変数TOTSALESおよびMANHRSを表示します。
| 上 |
| 上 |