uCosminexus EUR 帳票出力 リファレンス EUR Server編

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

11.6 複数様式情報定義ファイル

<この節の構成>
(1) 概要
(2) 形式
(3) キーワード

(1) 概要

帳票セット,または帳票セット指定ファイルを指定した帳票出力は,指定されている帳票ファイルが順に出力されますが,複数様式情報定義ファイルを指定することで,複数の帳票ファイルを組み合わせて一つの帳票のように入力できます。例えば,データ中のキーごとに複数の異なる様式をセットで出力したり,表紙のページと次のページの様式を変えたりして出力できます。これを「複数様式で帳票を出力する」といいます。

複数様式情報定義ファイルは,様式(帳票フォーマット)や読み込むデータを切り替える条件と,切り替え時の動作を定義しておくファイルです。

同じデータファイルから出力する様式のまとまりを様式グループといいます。様式グループの中にも様式グループを定義することができます。これをサブ様式グループといいます。サブ様式グループを定義すると,様式グループのデータを細かく切り分けて,それぞれ異なるフォーマットの帳票に出力できます。

サブ様式グループを定義した帳票の出力例を次に示します。

図11-3  サブ様式グループを定義した帳票の出力例

[図データ]

この出力例では,日立家のデータをすべて出力してから,戸塚家のデータを出力します。一家族分のデータからは,まず家族全員の総計を出力してから,個人の明細を出力します。

(2) 形式

複数様式情報定義ファイルは,メモ帳など,テキストファイルが編集できるエディタを起動して編集します。任意の拡張子のファイルを使用できます。

複数様式情報定義ファイルに指定するキーワードとオプションは,大文字,小文字の区別をしません。

複数様式情報定義ファイルの形式を次に示します。

group 様式グループ番号 {
  〔grouptransfercondition {              …様式グループ遷移条件
      transfercondition={KBNF|EOFN}
      〔fieldname="フィールド名"〕
   }〕
  〔formtransfercondition {               …様式間遷移条件
      keybreaktopform={ON|OFF}
      〔fieldname="フィールド名"〕
   }〕
  〔formfilename "帳票ファイル名" {         …様式遷移情報
      transfercondition={NPNF|KBNF|EOFN}
      printnewpaper={ON|OFF}
      resetpagenumber={ON|OFF}
      〔traycode=給紙トレイ番号〕
   }〕
  〔subgroup サブ様式グループ番号 {          …サブ様式グループ
      grouptransfercondition {
        transfercondition=KBNF
        fieldname="フィールド名"
      }
     〔formtransfercondition { 
        keybreaktopform={ON|OFF}
       〔fieldname="フィールド名"〕
      }〕
      formfilename "帳票ファイル名" { 
        transfercondition={NPNF|KBNF}
        printnewpaper={ON|OFF}
        resetpagenumber={ON|OFF}
       〔traycode=給紙トレイ番号〕
      }
  }〕
}
               :

(3) キーワード

複数様式情報定義ファイルで指定するキーワードは,次のとおりです。

表11-24 複数様式情報定義ファイルのキーワード

キーワード 説明 キーワードの省略可否
group グルーピングした出力様式(様式グループ)を識別する番号を指定します。 ×
grouptransfercondition グループごとに様式を切り替える条件(様式グループ遷移条件)を指定します。
formtransfercondition フィールドごとに様式を切り替える条件(様式間遷移条件)を指定します。
formfilename 様式遷移情報を指定します。
ここでは,様式を切り替える条件,両面印刷時の白紙挿入の条件,ページ番号の指定方法などを設定します。
subgroup サブ様式グループを識別する番号を指定します。
(凡例)
○:指定を省略できるキーワードです
×:必ず指定するキーワードです

注意
  • サブ様式グループは,先頭の様式グループには指定できません。先頭の様式グループに指定してもエラーにはなりませんが,帳票は正しく出力されません。
  • 様式グループ,またはサブ様式グループの先頭に定義した様式の帳票は,必ず出力されるように設定する必要があります。様式グループ,またはサブ様式グループの先頭に定義した様式の帳票が出力されない場合,帳票は正しく出力されません。
(a) group

様式グループを識別する番号を指定します。

groupの形式
group 様式グループ番号
様式グループ番号
様式グループ番号を1以上の整数で指定します。様式グループ番号は,様式グループ間で同じ番号がないように指定してください。同じ様式グループ番号がある場合,または様式グループ番号が昇順で指定されていない場合は,エラー(KEEU038-E)になります。

様式グループは,次に示すように,読み込むデータファイルごとに作成します。

図11-4  複数様式情報定義ファイルとデータファイルの例(様式グループを読み込むデータファイルごとに作成する場合)

[図データ]

連票形式の帳票のように,一つのデータファイルを3様式で共有していても,様式ごとに1レコードのデータを読み込む場合は,様式グループは三つになります。

図11-5  複数様式情報定義ファイルとデータファイルの例(様式ごとに1レコードのデータを読み込む場合)

[図データ]

(b) grouptransfercondition

