プログラム参照表示 (DSPPGMREF)

プログラム参照表示(DSPPGMREF)コマンドは,指定したプログラムによって参照されるシステム・オブジェクトのリストを提供します。次のリストは,それぞれのプログラム・タイプごとに提供されるシステム・オブジェクトを示したものです。

BAS
*FILE(外部記述)および*PGM
C
ILE C言語プログラム(CLE)を除いてC言語プログラムの情報は提供されません
CBLLE
*FILE, *PGM,および*SRVPGM
CLP
*FILE, *PGM,および*DTAARA
CLE
*SRVPGM
CLLE
*FILE, *PGM, *DTAARA,および*SRVPGM
CBL
*FILEおよび*PGM (CALLコマンドのリテラル名)
CSP
*FILE, *PGM, *MSGF, *CSPMAP,および*CSPTBL
PAS
PASCALプログラムの情報は提供されません
PLI
*FILEおよび*PGM
RPG
*FILE, *DTAARA,および*PGM
RPGLE
*FILE, *PGM, *DTAARA,および*SRVPGM
QRYDFN
*FILE

この情報は,表示,印刷,またはデータベース出力ファイルに入れることができます。

この情報を表示または印刷すると,各プログラムによって参照されるオブジェクトとともに,指定されたユーザー認可プログラムのリスト(ライブラリー別)が作成されます。ファイルの場合には,各ファイルの使用状況(入力,出力,更新,無指定,またはこれら4つの組み合わせ)についての情報も表示または印刷されます。

この情報をデータベース・ファイルに書き出すと,データベース・ファイルはQWHDRPPRという名前のレコード様式となります。レコード様式QWHDRPPRのフィールドは,ライブラリーQSYSのファイルQADSPPGMにあるIBM提供様式QWHDRPPRのフィールドと同じです。データベース・ファイルには,次の情報が入ります。

ファイルの場合には,次の追加のフィールドがレコードに入ります。

注: このコマンドは,UPDPGMまたはUPDSRVPGMを使用してオブジェクトを作成または更新する時に参照されるオブジェクトをリストします。この情報はプログラム作成時に保管されるために,参照オブジェクト名およびリストされるライブラリーがそのオブジェクトの実際の名前と異なる場合があります。項目の追加は,UPDPGMまたはUPDSRVPGMを使用してILEプログラムまたはサービス・プログラムを更新する時に実行できますが,項目を除去することはできません。プログラムが作成されてからオブジェクトが移動された場合,あるいは作成時に上書きが有効となっていた場合には,リストされる名前が実際の名前と異なる場合があります。QUERY 定義では,このコマンドは,IBM IコマンドのQUERYを使用してオブジェクトが作成または更新される際に参照されるファイルをリストします。

制約事項:

パラメーター

キーワード 記述 選択項目 ノーツ
PGM プログラム 修飾オブジェクト名 必須, 定位置 1
修飾子 1: プログラム 総称名, 名前, *ALL
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB, *USRLIBL, *ALLUSR, *ALL
OUTPUT 出力 *, *PRINT, *OUTFILE オプショナル, 定位置 2
OBJTYPE オブジェクト・タイプ 単一値: *ALL
その他の値 (最大 5 回の繰り返し): *PGM, *SQLPKG, *SRVPGM, *MODULE, *QRYDFN
オプショナル
OUTFILE 出力を受け取るファイル 修飾オブジェクト名 オプショナル
修飾子 1: 出力を受け取るファイル 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
OUTMBR 出力メンバー・オプション 要素リスト オプショナル
要素 1: 出力を受け取るメンバー 名前, *FIRST
要素 2: レコードの置き換えまたは追加 *REPLACE, *ADD

プログラム (PGM)

表示される情報のプログラムを指定します。

これは必須パラメーターです。

修飾子1: プログラム

