(57)【要約】【課題】  従来は、ファイル全体に対するアクセス制御であっため、例えば支店毎・課毎に印刷回数を設定する場合、アクセス権を設定したい範囲のデータのみ抽出して所望のアクセス権を設定する手法があるが、データ抽出条件を都度変更し全支店・課に対して繰り返し行う必要があるため、作業が煩雑になりユーザ負荷が大きくなってしまう。またデータ毎にファイルが分割されるため、異なるデータ数が増えるほど保存帳票の数が増え管理コストが上がってしまうという問題点がある。【解決手段】  ブレイクキーデータをノードとするツリー形式でデータ毎のアクセス権を管理する印刷制御ファイルを保持し、印刷要求があると、前記印刷制御ファイル中のユーザがアクセス許可されているブレイクキーデータノードを参照して印刷可・不可を判定し、印刷可であれば印刷を実行する。【選択図】  図４
2008134823.tif 000002
【特許請求の範囲】
【請求項１】
帳票印刷システムにおいて、帳票生成時にツリー形式の制御ファイルの雛型を作成し保持するステップと、フォームを解析してあらかじめブレイク設定されたフィールドを抽出するステップと、前記抽出されたフィールドをその優先順位とともに保持するステップと、前記保持されたフィールドのデータが変化した場合に、フィールドの優先順位をノードの親子関係に反映させて前記制御ファイルに該データのノードを追加して該データに対応するアクセス権を記述するステップと、印刷時に前記制御ファイルを参照してユーザがアクセス可能なノードを参照し印刷可・不可を判定するステップと、を有することを特徴とする帳票印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの範囲毎にアクセスを制御する帳票印刷システムに関する。
【背景技術】
【０００２】
従来、帳票等のようにフォーム部分を表すフォームデータを予め作成し、そのフォームデータの所定箇所に数値や文字列のデータを重ね合わせて（オーバーレイ）それを印刷あるいは表示するシステムがある。
【０００３】
表形式の図形を持つフォームにデータをオーバーレイする場合、かかる表は一般に、例えば支店、課、売上、等の項目からなるフィールド列が第１行に表示され、各フィールドに対応するデータからなるデータ列がその下に複数行配列されて構成される。
【０００４】
大量系の帳票では、上記のような表形式の図形を持つフォームを使用することが多く、あるフィールドで同一のデータが連続して格納されており、そのデータの範囲で何らかの処理を行うブレイクという技術が用いられる（例えば、支店フィールドデータがＡ支店からＢ支店に変化すると、そのタイミングで改ページする）。
【０００５】
一方、部門やユーザ毎に、予め設定されたアクセス権に応じて、許可された範囲のみを表示・印刷させることが求められており、特にブレイクの単位で制限をかける場合が多いと考えられる。
【０００６】
ある一つのファイルに対する部門・ユーザ毎のアクセス権の設定・管理技術として、例えば下記特許文献１では、電子ファイル作成時に作成者が手作業で自身の公開情報のアクセス権を設定し参照を許可されたユーザ毎に期間・参照回数等を管理する、というものがある。
【特許文献１】特開２０００−２５３０４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術は、ファイル全体に対するアクセス制御であった。そのため、例えば支店毎・課毎に印刷回数を設定する場合、アクセス権を設定したい範囲のデータのみ抽出して所望のアクセス権を設定する手法があるが、データ抽出条件を都度変更し全支店・課に対して繰り返し行う必要があるため、作業が煩雑になりユーザ負荷が大きくなってしまう。またデータ毎にファイルが分割されるため、異なるデータ数が増えるほど保存帳票の数が増え管理コストが上がってしまうという問題点がある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明は、帳票生成時にツリー形式の制御ファイルの雛型を作成し保持するステップと、フォームを解析してあらかじめブレイク設定されたフィールドを抽出するステップと、前記抽出されたフィールドをその優先順位とともに保持するステップと、前記保持されたフィールドのデータが変化した場合に、フィールドの優先順位をノードの親子関係に反映させて前記制御ファイルに該データのノードを追加して該データに対応するアクセス権を記述するステップと、印刷時に前記制御ファイルを参照してユーザがアクセス可能なノードを参照し印刷可・不可を判定するステップと、を有することを特徴とする。
【発明の効果】
【０００９】
ファイルを分割することなく、１つのファイルに対してそれぞれのデータの範囲単位で印刷回数を制御でき、帳票の効率的な管理が行える。あるいは、データの抽出条件を変更してそれぞれの帳票を生成する手間がはぶけ、ユーザ操作の負荷が軽減できる。
【発明を実施するための最良の形態】
【００１０】
（実施例１）
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１１】
図１は、本発明のプログラムが動作するコンピュータの概略構成を示すブロック図である。
【００１２】
ＣＰＵ１００は、ＨＤ（ハードディスク）１０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳやネットワークプリンタ制御プログラム等を実行し、ＲＡＭ１０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ＲＯＭ１０１には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。１０２はＲＡＭであり、ＣＰＵ１００の主メモリ、ワークエリア等として機能する。１０３は外部記憶ドライブであり、メディア１０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。１０４はメディアであり、本実施例で説明するプログラムおよび関連データを格納しており、その記憶されている内容の構成を以下、図３に示す。１０５はＨＤであり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、制御プログラム、関連プログラム等を格納している。１０６はキーボードであり、ユーザがクライアントコンピュータに対して、デバイスの制御コマンドの命令等を入力指示するものである。１０７はディスプレイであり、キーボード１０６から入力したコマンドや、プリンタの状態等を表示したりするものである。１０８はシステムバスであり、クライアントコンピュータ内のデータの流れを司るものである。１０９はネットワークインターフェイス（以下、Ｉ／Ｆという）であり、ローカルエリアネットワーク（ＬＡＮ）あるいは、インターネットに接続するための通信インターフェイスである。
【００１３】
図２は、本発明のプログラムがＲＡＭ１０２にロードされ実行可能となった状態のメモリマップを表すものである。
【００１４】
本実施例では、メディア１０４からプログラム及び関連データを直接ＲＡＭ１０２にロードして実行させる例を示すが、この以外にも、メディア１０４から本発明のプログラムを動作させる度に、ＨＤ１０５からＲＡＭ１０２にロードするようにしてもよい。また、本発明のプログラムを記録する媒体は、メディアはＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ、ＩＣメモリーカード等であっても良い。更に、本発明のプログラムをＲＯＭ１０１に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ１００で実行することも可能である。２０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ１０５からＯＳがＲＡＭ１０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローティング）機能等を有しているプログラムが入っている領域である。２０２はＯＳであり、２０３には制御プログラム、２０４には関連データがそれぞれ展開され、２０５にはＣＰＵ１００が本プログラムを実行するワークエリアがとられている。
【００１５】
図３において、３００はメディア１０４のデータ内容であり、３０１はデータの情報を示すボリューム情報であり、３０２はディレクトリ情報、３０３は本実施例で説明するプログラム、３０４はその関連データである。
【００１６】
図４は、帳票生成時における本発明の実施例をフローとして示したものである。
【００１７】
本実施例では、例えば支店毎・課毎の印刷回数や有効期間等のアクセス権は予め設定されていることを想定している。
【００１８】
ユーザが、不図示の方法により、フォームとデータを指定してオーバレイリクエストを発行する（ステップ４０１）と、プログラム３０３は、印刷制御ファイルの雛型を作成する（ステップ４０２）。印刷制御ファイルについては後述する。次に、プログラム３０３は、フォームを解析してフォームに設定されているブレイクキーフィールドを抽出し、該ブレイクフィールドキーをＲＡＭ１０２に保持する（ステップ４０３）。フォームに複数のブレイクキーフィールドが設定されている場合、該ブレイクフィールドキーは優先順位を有しており、前記優先順位もあわせてＲＡＭに保持される（例えば、支店および課にブレイクフィールドキーが設定されている場合、支店フィールドのほうがより優先順位が高くなるようフォーム設計することが多い）。ここで、このデータはオーバーレイされる各フィールドを区分できる形式で、データの一行がフォームの表形式図形の一行に対応する、例えばＣＳＶと呼ばれる、一般的に利用されている形式を用いることができる。次にプログラム３０３は、一行分のデータを取得する（ステップ４０４）。そして、ＲＡＭ１０２に保持する該ブレイクフィールドキーを取得して、それらフィールドキーのフィールドのデータが変化したか判定する（ステップ４０５）。
【００１９】
ステップ４０５において、該ブレイクフィールドキーに設定されているフィールドのデータが変化した（以降、ブレイクキーデータを呼ぶ）場合、プログラム３０３は、印刷制御ファイルに前記ブレイクキーデータのノードを追加し、そのノードに前記ブレイクキーデータに対応するアクセス権を記述する（ステップ４０６）。フォームに複数のブレイクキーフィールドが設定されている場合、優先順位の高いブレイクフィールドキーが上位ノードになる。（例えば、支店および課にブレイクフィールドキーが設定されている場合、○支店データのノードの下に１課、２課、・・のデータのノードがある）。
【００２０】
その後、プログラム３０３は、次のデータ行があるかを判定し（ステップ４０７）、存在する場合は次のデータ行を取得し、前述の処理を繰り返す。
これらの処理により、印刷制御ファイルは、ブレイクキーデータをノードとするツリー形式で、各部門のアクセス権を保持する。
【００２１】
ステップ４０７において、データの最後に達すると、プログラム３０３は、オーバーレイを実行して帳票を生成し（ステップ４０９）、生成した帳票と前記印刷制御ファイルを、帳票を保存する保存帳票サーバに転送する（ステップ４１０）。
【００２２】
図５は、保存帳票サーバに保存した帳票をユーザが指定して印刷要求した場合のフローを示している。なお、本実施例では、アクセス権の例として印刷回数を用いて説明する。
【００２３】
図６は、ＸＭＬ形式を用いた印刷制御ファイルの例を示している。支店および課毎の印刷可能回数が記述されている。また、図６では、ファイルの全データに対してアクセス可能なユーザ（例えば支店をまとめるエリア長等）の印刷回数も記述されている。
【００２４】
ユーザが保存帳票を指定して印刷要求を出す（ステップ５０１）と、ユーザ認証が行われ、ユーザがアクセス可能なデータ範囲が確定する。本発明ではこの認証処理には言及しないが、認証サーバ等一般的に利用されている方式を用いることができる。プログラム３０３は、次に、前記保存帳票に対応する印刷制御ファイルを参照し、ユーザがアクセス可能なノードの残り印刷回数を取得する（ステップ５０３）。そして印刷が可能かを判定（ステップ５０４）する。
【００２５】
ステップ５０４において、印刷可能と判定された場合、プログラム３０３は前記保存帳票の印刷を実行（ステップ５０５）し、印刷制御ファイルの該ノードの残り印刷可能回数をデクリメントする（ステップ５０６）。
【００２６】
ステップ５０４において、印刷不可能と判定された場合、印刷可能回数をオーバーしていることをユーザに通知して本処理は終了する。
【００２７】
なお、本発明は、上記形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体(又は記録媒体)を、システム又は装置に供給し、そのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは云うまでもない。
【００２８】
この場合、記憶媒体から読み出されたプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(ＯＳ)などが実際の処理の一部又は全部を行い、その処理によって上記実施の形態の機能が実現される場合も含まれることは云うまでもない。
【００２９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わる記憶媒体に書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは云うまでもない。
【００３０】
また、本発明は、上記実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納され、そのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは云うまでもない。
【図面の簡単な説明】
【００３１】
【図１】本実施例で動作するコンピュータの概略構成を示すブロック図。
【図２】図１におけるＲＡＭに、図３に示すＦＤからプログラムを展開したときのメモリマップ。
【図３】１におけるＦＤ内部のデータを表すメモリマップ。
【図４】本実施例における帳票生成時の処理のフロー。
【図５】保存帳票に対する印刷要求時のフロー。
【図６】印刷制御ファイルの例。
【図１】
2008134823.tif 000003
【図２】
2008134823.tif 000004
【図３】
2008134823.tif 000005
【図４】
2008134823.tif 000006
【図５】
2008134823.tif 000007
【図６】
2008134823.tif 000008