SEWB+/CONSTRUCTION アプリケーション開発ガイド

[目次][用語][索引][前へ][次へ]

6.2.2 伝票入力・訂正の例題

ここで紹介する例題は,OpenTP1のTAM機能やDBの処理などを部品化することによって,テンプレートでの記述を少なくしたものです。これによってC/Sシステムのプログラムを,部品の変数を指定するだけで容易に作成できます。

<この項の構成>
(1) 例題テンプレートで作れるプログラム
(2) 例題テンプレートの入出力構成
(3) ファイルレコードの形式
(4) 例題テンプレートの処理概要
(5) 例題テンプレートの記述のポイント
(6) 例題テンプレートと生成されたソースプログラム

(1) 例題テンプレートで作れるプログラム

クライアントプログラム(SUP)からのデータを基に,伝票の処理区分が登録であれば伝票採番テーブル(TAMレコード)から新しい伝票番号を取ってきます。その伝票番号に1を足して伝票番号ファイルを書き換え,クライアントプログラムに伝票番号を付けたデータを送ります。

伝票の処理区分が更新であれば,伝票DBの中から指定された伝票のデータを取ってきて更新し,更新後のデータをクライアントプログラムに送ります。

TAMは複数のプログラムで共通に,しかも高速にアクセスできるレコードとして使用できます。なお,TPモニタとしてOpenTP1を使い,TAMやDAMを使用する場合は,サーバはTP1/Server Baseを使用する必要があります。

(2) 例題テンプレートの入出力構成

[図データ]

(3) ファイルレコードの形式

例題で使用するファイルレコードの形式を次に示します。

(4) 例題テンプレートの処理概要

サーバプログラムが行う処理は,フロー中で明記しています。それ以外はクライアントプログラムが行う処理です。

[図データ]

(5) 例題テンプレートの記述のポイント

  1. TAMレコードにアクセスする処理を部品にする。
  2. 伝票の登録処理を生成するか,または伝票の更新処理を生成するかを,プログラム作成者がプログラム定義ウィンドウで入力するパラメタで制御する(@@if文を使用)。
  3. ファイルやDBのアクセス処理,TAMアクセス処理の部品中のエラー処理をユーザ追加処理にする。エラー処理のプログラム固有の処理をプログラム作成者に記述させる(@@uoc文を使用)。
  4. モニタファイルへの出力指示の有無を判断し,展開を制御する(@@if文を使用)。
  5. @syscountを使用し,部品の呼び出しが1回目のときだけTAMのパラメタを展開する。

(6) 例題テンプレートと生成されたソースプログラム

クライアント,およびサーバのメインプログラムのテンプレートとソースプログラムは「6.2.1 データエントリの例題」を参考にしてください。ここでは,サーバ側のプログラム(売上入力)のテンプレートとソースプログラムを掲載します。なお,DBアクセス部品は「6.1.2 マスタ更新・追加出力の例題」で使用しているRDBPARTSと類似しているため,ここでは省略しています。

テンプレート(伝票入力・訂正)1/10
[図データ]

テンプレート(伝票入力・訂正)2/10
[図データ]

テンプレート(伝票入力・訂正)3/10
[図データ]

ソースプログラム(伝票入力・訂正)1/8
[図データ]

テンプレート(伝票入力・訂正)4/10
[図データ]

ソースプログラム(伝票入力・訂正)2/8
[図データ]

テンプレート(伝票入力・訂正)5/10
[図データ]

ソースプログラム(伝票入力・訂正)3/8
[図データ]

テンプレート(伝票入力・訂正)6/10
[図データ]

ソースプログラム(伝票入力・訂正)4/8
[図データ]

テンプレート(伝票入力・訂正)7/10
[図データ]

ソースプログラム(伝票入力・訂正)5/8
[図データ]

テンプレート(伝票入力・訂正)8/10
[図データ]

ソースプログラム(伝票入力・訂正)6/8
[図データ]

テンプレート(伝票入力・訂正)9/10
[図データ]

ソースプログラム(伝票入力・訂正)7/8
[図データ]

テンプレート(伝票入力・訂正)10/10
[図データ]

ソースプログラム(伝票入力・訂正)8/8
[図データ]

部品(伝票入力・訂正)1/3
[図データ]

部品(伝票入力・訂正)2/3
[図データ]

部品(伝票入力・訂正)3/3
[図データ]