(57)【要約】【課題】  予めデータベースに蓄積してあるデータを帳票出力する帳票出力システムにおいて、操作員による帳票出力の指示やデータ抽出条件の入力等と実際の出力とを非同期に行うことができる帳票出力システムを提供することである。【解決手段】  データベースに蓄積されたデータを帳票出力する帳票出力システムにおいて、前記データベースに蓄積されたデータのうち帳票出力すべきデータを操作者が指定する帳票データ指定手段と、前記帳票データ指定手段によって指定された帳票データの出力を実行する日時を操作者が指定する帳票出力日時指定手段と、前記帳票データ指定手段によって指定された帳票データの出力を前記帳票出力日時指定手段によって指定されたときに実行する帳票出力実行手段とを備えた。【選択図】  図１
2005149161.tif 000002
【特許請求の範囲】
【請求項１】
データベースに蓄積されたデータを帳票出力する帳票出力システムにおいて、
前記データベースに蓄積されたデータのうち帳票出力すべきデータを操作者が指定する帳票データ指定手段と、前記帳票データ指定手段によって指定された帳票データの出力を実行する日時を操作者が指定する帳票出力日時指定手段と、前記帳票データ指定手段によって指定された帳票データの出力を前記帳票出力日時指定手段によって指定されたときに実行する帳票出力実行手段とを備えた
ことを特徴とする帳票出力システム。
【請求項２】
操作者の入力に基づいて、前記データベースに蓄積されたデータから帳票出力すべきデータを抽出するためのＳＱＬ文を作成し、該ＳＱＬ文を記憶するＳＱＬ文記憶手段をさらに有し、
前記帳票出力実行手段が、前記ＳＱＬ文記憶手段に記憶されているＳＱＬ文を実行して、前記データベースに蓄積されたデータから帳票出力すべきデータを抽出し、該抽出したデータに基づいて、前記帳票データの出力を実行する
ことを特徴とする請求項１に記載の帳票出力システム。
【請求項３】
コンピュータの記憶手段に設けたデータベースに蓄積されたデータを帳票出力するためにコンピュータで動作する帳票出力プログラムにおいて、
コンピュータを、前記データベースに蓄積されたデータのうち帳票出力すべきデータを操作者が指定する帳票データ指定手段、前記帳票データ指定手段によって指定された帳票データの出力を実行する日時を操作者が指定する帳票出力日時指定手段、前記帳票データ指定手段によって指定された帳票データの出力を前記帳票出力日時指定手段によって指定されたときに実行する帳票出力実行手段として機能させることを特徴とする帳票出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は帳票出力システムに関し、特に、コンピュータを用いて、予めデータベースに入力してあるデータを所定の帳票形式にしてたとえばプリンタで出力する帳票出力システムに関する。
【背景技術】
【０００２】
従来から様々な業務等においては、各種のデータをデータベースに蓄積しておき、必要に応じて検索、抽出、表示、印刷等を行うデータベースシステムがよく知られている。たとえば会計システムでも、会社の会計業務に必要な各種データをデータベースに蓄積し、必要に応じて各種伝票を作成、出力することができるようにしている。
【０００３】
ところで、このようなデータベースシステムにおいては、複数の操作員が操作をすることができるようにするのが望ましく、そのために、様々なシステム構成上の工夫が必要となっている。
【０００４】
たとえば、操作員がデータベースを更新する操作をした場合に、その操作に基づいて即座に現実にデータベースを更新するようにした場合（同期処理）には、場合によってはＤＢＭＳ（データベース管理システム）によってデータベースの再構築が必要になったりなど、現実に更新を行う処理の時間がかかり、その間は、他の操作員がデータベースを使えない状況になってしまったりして、リアルタイムな操作性に欠けるという問題があった。
【０００５】
そこで、特許文献１に記載のデータベース管理システムでは、操作員がデータベースを更新する操作をした場合に、即座に現実にデータベースを更新するのではなく、たとえば深夜などの他の操作員もデータベースに対する操作をしないような時間に後でまとめて更新を行うようにする処理、すなわち操作員による操作と現実の更新とを非同期で行う非同期処理を検討し、この非同期処理において、データベースの更新の整合性を確保するようにしている。
【０００６】
【特許文献１】特開２００３−１２２６１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、上述の特許文献１に記載のデータベース管理システムでは、データベースの更新処理についての非同期処理を整合性を確保しながら実現するものでしかなかった。
【０００８】
これに対して実際のデータベースを利用するシステムでは、データベースを更新する処理以外の処理で構成されることもあり、その場合でも合理的にまた整合性のとれた非同期処理を実現できるのが望ましい。
【０００９】
たとえば、データベースに蓄積してあるデータを読み出してきて、それを所定の帳票形式にて表示、印刷等の出力を行う帳票出力システムにおいては、複数の操作員で操作員の数よりも少ないプリンタを共用するような場合がほとんどであり、このような場合、操作員による帳票出力の指示やデータ抽出条件の入力等とプリンタによる実際の出力とが従来は同期処理によって行われていたのでプリンタが混雑し、すぐに入手したい印刷物がなかなか印刷されないようなことが生じてしまうという問題があった。
【００１０】
また、すぐに入手する必要がない印刷物であっても従来は同期処理しかできなかったので、たとえば、利用者が少ない深夜や休日に印刷しようとするならば、印刷をしようとする人はその深夜や休日に印刷の指示やデータ抽出条件の入力等を行わなければならず、その人は厳しい労働条件を強いられてしまうことになってしまう。
【００１１】
本発明は上記の点にかんがみてなされたもので、予めデータベースに蓄積してあるデータを帳票出力する帳票出力システムにおいて、操作員による帳票出力の指示やデータ抽出条件の入力等と実際の出力とを非同期に行うことができる帳票出力システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は上記の目的を達成するために、データベースに蓄積されたデータを帳票出力する帳票出力システムにおいて、前記データベースに蓄積されたデータのうち帳票出力すべきデータを操作者が指定する帳票データ指定手段と、前記帳票データ指定手段によって指定された帳票データの出力を実行する日時を操作者が指定する帳票出力日時指定手段と、前記帳票データ指定手段によって指定された帳票データの出力を前記帳票出力日時指定手段によって指定されたときに実行する帳票出力実行手段とを備えたことを特徴とする。
【００１３】
また本発明は、請求項１に記載の発明において、操作者の入力に基づいて、前記データベースに蓄積されたデータから帳票出力すべきデータを抽出するためのＳＱＬ文を作成し、該ＳＱＬ文を記憶するＳＱＬ文記憶手段を有し、前記帳票出力実行手段が、前記ＳＱＬ文記憶手段に記憶されているＳＱＬ文を実行して、前記データベースに蓄積されたデータから帳票出力すべきデータを抽出し、該抽出したデータに基づいて、前記帳票データの出力を実行することを特徴とする。
【００１４】
また本発明は、コンピュータの記憶手段に設けたデータベースに蓄積されたデータを帳票出力するためにコンピュータで動作する帳票出力プログラムにおいて、コンピュータを、前記データベースに蓄積されたデータのうち帳票出力すべきデータを操作者が指定する帳票データ指定手段、前記帳票データ指定手段によって指定された帳票データの出力を実行する日時を操作者が指定する帳票出力日時指定手段、前記帳票データ指定手段によって指定された帳票データの出力を前記帳票出力日時指定手段によって指定されたときに実行する帳票出力実行手段として機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、予めデータベースに蓄積してあるデータを帳票出力する帳票出力システムにおいて、操作員による帳票出力の指示やデータ抽出条件の入力等と実際の出力とを非同期に行うことができる帳票出力システムを提供することができる。
【００１６】
すなわち、本発明によれば、操作員による帳票出力の指示やデータ抽出条件の入力等をコンピュータの記憶手段に記憶しておき、たとえば所定の時間にプリンタに対して出力指示を自動的に送信するようにしたので、操作員による帳票出力の指示やデータ抽出条件の入力等と実際の出力とを非同期に行う非同期帳票出力処理を実現した帳票出力システムを提供することができる。
【００１７】
また、本発明によれば、操作員による帳票出力の指示やデータ抽出条件の入力等を記憶する際に、そのデータ抽出等を実行するためのＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文をコンピュータの記憶手段に記憶しておくようにしたので、汎用性が高く、他のシステムからの参照も可能で、またメンテナンスも容易に行うことができるという効果もある。また、汎用的なＳＱＬ文を用いているので、出力先媒体の選択肢を多様化することもできるし、障害発生時にはその問題解決を迅速化することもできる。
【００１８】
また、本発明によれば、実行したＳＱＬ文を保存しておくことができるので、異常等の発生時にもその原因の切り分け等調査がしやすいという効果もある。
【発明を実施するための最良の形態】
【００１９】
以下、本発明による実施の形態について図面を参照して説明する。
【００２０】
図１は、本発明による帳票出力システムの一実施の形態の構成を示すブロック図である。
【００２１】
本実施の形態の帳票出力システムでは、サーバーコンピュータに設けたデータベースに蓄積してあるデータに基づいて、予め定めた形式の帳票を作成し、それをディスプレイ表示したり、プリンタで印刷したり、テキストファイル出力したりなどで帳票出力する。
【００２２】
図１に示すように、本実施の形態の帳票出力システムは、サーバーコンピュータ１とプリンタ２とパソコン３とパソコン４とをネットワーク５で接続して構成される。
【００２３】
なお、本実施の形態の帳票出力システムは、図１のようなネットワーク構成を採用しているが、本発明はこれに限られるものではなく、ネットワークに接続される装置の数や種類等はその状況に応じて任意に定められる。
【００２４】
図１において、ネットワーク５は、たとえばイーサネット（登録商標）やトークンリング等のＬＡＮやそのほかインターネットなど、また有線、無線を問わず、また通信プロトコルも問わず、どのようなネットワークでもかまわない。ネットワーク５に接続された各装置のそれぞれには、予めネットワーク上のアドレスが設定されており、各装置はこのアドレスによって識別され、ネットワーク５に接続された他の装置との通信を行う。
【００２５】
プリンタ２は、ネットワーク５に接続された各装置からの指示によって帳票印刷が可能な装置である。
【００２６】
図２は、図１に示したサーバーコンピュータ１の構成を示すブロック図である。
【００２７】
サーバーコンピュータ１は、図１に示したネットワーク５とのインタフェースであるネットワーク接続手段１４と、サーバーコンピュータ１全体の動作を制御するＣＰＵやＭＰＵなどの制御手段１１と、操作員がサーバーコンピュータ１に対する操作、指示等を入力したり、サーバーコンピュータ１が操作員に対して様々な情報を表示したり出力する入出力手段１２と、サーバーコンピュータ１の動作に必要なプログラムおよびパラメータやデータベース等を記憶する記憶手段１３とを有して構成される。入出力手段１２としては、たとえば、入力のためにキーボードやマウス等が用いられ、出力のためにディスプレイ装置等が用いられる。
【００２８】
図３は、図１に示したパソコン３の構成を示すブロック図である。
【００２９】
図１に示したパソコン３および４は、本実施の形態に関わる基本構成は同様であるので、ここでは代表してパソコン３について説明する。
【００３０】
パソコン３は、図１に示したネットワーク５とのインタフェースであるネットワーク接続手段３４と、パソコン３全体の動作を制御するＣＰＵやＭＰＵなどの制御手段３１と、操作員がパソコン３に対する操作、指示等を入力したり、パソコン３が操作員に対して様々な情報を表示したり出力する入出力手段３２と、パソコン３の動作に必要なプログラムおよびパラメータ等を記憶する記憶手段３３とを有して構成される。入出力手段３２としては、たとえば、入力のためにキーボードやマウス等が用いられ、出力のためにディスプレイ装置等が用いられる。
【００３１】
次に、本実施の形態の動作について説明する。
【００３２】
本実施の形態の帳票出力システムは、帳票出力するデータをサーバーコンピュータ１の記憶手段１３に設けたデータベースに予め記憶しておき、操作員がパソコン３の入出力手段を用いて、各種帳票の作成、出力指示を行うものであり、帳票出力を非同期で行うためのアプリケーションプログラムをサーバーコンピュータ１の制御手段１１やパソコン３の制御手段３１等において起動させて実現される。
【００３３】
図４は、図１に示した帳票出力システムのアプリケーションプログラムの構成を示すソフトウェア構成図である。
【００３４】
図４の最左欄では、たとえばパソコン３の入出力手段３２によって操作員から入力される内容や、入出力手段３２に表示する画面出力、プリンタ２で印刷する印刷出力、サーバーコンピュータ１の記憶手段１３にファイル作成するテキストファイル出力を示しており、図４の中央欄では、サーバーコンピュータ１の制御手段１１で実行される、本実施の形態による非同期印刷処理の各種処理プログラムを示しており、図４の最右欄では、サーバーコンピュータ１の制御手段１１が制御手段１３に記憶し、参照する各種データを示している。
【００３５】
なお、以下の説明では非同期印刷処理としているが、これは、操作員の入力と非同期で印刷を実行するものに限らず、たとえば帳票印刷の代わりにその帳票の内容を非同期で画面表示するものであってもよいし、その帳票の内容をテキストファイルにして記憶手段１３や記憶手段３３に記憶するようなものであってもかまわない。
【００３６】
図４の説明に戻り、この図４の最右欄に示すサーバーコンピュータ１の制御手段１３に記憶する各種データは、帳票の元データ（たとえば会社の会計業務における会計データ等）と同様にデータベースに蓄積しておくのが望ましい。このようにしておけば、後の参照等をＳＱＬ文（ＳＱＬとはＳｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅの略であり、「構造化問合せ言語」という意味である。ＳＱＬ文は、データベースにおいて表の作成・変更・削除などを行うデータ定義命令（ＣＲＥＡＴＥ、ＡＬＴＥＲ、ＤＲＯＰ、ＧＲＡＮＴなど）や、行の取り出し、追加、更新、削除を行うデータ操作命令（ＳＥＬＥＣＴ、ＩＮＳＥＲＴ、ＵＰＤＡＴＥ、ＤＥＬＥＴＥ）等から成る。）によって容易に行うことができるからである。
【００３７】
図４の中央欄に示す帳票形式定義処理では、制御手段１１では、操作員が出力したい帳票の形式（フォーマット（帳票出力すべき項目の設定））を、操作員が入力するための出力レイアウト定義画面を入出力手段３２に表示して操作員による入力を促す。
【００３８】
なお、制御手段１１と制御手段３２との間でのデータの受渡しは、ネットワーク接続手段１４、ネットワーク５およびネットワーク接続手段３４を介して行われ、入出力手段３２では制御手段３２による制御の下、制御手段１１からのデータの表示や、制御手段１１に渡すデータの入力等を行う。これは、以下の各処理において同様である。
【００３９】
制御手段１１で動作する帳票形式定義処理では、入出力手段３２によって操作員から入力された設定（帳票のレイアウト）を、記憶手段１３の帳票定義データ表に帳票定義として格納しておく。この帳票定義データ表では、各帳票定義ごとにユニークな帳票ＩＤという項目を設けておく。
【００４０】
図４の中央欄に示すように、本実施の形態の非同期印刷処理は、操作員入力に基づいてＳＱＬ文を作成するＳＱＬ文作成部と、ＳＱＬ文に基づく帳票の作成および印刷実行のスケジューリング管理、制御を行う作成制御部と、実際にＳＱＬ文に基づく帳票の作成および印刷実行を行う帳票作成部とを有して構成される。
【００４１】
ここで、非同期印刷処理の各部についてさらに詳しく具体的に説明する。
【００４２】
１．  ＳＱＬ文作成部
操作員が、作成する帳票で指定可能な条件（出力するレコードの指定、出力する時刻の指定等）を画面から入力すると、ＳＱＬ文作成部では、指定された条件に応じて実行可能なＳＱＬ文を作成し、図４の最右欄に示す帳票作成用ＳＱＬ文表に処理連番という操作員の入力ごとにユニークな項目をキーとしてそのＳＱＬ文を格納するとともに、操作員が帳票出力する形式を選択し、その形式の帳票定義データ表における帳票ＩＤをやはり帳票作成用ＳＱＬ文表に格納し、さらに、図４の最右欄に示す帳票作成実行予定表に、同一の処理連番をキーとして、帳票出力予定日時、出力装置の指定などの情報を格納する。なお、帳票作成用ＳＱＬ文表では、実行可能なＳＱＬ文を格納するために、ＳＱＬ文の長さを考慮し、１つの実行可能なＳＱＬ文を分割して複数行で格納するようにしてもよい。
【００４３】
２．  作成制御部
作成制御部は、ＳＱＬ文作成部にて登録された帳票作成実行予定表の情報に基づいて帳票作成部を実行する自動運転処理、および操作員からの指示で即座に帳票作成部を実行する随時処理を有する。
【００４４】
通常は、自動運転処理を実行し、この自動運転処理では、帳票作成実行予定表内に登録されているデータである帳票作成実行日時の到来を定期的に監視し、この日時の到来とともに帳票作成部を起動し、実行する。
【００４５】
また、操作員は、パソコン３の入出力手段３２を操作することによって、帳票作成実行予定表内に登録されているデータの、削除、複写、印刷開始日時の変更、帳票作成部の即時起動、実行（上記の随時処理）、また、帳票作成時に実行するＳＱＬ文の内容確認、そのＳＱＬ文のクリップボード（Ｗｉｎｄｏｗｓ（登録商標）等のパソコンで動作するＯＳにおいて提供される領域であり、ＯＳ上で範囲選択した上で「コピー」や「切り取り」を行うとその選択した範囲の文字列等がクリップボードに格納される）へのコピー等を行うことが可能である。このクリップボードへのコピー機能を利用すれば、たとえば、市販のデータベースツールを用いてそのＳＱＬ文の実行結果を確認することができ、保守、確認等のために大変有効である。
【００４６】
３．  帳票作成部
帳票作成部は、上記作成制御部によって起動される処理であり、起動時のパラメータとして処理連番の値を受け取る。また、帳票作成部は、この処理連番の値をキーにして、帳票作成用ＳＱＬ文表から実行すべき帳票ＩＤとＳＱＬ文を取得し、さらに、この取得した帳票ＩＤをキーにして、帳票定義データ表から帳票定義を取得し、これによって帳票レイアウトを決定した上で、先に取得したＳＱＬ文を実行して伝票データ（会計データ等）から帳票に記載するデータを取得し、帳票レイアウトにしたがってこのデータを記載した帳票を生成し、これを、予め操作員によって指定された方法（画面出力、テキストファイル出力、印刷出力等）で出力する。
【実施例】
【００４７】
次に、本発明の具体的な実施例について説明する。
【００４８】
なお、本実施例の帳票出力システムは、図１〜図３に示した構成を有するものとし、これらの図も参照しながら説明する。また、図４の帳票定義データ表も利用する。
【００４９】
また、本実施例では、データベースシステムとして「ＭＳ  ＳＱＬＳｅｒｖｅｒ」を用いるものとする。
【００５０】
図５は、本実施例の帳票出力システムにおいて、サーバーコンピュータ１の記憶手段１３のデータベースに記憶される帳票作成条件表のデータ構造の一例を示す図である。
【００５１】
また、図６は、本実施例の帳票出力システムにおいて、サーバーコンピュータ１の記憶手段１３のデータベースに記憶される帳票作成用ＳＱＬ文表のデータ構造の一例を示す図である。
【００５２】
さらに、図７は、本実施例の帳票出力システムにおいて、サーバーコンピュータ１の記憶手段１３のデータベースに記憶される帳票作成処理実行履歴表のデータ構造の一例を示す図である。
【００５３】
なお、図５、図６および図７において、「ＰＫ」とあるのは、「ＰＲＩＭＡＲＹ  ＫＥＹ（主キー）」の略である。この「ＰＲＩＭＡＲＹ  ＫＥＹ（主キー）」は、テーブル（表）内のすべての行（レコード）を一意に識別する１つの列または列の集合である。
【００５４】
また、本実施例で用いる各データのデータ型は、データベース「ＭＳ  ＳＱＬＳｅｒｖｅｒ」で用いられるものであり、各データ型についての説明を以下に示す。
［ｖａｒｃｈａｒ（ｎ）］：ｎバイトの長さの可変長のＵＮＩＣＯＤＥではない文字型データである。ｎに指定できる値の範囲は、１〜８，０００であり、記憶領域のサイズはｎバイトではなく、実際に入力されたデータの長さ（バイト単位）である。入力データの長さは０文字でもかまわない。
［ｃｈａｒ（ｎ）］：固定長の文字型データである。ｎバイトの記憶領域を消費する。
［ｄｅｃｉｍａｌ］：固定長の有効桁数と小数点部桁数を持つ数値型である。図５〜図７においてはサイズを１８としているので、１８桁の数値を格納しようとしている。
［ｉｎｔ］、［ｂｉｇｉｎｔ］、［ｓｍａｌｌｉｎｔ］、および［ｔｉｎｙｉｎｔ］：整数データを使用する実数型である。
［ｉｎｔ］：−２＾３１（演算子＾は累乗を示す。すなわち−２＾３１は−２の３１乗である。）（−２，１４７，４８３，６４８）から２＾３１−１（２，１４７，４８３，６４７）までの整数を格納するデータ型である。格納サイズは４バイトであり。ｉｎｔのＳＱＬ−９２シノニムはｉｎｔｅｇｅｒである。
［ｂｉｇｉｎｔ］：−２＾６３（−９２２３３７２０３６８５４７７５８０８）から２＾６３−１（９２２３３７２０３６８５４７７５８０７）までの整数を格納するデータ型である。格納サイズは８バイトである。
［ｓｍａｌｌｉｎｔ］：−２＾１５（−３２，７６８）から２＾１５−１（３２，７６７）までの整数データを格納するデータ型である。格納サイズは２バイトである。
［ｔｉｎｙｉｎｔ］：０から２５５までの整数データを格納するデータ型である。記憶領域のサイズは１バイトである。
［ｄａｔｅｔｉｍｅ］：日付と時刻を表すデータ型である。
【００５５】
次に、図８〜図１４のフローチャートを参照しながら、本実施例の動作について説明する。
【００５６】
図８は、本実施例の帳票出力システムにおける作表条件を入力する処理のフローチャートを示す図である。
【００５７】
この図８に示す作表条件入力処理は、図４の「ＳＱＬ文作成部」に相当する。
【００５８】
まず、初期処理（Ａ−１）では、操作員がパソコン３の入出力手段３２を用いて、自身に予め与えられてたとえばサーバーコンピュータ１の記憶手段１３に登録してある操作員ＩＤを入力し、これをサーバーコンピュータ１の制御手段１１が受け取って認識したり、印刷が指示されたときにデフォルトとして使用するプリンタに関する情報を制御手段１１が記憶手段１３から読み出したりなどの処理を行う。
【００５９】
続いて操作員は、パソコン３の入出力手段３２を用いて、帳票出力したいデータの抽出条件を入力する（Ａ−２）。これが、データベースに蓄積されたデータのうち帳票出力すべきデータを操作者が指定する帳票データ指定手段である。たとえば、会社の取引先に関する帳票を出力する際には、出力したい取引先の取引先コードの範囲を最小値と最大値とを入力することによって指定し、これを抽出条件とする。抽出条件が複数ある場合にはすべての抽出条件を入力完了するまで処理を繰り返す（Ａ−３）。また、このステップ（Ａ−２）では、図５に示した帳票作成条件表の再発行区分の項目に設定すべき情報も操作員が入力する。帳票出力のためのデータには一度帳票出力したことを示す「発行済みマーク」の項目が設けられており、帳票作成条件表の再発行区分の項目は、この「発行済みマーク」が発行済みではないデータを抽出する（０：通常）、または「発行済みマーク」が発行済みであるデータを抽出する（１：再発行）を示すものである。このステップ（Ａ−２）で入力された情報はサーバーコンピュータ１の制御手段１１に対して引き渡される。
【００６０】
さらに操作員は、パソコン３の入出力手段３２を用いて、帳票の出力方法を指定、入力する（Ａ−４）。出力方法の種類としては、たとえばプリンタ２によって印刷する「プリントアウト」、たとえば入出力手段３２の画面に表示する「プレビュー」、記憶手段１３や記憶手段３３に対してテキストファイル形式で出力する「テキストファイル出力」等が挙げられる。また、このステップ（Ａ−４）では、図５に示した帳票作成条件表の発行済区分の項目に設定すべき情報も操作員が入力する。この発行済区分の項目は、帳票を作成した際に、そのデータの上記「発行済みマーク」を発行済みとしないか（０：発行済みにしない）、それとも発行済みとするか（１：発行済みにする）を示すものである。このステップ（Ａ−４）で入力された情報もサーバーコンピュータ１の制御手段１１に対して引き渡される。
【００６１】
ステップ（Ａ−５）では、制御手段１１が、ステップ（Ａ−４）で指定された出力方法が「プレビュー」であるか否かを判断し（制御手段３１が判断するものであってもかまわない）、「プレビュー」以外である場合には、出力処理を行う日時（作表実行予定日時）を、操作員がパソコン３の入出力手段３２を用いて入力する（Ａ−６）。これが、帳票データ指定手段によって指定された帳票データの出力を実行する日時を操作者が指定する帳票出力日時指定手段である。この作表実行予定日時の情報もサーバーコンピュータ１の制御手段１１に対して引き渡される。
【００６２】
続いて、サーバーコンピュータ１の制御手段１１では、今まで操作員から入力された各情報に基づいて、帳票を作成するためのデータを抽出するＳＱＬ文を生成する（Ａ−７）。
【００６３】
次に、ステップ（Ａ−８）の帳票作成条件表書込では、サーバーコンピュータ１の記憶手段１３に設けたデータベースにおける帳票作成条件表（図５参照）に、ステップ（Ａ−１）、ステップ（Ａ−２）、ステップ（Ａ−４）、ステップ（Ａ−６）で入力された各情報を書き込む。
【００６４】
たとえば、帳票作成条件表の「作表モード」の項目には、ステップ（Ａ−４）で入力された帳票の出力方法が設定され、帳票作成条件表の「再発行区分」の項目には、ステップ（Ａ−２）で入力された情報が設定され、帳票作成条件表の「発行済区分」の項目には、ステップ（Ａ−４）で入力された情報が設定される。
【００６５】
たとえば「仕訳伝票」のような帳票の場合、重複して印字されると不都合な場合がある。そのような帳票の場合、データの抽出時点で元データに対して「発行済みマーク」を付加しておく。そして、「再発行区分」で０：通常が指定された場合には「発行済みマーク」が付いているデータは読み出さないようにＳＱＬ文を作成する。一方、「再発行区分」で１：再発行が指定された場合には逆に「発行済みマーク」が付いているデータのみを読み出すようにＳＱＬ文を作成する。
【００６６】
また、「発行済区分」について説明を加える。たとえば、上記のように、一度発行すなわち帳票出力をした場合に「発行済みマーク」を付加する仕様の帳票があるものとしたとき、プリンタで印刷するという帳票出力を実行したときには必ず「発行済みマーク」を付加したいが、画面表示（プレビュー）という帳票出力をしたときには「発行済みマーク」を付加するか、付加しないかを操作員が選択できるようにしたい場合がありうる。「発行済区分」ではこの選択を設定する。
【００６７】
また、ステップ（Ａ−８）では、帳票作成条件表の「レコードマーク」の項目にはそのレコードが今回追加されたものか、更新されたものか、削除されたものかを示す情報が設定される。この「レコードマーク」はステップ（Ａ−８）の処理では「追加」となる。「レコードマーク」は、後に図９に示す「状態照会処理」で、そのレコードの内容変更を行ったときには「１：更新」に書き換えられ、そのレコードの削除を行ったときには「２：削除」に書き換えられる。「２：削除」の場合には、一般の操作者にはそのレコードが見えないように動作するため削除されたように思われるが、保守員等の特殊な操作者が操作する場合には、「レコードマーク」に「２：削除」が設定されたレコードとして見ることができるようにすることが可能である。
【００６８】
図８の説明に戻り、ステップ（Ａ−９）の帳票作成用ＳＱＬ文表書込では、サーバーコンピュータ１の記憶手段１３に設けたデータベースにおける帳票作成用ＳＱＬ文表（図６参照）の作表用ＳＱＬ文の項目に、ステップ（Ａ−７）で作成したＳＱＬ文を書き込む。これが、操作者の入力に基づいて、データベースに蓄積されたデータから帳票出力すべきデータを抽出するためのＳＱＬ文を作成し、このＳＱＬ文を記憶するＳＱＬ文記憶手段である。
【００６９】
ところで、ＳＱＬ文の長さによっては、項目「作表用ＳＱＬ文」のサイズ（本実施例では図６に示すようにｖａｒｃｈａｒで７０００文字）を越えてしまうことがありうる。そこで、１つのＳＱＬ文を分割し、「作表条件連番」が同じで「枝番」を異ならせたレコードの「作表用ＳＱＬ文」に、分割したＳＱＬ文のそれぞれを「枝番」の順番に格納するようにする。
【００７０】
このようにして、ＳＱＬ文のすべてを「作表用ＳＱＬ文」に格納完了したならば（Ａ−１０）処理を終了する。なお、ＳＱＬ文の格納方法は、１つの長い分を分割して格納するものに限られず、「作表条件連番」が同じで複数のＳＱＬ文を格納する際に「枝番」を異ならせて格納するようにしてもかまわない。
【００７１】
図９は、本実施例の帳票出力システムにおける作表の状態を照会する処理のフローチャートを示す図である。
【００７２】
この図９に示す状態照会処理は、図４の「作成制御部」および「帳票作成部」に相当する。
【００７３】
まず、初期処理（Ｂ−１）では、本実施例の帳票出力システムの状態照会処理の動作パラメータなど動作制御情報の取得（たとえば制御手段１１が記憶手段１３から取得）や、タイマーイベントセットなどを行う。
【００７４】
次に、制御手段１１（または制御手段３１）は、後に図１０に示す「最新情報の画面表示処理」を実行する（Ｂ−２）。この「最新情報の画面表示処理」では、詳しくは後述するが、記憶手段１３のデータベース中の「帳票作成条件表」に設定されている情報を入出力手段３２に表示して操作員に対して提示する。
【００７５】
その後、制御手段１１（または制御手段３１）は、入出力手段３２を用いた操作員からの操作入力があったかを監視し（Ｂ−３）、操作入力があった場合には、その操作入力が印刷の指示であるかを判断し（Ｂ−４）、操作入力が印刷の指示である場合には、後に図１１に示す「印刷処理起動」を実行し（Ｂ−５）、その操作入力が削除や変更の指示であるかを判断し（Ｂ−６）、操作入力が削除や変更の指示である場合には、後に図１３に示す「削除・変更処理」を実行し（Ｂ−７）、その操作入力がＳＱＬ文の照会であるかを判断し（Ｂ−８）、操作入力がＳＱＬ文の照会である場合には、後に図１４に示す「ＳＱＬ文照会処理」を実行し（Ｂ−９）、その操作入力が終了の指示であるかを判断し（Ｂ−１０）、操作入力が終了の指示である場合には処理を終了し、そうでなければ、ステップ（Ｂ−２）に戻って処理を繰り返す。
【００７６】
また、ステップ（Ｂ−３）において、入出力手段３２を用いた操作員からの操作入力がない場合には、無操作の時間が予め定めた閾値を越えたかどうかを判断し（Ｂ−１１）、越えていなければステップ（Ｂ−３）に戻って操作者による操作入力を検出するようにし、無操作の時間が予め定めた閾値を越えた場合には、後に図１０に示す「最新情報の画面表示処理」を実行し（Ｂ−１２）、表示が最後まで済んだかを判断し（Ｂ−１３）、最後まで済んだ場合にはステップ（Ｂ−３）に戻って操作者による操作入力を検出するようにし、ステップ（Ｂ−１３）において最後まで済んでいない場合には、図５に示した帳票作成条件表の作表実行予定日時の項目に設定されている印刷時刻が到来したかどうかを判断し（Ｂ−１４）、印刷時刻が到来していなければ、ステップ（Ｂ−１３）に戻って処理を繰り返す。
【００７７】
ステップ（Ｂ−１４）において印刷時刻が到来したならば、後に図１１に示す「印刷処理起動」を実行し（Ｂ−１５）、後に図１０に示す「最新情報の画面表示処理」を実行し（Ｂ−１６）、その後、ステップ（Ｂ−１３）に戻って処理を繰り返す。これが、帳票データ指定手段によって指定された帳票データの出力を帳票出力日時指定手段によって指定されたときに実行する帳票出力実行手段である。
【００７８】
図１０は、本実施例の帳票出力システムにおける最新情報を画面表示する最新情報の画面表示処理のフローチャートを示す図である。
【００７９】
まず、ステップ（Ｃ−１）では画面表示データを取得する。
【００８０】
この処理の例を以下に示す。なお、ここでは、図５に示した帳票作成条件表と図７に示した帳票作成処理実行履歴表とを項目「作表条件連番」にてＯＵＴＥＲ ＪＯＩＮ（外部結合）している。表示データを取得するＳＱＬ文の例を以下に示す。
【００８１】
表示データ取得ＳＱＬ文の例
１．未印刷（印刷未起動）のデータを表示する例
--帳票作成処理実行履歴表に作表開始レコードが存在しないものを取得
SELECT 作表実行予定日時,作表条件連番,操作員ID,帳票ID --,後省略,,
FROM 帳票作成条件表 TA
WHERE NOT EXISTS
(SELECT * FROM 帳票作成処理実行履歴表 TB
WHERE TA.作表条件連番 = TB.作表条件連番 AND TB.[レコード区分] = 0 )
ORDER BY 作表実行予定日時
２．実行履歴照会などで印刷処理済みのレコードも含む場合
SELECT TA.作表条件連番,TA.操作員ID,TA.帳票ID,TA.作表実行予定日時 --,後省略,,
TB.作表開始日時 --(帳票作成処理実行履歴表より作表指示日時を取得)
,TC.作表終了日時 --(帳票作成処理実行履歴表より作表処理終了日時を取得)
FROM 帳票作成条件表 TA
LEFT OUTER JOIN ( SELECT 作表条件連番,作表開始終了日時 作表開始日時 
FROM 帳票作成処理実行履歴表
WHERE [レコード区分] = 0 ) TB -- =0は開始レコード
ON TA.作表条件連番 = TB.作表条件連番
LEFT OUTER JOIN (SELECT 作表条件連番,作表開始終了日時 作表終了日時 
FROM 帳票作成処理実行履歴表
WHERE [レコード区分] = 1 ) TC -- =1は終了レコード
ON TA.作表条件連番 = TC.作表条件連番
--この結果
作表開始日時がNULLは作表未処理状態
作表開始日時がNOT NULLだが  作表終了日時がNULL は作表処理中
作表開始日時、作表終了日時ともにがNOT NULLであれば作表処理完了状態となる。
【００８２】
ステップ（Ｃ−２）では、ステップ（Ｃ−１）で得たデータをたとえば入出力手段３２において画面表示する。
【００８３】
図１１は、本実施例の帳票出力システムにおける印刷処理の起動を行う印刷処理起動のフローチャートを示す図である。
【００８４】
この印刷処理起動は、起動時のパラメータとして、「作表条件連番」、「帳票ＩＤ」および「作表モード」を受け取って実行される。
【００８５】
まず、ステップ（Ｄ−１）では、帳票作成用ＳＱＬ文表の中から、パラメータとして与えられた「作表条件連番」が一致する「作表用ＳＱＬ文」を「枝番」の順に取得する。同一の「作表条件連番」で複数の「枝番」が存在する場合には、取得した「作表用ＳＱＬ文」を「枝番」の順に結合して、長文のＳＱＬ文を得る。
【００８６】
その後、後に図１２に示す「帳票作成処理」を実行する（Ｄ−２）。このときステップ（Ｄ−１）で得たＳＱＬ文をパラメータとして「帳票作成処理」に引き渡す。その後、処理を終了するが、このとき、図１２のステップ（Ｅ−２）の「印刷・プレビュー処理」の終了を待たない、突き放し実行とすることができる。
【００８７】
図１２は、本実施例の帳票出力システムにおける帳票作成を行う帳票作成処理のフローチャートを示す図である。
【００８８】
この帳票作成処理は、起動時のパラメータとして、「作表条件連番」、「帳票ＩＤ」、「作表モード」および「ＳＱＬ文」を受け取って実行される。
【００８９】
まず、ステップ（Ｅ−１）では、図７に示した帳票作成実行履歴表に、作表の開始を示すレコードを作成する。
【００９０】
その後、ステップ（Ｅ−２）の印刷・プレビュー処理では、まず、パラメータとして受け取った「帳票ＩＤ」のレイアウト情報を帳票定義データ表から取得する。また、パラメータとして受け取った「ＳＱＬ文」を実行し、伝票データ（会計データ等）から出力すべきデータを取得する。その後、帳票定義データ表から取得したレイアウト情報に基づいて伝票データ（会計データ等）から取得したデータを成形し、出力すべき帳票を得る。
【００９１】
そして、パラメータとして受け取った「作表モード」にしたがって、帳票印刷、画面表示、テキストファイル出力などの帳票出力を行う。
【００９２】
このように、印刷・プレビュー処理では、事前に帳票データに帳票レイアウト情報や帳票ＩＤをキーとして格納しており、帳票レイアウト情報には帳票タイトルや見出し等の定数項目と、印刷データの印字位置や文字の属性、伝票内の数値の合計の算出方法、改ページ、改行の制御などが記述されている。
【００９３】
最後に、ステップ（Ｅ−３）では、図７に示した帳票作成実行履歴表に、作表の終了を示すレコードを作成する。このとき、帳票作成実行履歴表の項目「通知メッセージ」には、印刷、プレビュー、テキストファイル出力等の実行結果を格納する。たとえば「正常に終了しました。」、「異常終了。指定のプリンタが存在しません。」、「異常終了。ＳＱＬ文の実行時にタイムアウトが発生しました。」などのような文章を格納する。
【００９４】
図１３は、本実施例の帳票出力システムにおける帳票作成指示のレコードの削除や変更を行う削除・変更処理のフローチャートを示す図である。
【００９５】
この削除・変更処理は、操作員からの入力に基づいて、図５に示した帳票作成条件表の所定のレコードの各項目の値の変更を行うとともに項目「レコードマーク」に「１：更新」をセットしたり、帳票作成条件表の所定のレコードを削除するものとしてそのレコードの項目「レコードマーク」に「２：削除」をセットしたりする（Ｆ−１）。
【００９６】
図１４は、本実施例の帳票出力システムにおけるＳＱＬ文を照会するＳＱＬ文照会処理のフローチャートを示す図である。
【００９７】
このＳＱＬ文照会処理は、起動時のパラメータとして、「作表条件連番」を受け取って実行される。
【００９８】
まず、図６に示した帳票作成用ＳＱＬ文表の中から、パラメータとして与えられた「作表条件連番」が一致する「作表用ＳＱＬ文」を「枝番」の順に取得する。同一の「作表条件連番」で複数の「枝番」が存在する場合には、取得した「作表用ＳＱＬ文」を「枝番」の順に結合して、長文のＳＱＬ文を得る（Ｇ−１）。
【００９９】
その後、ステップ（Ｇ−１）で得たＳＱＬ文を入出力手段３２において画面表示し、操作員に対して提示する（Ｇ−２）。
【０１００】
操作員は、表示されたＳＱＬ文をクリップボードにコピーすることもでき、これによって、そのＳＱＬ文を他のアプリケーションプログラムにおいても参照することができ、ＳＱＬ文の実行確認、検証を行うこともできる（Ｇ−３、Ｇ−４）。
【図面の簡単な説明】
【０１０１】
【図１】本発明による帳票出力システムの一実施の形態の構成を示すブロック図である。
【図２】図１に示したサーバーコンピュータの構成を示すブロック図である。
【図３】図１に示したパソコンの構成を示すブロック図である。
【図４】図１に示した帳票出力システムのアプリケーションプログラムの構成を示すソフトウェア構成図である。
【図５】本実施例の帳票出力システムにおいて、サーバーコンピュータの記憶手段のデータベースに記憶される帳票作成条件表のデータ構造の一例を示す図である。
【図６】本実施例の帳票出力システムにおいて、サーバーコンピュータの記憶手段のデータベースに記憶される帳票作成用ＳＱＬ文表のデータ構造の一例を示す図である。
【図７】本実施例の帳票出力システムにおいて、サーバーコンピュータの記憶手段のデータベースに記憶される帳票作成処理実行履歴表のデータ構造の一例を示す図である。
【図８】本実施例の帳票出力システムにおける作表条件を入力する処理のフローチャートを示す図である。
【図９】本実施例の帳票出力システムにおける作表の状態を照会する処理のフローチャートを示す図である。
【図１０】本実施例の帳票出力システムにおける最新情報を画面表示する最新情報の画面表示処理のフローチャートを示す図である。
【図１１】本実施例の帳票出力システムにおける印刷処理の起動を行う印刷処理起動のフローチャートを示す図である。
【図１２】本実施例の帳票出力システムにおける帳票作成を行う帳票作成処理のフローチャートを示す図である。
【図１３】本実施例の帳票出力システムにおける帳票作成指示のレコードの削除や変更を行う削除・変更処理のフローチャートを示す図である。
【図１４】本実施例の帳票出力システムにおけるＳＱＬ文を照会するＳＱＬ文照会処理のフローチャートを示す図である。
【符号の説明】
【０１０２】
１  サーバーコンピュータ
２  プリンタ
３  パソコン
４  パソコン
５  ネットワーク
１１  制御手段
１２  入出力手段
１３  記憶手段
１４  ネットワーク接続手段
３１  制御手段
３２  入出力手段
３３  記憶手段
３４  ネットワーク接続手段
【図１】
2005149161.tif 000003
【図２】
2005149161.tif 000004
【図３】
2005149161.tif 000005
【図４】
2005149161.tif 000006
【図５】
2005149161.tif 000007
【図６】
2005149161.tif 000008
【図７】
2005149161.tif 000009
【図８】
2005149161.tif 000010
【図９】
2005149161.tif 000011
【図１０】
2005149161.tif 000012
【図１１】
2005149161.tif 000013
【図１２】
2005149161.tif 000014
【図１３】
2005149161.tif 000015
【図１４】
2005149161.tif 000016