帳票システム構築支援 uCosminexus EUR uCosminexus EUR サーバ帳票出力

[目次][索引][前へ][次へ]

1.3.2 複数様式での帳票出力例

EUR 帳票作成機能で提供されているサンプル帳票を基に,複数様式での帳票出力例を示します。

<この項の構成>
(1) サンプル帳票「請求書」の場合
(2) サンプル帳票「従業員勤務歴カード」の場合
(3) サンプル帳票「保険申込書」の場合

(1) サンプル帳票「請求書」の場合

「請求書」は,「表紙次紙形式の帳票_表紙」と「表紙次紙形式の帳票_次紙」の2様式を一組にして出力します。

サンプル帳票「請求書」を出力したときの一組の帳票例を次に示します。

図1-19 サンプル帳票「請求書.fms」の出力例(1ページ目)

[図データ]

図1-20 サンプル帳票「請求書.fms」の出力例(2ページ目)

[図データ]

「表紙次紙形式の帳票_表紙」は必ず出力しますが,「表紙次紙形式の帳票_次紙」は,「表紙次紙形式の帳票_表紙」に納まらなかったデータを出力します。請求先のデータが変わるまで「表紙次紙形式の帳票_次紙」に出力します。請求先のデータが変わった時点で「表紙次紙形式の帳票_表紙」に戻ります。

ページ番号は,2様式を通して請求先ごとのページ番号(n/m形式)を出力します。請求先のデータが変わった時点で,「表紙次紙形式の帳票_表紙」は「1/m」に初期化されます。

(a) サンプル帳票「請求書」を出力する手順

サンプル帳票「請求書」を出力する手順を次に示します。

  1. 帳票設計
    EUR 帳票作成機能を使って,帳票を設計します。
    帳票ファイルは,「表紙次紙形式の帳票_表紙」と「表紙次紙形式の帳票_次紙」の2様式を作成して,フォームシートファイル(*.fms)で保存します。

    [図データ]

    二つの帳票は,フィールド「請求書番号」をキーにして改ページするように設定します。
    改ページの設定では,キーとなるフィールドのデータが変わった時点で,ページ番号を開始番号に初期化するか,またはキーとなるフィールドのデータが変わっても,通し番号でページ番号を印刷するかを設定できますが,この設定はどちらでもかまいません。ページ番号を初期化するかどうかは,複数様式情報定義ファイルのページ番号リセット属性(resetpagenumber)の設定が優先されます。
  2. 帳票ファイルの転送
    作成した帳票ファイル(フォームシートファイル形式)を,EUR Print Service,またはEUR Print Service Enterpriseが組み込まれているアプリケーションサーバに転送します。
  3. データファイルの準備
    「表紙次紙形式の帳票_表紙(複数様式帳票例1).csv」を「表紙次紙形式の帳票_表紙」と「表紙次紙形式の帳票_次紙」で共有します。

    [図データ]

  4. 帳票セット指定ファイルの作成
    サンプル帳票セット指定ファイル(formset01(複数様式帳票例1).txt)の内容を次に示します。
    表紙次紙形式の帳票_表紙(複数様式帳票例1).fms,表紙次紙形式の帳票_表紙(複数様式帳票例1).csv
    表紙次紙形式の帳票_次紙(複数様式帳票例1).fms,表紙次紙形式の帳票_表紙(複数様式帳票例1).csv
  5. 複数様式情報定義ファイルの作成
    様式グループが一つなので,様式グループ遷移条件(grouptransfercondition)は省略します。
    「表紙次紙形式の帳票_表紙」は必ず出力します。「表紙次紙形式の帳票_次紙」は,「表紙次紙形式の帳票_表紙」に納まらなかったデータがあるときに出力します。様式間遷移条件(formtransfercondition)で,フィールド「請求書番号」がキーブレイクしたら「表紙次紙形式の帳票_表紙」に戻るように指定します。
    サンプル複数様式情報定義ファイル(formdef01(複数様式帳票例1).txt)の内容を次に示します。
        
    group 1 {
     formtransfercondition {
       keybreaktopform=ON        …フィールド「請求書番号」が
                                   キーブレイクしたら,
                                   先頭の様式(表紙)に戻ります
                                   このとき,ページ番号を初期化します
       fieldname="請求書番号"
     }
     formfilename "表紙次紙形式の帳票_表紙(複数様式帳票例1).fms" {
       transfercondition=NPNF    …表紙を1ページ出力すると次紙に移ります
       printnewpaper=OFF  
       resetpagenumber=ON        …次紙から表紙に戻ったとき,
                                   ページ番号を初期化します
     }
     formfilename "表紙次紙形式の帳票_次紙(複数様式帳票例1).fms" {
       transfercondition=KBNF    …キーブレイクしたら,
                                   表紙に戻るようにします
       printnewpaper=OFF
       resetpagenumber=OFF       …表紙からの続きのページ番号を出力します
     }
    }
    注※
    両面印刷する場合,「表紙次紙形式の帳票_表紙」を表面に印刷したいときは,次のように指定してください。「表紙次紙形式の帳票_次紙」に出力するデータがない場合は,裏面を白紙にします。
    printnewpaper = ON
    サンプル帳票「請求書」を両面印刷したときの,出力例を次に示します。

    図1-21  サンプル帳票「請求書.fms」を両面出力したときの出力例

    [図データ]
  6. EUR サーバ帳票出力機能の起動
    業務アプリケーションから,EUR サーバ帳票出力機能を起動します。
  7. データの入力
    帳票ファイル,データファイル,帳票セット指定ファイル,および複数様式情報定義ファイルをEUR サーバ帳票出力機能に入力します。
  8. 帳票出力
    eurpsコマンド構文の例を示します。
    (例)プリンタ出力の例
    eurps /p Printer1
          /mfd "C:\TEMP\formdef01(複数様式帳票例1).txt"
          /mrs "C:\TEMP\formset01(複数様式帳票例1).txt"
    ■補足説明
    複数様式で出力する「表紙次紙形式の帳票」は,「表紙」と「次紙」を異なる二つの様式を一組の帳票として出力できます。
    帳票ヘッダ領域のある「表紙のある帳票」は,「表紙ページ」と「次紙ページ」で一つの様式の帳票です。そのため,表紙ページの繰り返し領域に貼り付けたデータの続きを次紙ページに出力できますが,次紙ページのページ上端やページ下端にアイテムを作成したり,貼り付けたりすることはできません。

