(57)【要約】　　　（修正有）【課題】帳表データをオーバレイ印刷する際に、帳票に明細行を挿入可能とする。【解決手段】記憶された帳表データの参照及び更新が可能で、前記帳票データをオーバレイ印刷する帳表処理システムにおいて、罫線枠を変更せず、明細行の明細行ライン情報および変動情報を行の挿入分だけ表示および印刷の位置をサーバ２０によりずらす。この位置変更処理に関連して１ページの帳票の明細行ライン情報のの開始および終了位置を記載したページデータもサーバ２０により変更する。【選択図】　　　　　図１
2004070923.tif 000002
【特許請求の範囲】
【請求項１】
帳票データを第１の記憶手段に記憶しておき、当該記憶された帳票データの参照および更新が可能で、前記帳票データをオーバレイ印刷する帳票処理システムにおいて、
１ページ分の帳票の前記帳票データは各ページの帳票で共通使用する罫線枠を描画するための罫線情報、複数の明細行に固定文字列をオーバレイ印刷するための複数組の明細行ライン情報および該明細行ライン情報の示す固定文字列に対応させてオーバレイ印刷する変動情報を有し、帳票の内容に応じてページが連続する複数組の帳票データを１つのグループとしてまとめ、当該まとめられたグループに対してグループ識別情報を予め与えておき、
帳票の各ページについて、開始の明細行ライン情報を示す明細行開始情報および終了の明細行ライン情報を示す明細行終了情報と、前記グループ識別情報とを１組とした複数組のページデータを記憶しておく第２の記憶手段と、
更新対象のページの帳票データを帳票の形態で表示する表示手段と、
当該帳票が表示された表示画面上で、明細行の挿入位置を指定する位置指定手段と、
前記第１の記憶手段中の明細行ライン情報の中の当該指定された挿入位置に対応する位置に挿入する明細行の個数と同数の空白の明細行ライン情報を挿入する第１の情報処理手段と、
前記第２の記憶手段中の変動情報中の当該指定された挿入位置に対応する位置に挿入する明細行の個数と同数の空白の変動情報を挿入する第２の情報処理手段と、
挿入する明細行の個数と挿入位置に基づき、前記第２の記憶手段の同一グループに存在するページデータの明細行開始情報および明細行終了情報を更新する第３の情報処理手段と、
前記第１の記憶手段の帳票データと、第２の記憶手段のページデータとに基づき前記表示画面上で当該帳票データを帳票の形態で表示させる表示制御手段と
を具えたことを特徴とする帳票処理システム。
【請求項２】
請求項１に記載の帳票処理システムにおいて、
前記第１の情報処理手段は、前記１の記憶手段中の１組以上の明細行ライン情報をコピーして前記空白の明細行ライン情報の挿入に代わり、コピーした明細行ライン情報を前記第１の記憶手段中の明細行ライン情報の挿入位置に挿入し、前記第２の情報処理手段は、前記１の記憶手段中の１組以上の変動情報をコピーして前記空白の変動情報の挿入に代わり、前記第１の記憶手段中の変動情報の挿入位置にコピーした変動情報を挿入することを特徴とする帳票処理システム。
【請求項３】
帳票データを第１の記憶手段に記憶しておき、当該記憶された帳票データの参照および更新が可能で、前記帳票データをオーバレイ印刷する帳票処理システムにおいて、
１ページ分の帳票の前記帳票データは各ページの帳票で共通使用する罫線枠を描画するための罫線情報、複数の明細行に固定文字列をオーバレイ印刷するための複数組の明細行ライン情報および該明細行ライン情報の示す固定文字列に対応させてオーバレイ印刷する変動情報を有し、帳票の内容に応じてページが連続する複数組の帳票データを１つのグループとしてまとめ、当該まとめられたグループに対してグループ識別情報を予め与えておき、
帳票の各ページについて、開始の明細行ライン情報を示す明細行開始情報および終了の明細行ライン情報を示す明細行終了情報と、前記グループ識別情報とを１組とした複数組のページデータを記憶しておく第２の記憶手段と、
更新対象のページの帳票データを帳票の形態で表示する表示手段と、
当該帳票が表示された表示画面上で、削除すべき明細行を範囲指定する位置指定手段と、
前記第１の記憶手段中の明細行ライン情報の中の当該範囲指定された明細行に対応する明細行ライン情報を削除する第１の情報処理手段と、
前記第２の記憶手段中の変動情報中の当該範囲指定された明細行に対応する変号情報を削除する第２の情報処理手段と、
削除する明細行の個数とその削除位置に基づき、前記第２の記憶手段の同一グループに存在するページデータの明細行開始情報および明細行終了情報を更新する第３の情報処理手段と、
前記第１の記憶手段の帳票データと、第２の記憶手段のページデータとに基づき前記表示画面上で当該帳票データを帳票の形態で表示させる表示制御手段と
を具えたことを特徴とする帳票処理システム。
【請求項４】
帳票データを第１の記憶手段に記憶しておき、当該記憶された帳票データの参照および更新が可能で、前記帳票データをオーバレイ印刷する帳票処理システムで実行されるプログラムを記録するコンピュータ可読記録媒体において、
前記帳票処理システム内に第２の記憶手段が設けられており、
１ページ分の帳票の前記帳票データは各ページの帳票で共通使用する罫線枠を描画するための罫線情報、複数の明細行に固定文字列をオーバレイ印刷するための複数組の明細行ライン情報および該明細行ライン情報の示す固定文字列に対応させてオーバレイ印刷する変動情報を有し、帳票の内容に応じてページが連続する複数組の帳票データを１つのグループとしてまとめ、当該まとめられたグループに対してグループ識別情報を予め与えておき、
帳票の各ページについて、開始の明細行ライン情報を示す明細行開始情報および終了の明細行ライン情報を示す明細行終了情報と、前記グループ識別情報とを１組とした複数組のページデータを記憶する第２の記憶手段が前記帳票処理システム内に設けられており、
更新対象のページの帳票データを帳票の形態で表示する表示ステップと、
当該帳票が表示された表示画面上で、明細行の挿入位置を指定する位置指定ステップと、
前記第１の記憶手段中の明細行ライン情報の中の当該指定された挿入位置に対応する位置に挿入する明細行の個数と同数の空白の明細行ライン情報を挿入する第１の情報処理ステップと、
前記第２の記憶手段中の変動情報中の当該指定された挿入位置に対応する位置に挿入する明細行の個数と同数の空白の変動情報を挿入する第２の情報処理ステップと、
挿入する明細行の個数と挿入位置に基づき、前記第２の記憶手段の同一グループに存在するページデータの明細行開始情報および明細行終了情報を更新する第３の情報処理ステップと、
前記第１の記憶手段の帳票データと、第２の記憶手段のページデータとに基づき前記表示画面上で当該帳票データを帳票の形態で表示させる表示制御ステップと
を具えたことを特徴とするコンピュータ可読記録媒体。
【請求項５】
請求項４に記載のコンピュータ可読記録媒体において、
前記第１の情報処理ステップでは、前記１の記憶手段中の１組以上の明細行ライン情報をコピーして前記空白の明細行ライン情報の挿入に代わり、コピーした明細行ライン情報を前記第１の記憶手段中の明細行ライン情報の挿入位置に挿入し、前記第２の情報処理ステップでは、前記１の記憶手段中の１組以上の変動情報をコピーして前記空白の変動情報の挿入に代わり、前記第１の記憶手段中の変動情報の挿入位置にコピーした変動情報を挿入することを特徴とするコンピュータ可読記録媒体。
【請求項６】
帳票データを第１の記憶手段に記憶しておき、当該記憶された帳票データの参照および更新が可能で、前記帳票データをオーバレイ印刷する帳票処理システムで実行するプログラムを記録したコンピュータ可読記録媒体において、
１ページ分の帳票の前記帳票データは各ページの帳票で共通使用する罫線枠を描画するための罫線情報、複数の明細行に固定文字列をオーバレイ印刷するための複数組の明細行ライン情報および該明細行ライン情報の示す固定文字列に対応させてオーバレイ印刷する変動情報を有し、帳票の内容に応じてページが連続する複数組の帳票データを１つのグループとしてまとめ、当該まとめられたグループに対してグループ識別情報を予め与えておき、
前記帳票処理システム内に帳票の各ページについて、開始の明細行ライン情報を示す明細行開始情報および終了の明細行ライン情報を示す明細行終了情報と、前記グループ識別情報とを１組とした複数組のページデータを記憶した第２の記憶手段が設けられており、
更新対象のページの帳票データを帳票の形態で表示する表示ステップと、
当該帳票が表示された表示画面上で、削除すべき明細行を範囲指定する位置指定ステップと、
前記第１の記憶手段中の明細行ライン情報の中の当該範囲指定された明細行に対応する明細行ライン情報を削除する第１の情報処理ステップと、
前記第２の記憶手段中の変動情報中の当該範囲指定された明細行に対応する変号情報を削除する第２の情報処理ステップと、
削除する明細行の個数とその削除位置に基づき、前記第２の記憶手段の同一グループに存在するページデータの明細行開始情報および明細行終了情報を更新する第３の情報処理ステップと、
前記第１の記憶手段の帳票データと、第２の記憶手段のページデータとに基づき前記表示画面上で当該帳票データを帳票の形態で表示させる表示制御ステップと
を具えたことを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は表示画面上で帳票データを参照、更新（作成を含む）することの可能な帳票処理システムに関し、特に、更新した帳票データをオーバーレイ印刷する帳票処理システムに関する。
【０００２】
【従来の技術】
従来、帳票を作成し、作成した帳票をデータベースに記憶し、所望の帳票を指定してオーバレイ印刷する帳票処理システムが知られている。従来この種のシステムでは、オーバレイ印刷のために、各ページ共通的に使用する固定部分の情報（書式データあるいはページデータとも呼ばれる）と、固定部分の情報の固定文字列情報に関連付けられ、ページ毎に内容が異なる変動部分の変動情報がデータベースの形態で記憶されている。
【０００３】
オーバレイ印刷を行うためには、１枚の印刷用紙に、まず、固定部分の文字列、罫線を印刷した後、変動部分のデータを予め定められた位置に印刷していく。したがって、変動部分のデータはその種類に応じて一定の順所に並べ、各ページとも変動部分の情報の個数は同じでなければならないという制約がある。
【０００４】
【発明が解決しようとする課題】
（第１の課題）
また、従来のシステムではデータベースに保存されている固定データおよび変動情報を帳票の形態で表示させて、変動情報の内容を変更することが可能であるが、たとえば、データベース中の変動情報を誤って変更してしてしまうと、データベースのバックアップをとってかない限り、変更された変動情報を基に戻すことは不可能である。また、変動情報の変更後に変更前の変動情報を知りたい事態が生じても、印刷物の形態で残しておかない限り、ユーザは変更前の変動情報を知ることはできないという第１の課題があった。
【０００５】
（第２の課題）
上述したようにオーバーレイ印刷のために記憶データにはデータ構造上の制約があるために、従来では、一度、帳票の書式を決定してしまうと、特定の範囲にだけ１行以上の固定データおよび変動情報を挿入できなかった。
【０００６】
なお、従来のデータベースベースのデータの挿入処理技術では、１レコード（複数フィールドを１組としたデータセット）の中にフィールド（上記住所録のたとえば、会社名、という項目名）を挿入することが可能である。たとえば、住所録にＥメールというフィールドを追加すると、全レコードに対してＥメールという変動情報を記憶する領域ができてしまう。このような情報処理技術では、たとえば、住所録の中のＡという会社名の人にだけ、Ｅメールのアドレス情報の記載欄を設け、Ｂという会社名の人にはＥメールのアドレス記載欄を設けないということはできない。
【０００７】
そこで、本発明の第１の目的は、記憶データのセキュリティ性を向上させた帳票処理システムを提供することにある。
【０００８】
本発明の第２の目的は、罫線枠などの書式を変更せずに特定のグループ内で帳票の固定文字列とそれに対応する変動情報を追加／削除することの可能な帳票処理システムを提供することにある。
【０００９】
【課題を解決するための手段】
このような第２の目的を達成するために、本発明は、帳票データを第１の記憶手段に記憶しておき、当該記憶された帳票データの参照および更新が可能で、前記帳票データをオーバレイ印刷する帳票処理システムにおいて、１ページ分の帳票の前記帳票データは各ページの帳票で共通使用する罫線枠を描画するための罫線情報、複数の明細行に固定文字列をオーバレイ印刷するための複数組の明細行ライン情報および該明細行ライン情報の示す固定文字列に対応させてオーバレイ印刷する変動情報を有し、帳票の内容に応じてページが連続する複数組の帳票データを１つのグループとしてまとめ、当該まとめられたグループに対してグループ識別情報を予め与えておき、帳票の各ページについて、開始の明細行ライン情報を示す明細行開始情報および終了の明細行ライン情報を示す明細行終了情報と、前記グループ識別情報とを１組とした複数組のページデータを記憶しておく第２の記憶手段と、更新対象のページの帳票データを帳票の形態で表示する表示手段と、当該帳票が表示された表示画面上で、明細行の挿入位置を指定する位置指定手段と、前記第１の記憶手段中の明細行ライン情報の中の当該指定された挿入位置に対応する位置に挿入する明細行の個数と同数の空白の明細行ライン情報を挿入する第１の情報処理手段と、前記第２の記憶手段中の変動情報中の当該指定された挿入位置に対応する位置に挿入する明細行の個数と同数の空白の変動情報を挿入する第２の情報処理手段と、挿入する明細行の個数と挿入位置に基づき、前記第２の記憶手段の同一グループに存在するページデータの明細行開始情報および明細行終了情報を更新する第３の情報処理手段と、前記第１の記憶手段の帳票データと、第２の記憶手段のページデータとに基づき前記表示画面上で当該帳票データを帳票の形態で表示させる表示制御手段とを具えたことを特徴とする。
【００１０】
本発明は、さらに、前記第１の情報処理手段は、前記１の記憶手段中の１組以上の明細行ライン情報をコピーして前記空白の明細行ライン情報の挿入に代わり、コピーした明細行ライン情報を前記第１の記憶手段中の明細行ライン情報の挿入位置に挿入し、前記第２の情報処理手段は、前記１の記憶手段中の１組以上の変動情報をコピーして前記空白の変動情報の挿入に代わり、前記第１の記憶手段中の変動情報の挿入位置にコピーした変動情報を挿入することを特徴とする。
【００１１】
本発明は、帳票データを第１の記憶手段に記憶しておき、当該記憶された帳票データの参照および更新が可能で、前記帳票データをオーバレイ印刷する帳票処理システムにおいて、１ページ分の帳票の前記帳票データは各ページの帳票で共通使用する罫線枠を描画するための罫線情報、複数の明細行に固定文字列をオーバレイ印刷するための複数組の明細行ライン情報および該明細行ライン情報の示す固定文字列に対応させてオーバレイ印刷する変動情報を有し、帳票の内容に応じてページが連続する複数組の帳票データを１つのグループとしてまとめ、当該まとめられたグループに対してグループ識別情報を予め与えておき、帳票の各ページについて、開始の明細行ライン情報を示す明細行開始情報および終了の明細行ライン情報を示す明細行終了情報と、前記グループ識別情報とを１組とした複数組のページデータを記憶しておく第２の記憶手段と、更新対象のページの帳票データを帳票の形態で表示する表示手段と、当該帳票が表示された表示画面上で、削除すべき明細行を範囲指定する位置指定手段と、前記第１の記憶手段中の明細行ライン情報の中の当該範囲指定された明細行に対応する明細行ライン情報を削除する第１の情報処理手段と、前記第２の記憶手段中の変動情報中の当該範囲指定された明細行に対応する変号情報を削除する第２の情報処理手段と、削除する明細行の個数とその削除位置に基づき、前記第２の記憶手段の同一グループに存在するページデータの明細行開始情報および明細行終了情報を更新する第３の情報処理手段と、前記第１の記憶手段の帳票データと、第２の記憶手段のページデータとに基づき前記表示画面上で当該帳票データを帳票の形態で表示させる表示制御手段とを具えたことを特徴とする。
【００１２】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１３】
図１は本発明の実施形態のシステム構成を示す。図１において、クライアント１０とサーバ２０がＬＡＮなどの通信ケーブルで接続されている。クライアント１０およびサーバ２０は汎用コンピュータを使用することができる。クライアント１０からは作成した帳票を表示（参照）するための操作１１、印刷の指示のための操作１２および作成した帳票のデータを更新するための操作１３および後述のキーを作成する操作１４が可能である。これらの操作はクライアント１０のキーボードまたはマウスにより行われる。サーバ２０のハードディスク記憶装置には以下に述べる機能を実現するプログラム、作成した帳票関連データ、セキュリティ関連データおよび作成した帳票データ（データベース形態）に記憶されいる。本実施形態では、セキュリティ機能としては、
（１）更新セキュリティ機能２１、
（２）参照・更新間排他機能２２
（３）更新・更新間排他機能２３
（４）キー作成排他機能２４
（５）更新ページの記憶および更新履歴の管理機能２５
を実現するためのプログラムが用意されている。
【００１４】
また、本実施形態では、従来と同様の帳票作成、印刷等の帳票処理機能２６を実現するプログラムの中に、帳票の行編集機能２７を実現するプログラムが含まれている。これら機能を実現するためのプログラムは実行時にはハードディスク記憶装置からシステムメモリにロードされた後、ＣＰＵにより実行される。
【００１５】
ハードディスク記憶装置には図２に示すようなセキュリティ関連のデータがテーブルの形態で予め登録されている。
【００１６】
図２において、参照許可テーブル３１には作成した帳票データの参照を許可する者のユーザＩＤが記載されている。更新許可テーブル３２には更新を許可する者のユーザＩＤ、ユーザ許可端末および更新を許可する帳票のディレクトリあるいは識別番号が記載されている。キー参照許可テーブル３３にはキー、すなわち、帳票の検索に使用するキーや本発明に係る後述のページ・グループキーを参照することができる者のユーザＩＤが記載されている。キー更新許可テーブル３４にはこれらキーの更新を許可する者のユーザＩＤが記載されている。
【００１７】
システム動作の説明に先立って、帳票の参照、更新、キーの作成に関連して記憶するフラグ情報を図３を参照して説明しておく。
【００１８】
フラグには帳票更新中のユーザの有無を排他オン（更新）／排他オフ（無し）で示すフラグ、帳票参照中のユーザの有無を排他オン（参照）／排他オフ（無し）で示すフラグ、キー作成中のユーザの有無を排他オン（作成）／排他オフ（無し）で示すフラグが用意されている。これらのフラグ情報により、同一の帳票データに対して複数のユーザが同時にアクセスすることを回避する。このための処理は図７および図９を使用して後述する。
【００１９】
本実施形態では従来にはない帳票の明細行の挿入／削除機能を実現するために新たにページ毎の書式情報（以下、ページデータと称する）を帳票データの管理のために用意している。そこで、本実施形態では、上述の更新ページの記憶および更新履歴の管理機能（５）を実現するために、帳票の各ページのページデータの中に図４の（Ａ）に示すようにバージョン情報を含ませている。
【００２０】
ページデータは明細行の挿入削除機能の説明で詳述するが、ヘッダ行のライン情報、開始、終了それぞれの明細行ライン情報を示す識別情報、フッタの行ライン情報で構成される。
【００２１】
ユーザが作成した帳票の変動情報の変更、あるいは固定部分の文字列、いわゆる明細行ライン情報を変更する毎に自動的に帳票のページ毎にバージョン情報が図４の（Ｂ）に示すように更新される。
（セキュリティ関連の情報処理）
上述のセキュリティ関連機能を図５〜図１０を参照して説明する。
【００２２】
図５はサーバ２０側のＣＰＵ（以下、単にＣＰＵと略記する）により実行されるメインプログラムの内容を説明する。なお、図５において、従来からある情報処理、たとえば、帳票の作成処理等については図５では省略している。図５に示す処理プログラムはＣＰＵが実行可能なプログラム言語で記載され、記録媒体、本実施形態ではハードディスクに保存されている。
【００２３】
図５において、ＣＰＵはクライアント１０からログインのためのユーザＩＤの入力を受け付け（ステップＳ５０１）、ユーザＩＤを入力したクライアント１０に対してログインを許可する場合には、クライアントの端末識別番号とユーザＩＤを内部メモリに保存する（ステップＳ５０２）。ログイン許可の後は、ＣＰＵはクライアント１０から実行すべき処理内容を受け付ける（ステップＳ５０３）。
【００２４】
ＣＰＵは実行すべき処理内容をステップＳ５０４〜Ｓ５０６の間で識別する。実行すべき処理内容が帳票の参照の場合には、手順はステップＳ５０４からステップＳ５１１へと進み、ここで、ＣＰＵはログインしたクライアント１０のユーザが帳票の参照を許可されている否かを図２の参照許可テーブル３１の参照により判定する。
【００２５】
ログインしたユーザのユーザＩＤと同じユーザＩＤが参照許可テーブル３１に記載されている場合には、ＣＰＵはステップＳ５１２へと手順を進め、参照要求処理を実行する。参照要求処理の詳細は後述するが。この処理内でＣＰＵはユーザが指示する帳票データを帳票データベースから読み出してクライアントに転送する。クライアント１０側では、転送された帳票データをイメージに変換して表示する。
【００２６】
一方、参照許可テーブル３１にユーザＩＤが記載されていなかった場合は、このユーザは参照する資格がないとＣＰＵは判断し手順をステップＳ５０８に移行させる。
【００２７】
これにより、手順がステップＳ５１２には移行しないので、ユーザは帳票を参照することができない。
【００２８】
ユーザから更新処理が指示された場合には、手順はステップ５０５〜ステップＳ５２１へと進み、更新許可テーブル３２の参照によりステップＳ５２２の更新要求処理への可否が決定される。
【００２９】
ステップＳ５２２の詳細を図６に示す。本実施形態では、帳票の更新については、クライアントの端末ＩＤ，ユーザＩＤおよび更新すべき帳票のディレクトリ、あるいは識別番号のそれぞれが更新許可テーブル３２に記載されているものと一致した場合に（ステップＳ６０１〜Ｓ６０３の判定がすべてＹＥＳ判定）、更新が許可され、図５のステップＳ５１２へ移行する。一方、更新許可されない場合（ステップＳ６０１〜Ｓ６０３の判定処理のいずれかがＮＯ判定）には更新は不許可となり、実行手順が図５のステップＳ５０８へと移行する。
【００３０】
キー作成処理の指示はステップＳ５０６で検出され、ステップＳ５３１で図２のキー更新許可テーブル３４のユーザＩＤの参照によりステップＳ５３２でのキー作成の可否が決定される。
【００３１】
ユーザからのキーの参照の指示はステップＳ５０７で検出され、ステップＳ５４１で、キー参照許可テーブル３４のユーザＩＤの参照によりステップＳ５４２でのキー参照処理の可否が決定される。
【００３２】
本実施形態ではログイン後のユーザは異なる処理の実行の指示が可能である。ユーザの指示する処理が終了すると、ユーザが処理全体の終了を指示しない限り、手順はステップＳ５０８→Ｓ５０３に移行するので、ユーザは、異なる処理の実行を指示することができる。また、その都度指示される処理内容がステップＳ５０４からＳ５０７の判定処理で識別され、その処理の実行の可否がステップＳ５１１、Ｓ５２１，Ｓ５３１，Ｓ５４１で判定される。ユーザが終了の指示をクライアント１０から入力するとその指示がステップＳ５０８で識別されてクライアント１０とサーバ２０との間の通信が断される。
【００３３】
次に更新が許可された後の図５の更新要求処理について説明する。更新要求処理の詳細を図７に示す。ＣＰＵはハードディスク記憶装置に記憶されているフラグ情報（図３参照）を調べ、更新中フラグ参照中フラグ、キー作成中フラグのそれぞれがオン（ビット１）になっているか否かを調べる（ステップＳ７１０）。更新中フラグまたは参照中フラグがオンの場合には、他のクライアントのユーザが、帳票のキーまたは帳票を参照中であるので、手順はステップＳ７２０→Ｓ７２１へと進む。ここで、ＣＰＵは他のクライアント１０のユーザがキー作成または参照が終了するまで待機する（ステップＳ７２１）。より具体的には、参照中フラグが排他オフとなるのを待機する。
【００３４】
他のクライアント１０のユーザによるキー作成または帳票の参照が終了したことを検出するとＣＰＵは図２の更新中フラグをオンに設定し、ユーザからの更新指示を実行すべくステップＳ７５０の更新処理へと手順を進める。
【００３５】
帳票に対して参照、更新、キー作成をしているものがない場合には、全てのフラグ情報がオフとなっているので、このことをステップＳ７２０およびステップＳ７３０の判定処理で確認すると、ＣＰＵは他のユーザの更新要求を排他すべく更新フラグ情報をオンする。また、内部メモリに更新を許可したユーザのユーザＩＤおよび端末ＩＤを設定する。この後、ＣＰＵは更新が許可されたユーザによる指示に応じて帳票の更新処理を行う（ステップＳ７４０）。
【００３６】
一方、更新資格を有する他のユーザが帳票の更新を行っている場合、すでに更新中フラグがオンになっているので、ＣＰＵはユーザのクライアント１０に対して、帳票を更新中ユーザがいることのメッセージ、そのユーザＩＤ．端末ＩＤを送信し、表示させる（ステップＳ７３５）。この後、手順を図５のステップＳ５０８に戻す。
【００３７】
図７のステップＳ７５０の帳票の更新処理の詳細を図８に示す。図８において、ＣＰＵは指定されたページの帳票をハードディスク記憶装置上の帳票データベースから読み出して、クライアント１０に転送し、表示させる（ステップＳ８１０→Ｓ８２０）。
【００３８】
クライアント１０では、表示画面の帳票に対して更新操作を行い、確定の指示を行うと、従来と同様にして、クライアント１０は更新後の帳票データをサーバ２０に送信する（ステップＳ８３０）。サーバ２０のＣＰＵは帳票データベース上の該当するページの帳票データをハードディスク記憶装置上の別の更新履歴情報記憶領域に更新前の帳票データ（ページデータ、図４（Ｂ）参照）およびそのときのバージョン情報をコピーにより記憶すると共に、帳票データベースの該当するページの帳票データを更新後の帳票データで書き換える（ステップＳ８４０）。
【００３９】
なお、この処理に関連して、更新が行われたページに関する変更履歴情報、すなわち、ページのバージョン情報を自動更新する。バージョン情報はページ単位の帳票が新規作成された時に初期的に数値０が与えられ、以後、そのページの更新毎に１づつ加算（インクリメント）される。これまでのバージョン情報、最新バージョン情報および各バージョン情報に対応する帳票データは履歴管理テーブルと呼ばれるテーブルに、帳票ページの識別番号に対応させて記憶される。ユーザが異なるページの更新を行う毎にステップＳ８３０〜Ｓ８５０の上述の処理が繰り返し実行され、ユーザの終了指示に応じて、ＣＰＵは図８の更新処理手順を終了する。
【００４０】
以上説明したように、本実施形態では、ページ単位での帳票データ（後述の明細行ライン情報、変動情報およびページデータ）の更新が可能であり、また、その更新履歴が保存されるとともに、更新前の帳票データも累積的に保存される。
【００４１】
図５のステップＳ５１２の参照要求処理の詳細を図９に示す。図９において、ＣＰＵは図３の更新中、キー更新中フラグを参照する。これらフラグ情報のいずれかがオンとなっている場合、ユーザが参照しようとしているページの帳票データに対して更新が行われているので、その更新が終了するまで待機を行う（ステップＳ９２０）。
【００４２】
帳票の更新処理が終了し、更新中フラグまたはキー作成中フラグがオフになったことを検出すると、ＣＰＵは参照中フラグをオンし、図１０の参照処理を実行する（ステップＳ９２１→Ｓ９４０）。
【００４３】
一方、他のユーザがキー作成または帳票の更新を行っていない場合には参照フラグをオンして直ちに参照処理を実行する（ステップＳ９２０→Ｓ９３０→Ｓ９４０）。
【００４４】
上記参照処理の詳細を図１０に示す。本実施形態では、３種類の帳票、すなわち、作成時のオリジナルの帳票、更新された帳票、最新の帳票のページを参照することができる。
【００４５】
ユーザはクライアント１０から種類の指定、なお、更新の帳票については、バージョンの指定を行う。この指定の内容がサーバ２０のＣＰＵにより識別される（ステップＳ１０１０）。
【００４６】
オリジナルの帳票が指定された場合には、オリジナルの帳票データの記憶アドレスを管理するデータ管理テーブルから、記憶アドレスを取得し、帳票データベースの該当記憶アドレスから帳票データを読み出し、クライアント１０に転送して表示させる（ステップＳ１０５０）。
【００４７】
バージョンが指定された帳票の場合には、履歴管理テーブルから該当のバージョンの帳票の記憶アドレスを取得し、帳票データーベースから帳票データを読み出して、クライアント１０に転送し、表示させる（ステップＳ１０４０）。
【００４８】
最新の帳票が指定された場合には、履歴管理テーブルの中の最新バージョンを記憶するテーブルから最新バージョンを取得し、取得したバージョンが“０”（オリジナル）か否かの判定を行う（ステップＳ１０３０）。最新バージョンがオリジナルと同じバージョンの場合には、データ管理テーブルから記憶アドレスを読み出す。また、最新バージョンがオリジナルではない場合には、履歴管理テーブルから記憶アドレスを読み出す。読み出された記憶アドレスにしたがって、該当の帳票データが帳票データベースから読み出され、クライアント１０に転送されて、表示される（ステップＳ１０５０またはＳ１０４０）。
【００４９】
キー参照および更新に関する排他処理は、帳票データと参照、更新処理と同様とすることができるので、処理の説明を省略する。
【００５０】
以上、説明したように、本実施形態では帳票を更新しても、更新前の帳票データが保存され、ユーザが参照できるので、誤って作成した帳票データを修正する場合に役立つ。
【００５１】
次に、帳票の作成処理における行の挿入、削除機能について説明する。図１１は本実施形態の帳票データの固定部分の構造を示す。
【００５２】
図１１において、罫線上情報１０１は複数ページに共通の罫線枠あるいは直線を印刷するための描画情報である。明細行関連情報１０２は、罫線枠内外に変動情報と関連付けられて印刷される固定文字列である。明細行ライン情報はページ単位でまとめられ、印刷の順にしたがって、並べられている。図１１の例では、明細行が各ページ共通に５個あることを示している。データ１０１、および１０２には従来と同じフォーマット構造を持つ。１０３は新規なデータであり、本実施形態ではページデータと呼ぶことにする。ページデータ１０３はヘッダ情報、ヘッダ行ライン、情報明細行開始情報、明細行終了情報、フッタ行ライン情報を有する。
【００５３】
ページ情報は、帳票のページ位置に関する情報である。ヘッダ行ライン情報には帳票のページのヘッダ部分（図１２参照）に印刷する固定文字および／またはグループキーを使用する。本実施形態では複数ページを１つのグループにまとめており、このグループに対して与えれた識別名がグループキーである。住所録でいえば、たとえば、会社名がグループキーに相当し、各ページの明細行ライン情報としては、所属部署、氏名、電話、住所等の固定文字列を与えることになる。図１１の例では明細行ライン情報は１０個あり、２ページで１組のグループを構成することを示している。
【００５４】
明細行開始情報は、明細行関連データ１０２の対応するページにおける行の開始の識別情報を表す。図１１の例では第１ページ目の明細行開始情報は明細行ライン情報１となり、第２ページ目の明細行開始行は明細行ライン情報６となる。
【００５５】
明細行終了情報は明細行関連データ１０２の対応するページにおける行の終了の識別情報を表す。図１１の例では第１ページ目の明細行終了情報は明細行ライン情報５となり、第２ページ目の明細行開始終了は明細行ライン情報１０となる。
【００５６】
フッタ行ライン情報はページのフッタ部分（図１２参照）に記載する文字列を表す。
【００５７】
以上の点を踏まえ、図１４を参照して、明細行の挿入処理を説明する。図１４はサーバ２０側に搭載された帳票更新用プログラムの中に含まれている行挿入処理用プログラムを示す。
【００５８】
作成済みのページの指定を受け付けるとＣＰＵは指定されたページの帳票データをクライアント１０に転送する。これによりクライアント１０の表示画面には図１２の符号２０１で示すような帳票が表示される（ステップＳ１４１０→Ｓ１４２０）。
【００５９】
ここで、ユーザがマウス等により挿入の実行等の指示および挿入位置、たとえば、明細２と明細３の間を指示すると、サーバ２０では、現在表示されている帳票に対応するページデータ１０３（図１１の第１ページ目に対応するページデータ）のヘッダ行ライン情報からグループページグループキーを取得する（ステップＳ１４４０）。
【００６０】
次にＣＰＵは図１２の明細書行ライン上の指定位置に１行分の空白行を作成する。また、図１２の符号２１１で示すように行２１４を挿入する。帳票イメージは罫線情報１０３による描画と、明細行ライン情報の描画およびページデータ１０３の示すヘッダおよびフッタ行ライン情報の描画により作成されるので、これまでの罫線情報により描画される罫線枠はそのままにして、内部に表示する固定文字列（明細ライン情報）を１行分だけ下になるように表示画面に表示される。ユーザはキーボード等により挿入された空白行に対して“明細２−１”と入力すると現在空白の明細行ライン情報として“明細２−１”が与えられる（図１３参照）。この時点で、変動情報も入力してもよい。
【００６１】
帳票を表示画面に表示させるためにはクライアント１０側のＣＰＵは次のような表示制御を行う。ページデータのヘッダおよびフッタライン情報の示す文字列をイメージに展開してクライアント１０内のイメージメモリに記憶する。また、ページデータの明細行開始情報および明細行終了情報の示す明細行ライン情報および対応する変動情報ををサーバ２０から取得し、これら情報の示す文字列をイメージに展開してイメージメモリに書き込む。上記文字列は、従来と同様罫線情報等から計算により取得する。
【００６２】
イメージメモリに書き込められたイメージが一定周期で読み取られ表示装置に出力される。したがって、サーバ２０側の変動情報、明細行ライン情報、ページデータを変更すると、その変更に対応して、クライアント１０側の表示も変更される。
【００６３】
行の挿入に関連して、変動情報（明細行ライン情報の近くに印刷される情報、住所録で言えば、明細行ライン情報が“氏名”とするとこれに対応する実際の人の氏名）のデータ集合についても図１３に示すように空白行が挿入される。
【００６４】
明細行ライン情報１０２のデータ集合と変動情報のデータ集合については、明細行ライン情報および変動情報の挿入位置以降のデータは全て記憶アドレスが挿入の行数分だけ繰り下がる。
【００６５】
本実施形態が、一般的なデータの挿入処理と異なる点は、ページデータの挿入処理である。明細行の挿入処理により挿入が指示されたページデータの明細行終了情報やそのページ以降の明細行開始情報および終了情報も１つ表示の行位置が繰り下がる。本例では第１ページ目の明細行終了情報は明細行５から明細行４に繰り下がる、このような繰り下げ処理はページデータ全体に施すのではなく、ページグループキーが同一のページデータに限定される。
【００６６】
したがって、このページデータの変更のために、ＣＰＵはページデータ群を検索し、現在、表示されているグループキー（この例では“Ａ”）の最後部のページ位置を検出する。より具体的には、現在、表示されているページ（挿入が指示されたページ）の次のページのページデータからページグループキーを取り出すと“Ａ”と比較する。一致判定が得られると、次ページのページグループキーを取り出す。一致判定が得られる間はページを更新して比較を繰り返す。不一致判定が得られると、その時の前のページが同一ページグループキーを持つページの最後部となる。
【００６７】
このようにして、最後部のページを検出するとＣＰＵは、現在、表示されているページのページデータの明細行終了情報から同一ページグループキーを持つ最後部の明細行開始情報および明細行終了情報までを変更する。
【００６８】
検出された最後部のページの最後部の明細行ライン情報が明細行の挿入により繰り下がりそのページに収容しきれない場合、換言すると、最後部のページの帳票に空白行がない場合には、繰り下げにより最終ページからはみ出る明細書ライン情報を表示させるべく、現在の最後部のページデータの後に新規ページデータを作成する。
【００６９】
新規ページデータを作成する必要があるか否かは簡単な計算により判定することができる。図１１の例では同一のページグループキーを持つ最後部のページ（第２ページ）には空白行がなく、空白行数ｎはゼロ（０）であり、挿入の行数ｍは１であるので、
ｎ＜ｍとなる。したがって、このような大小関係を持つ場合には新規ページデータを作成し、新規ページデータに明細行開始情報および明細行終了情報をも記載する。明細行開始情報は、新規ページデータを作成する前の明細行最終情報の示す明細行ライン情報から（ｍ−ｎ−１）行だけ前の明細行ライン情報となる。また、新規ページの明細行終了情報は、新規ページ作成前の最後部のページデータの明細行ライン終了情報と同じとなる。
【００７０】
以上の行挿入処理を施すと、罫線枠は変更することなく、同一グループキーを持つ１つの特定グループ（特定範囲）内の明細行を挿入行数分ずらした状態で帳票が表示される（図１２の符号２０１、２０２、２１１〜２１３参照）。
【００７１】
以上の説明は、１行分の明細行の挿入を主として説明したが、複数行の明細行の挿入も可能である。これにより、たとえば、他のページの明細行を表示画面上で複数分コピーして、別のページの明細行に挿入するといった、文書処理に見られるような貼り付け処理が可能となる。
【００７２】
明細行の削除処理は上述の挿入と逆の処理となる。すなわち、ユーザはクライアント１０の表示画面上でマウスの指定により明細行の削除位置を指定する。ＣＰＵは指定された明細行の位置から帳票データベース上の明細行ライン情報の削除位置を計算により求め、該当の明細行ライン情報１０２を削除し、削除した明細行ライン情報以降の記憶アドレスを繰り上げて明細行ライン情報を記憶する。ＣＰＵは変動情報についても同様に削除処理を行う。
【００７３】
また、同一ページグループキーを持つ最後部のページデータを検出し、明細行の削除により最後部のページデータを消去する必要があるか否かを削除する行数と、上記最後部のページに存在する明細行ライン情報の個数の大小関係から決定する。削除する行数が最後部のページに存在する明細行ライン情報の個数以上となった場合には、各ページデータの明細行開始情報および終了情報の更新後、上記最後部のページデータを削除する。
【００７４】
これにより、単なる１行分の明細行の削除だけではなく、表示画面の複数の明細行をユーザがマウスにより範囲指定して、範囲指定された明細行に対応する明細行ライン情報および変動情報をＣＰＵが一括して削除することが可能となる。また、削除と挿入を組み合わせると、範囲指定した１以上の明細行を削除して、別の位置に挿入すると、明細行の移動が可能となる。
【００７５】
上述の実施形態の他に次の形態を実施できる。
１）上述の実施形態では、複数のクライアントとサーバがＬＡＮ接続される例であったが、クライアントとサーバ２０の機能を１台の帳票作成装置で実現してもよい。
２）帳票をオーバレイするためのプログラムは専用のプログラム言語で記載されることが多いが、このプログラム言語にはいくつかの種類があり、固定情報や変動情報のフォーマットも異なる。したがって、これらフォーマットにしたがって、固定情報および変動情報を作成、記憶すればよい。
３）上述の実施形態ではクライアント１０はサーバ２０から１ページ分の帳票の変動情報等を受け取ってクライアント１０側で帳票イメージを作成していたが、クライアントサーバシステムの形態に応じてサーバ２０側で１画面分の表示用データを作成してクライアント１０に転送してもよい。
４）上述の実施形態では、キーの参照／更新についてもユーザＩＤによるチェックをかけたが、帳票の参照／更新のチェックと同じ扱いにすることもできる。この場合には、図２のテーブル３３，３４は不要となる。
【００７６】
【発明の効果】
以上、説明したように、本発明では１以上の明細行を帳票の罫線枠の書式を変更することなく帳票に挿入することができ、帳票の変更の自由度が高まる。
【００７７】
さらに本発明では１以上の明細行を帳票の罫線枠の書式を変更することなく帳票から削除することができ、帳票の変更の自由度が高まる。
【図面の簡単な説明】
【図１】本発明実施形態のシステム構成を示すブロック図である。
【図２】発明実施形態のセキュリティテーブルの構成を示す説明図である。
【図３】排他のために使用するフラグを示す説明図である。
【図４】（Ａ）および（Ｂ）は帳票データのバージョン情報を説明するための説明図である。
【図５】本発明実施形態のサーバ２０のＣＰＵが実行するフローチャートである。
【図６】本発明実施形態のサーバ２０のＣＰＵが実行するフローチャートである。
【図７】本発明実施形態のサーバ２０のＣＰＵが実行するフローチャートである。
【図８】本発明実施形態のサーバ２０のＣＰＵが実行するフローチャートである。
【図９】本発明実施形態のサーバ２０のＣＰＵが実行するフローチャートである。
【図１０】本発明実施形態のサーバ２０のＣＰＵが実行するフローチャートである。
【図１１】本発明実施形態の帳票データの固定部分を示す説明図である。
【図１２】挿入前と後の帳票の内容を示す説明図である。
【図１３】挿入前と後の明細行ラインデータおよび変動情報の内容を示す説明図である。
【図１４】サーバ２０のＣＰＵが実行する処理手順を示すフローチャートである。
【符号の説明】
１０　クライアント
２０　サーバ
【図１】
2004070923.tif 000003
【図２】
2004070923.tif 000004
【図３】
2004070923.tif 000005
【図４】
2004070923.tif 000006
【図５】
2004070923.tif 000007
【図６】
2004070923.tif 000008
【図７】
2004070923.tif 000009
【図８】
2004070923.tif 000010
【図９】
2004070923.tif 000011
【図１０】
2004070923.tif 000012
【図１１】
2004070923.tif 000013
【図１２】
2004070923.tif 000014
【図１３】
2004070923.tif 000015
【図１４】
2004070923.tif 000016