*ALL
1つまたは複数のライブラリーの中のすべてのプログラムおよびQUERY 定義の情報が表示されます。
名前
プログラムの完全な名前を指定してください。指定したプログラムの情報だけが表示されます。
総称名
総称プログラム名を指定してください。指定された文字で始まる名前のすべてのプログラムの情報が表示されます。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
スレッドの現行ライブラリーが検索されます。スレッドの現行ライブラリーとして指定されているライブラリーがない場合,QGPLライブラリーが検索されます。
*USRLIBL
現行ライブラリー項目が現行スレッドのライブラリー・リストに存在する場合には,現行ライブラリーおよびライブラリー・リストのユーザー部分にあるライブラリーが検索されます。現行ライブラリー項目がない場合には,ライブラリー・リストのユーザー部分にあるライブラリーが検索されます。
*ALLUSR
すべてのユーザー・ライブラリーが検索されます。次のものを除き,英字Qで始まらない名前のすべてのライブラリーが検索されます。

#CGULIB     #DSULIB     #SEULIB
#COBLIB     #RPGLIB
#DFULIB     #SDALIB

次のQXXXライブラリーは弊社提供のものですが,これらには一般的によく変更されるユーザー・データが収められます。したがって,これらのライブラリーは「ユーザー・ライブラリー」と見なされ,検索されます。

QDSNX       QRCLXXXXX   QUSRDIRDB   QUSRVI
QGPL        QSRVAGT     QUSRIJS     QUSRVXRXMX
QGPL38      QSYS2       QUSRINFSKR  QWQCENT
QMGTC       QSYS2XXXXX  QUSRNOTES   QWQREPOS
QMGTC2      QS36F       QUSROND
QMPGDATA    QUSER38     QUSRPOSGS
QMQMDATA    QUSRADSM    QUSRPOSSA
QMQMPROC    QUSRBRM     QUSRPYMSVR
QPFRDATA    QUSRDIRCF   QUSRRDARS
QRCL        QUSRDIRCL   QUSRSYS

  1. 'XXXXX'は1次補助記憶域プール(ASP)の番号です。
  2. 前のリリースのCLプログラム内でコンパイルされるユーザー・コマンドを入れるために,弊社がサポートする前の各リリース用にQUSRVXRXMXの形式の別のライブラリー名を作成することができます。QUSRVXRXMXユーザー・ライブラリーのVXRXMXは弊社が引き続きサポートしている前のリリースのバージョン,リリース,およびモディフィケーション・レベルです。
*ALL
QSYSを含むシステム上のすべてのライブラリーが検索されます。
名前
検索するライブラリーの名前を指定してください。

出力 (OUTPUT)

コマンドからの出力がどこに送られるかを指定します。

*
出力は表示されるか(対話式ジョブによって要求された場合),あるいはジョブのスプール出力で印刷されます(バッチ・ジョブによって要求された場合)。
*PRINT
出力はジョブのスプール出力で印刷されます。
*OUTFILE
出力は,出力を受け取るファイル (OUTFILE)パラメーターで指定されたデータベース・ファイルに送られます。

オブジェクト・タイプ (OBJTYPE)

情報が表示されるオブジェクト・タイプを指定します。

*PGM
最初のプログラム情報のみが表示されます。
*ALL
プログラム情報およびSQLパッケージ情報のバージョンがすべて表示されます。
*SQLPKG
SQLパッケージ情報だけが表示されます。
*SRVPGM
サービス・プログラム情報が表示されます。
*MODULE
モジュール情報が表示されます。
*QRYDFN
QUERY 定義情報が表示されます。

出力を受け取るファイル (OUTFILE)

コマンドの出力が送られるデータベース・ファイルを指定します。ファイルが存在しない場合には,このコマンドによって,指定されたライブラリーにデータベース・ファイルが作成されます。ファイルが作成される場合には,ファイルの共通権限は,ファイルが作成されるライブラリーに指定された作成権限と同じものになります。ライブラリーの作成権限を表示するには,ライブラリー記述表示(DSPLIBD)コマンドを使用してください。

修飾子1: 出力を受け取るファイル

名前
コマンド出力が送られる先のデータベース・ファイルの名前を指定してください。

修飾子2: ライブラリー

