この方法は、集計表形式およびフリーフレーム形式で使用できます。
ここでは、集計表形式の個人出退勤簿で従業員番号が変わらずに改ページされる場合に総計欄に累計を出力する方法を例に説明します。
帳票様式定義画面で、「従業員番号」、「月」、「日」、「出勤時間」、および「総計計算用」を定義します。「従業員番号」、「月」、「日」、および「出勤時間」は数字項目として定義します。「総計計算用」は非出力項目(レコードのみ項目)の項目形式(レコード項目形式)「数字項目」として定義します。
帳票様式定義画面で、ページ頭書きパーティションを定義します。
帳票様式定義画面で、制御頭書きパーティションを定義し(CH1)、印刷前改行数、印刷後改行数に「0」を指定します。
⇒総計計算用の初期化処理を行うだけで帳票には何も出力しません。
帳票様式定義画面で、明細パーティションを定義します。
帳票様式定義画面で、ページ脚書きパーティションを定義し(CF1)、数字項目として「総計数字」を定義します。
データ定義画面の[データ定義]タブで、「従業員番号」のオペランドに「BREAK」を指定します。
⇒「従業員番号」に対するデータが変わったことを検知します。
データ定義画面の[データ定義]タブで、「総計計算用」のオペランドに「SUM(出勤時間)」を指定します。
⇒「従業員番号」ごとの合計を計算します。
データ定義画面の[データ定義]タブで、「総計数字」のオペランドに「SET( 総計計算用)」を指定します。
⇒「総計計算用」と同じデータを「総計数字」に出力します。
データ定義画面の[拡張定義]タブで、「PAGE-HEAD」段落を追加します。
データ定義画面の[拡張定義]タブで、「CNTL-HEAD」段落を追加し、「従業員番号」と3)で定義した制御頭書きパーティション(CH1)を記述します。また、「SET 総計計算用 TO 0」を記述します。
⇒「従業員番号」に対するデータが変わるタイミングで制御頭書きパーティション(CH1)を出力します。また、総計計算用が0で初期化されます。
データ定義画面の[拡張定義]タブで、「DETAIL」段落を追加し、「COMPUTE 総計計算用」を記述します。
⇒1明細出力するたびに「総計計算用」に「出勤時間」を加算します。
データ定義画面の[拡張定義]タブで、「CNTL-FOOT」段落を追加し、「従業員番号」と「$FF」を記述します。
⇒「従業員番号」に対するデータが変わるタイミングで改ページを行います。
データ定義画面の[拡張定義]タブで、「PAGE-FOOT」段落を追加し、「COMPUTE 総計数字」を記述します。
⇒総計欄に出力されるデータが設定されます。
例)
データ項目名 | オペランド |
---|---|
従業員番号 | BREAK |
月 | |
日 | |
出勤時間 | |
総計計算用 | SUM(出勤時間) |
総計数字 | SET(総計計算用) |
PAGE-HEAD CNTL-HEAD 従業員番号 CH1 SET 総計計算用 TO 0 DETAIL COMPUTE 総計計算用 CNTL-FOOT 従業員番号 $FF PAGE-FOOT COMPUTE 総計数字