サポートチーム便り2024.06.12
ライブラリー内のファイルKey情報を一覧で確認する方法
Question
開発業務を行っている際に、あれこれと色々な論理ファイル(LF)を追加し、結果ファイル同士の参照状況が入り組んでしまいました。
後任に継承しやすい環境を構築する為、今一度整理をしたいと考えています。
まずはライブラリー内にあるファイルKey情報を確認し一覧へ纏めたいと思っています。
サードパーティツールによっては確認が出来るかもしれませんが、IBM i (AS/400)のOSの基本機能のみを用いて、何かよい方法はありませんでしょうか。
Answer
ライブラリー内のファイルKey情報は下記コマンドを使用しデータベース(DB)を作成する事が可能です。
コマンド例:
DSPFD FILE(SADBLIB/*ALL) TYPE(*ACCPTH) OUTPUT(*OUTFILE) OUTFILE(SADBLIB/KEYS)
作成したDB内をRUNQRYで確認すると、ファイル名とキー・フィールド名が確認できます。
しかし、キー・フィールドが複数あった場合に、複数行に分かれて情報が表示されます。
このDB内の情報をSQLで表示する事により、ファイル毎に1行で表示する事が可能です。
IBM i Access Client Solutions(ACS)の「SQLスクリプトの実行」にてSQLを実行します。
※SQL例1:ファイル毎のキー・フィールドを1行へ纏めて表示します。
SELECT APLIB,APFILE,LISTAGG(RTRIM(APKEYF),',')
FROM SADBLIB.KEYS
GROUP BY APLIB,APFILE
※SQL例2: DSPFDで作成したDB内には、多くの情報があるので、属性や物理ファイル名まで表示します。
SELECT APLIB,APFILE,APFATR,APBOF,APBOL,LISTAGG(RTRIM(APKEYF),',')
FROM SADBLIB.KEYS
GROUP BY APLIB,APFILE,APFATR,APBOF,APBOL
この内容で、論理ファイル(LF)の物理ファイル(PF)がどのライブラリーにあるのかも確認できます。
上記のようにACSの「SQLスクリプトの実行」にてSQLを実行する事により、結果をEXCELへ変換できます。
参考サイト:ACSのSQL実行結果をダウンロードしたい
https://www.e-bellnet.com/category/technology/2212/2212-02.html
by . あすと