*LIBL
ファイルを見つけるために,ライブラリー・リストが使用されます。ファイルが見つからない場合には,現行ライブラリーにファイルが作成されます。現行ライブラリーが存在していない場合には,ファイルはQGPLライブラリーに作成されます。
*CURLIB
ファイルを見つけるためにスレッドの現行ライブラリーが使用されます。スレッドの現行ライブラリーとして指定されているライブラリーがない場合,QGPLライブラリーが使用されます。
名前
検索するライブラリーの名前を指定してください。

注: 出力ファイル形式は,ライブラリーQSYSのシステム・ファイルQADSPPGMのQWHDRPPRと同じでなければなりません。OUTFILE形式の詳細については,IBM i Information Center(http://www.ibm.com/systems/i/infocenter/)の「データベース」カテゴリーに示されています。

出力メンバー・オプション (OUTMBR)

コマンドの出力を受け取るデータベース・ファイル・メンバーの名前を指定します。

要素1: 出力を受け取るメンバー

*FIRST
ファイル内の最初のメンバーが出力を受け取ります。OUTMBR(*FIRST)が指定されていて,メンバーが存在していない場合には,システムが出力を受け取るファイル (OUTFILE)パラメーターに指定されたファイルの名前を使用してメンバーを作成します。メンバーが既に存在している場合,その既存メンバーの終わりに新規レコードを追加するのか,あるいはそのメンバーをクリアして新規レコードを追加するのかを選択できます。
名前
出力を受け取るファイル・メンバーの名前を指定してください。存在していない場合には,システムが作成します。

要素2: レコードの置き換えまたは追加

*REPLACE
システムは,既存のメンバーを消去し,新しいレコードを追加します。
*ADD
システムは,既存のレコードの終わりに新しいレコードを追加します。

1:プログラムのリストの保管

DSPPGMREF   PGM(LIBRARY1/*ALL)  OUTPUT(*OUTFILE)
            OUTFILE(LIB2/FILE2)

このコマンドは,LIBRARY1で見つかったすべての許可プログラムと,そのプログラムが参照するファイルおよびその他のシステム・オブジェクトのリストを作成します。ここでは,リストがLIB2 のFILE2という名前のデータベース・ファイルに保管されます。

2:オブジェクトのリストの印刷

DSPPGMREF   PGM(LIBRARY1/BILLING)  OUTPUT(*PRINT)

このコマンドは,LIBRARY1のBILLINGプログラムによって参照されるシステム・オブジェクトのリストを作成します。出力は印刷のためにスプールされます。

3:QUERY 定義で使用されるファイルのリストの表示

DSPPGMREF   PGM(LIBRARY1/QUERY1) OBJTYPE(*QRYDFN)  OUTPUT(*)

このコマンドは,LIBRARY1内でQUERY1 QUERY定義によって参照されるファイルのリストを表示します。

エラー・メッセージ

*ESCAPE メッセージ

CPF3033
タイプ&3のライブラリー&2のオブジェクト&1が見つからない。
CPF3034
タイプ&3のライブラリー&2のオブジェクト&1が表示されない。
CPF3052
ファイル&1の記述が使用できない。
CPF3061
出力ファイル&1のレコード様式&3が見つからない。
CPF3063
&2の出力ファイル&1は物理ファイルではない。
CPF3064
ライブラリー&1が見つかりません。
CPF3066
&2の出力ファイル&1の作成中にエラー。
CPF3067
&2のファイル&1のオープン中にエラー。
CPF3068
&2のファイル&1への書き出し中にエラー。
CPF3069
&2のファイル&1のクローズ中にエラー。
CPF3070
ファイル&1のメンバー&3の作成中にエラー。
CPF3072
&2のファイル&1はシステム・ファイルである。
CPF3074
ライブラリー&1の使用は認可されていない。
CPF3075
ライブラリー&1が使用できません。
CPF3076
画面上でエラーが起こった。
CPF3077
表示を取り消そうとした時にエラーが起こった。
CPF3084
ファイル&1のメンバー&3の消去中にエラー。