現在地: Visual LANSA 開発者ガイド > 1. アプリケーション、フィールド、データベース、リポジトリの概要 > 1.6 アプリケーション・データベースの作成 > バッチ制御の例
バッチ制御の例

テーブル定義の一部として、バッチ制御ロジックを定義する例を紹介します。

例1

この節の最初にも紹介した取引データ入力システムで、次の3つのテーブルがあるとします。

テーブル名:

 

DAYTOT

BCHTOT

ENTDTA

説明:

 

日次集計

バッチ集計

入力データ

列:

 

DATE

DDEBIT

DCREDIT

DATE    

BATCH

BDEBIT

BCREDIT

DATE

BATCH

TRANSACTION

ACCOUNT

DESCRIPTION

DEBIT  

CREDIT

プライマリ・キー  1

DATE

DATE

DATE

2

 

BATCH

BATCH

3

 

 

TRANSACTION

 

 

ここでBDEBIT(バッチ借方合計)およびBCREDIT(バッチ貸方合計)は、あるDATE(日付)、BATCH(バッチ処理単位番号)のDEBIT(借方)およびCREDIT(貸方)の合計値を表します。同様に、DDEBIT(日次借方)およびDCREDIT(日次貸方)は、あるDATE(日付)のDEBIT(借方)およびCREDIT(貸方)の合計値です。

バッチ制御による集計処理を組み込むためには、次のバッチ制御ロジックを、テーブルENTDTA(入力データ)の定義に追加する必要があります。

定義名

バッチ制御テーブル名

集計の対象となる列

バッチ制御テーブルのうち、集計値を格納する列

集計の対象レコードを選択するためのキー

ENTDTA

BCHTOT

DEBIT

BDEBIT

DATE

CREDIT

BCREDIT

BATCH

ENTDTA

DAYTOT

DEBIT

DDEBIT

DATE

CREDIT

DCREDIT

 

 

 

例2

次の例は、注文の「頭書き」テーブルと「明細行」テーブルから成るアプリケーションです。

テーブル名:

 

ORDHDR

ORDLIN

説明:

 

注文の頭書き 注文の明細行
列:

 

ORDNUM

CUSTNO

DATE

TOTDUE

ORDNUM

ORDLIN

PRODNO

QUANTY

VALUE

プライマリ・キー  1

ORDNUM

ORDNUM

2

 

ORDLIN

3

 

 

 

 

「頭書き」テーブルのTOTDUE(合計)は、「明細行」テーブルの、該当するレコードのVALUE(金額)を集計して求めます。すなわち、TOTDUEは関連する請求書明細行の合計です。

バッチ制御による集計処理を組み込むためには、次のバッチ制御ロジックを、テーブルORDLIN(明細行)の定義に追加する必要があります。

テーブル定義名:

ORDLIN

バッチ制御テーブル名:

ORDHDR

集計の対象となる列:

VALUE

バッチ制御テーブルのうち、集計値を格納する列:

TOTDUE

集計の対象レコードを選択するためのキー:

ORDNUM