以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1は、本発明の実施の形態における情報処理システムのシステム構成の一例を示す図である。図1に示す通り、本発明の情報処理システムは、サーバ装置101、クライアント装置102、LAN103等を備えて構成されている。
サーバ装置101は、本発明での作成、編集対象となる各種の電子帳票のフォーム情報(以下、「帳票データ」という)を管理する装置である。サーバ装置101は、クライアント装置102からの帳票データの要求を受け付けると、該当する帳票データをクライアント装置102に対して送信する。
クライアント装置102は、サーバ装置101で管理されている帳票データの修正作業を行うユーザが使用する装置である。ユーザが修正作業を行う際に、クライアント装置102は、ユーザから修正を行う帳票データを受け付け、受け付けた帳票データをサーバ装置101に対して要求する。そしてサーバ装置101から受信した帳票データをディスプレイ装置に表示し、ユーザからの操作指示に応じて、当該帳票データの修正処理を行う。
LAN103は、上記の装置を相互に通信可能に接続するためのネットワークである。接続形態は、有線/無線を問わない。以上が、本発明の実施の形態における情報処理システムのシステム構成の一例の説明である。
次に、図2を参照して、図1のサーバ装置101、及びクライアント装置102に適用可能な情報処理装置のハードウェア構成の一例について説明する。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、サーバ装置101やクライアント装置102が実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
202はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボードやポインティングデバイス等の入力装置209からの入力を制御する。206はビデオコントローラで、ディスプレイ装置210等の表示器への表示を制御する。これらは必要に応じて操作者が使用するものである。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/F(インタフェース)コントローラで、ネットワーク(例えば、図1に示したLAN104)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述するフローチャートに示す各ステップの処理は、コンピュータで読み取り実行可能なプログラムにより実行され、そのプログラムは外部メモリ211に記録されている。そして、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
次に、図3を参照して、クライアント装置102のCPU201によって行われる帳票データ編集処理の概要について説明する。本図に示す処理をクライアント装置102のCPU201に実行させるためのプログラムは外部メモリ211等に記録されており、本図に示す処理を実行するに際し、CPU201は当該プログラムをRAM202にロードし、ロードしたプログラムによる制御に従って本図に示す処理を実行する。
まず、CPU201は、ステップS301において、図14に示す帳票データ編集画面1400をディスプレイ装置210に表示する。そして、この画面を介して、帳票データの編集に係る操作指示をユーザから受け付ける。
ここで、図14を参照して、クライアント装置102に表示される帳票データ表示画面1400の構成について説明する。図14に示すように、帳票データ表示画面1400には、メニュー表示部1401、帳票データ表示部1402等が設定されている。
メニュー表示部1401は、CPU201に各種操作指示を入力するために用いられるメニューが表示される表示部である。例えば、「帳票選択」メニューが指示されると編集を行う帳票データの選択指示が、「終了」メニューが指示されると帳票データの編集終了指示がCPU201に対して入力されることになる。
帳票データ表示部1402は、編集対象の帳票データを表示する表示部である。そして、この帳票データ表示部1402に表示されている各アイテムに対する操作指示を受け付けることで、CPU201は各種の帳票データの編集処理を実行することになる。
尚、図14は、編集対象の帳票データが選択される以前の帳票データ編集画面1400を示している。編集対象の帳票データが選択された後には、図15に示すように、帳票データ表示部1402に選択された編集対象の帳票データが表示されるとともに、メニュー表示部1401に帳票データの編集指示を行うためのメニュー(例えば、「新規アイテム追加」や「保存」)が追加表示されることになる。
以上が、帳票データ編集画面1400の構成の一例の説明である。
図3の説明に戻る。ステップS301で、帳票データ編集画面1400を表示した後、クライアント装置102のCPU201は、この帳票データ編集画面1400を介してユーザからの帳票データに対する各種の編集指示を受け付けることになる。
クライアント装置102のCPU201は、帳票データ編集画面1400中の「帳票選択」メニューを指示されることにより入力される、編集を行う帳票データの選択指示を受け付けたと判定した場合には(ステップS302でYES)、処理をステップS303に進め、帳票データ取得・表示処理を行う。この帳票データ取得・表示処理の詳細を、図4を参照して説明する。
図4は、図3のステップS303の帳票データ取得・表示処理の詳細を示すフローチャートである。
まず、CPU201は、ディスプレイ装置210に不図示の帳票選択画面を表示し、その画面を介して、編集対象とする帳票データの選択を受け付ける(ステップS401)。そして、帳票データの選択を受け付けた後に、選択された帳票データの取得要求をサーバ装置101に対して行う。そして、サーバ装置101のCPU201はその要求に応じて、図11に示す帳票データテーブル1100に記録されている帳票データのうち、要求を受け付けた帳票データを取得し、取得した帳票データを、要求を行ってきたクライアント装置に対して送信する。そして、クライアント装置102のCPU201は、サーバ装置101から送信される帳票データを取得する(ステップS402)。また、帳票データとともにサーバ装置から送信される、当該帳票データのアイテムグループ情報を合わせて取得する(ステップS403)。取得した、帳票データ、アイテムグループ情報はRAM202に記録される。
ここで、図11を参照して、サーバ装置101の外部メモリ211に記録されている帳票データテーブル1100のデータ構成の一例について説明する。サーバ装置101は、この帳票データテーブル1100により、複数の帳票のフォーム情報を管理している。
図11に示す通り、帳票データテーブル1100は、データ項目として、帳票ID1101、帳票名1102、作成者1103、最終編集者1104、最終更新日1105、用紙サイズ1106、用紙向き1107、アイテム数1108、アイテム情報1109を備えて構成されている。
帳票ID1101は、帳票データテーブル1100で管理されているそれぞれの帳票を一意に識別するための識別情報が登録されるデータ項目である。
帳票名1102は、帳票の名称が登録されるデータ項目である。作成者1103は、当該帳票データを作成したユーザを特定するユーザ情報が登録されるデータ項目である。最終編集者1104は、当該帳票データを最後に編集し、更新保存を行ったユーザを特定するユーザ情報が登録されるデータ項目である。最終更新日1105は、当該帳票データが最後に更新保存された日時情報が登録されるデータ項目である。
用紙サイズ1106は、当該帳票データを印刷出力する際に用いる用紙のサイズ情報が登録されるデータ項目である。用紙向き1107は、当該帳票データを印刷出力する際に用いる用紙の向きが登録されるデータ項目である。
アイテム数1108は、当該帳票データに含まれるアイテム(線や矩形、表、テキスト、入力領域等)の数を示す情報が登録されるデータ項目である。そして、このアイテム数に登録されている数分、アイテム情報1109が登録されることになる。
アイテム情報1109は、帳票データを構成するアイテムの情報を管理するデータ項目であり、アイテムID1110、区分1111、保存世代数1112、世代情報1113を含んで構成されている。
アイテムID1110は、この帳票データに含まれる複数のアイテムをそれぞれ一意に識別するための識別情報が登録されるデータ項目である。区分1111は当該アイテムの区分(線、矩形、表、テキスト、入力領域等)を示す情報が登録されるデータ項目である。
保存世代数1112は、当該アイテムの変更履歴(世代)の保存数を示す情報が登録されるデータ項目である。本発明では、帳票データに修正が加わった場合に、帳票データ全体を保存するのではなく、修正されたアイテムのみ世代情報を追加登録する。それぞれのアイテムを個別に過去の状態に戻すことを可能にするためにこのような手法を採用した。そして、この保存世代数1112に登録されている数分、世代情報1113が登録されることになる。
世代情報1113は、当該アイテムの編集履歴を示す情報がとろくされるデータ項目であり、世代番号1114、座標1115、装飾情報1116、削除フラグ1117等を備えて構成されている。
世代番号1114は、当該アイテムの更新履歴の順序を示す情報が登録されるデータ項目である。はじめに当該アイテムの情報が帳票データに登録される際には、この世代番号は1に設定される。そして、アイテムの更新情報が登録されるたびに、この世代番号が1インクリメントされた世代情報が登録されていくことになる。
座標1115は、当該アイテムの配置座標(左上、右下)が登録されるデータ項目である。
装飾情報1116は、アイテムに対する装飾情報が登録されるデータ項目である。例えば、アイテムの区分が線である場合には、線の種類(破線、二重線)や線の太さといった情報がこの装飾情報1116に登録される。また、アイテムの区分がテキストである場合には、フォントの種類、サイズ等がこの装飾情報1116に登録される。
削除フラグ1117は、削除を受け付けたか否かを示す情報が登録されるデータ項目である。この削除フラグ1117が「ON」である場合には、編集の過程で当該アイテムが削除されたことを意味する。
以上が、サーバ装置101の外部メモリ211に記録されている帳票データテーブル1100のデータ構成の説明である。
ここで、図13を参照して、サーバ装置101の外部メモリ211に記録されるアイテムグループ情報1300のデータ構成の一例を説明する。このアイテムグループ情報1300は、あるアイテムをもとの世代に戻す指示を受け付けた際に、同時にもとの世代に戻す指示を受けたアイテムとともに世代を戻すアイテムのグループを管理するための情報である。
図13に示す通り、アイテムグループ情報テーブル1300は、データ項目として、アイテムグループID1301、所属アイテム1302等を備えて構成されている。
アイテムグループID1301は、アイテムグループ情報テーブル1300に登録されている複数のアイテムグループをそれぞれ一意に識別するための識別情報が登録されるデータ項目である。所属アイテム1302は、当該アイテムグループIDが示すグループに所属するアイテムのアイテムIDが登録されるデータ項目である。この所属アイテム1302には、複数のアイテムのアイテムIDが登録されることになる。
以上が、図13のアイテムグループ情報テーブル1300のデータ構成の一例の説明である。
図4の説明に戻る。サーバ装置101から帳票データ及びアイテムグループ情報を取得した後に、クライアント装置102のCPU201は、取得した帳票データに含まれる全てのアイテムについて、ステップS404からステップS406の処理を行う。
まず、クライアント装置102のCPU201は、帳票データから、ステップS405以降の処理をまだ行っていないアイテムの区分と最新の世代情報を取得する(ステップS404)。そして、ステップS404で取得した区分と最新の世代情報に従って、当該アイテムの表示を行う(ステップS405)。この時、最新の世代情報の削除フラグが「ON」となっているアイテムの表示は行わない。
その後、アイテムの編集状態を示す編集中データ帳票データのアイテム情報を作成する(ステップS406)。そして、ステップS404からステップS406の処理を帳票データに含まれる全てのアイテムに対して終了した後に、本処理を終了する。そして、本処理が終了すると、図15に示すような帳票データ編集画面1400が表示されることになる。
以上が、図3のステップS303の帳票データ取得・表示処理の詳細な説明である。
ここで、図12を参照して、編集中の帳票データの各アイテムの情報を管理する編集中帳票データアイテム情報1200のデータ構成について説明する。この編集中帳票データアイテム情報は、アイテムに更新があったか否かの情報や、現在の表示位置、装飾情報などを管理するデータである。
図12に示すように、編集中帳票データアイテム情報1200は、データ項目として、アイテムID1201、表示世代番号1202、区分1203、座標1204、装飾情報1205、削除フラグ1206、更新フラグ1207を備えて構成されている。
アイテムID1201は、編集中の帳票データに含まれるアイテムをそれぞれ一意に識別するための識別情報が登録されるデータ項目である。
表示世代1202は、アイテムの世代情報のうち、いずれの世代情報に基づきそのアイテムが表示されているかを示す世代情報が登録されるデータ項目である。後述するアイテム世代戻し処理やアイテム世代進め処理、またアイテムの更新保存が行われた場合に、この世代情報は変更されることになる。
区分1203は、当該アイテムのアイテム区分が登録されるデータ項目である。座標1204は当該アイテムの表示位置の位置座標が登録されるデータ項目である。アイテムの移動や、大きさの変更等が行われた場合に、この座標1204の情報が変更されることになる。
装飾情報1205は、当該アイテムの装飾情報が登録されるデータ項目である。例えば、アイテムの区分が「線」である場合に、通常の線から二重線に変更された場合などに、この装飾情報1205の情報が変更されることになる。
削除フラグ1206は、当該アイテムが削除されたか否かを示す情報が登録されるデータ項目である。アイテムに対して削除指示が行われた場合に、この削除フラグ1206が「ON」となる。
更新フラグ1207は、帳票データ編集処理において、この編集中帳票データアイテム情報が示すアイテムが更新されたか否かを示す情報が登録されるデータ項目である。アイテムに対して何らかの変更が加えられると、この更新フラグ1207が「ON」となる。
以上が、図12の編集中帳票データアイテム情報1200のデータ構成の説明である。
図3の説明に戻る。クライアント装置102のCPU201は、帳票データ編集画面1400のメニュー表示部1401に表示されている「新規アイテム追加」メニューに対する指示を受け付けることで入力される新規アイテムの追加指示を受け付けたと判定した場合には(ステップS304でYES)、処理をステップS305に進め、新規アイテム追加処理を行う。この処理の詳細については、図5を参照して説明する。
図5は、図3のステップS305の新規アイテム追加処理の詳細を示すフローチャートである。
クライアント装置102のCPU201は、新規アイテムの追加指示を受け付けると、新規に追加するアイテムのアイテムIDを、帳票データに含まれる他のアイテムのアイテムIDを重複しないように設定し(ステップS501)、そして、アイテム区分の選択を受け付ける(ステップS502)。そして、その表示座標や、装飾の指定も合わせて受け付けることになる(それぞれステップS503、ステップS504)。
そして、その後、新規に追加されたアイテムを管理するための編集中帳票データアイテム情報を作成し、ステップS501で設定されたアイテムIDやステップS502からステップS504でユーザより受け付けた各種の指定を登録する(ステップS505)。
この時、ステップS505で新たに作成された編集中帳票データアイテム情報の表示世代番号には「0」が設定され、更新フラグ1207は「ON」となる。クライアント情報102のCPU201はこの編集中帳票データアイテム情報で、新規に追加されたアイテムの管理を行うことになる。
以上が、図3のステップS305の新規アイテム追加処理の詳細な説明である。
図3の説明に戻る。クライアント装置102のCPU201は、帳票データ編集画面1400の帳票データ表示部1402に表示されている帳票データに含まれるアイテムに対する編集指示の入力を受け付けると(ステップS306でYES)、処理をステップ307に進め、アイテム編集処理を行う。
例えば、帳票データ表示部1402に表示されている帳票データに含まれるアイテムのドラッグ&ドロップ処理(移動指示)や、アイテムが選択状態でDELETEのボタンの押下指示(削除指示)を受け付けた場合に、CPU201はステップS306の判定処理でYESと判定し、ステップS307に処理を進める。このステップS307のアイテム編集処理の詳細は、図6を参照して説明することにする。
図6は、アイテム編集処理の詳細を示すフローチャートである。
クライアント装置102のCPU201は、入力装置209を用いて行われたユーザによる操作指示により受け付けたアイテムに対する編集指示がアイテムの削除指示であると判定した場合には(ステップS601でYES)、処理をステップS602に進め、当該アイテムの表示を消去する。
その後、処理をステップS608に進め、当該削除指示を受け付けたアイテムの編集中帳票データアイテム情報を更新する。この時、削除フラグ1206を「ON」に、更新フラグ1207を「ON」にする更新をクライアント装置102のCPU201は行うことになる。
また、クライアント装置102のCPU201は、入力装置209を用いて行われたユーザによる操作指示により受け付けたアイテムに対する編集指示がアイテムの表示位置の変更であると判定した場合には(ステップS603でYES)、処理をステップS604に進め、受け付けた指示に従って、アイテムの表示位置(または表示サイズ)を変更する。
その後、処理をステップS608に進め、当該表示位置の変更指示を受け付けたアイテムの編集中帳票データアイテム情報を更新する。この時、座標1204の更新と、更新フラグ1207を「ON」にする更新をクライアント装置102のCPU201は行うことになる。
また、クライアント装置102のCPU201は、入力装置209を用いた、ユーザによる操作指示により受け付けたアイテムに対する編集指示がアイテムの装飾情報の変更であると判定した場合には(ステップS605でYES)、処理をステップS606に進め、指示を受け付けたアイテムの装飾表示を変更する。
その後、処理をステップS608に進め、当該装飾情報の変更指示を受け付けたアイテムの編集中帳票データアイテム情報を更新する。この時、装飾情報1205の更新と、更新フラグ1207を「ON」にする更新をクライアント装置102のCPU201は行うことになる。
また、上記以外の変更指示を受け付けた場合には(この場合、ステップS605の判定処理でNOと判定することになる)、その他の情報を更新し(ステップS608)、その後、ステップS608で編集中帳票データアイテム情報を更新する。
以上が、図3のステップS307のアイテム編集処理の詳細である。
図3の説明に戻る。クライアント装置102のCPU201は、図16に示すように、複数のアイテムが選択されている状態(1601〜1604のアイテムが選択されている)で、ポップアップメニューの表示指示を受け付けた後に表示されるポップアップメニュー1605中の「グループ作成」メニューに対する指示を受け付けることにより入力される、アイテムグループ作成指示を受け付けると(ステップS308でYES)、処理をステップS309に進め、アイテムグループ作成処理を行う。この処理の詳細は、図7を参照して説明する。
図7は、図3のステップS309のアイテムグループ作成処理の詳細を示すフローチャートである。
クライアント装置102のCPU201は、アイテムグループ作成指示を受け付けた際に選択されていた各アイテムが、既に、いずれかのアイテムグループに属しているかを、図4のステップS403でサーバ装置101から取得し、RAM202に記録したアイテムグループ情報を用いて判定する(ステップS701)。
ステップS701の判定処理で、選択されていた全てのアイテムがどのアイテムグループにも属していない(NO)と判定した場合には、処理をステップS702に進め、新規アイテムグループの作成要求をサーバ装置101に対して行う。その後、サーバ装置101に対して、ステップS702の作成要求に応じて作成されたアイテムグループに、選択されていた全てのアイテムを登録するよう要求する(ステップS703)。
一方、ステップS701の判定処理で、選択されていた少なくともいずれか1つのアイテムが既にいずれかのアイテムグループに属していると判定した場合に、クライアント装置102のCPU201は処理をステップS704に進め、選択されていたアイテムが属しているアイテムグループを全て取得する。
その後、ステップS704で取得した全てのアイテムグループに対して、ステップS705、ステップS706の処理を行う。
まず、ステップS705において、ステップS706の処理をまだ行っていない(未処理の)アイテムグループを取得する。そして、取得したアイテムグループに未登録の選択中のアイテムを当該グループに登録するようサーバ装置101に対して要求する(ステップS706)。
そして、サーバ装置101に対して登録要求を行った後のアイテムグループ情報を取得して、RAM202に記録する。以上が、図3のステップS309のアイテムグループ作成処理の詳細な説明である。
図3の説明に戻る。クライアント装置102のCPU201は、図15に示す帳票データ編集画面1400のメニュー表示部1501に表示されている「保存」メニューや、図16のポップアップメニュー1605中の「アイテム保存」メニューに対する押下指示を受け付けることで入力されるアイテムの保存指示を受け付けると(ステップS310でYES)、処理をステップS311に進め、アイテム保存処理を行う。
尚、図15に示す帳票データ編集画面1400のメニュー表示部1501に表示されている「保存」メニューに対する押下指示を受け付けた場合には、帳票データ中の更新された全てのアイテムの保存が、図16のポップアップメニュー1605中の「アイテム保存」メニューに対する押下指示を受け付けた場合には、選択中のアイテムのうち、内容が更新されたアイテムの世代情報の保存処理を行うことになる。ステップS311のアイテム保存処理の詳細は、図8を参照して説明する。
図8は、図3のステップS311のアイテム保存処理の詳細を示すフローチャートである。
クライアント装置102のCPU201は、世代情報の保存処理対象となる全てのアイテムについてステップS801からステップS809の処理を行う。クライアント装置102のCPU201は、図15に示す帳票データ編集画面1400のメニュー表示部1501に表示されている「保存」メニューに対する押下指示を受け付けた場合には、帳票データ中の全てのアイテムを、図16のポップアップメニュー1605中の「アイテム保存」メニューに対する押下指示を受け付けた場合には、「アイテム保存」メニューに対する押下指示時に選択状態であった全てのアイテムを保存処理対象のアイテムとする。
まず、ステップS801において、世代情報の保存処理対象となるアイテムうち、ステップS802以降の処理を行っていない(未処理の)アイテムを取得する。
そして、ステップS802において、CPU201はステップS801で取得したアイテムが更新されているかを、当該アイテムの編集中帳票データアイテム情報1200中の更新フラグ1207の情報をもとに判定する。アイテムが更新されている(即ち更新フラグ1207が「ON」である)と判定した場合には(ステップS802でYES)、処理をステップS803に進め、ステップS801で取得したアイテムの表示世代が「0」であるかを判定する。表示世代が「0」であるアイテムは、帳票データ編集指示において、新たに追加されたアイテムを意味している。
ステップS803の判定処理でYESと判定した場合には、CPU201は処理をステップS804に進め、サーバ装置101に対して帳票データテーブル1100に登録されている当該帳票データへの新規アイテム追加登録を要求する。そして、その後、新規アイテム追加登録要求に応じて新たに作成されたアイテム情報1113の各データ項目に、当該アイテムの編集中帳票データアイテム情報に登録されている各種の情報を登録さえせるべく、サーバ装置101に対して登録要求を行う(ステップS805)。
一方、ステップS803の判定処理でNOと判定した場合には、処理をステップS806に進め、当該アイテムの世代情報の追加要求をサーバ装置101に対して行う。そして、追加された世代情報に、当該アイテムの編集中帳票データアイテム情報に登録されている各種の情報を登録させるべく、サーバ装置101に対して登録要求を行う(ステップS807)。
その後、新たに世代情報の追加登録を行ったアイテムを管理するための更新アイテムリストに当該アイテムのアイテムIDを追加する(ステップS808)。
ステップS805、ステップS808の処理終了後、クライアント装置102のCPU201は、処理をステップS809に進め、当該アイテムの編集中帳票データアイテム情報を更新する。具体的には、表示世代番号1202に1を追加する更新と、更新フラグ1207をOFFにする更新を行う。
尚、ステップS802でNOと判定した場合には、そのアイテムについてはステップS803以降の処理を行うことなく、次の未処理のアイテムに対する処理を行うことになる。
世代保存対象の全てのアイテムについてステップS801から809の処理が終了後、クライアント装置102のCPU201は、更新アイテムリストに追加登録されたアイテムについて、ステップS810以降の処理を行う。
まず、ステップS810において、クライアント装置102のCPU201は、ステップS811以降の処理をまだ行っていない更新アイテムリストに登録されたアイテムを取得する。そして、取得したアイテムに関連アイテムがあるかを、RAM202に記録されているアイテムグループ情報を用いて判定する。尚、ステップS810で取得したアイテムがいずれかのアイテムグループに属している場合に、当該アイテムには関連アイテムがあると判定する。
ステップS811の処理でNOと判定した場合には、ステップS812以降の処理を行うことなく、次の未処理のアイテムに対する処理に移る。
一方、ステップS811の処理で、ステップS810で取得したアイテムに関連アイテムがある(YES)と判定した場合には、処理をステップS812に進め、関連アイテムを全て取得する。そして、ステップS812で取得した全てのアイテムに対して、ステップS813からステップS817の処理を行う。
まず、ステップ813において、ステップS812で取得した関連アイテムが既に関連アイテムリストに登録されているかを判定する。この処理でYESと判定した場合には、クライアント装置102のCPU201は、処理をステップS814に進め、ステップS812で取得したアイテムの世代情報追加要求をサーバ装置101に対して行う。そして、追加された世代情報に、その直前の世代情報が有する情報の登録要求を行う。つまり、世代番号1114以外の世代情報1113の更新が行われていない世代情報が新たに作成されることになる。
その後、ステップS812で取得したアイテムを更新アイテムリストに追加登録する。尚、このアイテムも、ステップS810で取得させる対象のアイテムとされる。
そして、そのアイテムの編集中帳票データアイテム情報を更新する。具体的には、表示世代番号1202が更新されることになる。
そして、ステップS813からステップS817の処理を、ステップS812で取得した全ての関連アイテムに対して行う。
そして、更新アイテムリストに登録されている全てのアイテムに対してステップS810からステップS817の処理終了後、クライアント装置102のCPU201は処理をステップS818に進め、サーバ装置101から本図に示す処理を行うことで更新された帳票データを取得し、RAM202に保存する。以上が、図3のステップS313のアイテム保存処理の詳細な説明である。
本発明では、アイテム毎に更新情報を登録する構成を採用しているが、アイテムAに関連するアイテムBがある場合には、そのアイテムAの更新保存を行う際に、アイテムBが更新されていない場合でもアイテムBも更新保存する。これにより、後述するアイテムの表示世代の変更処理が行われた場合に、アイテムAが保存された際のアイテムBの状態に適切に変更を行うことが可能となる。
図3の説明に戻る。クライアント装置102のCPU201は、図16のポップアップメニュー1605中の「世代を前に戻す」メニューに対する押下指示を受け付けることで入力されるアイテムの世代を前に戻す指示を受け付けると(ステップS312でYES)、処理をステップS313に進め、アイテム世代戻し処理を行う。この処理の詳細は、図9を参照して説明する。
図9は、図3のステップS313のアイテム世代戻し処理の詳細を示すフローチャートである。
まず、クライアント装置102のCPU201は、世代戻し処理の対象のアイテムの編集中帳票データアイテム情報の更新フラグ1207が「ON」になっている(つまりは、編集処理において、アイテムの最新の世代情報の登録後、更新がなされた)か否かを判定する。
このステップS901の判定処理で、更新フラグ1207がONではない(つまりこのアイテムの最新の世代情報の登録後、編集処理が行われていない)と判定した場合には(NO)、CPU201は処理をステップS902に進め、当該アイテムの編集中帳票データアイテム情報の表示世代番号1202に管理されている番号よりも1小さい世代番号の世代情報1113(表示世代の1つ前の世代情報1113)を取得する。
そして、そのアイテムの表示をステップS902で取得した世代情報が示す状態に変更し(ステップS903)、当該アイテムの編集中帳票データアイテム情報を更新する(ステップS904)。
その後、世代をもとに戻したアイテムに関連アイテムがあるかを、RAM202に記録されているアイテムグループ情報を用いて判定する(ステップS905)。
ステップS905の判定処理で、関連アイテムがある(YES)と判定した場合には、処理をステップS906に進め、当該アイテムの関連アイテムを全て取得する。そして、ステップS906で取得した全ての関連アイテムに対して、ステップS907からステップS910に示す処理を実行する。
まず、ステップS907では、クライアント装置102のCPU201は、ステップS908以降の処理を行っていない関連アイテムを取得する。そして、ステップS907で取得した関連アイテムの表示世代の1つ前の世代情報をRAM202に記録されている帳票データから取得する(ステップS908)。
そして、そのアイテムの表示をステップS908で取得した世代情報が示す状態に変更し(ステップS909)、当該アイテムの編集中帳票データアイテム情報を更新する(ステップS910)。
以上のステップS907からステップS910の処理をステップS906で取得した全ての関連アイテムに対して実行したら、本図に示す処理を終了する。
一方、ステップS901の判定処理で、クライアント装置102のCPU201がNOと判定した場合には、処理をステップS911に進め、当該アイテムの編集中帳票データアイテム情報中の表示世代番号が0であるかを判定する。
ステップS911の判定処理で、表示世代番号が0である(YES)と判定した場合には、当該アイテムの更新履歴情報がまだ帳票データに作成されていないことを意味している。この場合には、CPU201は本図に示す処理を終了する。
一方、ステップS911の判定処理で、NOであると判定した場合には、帳票データ中の当該アイテムのアイテム情報1109に登録されている最新の世代情報1113(世代番号1114が一番大きい世代情報1113)を取得する(ステップS912)。
そして、ステップS912で取得した世代情報が示すアイテムの状態にアイテムの表示を変更する(ステップS913)。その後、当該アイテムの編集中帳票データアイテム情報を更新する(ステップS914)。そして、本図に示す処理を終了することになる。
本発明では、上記の通り、世代を前に戻す指示を受け付けたアイテムに関連アイテムが存在する場合に、指示を受け付けたアイテムに加えて、関連アイテムの世代も前に戻すことが可能となる。
図3の説明に戻る。クライアント装置102のCPU201は、図16のポップアップメニュー1605中の「世代を先に進める」メニューに対する押下指示を受け付けることで入力されるアイテムの世代を前先に進める指示を受け付けると(ステップS314でYES)、処理をステップS315に進め、アイテム世代進め処理を行う。この処理の詳細は、図10を参照して説明する。
図10は、図3のステップS315のアイテム世代進め処理の詳細を示すフローチャートである。
まず、クライアント装置102のCPU201は、世代進め指示を受け付けたアイテムの編集中帳票データアイテム情報の表示世代番号1202に管理されている番号よりも1大きい世代番号の世代情報1113(表示世代の1つ先の世代情報1113)をRAM202に記録されている帳票データから取得する(ステップS1001)。
そして、そのアイテムの表示をステップS1001で取得した世代情報が示す状態に変更し(ステップS1002)、当該アイテムの編集中帳票データアイテム情報を更新する(ステップS1003)。
その後、世代を先に進めたアイテムに関連アイテムがあるかを、RAM202に記録されているアイテムグループ情報を用いて判定する(ステップS1004)。
ステップS1004の判定処理で、関連アイテムがある(YES)と判定した場合には、処理をステップS1005に進め、当該アイテムの関連アイテムを全て取得する。そして、ステップS1005で取得した全ての関連アイテムに対して、ステップS1006からステップS1007に示す処理を実行する。
まず、ステップS1006では、クライアント装置102のCPU201は、ステップS1007以降の処理を行っていない関連アイテムを取得する。そして、ステップS10006で取得した関連アイテムの表示世代の1つ先の世代情報をRAM202に記録されている帳票データから取得する(ステップS1007)。
そして、そのアイテムの表示をステップS1007で取得した世代情報が示す状態に変更し(ステップS1008)、当該アイテムの編集中帳票データアイテム情報を更新する(ステップS1009)。
以上のステップS1006からステップS1009の処理をステップS1005で取得した全ての関連アイテムに対して実行したら、本図に示す処理を終了する。
本発明では、上記の通り、世代を先に進める指示を受け付けたアイテムに関連アイテムが存在する場合に、指示を受け付けたアイテムに加えて、関連アイテムの世代も先に進めることが可能となる。
図3の説明に戻る。そして、クライアント装置102のCPU201は、帳票データ表示画面1400のメニュー表示部に表示されている「終了」メニューに対する押下指示を受けうつけることで入力されル終了指示を受け付けると本図に示す処理を終了する。
本発明では、以上のように構成することにより、帳票データで使用されている個々のアイテム毎にその更新履歴を保存可能になり、その状態を元に戻したりする作業をアイテム単位で行うことが可能となる。
さらに、状態を元に戻す指示や先に進める指示を受け付けたアイテムに関連するアイテムがある場合には、アイテムの更新履歴が登録された状態の関連アイテムの状態に戻すことが出来る。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実
施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。