(57)【要約】【課題】  データの受信順序で夫々に対応する出力データを出力することを可能とするとともに、出力データの生成処理の多重度も維持し、出力データ生成に係る処理効率の低下も回避可能とする。【解決手段】  帳票サーバ１２は、ＬＡＮを介してユーザ端末１１から帳票データファイルを受信すると、受信した帳票データファイル毎に帳票プレビューファイル１７を生成してプリントサーバ１３に送信し、データの出力順序を管理するジョブ管理部１２４において管理されるデータの出力順序に従って、帳票プレビューファイル１７の出力依頼をプリントサーバ１３に対して行う。【選択図】  図１
2005190193.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して外部装置からデータを受信するデータ受信手段と、
前記データ受信手段において受信したデータの出力順序を管理するジョブ管理手段と、
前記データ受信手段において受信したデータ毎に出力データを生成する出力データ生成手段と、
前記出力データ生成手段により生成された出力データを出力装置に対して送信する出力データ送信手段と、
前記ジョブ管理手段において管理されるデータの出力順序に従って、前記出力装置において保存される出力データの出力依頼を前記出力装置に対して行う出力依頼手段とを有することを特徴とする情報処理装置。
【請求項２】
前記ジョブ管理手段は、前記データ受信手段におけるデータの受信順序に応じてデータの出力順序を管理することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ受信手段におけるデータの受信状況を監視する監視手段を更に有し、
前記ジョブ管理手段は、前記データ受信手段におけるデータの受信が前記監視手段より通知されると、その通知順序に応じたジョブ番号を当該データについて付与し、前記ジョブ番号に基づいてデータの出力順序を管理することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記データ受信手段は、外部装置からデータとともに当該データの出力順序を示す情報を含む制御データを受信し、前記ジョブ管理手段は、前記制御データに含まれる出力順序を示す情報に基づいてデータの出力順序を管理することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記出力順序を示す情報は、データのグループ情報を含み、前記ジョブ管理手段は、前記グループ情報に示されるグループ毎にデータの出力順序を管理することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ジョブ管理手段は、出力フォームに応じてデータの出力順序を管理することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
少なくとも情報処理装置、外部装置及び出力装置が通信ネットワークを介して接続される情報処理システムであって、
前記情報処理装置は、
前記通信ネットワークを介して前記外部装置からデータを受信するデータ受信手段と、
前記データ受信手段において受信したデータの出力順序を管理するジョブ管理手段と、
前記データ受信手段において受信したデータ毎に出力データを生成する出力データ生成手段と、
前記出力データ生成手段により生成された出力データを前記出力装置に対して送信する出力データ送信手段と、
前記ジョブ管理手段において管理されるデータの出力順序に従って、前記出力装置において保存される出力データの出力依頼を前記出力装置に対して行う出力依頼手段とを有することを特徴とする情報処理システム。
【請求項８】
情報処理装置による情報処理方法であって、
通信ネットワークを介して外部装置からデータを受信するデータ受信ステップと、
前記データ受信ステップにおいて受信したデータ毎に出力データを生成する出力データ生成ステップと、
前記出力データ生成ステップにより生成された出力データを出力装置に対して送信する出力データ送信ステップと、
データの出力順序を管理するジョブ管理手段において管理されるデータの出力順序に従って、前記出力装置において保存される出力データの出力依頼を前記出力装置に対して行う出力依頼ステップとを含むことを特徴とする情報処理方法。
【請求項９】
請求項８に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、通信ネットワークを介してユーザ端末から受信した帳票データを管理し、そして印刷装置において出力させるための情報処理装置、情報処理方法、プログラム及び記録媒体に関するものである。
【背景技術】
【０００２】
通常、帳票を印刷する場合、オペレータは、ユーザ端末から帳票サーバに対して帳票データを入力することにより行う。従来、帳票サーバは、ユーザ端末から入力される帳票データを監視し、帳票データの取得が完了したら帳票の生成処理を行い、生成処理完了後にプリントサーバに対して印刷指示を行っていた。
【０００３】
ここで、帳票サーバにおける帳票生成処理は、処理効率の向上を図るため並列処理する仕組となっているため、並列処理ができなくなるほど多数の帳票データが短時間で入力されない限り、帳票データが生成処理待ち状態となることはない。
【０００４】
そのため、同一又は複数のオペレータにより複数の帳票データがほぼ同時に入力されたとしても、帳票サーバにおいて帳票生成処理は並列して行われることになる。このような場合、処理が完了したものから順にプリントサーバに対して印刷指示が行われることとなるため、印刷順序は必ずしもオペレータが帳票データを入力した順序と一致するとは限らない。
【０００５】
なぜなら、帳票サーバに最初に入力した帳票データのファイルサイズが次に入力した帳票データのファイルサイズより大きい場合、大きいファイルサイズの帳票データは小さいファイルサイズの帳票データに比べて帳票生成処理に時間がかかってしまうため、プリントサーバに対しての印刷指示が後から入力された帳票データより遅くなることもあるからである。
【０００６】
しかし、オペレータの意図した範囲や、あるまとまった単位で帳票をプリンタから印刷する業務（例えば、請求書発行業務や納品書発行業務等）の場合、入力した帳票データの順番にプリンタから印刷されることが望まれる。なぜならば、入力した帳票データの数分の帳票が間違いなくプリンタから印刷されていることを指示内容と印刷結果を突き合わせて確認する必要があるからである。
【０００７】
しかし、上述したように帳票データのファイルサイズの大小によっては、帳票生成処理を実行する順序は保証されないため、突き合わせ作業に非常に手間がかかるという問題が発生している。
【０００８】
ところで、この要望を満たすためには帳票生成処理の多重度を１に設定し、同時には１つしか実行しないようにすればよいことは容易に思いつく。しかし、帳票生成処理を入力データの投入された順番に1件ごとに処理してしまうと、先に入力したファイルサイズが極端に大きかった場合、後に入力した帳票データはその処理を待ってから帳票生成処理を実行することになるため処理効率が非常に悪くなってしまう。なお、特許文献１において、複数の印刷ジョブを最適な順で処理する印刷装置を提供する技術が開示されている。
【０００９】
【特許文献１】特開平１０−６７１４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、これは印刷装置においてホストからの印刷データの転送が終了したジョブ又は中間コードの蓄積が完了したジョブの順に印刷をする手法を採ることにより最適な順で印刷処理を行う技術であって、ユーザ端末から帳票サーバに対して帳票データが入力された順序での印刷順序を保証するものではない。
【００１１】
そこで、本発明の目的は、データの受信順序で夫々に対応する出力データを出力することを可能とするとともに、出力データの生成処理の多重度も維持し、出力データ生成に係る処理効率の低下も回避可能な情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
斯かる目的を達成するために、本発明の情報処理装置は、通信ネットワークを介して外部装置からデータを受信するデータ受信手段と、前記データ受信手段において受信したデータの出力順序を管理するジョブ管理手段と、前記データ受信手段において受信したデータ毎に出力データを生成する出力データ生成手段と、前記出力データ生成手段により生成された出力データを出力装置に対して送信する出力データ送信手段と、前記ジョブ管理手段において管理されるデータの出力順序に従って、前記出力装置において保存される出力データの出力依頼を前記出力装置に対して行う出力依頼手段とを有することを特徴とする。
【００１３】
本発明の情報処理システムは、少なくとも情報処理装置、外部装置及び出力装置が通信ネットワークを介して接続される情報処理システムであって、前記情報処理装置は、前記通信ネットワークを介して前記外部装置からデータを受信するデータ受信手段と、前記データ受信手段において受信したデータの出力順序を管理するジョブ管理手段と、前記データ受信手段において受信したデータ毎に出力データを生成する出力データ生成手段と、前記出力データ生成手段により生成された出力データを前記出力装置に対して送信する出力データ送信手段と、前記ジョブ管理手段において管理されるデータの出力順序に従って、前記出力装置において保存される出力データの出力依頼を前記出力装置に対して行う出力依頼手段とを有することを特徴とする。
【００１４】
本発明の情報処理方法は、情報処理装置による情報処理方法であって、通信ネットワークを介して外部装置からデータを受信するデータ受信ステップと、前記データ受信ステップにおいて受信したデータ毎に出力データを生成する出力データ生成ステップと、前記出力データ生成ステップにより生成された出力データを出力装置に対して送信する出力データ送信ステップと、データの出力順序を管理するジョブ管理手段において管理されるデータの出力順序に従って、前記出力装置において保存される出力データの出力依頼を前記出力装置に対して行う出力依頼ステップとを含むことを特徴とする。
【００１５】
本発明のプログラムは、前記情報処理方法をコンピュータに実行させることを特徴とする。また、本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、各受信データにつきジョブ管理手段において出力順序を管理し、その管理内容に従って出力データの出力依頼を行うように構成したので、例えば、ジョブ管理手段がデータの受信順序に応じて出力順序を管理すれば、データの受信順序で夫々に対応する出力データを出力することが可能となる。またこの手法によれば、出力データの生成処理の多重度も維持することもできるので、出力データ生成の処理効率の低下も回避することが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１８】
以下に説明する本発明の一実施形態に係る帳票出力システムでは、特に、ユーザ端末におけるユーザアプリケーション（帳票アプリケーション）から入力される複数の帳票データを、帳票サーバにおいて監視し、その帳票データに基づいて帳票を生成した後、プリントサーバに帳票プレビューファイルを送信し、プリンタに出力する際、ユーザ端末におけるユーザアプリケーションから入力された順序を保証する。
【００１９】
また、ユーザ端末からの入力順序に関係なく、最終的な出力順だけを保証することもできる。この場合は、ユーザが指定した順番に出力させたり、予め設定されている順番で自動的に出力させたりすることができる。
【００２０】
＜第１の実施形態＞
先ず、本発明の第１の実施形態について説明する。
図１は、本実施形態に係る帳票出力システムの構成を示す図である。尚、図１のネットワーク上における各種サーバの接続構成は飽くまでも一例であり、用途や目的に応じて様々な構成を採り得ることは言うまでもない。
【００２１】
帳票サーバ１２は、ユーザ端末１１におけるユーザアプリケーション１１１から入力された帳票データファイル１５をＬＡＮ等のネットワークを通じて受信することにより、印刷ジョブを受け付け、要求管理部１２２に帳票作成依頼を要求する。
【００２２】
帳票生成部１２３は、帳票生成を並列に処理するための帳票生成プロセスを複数備え、要求管理部１２２は、帳票生成部１２３内の実行可能な帳票生成プロセスに対して帳票生成を依頼する。帳票生成部１２３は、当該要求に応じて帳票プレビューファイル１７を生成し、プリントサーバ１３に送信する。
【００２３】
プリントサーバ１３は、帳票サーバ１２で作成された帳票プレビューファイル１７をネットワークを介して受信する。さらに、プリントサーバ１３は、帳票サーバ１２内の印刷指示部１２５から帳票指示要求を受け取ると、その保存されている帳票プレビューファイル１８を出力するように、プリンタ１４に出力指示を行う。
【００２４】
次に、図１の帳票サーバ１２、プリントサーバ１３のハードウェア構成について、図２を用いて説明する。図２は、本実施形態に係る帳票サーバ１２又はプリントサーバ１３のハードウェア構成を示す図である。
【００２５】
帳票サーバ１２又はプリントサーバ１３は、ＣＰＵ２１、ＲＡＭ（メモリ）２２、ＲＯＭ２３、ハードディスクドライブ（ＨＤＤ）２４、記録媒体ドライブ２５、ネットワークインタフェースカード（ＮＩＣ）２９、ポインティングデバイス（Ｐ／Ｄ）２８、キーボード（Ｋ／Ｂ）２７、ビデオアダプタ２６を備え、これらがシステムバスを介して互いに接続されている。
【００２６】
ＣＰＵ２１は、オペレーションシステム（ＯＳ）のプログラムやアプリケーションプログラムに基づいて四則演算や比較演算等の各種の演算及びハードウェアの制御を行うものである。
【００２７】
ＲＡＭ２２は、ハードディスクドライブ（ＨＤＤ）２４、ＲＯＭ２３、他の記録媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、ＦＤ）等の記憶装置に記録されているＯＳやアプリケーションプログラム等を一時的に記憶するものであり、これらＲＡＭ２２に記憶されたプログラムはＣＰＵ２１の制御の下に実行される。
【００２８】
ＲＯＭ２３には、ＯＳと協働して外部記憶装置等への入出力を司るいわゆるＢＩＯＳ等が記憶される。ハードディスクドライブ（ＨＤＤ）２４には、ＯＳ、顧客担当手配方法を実行するためのプログラム等が記憶されている。
【００２９】
記録媒体ドライブ２５は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ等の記録媒体に記録されているアプリケーションプログラム等からのデータ読み取り等に用いる。
【００３０】
ネットワークインタフェースカード（ＮＩＣ）２９は、ＣＰＵ２１によって制御されるＯＳの通信プログラムと協働してネットワークを介した外部との通信を行う。
【００３１】
キーボード（Ｋ／Ｂ）２７やポインティングデバイス（Ｐ／Ｄ（例えばマウス））２８は、情報処理装置への指示を入力するために用いられる。ビデオアダプタ２６は、画像表示装置に表示する画像を形成するために用いられる。
【００３２】
図１における帳票サーバ１２のファイル監視部１２１、要求管理部１２２、帳票生成部１２３、ジョブ管理部１２４及び印刷指示部１２５、並びに、プリントサーバ１３の印刷データ作成処理部１３１及び保存処理部１３２は夫々、ＨＤＤ２３、ＲＯＭ２３、他の記録媒体等から必要に応じてプログラムがＲＡＭ２２にロードされ、ＣＰＵ２１によって実行される機能的構成である。また、帳票データファイル１５、帳票実行ファイル１６及び帳票プレビューファイル１７、１８は夫々、帳票サーバ１２又はプリントサーバ１３のＨＤＤ２４等の記録媒体に記録される。尚、この記録媒体は、帳票サーバ１２、プリントサーバ１３の外部に接続した構成としてもよい。
【００３３】
次に、出力順序を保証する帳票出力システムの基本的な処理フローについて、図３を用いて説明する。
上述したように、ユーザ端末１１、帳票サーバ１２及びプリントサーバ１３は、ＬＡＮ等のネットワークを介して接続されている。帳票サーバ１２は、ユーザ端末１１におけるユーザアプリケーション１１１から入力された帳票データファイル１５を監視し、それを受信すると帳票プレビューファイル１７を生成し、その生成結果をプリントサーバ１３に送信する。そして、帳票サーバ１２は受け付けたジョブを管理し、ユーザ端末１１からの入力順にプリントサーバ１３に対して帳票出力指示を行う。プリントサーバ１３はその要求を受け付けて、プリンタ１４に帳票を出力するよう指示を行う。その一例について、以下に説明する。
【００３４】
先ず、帳票サーバ１２は、ユーザアプリケーション１１１から送信される帳票データファイル１５を受信し、スプールディレクトリに保存する（図３中、（１））。尚、図３においては、スプールディレクトリを帳票サーバ１２の外部に示しているが、内部に備えた構成としてもよい。
【００３５】
ファイル監視部１２１は、スプールディレクトリを一定時間間隔で監視しており、帳票データファイルがスプールディレクトリに保存されると、そのファイルサイズを取得する（図３中、（２））。
【００３６】
ジョブ管理部１２４は、帳票データファイル１５がスプールディレクトリに保存されることによりファイル監視部１２１からジョブの受付通知があると（図３中（３））、スプールディレクトリに保存される各帳票データファイル１５についてジョブ番号を採番し、ジョブリストを作成する。
【００３７】
ユーザアプリケーション１１１からのファイル転送が完了したら、ファイル監視部１２１は、データディレクトリ（不図示）へ帳票データファイル１５を移動し、帳票生成の要求を要求管理部１２２に出す（図３中、（４））。
【００３８】
要求管理部１２２は、帳票生成部１２３の中から実行可能な帳票生成プロセスに処理を振り分ける（図３中、（５））。
【００３９】
帳票生成部１２３は、帳票実行ファイル１６と帳票データファイル１５より帳票プレビューファイル１７を作成する（図３中、（６））。続いて、帳票生成部１２３は、作成した帳票プレビューファイル１７をプリントサーバ１３に転送する（図３中、（７））。
【００４０】
プリントサーバ１３は、転送されてきた帳票プレビューファイル１８を保存処理部１３２によって保存する（図３中、（８））。
【００４１】
帳票サーバ１２のジョブ管理部１２４は、帳票生成部１２３からプリントサーバ１３に対して帳票プレビューファイル１７が転送されたことを受けて、ジョブリストのステータスを"印刷待ち"に更新する（図３中、（１２））。
【００４２】
ジョブ管理部１２４は、プリントサーバ１３からの通知に基づいて、ジョブリストの中から印刷する帳票データファイルを判断し、印刷データ作成処理部１３１に対して帳票出力を依頼する（図３中、（１０））。
【００４３】
印刷データ作成処理部１３１は、帳票サーバ１２からの出力指示に基づいて、該当する帳票プレビューファイル１８を入力ファイルとして（図３中、（１１））、プリンタ１４に対して帳票の出力指示を行い、出力完了を帳票サーバ１２のジョブ管理部１２４に通知する。ジョブ管理部１２４は出力完了結果をログに出力する（図３中、（１２））。
【００４４】
図４は、本実施形態におけるファイル監視部１２１の動作を示すフローチャートである。
ファイル監視部１２１は、スプールディレクトリに帳票データファイル１５が存在するかどうかを定期的（例えば、１０秒に１回）に監視する。もし、スプールディレクトリに帳票データファイル１５が存在していたならば、そのファイル名とファイルサイズを取得する（ステップ４０１）。なお、ここで取得したファイル名が図１７に示すスプール設定ファイルに存在していない場合にはエラーとする。
【００４５】
次に取得したファイル名とメモリに格納されているファイルリスト（図１５）の中のファイル名とを比較する（ステップ４０２）。もし、ファイル名が合致しない場合には、ファイル名とファイルサイズをメモリのファイルリストに新規追加する（ステップ４０３、４０４）とともに、図１６に示すジョブリストにも必要な情報（ジョブ番号、帳票データファイル名、ステータス等）を追加する（ステップ４０５、４０６）。
【００４６】
続いて、ファイル監視部１２１は一定間隔待った後（ステップ４１５）、スプールディレクトリの監視処理を繰り返す。
【００４７】
もし、ステップ４０３においてファイル名が合致した場合には、メモリに格納されているファイルリスト内のファイルサイズと、取得したファイルサイズを比較する（ステップ４０７）。ファイルサイズが等しい場合には、ファイル管理部１２１は帳票データファイル１５の転送が終了したとみなし、帳票データファイル１５をスプールディレクトリからデータディレクトリへ移動する（ステップ４０５、４０９）。
【００４８】
そして、ファイル監視部１２１はメモリから該当するファイルリストを削除する（ステップ４１０）。次に、帳票データファイル名をキーに図１７のスプール設定ファイルを検索し、合致したフォーム名をスプール設定ファイルから取得する（ステップ４１１）。
【００４９】
続いて、ファイル監視部１２１は、要求管理部１２２に帳票生成依頼を要求する（ステップ４１２）。その際、スプール情報データを要求管理部１２２に渡すが、ここでいうスプール情報データの内容は、帳票データファイル名、フォーム名である。最後に、ジョブリストのステータスを"受付"から"帳票作成依頼中"に更新する（ステップ４１３、４１４）。
【００５０】
図１５は、ファイル監視部１２１の処理動作を概念的に示した図である。
ファイル監視部１２１は、スプールディレクトリに存在する帳票データファイルのファイル名（nouhin20030826180201）と、メモリに格納されるファイルリスト内のファイル名とを比較したが、ここでは、ファイルリスト内に該当するファイル名が存在しなかった場合を想定している。よって、ファイル監視部１２１は、当該ファイル名とデータサイズをファイルリスト内に新規登録する。しかし、その１０秒後において、ファイル監視部１２１がスプールディレクトリから取得した当該帳票データファイルのデータサイズは2,048バイトから38,921バイトに変わっているので、それに伴ってファイルリスト内のサイズ項目も2,048バイトから38,921バイトに更新する。
【００５１】
更に１０秒後にファイル監視部１２１がスプールディレクトリから当該帳票データファイルのデータサイズを取得したところ、取得したデータサイズ（38,921バイト）とファイルリスト内のサイズ項目に登録されるデータサイズとが一致するので、ファイル管理部１２１は、当該帳票データファイルの転送が終了したとみなし、帳票データファイルをスプールディレクトリからデータディレクトリへ移動し、該当するファイルリストを削除する。
【００５２】
なお、ファイル監視部１２１は、ＯＳから終了通知を受け取ると処理を終了する（ステップ４１６）。ここでいう終了通知とは、例えばオペレータがコンソールからプロセス終了コマンドを発行した場合等である。
【００５３】
図５は、要求管理部１２２の動作を示すフローチャートである。
要求管理部１２２は、ファイル監視部１２１からの要求を待ち、要求があった場合には、ファイル監視部１２１からスプール情報データを取得する（ステップ５０１、５０２）。
【００５４】
そして、要求管理部１２２は、帳票生成部１２３に実行可能な帳票生成プロセスがあるかを判断し（ステップ５０３、５０４）、実行可能なプロセスがある場合には、その帳票生成プロセスに対して帳票生成を要求する（ステップ５０５）。その際、要求管理部１２２は帳票生成部１２３に対してスプール情報データ（帳票データファイル名及びフォーム名）を渡す（ステップ５０５）。なお、複数ある帳票生成プロセスの中から実行可能な帳票生成プロセスがあるか否かの判断は、それぞれの帳票生成プロセスに問い合わせをして判断する。
【００５５】
次に、要求管理部１２２はジョブリストのステータスを"帳票作成依頼中"から"帳票生成中"に更新する（ステップ５０６、５０７）。もし、帳票生成プロセスが空いていない場合には、一定間隔待ってから（ステップ５０８）、再度プロセスが空いているかどうかを判断する。なお、要求管理部１２２は、ＯＳから終了通知を受け取ると処理を終了する。ここでいう終了通知とは、例えばオペレータがコンソールからプロセス終了コマンドを発行した場合等である。
【００５６】
図６は、帳票サーバ１２の帳票生成部１２３とプリントサーバ１３の保存処理部１３２との動作を示すフローチャートである。
帳票サーバ１２の帳票生成部１２３は、要求管理部１２２からの帳票作成要求を待っていて、要求があった場合には、要求管理部１２２からスプール設定ファイル（帳票データファイル名及びフォーム名）を取得する（ステップ６０１、６０２）。
【００５７】
スプール設定ファイル中のフォーム名をキーにして、帳票設定ファイル（図１７）を読み、それに合致する帳票実行ファイル名を取得する（ステップ６０３）。なお、ここでいう帳票実行ファイルには、図２２に示すように、帳票を生成するためのフォーム定義情報、レイアウト情報やフィールドの編集情報等の情報が格納されている。
【００５８】
帳票生成部１２３は、取得した帳票実行ファイル名に該当する帳票実行ファイルに基づいて、入力した帳票データファイルから帳票プレビューファイル（図２３）を生成して出力する（ステップ６０４）。そして、帳票生成部１２３は、生成した帳票プレビューファイルをプリントサーバ１３で動作している保存処理部１３２に送信する（ステップ６０５）。このとき、帳票サーバ１２とプリントサーバ１３の通信処理は、例えば、ソケット通信を使って同期処理を行う。
【００５９】
続いて、帳票生成部１２３は、この後プリントサーバ１３の保存処理部１３２からの処理結果の応答通知を待つ。こうすることにより、帳票サーバ１２は、プリントサーバ１３からの通知がどのジョブについての通知であるのかを特定することができる。
【００６０】
保存処理部１３２は、帳票サーバ１２の帳票生成部１２３からの要求を待っており、転送要求があった場合、帳票プレビューファイルを受信し（ステップ６１０、６１１）、受信した帳票プレビューファイル１８を保存ディレクトリに保存する（ステップ６１２）。
【００６１】
ここで保存するファイルの名称は、帳票生成部１２３から受信した帳票プレビューファイル名をそのまま使用してもよいが、ユニークにする必要があるので、例えば帳票プレビューファイル名にタイムスタンプを付加する名称等に変更してもよい。プリントサーバ１３は、保存した帳票プレビューファイルの名称を帳票生成部１２３に通知する（ステップ６１３）。なお、プリントサーバ１３においてユニークなファイル名に変更した場合は、ユニークなファイル名を通知する。
【００６２】
帳票生成部１２３は、保存処理部１３２からの通知を取得したジョブについて、ジョブリストのステータスを"印刷生成中"から"印刷待ち"にし、保存処理部１３２から取得した帳票プレビューファイル名を該当レコードの格納ファイル情報にセットして、ジョブリストを更新する（ステップ６０６、６０７）。
【００６３】
そして、帳票生成部１２３は、帳票プレビューファイル生成の際に使用した帳票データファイルをデータディレクトリから削除する（ステップ６０８）。なお、帳票サーバ１２における帳票生成部１２３は、ＯＳから終了通知を受け取ると処理を終了する（ステップ６０９）。ここでいう終了通知とは、例えば、オペレータがコンソールからプロセス終了コマンドを発行した場合等である。プリントサーバ１３における保存処理部１３２も同様である（ステップ６１４）。
【００６４】
なお、帳票サーバ１２とプリントサーバ１３が同期処理を行っていない場合は、ジョブの特定ができなくなるので、例えば、プリントサーバ１３において帳票プレビューファイルを保存ディレクトリに保存した際、その帳票プレビューファイル名を変更した場合は、帳票サーバ１２に変更前後の帳票プレビューファイル名を通知することが考えられる。こうすることで、帳票サーバ１２において、どの帳票プレビューファイルについての通知であるかを特定することができるようになる。また、帳票サーバ１２においてどの帳票プレビューファイルについての通知であるかを特定することができればよいので、ファイル名ではなく固有の番号を利用する等その他の手法により特定してもよい。
【００６５】
図７、図８は、帳票サーバ１２におけるジョブ管理部１２４の動作を示すフローチャートである。
帳票サーバ１２におけるジョブ管理部１２４は、ジョブリスト（図１６）の１レコード目を読み（ステップ７０１）、ステータスが"印刷待ち"であるかどうかを判断する（ステップ７０２）。もし、ステータスが"印刷待ち"の場合には、ジョブ管理部１２４は印刷依頼処理（ステップ７０３）を行う。
【００６６】
印刷依頼処理において、ジョブ管理部１２４は、印刷指示部１２５に印刷依頼を要求する（ステップ８０１）。その際、ジョブ管理部１２４は印刷指示部１２５に対してジョブリストの中から印刷するジョブに関する格納ファイル情報（例えば、図１６の「seikyu20030826180201.rcl」）を渡す。そして、ジョブ管理部１２４はジョブリストのステータスを"印刷待ち"から"印刷中"に更新する（ステップ８０２、８０３）。
【００６７】
ジョブ管理部１２４では、ジョブリストの次レコードを読み（ステップ７０４）、該当するレコードのステータスが"印刷待ち"かどうかの判断処理を繰り返す。もし、ステータスが"印刷待ち"でない場合には、ジョブ管理部１２４はステータスが"印刷中"であるかどうかを判断する（ステップ７０５）。もし、ステータスが"印刷中"の場合には、ジョブ管理部１２４は次レコードを読み（ステップ７０４）、ステータスが"印刷待ち"かどうかの判断処理を繰り返す。もし、ステータスが"印刷中"でない場合には、一定間隔待って（ステップ７０６）から再度"印刷待ち"の判断処理を繰り返す。
【００６８】
次レコードを読み取る処理（ステップ７０４）で、ジョブリストのレコードが終了していた場合には、ジョブ管理部１２４は、一定間隔待って（ステップ７０６）から再度印刷待ちの判断処理を繰り返す。なお、ジョブ管理機能は、ＯＳから終了通知を受け取ると処理を終了する（ステップ７０７）。ここでいう終了通知とは、例えば、オペレータがコンソールからプロセス終了コマンドを発行した場合等である。
【００６９】
図９は、帳票サーバ１２上の印刷指示部１２５とプリントサーバ１３上の印刷データ作成処理部１３１の動作を示すフローチャートである。
帳票サーバ１２における印刷指示部１２５は、ジョブ管理部１２４からの帳票印刷要求を待ち（ステップ９０１）、要求があった場合にはプリントサーバ１３上の印刷データ作成処理部１３１に印刷依頼を要求する。その際、印刷指示部１２５は、ジョブ管理部１２４から取得した格納ファイル情報をプリントサーバ１３の印刷データ作成処理部１３１に渡す。帳票サーバ１２における印刷指示部１２５は、この時点で印刷データ作成処理部１３１からの処理結果を待つ。
【００７０】
プリントサーバ１３の印刷データ作成処理部１３１は、帳票サーバ１２の印刷指示部１２５からの印刷依頼を待ち（ステップ９０６）、印刷依頼があった場合には、格納ファイル情報を取得する（ステップ９０７）。
【００７１】
印刷データ作成処理部１３１は、取得した格納ファイル情報のファイル名を入力ファイル名にして帳票プレビューファイル１８を読み込み、その帳票プレビューファイル１８をプリンタ１４に出力する（ステップ９０８）。続いて、印刷データ作成処理部１３１は、プリンタ１４に出力した印刷結果情報をプリンタ１４から取得した後（ステップ９０９）、帳票プレビューファイル１８を削除する（ステップ９１０）。
【００７２】
帳票サーバ１２における印刷指示部１２５は、プリントサーバ１３における印刷データ作成処理部１３１から印刷結果を取得し、該当するジョブリストを削除する（ステップ９０３）。また、印刷ログ（図１８）に印刷結果を追加する。
【００７３】
なお、プリントサーバ１３が印刷結果を取得する方法として、例えばプリンタ１４に印刷状況等の問い合わせをして、該当する印刷結果を取得することが考えられる。ここでいう印刷結果には正常終了はもちろんのこと、プリンタ１４の異常（例えば、紙切れや用紙ジャム等）の情報も入る。なお、ジョブリストと印刷ログの情報を使って印刷状況を画面で確認することもできる（図２４）。
【００７４】
これにより利用者は、異常終了したファイルが存在すれば、出力された帳票の印刷順序が保証されていないということが分かると共に、異常終了したファイルを特定することができるので、必要最小限のファイルを再度印刷すれば済むという利点がある。
【００７５】
なお、帳票サーバ１２における印刷指示部１２５は、ＯＳから終了通知を受け取ると処理を終了する（ステップ９０５）。ここでいう終了通知とは、例えば、オペレータがコンソールからプロセス終了コマンドを発行した場合等である。なお、プリントサーバ１３における印刷データ作成処理部１３１も同様である（ステップ９１１）。
【００７６】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。本実施形態においては、ユーザアプリケーション１１１からの投入順に関係なく、ユーザが指定した情報をもとに出力する順番を保証することもできる。以下、その具体的手法について図１０のフローチャートを参照しながら説明する。
【００７７】
ユーザアプリケーション１１１がスプールディレクトリに帳票データファイル１５を投入する際、それとは別に制御ファイルも合わせて投入する。制御ファイルには、図１９に示すようにグループとグループごとの印刷順を記述しておく。帳票サーバ１２は、取得した制御ファイル中のグループとグループごとの印刷順も図２０に示すようにジョブリストに保存する。尚、ここではグループごとの印刷順を付与する例に挙げているが、特に印刷順を付与する形態はこれに限られず、グループの概念に捕らわれず帳票データファイル１５ごとに任意の印刷順を付与することが可能である。
【００７８】
図１０において、ジョブ管理部１２４は、"印刷待ち"ステータスの判断処理（ステップ１１０２）に続いて、当該制御ファイルに記述されているグループを取得し、グループがスペースかどうかを判断する（ステップ１００３）。
【００７９】
グループがスペース以外の場合には、ジョブ管理部１２４はユーザ指定印刷順判断処理（ステップ１００５）を実施する。グループがスペースの場合には、印刷依頼処理（ステップ１１０４）を実施する。なお、図１０のステップ１００１、１００６、１００７、１００８、１００９は夫々、図７のステップ７０１、７０４、７０５、７０６、７０７と同様の処理であるため、説明は省略する。
【００８０】
ユーザ指定印刷順判断処理では、図１１に示すように、ジョブ管理部１２４はまず取得したグループと合致するジョブリストを同一グループとして抽出する（ステップ１１０１）。そして、図２０に示すように抽出したジョブリストを印刷順の昇順にソートする（ステップ１１０２）。次に、ジョブ管理部１２４は印刷順判断処理を実施する（ステップ１１０３）。
【００８１】
印刷順判断処理では、図１２に示すように、ジョブ管理部１２４はソートしたジョブリストを1レコード読み（ステップ１２０１）、ステータスが"印刷待ち"であるかどうかを判断する（ステップ１２０２）。ステータスが"印刷待ち"の場合には、ジョブ管理部１２４は印刷依頼処理（ステップ１２０３）を実施した後、次レコードを読み（ステップ１２０４）、レコードが終了するまで処理を繰り返す。なお、ステップＳ１２０３では図８に示した印刷依頼処理が実行される。
【００８２】
ステータスが"印刷待ち"以外の場合には、ジョブ管理部１２４はステータスが"印刷中"であるかどうかを判断する（ステップ１２０５）。ステータスが"印刷中"以外の場合には、ジョブ管理部１２４は、一定間隔待って（ステップ１２０６）から再度印刷待ちの判断処理を繰り返す。ステータスが"印刷中"の場合には、ジョブ管理部１２４は次レコードを読んだ後に（ステップ１２０４）、印刷待ちの判断処理を繰り返す。
【００８３】
なお、制御ファイル中のグループとグループごとの印刷順序の他に、そのグループのファイル数を記述してもよい。こうすることにより、例えば、Ａというグループには６つの帳票データファイルがあるにもかかわらず、帳票サーバ１２がＡというグループの帳票データファイルをまだ５つしか取得していない状況の場合は、最後の１つの帳票データを待つようにしてもよい。
【００８４】
具体的には、ジョブリストにグループのファイル数を保存する欄を設け、制御ファイルからグループファイル数を抽出して保存しておき、図１１において同一グループを抽出した際に（ステップ１１０１）、全てのファイルがそろっているか否かを判定する場合にそのグループファイル数を利用する。そして、グループファイル数が揃っていればその先に進み、そろっていなければ、受信するまで待機する又は次の処理を先に行うようにしてもよい。
【００８５】
また、最後のファイルについては、制御ファイルの中に最後のファイルであると識別できる符号を付加しても良い。例えば、４つ目のファイルが最後である場合には、「印刷順序＝４＊」といった記号を付加することが考えられる。そして、最後のファイルを受信するまでは、当該グループについての処理を待機する。
【００８６】
最後のファイルを受信した場合に、当該制御ファイルの「印刷順序」の数値からグループファイルの合計値を抽出し、ファイル数が揃っていればその先に進み、そろっていなければ、残りのファイル数を受信するまで待機する又は次の処理を先に行うようにしてもよい。
【００８７】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。
本実施形態においては、帳票実行ファイル（図２２）のヘッダー情報に印刷順を定義しておき、その順序で出力する順番を保証することができる。以下、その具体的な手法について図１３のフローチャートを参照しながら詳細に説明する。なお、図１３中におけるステップ１３０１、１３０２、１３０５、１３０７、１３０８、１３０９、１３１０では夫々、図７のステップ７０１、７０２、７０３、７０４、７０５、７０６、７０７と同様の処理がなされるため、説明は省略する。
【００８８】
帳票サーバ１２は、ユーザ端末１１から受信した制御ファイルからフォーム名を抽出しジョブリスト（図２１）に当該フォーム名を記憶する。そして、記憶したフォーム名から帳票実行ファイルを抽出し、当該帳票実行ファイル内から自動指定情報（図２２）を取得する（ステップ１３０３）。
【００８９】
自動指定区分がスペース以外の場合には、自動印刷順判断処理（ステップ１３０４、１３０６）を実施する。自動指定区分がスペースの場合には、印刷依頼処理（ステップ１３０５）を実施する。
【００９０】
自動印刷順判断処理では、図１４に示すように、帳票サーバ１２はまず取得した自動指定情報内にあるフォーム名と合致するジョブをジョブリストから抽出する（ステップ１４０１）。そして、抽出したジョブリストを自動指定情報内で指定されている印刷順に並べ替える（ステップ１４０２）。指定されている印刷順が「nouhin」「seikyu」「uriage」の場合であれば、図２１のように並べ替える。次に、印刷順判断処理を実施する（ステップ１４０３）。なお、ステップ１４０３は図１２と同様の処理であるため、説明は省略する。
【００９１】
なお、自動指定情報内にあるフォーム名に合致するジョブの一部しか抽出できなかった場合は、全てのジョブの抽出ができるまで待機又は次の処理を先に行うようにしてもよい。
【００９２】
以上のように、上記実施形態によれば、印刷順序を保証することができる。特に、ユーザアプリケーションで投入した帳票データの順番ごとに帳票出力を行うことができるので、投入した順序と出力した順序の整合性をとることができる。それによって、投入した帳票データがプリンタから出力されていることを容易に確認することができるという効果を奏する。
【００９３】
また、帳票データの投入順にかかわらずに帳票の出力順だけを保証することもできるので、ユーザの意図した出力順に帳票を出力する効果を奏する。
【００９４】
さらに、あらかじめ指定されている印刷順序をもとに帳票を出力することができるので、定型業務の運用等であらかじめ決まって出力しなければならない帳票等の並び順を自動的に出力することができる効果を奏する。
【００９５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００９６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９７】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施形態に係る帳票出力システムの構成を示す図である。
【図２】本発明の一実施形態に係る各種端末のハードウェア構成を示す図である。
【図３】本発明の一実施形態に係る帳票出力システムの基本的な処理フローを示す図である。
【図４】ファイル監視処理部の動作を示すフローチャートである。
【図５】要求管理部の動作を示すフローチャートである。
【図６】帳票生成部と保存処理部の動作を示すフローチャートである。
【図７】ジョブ管理部の動作を示すフローチャートである。
【図８】ジョブ管理部による印刷依頼処理の動作を示すフローチャートである。
【図９】帳票サーバにおける印刷指示処理とプリントサーバにおける印刷データ作成処理とを示すフローチャートである。
【図１０】ジョブ管理部によるジョブ管理処理（ユーザ指定）を示すフローチャートである。
【図１１】ジョブ管理処理におけるユーザ指定印刷順判断処理を示すフローチャートである。
【図１２】ジョブ管理処理における印刷順判断処理を示すフローチャートである。
【図１３】ジョブ管理部によるジョブ管理処理（自動指定）を示すフローチャートである。
【図１４】ジョブ管理処理における自動指定印刷順判断処理を示すフローチャートである。
【図１５】ファイル監視部の動作の一例を模式的に示す図である。
【図１６】ジョブリストの一構成例を示す図である。
【図１７】スプール設定ファイルの一構成例を示す図である。
【図１８】印刷ログファイルの一構成例を示す図である。
【図１９】制御ファイルの一構成例を示す図である。
【図２０】ジョブリスト（ユーザ指定）の一構成例を示す図である。
【図２１】ジョブリスト（自動指定）の一構成例を示す図である。
【図２２】帳票実行ファイル（自動指定）の一構成例を示す図である。
【図２３】帳票プレビューファイルの一構成例を示す図である。
【図２４】印刷状況画面レイアウトの一構成例を示す図である。
【符号の説明】
【０１０１】
１１  ユーザ端末
１２  帳票サーバ
１３  プリントサーバ
１４  プリンタ
１５  帳票データファイル
１６  帳票実行ファイル
１７、１８  帳票プレビューファイル
１１１  ユーザアプリケーション
１２１  ファイル監視部
１２２  要求管理部
１２３  帳票生成部
１２４  ジョブ管理部
１２５  印刷指示部
１３１  印刷データ作成処理部
１３２  保存処理部
２１  ＣＰＵ
２２  ＲＡＭ
２３  ＲＯＭ
２４  ＨＤＤ（ハードディスクドライブ）
２５  記録媒体ドライブ
２６  ビデオアダプタ
２７  Ｋ／Ｂ（キーボード）
２８  Ｐ／Ｄ（ポインティングデバイス）
２９  ＮＩＣ（ネットワークインタフェースカード）
【図１】
2005190193.tif 000003
【図２】
2005190193.tif 000004
【図３】
2005190193.tif 000005
【図４】
2005190193.tif 000006
【図５】
2005190193.tif 000007
【図６】
2005190193.tif 000008
【図７】
2005190193.tif 000009
【図８】
2005190193.tif 000010
【図９】
2005190193.tif 000011
【図１０】
2005190193.tif 000012
【図１１】
2005190193.tif 000013
【図１２】
2005190193.tif 000014
【図１３】
2005190193.tif 000015
【図１４】
2005190193.tif 000016
【図１５】
2005190193.tif 000017
【図１６】
2005190193.tif 000018
【図１７】
2005190193.tif 000019
【図１８】
2005190193.tif 000020
【図１９】
2005190193.tif 000021
【図２０】
2005190193.tif 000022
【図２１】
2005190193.tif 000023
【図２２】
2005190193.tif 000024
【図２３】
2005190193.tif 000025
【図２４】
2005190193.tif 000026