DUMP (プログラム・ダンプ)

自由形式構文 DUMP{(A)} {識別コード}
コード 演算項目 1 演算項目 2 結果フィールド 標識
DUMP (A) 識別コード

DUMP 命令では、プログラムのダンプ (定義されたすべてのフィールド、すべて のファイル、標識、データ構造、配列、およびテーブルの) が実行されます。 この命令は単独に使用するか、または i5/OS のテストおよびデバッグ機能と組み合わせて使用できます。 CRTBNDRPG または CRTRPGMOD コマンド上で、あるいは制御仕様書の キーワードとして OPTIMIZE(*FULL) コンパイラー・オプションを選択すると、 最適化の影響で、ダンプに示されるフィールド値に実際に内容が反映されない場合があります。

DBGVIEW(*NONE) コンパイラー・オプションが指定されている場合、ダンプは、プログラム状況データ構造、ファイル情報データ構造、および *IN 標識だけを表示します。 その他の変数は、オブジェクトが必要なプログラム識別情報を含まないために、表示される内容はないことになります。

DEBUG(*NO) 制御仕様書キーワードが指定されている場合、ダンプは実行されません。このキーワードは、命令拡張 A を指定することによって指定変更することができます。 この命令拡張は、DEBUG キーワードの値にかかわらず必ずダンプを実行することを意味します。

任意指定の識別コード オペランドの内容は、DUMP 命令を識別します。指定すると、ダンプ・リストのデフォルトの見出しが置き換えられます。これには文字または図形の指定を入れなければならず、その内容がダンプを識 別するフィールド名、リテラル、名前のついた定数、テーブル名、または 配列要素のいずれかとすることができます。 識別コード・オペランドに図形項目が入っている場合には、64 桁の 2 バイト文字に制限されます。識別コード は形象定数であってはなりません。

プログラムは、DUMP 命令の後の次の演算ステートメントから処理を続行します。

DUMP 命令が実行されるのは、制御仕様書に DEBUG キーワードが指定されているか、または DUMP 命令で A 命令拡張がコーディングされている場合です。それ以外の場合には、DUMP 命令のエラーが検査されてリストにステートメントが印刷されますが、DUMP 命令は処理されません。

ファイルのダンプ時には、DUMP は INFDS のファイル・フィードバック情報部 分をダンプしますが、INFDS のオープン・フィードバック情報または入出力フ ィードバック情報部分はダンプしません。 その代わりに、DUMP はファイルの実際のオープン・フィードバックおよび装置 フィードバック情報をダンプします。

INFDS のファイル・フィードバック情報は常に更新されるので、宣言した INFDS に十分な容量がなくてオープン・フィードバックまたは入出力フィード バック情報を入れられない場合でも、DUMP の前に POST を実行することを心配 する必要はありません。

サブプロシージャーが活動状態でない場合には、サブプロシージャーの変数の 値が正しくない場合があります。 サブプロシージャーが繰り返し呼び出される場合には、一番新しい呼び出しからの 値が表示されます。

Java オブジェクト変数は期待された値を表示しない場合があります。RPG モジュールは、あるオブジェクトがすでに存在しなくなった後にもそのオブジェクトを参照し続ける場合があります。 これはオブジェクト参照が再使用されて、ダンプされようとしている RPG モジュールとは関係のない異なるオブジェクトを参照する可能性があるということです。 この異なるオブジェクトが、定様式ダンプに表示されるオブジェクトになります。

サンプル・ダンプ・リストについては、「WebSphere Development Studio: ILE RPG プログラマーの手引き」のダンプの入手に 関する章を参照してください。

詳細については、情報命令を参照してください。