[ |../../index.htm#lansa/l4wdev04_0310.htm]
現在地:
バッチ制御の例
テーブル定義の一部として、バッチ制御ロジックを定義する例を紹介します。
例1
この節の最初にも紹介した取引データ入力システムで、次の3つのテーブルがあるとします。
テーブル名: |
|
DAYTOT |
BCHTOT |
ENTDTA |
説明: |
|
日次集計 |
バッチ集計 |
入力データ |
列: |
|
DATE |
DATE |
DATE |
プライマリ・キー |
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 |
ORDNUM |
プライマリ・キー |
1 |
ORDNUM |
ORDNUM |
|
2 |
|
ORDLIN |
|
3 |
|
|
「頭書き」テーブルのTOTDUE(合計)は、「明細行」テーブルの、該当するレコードのVALUE(金額)を集計して求めます。すなわち、TOTDUEは関連する請求書明細行の合計です。
バッチ制御による集計処理を組み込むためには、次のバッチ制御ロジックを、テーブルORDLIN(明細行)の定義に追加する必要があります。
テーブル定義名: |
ORDLIN |
|---|---|
バッチ制御テーブル名: |
ORDHDR |
集計の対象となる列: |
VALUE |
バッチ制御テーブルのうち、集計値を格納する列: |
TOTDUE |
集計の対象レコードを選択するためのキー: |
ORDNUM |
[ |../../index.htm#lansa/l4wdev04_0310.htm]