ページの先頭行へ戻る
Interstage List Creator V10.5.0 帳票設計編
FUJITSU Software

B.4.15 BREAKが発生せずに改ページされる場合に合計欄に*を出力したい

この方法は、集計表形式およびフリーフレーム形式で使用できます。

ここでは、“B.4.14 BREAKが発生せずに改ページされる場合に合計欄に累計を出力したい”で作成した集計表形式の個人出退勤簿で、従業員番号が変わらずに改ページされる場合に総計欄に累計ではなく*を出力する方法を例に説明します。

具体的には総計欄の数字項目「総計数字」と同じ位置にテキスト項目「総計文字」を定義し、BREAKが発生せずに改ページされる場合には「総計文字」に"******"を出力し、BREAKが発生して改ページされる場合には「総計数字」に総計金額を出力する処理を行います。改ページ時にBREAKの判断を行うために「制御切れ判断」を使用します。「制御切れ判断」のデータはBREAKが発生しない間は"なし"となっており、BREAKが発生すると"発生"となります。

=操作手順=
  1. 帳票様式定義画面で、非出力項目(レコードのみ項目)の項目形式(レコード項目形式)「テキスト項目」として「制御切れ判断」を追加します。

  2. 帳票様式定義画面で、ページ脚書きパーティションに(CF1)、テキスト項目として「総計文字」を追加します。

  3. データ定義画面の[データ定義]タブで、「総計数字」のオペランドを「CASE(制御切れ判断 = "発生", 総計計算用)  DEFAULT(_NULL_)」に変更します。

    ⇒「制御切れ判断」が"発生"の場合は「総計計算用」のデータを出力し、それ以外の場合には何も出力しません。

  4. データ定義画面の[データ定義]タブで、「総計文字」のオペランドに「CASE(制御切れ判断 = "発生", _NULL_)  DEFAULT("******")」を指定します。

    ⇒「制御切れ判断」が"発生"の場合は何も出力せず、それ以外の場合に"******"を出力します。

  5. データ定義画面の[データ定義]タブで、「制御切れ判断」のオペランドに「ハイフン(-)」を指定します。

    ⇒「制御切れ判断」はデータを受け取りません。

  6. データ定義画面の[拡張定義]タブで、「PAGE-HEAD」段落に「SET  制御切れ判断  TO  "なし"」を追加します。

    ⇒ページ頭書きパーティションが出力された後、制御脚書きパーティションが出力されなかった場合、ページ脚書きパーティションが出力されるときに「総計文字」に"******"が出力されます。

  7. データ定義画面の[拡張定義]タブで、「CNTL-FOOT」段落に「SET  制御切れ判断  TO  "発生"」を追加します。

    ⇒制御脚書きパーティションが出力された後、ページ脚書きパーティションが出力されるときに「総計数字」に「総計計算用」のデータが出力されます。

  8. データ定義画面の[拡張定義]タブで、「PAGE-FOOT」段落に、「COMPUTE  総計文字」を追加します。

    ⇒「制御切れ判断」のデータによって総計欄に出力されるデータが設定されます。

例)

[データ定義]タブ

データ項目名

オペランド

従業員番号

BREAK

出勤時間

総計計算用

SUM(出勤時間)

総計数字

CASE(制御切れ判断 = "発生", 総計計算用)
DEFAULT(_NULL_)

総計文字

CASE(制御切れ判断 = "発生", _NULL_)
DEFAULT("******")

制御切れ判断

-

[拡張定義]タブ
PAGE-HEAD
SET  制御切れ判断  TO  "なし"
CNTL-HEAD  従業員番号  CH1
SET  総計計算用  TO  0
DETAIL  
COMPUTE  総計計算用
CNTL-FOOT  従業員番号  $FF
SET  制御切れ判断  TO  "発生"
PAGE-FOOT
COMPUTE  総計数字
COMPUTE  総計文字

ポイント

  • この機能は、Windows用帳票サンプル「個人出退勤簿2」、UNIX系OS用帳票サンプル「SYUTTAI2」で使用しています。