Upload
shinsuke-yamamoto
View
11
Download
0
Embed Size (px)
Citation preview
Title B7_コメントリストにレポート実行画面からコメントを追記するキーワード コメント入力
コメントリストにレポート実行画面からコメントを追記する
完成イメージ
レポート実行画面上でコメントリストにコメントを追記できる
レポート実行時
コメント追記時
使用データ・パッケージGO販売 (クエリー)
作業ステップ1. コメント用テーブルの作成2. Stored Procedure の作成3. Framework Managerでの定義4. レポート定義
1. コメント用テーブルの作成
1. レポート画面から入力されたコメントは、データベースのテーブルに格納されます。そのため事前にコメント用のテーブルを作成しておきます。
下記のDDLをcreate_comtable.txtというファイル名で保存する。CREATE TABLE GOSALES.COMTABLE (
NAME VARCHAR(20), COMTXT VARCHAR(100), COMTIME TIMESTAMP
);
2. GSDBのデータベースに、コメント用のテーブルを作成する。$ db2 connect to [GSDBのデータベース名]$ db2 -tvf create_comtable.txt$ db2 describe table gosales.comtable
2. Stored Procedure の作成
1. レポート画面からStored ProcedureをCallすることでコメント行を挿入できるようにします。コメント用テーブルにコメント行を挿入するためのStored Procedureを作成しておきます。
下記のDDLをcreate_procedure.txtというファイル名で保存する。CREATE PROCEDURE GOSALES.P_INS_COMTABLE (IN NAMEVAL VARCHAR(20), IN COMMVAL VARCHAR(100))
MODIFIES SQL DATADYNAMIC RESULT SETS 1
P1: BEGINDECLARE cursor1 CURSOR WITH RETURN for select * from GOSALES.comtable;INSERT INTO GOSALES.comtable VALUES (NAMEVAL, COMMVAL, CURRENT TIMESTAMP);COMMIT;OPEN cursor1;
END P1@
2. GSDBのデータベースにStored Procedureを作成する。$ db2 connect to [GSDBのデータベース名]$ db2 -td@ -vf create_procedure.txt$ db2 "SELECT ROUTINESCHEMA, ROUTINENAME, substr(TEXT, 1,500) FROM SYSCAT.ROUTINES WHERE ROUTINESCHEMA='GOSALES' and ROUTINENAME='P_INS_COMTABLE'"
3. Framework Managerでの定義
1. Framework Managerでgreat_outdoor_salesのモデルを開き、メタデータウィザードを開きます。
2. 前述の手順で作成したテーブルとStore Procedureをモデルに取り込みます。
3. COMTABLE, P_INS_COMTABLE をデータベースのビューに移動します
3. データベースのビュー -> P_INS_COMTABLE をダブルクリックして追加設定を行ないます。
NAMEVALの行の右端をクリックしてパラメータを設定します。
パラメータ名に「pNAME」、値に「#prompt('pNAME','varchar(20)')#」と設定します。
同様に、COMMVALの行の右端をクリックしてパラメータを設定します。
パラメータ名に「pCOMMENT」、値に「#prompt('pCOMMENT','varchar(100)')#」と設定します。
検証ボタンで問題ないことを確認する。※検証によってtestValueという行がテーブルに入る。実際のコメントではない行なのでテーブルから消しておく。
4. 販売(クエリー)に、COMTABLE、P_INS_COMTABLEのショートカットを作成する。
5. パッケージ発行GO販売 (クエリー) パッケージを発行します。※共有フォルダ/TEST の下に発行すると添付のレポート定義がそのまま使用できます。
4. レポート定義
※添付のレポート定義は、共有フォルダ/TEST の下に作成した場合のレポート定義です。 別のフォルダで作成する場合は、ドリルスルー先のフォルダが変わるため必要に応じて定義を変更してください。
1. 新規レポート作成Report Authoringで空白のレポートを作成し、コメント表(COMTABLE)のリスト表を作成します。パッケージは、前述の手順で作成したGO販売(クエリー)を指定します。
下の例ではグラフを左側に作成していますが、コメント入力の実装には無くても構いません。
2. ローカルキャッシュの無効化リスト表のクエリーについて、「ローカルキャッシュを使用」を「いいえ」に設定しておきます。
2. テキスト配置リスト表の上に、ブロックとテキスト・アイテムを配置。ブロックのクラスを「ボタン」に設定し、テキストには「ここをクリックすると新しいコメントが入力できます」と定義しておきます。
3. レポート定義保存このレポート定義を2つのファイル名で保存します。最初に実行されるレポートと、ドリルスルー先のレポートになります。
ここでは、「国別収益コメント_source」, 「国別収益コメント_target」 という名前で保存しておきます。
4. 「国別収益コメント_source」のドリルスルー定義「国別収益コメント_source」 をReport Authoringで開き、手順2で配置したテキスト・アイテムにドリルスルー定義を追加します。
ドリルスルー先は「国別収益コメント_target」を指定します。
5. 「国別収益コメント_target」にStored_Procedure配置「国別収益コメント_target」 をReport Authoringで開きます。リスト表の上に、Stored Procedure(P_INS_COMTABLE)のリスト表を作成します。
Stored Procedureのリスト表はボックスのタイプを「なし」と設定し、表示されないようにします。
6. 「国別収益コメント_target」でドリルスルー定義テキスト・アイテムにドリルスルー定義を追加します。
ドリルスルー先は「国別収益コメント_target」を指定する。(自分自身にドリルスルーする)プロンプト・ページを表示を「常時」と設定しておく。
7. プロンプトページ作成「国別収益コメント_target」にプロンプトページを作成し、テキスト・ボックスのプロンプトを2つ配置する。それぞれ、既存のパラメータから「pNAME」、「pCOMMENT」を指定する。
8. レポート保存「国別収益コメント_source」「国別収益コメント_target」のレポート定義を保存する。
9. レポート実行1) 「国別収益コメント_source」を実行する。
2) リスト表の上のボタンをクリックすると、コメント入力用のプロンプトページが開く。↑裏では「国別収益コメント_target」レポートにドリルスルーしてプロンプトページが表示されている。
3) 氏名とコメント欄に入力して終了ボタンを押下すると、新しいコメントが追記されたレポートが表示される。↑裏ではプロンプトで入力したパラメータを引数にしてStored ProcedureがCallされている。
4) リスト表の上のボタンをクリックすると、さらにコメントが入力できる。