DATA_AREA_INFO ビューとは?
そのままですが、IBM i の指定したライブラリーやデータエリア*DTAARAオブジェクトの設定値を参照するSQLサービスです。
Navigator for i のサンプルをACS SQLスクリプト実行画面に連動して実行させる方法
ところで、Navigator for i(ブラウザー)にはいろいろなIBM i サービスのサンプルスクリプトがありますが、その実行はACSのSQLスクリプト実行を使う方が何かと便利だと思います。ということで、Navigator for i でSQLスクリプト実行を選択するとACSのSQLスクリプト実行画面を起動してサンプルをコピペする機能が搭載されています。
全体の関係図は下記のようになります。
ポイントは①ACSでナビゲーター要求を開始 にすることです。
※Navigator for i はそのままの名前で通りがいいと思うのですが、ACS上では"ナビゲーター"と表記されてるので??となってしまう方もいそうです、この辺IBM社イマイチーといつも思います^^;
ACSでナビゲーター要求(Navigator for iからのリッスンポートを起動する)手順
ACS -> ツール -> ナビゲーター要求 を選択
ナビゲーター要求のパネルが表示されるので、接続したいIBM i を選択して開始ボタンを押す(画面コピーは開始済みの状態)
※WindowsクライアントではPC再起動ごとにリッスンポートの開始が必要です。
以上で完了です。
QSYS2.DATA_AREA_INFOビューを実行する
このIBM i サービスのサンプルがNavigator for i で提供されています。
***Navigator for i (http://IBM i ホスト名or IP:2002/Navigator)でアクセス -> システム -> SQLサービス でサンプル画面が開きます。
Navigator for i には2つ、サンプルがありました。
①テーブル関数DATA_AREA_INFO を実行してみる
下記のようなサンプルが生成されました
-- Description: Show the value of DTAARA1 based on the current library list.
select DATA_AREA_LIBRARY,
DATA_AREA_NAME,
DATA_AREA_VALUE
from table (
QSYS2.DATA_AREA_INFO('DTAARA1', '*LIBL')
);
ここで、DTAARA1, *LIBLは任意のオブジェクト名、ライブラリー名に置き換えて実行します。
下記では適当にQUSRSYSのデータエリア名を指定しています。
②ビュー DATA_AREA_INFO を実行してみる
こちらのサンプルは下記です。
-- Description: List all data areas named DTAARA1 and their values.
select DATA_AREA_LIBRARY,
DATA_AREA_NAME,
DATA_AREA_VALUE
from QSYS2.DATA_AREA_INFO
where DATA_AREA_NAME = 'DTAARA1';
ここでも DATAARA1 は任意のデータエリア名に置き換えて実行します。
下記は TEST として実行しています。
このサンプルではTESTという名前のデータエリア*DTAARA すべての値が返されます。
マニュアル記載のサンプルを実行してみる
上に張り付けたマニュアルリンクにもサンプルがありあした
SELECT DATA_AREA_NAME, DATA_AREA_VALUE FROM QSYS2.DATA_AREA_INFO
WHERE DATA_AREA_LIBRARY = 'MYLIB';
MYLIBを任意のライブラリーに変更、実行します。