様式グループを切り替える条件を指定します。grouptransferconditionは,指定を省略できます。

grouptransferconditionの形式
〔grouptransfercondition {
transfercondition={KBNF|EOFN}
〔fieldname="フィールド名"〕
}〕
■キーワードtransferconditionの形式
transfercondition={KBNF|EOFN}
KBNF | EOFN
様式グループを次の様式グループに切り替える条件を指定します。複数様式のPDF形式ファイルを仕分け出力する場合は,KBNFを指定してください。
サブ様式グループを切り替える場合は,KBNFを指定します。
  • KBNF
    キーブレイクのタイミングで次の様式グループに切り替えます。KBNFを指定した場合は,キーワードfieldnameで,キーブレイクするフィールド名を指定してください。
    KBNFを指定する場合は,様式グループのformfilenameに指定する帳票を設計するとき,フィールド名とフィールド属性が同じになるように指定しておいてください。
  • EOFN
    様式グループのformfilenameに指定されているすべての帳票ファイルを印刷したあと,次の様式グループに切り替えます。

    図11-6  transferconditionの値による様式グループ切り分けタイミングの違い

    [図データ]

■キーワードfieldnameの形式
fieldname="フィールド名"
フィールド名
キーブレイクの対象となるフィールド名を「"」で囲んで指定します。
キーワードtransferconditionにKBNFを指定した場合は,フィールド名を指定してください。
各様式グループに指定されたフィールドが同じ名称でない場合は,エラー(KEEU047-E)になります。また,同じフィールド属性でない場合は,エラー(KEEU049-E)になります。
様式グループとサブ様式グループに指定されたフィールド名が同じ名称の場合は,エラー(KEEU038-E)になります。
(c) formtransfercondition

grouptransferconditionは,キーブレイクの対象となるフィールドのデータが変わった時点で次の様式グループに切り替えますが,formtransferconditionは,キーブレイクの対象となるフィールドのデータが変わった時点で先頭の様式に切り替えるかどうかを指定します。

例えば,請求書のように,次のような条件で帳票出力する場合,formtransferconditionを指定します。

このように,先頭の様式を出力したあと,次の様式に続きのデータを出力しなくて済む場合は,formtransferconditionを指定しておくと便利です。

formtransferconditionを指定した場合,同じ様式グループ内にsubgroupは指定できません。formtransferconditionとsubgroupを同時に指定した場合は,エラー(KEEU038-E)になります。

formtransferconditionの形式
〔formtransfercondition {
keybreaktopform={ON|OFF}
〔fieldname="フィールド名"〕
}〕
■キーワードkeybreaktopformの形式
keybreaktopform={ON|OFF}
ON | OFF
先頭の様式に切り替えるかどうかを指定します。
  • ON
    キーブレイクのタイミングで先頭の様式に切り替えます。ONを指定した場合は,キーワードfieldnameで,キーブレイクするフィールド名を指定してください。
    先頭の様式を出力する場合,ページ番号の開始番号を初期化するときは,先頭の様式の遷移条件でキーワードformfilenameのresetpagenumberにONを指定しておいてください。
  • OFF
    先頭への様式には切り替えません。キーワードformfilenameのtransferconditionで指定されている各様式の遷移条件での動作になります。
■補足説明
キーワードtransferconditionでNPNFが設定されている場合,先頭の様式でページ番号の開始番号を初期化するときは,キーワードkeybreaktopformにONを指定しておいてください。OFFが指定されている場合は,ページ番号が初期化されません。

図11-8  keybreaktopformの値による様式切り替えの違い

[図データ]
■キーワードfieldnameの形式
fieldname="フィールド名"
フィールド名
キーブレイク対象フィールド名を「"」で囲んで指定します。
キーワードkeybreaktopformにONを指定した場合は,フィールド名を指定してください。指定されていない場合は,エラー(KEEU038-E)になります。
(d) formfilename

様式を次の様式に切り替える条件を指定します。

formfilenameを指定した場合,同じ様式グループ内にsubgroupは指定できません。formfilenameとsubgroupを両方指定した場合,またはどちらも指定しなかった場合は,エラー(KEEU038-E)になります。

formfilenameは,様式グループ内に指定する様式の数分を繰り返し指定します。

