(57)【要約】    【課題】  仕分け時の帳合帳票ファイルへのデータ書き込み状態の判別の結果に応じた出力を行うことができる帳合帳票ファイル作成装置及び仕分け・ソーティングシステムとその方法、並びにプログラムを提供する。    【解決手段】  帳票仕分けサーバ３００は、セパレータ帳票データファイル、及び明細帳票データファイルがメインフレーム３００から出力された後、セパレータ帳票処理、明細帳票処理によりセパレータ帳票データファイルのデータの書き込みが終了したと判断したときに、帳合帳票ファイルの各仕分け毎に明細帳票データの書き込みがあるか否かを判別し、書き込みがあるときは帳合帳票ファイルから作成された印刷データがプリンタ４００によりシートに印刷出力される。【選択図】      図１
2005141450.tif 000002
【特許請求の範囲】
【請求項１】
帳票用ファイル出力装置から出力された第１の識別キーが付された第１のデータを含む第１の帳票用ファイル、及び前記第１の識別キーに従属する第２の識別キーが付された第２のデータを含む第２の帳票用ファイルを受信する受信手段と、
前記第１のデータの前記第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込む第１の書き込み手段と、
当該ソーティングされた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータを当該レベルの第１の識別キーが付された前記第１のデータの直後に前記帳合帳票ファイルに書き込む第２の書き込み手段と、
帳合帳票を印字する印字装置に前記帳合帳票ファイルを送信する送信手段とを備える帳合帳票ファイル作成装置において、
前記帳合帳票ファイルへの前記第１のデータ、及び前記第２のデータの書き込みが終了したときに、前記帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、当該レベルと等しいレベルの第２の識別キーが付された第２のデータが前記帳合帳票ファイルに存在する場合、前記印字装置に当該帳合帳票ファイルを送信することを特徴とする帳合帳票ファイル作成装置。
【請求項２】
前記第２の識別キーのレベルと等しいレベルの前記第１の識別キーが存在しない場合には当該第２の識別キーが付された第２のデータから成る別明細帳票データを作成する別明細帳票データ作成手段を備えることを特徴とする請求項１記載の帳合帳票ファイル作成装置。
【請求項３】
前記第１の書き込み手段は、
前記第１の帳票用ファイルから順に前記第１のデータを読み込む読み込み手段と、
前記読み込まれた第１のデータに付された第１の識別キーのレベルと所定の順序でソーティングする仕分けキーのレベルとを比較するレベル比較手段とを備え、
前記レベル比較手段による比較の結果、前記第１の識別キーのレベルがｎ（ｎは整数）番目の前記仕分けキーのレベルと等しいときに、前記読み込まれた第１のデータを前記帳合帳票ファイルに書き込むデータ書き込み手段を備えることを特徴とする請求項１又は２記載の帳合帳票ファイル作成装置。
【請求項４】
前記レベル比較手段による比較の結果、前記第１の識別キーのレベルがｎ番目より後の前記仕分けキーのレベルと等しいときに、前記読み込まれた第１のデータの前記帳合帳票ファイルへの書き込みを禁止し、前記第２の書き込み手段による書き込みを開始することを特徴とする請求項３記載の帳合帳票ファイル作成装置。
【請求項５】
前記レベル比較手段による比較の結果、前記第１の識別キーのレベルがｎ番目より前の前記仕分けキーのレベルと等しいときに、前記読み込まれた第１のデータの前記帳合帳票ファイルへの書き込みを禁止し、エラーを通知することを特徴とする請求項３又は４記載の帳合帳票ファイル作成装置。
【請求項６】
前記第２の書き込み手段は、
前記第２の帳票用ファイルから順に前記第２のデータを読み込む他の読み込み手段と、
前記読み込まれた第２のデータに付された第２の識別キーのレベルと前記仕分けキーのレベルとを比較する他のレベル比較手段とを備え、
前記他のレベル比較手段による比較の結果、前記第２の識別キーのレベルがｎ番目の前記仕分けキーのレベルと等しいときに、前記読み込まれた第２のデータを前記帳合帳票ファイルに書き込む他のデータ書き込み手段を備えることを特徴とする請求項３乃至５のいずれか１項に記載の帳合帳票ファイル作成装置。
【請求項７】
前記他のレベル比較手段による比較の結果、前記第２の識別キーのレベルがｎ番目より後の前記仕分けキーのレベルと等しいときに、前記仕分けキーのレベルを（ｎ＋１）番目のレベルとし、前記読み込まれた第２のデータの前記帳合帳票ファイルへの書き込みを禁止し、前記第１の書き込み手段による書き込みを再開することを特徴とする請求項６記載の帳合帳票ファイル作成装置。
【請求項８】
前記他のレベル比較手段による比較の結果、前記第２の識別キーのレベルがｎ番目より前の前記仕分けキーのレベルと等しいときに、前記読み込まれた第２のデータを含む他の別明細帳票データを作成する他の別明細帳票データ作成手段とを備えることを特徴とする請求項６又は７記載の帳合帳票ファイル作成装置。
【請求項９】
前記所定の順序は、昇順であることを特徴とする請求項３乃至８のいずれか１項に記載の帳合帳票ファイル作成装置。
【請求項１０】
前記所定の順序は、降順であることを特徴とする請求項３乃至８のいずれか１項に記載の帳合帳票ファイル作成装置。
【請求項１１】
第１の識別キーが付された第１のデータを含む第１の帳票用ファイル、及び前記第１の識別キーに従属する第２の識別キーが付された第２のデータを含む第２の帳票用ファイルを出力する帳票用ファイル出力装置と、
前記第１のデータを前記第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込む第１の書き込み手段、及び当該書き込まれた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータを当該書き込まれた第１のデータの直後に書き込む第２の書き込み手段を備える帳合帳票ファイル作成装置と、
前記帳合帳票ファイル作成装置から受信した帳合帳票ファイルに基づいて帳合帳票を印字する印字装置とを有する仕分け・ソーティングシステムにおいて、
前記帳合帳票ファイル作成装置は、前記帳合帳票ファイルへの前記第１のデータ、及び前記第２のデータの書き込みが終了したときに、前記帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、当該レベルと等しいレベルの第２の識別キーが付された第２のデータが前記帳合帳票ファイルに存在する場合、前記印字装置に当該帳合帳票ファイルを送信することを特徴とする仕分け・ソーティングシステム。
【請求項１２】
帳票用ファイル出力装置から出力された第１の識別キーが付された第１のデータを含む第１の帳票用ファイル、及び前記第１の識別キーに従属する第２の識別キーが付された第２のデータを含む第２の帳票用ファイルを受信する受信ステップと、
前記第１のデータの前記第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込む第１の書き込みステップと、
当該ソーティングされた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータを当該レベルの第１の識別キーが付された前記第１のデータの直後に前記帳合帳票ファイルに書き込む第２の書き込みステップと、
帳合帳票を印字する印字装置に前記帳合帳票ファイルを送信する送信ステップとを備える帳合帳票ファイル作成方法において、
前記帳合帳票ファイルへの前記第１のデータ、及び前記第２のデータの書き込みが終了したときに、前記帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、当該レベルと等しいレベルの第２の識別キーが付された第２のデータが前記帳合帳票ファイルに存在する場合、前記印字装置に当該帳合帳票ファイルを送信することを特徴とする帳合帳票ファイル作成方法。
【請求項１３】
帳票用ファイル出力装置から出力された第１の識別キーが付された第１のデータを含む第１の帳票用ファイル、及び前記第１の識別キーに従属する第２の識別キーが付された第２のデータを含む第２の帳票用ファイルを受信する受信モジュールと、
前記第１のデータの前記第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込む第１の書き込みモジュールと、
当該ソーティングされた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータを当該レベルの第１の識別キーが付された前記第１のデータの直後に前記帳合帳票ファイルに書き込む第２の書き込みモジュールと、
帳合帳票を印字する印字装置に前記帳合帳票ファイルを送信する送信モジュールとを備える帳合帳票ファイル作成方法をコンピュータに実行させるプログラムにおいて、
前記帳合帳票ファイルへの前記第１のデータ、及び前記第２のデータの書き込みが終了したときに、前記帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、当該レベルと等しいレベルの第２の識別キーが付された第２のデータが前記帳合帳票ファイルに存在する場合、前記印字装置に当該帳合帳票ファイルを送信することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳合帳票ファイル作成装置及び仕分け・ソーティングシステムとその方法、並びにプログラム、特に、ネットワークを介して、基幹システムであるメインフレームから出力されたデータの帳票データを仕分けし、出力する帳合帳票ファイル作成装置及び仕分け・ソーティングシステムとその方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来より、仕分け・ソーティングシステムとして、業務処理に用いられる基幹のメインフレームから各種帳票データを出力しプリンタで出力する業務管理システムが知られている。
【０００３】
例えば、運搬業務を行っている企業の業務管理システムにおいては、荷物を配送する際に利用するために"セパレータ帳票"（配送先区分別の概要情報「荷物の"総個数"など」）、"明細帳票"（各配送先区分のさらに詳しい情報「顧客別の"連絡先や荷物の個数"など」）を仕分け処理させた"帳合帳票"を作成している。そして運搬業務担当者はこの帳合帳票を参照して業務を行っている。
【０００４】
従来の帳合帳票は、メインフレームからセパレータ帳票のデータと明細帳表のデータとをプリンタに出力し、出力された"セパレータ帳票"と"明細帳票"を手作業で配布先毎に仕分け処理することにより作成している。
【０００５】
このような帳合帳票の作成の手間を軽減する方法として、業務管理システムに帳票並べ替え部を設けて、この帳票並べ替え部により宛先毎（支店名）に仕分けしたデータの出力を行う仕分けデータ出力方法が開示されている（例えば、特許文献１参照）。この仕分けデータ出力方法においては、詳細な発明の開示がないものの宛先毎の仕分けが可能であり、記載された内容を勘案するに複数の種類の帳票データを特定のコードに基いて仕分けして印刷出力する。
【０００６】
具体的には、この帳票仕分け方法では、帳合帳票を作成するため、「売上日報」、「在庫管理票」、「納品書」、「請求書」等の各帳票データのデータを出力し、その後、各帳票データを宛先コードで仕分けして印刷出力する。
【特許文献１】特開２００２−１８３６５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の仕分けデータ出力方法では、「売上日報」、「在庫管理票」、「納品書」、「請求書」の帳票データのどれかが作成されていない場合でもそれを認識する仕組みを備えていないため、印刷出力された帳合帳票に帳票データのいずれかが抜けていないかどうかを人が目視で確認する必要があった。
【０００８】
また、従来の仕分けデータ出力方法では、複数の出力データ（例えば、上述のセパレート帳票データと明細帳票データ）のように、対になることが前提の帳合帳票において、その一方が存在しない場合にそれを認識する仕組みを備えていないため、無駄な印刷出力をしてしまう場合があった。
【０００９】
本発明は、上述の欠点を解決するためになされたものであって、仕分け時の帳合帳票ファイルへのデータ書き込み状態の判別の結果に応じた出力を行うことができる帳合帳票ファイル作成装置及び仕分け・ソーティングシステムとその方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１記載の帳合帳票ファイル作成装置は、帳票用ファイル出力装置から出力された第１の識別キーが付された第１のデータを含む第１の帳票用ファイル、及び前記第１の識別キーに従属する第２の識別キーが付された第２のデータを含む第２の帳票用ファイルを受信する受信手段と、前記第１のデータの前記第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込む第１の書き込み手段と、当該ソーティングされた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータを当該レベルの第１の識別キーが付された前記第１のデータの直後に前記帳合帳票ファイルに書き込む第２の書き込み手段と、帳合帳票を印字する印字装置に前記帳合帳票ファイルを送信する送信手段とを備える帳合帳票ファイル作成装置において、前記帳合帳票ファイルへの前記第１のデータ、及び前記第２のデータの書き込みが終了したときに、前記帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、当該レベルと等しいレベルの第２の識別キーが付された第２のデータが前記帳合帳票ファイルに存在する場合、前記印字装置に当該帳合帳票ファイルを送信することを特徴とする。
【００１１】
請求項２記載の帳合帳票ファイル作成装置は、請求項１記載の帳合帳票ファイル作成装置において、前記第２の識別キーのレベルと等しいレベルの前記第１の識別キーが存在しない場合には当該第２の識別キーが付された第２のデータから成る別明細帳票データを作成する別明細帳票データ作成手段を備えることを特徴とする。
【００１２】
請求項３記載の帳合帳票ファイル作成装置は、請求項１又は２記載の帳合帳票ファイル作成装置において、前記第１の書き込み手段は、前記第１の帳票用ファイルから順に前記第１のデータを読み込む読み込み手段と、前記読み込まれた第１のデータに付された第１の識別キーのレベルと所定の順序でソーティングする仕分けキーのレベルとを比較するレベル比較手段とを備え、前記レベル比較手段による比較の結果、前記第１の識別キーのレベルがｎ（ｎは整数）番目の前記仕分けキーのレベルと等しいときに、前記読み込まれた第１のデータを前記帳合帳票ファイルに書き込むデータ書き込み手段を備えることを特徴とする。
【００１３】
請求項４記載の帳合帳票ファイル作成装置は、請求項３記載の帳合帳票ファイル作成装置において、前記レベル比較手段による比較の結果、前記第１の識別キーのレベルがｎ番目より後の前記仕分けキーのレベルと等しいときに、前記読み込まれた第１のデータの前記帳合帳票ファイルへの書き込みを禁止し、前記第２の書き込み手段による書き込みを開始することを特徴とする。
【００１４】
請求項５記載の帳合帳票ファイル作成装置は、請求項３又は４記載の帳合帳票ファイル作成装置において、前記レベル比較手段による比較の結果、前記第１の識別キーのレベルがｎ番目より前の前記仕分けキーのレベルと等しいときに、前記読み込まれた第１のデータの前記帳合帳票ファイルへの書き込みを禁止し、エラーを通知することを特徴とする。
【００１５】
請求項６記載の帳合帳票ファイル作成装置は、請求項３乃至５のいずれか１項に記載の帳合帳票ファイル作成装置において、前記第２の書き込み手段は、前記第２の帳票用ファイルから順に前記第２のデータを読み込む他の読み込み手段と、前記読み込まれた第２のデータに付された第２の識別キーのレベルと前記仕分けキーのレベルとを比較する他のレベル比較手段とを備え、前記他のレベル比較手段による比較の結果、前記第２の識別キーのレベルがｎ番目の前記仕分けキーのレベルと等しいときに、前記読み込まれた第２のデータを前記帳合帳票ファイルに書き込む他のデータ書き込み手段を備えることを特徴とする。
【００１６】
請求項７記載の帳合帳票ファイル作成装置は、請求項６記載の帳合帳票ファイル作成装置において、前記他のレベル比較手段による比較の結果、前記第２の識別キーのレベルがｎ番目より後の前記仕分けキーのレベルと等しいときに、前記仕分けキーのレベルを（ｎ＋１）番目のレベルとし、前記読み込まれた第２のデータの前記帳合帳票ファイルへの書き込みを禁止し、前記第１の書き込み手段による書き込みを再開することを特徴とする。
【００１７】
請求項８記載の帳合帳票ファイル作成装置は、請求項６又は７記載の帳合帳票ファイル作成装置において、前記他のレベル比較手段による比較の結果、前記第２の識別キーのレベルがｎ番目より前の前記仕分けキーのレベルと等しいときに、前記読み込まれた第２のデータを含む他の別明細帳票データを作成する他の別明細帳票データ作成手段とを備えることを特徴とする。
【００１８】
請求項９記載の帳合帳票ファイル作成装置は、請求項３乃至８のいずれか１項に記載の帳合帳票ファイル作成装置において、前記所定の順序は、昇順であることを特徴とする。
【００１９】
請求項１０記載の帳合帳票ファイル作成方法は、請求項３乃至８のいずれか１項に記載の帳合帳票ファイル作成装置において、前記所定の順序は、降順であることを特徴とする。
【００２０】
請求項１１記載の仕分け・ソーティングシステムは、第１の識別キーが付された第１のデータを含む第１の帳票用ファイル、及び前記第１の識別キーに従属する第２の識別キーが付された第２のデータを含む第２の帳票用ファイルを出力する帳票用ファイル出力装置と、前記第１のデータを前記第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込む第１の書き込み手段、及び当該書き込まれた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータを当該書き込まれた第１のデータの直後に書き込む第２の書き込み手段を備える帳合帳票ファイル作成装置と、前記帳合帳票ファイル作成装置から受信した帳合帳票ファイルに基づいて帳合帳票を印字する印字装置とを有する仕分け・ソーティングシステムにおいて、前記帳合帳票ファイル作成装置は、前記帳合帳票ファイルへの前記第１のデータ、及び前記第２のデータの書き込みが終了したときに、前記帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、当該レベルと等しいレベルの第２の識別キーが付された第２のデータが前記帳合帳票ファイルに存在する場合、前記印字装置に当該帳合帳票ファイルを送信することを特徴とする。
【００２１】
請求項１２記載の帳票仕分け方法は、帳票用ファイル出力装置から出力された第１の識別キーが付された第１のデータを含む第１の帳票用ファイル、及び前記第１の識別キーに従属する第２の識別キーが付された第２のデータを含む第２の帳票用ファイルを受信する受信ステップと、前記第１のデータの前記第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込む第１の書き込みステップと、当該ソーティングされた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータを当該レベルの第１の識別キーが付された前記第１のデータの直後に前記帳合帳票ファイルに書き込む第２の書き込みステップと、帳合帳票を印字する印字装置に前記帳合帳票ファイルを送信する送信ステップとを備える帳合帳票ファイル作成方法において、前記帳合帳票ファイルへの前記第１のデータ、及び前記第２のデータの書き込みが終了したときに、前記帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、当該レベルと等しいレベルの第２の識別キーが付された第２のデータが前記帳合帳票ファイルに存在する場合、前記印字装置に当該帳合帳票ファイルを送信することを特徴とする。
【００２２】
請求項１３記載のプログラムは、帳票用ファイル出力装置から出力された第１の識別キーが付された第１のデータを含む第１の帳票用ファイル、及び前記第１の識別キーに従属する第２の識別キーが付された第２のデータを含む第２の帳票用ファイルを受信する受信モジュールと、前記第１のデータの前記第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込む第１の書き込みモジュールと、当該ソーティングされた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータを当該レベルの第１の識別キーが付された前記第１のデータの直後に前記帳合帳票ファイルに書き込む第２の書き込みモジュールと、帳合帳票を印字する印字装置に前記帳合帳票ファイルを送信する送信モジュールとを備える帳合帳票ファイル作成方法をコンピュータに実行させるプログラムにおいて、前記帳合帳票ファイルへの前記第１のデータ、及び前記第２のデータの書き込みが終了したときに、前記帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、当該レベルと等しいレベルの第２の識別キーが付された第２のデータが前記帳合帳票ファイルに存在する場合、前記印字装置に当該帳合帳票ファイルを送信することを特徴とする。
【発明の効果】
【００２３】
請求項１記載の帳合帳票ファイル作成装置、請求項１１記載の仕分け・ソーティングシステム、請求項１２記載の帳票仕分け方法、及び請求項１３記載のプログラムによれば、帳合帳票ファイル作成装置は、帳合帳票ファイルへの第１のデータ、及び第２のデータの書き込みが終了したときに、帳合帳票ファイルに存在する第１のデータに付された第１の識別キーのレベル毎に、このレベルと等しいレベルの第２の識別キーが付された第２のデータが帳合帳票ファイルに存在する場合、印字装置にこの帳合帳票ファイルを送信するので、正常に帳合帳票ファイルが作成された場合のみ帳合帳票の印刷という形で出力を行うことができ、仕分け時の帳合帳票ファイルへのデータ書き込み状態の判別の結果に応じた出力を行うことができる。
【００２４】
請求項２記載の帳合帳票ファイル作成装置によれば、第２の識別キーのレベルと等しいレベルの第１の識別キーが存在しない場合にはこの第２の識別キーが付された第２のデータから成る別明細帳票データを作成するので、帳合帳票ファイルへのデータ書き込みの異常、即ち、第１のデータはあるがそれに従属する第２のデータがないことをユーザに通知する別明細帳票データの出力を行うことができ、仕分け時の帳合帳票ファイルへのデータ書き込み状態の判別の結果に応じた出力を行うことができる。
【００２５】
請求項３記載の帳合帳票ファイル作成装置によれば、第１の帳票用ファイルのデータを帳合帳票ファイルに書き込む際、第１の帳票用ファイルから順に第１のデータを読み込み、読み込まれた第１のデータに付された第１の識別キーのレベルと所定の順序でソーティングする仕分けキーのレベルとの比較の結果、第１の識別キーのレベルがｎ（ｎは整数）番目の仕分けキーのレベルと等しいときに、読み込まれた第１のデータを帳合帳票ファイルに書き込むので、第１の帳票用ファイルにあるデータを、帳合帳票ファイルに確実に仕分けて書き込むことができる。
【００２６】
請求項４記載の帳合帳票ファイル作成装置によれば、上記比較の結果、第１の識別キーのレベルがｎ番目より後の仕分けキーのレベルと等しいときに、読み込まれた第１のデータの帳合帳票ファイルへの書き込みを禁止し、書き込まれた第１の識別キーと等しいレベルの第２の識別キーが付された第２のデータをこの書き込まれた第１のデータの直後に書き込むことを開始するので、第１のデータと第２のデータを、帳合帳票ファイルに確実に仕分けて書き込むことができる。
【００２７】
請求項５記載の帳合帳票ファイル作成装置によれば、比較の結果、第１の識別キーのレベルがｎ番目より前の仕分けキーのレベルと等しいときに、読み込まれた第１のデータの帳合帳票ファイルへの書き込みを禁止し、エラーを通知するので、仕分けキーのレベルと異なるレベルの第１の識別キーが付されたデータが誤って帳合帳票ファイルに書き込まれることを防止できる。
【００２８】
請求項６記載の帳合帳票ファイル作成装置によれば、第２の帳票用ファイルのデータを帳合帳票ファイルに書き込む際、第２の帳票用ファイルから順に第２のデータを読み込み、読み込まれた第２のデータに付された第２の識別キーのレベルと仕分けキーのレベルとの比較の結果、第２の識別キーのレベルがｎ番目の仕分けキーのレベルと等しいときに、読み込まれた第２のデータを帳合帳票ファイルに書き込むので、第２の帳票用ファイルにあるデータを、帳合帳票ファイルに確実に仕分けて書き込むことができる。
【００２９】
請求項７記載の帳合帳票ファイル作成装置によれば、上記比較の結果、第２の識別キーのレベルがｎ番目より後の仕分けキーのレベルと等しいときに、仕分けキーのレベルを（ｎ＋１）番目のレベルとし、読み込まれた第２のデータの帳合帳票ファイルへの書き込みを禁止し、第１のデータを第１の識別キーに基づいてソーティングして帳合帳票ファイルに書き込むことを再開するので、第１のデータと第２のデータを、帳合帳票ファイルに確実に仕分けて書き込むことができる。
【００３０】
請求項８記載の帳合帳票ファイル作成装置によれば、上記比較の結果、第２の識別キーのレベルがｎ番目より前の仕分けキーのレベルと等しいときに、読み込まれた第２のデータを含む他の別明細帳票データを作成するので、帳合帳票ファイルへのデータ書き込みの異常、即ち、第２のデータはあるがそれが従属するはずの第１のデータがないことをユーザに通知する別明細帳票データの出力を行うことができ、仕分け時の帳合帳票ファイルへのデータ書き込み状態の判別の結果に応じた出力を行うことができる。
【００３１】
請求項９記載の帳合帳票ファイル作成装置によれば、仕分けキーがソーティングする所定の順序は、昇順であるので、帳合帳票ファイルに第１のデータ、及び第２のデータを昇順に仕分けて書き込むことができる。
【００３２】
請求項１０記載の帳合帳票ファイル作成装置によれば、仕分けキーがソーティングする所定の順序は、降順であるので、帳合帳票ファイルに第１のデータ、及び第２のデータを降順に仕分けて書き込むことができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態を図面を用いて詳説する。
【００３４】
図１は、本発明の実施の形態に係る仕分け・ソーティングシステムである帳票仕分けシステムの構成図である。尚、図１の構成は、本発明に係る仕分け・ソーティングシステムの一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００３５】
図１において、帳票仕分けシステム１は、複数の帳票出力用データを出力するメインフレーム１００と、メインフレーム１００から出力される複数の帳票出力用データを仕分け処理して帳合帳票ファイルを作成し、この作成された帳合帳票ファイルから印刷データを作成する帳票仕分けサーバ３００（帳合帳票ファイル作成装置）と、帳票仕分けサーバ３００から出力される印刷データに基づいて帳合帳票の印刷出力を行うプリンタ４００とを備え、これらはＬＡＮ（Local Area Network）或いは回線またはその複合で構成されるネットワーク２００により相互に接続されている。
【００３６】
メインフレーム１００は、帳票仕分けシステム１のメインフレームであり、業務に関するすべてのデータ管理を行うものであり、所定のタイミング（ex.夜間）で複数の帳票出力用データを出力する。この複数の帳票出力用データとは、例えば、運搬業務に必要なデータであるところの配送先区分別の情報である「配送ルート名称（ex.岸和田地区）、荷物の総個数など」から成るセパレート帳票データや、配送先区分のさらに詳細な情報である「顧客別連絡先、顧客別荷物個数、顧客別荷物略称など」から成る明細帳票データである。
【００３７】
帳票仕分けサーバ３００は、メインフレーム１００から出力される複数の帳票出力用データを帳票仕分けサーバ３００の所定の入力ディレクトリ（所定のフォルダ）に格納し、この格納された帳票出力用データを所定のタイミングで検出後、仕分け処理して帳合帳票ファイルを作成する。さらに、この作成した帳合帳票ファイルをネットワーク２００を介してプリンタ４００に出力するのに適したデータ変換（例えば、ＰＤＬ（Page Description Language）で記述されたデータへの変換）を行い、このデータ変換した帳合帳票ファイルを印刷データとしてプリンタ４００に出力する。
【００３８】
プリンタ４００は、帳票仕分けサーバ３００より受信した印刷データをシートに印刷して帳合帳票を作成する。この帳合帳票は、ステイプル処理などして仕分けされた単位でまとめるようにしてもよい。
【００３９】
図２は、図１の帳票仕分けシステム１による帳票仕分け方法の概要を説明する図である。
【００４０】
図２において、メインフレーム１００は、帳合帳票の作成に必要な「セパレータ帳票データファイル」、「明細帳票データファイル」、「マスタ情報ファイル」の３つのファイルを１セットとする転送ファイルを帳票仕分けサーバ３００の入力ディレクトリに入力する。
【００４１】
ここで、「セパレータ帳票データファイル」は、上述のセパレート帳票用データが書き込まれているファイルであり、各セパレート帳票用データの所定位置には配送先区分を示すセパレータキー（第１の識別キー）が書き込まれている（例えば、図９（ａ）。また、「明細帳票データファイル」は、上述の明細帳票データを記載するファイルであり、各明細帳票データの所定位置には同じく配送先区分示す明細キー（第２の識別キー）が書き込まれている（例えば、図９（ｂ）のセパレータキー、及び明細キーは夫々昇順に並んでいる。
【００４２】
また、「マスタ情報ファイル」は、帳票仕分けプログラムが仕分け処理時に必要とする情報（例えば、図５に示すセパレータ帳票名称、明細帳票名称、帳合帳票名称、キーの位置やバイト数を示すキー情報、使用するＰＤＬ命令）を記載するマスタファイルのファイル名を取得するために用いられるものである。このマスタ情報ファイルは、データ部が実質０バイトのファイルであり、ファイル名称が参照できれば良い。例えば、マスタ情報ファイルのファイル名（ex．EEMASTER02１209１25959）にマスタファイルのファイル名（ex．MASTER02１209１25959）が含まれている構成となっている。また、メインフレームからのファイル出力順を、「セパレータ帳票データファイル」、「明細帳票データファイル」、「マスタ情報ファイル」の順で予めシステムで取り決めておくことで、マスタ情報ファイルの存在は該マスタ情報ファイルに関係する他の2種類のファイル出力が既になされていることを示すものとして利用できる。
【００４３】
帳票仕分けサーバ３００は、所定のタイミングで帳票仕分けプログラムが起動すると、この帳票仕分けプログラムにより入力ディレクトリにあるマスタ情報ファイルのファイル名からマスタファイルのファイル名を抽出する。次に、この抽出されたファイル名のマスタファイルを予め作成されて記憶されているマスタファイルの中から取得する。
【００４４】
さらに、帳票仕分けプログラムは、該「マスタファイル」に書き込まれた情報により、「セパレータ帳票データファイル」、「明細帳票データファイル」の仕分け処理や、帳合帳票ファイルへのＰＤＬ命令の付加や、プリンタ４００が印刷できるデータへのデータ変換を行う。その後、仕分け処理が正常に行われた場合は、処理後のデータをプリンタ４００の出力ディレクトリに出力し、仕分け処理に異常が生じた場合は、処理後のデータを不図示のエラー用の出力ディレクトリに出力する。
【００４５】
図３は、図１における帳票仕分けサーバ３００のハードウェア構成を示すブロック図である。
【００４６】
図３において、帳票仕分けサーバ３００は、本サーバ３００を構成する各デバイスやコントローラを統括的に制御するＣＰＵ３０１と、ＣＰＵ３０１の制御プログラムであるＢＩＯＳ(Basic Input / Output System)やオペレーティングシステムプログラム（以下、ＯＳ）や、本サーバ３００で実行する後述する図４、図６〜図８の処理を行う帳票仕分けプログラム等の各種プログラム等が記憶されているＲＯＭ３０２あるいは外部メモリ３１１と、ＣＰＵ３０１の主メモリ、ワークエリア等として機能するＲＡＭ３０３と、キーボード３０９や不図示のマウス等のポインティングデバイスからの入力を制御する入力コントローラ（入力Ｃ）３０５と、ＣＲＴディスプレイ（ＣＲＴ）３１０等の表示器への表示を制御するビデオコントローラ（ＶＣ）３０６と、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピー（登録商標）ディスク或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ３１１へのアクセスを制御するメモリコントローラ（ＭＣ）３０７と、ネットワークを介して、外部機器と接続・通信制御を実行するものであり、例えば、ＴＣＰ／ＩＰを用いたインターネット通信等を行う通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）３０８と備え、これらはシステムバス３０４により相互に接続されている。
【００４７】
ＣＰＵ３０１は、処理の実行に際して必要なプログラム等をＲＡＭ３０３にロードして、プログラムを実行することで各種動作を実現する。また、ＣＰＵ３０１は、例えばＲＡＭ３０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ３１０上での表示を可能としている。さらに、ＣＰＵ３０１は、ＣＲＴ３１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００４８】
また、本実施の形態では、表示器はＣＲＴ３１０であったが、これに限定されるものでなく、例えば液晶ディスプレイでもよい。また、これらの必要に応じて管理者が使用するものは、本発明には直接関係があるものではない。
【００４９】
さらに、本発明に係わる帳票仕分けプログラムが用いる定義ファイル、及び各種情報テーブルも外部メモリ３１１に格納されており、これらについての詳細な説明は後述する。
【００５０】
図４は、図１における帳票仕分けサーバ３００による帳票仕分け処理のフローチャートである。本処理は、メインフレーム１００から所定のタイミングで図２で前述した転送ファイルが帳票仕分けサーバ３００の入力ディレクトリに入力されていることが前提となる。
【００５１】
また、本処理においては、帳票仕分けサーバ３００で実行する帳票仕分けプログラムは外部プログラム等の監視プログラムにより定期的に起動して、以下の処理を実行するが、これに限定されるものでなく、例えば、帳票仕分けプログラムが自ら定期的に起動して、以下の処理を開始するものであっても良い。また、図４の各ステップは、ＣＰＵ３０１が外部メモリ３１１に格納される帳票仕分けプログラムをＲＡＭ上にロードするなどして実行することで実現されるものである。
【００５２】
図４において、帳票仕分けプログラムが外部の監視プログラムからの命令で起動すると、まずＣＰＵ３０１は前処理を行う（ステップＳ４０１）。この前処理とは、帳票仕分けプログラムの実行で用いる各種ディレクトリ（帳票データファイルの入力ディレクトリ、生成した出力データを格納するための出力ディレクトリ、或いは帳票作成のためにテンポラリに使用するディレクトリ、エラー通知のために必要なファイルの格納ディレクトリ、エラー通知データの出力ディレクトリ）などの設定を確認することや、仕分け処理等で用いる引数をチェックすることをいう。尚、この引数は少なくともマスタ情報ファイルに関する引数を含んでいる。また、本処理においては、この引数は、帳票仕分けプログラムの起動時に外部の監視プログラムから取得するものであるが、これに限定されるものでなく、定義ファイルを予め用意しておいて自己起動時に参照するようにしてもよい。
【００５３】
次に、帳票仕分けサーバ３００の入力ディレクトリに存在するマスタ情報ファイルを検索する（ステップＳ４０２）。このステップＳ４０２は、マスタ情報ファイルに関する引数として取得している情報に基づきファイル検索を行うものであり、例えば、ファイル名称の先頭２バイトが「EE」で始まるファイルの検索を行う。
【００５４】
その後、検索されたマスタ情報ファイルのファイル名からマスタファイルのファイル名を取得する（ステップＳ４０３）。例えば、マスタ情報ファイルのファイル名が「EEMASTER02１209１25959」であるとき、マスタファイルのファイル名はマスタ情報ファイルのファイル名に初めの２バイトを構成する「EE」を除いた部分「MASTER02１209１25959」とする。
【００５５】
その後、ファイル名が「MASTER02１209１25959」であるマスタファイルをファイルを外部メモリ３１１から検索して取得する（Ｓ４０４）。このマスタファイルから帳票仕分けプログラム仕分け処理時に必要とする情報の内容を読み込む（ステップＳ４０４Ａ）。
【００５６】
次に、後述する図６〜図８の帳票処理を行い（ステップＳ４０５）、後処理（ステップＳ４０６）の後、本処理を終了する。後処理（ステップＳ４０６）においては帳合帳票作成処理が済んだ「セパレータ帳票データファイル」、「明細帳票データファイル」、「マスタ情報ファイル」の削除等を行い、印刷を行う作成済みの帳合帳票データファイルをプリンタに送信する。
【００５７】
図６は、図１における帳票仕分けサーバ３００による帳票処理（ステップS４０５）のフローチャートである。
【００５８】
図６において、ＣPU３０１は、マスタファイルから取得した各帳票データファイルの名称から入力ディレクトリ上に存在するセパレータ帳票データファイル、明細帳票データファイルや新規作成する帳合帳票ファイルをファイルオープンコマンドで開き（ステップＳ６０１）使用できる状態とする。帳合帳票データファイルは、ここでマスタファイルに記載される帳合帳票ファイル名を用いて生成されるものであり、後述の処理でこのＳ６０１でオープンした帳合帳票ファイルにセパレータ帳票データと明細帳票データを書き込むものである。次に、帳票仕分けサーバ３００の入力ディレクトリにあるセパレータ帳票データファイルとセパレータ帳票データファイルの両方からの読み込みデータを格納するページバッファが空でかつ両帳票ファイルのデータにエンドレコードが発見されたか否かを判別する（ステップＳ６０２）。このエンドレコードは、セパレータ帳票データファイルや明細帳票データファイルの最終行に書き込まれているレコードであり、このレコードで本ファイルに記載されている内容は終わることを意味する。この判別の結果、両帳票データともページバッファが空きでかつ両帳票データともにエンドレコードが読み込みデータに発見されたときは（ステップＳ６０２でＹＥＳ）、仕分けを要する帳票データがないと判断してステップＳ６０７の処理に進み、両ページバッファが空きでない或いは両エンドレコードが発見されなかったときは（ステップＳ６０２でＮＯ）、帳票データファイルに仕分けを要する帳票データがあると判断してステップＳ６０３の処理に進む。
【００５９】
ステップＳ６０３において、帳合帳票ファイルにＰＤＬヘッダを書き込む。ＰＤＬヘッダにはジョブ開始命令が含まれており、例えば印字モードとして両面／片面の指定やステイプルする／しないのパラメータを設定を行うことが可能である。ＰＤＬヘッダはマスタファイル内で定義されているパラメータを反映させて設定されるものである。つまり、マスタファイルを予め複数用意することで帳合帳票として作成するファイルに対して印刷モード（例えば印字モード、ステイプル、パンチ穴など）を異ならせることが可能となる。ファイル名の異なる複数のマスタファイル内に同一のセパレータ帳票データファイル名と明細帳票データファイル名を記載している場合でもＰＤＬコマンドを各々異ならせておくことにより、マスタ情報ファイル名を変えて入力ディレクトリに格納するだけで印刷モードを変えることが可能となるものである。また、異なる帳票データファイルに対して異なる印刷形態の帳合帳票を生成するように指定することが可能であることは言うまでもない。その後、図７のセパレータ帳票処理（ステップＳ６０４）、図８の明細帳票処理（ステップＳ６０５）を順次行って、Ｓ６０６で印刷ＪＯＢ終了コマンドを帳合帳票データファイルへ書き込み、その後再度ステップＳ６０２からの処理を行う。
【００６０】
ステップＳ６０７では、別明細帳票ファイルへの明細帳票データの書き込みがあるか否かを判別する（ステップＳ６０７）。この判別の結果、別明細帳票ファイルへ明細帳票データの書き込みがある場合は（ステップＳ６０７でＹＥＳ）、別明細帳票ファイルの最終行にエンドレコードを書き込み（ステップＳ６０９）、オープン中の各帳票データファイルを閉じ（ステップＳ６１０）、本処理を終了する。
【００６１】
一方、この判別の結果、別明細帳票データファイルへの明細帳票データの書き込みがない場合は（ステップＳ６０７でＮＯ）、オープン中の各帳票のファイルを閉じる（ステップＳ６１０）。
【００６２】
本処理によれば、帳票仕分けサーバ３００は、図７のセパレータ帳票処理（ステップＳ６０４）、図８の明細帳票処理（ステップＳ６０５）の後、セパレータ帳票データファイルと明細帳票データファイルの両方のページバッファが空になり、且つ両帳票データファイルの読み込み行にエンドレコードが発見されたとき（ステップＳ６０２でＹＥＳ）、即ち、仕分け処理する必要のある帳票データファイルの全てのデータの書き込みが終了したと判断したときで、且つ別明細帳票データファイルへの明細帳票データの書き込みがあるか否かを判別して（ステップＳ６０７）、帳合帳票ファイルと別明細帳票ファイルを分けて生成し、異なる処理に供することを可能にしている。また、別明細帳票データは内容によっては意味をなさないこともありえるため、印刷用紙の無駄を省くために印刷されないことを考慮して、この時点ではＰＤＬヘッダ等の印刷用データの書込みを行わないため無駄な処理をしないことでＣＰＵ３０１への負荷を減らしている。
【００６３】
図７は、図６におけるステップＳ６０４のセパレータ帳票処理のサブルーチンのフローチャートである。
【００６４】
図７において、まず、セパレータ帳票データ用のページバッファが空でかつセパレータ帳票データファイルの読み込みデータにエンドレコードが発見されたか否かを判別する（ステップＳ７０１）。エンドレコードの判定は、Ｓ７０２においてセパレータ帳票データ用にＲＡＭ３０３或いは外部メモリ３１１に確保されているページバッファに対してセパレータ帳票データを１レコードづつ改ページコマンドが現れるまで入力する際にエンドレコードの検出が行われており、Ｓ７０１のタイミングでは既に発見されているかを判定するものである。この判別の結果、ページバッファが空で、かつエンドレコードが発見されているときは（ステップＳ７０１でＹＥＳ）、セパレータ帳票データファイルに仕分けを要するセパレータ帳票データがないと判断してステップＳ６０５の明細帳票処理に進み、そうでない場合（ステップＳ７０１でＮＯ）には、セパレータ帳票データファイルに仕分けを要するセパレータ帳票データがあると判断してステップＳ７０２の処理に進む。
【００６５】
ステップＳ７０２において、１ページ分のセパレータ帳票データをバッファに確保する。このとき、セパレータ帳票データに対するエンドレコード検出を行っている。エンドレコードを検出した場合は、フラグ等でエンドレコードが検出されたことが識別可能な状態とするものである。
【００６６】
そして、ステップＳ７０３では、セパレータ帳票データファイルの読み込みデータにあるセパレータ帳票データのセパレータキーを確保し（ステップＳ７０３）、ステップＳ７０２で確保したページが本処理開始後最初のページであるか否かを判別する（ステップＳ７０４）。この判別の結果、最初のページであるときは（ステップＳ７０４でＹＥＳ）、セパレータキーの値を仕分けキーとして保存した後（ステップＳ７０５）、セパレータ用ＰＤＬ命令を帳合帳票ファイルに書き込み（ステップＳ７０６）、ステップＳ７０７に進み、一方最初のページでないときは（ステップＳ７０４でＮＯ）、そのままステップＳ７０７に進む。
【００６７】
ステップＳ７０７において、仕分けキーのレベルとセパレータキーのレベルを比較する。ここで、仕分けキーとは、帳票仕分けプログラムが仕分け処理時に用いるキーを指し、例えば図９（ａ）に記載されるＡが仕分けキーである。。この仕分けキーのレベルと、セパレータ帳票データ、及び明細帳票データの所定位置に記載されているセパレータキー、及び明細キーのレベルを比較することで、セパレータ帳票データ、及び明細帳票データの仕分けを行う。セパレータキーや後述する明細キーの格納されている位置はマスタファイル中に記載されているものであり、その情報に基づいてＣＰＵ３０１はプログラム実行中に取得している。
【００６８】
比較の結果、仕分けキーのレベルの方がセパレータキーのレベルより大きいときは（ステップＳ７０７でＹＥＳ）、エラー通知出力ファイルを作成し（ステップＳ７０８）、そのまま本処理を終了する。これにより、セパレータ帳票データファイルにあるデータに付されたセパレータキーの並びに異常がある旨をユーザに通知することができる。これは、予めセパレータ帳票データの並びが昇順になっていないと仕分け処理ができないためである。エラー通知ファイルは、このときに発生したエラー原因（この場合セパレータ帳票のセパレータキーが昇順になっていない）を示すコードを、予め作成され外部メモリ３１１の決められたディレクトリ等に用意されている雛型テキストファイルの所定位置に挿入することでエラー通知ファイルを生成するものである。エラー通知ファイルは不図示の決められたディレクトリに格納しておき、ユーザが後で閲覧可能な状態にしたり、印刷する、メール等で通知するなどが考えられる。
【００６９】
一方、比較の結果、仕分けキーのレベルとセパレータキーのレベルが等しいときは（ステップＳ７０７でＮＯ、ステップＳ７０９でＮＯ）、帳合帳票ファイルにステップＳ７０２でバッファに確保したセパレータ帳票データを書き込み（ステップＳ７１０）、ページバッファをクリアした後（ステップＳ７１１）、ステップＳ７０１からの処理を行う。これにより、セパレータ帳票データファイルにあるセパレータ帳票データを、帳合帳票ファイルに確実に仕分けて書き込むことができる。この処理は、仕分けキーのレベルの方がセパレータキーのレベルより小さくなったときに終了し（ステップＳ７０７でＮＯ、ステップＳ７０９でＹＥＳ）、ステップＳ６０５の明細帳票処理に進む。これにより、仕分けキーのレベルと異なるレベルのセパレータキーが付されたデータが誤って帳合帳票ファイルに書き込まれることを防止できる。
【００７０】
図８は、図６におけるステップＳ６０６の明細帳票処理のサブルーチンのフローチャートである。
【００７１】
図８において、まず、明細帳票データ用のページバッファが空でかつ明細帳票データファイルのデータにエンドレコードが発見されたか否かを判別する（ステップＳ８０１）。エンドレコードの判定は、Ｓ８０２において明細帳票データ用に確保されているページバッファに対して明細帳票データを１レコードづつ改ページコマンドが現れるまで入力する際にエンドレコードの検出だけは行われており、Ｓ８０１のタイミングでは既に発見されているかを判定するものである。この判別の結果、ページバッファが空で、かつエンドレコードが発見されているときは（ステップＳ８０１でＹＥＳ）、明細帳票データファイルに仕分けを要する明細帳票データがないと判断してステップＳ６０６の明細帳票処理に進み、発見されなかったときは（ステップＳ８０１でＮＯ）、明細帳票データファイルに仕分けを要する明細帳票データがあると判断してステップＳ８０２の処理に進む。
【００７２】
ステップＳ８０２において、１ページ分の明細帳票データをページバッファに確保すると（ステップＳ８０２）、明細帳票データファイルの読み込み行にある明細帳票データの明細キーを確保し（ステップＳ８０３）する。明細キーは１ページ分に１つ確保すれば良い。また、ここで前ページにて取得している明細キーと比較して昇順になっているかを判定するステップを入れることが望ましいが、説明が煩雑になるため確実に昇順になっているデータを処理しているものとする。次に、ステップＳ８０２で確保したページが本処理開始後最初のページであるか否かを判別する（ステップＳ８０４）。この判別の結果、最初のページであるときは（ステップＳ８０４でＹＥＳ）、明細用ＰＤＬ命令を帳合帳票ファイルに書き込み（ステップＳ８０５）、ステップＳ８０６に進み、最初のページでないときは（ステップＳ８０４でＮＯ）、そのままステップＳ８０６に進む。
【００７３】
ステップＳ８０６において、仕分けキーのレベルと明細キーのレベルを比較する。比較の結果、仕分けキーのレベルの方が明細キーのレベルより大きいときは（ステップＳ８０６でＹＥＳ）、帳合帳票ファイルの書き込みに異常が生じたと判断し、別明細帳票ファイルにページバッファに格納されいている明細帳票データ入力して（ステップＳ８１０）、次にステップＳ８０９へ移行する。
【００７４】
このような判別がなされるのは、具体的には、明細帳票データファイルの明細帳票データに付された明細キーのうち、そのレベルと同じセパレータキーが付されたセパレータ帳票データがセパレータ帳票データファイルにはない場合であり（図１１に示すケース）、別明細帳票ファイルにこの明細キーが付された明細帳票データの書き込みを行う。これにより、帳合帳票ファイルの書き込みにどのような異常が生じたのかユーザに通知することができる。また、明細のみの異常ケースの場合はユーザが印刷を欲しているか否か不明なため、ここではＰＤＬヘッダやＪＯＢ終了命令を付加しない形で別明細帳票データをファイルに書き込むことでファイルを生成するものであり、正常ケース（帳合帳票として作成されたファイル）とは異なる取り扱いが可能になっている。
【００７５】
一方、比較の結果、仕分けキーのレベルと明細キーのレベルが等しいときは（ステップＳ８０６でＮＯ、ステップＳ８０７でＮＯ）、帳合帳票ファイルにステップＳ８０２でページバッファに確保した明細帳票データを書き込み（ステップＳ８０８）、ページバッファをクリアした後（ステップＳ８０９）、ステップＳ８０１からの処理を行う。これにより、明細帳票データファイルにある明細帳票データを、帳合帳票ファイルに確実に仕分けて書き込むことができる。この処理は、仕分けキーのレベルの方が明細キーのレベルより小さくなったときに終了し（ステップＳ８０６でＮＯ、ステップＳ８０７でＹＥＳ）、ステップＳ６０６の処理に進む。これにより、仕分けキーのレベルと異なるレベルの明細キーが付されたデータが誤って帳合帳票ファイルに書き込まれることを防止できる。
【００７６】
以上説明したように、正常な帳合帳票が作成された場合、具体的には、図９（ｃ）に示すように、帳合帳票ファイルには、まず、冒頭にＰＤＬヘッダが書き込まれた後、仕分けキー毎にセパレータ帳票データ、明細帳票データの順に帳合帳票ファイルに書き込まれ、１つの仕分けキーによる書き込みが終了するとジョブ終了命令が帳合帳票に書き込まれる。このようなデータ構造となっている帳合帳票ファイルが作成され、図２で示すようにプリンタ４００でこのファイルから作成された印刷データがシートに印刷出力される。
【００７７】
これに対し、セパレータ帳票データの書き込みはあるが明細帳票データの書き込みがない仕分けがある場合、例えば、図１０（ｃ）に示すように、仕分けキー「Ｂ」により仕分けされたデータが、セパレータ帳票データのみで明細帳票データがなかった場合、このセパレータキー「Ｂ」が付されたセパレータ帳票データのみからなる帳合帳票を示すデータファイルが作成される。つまり、現実の印刷物はセパレータ帳票のみとなる。
【００７８】
また、明細帳票データファイルの明細帳票データに付された明細キーのうち、そのレベルと同じセパレータキーが付されたセパレータ帳票データがセパレータ帳票データファイルにはない場合（ステップＳ８０６でＹＥＳ）、帳合帳票ファイルの書き込みに異常が生じたと判断する。例えば、図１１（ａ）に示すように、明細帳票データファイルには明細キー「Ｂ」が付されたデータが存在するが、セパレータ帳票データファイルにはセパレータキー「Ｂ」が付されたデータ存在しない場合、この明細キー「Ｂ」が付された明細帳票データの内容を示す別明細帳票データファイル（図１１（ｄ））が作成され、図２に示すように不図示のエラー用の出力ディレクトリに出力される。この場合もステップＳ７０８にあるようにエラー通知ファイルも作成しておくことが可能である。つまりステップＳ８１０の後にステップＳ７０８を実行するものである。
【００７９】
本実施の形態では、全ての帳票データの仕分け処理が終了した後で、ステップＳ４０６の後処理で帳合帳票データファイルをプリンタ４００に出力しているが、特にこれに限らない。例えばステップＳ６０６でジョブ終了命令を書き込むたびにプリンタに出力するように制御し、プリンタへ出力後に、出力済み帳合帳票データファイルをクリアして、新規ファイルをオープンするように繰り返すことでも帳合帳票の印刷を実行することは可能である。この際既にファイルをクリアしているので同一ファイル名を用いて帳合帳票データファイルを作成することが可能である。この動作は仕分けキーごとにプリンタに出力することになる。
【００８０】
本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。上述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体等の媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体等の媒体に格納されたプログラムコードを読み出し実行することによっても、本発明が達成されることは言うまでもない。
【００８１】
この場合、記憶媒体等の媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体等の媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体等の媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、或いはネットワークを介したダウンロードなどを用いることができる。
【００８２】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【００８３】
更に、記憶媒体等の媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。 
【図面の簡単な説明】
【００８４】
【図１】本発明の実施の形態に係る仕分け・ソーティングシステムである帳票仕分けシステムの構成図である。
【図２】図１の帳票仕分けシステム１による帳票仕分け方法の概要を説明する図である。
【図３】図１における帳票仕分けサーバ３００のハードウェア構成を示すブロック図である。
【図４】図１における帳票仕分けサーバ３００による帳票仕分け処理のフローチャートである。
【図５】図２におけるマスタ情報ファイルに書き込まれたデータ内容を示す図である。
【図６】図１における帳票仕分けサーバ３００による帳票処理のフローチャートである。
【図７】図６におけるステップＳ６０４のセパレータ帳票処理のサブルーチンのフローチャートである。
【図８】図６におけるステップＳ６０５の明細帳票処理のサブルーチンのフローチャートである。
【図９】正常な帳合帳票ファイルが作成される場合の各ファイルのデータ構成の一例を示す図であり、（ａ）はセパレータ帳票データファイルのデータ構成を示し、（ｂ）は明細帳票データファイルのデータ構成を示し、（ｃ）は帳合帳票ファイルのデータ構成を示す。
【図１０】帳合帳票ファイルの書き込みが異常が発生する場合の各ファイルのデータ構成の一例を示す図であり、（ａ）はセパレータ帳票データファイルのデータ構成を示し、（ｂ）は明細帳票データファイルのデータ構成を示し、（ｃ）は帳合帳票ファイルのデータ構成を示す。
【図１１】帳合帳票ファイルの書き込みが異常が発生する場合の各ファイルのデータ構成の一例を示す図であり、（ａ）はセパレータ帳票データファイルのデータ構成を示し、（ｂ）は明細帳票データファイルのデータ構成を示し、（ｃ）は帳合帳票ファイルのデータ構成を示し、（ｄ）は別明細帳票用ファイルのデータ構成を示す。
【符号の説明】
【００８５】
１  帳票仕分けシステム
１００  メインフレーム
２００  ネットワーク
３００  帳票仕分けサーバ
４００  プリンタ
【図１】
2005141450.tif 000003
【図２】
2005141450.tif 000004
【図３】
2005141450.tif 000005
【図４】
2005141450.tif 000006
【図５】
2005141450.tif 000007
【図６】
2005141450.tif 000008
【図７】
2005141450.tif 000009
【図８】
2005141450.tif 000010
【図９】
2005141450.tif 000011
【図１０】
2005141450.tif 000012
【図１１】
2005141450.tif 000013