(57)【特許請求の範囲】
【請求項１】
割込み発生の有無を示す割込み情報がレコード毎に格納された第１レコードデータに対応させて、第１帳票フォーマットの明細行を作成して出力手段に渡す第１帳票作成手段と、
前記割込み情報において割込み発生有りと設定されたレコードに対応する前記第１帳票フォーマットが前記出力手段に渡された場合、前記第１帳票作成手段に割込みを発生させる割込み判定手段と、
前記割込み判定手段により割込み発生と判定されると、割込み発生と判定された前記第１レコードデータのレコードに対応する第２レコードデータを検索し、検索結果を第２帳票フォーマットの明細行として前記出力手段に渡し、前記検索が終了したときに前記第１帳票作成手段に制御を戻し割込みにより中断されていた前記第１帳票作成手段の処理を再開させる第２帳票作成手段と、
割り込み発生と判定された第１レコードデータのレコードに対応する前記第１帳票フォーマットの明細行に続いて、当該第１レコードデータのレコードに対応し前記第２帳票作成手段により渡された前記第２帳票フォーマットの明細行を出力する出力手段と
を有する帳票出力装置。
【請求項２】
前記第１帳票作成手段が、第１帳票フォーマットを含む第１帳票設計情報を格納する帳票設計情報格納部と、前記第１レコードデータを１レコードずつ入力するレコード入力部と、前記レコード入力部により入力された第１レコードデータから前記第１帳票設計情報中の第１帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部とを備える請求項１記載の帳票出力装置。
【請求項３】
前記第２帳票作成手段が、第２帳票フォーマットを含む第２帳票設計情報を格納する帳票設計情報格納部と、前記第２レコードデータを１レコードずつ入力するレコード入力部と、前記レコード入力部により入力された第２レコードデータから前記第２帳票設計情報中の第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部とを備える請求項１記載の帳票出力装置。
【請求項４】
明細行出力状態を示す情報を格納する状態格納手段と、
割込み発生の有無を示す割込み情報がレコード毎に格納された第１レコードデータに対応させて、第１帳票フォーマットの明細行を作成して出力手段に渡す第１の明細行出力処理と、第２レコードデータに対応する第２帳票フォーマットの明細行を作成して前記出力手段に渡す第２の明細行出力処理とを行う帳票作成手段と、
前記割込み情報において割込み発生有りと設定されたレコードに対応する前記第１帳票フォーマットが前記出力手段に渡された場合、前記帳票作成手段に割込みを発生させて第１の明細行出力処理を中断するとともに前記状態格納手段に前記帳票作成手段における明細行出力状態を示す情報を格納して待避させ、第１の明細行出力処理から第２の明細行出力処理に移行させる割込み判定手段と、
割り込み発生と判定された第１レコードデータのレコードに対応する前記第１帳票フォーマットの明細行に続いて、当該第１レコードデータのレコードに対応し前記帳票作成手段により渡された前記第２帳票フォーマットの明細行を出力する出力手段と
を有し、
前記第２レコードデータは前記第１レコードデータのレコードに対応づけられ、前記帳票作成手段は、前記割込み判定手段により割込み発生と判定されると、割込み発生と判定された前記第１レコードデータのレコードに対応する第２レコードデータを検索し、検索結果を第２帳票フォーマットの明細行として前記出力手段に渡し、前記検索が終了したときに、前記状態格納手段に格納された情報に基づいて明細行出力状態を復元させ、前記割込みにより中断されていた第１の明細行出力処理を再開させる帳票出力装置。
【請求項５】
前記帳票作成手段が、第１帳票フォーマットを含む第１帳票設計情報，ならびに第２帳票フォーマットを含む第２帳票設計情報を格納する帳票設計情報格納部と、第１レコードデータまたは第２レコードデータを１レコードずつ入力するレコード入力部と、前記レコード入力部により入力された第１レコードデータまたは第２レコードデータから前記第１帳票設計情報中の第１帳票フォーマットまたは前記第２帳票設計情報中の第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部とを備える請求項４記載の帳票出力装置。
【請求項６】
コンピュータを、
割込み発生の有無を示す割込み情報がレコード毎に格納された第１レコードデータに対応させて、第１帳票フォーマットの明細行を作成して出力手段に渡す第１帳票作成手段と、
前記割込み情報において割込み発生有りと設定されたレコードに対応する前記第１帳票フォーマットが前記出力手段に渡された場合、前記第１帳票作成手段に割込みを発生させる割込み判定手段と、
前記割込み判定手段により割込み発生と判定されると、割込み発生と判定された前記第１レコードデータのレコードに対応する第２レコードデータを検索し、検索結果を第２帳票フォーマットの明細行として前記出力手段に渡し、前記検索が終了したときに前記第１帳票作成手段に制御を戻し割込みにより中断されていた前記第１帳票作成手段の処理を再開させる第２帳票作成手段と、
割り込み発生と判定された第１レコードデータのレコードに対応する前記第１帳票フォーマットの明細行に続いて、当該第１レコードデータのレコードに対応し前記第２帳票作成手段により渡された前記第２帳票フォーマットの明細行を出力する出力手段として機能させるためのプログラムを記録した記録媒体。
【請求項７】
コンピュータを、
明細行出力状態を示す情報を格納する状態格納手段と、
割込み発生の有無を示す割込み情報がレコード毎に格納された第１レコードデータに対応させて、第１帳票フォーマットの明細行を作成して出力手段に渡す第１の明細行出力処理と、第２レコードデータに対応する第２帳票フォーマットの明細行を作成して前記出力手段に渡す第２の明細行出力処理とを行う帳票作成手段と、
前記割込み情報において割込み発生有りと設定されたレコードに対応する前記第１帳票フォーマットが前記出力手段に渡された場合、前記帳票作成手段に割込みを発生させて第１の明細行出力処理を中断するとともに前記状態格納手段に前記帳票作成手段における明細行出力状態を示す情報を格納して待避させ、第１の明細行出力処理から第２の明細行出力処理に移行させる割込み判定手段と、
割り込み発生と判定された第１レコードデータのレコードに対応する前記第１帳票フォーマットの明細行に続いて、当該第１レコードデータのレコードに対応し前記帳票作成手段により渡された前記第２帳票フォーマットの明細行を出力する出力手段として機能させ、
前記第２レコードデータは前記第１レコードデータのレコードに対応づけられ、前記帳票作成手段は、前記割込み判定手段により割込み発生と判定されると、割込み発生と判定された前記第１レコードデータのレコードに対応する第２レコードデータを検索し、検索結果を第２帳票フォーマットの明細行として前記出力手段に渡し、前記検索が終了したときに、前記状態格納手段に格納された情報に基づいて明細行出力状態を復元させ、前記割込みにより中断されていた第１の明細行出力処理を再開させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は帳票出力装置に関し、特にレコードデータを１レコードずつ入力し帳票フォーマットに従って帳票行（明細行）を作成して出力する明細行出力処理を繰り返すことによって帳票を出力する帳票出力装置に関する。
【０００２】
【従来の技術】
帳票出力装置は、ファイルやデータベース中のテーブルに格納されたレコードデータを、予め設計された帳票フォーマットに従ってプリンタやディスプレイ等に出力するために利用される。
【０００３】
従来の帳票出力装置では、１帳票を出力するためのレコードデータのフォーマットは固定であり、レコードデータを出力する明細行のフォーマットも固定であった。
【０００４】
例えば、このような帳票出力装置の一例として、特開平２−１３１９６０号公報に開示されたものがある。これは、分類別にソートされたレコードデータを順次読み込み、同じグループに属するレコードデータを同じページ内に出力するものである。
【０００５】
また、特開昭６０−１７８５２９号公報に開示された「ライタに於ける割り込み制御方式」は、ある帳票出力中に別帳票を緊急割り込みさせるようにしたものであるが、その割込み単位はページ単位である。
【０００６】
さらに、特開平０１−１５４２１８号公報に開示された「帳票印刷出力制御方式」は、帳票定義体を設け、その書き換えにより多様な帳票フォーマットに対応できるようにしたものである。
【０００７】
さらにまた、特開平０５−１５０９２０号公報に開示された「帳票作成システム」は、印字出力イメージ作成手段を設け、印刷イメージを書き換えることにより、多様な出力帳票フォーマットに対応できるようにしたものである。
【０００８】
また、特開平０５−１５８９５４号公報に開示された「帳票作成装置」は、定型帳票の一部に座標指定を行うことなくデータを埋め込み印刷することおよび単票出力することを目的とするものである。
【０００９】
【発明が解決しようとする課題】
従来の帳票出力装置では、条件に従って、異なる印刷イメージを割り込ませたり、異なるデータベース中のレコードデータを利用した出力を混在して行うことはできないという問題点があった。その理由は、１帳票を出力するためのレコードデータのフォーマットは固定であり、該レコードデータを出力する帳票行（明細行）のフォーマットも固定であったからである。
【００１０】
本発明の目的は、レコードデータをあらかじめ定められた帳票設計情報に従った帳票フォーマットで出力する帳票出力装置において、特定の条件が発生した場合に、出力中の帳票フォーマットの明細行に異なる帳票フォーマットの明細行を割り込ませて出力することができる帳票出力装置を提供することにある。
【００１１】
【課題を解決するための手段】
本発明の帳票出力装置は、第１レコードデータ獲得方法に従って第１レコードデータを１レコードずつ入力し該第１レコードデータに対応する第１帳票フォーマットの明細行を作成して出力手段に渡す第１帳票作成手段と、割込み発生条件が設定され、前記第１帳票作成手段によって入力された第１レコードデータが割込み発生条件に該当するかどうかを監視し割込み発生条件が成立したときに割込みを発生する割込み判定手段と、前記割込み判定手段による割込み発生時に第２レコードデータ獲得方法に従って前記第１レコードデータとは異なる第２レコードデータを１レコードずつ入力し該第２レコードデータに対応する第２帳票フォーマットの明細行を作成して前記出力手段に渡し、該当する第２レコードデータが終了したときに前記第１帳票作成手段に制御を戻し割込みにより中断されていた前記第１帳票作成手段の処理を再開させる第２帳票作成手段と、前記第１帳票作成手段および前記第２帳票作成手段から渡される明細行を順次出力する前記出力手段とを有することを特徴とする。
【００１２】
また、本発明の帳票出力装置は、前記第１帳票作成手段が、第１レコードデータ獲得方法および第１帳票フォーマットからなる第１帳票設計情報を格納する帳票設計情報格納部と、前記第１帳票設計情報中の第１レコードデータ獲得方法に従い第１レコードデータを１レコードずつ入力するレコード入力部と、前記レコード入力部により入力された第１レコードデータから前記第１帳票設計情報中の第１帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部とを備えることを特徴とする。
【００１３】
さらに、本発明の帳票出力装置は、前記第２帳票作成手段が、第２レコードデータ獲得方法および第２帳票フォーマットからなる第２帳票設計情報を格納する帳票設計情報格納部と、前記第２帳票設計情報中の第２レコードデータ獲得方法に従い第２レコードデータを１レコードずつ入力するレコード入力部と、前記レコード入力部により入力された第２レコードデータから前記第２帳票設計情報中の第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部とを備えることを特徴とする。
【００１４】
さらにまた、本発明の帳票出力装置は、明細行出力状態を待避する状態格納手段と、第１レコードデータ獲得方法に従って第１レコードデータを１レコードずつ入力し第１帳票フォーマットに従い明細行を作成して出力手段に渡す第１帳票設計情報に基づく明細行出力処理を行い、割込みが発生したときに第２レコードデータ獲得方法に従って、前記第１レコードデータとは異なる第２レコードデータを１レコードずつ入力し第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す第２帳票設計情報に基づく明細行出力処理を行い、第２帳票設計情報に基づく明細行出力処理の対象となる第２レコードデータが終了したときに前記状態格納手段から第１帳票設計情報に基づく明細行出力状態を復元させ前記割込みにより中断されていた第１帳票設計情報に基づく明細行出力処理を再開する帳票作成手段と、割込み発生条件が設定され、前記帳票作成手段により入力された第１レコードデータが割込み発生条件に該当するかどうかを監視し割込み発生条件が成立したときに割込みを発生して第１帳票設計情報に基づく明細行出力処理を中断するとともに前記状態格納手段に前記帳票作成手段における明細行出力状態を待避させ、第１帳票設計情報に基づく明細行出力処理から第２帳票設計情報に基づく明細行出力処理に移行させる割込み判定手段と、前記帳票作成手段から渡される明細行を順次出力する出力手段とを有することを特徴とする。
【００１５】
また、本発明の帳票出力装置は、前記帳票作成手段が、第１レコードデータ獲得方法および第１帳票フォーマットからなる第１帳票設計情報，ならびに第２レコードデータ獲得方法および第２帳票フォーマットからなる第２帳票設計情報を格納する帳票設計情報格納部と、前記第１帳票設計情報中の第１レコードデータ獲得方法または前記第２帳票設計情報中の第２レコードデータ獲得方法に従い第１レコードデータまたは第２レコードデータを１レコードずつ入力するレコード入力部と、前記レコード入力部により入力された第１レコードデータまたは第２レコードデータから前記第１帳票設計情報中の第１帳票フォーマットまたは前記第２帳票設計情報中の第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部とを備えることを特徴とする。
【００１６】
一方、本発明の記録媒体は、コンピュータを、第１レコードデータ獲得方法に従って第１レコードデータを１レコードずつ入力し該第１レコードデータに対応する第１帳票フォーマットの明細行を作成して出力手段に渡す第１帳票作成手段と、割込み発生条件が設定され、前記第１帳票作成手段によって入力された第１レコードデータが割込み発生条件に該当するかどうかを監視し割込み発生条件が成立したときに割込みを発生する割込み判定手段と、前記割込み判定手段による割込み発生時に第２レコードデータ獲得方法に従って前記第１レコードデータとは異なる第２レコードデータを１レコードずつ入力し該第２レコードデータに対応する第２帳票フォーマットの明細行を作成して前記出力手段に渡し、該当する第２レコードデータが終了したときに前記第１帳票作成手段に制御を戻し割込みにより中断されていた前記第１帳票作成手段の処理を再開させる第２帳票作成手段と、前記第１帳票作成手段および前記第２帳票作成手段から渡される明細行を順次出力する前記出力手段として機能させるためのプログラムを記録する。
【００１７】
また、本発明の記録媒体は、コンピュータを、第１レコードデータ獲得方法および第１帳票フォーマットからなる第１帳票設計情報を格納する帳票設計情報格納部，前記第１帳票設計情報中の第１レコードデータ獲得方法に従い第１レコードデータを１レコードずつ入力するレコード入力部，ならびに前記レコード入力部により入力された第１レコードデータから前記第１帳票設計情報中の第１帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部を備え、第１レコードデータ獲得方法に従って第１レコードデータを１レコードずつ入力し該第１レコードデータに対応する第１帳票フォーマットの明細行を作成して出力手段に渡す第１帳票作成手段と、割込み発生条件が設定され、前記第１帳票作成手段によって入力された第１レコードデータが割込み発生条件に該当するかどうかを監視し割込み発生条件が成立したときに割込みを発生する割込み判定手段と、第２レコードデータ獲得方法および第２帳票フォーマットからなる第２帳票設計情報を格納する帳票設計情報格納部，前記第２帳票設計情報中の第２レコードデータ獲得方法に従い第２レコードデータを１レコードずつ入力するレコード入力部，ならびに前記レコード入力部により入力された第２レコードデータから前記第２帳票設計情報中の第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部を備え、前記割込み判定手段による割込み発生時に第２レコードデータ獲得方法に従って前記第１レコードデータとは異なる第２レコードデータを１レコードずつ入力し該第２レコードデータに対応する第２帳票フォーマットの明細行を作成して前記出力手段に渡し、該当する第２レコードデータが終了したときに前記第１帳票作成手段に制御を戻し割込みにより中断されていた前記第１帳票作成手段の処理を再開させる第２帳票作成手段と、前記第１帳票作成手段および前記第２帳票作成手段から渡される明細行を順次出力する前記出力手段として機能させるためのプログラムを記録する。
【００１８】
さらに、本発明の記録媒体は、コンピュータを、明細行出力状態を待避する状態格納手段と、第１レコードデータ獲得方法に従って第１レコードデータを１レコードずつ入力し第１帳票フォーマットに従い明細行を作成して出力手段に渡す第１帳票設計情報に基づく明細行出力処理を行い、割込みが発生したときに第２レコードデータ獲得方法に従って、前記第１レコードデータとは異なる第２レコードデータを１レコードずつ入力し第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す第２帳票設計情報に基づく明細行出力処理を行い、第２帳票設計情報に基づく明細行出力処理の対象となる第２レコードデータが終了したときに前記状態格納手段から第１帳票設計情報に基づく明細行出力状態を復元させ前記割込みにより中断されていた第１帳票設計情報に基づく明細行出力処理を再開する帳票作成手段と、割込み発生条件が設定され、前記帳票作成手段により入力された第１レコードデータが割込み発生条件に該当するかどうかを監視し割込み発生条件が成立したときに割込みを発生して第１帳票設計情報に基づく明細行出力処理を中断するとともに前記状態格納手段に前記帳票作成手段における明細行出力状態を待避させ、第１帳票設計情報に基づく明細行出力処理から第２帳票設計情報に基づく明細行出力処理に移行させる割込み判定手段と、前記帳票作成手段から渡される明細行を順次出力する出力手段として機能させるためのプログラムを記録する。
【００１９】
さらにまた、本発明の記録媒体は、コンピュータを、明細行出力状態を待避する状態格納手段と、第１レコードデータ獲得方法および第１帳票フォーマットからなる第１帳票設計情報，ならびに第２レコードデータ獲得方法および第２帳票フォーマットからなる第２帳票設計情報を格納する帳票設計情報格納部，前記第１帳票設計情報中の第１レコードデータ獲得方法または前記第２帳票設計情報中の第２レコードデータ獲得方法に従い第１レコードデータまたは第２レコードデータを１レコードずつ入力するレコード入力部，ならびに前記レコード入力部により入力された第１レコードデータまたは第２レコードデータから前記第１帳票設計情報中の第１帳票フォーマットまたは前記第２帳票設計情報中の第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す帳票展開部を備え、第１レコードデータ獲得方法に従って第１レコードデータを１レコードずつ入力し第１帳票フォーマットに従い明細行を作成して出力手段に渡す第１帳票設計情報に基づく明細行出力処理を行い、割込みが発生したときに第２レコードデータ獲得方法に従って、前記第１レコードデータとは異なる第２レコードデータを１レコードずつ入力し第２帳票フォーマットに従い明細行を作成して前記出力手段に渡す第２帳票設計情報に基づく明細行出力処理を行い、第２帳票設計情報に基づく明細行出力処理の対象となる第２レコードデータが終了したときに前記状態格納手段から第１帳票設計情報に基づく明細行出力状態を復元させ前記割込みにより中断されていた第１帳票設計情報に基づく明細行出力処理を再開する帳票作成手段と、割込み発生条件が設定され、前記帳票作成手段により入力された第１レコードデータが割込み発生条件に該当するかどうかを監視し割込み発生条件が成立したときに割込みを発生して第１帳票設計情報に基づく明細行出力処理を中断するとともに前記状態格納手段に前記帳票作成手段における明細行出力状態を待避させ、第１帳票設計情報に基づく明細行出力処理から第２帳票設計情報に基づく明細行出力処理に移行させる割込み判定手段と、前記帳票作成手段から渡される明細行を順次出力する出力手段として機能させるためのプログラムを記録する。
【００２０】
本発明の帳票出力装置では、レコード入力部が、帳票設計情報格納部に格納されている帳票設計情報中の第１レコードデータ獲得方法に従い第１レコードデータを１レコードずつ入力する。帳票展開部は、入力された第１レコードデータを受け取り、帳票設計情報格納部に格納されている帳票設計情報中の第１帳票フォーマットに従って明細行を作成して出力手段に渡す。割込み判定手段は、第１帳票作成手段によって入力された第１レコードデータが割込み発生条件に該当するかどうかを監視し、割込み発生条件が成立したときに割込みを発生して第１帳票作成手段による明細行出力処理を一旦中断させ、第２帳票作成手段に制御を移す。第２帳票作成手段は、制御を受け取ると、帳票設計情報格納部に格納されている帳票設計情報中の第２レコードデータ獲得方法に従い、第１帳票作成手段が入力中のレコードシーケンスとは独立したレコードシーケンスの、すなわち第１のレコードデータとは異なる第２レコードデータを１レコードずつ入力する。帳票展開部は、入力された第２レコードデータを受け取り、帳票設計情報格納部に格納されている帳票設計情報中の第２帳票フォーマットに従って明細行を作成して出力手段に渡す。第２帳票作成手段は、第２レコードデータ獲得方法に従って入力できる第２レコードデータが終了すれば、
第１帳票作成手段に制御を戻す。第１帳票作成手段は、中断していた明細行出力処理を再開する。出力手段は、第１帳票作成手段または第２帳票作成手段から渡される明細行を受け取って順次出力する。このようにして、ある帳票の出力中に特定の条件が発生した場合に、第２帳票フォーマットの明細行を第１帳票フォーマットの明細行の間に割り込ませて出力することが可能となる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２２】
図１は、本発明の第１の実施の形態に係る帳票出力装置の構成を示すブロック図である。本実施の形態に係る帳票出力装置は、第１レコードデータ獲得方法に従ってレコードデータを１レコードずつ入力し該レコードデータに対応する第１帳票フォーマットの明細行を作成して出力手段４０に渡す明細行出力処理を繰り返す第１帳票作成手段１０と、第１帳票作成手段１０の明細行出力状態および第２レコードデータ獲得方法に従ってレコードデータを１レコードずつ入力し該レコードデータに対応する第２帳票フォーマットの明細行を作成して出力手段４０に渡す割込み明細行出力処理を繰り返し、第２レコードデータ獲得方法に従って入力できるレコードデータが終了したときに第１帳票作成手段１０に制御を戻す第２帳票作成手段２０と、第１帳票作成手段１０の明細行出力状態を監視しあらかじめ設定された特定の条件（以下、割込み発生条件という）の成立時に割込みを発生させて第１帳票作成手段１０から第２帳票作成手段２０に制御を移行させる割込み判定手段３０と、第１帳票作成手段１０および第２帳票作成手段２０から渡された明細行を順次出力する出力手段４０とから、その主要部が構成されている。
【００２３】
第１帳票作成手段１０は、レコード入力部１１と、帳票展開部１２と、帳票設計情報格納部１３とを備えている。
【００２４】
帳票設計情報格納部１３には、帳票に出力するレコードデータの獲得方法である第１レコードデータ獲得方法と、帳票への出力フォーマットである第１帳票フォーマットとからなる第１帳票設計情報があらかじめ格納されている。
【００２５】
レコード入力部１１は、帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１レコードデータ獲得方法に従いレコードデータを１レコードずつ入力する。
【００２６】
帳票展開部１２は、レコード入力部１１により入力されたレコードデータから帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１帳票フォーマットに従い明細行を作成して出力手段４０に渡す。
【００２７】
第２帳票作成手段２０は、レコード入力部２１と、帳票展開部２２と、帳票設計情報格納部２３とを備えている。
【００２８】
帳票設計情報格納部２３には、帳票に出力するレコードデータの獲得方法である第２レコードデータ獲得方法と、帳票への出力フォーマットである第２帳票フォーマットとからなる第２帳票設計情報があらかじめ格納されている。
【００２９】
レコード入力部２１は、第１帳票作成手段１０の明細行出力状態と帳票設計情報格納部２３に格納されている帳票設計情報中の第２レコードデータ獲得方法とに従いレコードデータを１レコードずつ入力する。
【００３０】
帳票展開部２２は、レコード入力部２１により入力されたレコードデータから帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２帳票フォーマットに従い明細行を作成して出力手段４０に渡す。
【００３１】
割込み判定手段３０は、第１帳票作成手段１０の明細行出力状態を監視し、あらかじめ設定されている割込み発生条件が成立したときに割込みを発生して第１帳票作成手段１０の明細行出力処理を一旦中断させ、第２帳票作成手段２０に制御を移す。割込み発生条件としては、たとえば、第１帳票作成手段１０が入力したレコードデータの内容が、ある特定の値であった場合などがある。
【００３２】
出力手段４０は、第１帳票作成手段１０または第２帳票作成手段２０から順次渡される第１帳票フォーマットの明細行または第２帳票フォーマットの明細行を受け取り、ディスプレイやプリンタなどに出力する。
【００３３】
図２を参照すると、第１の実施の形態に係る帳票出力装置の処理は、レコードデータ入力ステップＡ１と、入力判定ステップＡ２と、明細行作成および出力ステップＡ３と、割込み判定ステップＡ４と、第２帳票出力手段への制御移行ステップＡ５と、レコードデータ入力ステップＡ６と、入力判定ステップＡ７と、明細行作成および出力ステップＡ８と、第２帳票出力終了処理ステップＡ９と、第１帳票出力手段への制御移行ステップＡ１０と、第１帳票出力終了処理ステップＡ１１とからなる。
【００３４】
次に、このように構成された第１の実施の形態に係る帳票出力装置の動作について、図１および図２を参照して詳細に説明する。
【００３５】
まず、第１帳票作成手段１０では、レコード入力部１１が、帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１レコードデータ獲得方法に従い１レコード分のレコードデータを入力する（ステップＡ１）。
【００３６】
レコード入力部１１によるレコードデータの入力が成功した場合（ステップＡ２でイエス）、帳票展開部１２は、帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１帳票フォーマットに従って明細行を作成して出力手段４０に渡す（ステップＡ３）。
【００３７】
出力手段４０は、渡された第１帳票フォーマットの明細行をプリンタ，ディスプレイ等に出力する。
【００３８】
次に、割込み判定手段３０は、第１帳票作成手段１０の明細行出力状態を監視し、あらかじめ設定されている割込み発生条件が成立するか否かを判定する（ステップＡ４）。割込み発生条件が成立しなければ、割込み判定手段３０は、レコード入力部１１（ステップＡ１）に制御を戻し、次の１レコード分のレコードデータを入力する。一方、割込み発生条件が成立すれば、割込み判定手段３０は、第１帳票作成手段１０の明細行出力処理を一旦中断させ、第２帳票作成手段２０に制御を移す（ステップＡ５）。
【００３９】
第２帳票作成手段２０では、制御を移されると、レコード入力部２１が、第１帳票作成手段１０の明細行出力状態と帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２レコードデータ獲得方法とに従い、第１帳票作成手段１０で中断されたレコードシーケンスとは独立したレコードシーケンスの１レコード分のレコードデータを入力する（ステップＡ６）。
【００４０】
レコード入力部２１によるレコードデータの入力が成功した場合（ステップＡ７でイエス）、帳票展開部２２は、帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２帳票フォーマットに従って明細行を作成して出力手段４０に渡し（ステップＡ８）、ステップＡ６に制御を戻す。
【００４１】
出力手段４０は、渡された第２帳票フォーマットの明細行をプリンタ，ディスプレイ等に出力する。
【００４２】
レコード入力部２１によるレコードデータの入力が失敗した場合（ステップＡ７でノー）、帳票展開部２２は、割込み出力された第２帳票フォーマットの明細行に対する集計行の出力などの第２帳票出力終了処理を行い（ステップＡ９）、第１帳票作成手段１０（ステップＡ１）に制御を戻す（ステップＡ１０）。
【００４３】
ステップＡ２でレコード入力部１１によるレコードデータの入力が失敗した場合、レコード入力部１１は、レコードデータが終了したものと判定し、第１帳票フォーマットの明細行に対する集計行の出力などの第１帳票出力終了処理を行い（ステップＡ１１）、帳票出力処理を完了する。
【００４４】
次に、具体例を用いて、第１の実施の形態に係る帳票出力装置の動作をより詳細に説明する。
【００４５】
ここでは、第１帳票作成手段１０の帳票設計情報格納部１３には、第１帳票設計情報中の第１データレコード獲得方法として、図３（ａ）に示すように、「商品名」，「定価」，「売上個数」，および「部品有無」の各フィールドからなる売上一覧のレコードデータをファイルまたはデータベースから獲得することがあらかじめ設定されているものとする。また、第１帳票設計情報中の第１帳票フォーマットとして、図４に示すように、「商品名」，「定価」，「売上個数」，および「売上合計」の各フィールドからなる明細行を含む帳票フォーマットがあらかじめ設定されているものとする。
【００４６】
また、第２帳票作成手段２０の帳票設計情報格納部２３には、第２帳票設計情報中の第２データレコード獲得方法として、図３（ｂ）に示すように、部品一覧のレコードデータの中から、「商品名」フィールドの値が、第１帳票作成手段１０が出力中のレコードデータの「商品名」フィールドの値と同じ値のレコードデータを抽出して入力レコードとすることがあらかじめ設定されているものとする。また、第２帳票設計情報中の第２帳票フォーマットとして、図４に示すように、「部品名」および「部品個数」の各フィールドからなる明細行を含む帳票フォーマットがあらかじめ設定されているものとする。
【００４７】
さらに、割込み判定手段３０には、割込み発生条件として、『「部品有無」フィールドの値が「あり」である。』が設定されているものとする。
【００４８】
まず、第１帳票作成手段１０では、レコード入力部１１が、帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１データレコード獲得方法に従い、図３（ａ）の売上一覧から１レコード分のレコードデータを入力して、「商品１」の行のレコードデータを獲得し、帳票展開部１２に渡す（ステップＡ１）。
【００４９】
帳票展開部１２は、渡された「商品１」の行のレコードデータから、帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１帳票フォーマットに従い明細行を作成して出力手段４０に渡す（ステップＡ３）。ただし、帳票展開部１２は、まず、ページ先頭行であるという判断から固定タイトル部（図４のＬ１）を作成して出力手段４０に渡した後、第１帳票フォーマットの明細行（図４のＬ２）を作成して出力手段４０に渡す。
【００５０】
出力手段４０は、固定タイトル部（図４のＬ１）および第１帳票フォーマットの明細行（図４のＬ２）を順次出力する。
【００５１】
続いて、割込み判定手段３０は、第１帳票作成手段１０の明細行出力状態を監視し、あらかじめ設定されている割込み発生条件が成立するか否かを判定する（ステップＡ４）。いま、売上一覧の「商品１」の行のレコードデータの場合、「部品有無」フィールドの値が 「あり」であり、割込み発生条件が成立するため、割込み判定手段３０は、割込みを発生させて第１帳票作成手段１０による明細行出力処理を一旦中断させ、第２帳票作成手段２０に制御を移す（ステップＡ５）。
【００５２】
第２帳票作成手段２０では、レコード入力部２１が、帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２データレコード獲得方法に従い、図３（ｂ）の部品一覧から第１帳票作成手段１０が出力途中のレコードデータと同じ商品名「商品１」を有するレコードデータを１つ入力して、「部品１１」の行のレコードデータを獲得し、帳票展開部２２に渡す（ステップＡ６）。
【００５３】
帳票展開部２２は、渡された「部品１１」の行のレコードデータから、帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２帳票フォーマットに従って、「部品名」および「部品個数」からなる明細行（図４のＬ３）を作成し、出力手段４０に渡す（ステップＡ８）。
【００５４】
出力手段４０は、「部品名」および「部品個数」からなる明細行（図４のＬ３）を出力する。
【００５５】
次に、レコード入力部２１は、引き続き帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２データレコード獲得方法に従い、図３（ｂ）の部品一覧から「商品１」の行のレコードデータを入力して、「部品１２」の行のレコードデータを獲得し、帳票展開部２２に渡す（ステップＡ６）。
【００５６】
続いて、帳票展開部２２は、渡された「部品１２」の行のレコードデータから、帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２帳票フォーマットに従って、「部品名」および「部品個数」からなる明細行（図４のＬ４）を作成し、出力手段４０に渡す（ステップＡ８）。
【００５７】
出力手段４０は、「部品名」および「部品個数」からなる明細行（図４のＬ４）を出力する。
【００５８】
次に、レコード入力部２１は、引き続き帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２データレコード獲得方法に従い、図３（ｂ）の部品一覧から「商品１」の行のレコードデータを入力しようとするが、該当するレコードが存在しないため、レコードデータが終了したことを検出する（ステップＡ７でノー）。
【００５９】
このため、第２帳票作成手段２０は、帳票設計情報格納部２３に格納されている第２帳票設計情報中の第２帳票フォーマットに従い割込み出力された明細行について第２帳票出力終了処理を行う（ステップＡ９）。例えば、レコードデータの集計処理を行い、「部品個数合計」および「部品個数」からなる集計行のフォーマットの明細行（図４のＬ５）を作成し、出力手段４０に渡す。
【００６０】
出力手段４０は、「部品個数合計」および「部品個数」からなる集計行のフォーマットの明細行（図４のＬ５）を出力する。
【００６１】
この後、第２帳票作成手段２０は、第１帳票作成手段１０に制御を戻す（ステップＡ１０）。
【００６２】
第１帳票作成手段１０では、制御を戻されると、一旦中断されていた明細行出力処理が再開される。すなわち、レコード入力部１１は、帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１レコードデータ獲得方法に従って次のレコードデータを入力し、図３（ａ）の「商品２」の行のレコードデータを獲得し、帳票展開部１２に渡す（ステップＡ１）。
【００６３】
帳票展開部１２は、渡された「商品２」の行のレコードデータから、帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１帳票フォーマットに従い、「部品名」，「定価」，「売上個数」，および「売上合計」の各フィールドからなる明細行（図４のＬ６）を作成して出力手段４０に渡す（ステップＡ３）。
【００６４】
出力手段４０は、「部品名」，「定価」，「売上個数」，および「売上合計」の各フィールドからなる明細行（図４のＬ６）を出力する。
【００６５】
次に、割込み判定手段３０は、第１帳票作成手段１０の明細行出力状態を監視し、あらかじめ設定されている割込み発生条件が成立するか否かを判定する（ステップＡ４）。「商品２」のレコードデータの場合、「部品有無」フィールドが 「なし」であり、割込み発生条件が成立しないため、割込み判定手段３０は、割込みを発生させず、レコード入力部１１によるレコードデータの入力に制御を戻す。
【００６６】
以下、「商品３」，「商品４」，および「商品５」に関しても、上記と同様の処理を行い、明細行（図４のＬ７〜Ｌ１３）の出力処理が行われていく。
【００６７】
「商品５」の行のレコードデータの明細行出力処理が終了すると、レコード入力部１１は、次のレコードデータを入力しようとするが、該当するレコードが存在しない（ステップＡ２でノー）。そのため、第１帳票作成手段１０は、帳票設計情報格納部１３に格納されている第１帳票設計情報中の第１帳票フォーマットに従って第１帳票出力終了処理を実行する（ステップＡ１１）。 例えば、レコードデータの集計処理を行い、「売上総合計」およびその値からなる集計行のフォーマットの明細行（図４のＬ１４）を作成し、出力手段４０に渡す。
【００６８】
出力手段４０は、「売上総合計」およびその値からなる集計行のフォーマットの明細行（図４のＬ１４）を出力する。
【００６９】
以上の結果として、図４に示すイメージの帳票が完成する。
【００７０】
なお、第１帳票作成手段１０の配下に、割込み判定手段３０および第２帳票作成手段２０の組を複数直列または並列につなぐことにより、異なる条件で異なる種類の割込み明細行を埋め込んだり、割込み明細行の出力中に、さらに別の割込み明細行を埋め込むことが可能となる。また、直列結合および並列結合の混在も有り得る。図５は、第１帳票作成手段１０の配下に、割込み判定手段３０および第２帳票作成手段２０の組を複数直列につないだ拡張例の構成を示し、図６は、第１帳票作成手段１０の配下に、割込み判定手段３０および第２帳票作成手段２０の組を複数並列につないだ拡張例の構成を示す。ただし、図５および図６では、割込み判定手段３０の各々に異なる割込み発生条件が設定され、また第２帳票作成手段２０の各々に異なる第２帳票設計情報が設定されているものとする。
【００７１】
次に、本発明の第２の実施の形態に係る帳票出力装置について、図面を参照して詳細に説明する。
【００７２】
図７は、本発明の第２の実施の形態に係る帳票出力装置の構成を示すブロック図である。本実施の形態に係る帳票出力装置は、割込み判定手段３０と、出力手段４０と、帳票作成手段５０と、状態格納手段６０とから、その主要部が構成されている。
【００７３】
割込み判定手段３０および出力手段４０は、図１に示した第１の実施の形態に係る帳票出力装置における対応する手段と同様に構成されているので、同一符号を付してその詳しい説明を省略する。
【００７４】
帳票作成手段５０は、レコード入力部１１と、帳票展開部１２と、帳票設計情報格納部５３とを含んで構成されている。なお、レコード入力部１１および帳票展開部１２は、図１に示した第１の実施の形態に係る帳票出力装置における対応する部と同様に構成されているので、同一符号を付してその詳しい説明を省略する。
【００７５】
帳票設計情報格納部５３は、第１レコードデータ獲得方法および第１帳票フォーマットからなる第１帳票設計情報５４と、第２レコードデータ獲得方法および第２帳票フォーマットからなる第２帳票設計情報５５をあらかじめ格納している。
【００７６】
状態格納手段６０は、第１帳票設計情報５４に基づく帳票出力状態を格納する手段である。
【００７７】
図８を参照すると、第２の実施の形態に係る帳票出力装置の処理は、図２に示した第１の実施の形態に係る帳票出力装置の処理中の第２帳票出力手段への制御移行ステップＡ５および第１帳票出力手段への制御移行ステップＡ１０を、第２帳票設計情報読み出しステップＢ１および第１帳票設計情報に基づく明細行出力処理復帰ステップＢ２にそれぞれ置き換えたものである。
【００７８】
次に、このように構成された第２の実施の形態に係る帳票出力装置の動作について説明する。
【００７９】
なお、図８中の各ステップＡ１〜Ａ３，Ａ６〜Ａ９，およびＡ１１における処理は、図２中に示した各ステップの処理と同様であるために詳細な説明は省略する。
【００８０】
帳票出力処理を開始すると、帳票作成手段５０は、初期状態として、帳票設計情報格納部５３中の第１帳票設計情報５４に基づく明細行出力処理を開始する。
【００８１】
まず、帳票作成手段５０は、第１帳票設計情報５４中の第１レコードデータ獲得方法に従いレコードデータを入力しながら、第１帳票設計情報５４中の第１帳票フォーマットに従い明細行を作成して出力手段４０に渡す明細行出力処理を繰り返す（ステップＡ１〜ステップＡ３）。
【００８２】
割込み判定手段３０は、帳票作成手段５０の明細行出力状態を監視し、あらかじめ設定された割込み発生条件が成立するか否かを判定し（ステップＡ４）、割込み発生条件が成立しなければ、帳票作成手段５０（ステップＡ１）に制御を戻す。割込み発生条件が成立すれば、割込み判定手段３０は、レコードデータの入力状態などの第１帳票設計情報５４に基づく明細行出力状態を状態格納手段６０に待避し、帳票設計情報格納部５３に格納された第２帳票設計情報５５に基づく明細行出力処理を新たに開始する（ステップＢ１）。
【００８３】
帳票作成手段５０は、入力すべきレコードデータが無くなるまで、第２帳票設計情報５５中の第２レコードデータ獲得方法に従うレコードデータの入力と、第２帳票設計情報５５中の第２帳票フォーマットに従う明細行の作成および出力を繰り返す（ステップＡ６〜ステップＡ８）。
【００８４】
そして、帳票作成手段５０は、入力すべきレコードデータが無くなると（ステップＡ７でノー）、第２帳票出力終了処理を行い（ステップＡ９）、状態格納手段６０に待避されている第１帳票設計情報５４に基づく明細行出力状態を復帰させ、第１帳票設計情報５４に基づく明細行出力処理を再開する（ステップＢ２）。
【００８５】
ステップＡ２において、第１帳票設計情報５４中の第１レコードデータ獲得方法に従って入力できるレコードデータが終了すれば、帳票作成手段５０は、第１帳票出力終了処理を行い（ステップ１１）、帳票出力処理を完了する。
【００８６】
次に、本発明の第３の実施の形態について図面を参照して説明する。
【００８７】
図９は、本発明の第３の実施の形態に係る帳票出力装置が適用されたコンピュータ１００を示すブロック図である。このコンピュータ１００は、第１帳票作成手段１０，第２帳票作成手段２０，割込み判定手段３０，および出力手段４０を実現する帳票出力プログラムを記録した記録媒体２００を備えるようにしたものである。記録媒体２００は、磁気ディスク，半導体メモリ，その他の記録媒体であってよい。したがって、対応する手段等には、同一符号を付してその詳しい説明は省略する。
【００８８】
このような第３の実施の形態に係る帳票出力装置では、記録媒体２００から帳票出力プログラムがコンピュータ１００に読み込まれ、第１帳票作成手段１０，第２帳票作成手段２０，割込み判定手段３０，および出力手段４０として動作する。これら各手段の詳しい動作は、図１に示した第１の実施の形態に係る帳票出力装置の場合と全く同様になるので、その詳しい説明を割愛する。
【００８９】
次に、本発明の第４の実施の形態について図面を参照して説明する。
【００９０】
図１０は、本発明の第４の実施の形態に係る帳票出力装置が適用されたコンピュータ３００を示すブロック図である。このコンピュータ３００は、割込み判定手段３０，出力手段４０，帳票作成手段５０，および状態格納手段６０を実現する帳票出力プログラムを記録した記録媒体４００を備えるようにしたものである。記録媒体４００は、磁気ディスク，半導体メモリ，その他の記録媒体であってよい。したがって、対応する手段等には、同一符号を付してその詳しい説明は省略する。
【００９１】
このような第４の実施の形態に係る帳票出力装置では、記録媒体４００から帳票出力プログラムがコンピュータ３００に読み込まれ、割込み判定手段３０，出力手段４０，帳票作成手段５０，および状態格納手段６０として動作する。これら各手段の詳しい動作は、図７に示した第２の実施の形態に係る帳票出力装置の場合と全く同様になるので、その詳しい説明を割愛する。
【００９２】
【発明の効果】
第１効果は、ある帳票フォーマットの明細行の出力途中に別の帳票フォーマットの明細行を割り込ませた上で１つの帳票として出力することができることである。その理由は、第１帳票作成手段がレコードデータを入力する毎に第１帳票フォーマットの明細行を作成して出力手段に渡し、また割込みが発生した場合には、第２帳票作成手段がその出力イメージに引き続き、入力されたレコードデータに関する第２帳票フォーマットの明細行を作成して出力手段に渡すようにしたからである。
【００９３】
第２効果は、ある帳票フォーマットの明細行の出力途中に別の帳票フォーマットの明細行を割り込ませるための割込み発生条件を任意に指定できることである。その理由は、割込み判定手段が、別の帳票フォーマットの明細行を割り込ませる割込み発生条件を判定し、その割込み発生条件に従って第２帳票出力手段に制御を渡すようにしたからである。
【００９４】
第３の効果は、割込み帳票部分を出力する時に、元の帳票とは別のレコードフォーマットのレコードデータおよび帳票フォーマットを利用できる点である。その理由は、割込み帳票を出力する第２帳票作成手段が、第１帳票作成手段とは独立に、レコード入力部および帳票設計情報格納部を持つためである。
【００９５】
第４の効果は、ある帳票フォーマットの明細行に関するより詳細な情報を、必要に応じて別の帳票フォーマットで出力できる点である。その理由は、割込み判定手段が別の帳票フォーマットの明細行を割り込ませる割込み発生条件を判定し、別の帳票フォーマットの明細行を割り込ませる場合は、第２帳票作成手段が、第１帳票作成手段の明細行出力状態を利用して動的に必要なレコードデータを抽出して明細行出力を行えるためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る帳票出力装置の構成を示すブロック図である。
【図２】第１の実施の形態に係る帳票出力装置の処理を示す流れ図である。
【図３】第１の実施の形態に係る帳票出力装置における入力レコードデータの具体例を示す図である。
【図４】第１の実施の形態に係る帳票出力装置における帳票の具体例を示す図である。
【図５】第１の実施の形態に係る帳票出力装置の拡張例の構成を示すブロック図である。
【図６】第１の実施の形態に係る帳票出力装置の他の拡張例の構成を示すブロック図である。
【図７】本発明の第２の実施の形態に係る帳票出力装置の構成を示すブロック図である。
【図８】第２の実施の形態に係る帳票出力装置の処理を示す流れ図である。
【図９】本発明の第３の実施の形態に係る帳票出力装置の構成を示すブロック図である。
【図１０】本発明の第４の実施の形態に係る帳票出力装置の構成を示すブロック図である。
【符号の説明】
１０  第１帳票作成手段
１１  レコード入力部
１２  帳票展開部
１３  帳票設計情報格納部
２０  第２帳票作成手段
２１  レコード入力部
２２  帳票展開部
２３  帳票設計情報格納部
３０  割込み判定手段
４０  出力手段
５０  帳票作成手段
６０  状態格納手段
１００，３００  コンピュータ
２００，４００  記録媒体
【図１】
0004108244.tif 000002
【図２】
0004108244.tif 000003
【図３】
0004108244.tif 000004
【図４】
0004108244.tif 000005
【図５】
0004108244.tif 000006
【図６】
0004108244.tif 000007
【図７】
0004108244.tif 000008
【図８】
0004108244.tif 000009
【図９】
0004108244.tif 000010
【図１０】
0004108244.tif 000011