formfilenameの形式
formfilename "帳票ファイル名" {
transfercondition={NPNF|KBNF|EOFN}
printnewpaper={ON|OFF}
resetpagenumber={ON|OFF}
[traycode=給紙トレイ番号]
}
帳票ファイル名
帳票ファイル名を「"」で囲んで指定します。パスの指定は要りません。
指定する帳票ファイル名は,様式グループ間で同じ名称がないように指定してください。同じ名称の帳票ファイルがある場合,または帳票ファイル名をパス指定された場合は,エラー(KEEU038-E)になります。
複数様式で出力する場合は,一組にする帳票すべてに同じキーフィールドで改ページするように設計しておいてください。
帳票ヘッダのある帳票は,複数様式では出力できません。
■キーワードtransferconditionの形式
transfercondition={NPNF|KBNF|EOFN}
NPNF | KBNF | EOFN
様式を切り替える条件を指定します。
サブ様式グループの様式を切り替える場合は,NPNFとKBNFが指定できます。
  • NPNF(ページエンド改ページ)
    キーブレイク以外の改ページのタイミングで,次の様式に切り替えます。
  • KBNF(キーブレイク改ページ)
    キーブレイクのタイミングで,次の様式に切り替えます。
    KBNFを指定した場合,grouptransferconditionもしくはformtransferconditionのキーワードfieldnameに指定されているキーブレイク対象フィールド,または帳票に設定されている改ページのキーフィールドによって様式を切り替えます。
    KBNFを指定する場合は,帳票ファイル名に指定する帳票を設計するとき,フィールド名とフィールド属性が同じになるように指定しておいてください。
  • EOFN(ファイル終端)
    すべての様式のデータを印刷したあと,次の様式に切り替えます。
■キーワードprintnewpaperの形式
printnewpaper={ON|OFF}
ON | OFF
プリンタの印刷設定で「両面」が設定されている場合,キーワードprintnewpaperを指定した様式が常に用紙の表面になるように空白ページを挿入するかどうかを指定します。
  • ON
    様式が常に用紙の表面になるように,空白ページを挿入します。

    図11-9  printnewpaperがONの場合の例

    [図データ]

  • OFF
    印刷している様式に偶数ページがない場合,次の様式を続けて印刷します。

    図11-10  printnewpaperがOFFの場合の例

    [図データ]

■キーワードresetpagenumberの形式
resetpagenumber={ON|OFF}
ON | OFF
キーとなるフィールドのデータが変わった時点で,ページ番号の開始番号を初期化するかどうかを指定します。
  • ON
    キーとなるフィールドのデータが変わった時点で,ページ番号を初期化します。

    図11-11  resetpagenumberがONの場合の例

    [図データ]

  • OFF
    ページ番号は初期化しません。通し番号になります。

    図11-12  resetpagenumberがOFFの場合の例

    [図データ]

■補足説明
複数様式の帳票の場合,帳票設計時の改ページの設定ではページ番号を初期化するかどうかは有効になりません。キーワードresetpagenumberの設定だけが有効になります。
■キーワードtraycodeの形式
給紙トレイ番号を指定します。/tcオプションを同時に指定した場合,traycodeの指定が優先されます。
traycode=給紙トレイ番号
給紙トレイ番号
この様式を印刷する場合の給紙トレイ番号を指定します。
  • Windows環境の場合
    給紙トレイ番号は,トレイコード表示ツールで表示されるトレイコードを指定してください。省略した場合は,デフォルトの給紙トレイから給紙されます。
  • UNIX/Linux環境の場合
    給紙トレイの給紙トレイ番号を指定してください。給紙トレイ番号は,1〜n(nは,プリンタに設定されている給紙トレイ番号)で指定します。6以上の値を指定した場合は,自動給紙となります。省略した場合は,プリンタ定義ファイルのDefaultCassetteキーで指定された方法で給紙します。
    プリンタ定義ファイルの詳細については,「11.5 プリンタ定義ファイル」を参照してください。
(e) subgroup

サブ様式グループを識別する番号を指定します。

subgroupとformfilenameは,どちらかを指定してください。subgroupとformfilenameを両方指定した場合,またはどちらも指定しなかった場合は,エラー(KEEU038-E)になります。

subgroupを指定すると,formtransferconditionは指定できません。subgroupとformtransferconditionを同時に指定した場合は,エラー(KEEU038-E)になります。

group文とsubgroup文の様式グループ遷移条件(grouptransfercondition)のフィールド名(fieldname)には異なる文字列を指定してください。同じ文字列を指定すると,エラー(KEEU038-E)になります。

subgroupの形式
subgroup サブ様式グループ番号
サブ様式グループ番号
サブ様式グループ番号を1以上の整数で指定します。サブ様式グループは,様式グループの中にだけ指定できます。様式グループの中以外に指定した場合は,エラー(KEEU038-E)になります。
また,サブ様式グループ番号は,サブ様式グループ間で同じ番号がないように指定してください。同じサブ様式グループ番号がある場合,またはサブ様式グループ番号が昇順で指定されていない場合は,エラー(KEEU038-E)になります。
サブ様式グループを定義した場合,どのように帳票が出力されるかを次に示します。

図11-13 サブ様式グループを定義した場合の帳票の出力例

[図データ]
注意
サブ様式グループを定義したファイルは,次に示すバージョンの製品で読み込んでください。
製品 バージョン
EUR Server Standard 09-00以降
EUR Server Enterprise 09-00以降
EUR Server Print Edition 09-00以降
EUR Designer 08-00以降
EUR Developer 08-00以降
EUR Print Service Enterprise 08-00以降
EUR Professional Edition 05-06以降
EUR Print Service 05-06以降
バージョン05-05以前のEURまたはEUR Print Serviceで読み込んだ場合はエラー(KEEU038-E)になります。