Page History
[ |../../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(入力データ)の定義に追加する必要があります。
定義名 | バッチ制御テーブル名 | 集計の対象となる列 | バッチ制御テーブルのうち、集計値を格納する列 | 集計の対象レコードを選択するためのキー |
|---|---|---|---|---|
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(明細行)の定義に追加する必要があります。
テーブル定義名: | ORDLIN |
|---|---|
バッチ制御テーブル名: | ORDHDR |
集計の対象となる列: | VALUE |
バッチ制御テーブルのうち、集計値を格納する列: | TOTDUE |
集計の対象レコードを選択するためのキー: | ORDNUM |
...