メニューボタン
サポートチーム便り2025.03.12

IBM i のデータエリアの内容を一括取得できますか?

Question

IBM i (AS/400)にユーザー作成の業務アプリケーションがあります。

この度メンテナンスをすることになったのですが、データエリアを多く使用しているためひとつひとつ確認するのは非常に手間に感じています。

データエリア名と内容の一覧を一括で取得する方法はありますか。

Answer

IBM i Service(SQL)に、DATA_AREA_INFO ビューが存在しています。

これを使用することで、データエリアの一覧を取得することが可能です。

コマンド例:

SELECT DATA_AREA_NAME, DATA_AREA_VALUE
 FROM QSYS2.DATA_AREA_INFO
 WHERE DATA_AREA_LIBRARY = 'SAMPLELIB';

このような形で、データエリアの情報一覧を取得することが可能です。

今回はライブラリーのみを指定していますので、指定したライブラリーに存在するすべてのデータエリアの名前とその内容が一覧に表示されています。この方法でご要望に沿えるかと思います。

今回は見やすいように、IBM i Access Client Solutions(ACS)の「SQLスクリプトの実行」機能を使用しましたが、IBM i (AS/400)に5770-ST1のライセンスがあればエミュレーター上でもコマンド実行できます。

なお、DATA_AREA_INFO ビューの詳細な説明は、以下のサイトをご確認ください。
https://www.ibm.com/docs/ja/i/7.5?topic=services-data-area-info-view

また、一覧をファイル出力したい場合は以下のリンクをご参照ください。

ACSのSQL実行結果をダウンロードしたい
https://www.e-bellnet.com/category/technology/2212/2212-02.html

プログラムの構造によっては、複数のデータエリアが関係しあっている場合もあるかと思いますので、この機能が使用できると非常に便利ですね。

by . かんぴょう木綿さん

あわせて読みたい記事

PAGE TOP