SEWB+/CONSTRUCTION アプリケーション開発ガイド
(1) 例題テンプレートで作れるプログラム
ジャーナルファイル(SAMファイル)のデータを基に,キーが存在すればDBを更新し,存在しない場合は新規に追加します。さらに,新規に追加したものだけをモニタファイル(SAMファイル)に出力します。
(2) 例題テンプレートの入出力構成
(3) ファイル・DBのレコード形式
例題で使用するファイル・DBのレコード形式を次に示します。
- 入力ファイル(商品ジャーナルファイル)
- 更新ファイル(商品マスタDB)
- モニタファイル(商品モニタファイル)
(4) 例題テンプレートの処理概要
例題を理解するために,部品を呼び出して展開する方法と,部品中に記述された処理をテンプレート中の任意の位置に埋め込む方法の2種類の部品の使い方を説明します。
(a) 部品の呼び出し
一つの部品にはプロシジャを複数指定できます。@@procプロシジャ名を記述して,プロシジャ宣言します。部品は,テンプレート中から@@<ファイル名>プロシジャ名で呼び出します。
- 使用例
- ソースプログラムを生成する前に部品の検索パスを「環境設定」ウィンドウで指定する必要がある。
- テンプレートTEMP1からは別ファイルの部品PART1.csrの@@proc Aが呼び出せる。
- 部品PART1の@@proc Aは自分のファイルの@@proc Bが呼び出せる。<>内に何も記述しない場合,自分のファイル名が仮定される。
- 部品PART1からは別ファイルの部品PART2.csrの@@proc Aが呼び出せる(ネストして呼び出すこともできる)。
- 部品PART1の中からもう一度自分自身(部品PART1)を呼び出せる(リカーシブルに呼び出しができる)。
@@merge文と@@put文を使って,部品中に記述された処理をテンプレート中の任意の位置に埋め込むことができます。この機能を使えば,例えば部品中でCOBOLの手続きを展開しながら,処理に必要なデータ定義をWORKING-STORAGE SECTIONやLINKAGE SECTIONの任意の位置に展開することができます。
部品には@@put 可変記号名 <<を指定し,続けて埋め込みテキストを記述します。テンプレートには,テキストを埋め込みたい個所を指示する@@merge(可変記号名)を記述します。
- 使用例
- テンプレートから呼ばれた部品中の処理は,呼ばれた位置に展開される。この例は,「(a)部品の呼び出し」の例と同じである。
- @@merge文で@M_PROC_Lの埋め込みを指定しているので,部品から@@put文で同じ可変記号名を指定してある処理がテンプレートの@@merge文の位置に展開される。
- テンプレートから@@merge文で埋め込み指示された可変記号名と同じ名称の処理が,@@put文で複数実行された場合は,検索された順にテンプレートの@@merge文の位置に展開される。
(6) 例題テンプレートの記述のポイント
- RDBアクセスの部品を使うことによって,見やすいテンプレートにすることができる。さらに,部品を変えることによってDBの差異を反映したソースプログラムを生成できる。
- @@put文,@@merge文を使って,部品の各セクションを呼び出し,展開する。
- モニタファイルへの出力指示の有無を判断し,展開を制御する(@@if文を使用)。
(7) 例題テンプレートと生成されたソースプログラム
(7)では,テンプレートを左ページに,生成されたソースプログラムを右ページに掲載し,ページの左と右で生成結果をテンプレートと対応させて見られるようになっています。
- テンプレート(マスタ更新・追加出力)1/9
- テンプレート(マスタ更新・追加出力)2/9
- ソースプログラム(マスタ更新・追加出力)1/8
- テンプレート(マスタ更新・追加出力)3/9
- ソースプログラム(マスタ更新・追加出力)2/8
- テンプレート(マスタ更新・追加出力)4/9
- ソースプログラム(マスタ更新・追加出力)3/8
- テンプレート(マスタ更新・追加出力)5/9
- ソースプログラム(マスタ更新・追加出力)4/8
- テンプレート(マスタ更新・追加出力)6/9
- ソースプログラム(マスタ更新・追加出力)5/8
- テンプレート(マスタ更新・追加出力)7/9
- ソースプログラム(マスタ更新・追加出力)6/8
- テンプレート(マスタ更新・追加出力)8/9
- ソースプログラム(マスタ更新・追加出力)7/8
- テンプレート(マスタ更新・追加出力)9/9
- ソースプログラム(マスタ更新・追加出力)8/8
- DBアクセス部品(RDBPARTS)テンプレート(マスタ更新・追加出力)1/5
- DBアクセス部品(RDBPARTS)テンプレート(マスタ更新・追加出力)2/5
- DBアクセス部品(RDBPARTS)テンプレート(マスタ更新・追加出力)3/5
- DBアクセス部品(RDBPARTS)テンプレート(マスタ更新・追加出力)4/5
- DBアクセス部品(RDBPARTS)テンプレート(マスタ更新・追加出力)5/5
All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd.