メニューボタン
サポートチーム便り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 . あすと

あわせて読みたい記事

PAGE TOP