チュートリアル
チュートリアルとは
チュートリアル(自習書)とは製品を理解して頂くための実際のサンプルによる練習です。
このチュートリアルに従って実際に操作するにはサンプル・ライブラリーが必要です。
サンプル・ライブラリーとは
サンプル・ソース・ライブラリー : QTRSRC
サンプル・オブジェクト・ライブラリー : QTROBJ
サンプル・ファイル・ライブラリー : QTRFIL
の3つのライブラリーであり開発支援サービスにご契約のお客さまに配布されます。
1. 商品マスターの印刷(@SHOHIN)
1. WRKQRY によって レコード選択指定のあるQUERYを作成します。
1.QUERY 適用業務の作成(WRKWRY)を選択してください。
QUERY 処理 選択項目を入力して,実行キーを押してください。 オプション . . . . 1 1= 作成, 2= 変更, 3= コピー, 4= 削除 5= 表示, 6= 定義の印刷 8= バッチで実行, 9= 実行 QUERY 定義 . . . . @SHOHIN 名前,リストは F4gー ライブラリー . . QTROBJ 名前, *LIBL, リストは F4gー
【解説】
QUERY 定義とライブラリーの名前を指定して追加のファイルを指定するために
ここでさらにF9キーを押してください。
2.追加のファイルの指定
ファイル選択指定 選択項目を入力して,実行キーを押してください。追加のファイル選択項目を 指定するためには, F9 キーを押してください。 ファイル . . . . . . SHOHIN 名前,リストは F4キー ライブラリー . . . QTRFIL 名前, *LIBL, リストは F4キー メンバー . . . . . . *FIRST 名前, *FIRST, リストは F4キー 様式 . . . . . . . . SHOHINR 名前, *FIRST, リストは F4キー ファイル ID . . . . . T01 A-Z99, *ID ファイル . . . . . . HINSHU 名前,リストは F4キー ライブラリー . . . QTRFIL 名前, *LIBL, リストは F4キー メンバー . . . . . . *FIRST 名前, *FIRST, リストは F4キー 様式 . . . . . . . . *FIRST 名前, *FIRST, リストは F4キー ファイル ID . . . . . *ID A-Z99, *ID
【解説】
追加の二次ファイルとして品種マスター( QTRFIL/HINSHU )を
指定してください。
3.結合タイプの指定
結合タイプの指定 選択項目を入力して,実行キーを押してください。 結合のタイプ . . . . . . . 1 1= 一致レコード 2= 1次ファイルと一致したレコード 3= 1次ファイルと一致しないレコード
【解説】
結合のタイプの指定として 1が初期値として示されますので
このまま実行キーを押してください。
4.ファイルの結合方法の指定
ファイルの結合方法の指定 ファイルの選択項目の比較方法を入力して,実行キーを押してください。 テスト : EQ, NE, LE, GE, LT, GT フィールド テスト フィールド T01.SHSCOD EQ T02.HNSCOD フィールド テキスト LEN DEC T01.SHCODE 商品コード 10 T01.SHNAME 商品名 24 O T01.SHTANK 単価 7 0 T01.SHSCOD 品種コード 4 T02.HNSCOD 品種コード 4
【解説】
商品マスターの品種コード(T01.SHSCOD)と品種マスターの品種コード(T02.HNSCOD)が
等しく(EQ)なるように指定します。
2.ファイルの指定
QUERY 定義 QUERY. . . . . . : @SHOHIN オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 OPT QUERY 定義オプション 1 ファイル選択指定 結果のフィールドの定義 フィールドの選択および順序付け レコードの選択 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
ファイル選択指定に1が表示されますのでこのままで実行キーを押します。
3.ファイル名に QTRFIL/SHOHINを指定する
ファイル選択指定 選択項目を入力して,実行キーを押してください。追加のファイル選択項目を 指定するためには, F9 キーを押してください。 ファイル . . . . . . SHOHIN 名前,リストは F4キー ライブラリー . . . QTRFIL 名前, *LIBL, リストは F4キー メンバー . . . . . . *FIRST 名前, *FIRST, リストは F4キー 様式 . . . . . . . . *FIRST 名前, *FIRST, リストは F4キー
【解説】
ファイルにサンプル・ライブラリーQTRFIL のSHOHIN(=商品マスター)と
ライブラリーにサンプル・ライブラリーの QTRFIL と指定して実行キーを押してください。
5.レコードの選択を指定する
QUERY 定義 QUERY. . . . . . : @SHOHIN3 オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 OPT QUERY 定義オプション > ファイル選択指定 結果のフィールドの定義 フィールドの選択および順序付け 1 レコードの選択 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
レコードの選択に1を指定して実行キーを押してください。
6.選択レコードの範囲を指定する
レコードの選択 比較条件を入力し実行キー。新しいグループを始めるには OR を指定してください テスト: EQ, NE, LE, GE, LT, GT, RANGE, LIST, LIKE, IS, ISNOT... AND/OR フィールド テスト 値 (フィールド, 数値,'文字',または ...) T01.SHSCOD GE ' ' AND T01.SHSCOD LE '9999' AND T01.SHCODE GE ' ' AND T01.SHCODE LE '9999999999'
【解説】
商品マスターの品種コード(T01.SHSCOD)が最小値(=ブランク)から最大値(=9999)でかつ
商品マスターの商品コード(T01.SHCODE)が最小値(=ブランク)から最大値(=9999999999)として
最大限の範囲をレコード選択として定義します。
このレコード選択記述は後でコマンド・プロンプトのパーメータに変換されます。
7.分類フィールドの指定
QUERY 定義 QUERY. . . . . . : @SHOHIN3 オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 PT QUERY 定義オプション > ファイル選択指定 結果のフィールドの定義 フィールドの選択および順序付け > レコードの選択 1 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
商品一覧表を品種コード順商品コード順に並べるために
分類フィールドを指定します。
8.分類フィールドの選択
分類フィールドの選択 32 以内のフィールド名の分類優先順位 (0-999) およびA(昇順)またはD(降順) を入力して,実行キーを押してください。 SORT PRTY A/D フィールド テキスト LEN DEC 2 T01.SHCODE 商品コード 10 T01.SHNAME 商品名 24 O T01.SHTANK 単価 7 0 1 T01.SHSCOD 品種コード 4 T02.HNSCOD 品種コード 4 T02.HNSNAM 漢字 14 O
【解説】
商品マスターの品種コード(T01.SHSCOD)に 1を
商品マスターの商品コード(T01.SHCODE)に 2を指定します。
9.出力タイプおよび出力形式の選択
QUERY 定義 QUERY. . . . . . : @SHOHIN3 オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 OPT QUERY 定義オプション > ファイル選択指定 結果のフィールドの定義 フィールドの選択および順序付け > レコードの選択 > 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 1 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
QUERYを印刷用にするために出力タイプおよび出力形式を指定します。
10.出力タイプおよび出力形式の選択
出力タイプおよび出力形式の選択 選択項目を入力して,実行キーを押してください。 出力のタイプ . . . . . . . . . . 2 1= 表示 2= 印刷装置 3= データベース・ファイル 出力の形式 . . . . . . . . . . . 1 1= 明細 2= 合計のみ 行折り返し . . . . . . . . . . . N Y=YES, N=NO 折り返し幅 . . . . . . . . . . ブランク, 1-378 レコードの途中で改ページ禁止 . N Y=YES, N=NO 印刷装置 . . . . . . . . *PRINT *PRINT, 名前 用紙サイズ: 長さ . . . . . . . . . ブランク, 1-255 幅 . . . . . . . . . . 132 ブランク, 1-378 開始行 . . . . . . . . . ブランク, 1-255 終了行 . . . . . . . . . ブランク, 1-255 行の間隔 . . . . . . . . 1 1, 2, 3 定義の印刷 . . . . . . . N Y=YES, N=NO 出力のスプール . . . ブランク, Y=YES, N=NO 用紙タイプ . . . . . ブランク,名前, *STD コピー部数 . . . . . 1 ブランク, 1-255 保留 . . . . . . . . ブランク, Y=YES, N=NO カバー・ページの印刷 . . N Y=YES, N=NO カバー・ページのタイトル 標準のページ 見出しの印刷 . . . . . Y Y=YES, N=NO ページ見出し ページ・フッター
【解説】
印刷を指定するためには次を指示してください。
- 出力のタイプ . . . . . . . . . . . . . . 2:印刷装置
- 定義の印刷 . . . . . . . . . . . . . . . N : QUERYの定義の印刷は不要です
- カバー・ページの印刷 . . . . . . . N : 印刷のカバー・ページも不要です
11.QUERY定義の確認
QUERY 定義 QUERY. . . . . . : @SHOHIN オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 PT QUERY 定義オプション > ファイル選択指定 結果のフィールドの定義 フィールドの選択および順序付け > レコードの選択 > 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 > 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
QUERY定義の画面に戻ったらF3キーを押してQUERYを保存します。
12.QUERY 終了
QUERY 終了 選択項目を入力して,実行キーを押してください。 定義の保管 . . . . . Y Y=YES, N=NO 実行オプション . . . 3 1= 対話式で実行 2= バッチで実行 3= 実行しない 定義を保管する場合: QUERY 定義 . . . . @SHOHIN 名前 ライブラリー . . QTROBJ 名前,リストは F4 キー テキスト . . . . . 商品マスター一覧表 権限 . . . . . . . *LIBCRTAUT *LIBCRTAUT, 権限リスト名 *CHANGE, *ALL, *EXCLUDE, *USE
【解説】
これでQUERYを保存して終了しますが
- 定義の保管 . . . . . . . . . . . . . Y : YESで保管します。
- 実行オプション . . . . . . . . . . 3 : 3=実行の必要はありません。
- QUERY 定義 . . . . . @SHOHIN : QUERY定義の名前は必ず8文字以内で保存してください。
- テキスト . . . . . . . . . . . 「商品マスター一覧表」としてください。このテキストは
コマンド・プロンプトの表題として使われますので
30文字以内でなければなりません。 - 権限 . . . . . . . . . . . . . . すべてのユーザーに使えるようにするために *ALL とすることを
お奨めします。
2.拡張 QUERY の実行
拡張 QUERY 実行 (RUNQRYX) 選択項目を入力して,実行キーを押してください。 QUERY . . . . . . . . . . . . . @SHOHIN 名前 , *NONE ライブラリー . . . . . . . . QTROBJ 名前 , *LIBL, *CURLIB QUERY ファイル : ファイル . . . . . . . . . . *SAME 名前 , *SAME ライブラリー . . . . . . . *LIBL 名前 , *RUNOPT2, *LIBL... メンバー . . . . . . . . . . *FIRST 名前 , *RUNOPT, *FIRST... 値の続きは+ 報告出力のタイプ . . . . . . . *RUNOPT *RUNOPT, *DISPLAY... 出力書式 . . . . . . . . . . . *RUNOPT *RUNOPT, *DETAIL, *SUMMARY レコード選択 . . . . . . . . . *YES *NO, *YES
【解説】
それでは先ほど作成したQUERYをIBM の RUNQRYではなく
拡張 QUERY 実行 (RUNQRYX)で実行します。
レコード選択の初期値が *YES になっていることに注意してください。
商品マスター一覧表 (@SHOHIN) 選択項目を入力して,実行キーを押してください。 品種コード . . . . . . . . . . 0001 から . . . . . . . . . . . . . . . 0001 まで 商品コード . . . . . . . . . . から . . . . . . . . . . . . . . . 9999999999 まで 出力 . . . . . . . . . . . . . * *PRINT, *, *OUTFILE ジョブ待ち行列へ投入しますか N Y=YES, N=NO ジョブ待ち行列 . . . . . . . QBATCH 名前 , *JOBD ライブラリー . . . . . . . QGPL 名前 , *LIBL, *CURLIB
【解説】
しばらくすると上記のようなコマンド・プロンプトが生成されて表示されます。
コマンド・プロンプトと実行CLPはQUERYが保管されているのと同じライブラリーに
生成されています。
次回からは生成済みのコマンドとCLPがありますのでこの画面が素早く表示されます。
ここではレコード選択の指定が効いているかを確認するために
品種コードは 0001から 0001までと指定します。
さらに結果を画面で確認するために出力を*PRINT(=印刷)ではなく
*(=表示)に本校して実行キーを押します。
報告書の表示 比較条件を入力し実行キー。新しいグループを始めるには OR を指定してください。
テスト: EQ, NE, LE, GE, LT, GT, RANGE, LIST, LIKE, IS, ISNOT... QUERY. . . : QTROBJ/@SHOHIN 行の位置指定 . . . . . . . 行 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+.... 商品コード 商品名 単価 品種コード 品種名 00001 RX-AZ1 液晶テレビ 80 インチ 300,000 0001 カラーTV 00002 TH-19VS30 コンパクトTVBS19 120,000 0001 カラーTV 00003 TH-21VS30 コンパクトTVBS21 128,000 0001 カラーTV 00004 TH-25GF10 衛星放送内蔵TV25 168,000 0001 カラーTV 00005 TH-25GV10 ビデオ内蔵型TV25 255,000 0001 カラーTV 00006 TH-25VS30 コンパクトTVBS25 11,300 0001 カラーTV 00007 TH-29GF10 カラーTV画王BS29 220,000 0001 カラーTV 00008 TH-29GV10 ビデオ内蔵型TV29 280,000 0001 カラーTV 00009 TH-33VS35 カラーTV画王BS33 350,000 0001 カラーTV ***** ******** 報告書の終わり ********
【解説】
実行結果がこのように0001の品種コードの商品だけが抽出されているので
レコード選択が有効に働いていたことがわかります。
このようにしてレコード選択が日本語表示されますのでQUERYを十分業務として
活用することができるようになります。
これが拡張QUERYプロンプトです。
2. 売上金額の計算(@URIAGE)
ここでは更新QUERYの実行サンプルを作成する操作を体験します。
更新QUERYとは結果のフィールドの定義を使って更新フィールドを定義する
QUERYを作成しそれを使ってSQL文でデータ・ベースを更新するコマンド・プロンプト
と実行CLPを生成する機能のことです。
まず最初に結果のフィールドの定義を含むQUERYを作成してその同じQUERYを
更新QUERY(UPDQRY)コマンドによって実行するだけでデータ・ベースを
更新することを体感してください。
11. QUERY 適用業務の作成(WRKWRY)
QUERY 処理 選択項目を入力して,実行キーを押してください。 オプション . . . . 1 1= 作成, 2= 変更, 3= コピー, 4= 削除 5= 表示, 6= 定義の印刷 8= バッチで実行, 9= 実行 QUERY 定義 . . . . @URIAGE 名前,リストは F4キー ライブラリー . . QTROBJ 名前, *LIBL, リストは F4キー
【解説】
まず WRKQRYコマンドで売上ファイル(QTRFIL/URIAGE)を更新するQUERY: @URIAGE を
作成します。作成するQUERY定義は必ず8文字以内の名前で命名してください。
QUERY 定義 QUERY. . . . . . : @URIAGE オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 OPT QUERY 定義オプション 1 ファイル選択指定 結果のフィールドの定義 フィールドの選択および順序付け レコードの選択 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
最初は ファイル選択指定に 初期値として 1が示されていますので
このままで実行キーを押してください。
ファイル選択指定 QUERY. . . . . . : @URIAGE オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 選択項目を入力して,実行キーを押してください。追加のファイル選択項目を 指定するためには, F9 キーを押してください。 ファイル . . . . . . URIAGE 名前,リストは F4キー ライブラリー . . . QTRFIL 名前, *LIBL, リストは F4キー メンバー . . . . . . *FIRST 名前, *FIRST, リストは F4キー 様式 . . . . . . . . *FIRST 名前, *FIRST, リストは F4キー
【解説】
ファイルとして売上ファイル(QTRFIL/URIAGE)を指定してください。
QUERY 定義 QUERY. . . . . . : @URIAGE オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 OPT QUERY 定義オプション 1 ファイル選択指定 結果のフィールドの定義 フィールドの選択および順序付け レコードの選択 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
次に 結果のフィールドの定義に1を入れて実行キーを押してください。
結果のフィールドの定義 フィールド名または固定情報と演算子を使用して定義を入力し,実行キーを 押してください。 演算子: +, -, *, /, SUBSTR, ||, DATE... フィールド 式 カラム見出し LEN DEC @URKING URSUR * URTANK 売上金額
【解説】
結果のフィールドとして売上金額(URKUNG)を指定したいところですが
既存のフィールドを指定することはできませんので先頭に文字「@」を付加した
@URKING という名前で定義します。(付加する文字は必ず@でありそれ以外の文字は
使用しないでください。)
続けて式は 売上数(URSUR) X 単価(URTABK) として記述します。
カラム見出しには「売上金額」と記述してください。
LEN と DEC の定義は必要ありません。
実行キーを押して既存のフィールドを保存してください。
QUERY 定義 QUERY. . . . . . : @URIAGE オプション . . . : 変更 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください。 1= 選択 PT QUERY 定義オプション > ファイル選択指定 > 結果のフィールドの定義 1 > フィールドの選択および順序付け > レコードの選択 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 > 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
次に更新結果を出力するための定義を行うために
フィールドの選択および順序付けを選択します。
フィールドの選択および順序付け
報告書に表示したい 500 以内のフィールド名に順序番号 (0-9999) を入力して,
実行キーを押してください。
オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください。
1= 選択
SEQ フィールド テキスト LEN DEC
@URKING URSUR * URTANK 10 0
10 URINO 売上 NO 6 0
20 URGYO 行№ 2 0
30 URTKCD 得意先 コード 4
40 URDATE 売上日 6 0
50 URDATK 売掛日 6 0
60 URSHCD 商品 コード 10
70 URSUR 売上数 3 0
80 URTANK 単価 7 0
90 URKING 売上金額 7 0
100 URUTTL 合計金額 7 0
110 URZEI 消費税 7 0
【解説】
ここでは先ほど追加で定義した結果のフィールドは選ばずに
それ以外のフィールドに順序だてて 10, 20, ...と入力します。
結果のフィールドを選ばないのはこのQUERYを後で実行時に
更新結果を確認するために表示するQUERYとして使用するからです。
それでは確認のためにF5キーを押してこのQUERYを実行させてみます。
報告書の表示 報告書に表示したい 500 以内のフィールド名に順序番号 (0-9999) を入力して, 実行キーを押してください。 報告書の幅 . . . . . : 135 行の位置指定 . . . . . . . 桁移動 . . . . . . . . . . 行 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10....+...11....+...12... 売上 NO 行№ 得意先 [ーq゙ 売上日 売掛日 商品 [ーq゙ 売上数 単価 売上金額 合計金額 消費税 00001 1 1 0001 94/11/14 94/11/14 NV-BS30S 3 165,000 495,000 688,400 20,652 00002 1 2 0001 94/11/14 94/11/14 SC-CH150 2 69,800 139,600 688,400 20,652 00003 1 3 0001 94/11/14 94/11/14 RX-DT75 1 53,800 53,800 688,400 20,652 00004 2 1 0001 95/09/30 95/09/30 NV-CF1 1 180,000 180,000 880,000 26,400 00005 2 2 0001 95/09/30 95/09/30 NV-W1 2 350,000 700,000 880,000 26,400 ***** ******** 報告書の終わり ********
【解説】
これが更新を実行した後に表示させるはずの結果の確認画面です。
結果のフィールドが表示されないようにするために
あえて結果のフィールドを選択しなかったのはみのためです。
実行キーを押してもとの画面に戻ってください。
QUERY 定義 QUERY. . . . . . : @URIAGE3 オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 PT QUERY 定義オプション > ファイル選択指定 > 結果のフィールドの定義 > フィールドの選択および順序付け 1 レコードの選択 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
次に売上日の範囲を選択するためにレコードの選択に1を入れて
実行キーを押してください。
レコードの選択 比較条件を入力し実行キー。新しいグループを始めるには OR を指定してください テスト: EQ, NE, LE, GE, LT, GT, RANGE, LIST, LIKE, IS, ISNOT... AND/OR フィールド テスト 値 (フィールド, 数値,'文字',または ...) URDATE GE 0 AND URDATE LE 999999
【解説】
範囲を指定する売上日は6桁の数字フィールドなので
売上日(URDATE)は 0以上かつ999999以下として最大の選択範囲を
指定します。
QUERY 定義 QUERY. . . . . . : @URIAGE3 オプション . . . : 作成 ライブラリー . : QTROBJ CCSID. . . . . . : 5035 オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください 1= 選択 OPT QUERY 定義オプション > ファイル選択指定 > 結果のフィールドの定義 > フィールドの選択および順序付け > レコードの選択 分類フィールドの選択 照合順序の選択 報告書のカラムの形式指定 計算機能の選択 制御レベルの定義 1 出力タイプおよび出力形式の選択 処理オプションの指定
【解説】
最後に印刷出力とするために出力タイプおよび出力形式の選択に1を入れて
指定します。
出力タイプおよび出力形式の選択 選択項目を入力して,実行キーを押してください。 出力のタイプ . . . . . . . . . . 2 1= 表示 2= 印刷装置 3= データベース・ファイル 定義の印刷 . . . . . . . N Y=YES, N=NO カバー・ページの印刷 . . N Y=YES, N=NO
【解説】
上記は変更箇所のみを示しています。
出力のタイプは 2=印刷装置 です。
定義の印刷=N として QUERYの艇器具は印刷しません。
カバー・ページの印刷=N としてカバー・ページも印刷しません。
最後にF3キーを押してQUERYを保管します。
QUERY 終了 選択項目を入力して,実行キーを押してください。 定義の保管 . . . . . Y Y=YES, N=NO 実行オプション . . . 3 1= 対話式で実行 2= バッチで実行 3= 実行しない 定義を保管する場合: QUERY 定義 . . . . @URIAGE 名前 ライブラリー . . QTROBJ 名前,リストは F4 キー テキスト . . . . . 売上金額の計算 権限 . . . . . . . *ALL *LIBCRTAUT, 権限リスト名 *CHANGE, *ALL, *EXCLUDE, *USE
【解説】
定義の保管= YとしてQUERY定義を保管します。
ただし実行オプション: 3= 実行しない で実行はしません。
QUERY 定義は必ず8文字以内の名前で命名保管してください。
テキストはコマンド・プンプトの表題として使用しますので必ず30文字以内に
収めてください。(30文字を超過するとコマンド生成のエラーになります)
権限はすべてのユーザーで使用可能にするには *ALL を指定してください。
12. 更新 QUERY の実行(UPDQRY)
更新 QUERY 実行 (UPDQRY) 選択項目を入力して,実行キーを押してください。 QUERY . . . . . . . . . . . . . > @URIAGE 名前 , *NONE ライブラリー . . . . . . . . > QTROBJ 名前 , *LIBL, *CURLIB QUERY ファイル : ファイル . . . . . . . . . . *SAME 名前 , *SAME ライブラリー . . . . . . . *LIBL 名前 , *RUNOPT, *LIBL... メンバー . . . . . . . . . . *FIRST 名前 , *RUNOPT, *FIRST... 値の続きは+ 報告出力のタイプ . . . . . . . *RUNOPT *RUNOPT, *DISPLAY... 出力書式 . . . . . . . . . . . *RUNOPT *RUNOPT, *DETAIL, *SUMMARY レコード選択 . . . . . . . . . *YES *NO, *YES 更新前データの BACKUP . . . . . *YES *NO, *YES BACKUP ファイル . . . . . . . . *AUTO 名前 , *AUTO ライブラリー . . . . . . . . QRPLOBJ 名前 , *LIBL, *CURLIB
【解説】
先ほど作成したQUERYと同じ名前のQUERYを指定して更新 QUERY(UPDQRY)を
実行します。
レコード選択の初期値が *YESになっていることに注意はしてください。
更新前データの BACKUPの初期値も *YESです。
BACKUPを指示してBACKUP ファイルを *AUTO にしておくと乱数発生の名前で
ライブラリー QRPLOBJに更新前の被更新ファイル(=ここでは売上ファイル)が
複製されてBACKUPされます。
ライブラリー QRPLOBJというのはi5/OSがオブジェクトを上書きするときに
直前に上書きされるオブジェクトをBACKUPとして保存するライブラリーです。
更新QUERYでも同じQRPLOBJが使われます。
BACKUPファイルは乱数発生ファイルとしてBACKUPされますので
複数回の更新が行われたとしてもとの世代毎のBACKUPが保管されます。
ライブラリー QRPLOBJの中身はIPLのときにi5/OSによって自動的に消去されます。
従ってBACKUPが何回もあったとしても無駄なデータが蓄積されることは
ありません。
ただし年間を通じてIPLを行わずに継続してIBM iを通電しているユーザーは
定期的にQRPLOBJの内容を CLRLIBコマンドによって明示的に消去する必要があります。
売上金額の計算 (@URIAGE) 選択項目を入力して,実行キーを押してください。 売上日 . . . . . . . . . . . . 0 から . . . . . . . . . . . . . . . 999999 まで 出力 . . . . . . . . . . . . . * *PRINT, *, *OUTFILE ジョブ待ち行列へ投入しますか N Y=YES, N=NO ジョブ待ち行列 . . . . . . . QBATCH 名前 , *JOBD ライブラリー . . . . . . . QGPL 名前 , *LIBL, *CURLIB
【解説】
しばらくするとコマンド・プロンプトが自動的に生成されて
上記のように表示されます。
コマンドと実行CLPはQUERYが保管されている同じライブラリーに作成されます。
次回の実行からはコマンドとCLPは既に存在していますので
素早くこの画面が表示されます。
更新結果を画面で確認するために出力を*PRINTから* に変更します。
実行キーを押して更新が終わると更新結果が次のように表示されます。
報告書の表示
報告書の幅 . . . . . : 135
行の位置指定 . . . . . . . 桁移動 . . . . . . . . . .
行 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10....+...11....+...12...
売上 NO 行№ 得意先 [ーq゙ 売上日 売掛日 商品 [ーq゙ 売上数 単価 売上金額 合計金額 消費税
00001 1 1 0001 94/11/14 94/11/14 NV-BS30S 3 165,000 495,000 688,400 20,652
00002 1 2 0001 94/11/14 94/11/14 SC-CH150 2 69,800 139,600 688,400 20,652
00003 1 3 0001 94/11/14 94/11/14 RX-DT75 1 53,800 53,800 688,400 20,652
00004 2 1 0001 95/09/30 95/09/30 NV-CF1 1 180,000 180,000 880,000 26,400
00005 2 2 0001 95/09/30 95/09/30 NV-W1 2 350,000 700,000 880,000 26,400
***** ******** 報告書の終わり ********
【解説】
このようにQUERYによってデータ・ベースを更新すれば
安定した更新を行うことができ、つかも万一に備えてBACKUPも保存されています。
月次の繰越し業務や棚卸し更新の業務にも使えそうです。
SQLで更新していますので安定しており実行も素早く終えることができます。
以上で更新QUERYのチュートリアルを終了します。
会社の小さなデータ・ヘースの更新から徐々に始めてください。
いきなり大規模で複雑な更新から始めると正しい学習ができなくなります。
基礎から少しずつ学習して体感するようにしてください。