(2) サンプル帳票「従業員勤務歴カード」の場合

「従業員勤務歴カード」は,「従業員勤務歴カード[I]」と「従業員勤務歴カード[I](続き)」の2様式と,「従業員勤務歴カード[II]」の1様式を合わせて一組にして出力します。

サンプル帳票「従業員勤務歴カード」を出力したときの一組の帳票例を次に示します。

[図データ]

[図データ]

[図データ]

サンプル帳票「従業員勤務歴カード」は,従業員番号ごとに一組の帳票を出力します。

「従業員勤務歴カード[I]」は必ず出力しますが,「従業員勤務歴カード[I](続き)」は,「従業員勤務歴カード[I]」に納まらなかったデータを出力します。従業員番号のデータが変わったとき,「従業員勤務歴カード[II]」の様式に移るようにします。「従業員勤務歴カード[II]」の出力で従業員番号のデータが変わった時点で「従業員勤務歴カード[I]」に戻ります。

ページ番号は,3様式を通して従業員番号ごとのページ番号(n/m形式)を出力します。従業員番号のデータが変わった時点で,「従業員勤務歴カード[I]」は「1/m」に初期化されます。

(a) サンプル帳票「従業員勤務歴カード」を出力する手順

サンプル帳票「従業員勤務歴カード」を出力する手順を次に示します。

  1. 帳票設計
    EUR 帳票作成機能を使って,帳票を設計します。
    帳票ファイルは,「従業員勤務歴カード[I]」,「従業員勤務歴カード[I](続き)」,および「従業員勤務歴カード[II]」の3様式を作成して,フォームシートファイル(*.fms)で保存します。
    • 従業員勤務歴1(複数様式帳票例2).fms

      [図データ]

    • 従業員勤務歴1−次紙(複数様式帳票例2).fms

      [図データ]

    • 従業員勤務歴2(複数様式帳票例2).fms

      [図データ]

    三つの帳票は,フィールド「従業員番号」をキーにして改ページするように設定します。
    改ページの設定では,キーとなるフィールドのデータが変わった時点で,ページ番号を開始番号に初期化するか,またはキーとなるフィールドのデータが変わっても,通し番号でページ番号を印刷するかを設定できますが,この設定はどちらでもかまいません。ページ番号を初期化するかどうかは,複数様式情報定義ファイルのページ番号リセット属性(resetpagenumber)の設定が優先されます。
  2. 帳票ファイルの転送
    作成した帳票ファイル(フォームシートファイル形式)を,EUR Print Service,またはEUR Print Service Enterpriseが組み込まれているアプリケーションサーバに転送します。
  3. データファイルの準備
    n様式とn様式を組み合わせて一組の帳票に出力するには,n様式ごとのデータファイルを準備します。
    「従業員勤務歴1(複数様式帳票例2).csv」は,「従業員勤務歴カード[I]」と「従業員勤務歴カード[I](続き)」で共有します。

    [図データ]

    「従業員勤務歴2(複数様式帳票例2).csv」は,「従業員勤務歴カード[II]」で使用します。

    [図データ]

  4. 帳票セット指定ファイルの作成
    サンプル帳票セット指定ファイル(formset02(複数様式帳票例2).txt)の内容を次に示します。
    従業員勤務歴1(複数様式帳票例2).fms,従業員勤務歴1(複数様式帳票例2).csv
    従業員勤務歴1−次紙(複数様式帳票例2).fms,従業員勤務歴1(複数様式帳票例2).csv
    従業員勤務歴2(複数様式帳票例2).fms,従業員勤務歴2(複数様式帳票例2).csv
  5. 複数様式情報定義ファイルの作成
    「従業員勤務歴カード[I]」と「従業員勤務歴カード[I](続き)」の2様式で一つの様式グループ,「従業員勤務歴カード[II]」の1様式で一つの様式グループにします。
    「従業員勤務歴カード[I]」と「従業員勤務歴カード[I](続き)」の様式グループと,「従業員勤務歴カード[II]」の様式グループを順に出力するので,様式間遷移条件(formtransfercondition)の指定は省略します。
    様式グループ間は,フィールド「従業員番号」がキーブレイクしたら,様式グループに指定されている様式(帳票)が出力されるように,様式グループ遷移条件(grouptransfercondition)に「transfercondition=KBNF」を指定します。
    この指定によって,次のように帳票が出力されます。

    [図データ]

    サンプル複数様式情報定義ファイル(formdef02(複数様式帳票例2).txt)の内容を次に示します。
        
    group 1 {           …「従業員勤務歴カード[I]」と,
                          「従業員勤務歴カード[I](続き)」の
                          様式グループです
     grouptransfercondition {
        transfercondition=KBNF      …二つの様式は,
                                      フィールド「従業員番号」が
                                      キーブレイクしたら,
                                      様式を切り替えます
        fieldname="従業員番号"
     }
     formfilename "従業員勤務歴1(複数様式帳票例2).fms" {
       transfercondition=NPNF
                             …従業員勤務歴1が出力されると
                               次紙に移ります
                               次紙を出力しないで済む場合は
                               group 2の従業員勤務歴2に移ります
       printnewpaper=OFF  ※
       resetpagenumber=ON        …従業員勤務歴1を出力するときは,
                                   ページ番号を初期化します
     }
     formfilename "従業員勤務歴1−次紙(複数様式帳票例2).fms" {
       transfercondition=KBNF      …フィールド「従業員番号」が
                                     キーブレイクしたら,
                                     従業員勤務歴2に移ります
       printnewpaper=OFF
       resetpagenumber=OFF       …従業員勤務歴1からの
                                   続きのページ番号を出力します
     }
    }
    group 2 {                   …「従業員勤務歴カード[II]」の
                                  様式グループです
     grouptransfercondition {
        transfercondition=KBNF   …フィールド「従業員番号」が
                                   キーブレイクしたら,group 1の
                                   従業員勤務歴1に戻ります
        fieldname="従業員番号"
     }
     formfilename "従業員勤務歴2(複数様式帳票例2).fms" {
       transfercondition=KBNF
       printnewpaper=OFF
       resetpagenumber=OFF     …従業員勤務歴1,または次紙からの
                                 続きのページ番号を出力します
     }
    }
    注※
    両面印刷する場合,「従業員勤務歴カード[I]」を表面に印刷したいときは,次のように指定してください。
    printnewpaper = ON
    サンプル帳票「従業員勤務歴カード」を両面印刷したときの,出力例を次に示します。

    図1-22  両面印刷の出力例

    [図データ]
  6. EUR サーバ帳票出力機能の起動
    業務アプリケーションから,EUR サーバ帳票出力機能を起動します。
  7. ファイルの入力
    帳票ファイル,データファイル,帳票セット指定ファイル,および複数様式情報定義ファイルをEUR サーバ帳票出力機能に入力します。
  8. 帳票出力
    eurpsコマンド構文の例を示します。
    (例)プリンタ出力の例
    eurps /p Printer1
          /mfd "C:\TEMP\formdef02(複数様式帳票例2).txt"
          /mrs "C:\TEMP\formset02(複数様式帳票例2).txt"

