11.1.5 複数様式での帳票出力例
EUR 帳票作成機能で提供されているサンプル帳票を基に,複数様式での帳票出力例を示します。また,サブ様式グループを指定した場合の指定例についても示します。
(1) サンプル帳票「請求書」の場合
「請求書」は,「表紙次紙形式の帳票_表紙」と「表紙次紙形式の帳票_次紙」の2様式を請求先ごとに一組にして出力します。
サンプル帳票「請求書」を出力したときの一組の帳票例を次の図に示します。
「表紙次紙形式の帳票_表紙」は必ず出力します。「表紙次紙形式の帳票_表紙」に納まらなかったデータがあるときは,「表紙次紙形式の帳票_次紙」を出力します。「表紙次紙形式の帳票_次紙」は,請求先のデータが同じ間出力されます。請求先のデータが変わった時点で改ページし,「表紙次紙形式の帳票_表紙」に戻ります。
ページ番号は,2様式を通して請求先ごとのページ番号(n/m形式)を出力します。請求先のデータが変わった時点で,「表紙次紙形式の帳票_表紙」は「1/m」に初期化されます。
(a) サンプル帳票「請求書」を出力する手順
サンプル帳票「請求書」を出力する手順を次に示します。
-
帳票設計
EUR 帳票作成機能を使って,帳票を設計します。
帳票ファイルは,「表紙次紙形式の帳票_表紙」と「表紙次紙形式の帳票_次紙」の2様式を作成して,フォームシートファイル(*.fms)で保存します。
二つの帳票は,請求先を区別するために「請求書番号」フィールドをキーにして改ページするように設定します。
改ページの設定では,キーとなるフィールドのデータが変わった時点で,ページ番号を開始番号に初期化するか,またはキーとなるフィールドのデータが変わっても,通し番号でページ番号を印刷するかを設定できますが,この設定はどちらでもかまいません。ページ番号を初期化するかどうかは,複数様式情報定義ファイルのページ番号リセット属性(resetpagenumber)の設定が優先されます。
-
データファイルの準備
「表紙次紙形式の帳票_表紙(複数様式帳票例1).csv」を「表紙次紙形式の帳票_表紙」と「表紙次紙形式の帳票_次紙」で共有します。
-
帳票セット指定ファイルの作成
サンプル帳票セット指定ファイル(formset01(複数様式帳票例1).txt)の内容を次に示します。
表紙次紙形式の帳票_表紙(複数様式帳票例1).fms,表紙次紙形式の帳票_表紙(複数様式帳票例1).csv
表紙次紙形式の帳票_次紙(複数様式帳票例1).fms,表紙次紙形式の帳票_表紙(複数様式帳票例1).csv
-
複数様式情報定義ファイルの作成
様式グループが一つなので,様式グループ遷移条件(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
サンプル帳票「請求書」を両面印刷したときの,出力例を次の図に示します。
図11‒6 サンプル帳票「請求書.fms」を両面出力したときの出力例
-
帳票ファイル,および複数様式情報定義ファイルの転送
帳票ファイル,および複数様式情報定義ファイルを帳票サーバに転送します。
-
データファイル,および帳票セット指定ファイルの転送
データファイル,および帳票セット指定ファイルをアプリケーションサーバに転送します。
-
出力
業務プログラムから帳票サーバのEUR Server Serviceを起動して,帳票を出力します。
- ■補足説明
-
複数様式で出力する「表紙次紙形式の帳票」は,「表紙」と「次紙」の異なる二つの様式を一組の帳票として出力できます。
帳票ヘッダ領域のある「表紙のある帳票」は,「表紙ページ」と「次紙ページ」で一つの様式の帳票です。そのため,表紙ページの繰り返し領域に貼り付けたデータの続きを次紙ページに出力できますが,次紙ページのページ上端やページ下端にアイテムを作成したり,貼り付けたりすることはできません。
なお,帳票ヘッダ領域のある帳票ファイルを,複数様式で出力しようとするとエラー(KEEU048-E)となります。
(2) サンプル帳票「従業員勤務歴カード」の場合
「従業員勤務歴カード」は,「従業員勤務歴カード[I]」と「従業員勤務歴カード[I](続き)」の2様式と,「従業員勤務歴カード[II]」の1様式を合わせて一組にして出力します。
サンプル帳票「従業員勤務歴カード」を出力したときの一組の帳票例を次に示します。
サンプル帳票「従業員勤務歴カード」は,従業員番号ごとに一組の帳票を出力します。
「従業員勤務歴カード[I]」は必ず出力します。「従業員勤務歴カード[I]」に納まらなかったデータがあるときは「従業員勤務歴カード[I](続き)」を出力します。「従業員勤務歴カード[I](続き)」を出力し終えたら,「従業員勤務歴カード[II]」の様式に移り,同じ従業員番号のデータを出力します。従業員番号のデータが変わったら「従業員勤務歴カード[I]」に戻ります。
ページ番号は,3様式を通して従業員番号ごとのページ番号(n/m形式)を出力します。従業員番号のデータが変わった時点で,「従業員勤務歴カード[I]」は「1/m」に初期化されます。
(a) サンプル帳票「従業員勤務歴カード」を出力する手順
サンプル帳票「従業員勤務歴カード」を出力する手順を次に示します。
-
帳票設計
EUR 帳票作成機能を使って,帳票を設計します。
帳票ファイルは,「従業員勤務歴カード[I]」,「従業員勤務歴カード[I](続き)」,および「従業員勤務歴カード[II]」の3様式を作成して,フォームシートファイル(*.fms)で保存します。
-
従業員勤務歴1(複数様式帳票例2).fms
-
従業員勤務歴1−次紙(複数様式帳票例2).fms
-
従業員勤務歴2(複数様式帳票例2).fms
三つの帳票は,フィールド「従業員番号」をキーにして改ページするように設定します。
改ページの設定では,キーとなるフィールドのデータが変わった時点で,ページ番号を開始番号に初期化するか,またはキーとなるフィールドのデータが変わっても,通し番号でページ番号を印刷するかを設定できますが,この設定はどちらでもかまいません。ページ番号を初期化するかどうかは,複数様式情報定義ファイルのページ番号リセット属性(resetpagenumber)の設定が優先されます。
-
-
データファイルの準備
n様式とn様式を組み合わせて一組の帳票に出力するには,n様式ごとのデータファイルを準備します。
「従業員勤務歴1(複数様式帳票例2).csv」は,「従業員勤務歴カード[I]」と「従業員勤務歴カード[I](続き)」で共有します。
「従業員勤務歴2(複数様式帳票例2).csv」は,「従業員勤務歴カード[II]」で使用します。
-
帳票セット指定ファイルの作成
サンプル帳票セット指定ファイル(formset02(複数様式帳票例2).txt)の内容を次に示します。
従業員勤務歴1(複数様式帳票例2).fms,従業員勤務歴1(複数様式帳票例2).csv
従業員勤務歴1−次紙(複数様式帳票例2).fms,従業員勤務歴1(複数様式帳票例2).csv
従業員勤務歴2(複数様式帳票例2).fms,従業員勤務歴2(複数様式帳票例2).csv
-
複数様式情報定義ファイルの作成
「従業員勤務歴カード[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
サンプル帳票「従業員勤務歴カード」を両面印刷したときの,出力例を次の図に示します。
図11‒7 両面印刷の出力例
-
帳票ファイル,および複数様式情報定義ファイルの転送
帳票ファイル,および複数様式情報定義ファイルを帳票サーバに転送します。
-
データファイル,および帳票セット指定ファイルの転送
データファイル,および帳票セット指定ファイルをアプリケーションサーバに転送します。
-
出力
業務プログラムから帳票サーバのEUR Server Serviceを起動して,帳票を出力します。
(3) サンプル帳票「保険申込書」の場合
「保険申込書」は,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」の3様式を一組の連票形式にして出力します。
サンプル帳票「保険申込書」を出力したときの一組の帳票例を次に示します。
サンプル帳票「保険申込書」は,契約者ごとに一組の帳票を出力します。「保険申込書」,「保険申込書_代理店控」,「保険申込書_契約者控」の順に一組の帳票を出力したあと,次の契約者の帳票を出力します。
ページ番号は,3様式を通して契約者ごとのページ番号(n/m形式)を出力します。契約者のデータが変わった時点で,「保険申込書」は「1/3」に初期化されます。
(a) サンプル帳票「保険申込書」を出力する手順
サンプル帳票「保険申込書」を出力する手順を次に示します。
-
帳票設計
EUR 帳票作成機能を使って,帳票を設計します。
帳票ファイルは,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」の3様式を作成して,フォームシートファイル(*.fms)で保存します。
-
保険申込書(複数様式帳票例3).fms
-
保険申込書_代理店控(複数様式帳票例3).fms
-
保険申込書_契約者控(複数様式帳票例3).fms
三つの帳票は,フィールド「契約者管理ID」をキーにして改ページするように設定します。
改ページの設定では,キーとなるフィールドのデータが変わった時点で,ページ番号を開始番号に初期化するか,またはキーとなるフィールドのデータが変わっても,通し番号でページ番号を印刷するかを設定できますが,この設定はどちらでもかまいません。ページ番号を初期化するかどうかは,複数様式情報定義ファイルのページ番号リセット属性(resetpagenumber)の設定が優先されます。
-
-
データファイルの準備
「保険申込書(複数様式帳票例3).csv」を,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」で共有します。
1レコードが1契約者のデータになっています。
-
帳票セット指定ファイルの作成
サンプル帳票セット指定ファイル(formset03(複数様式帳票例3).txt)の内容を次に示します。
保険申込書(複数様式帳票例3).fms,保険申込書(複数様式帳票例3).csv
保険申込書_代理店控(複数様式帳票例3).fms,保険申込書(複数様式帳票例3).csv
保険申込書_契約者控(複数様式帳票例3).fms,保険申込書(複数様式帳票例3).csv
-
複数様式情報定義ファイルの作成
「保険申込書」は,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」の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 …前の様式からの続きのページ番号を 出力します } }
-
帳票ファイル,および複数様式情報定義ファイルの転送
帳票ファイル,および複数様式情報定義ファイルを帳票サーバに転送します。
-
データファイル,および帳票セット指定ファイルの転送
データファイル,および帳票セット指定ファイルをアプリケーションサーバに転送します。
-
出力
業務プログラムから帳票サーバのEUR Server Serviceを起動して,帳票を出力します。
(4) サブ様式グループを指定した場合
サブ様式グループを指定した複数様式の帳票の出力時に指定する,複数様式情報定義ファイルの指定例を示します。
group 1 { …「sample1」の様式グループです grouptransfercondition { transfercondition=KBNF …フィールド「A」がキーブレイクしたら, 様式を切り替えます fieldname="A" } formfilename "sample1.fms" { transfercondition=NPNF …sample1が出力されると subgroup 1のsample2に移ります printnewpaper=OFF resetpagenumber=ON …sample1の出力時は, ページ番号を初期化します } } group 2 { …「sample2」と「sample3」の 様式グループです grouptransfercondition { transfercondition=KBNF …フィールド「A」がキーブレイクしたら, group 1のsample1に戻ります。 fieldname="A" } subgroup 1 { …「sample2」の サブ様式グループです grouptransfercondition { transfercondition=KBNF …フィールド「B」がキーブレイクしたら, 様式を切り替えます fieldname="B" } formfilename "sample2.fms" { transfercondition=NPNF …sample2が出力されると subgroup 2のsample3に移ります printnewpaper=OFF resetpagenumber=ON …sample2の出力時は, ページ番号を初期化します } } subgroup 2 { …「sample3」の サブ様式グループです grouptransfercondition { transfercondition=KBNF …フィールド「B」が キーブレイクしたら,group 1の sample1に戻ります fieldname="B" } formfilename "sample3.fms" { transfercondition=NPNF printnewpaper=OFF resetpagenumber=ON …sample3の出力時は, ページ番号を初期化します } } }