DFU, Query, SQL

28. DDMファイルを Query/400で処理するには?

残念ながらできない。Query/400自体は内部ではSQLと同じ基礎から生成されているはず

なのだがセッションがQuery/400の終了とともにクローズされてしまう。

しかし STRQMQRY (QRY管理機能) を使用すれば 遠隔地接続が可能となる。

QMQRY は QUERY/400から生成できるので、生成された QMQRYを使えば遠隔地接続での

QMQRY を実行できる。

つまり遠隔地と同じレイアウトのデータ・ベースをローカルに作成してそのローカルのデータ・ベース

に対するQUERY/400を作成する。

QUERY/400からQMQRYソースを抽出して、SEUを使ってデータ・ベース名を遠隔地のデータ・ベースの

ライブラリー名、ファイル名に変更してからQMQRY をコンパイルする。

コンパイルで生成されたQMQRY を遠隔地のリレーショナル・データベース名を指定して実行

するという具合である。

その手順を説明する。

1. QUERY/400から QMQRYソースを抽出する

【 例 】

     
                          QUERY 管理プログラムの検索  (RTVQMQRY)
      選択項目を入力して,実行キーを押してください。
      QUERY 管理プログラム  . . . . . > MYQUERY        名前
        ライブラリー  . . . . . . . . >   QRYOBJLIB    名前 , *LIBL, *CURLIB
      原始ファイル  . . . . . . . . . > QQMQRYSRC      名前
        ライブラリー  . . . . . . . . >   QGPL         名前 , *LIBL, *CURLIB
      原始メンバー  . . . . . . . . .   *QMQRY         名前 , *QMQRY
      QRYDFN からの情報使用可能   . . > *ONLY         *NO, *YES, *ONLY

2. QMQRY ソースを修正する

SEU によって FROM句のデータ・ベース名を遠隔地のライブラリー名、ファイル名に変更する。

【 例 】

      0001.00 H QM4 05 Q 01 E V W E R 01 03 04/10/19 14:37
      0002.00 V 1001 050
      0003.00 V 5001 004 *HEX
      0004.00 SELECT
      0005.00   ALL       SHCODE, SHNAME, SHTANK, SHSCOD
      0006.00   FROM      QTRFIL/SHOHIN T01

3. CRTQMQRY コマンドによってQMQRY を生成する

                          QUERY 管理プログラムの作成  (CRTQMQRY)
      選択項目を入力して,実行キーを押してください。
      QUERY 管理プログラム  . . . . .   MYQRY          名前
        ライブラリー  . . . . . . . .     MYOBJLIB     名前 , *CURLIB
      原始ファイル  . . . . . . . . .   QQMQRYSRC      名前
        ライブラリー  . . . . . . . .     QGPL         名前 , *LIBL, *CURLIB
      原始メンバー  . . . . . . . . .   *QMQRY         名前 , *QMQRY
      テキスト ' 記述 ' . . . . . . .   *SRCMBRTXT
      分類順序  . . . . . . . . . . .   *SRC           名前 , *SRC, *JOBRUN...
        ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
      言語識別コード  . . . . . . . .   *SRC          *JOB, *JOBRUN...

4. QMQRY を遠隔他リレーショナル・データベース名を指定して実行する

下記の例ではリレーショナル・データベース「FUKUOKA」とユーザー、パスワードも合わせて

指定して遠隔地への接続を要求している。

                          QUERY 管理プログラムの開始  (STRQMQRY)
      選択項目を入力して,実行キーを押してください。
      QUERY 管理プログラム  . . . . . > MYQRY          名前
        ライブラリー  . . . . . . . . >   MYOBJLIB     名前 , *LIBL, *CURLIB
      出力  . . . . . . . . . . . . .   *             *, *PRINT, *OUTFILE
      QUERY 管理報告書書式  . . . . .   *SYSDFT        名前 , *SYSDFT, *QMQRY
        ライブラリー  . . . . . . . .                  名前 , *LIBL, *CURLIB
                       追加のパラメーター
      リレーショナル・データベース      FUKUOKA
      接続方式  . . . . . . . . . . .   *DUW          *DUW, *RUW
      ユーザー  . . . . . . . . . . .   HANBAI         名前 , *CURRENT
      パスワード  . . . . . . . . . .                  文字値 , *NONE
      命名規則  . . . . . . . . . . .   *SYS          *SYS, *SAA
      QRYDFN からの情報使用可能   . .   *NO           *NO, *YES, *ONLY