(3) サンプル帳票「保険申込書」の場合

「保険申込書」は,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」の3様式を一組の連票形式にして出力します。

サンプル帳票「保険申込書」を出力したときの一組の帳票例を次に示します。

[図データ]

[図データ]

[図データ]

サンプル帳票「保険申込書」は,契約者ごとに一組の帳票を出力します。「保険申込書」,「保険申込書_代理店控」,「保険申込書_契約者控」の順に一組の帳票を出力したあと,次の契約者の帳票を出力します。

ページ番号は,3様式を通して契約者ごとのページ番号(n/m形式)を出力します。契約者のデータが変わった時点で,「保険申込書」は「1/3」に初期化されます。

(a) サンプル帳票「保険申込書」を出力する手順

サンプル帳票「保険申込書」を出力する手順を次に示します。

  1. 帳票設計
    EUR 帳票作成機能を使って,帳票を設計します。
    帳票ファイルは,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」の3様式を作成して,フォームシートファイル(*.fms)で保存します。
    • 保険申込書(複数様式帳票例3).fms

      [図データ]

    • 保険申込書_代理店控(複数様式帳票例3).fms

      [図データ]

    • 保険申込書_契約者控(複数様式帳票例3).fms

      [図データ]

    三つの帳票は,フィールド「契約者管理ID」をキーにして改ページするように設定します。
    改ページの設定では,キーとなるフィールドのデータが変わった時点で,ページ番号を開始番号に初期化するか,またはキーとなるフィールドのデータが変わっても,通し番号でページ番号を印刷するかを設定できますが,この設定はどちらでもかまいません。ページ番号を初期化するかどうかは,複数様式情報定義ファイルのページ番号リセット属性(resetpagenumber)の設定が優先されます。
  2. 帳票ファイルの転送
    作成した帳票ファイル(フォームシートファイル形式)を,EUR Print Service,またはEUR Print Service Enterpriseが組み込まれているアプリケーションサーバに転送します。
  3. データファイルの準備
    「保険申込書(複数様式帳票例3).csv」を,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」で共有します。
    1レコードが1契約者のデータになっています。

    [図データ]

  4. 帳票セット指定ファイルの作成
    サンプル帳票セット指定ファイル(formset03(複数様式帳票例3).txt)の内容を次に示します。
    保険申込書(複数様式帳票例3).fms,保険申込書(複数様式帳票例3).csv
    保険申込書_代理店控(複数様式帳票例3).fms,保険申込書(複数様式帳票例3).csv
    保険申込書_契約者控(複数様式帳票例3).fms,保険申込書(複数様式帳票例3).csv
  5. 複数様式情報定義ファイルの作成
    「保険申込書」は,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」の3様式を一組の連票形式にして出力します。
    データファイルは一つですが,様式ごとにレコードのデータを読み込むので,様式グループは三つになります。
    様式グループは三つですが,3様式を必ず出力するので,様式グループ遷移条件(grouptransfercondition)の指定は省略します。
    1様式グループ1様式であることと,フィールド「契約者管理ID」がキーブレイクしたら次の様式グループに移るように指定するので,様式間遷移条件(formtransfercondition)の指定は省略します。
    サンプル複数様式情報定義ファイル(formdef03(複数様式帳票例3).txt)の内容を次に示します。
        
    group 1 {
     formfilename "保険申込書(複数様式帳票例3).fms" {
       transfercondition=KBNF     …キーブレイクしたら,
                                    group 2の代理店控に移ります
       printnewpaper=OFF
       resetpagenumber=ON        …保険申込書を出力するときは,
                                   ページ番号を初期化します
     }
    }
    group 2 {
     formfilename "保険申込書_代理店控(複数様式帳票例3).fms" {
       transfercondition=KBNF    …キーブレイクしたら,
                                   group 3の契約者控に移ります
       printnewpaper=OFF
       resetpagenumber=OFF     …前の様式からの続きのページ番号を
                                 出力します
     }
    }
    group 3 {
     formfilename "保険申込書_契約者控(複数様式帳票例3).fms" {
       transfercondition=KBNF   …キーブレイクしたら,
                                  group 1の保険申込書に戻ります
       printnewpaper=OFF
       resetpagenumber=OFF     …前の様式からの続きのページ番号を
                                 出力します
     }
    }
  6. EUR サーバ帳票出力機能の起動
    業務アプリケーションから,EUR サーバ帳票出力機能を起動します。
  7. ファイルの入力
    帳票ファイル,データファイル,帳票セット指定ファイル,および複数様式情報定義ファイルをEUR サーバ帳票出力機能に入力します。
  8. 帳票出力
    eurpsコマンド構文の例を示します。
    (例)Windows環境でのプリンタ出力の場合
    eurps /p Printer1
          /mfd "C:\TEMP\formdef03(複数様式帳票例3).txt"
          /mrs "C:\TEMP\formset03(複数様式帳票例3).txt"