(57)【特許請求の範囲】
【請求項１】
ワークシート情報に基づいて表計算の処理を行なう表計算ソフトウェアが動作する端末計算機に、応用プログラムの指示により出力された出力データをオンライン回線を介して配信する処理を行うホスト計算機内に設けられた表計算ソフトウェア連携処理装置において、
前記表計算ソフトウェアがデータとして使用可能な帳票を印刷するために用いられる帳票印刷データの出力を指示する前記応用プログラムを実行する応用プログラム実行手段と、
前記応用プログラムからの指示を受けて、前記帳票印刷データを作成する帳票印刷データ作成手段と、
前記帳票の表のデータ項目の行位置、列位置、および項目長を記述した帳票体裁定義情報を参照して、各データ項目の行位置が前記帳票印刷データの各印刷内容の行位置に一致するかどうかを判定し、行位置が一致したデータ項目の列位置および項目長を元にして、行位置が一致した印刷内容から対応する文字列を抽出し、該文字列を含むセル情報からなる配信ワークシートを作成する配信ワークシート作成手段と、
前記配信ワークシートを前記端末計算機に送信する通信処理手段と
を備えることを特徴とする表計算ソフトウェア連携処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、パーソナルコンピュータやワークステーション（以下、ＰＣ／ＷＳと記す）等の端末計算機およびホスト計算機を利用して業務処理を行うデータ処理システムに係り、ＰＣ／ＷＳで動作する表計算ソフトウェアと、ホスト計算機上のプログラムまたはデータとのオンライン連携処理を可能とした表計算ソフトウェア連携処理に関する。
【０００２】
【従来の技術】
近年、業務処理等を行うために、ＰＣ／ＷＳ上で動作する表計算ソフトウェアを導入するユーザが増えている。これに伴い、ＰＣ／ＷＳ上の表計算ソフトウェアと、回線を介してＰＣ／ＷＳに接続されたホスト計算機上の処理との連携により、業務処理等を効率化することが望まれている。
【０００３】
従来の表計算ソフトウェア連携処理装置の一例が、先願の「表計算ソフトウェア連携処理装置」（特開平５−７３５９０）に示されている。この表計算ソフトウェア連携処理装置においては、まず、表計算ソフトウェアが作成する表形式データの定義情報である原型ワークシートが、ＰＣ／ＷＳからホスト計算機に送信される。ホスト計算機は、受信した原型ワークシートをもとに、表中のレコード領域を定義するレコード領域原始文と、配信ワークシート作成に必要な体裁情報であるワークシート・フォーマット定義体とを作成する。そして、ホスト計算機上でデータベース処理等を行う応用プログラムに、レコード領域原始文を組み込んで、その応用プログラムを実行する。応用プログラムは、具体的なデータ処理の結果をレコード領域原始文により指定されたレコードとして出力する。次に、ホスト計算機はワークシート・フォーマット定義体を参照しながら、応用プログラムが出力するレコードの内容を表に埋め込んで、表形式の配信ワークシートを作成する。配信ワークシートは、ＰＣ／ＷＳから送られた原型ワークシートをもとに作成されているので、ＰＣ／ＷＳ上の表計算ソフトウェアが処理可能な形式になっている。作成された配信ワークシートは、ホスト計算機からＰＣ／ＷＳに送信され、表計算ソフトウェアの処理対象として利用される。表計算ソフトウェアは、配信ワークシートをもとに表データの再編成や表示処理などを行う。
【０００４】
このように、従来の表計算ソフトウェア連携処理装置によれば、ホスト計算機からＰＣ／ＷＳに向けて、ホスト上のデータが埋め込まれた配信ワークシートを自動的に配信することができ、ＰＣ／ＷＳへのデータの入力処理が効率化される。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の表計算ソフトウェア連携処理装置には次のような問題がある。
【０００６】
従来の表計算ソフトウェア連携処理装置は、ホスト計算機からＰＣ／ＷＳにワークシートを配信することはできたが、ＰＣ／ＷＳの表計算ソフトウェアを使用してデータ入力したワークシートを、ホスト計算機で動作する応用プログラムで取り込んでホスト計算機のデータとして利用するためには、表計算ソフトウェアの特性を意識した特別な処理を応用プログラムに組み込む必要がある。しかし、ワークシート・フォーマット定義体はユーザには公開されていないので、その内容を利用することはできない。このため、表計算ソフトウェアを使用したホスト計算機へのデータ入力に関して、ユーザは応用プログラムに複雑な処理を組み込む作業を行わなければならない。
【０００７】
また、ＰＣ／ＷＳへのワークシートの配信に関しても、ホスト計算機上で動作するワークシート配信用の応用プログラムを新たに作成する必要がある。したがって、ホスト計算機からＰＣ／ＷＳへのデータ入力のためにも、ユーザは新たな応用プログラムを作成しなければならない。
【０００８】
本発明は、ＰＣ／ＷＳ等の端末計算機上の表計算ソフトウェアとホスト計算機上のプログラムまたはデータとの連携処理を、容易に行うことが可能な表計算ソフトウェア連携処理装置とその方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
図１は、本発明の表計算ソフトウェア連携処理装置をホスト計算機１内に備える情報処理システムの原理図である。図１の情報処理システムは、オンライン回線により接続されたホスト計算機１と端末計算機２１、および端末計算機２１用の表示装置２５から構成される。端末計算機２１は送信手段２２、受信手段２３、表計算ソフトウェア２４を備える。また、ホスト計算機１内の表計算ソフトウェア連携処理装置は、通信処理部２、レコード領域原始文生成手段４、ワークシート・フォーマット定義体生成手段５、応用プログラム実行手段７、データ入力用ワークシート解析手段９、帳票印刷データ作成手段１２、および配信ワークシート作成手段１４を備える。
【００１０】
図１において、端末計算機２１上の表計算ソフトウェア２４は表計算等の処理を行い、表示装置２５に表を表示する。また、送信手段２２は、表計算ソフトウェア２４が作成した原型ワークシート３およびデータ入力用ワークシート１１を、上記オンライン回線を介して通信処理部２に送信する。
【００１１】
通信処理部２は、表計算ソフトウェア２４が生成した原型ワークシート３およびデータ入力用ワークシート１１を端末計算機２１から受信する。レコード領域原始文生成手段４は、原型ワークシート３を構成する表の個々のデータに関する定義情報を解析して、レコード領域の配列データを含むレコード領域原始文６を生成する。
【００１２】
ワークシート・フォーマット定義体生成手段５は、原型ワークシート３から、ワークシートの体裁に関する定義情報を含むワークシート・フォーマット定義体１０を生成する。
【００１３】
応用プログラム実行手段７は、生成されたレコード領域原始文６が組み込まれ、そのレコード領域原始文６により指定されるレコード領域に通知された入力データを参照して処理を行う応用プログラムを実行する。
【００１４】
データ入力用ワークシート解析手段９は、ワークシート・フォーマット定義体１０を参照しながら、データ入力用ワークシート１１を解析して入力データを生成し、その入力データを上記応用プログラムのレコード領域に通知する。
【００１５】
また、応用プログラム実行手段７は、表計算ソフトウェア２４がデータとして使用可能な帳票を印刷するために用いられる帳票印刷データ１３の出力を指示する応用プログラムを実行する。
【００１６】
帳票印刷データ作成手段１２は、その応用プログラムからの指示を受けて、帳票印刷データ１３を作成し、配信ワークシート作成手段１４は、上記帳票の体裁に関する帳票体裁定義情報１６を参照して、作成された帳票印刷データ１３から配信ワークシート１５を作成する。
【００１７】
通信処理部２は、配信ワークシート１５を端末計算機２１に送信する。
一方、端末計算機２１の受信手段２３は、通信処理部２から上記オンライン回線を介して配信ワークシート１５を受信し、表計算ソフトウェア２４は配信ワークシート１５に含まれるデータを利用して処理を行う。
【００１８】
【作用】
端末計算機２１とホスト計算機１は、原型ワークシート３、データ入力用ワークシート１１、配信ワークシート１５等のワークシート情報をやりとりして、表計算に関する連携処理を行う。
【００１９】
まず、ホスト計算機１では、端末計算機２１上の表計算ソフトウェア２４を使用して作成した原型ワークシート３から、レコード領域原始文生成手段４によりレコード領域原始文６が自動的に生成され、応用プログラムがそのレコード領域原始文６を組み込むことができるようになる。また、同じ原型ワークシート３から、ワークシート・フォーマット定義体生成手段５によりワークシート・フォーマット定義体１０が生成され、データ入力用ワークシート解析手段９はそれを用いてデータ入力用ワークシート１１を解析することができる。
【００２０】
レコード領域原始文６とワークシート・フォーマット定義体１０は、ともに同じ原型ワークシート３から生成されており、データ項目の属性について共通の情報を持っている。応用プログラム実行手段７は、データ入力用ワークシート解析手段９によりレコード領域原始文６の形式に変換された入力データを受け取り、その入力データを用いた演算等の処理を応用プログラムに行わせる。
【００２１】
これにより、表計算ソフトウェア２４が作成したデータが自動的に応用プログラムに入力され、表計算ソフトウェア２４が持つ豊富な操作性を、ホスト計算機１に対するデータの入力処理に活用できるようになる。また、従来の表計算ソフトウェア連携処理装置に比べて、より容易にホスト計算機へデータを入力することが可能になる。
【００２２】
また、応用プログラムにより帳票印刷データ１３を出力する指示が出されると、帳票印刷データ作成手段１２は、帳票体裁定義情報１６により定義される体裁に合わせて、帳票印刷データ１３を作成する。帳票印刷データ１３は、従来、ホスト計算機１において帳票を印刷するために用いられていたデータであり、印刷された帳票は、表計算ソフトウェア２４が作成する表と近似した形式を持つ。帳票印刷データ１３から、配信ワークシート作成手段１４により、表計算ソフトウェア２４が処理可能な形の配信ワークシート１５が作成される。このとき、帳票体裁定義情報１６に含まれるデータ項目情報が参照される。
【００２３】
作成された配信ワークシート１５は、通信処理部２により端末計算機２１に送信され、表計算ソフトウェア２４は、それに含まれるデータを利用して表計算等の処理を行う。
【００２４】
これにより、ホスト計算機１で出力される帳票の内容が自動的に端末計算機２１に入力され、表計算ソフトウェア２４の処理に活用できるようになる。また、従来の表計算ソフトウェア連携処理装置に比べて、新たな配信用のプログラムを作成する必要が無く、より容易にデータを配信することが可能になる。
【００２５】
【実施例】
以下、図面を参照しながら、本発明の実施例について詳細に説明する。
図２は、本発明の第１の実施例の表計算ソフトウェア連携処理装置の構成図である。図２の表計算ソフトウェア連携処理装置は図１のホスト計算機１内に設けられ、レコード領域原始文生成部３１、ワークシート・フォーマット定義体生成部３２、およびデータ入力用ワークシート解析部３３を備える。レコード領域原始文生成部３１、ワークシート・フォーマット定義体生成部３２、およびデータ入力用ワークシート解析部３３は、ホスト計算機１内の図示されないＣＰＵ（中央処理装置）の演算処理機能により実現される。
【００２６】
図２において、原型ワークシート３は、端末計算機２１の表計算ソフトウェア２４により作成された後、ホスト計算機１へ送信されて通信処理部２により受信される。この例では、原型ワークシート３は３つの列Ａ、Ｂ、Ｃからなる表を記述しており、１行目から６行目までが表中のセルの配列を表し、７行目から１０行目までがレコード・データ項目記述部となっている。
【００２７】
１行目の「１月の売上高」は表全体に対する注釈を表し、２行目の「品名」、「数量」、「売上」は、それぞれＡ、Ｂ、Ｃ各列のデータ項目に対応する見出し語を表す。３行目の「！Ａ」、「！Ｂ」、「！Ｃ」は、それぞれ「品名」、「数量」、「売上」に対応する変数名を表す。ホスト計算機１内でのデータ処理の結果はこれらの変数に格納される。４、５行目についても３行目と同様である。６行目の「合計」は３〜５行目の各品名についての合計を表す見出し語である。また、「＠ＳＵＭ（Ｂ３：Ｂ５）」は３〜５行目の変数！Ｂの和を求める関数を表し、「＠ＳＵＭ（Ｃ３：Ｃ５）」は３〜５行目の変数！Ｃの和を求める関数を表す。
【００２８】
７行目の「ＲＥＣＯＲＤ  ＮＡＭＥ＝ＲＥＣ００１」はレコード定義を表し、８〜９行目は各データ項目の記述を表す。例えば、８行目の「Ａ  ＤＡＴＡ  ＰＩＣ＝（Ｎ，８）‥‥」は変数！Ａのデータ型がＮ（日本語）で、長さが８文字であることを表し、９行目の「Ｂ  ＤＡＴＡ  ＰＩＣ＝（９，６）‥‥」は変数！Ｂのデータ型が９（数字）で、長さが６文字（６桁）であることを表す。１０行目についても９行目と同様である。
【００２９】
レコード領域原始文生成部３１は、原型ワークシート３のレコード・データ項目記述部を解析してレコード領域原始文６を生成する。本実施例では、ＣＯＢＯＬ言語で記述された応用プログラム３４が、ＣＯＰＹ句によってプログラム中に組み込むことができるＣＯＰＹライブラリ３５として、レコード領域原始文６を生成している。
【００３０】
また、ワークシート・フォーマット定義体生成部３２は、原型ワークシート３を参照して、セル情報とデータ項目情報からなるワークシート・フォーマット定義体１０を生成する。本実施例では、ワークシート・フォーマット定義体１０をメンバに持つフォーマットライブラリ３６として生成している。
【００３１】
応用プログラム３４は、ＣＯＰＹ句「ＣＯＰＹ  ＲＥＣ００１」によって、レコード領域原始文６をプログラム中に組み込み、ＯＰＥＮ命令、ＲＥＡＤ命令、ＣＬＯＳＥ命令を発行する。ＯＰＥＮ命令により、レコード領域原始文６が指定するレコードをその構成要素として持つ表示ファイルを開き、ＲＥＡＤ命令によりその表示ファイルの内容を読み込み、ＣＬＯＳＥ命令により表示ファイルを閉じる。ここで、表示ファイルとは、ディスプレイやプリンタ等をアクセスするための仮想的なファイルを指し、本実施例においてはデータ入力用ワークシート１１の内容を含んでいる。
【００３２】
データ入力用ワークシート１１は、原型ワークシート３の表中の変数や関数値を具体的な入力データで置き換えたワークシートであり、端末計算機２１上で表計算ソフトウェアにより生成された後、ホスト計算機１へ送信される。データ入力用ワークシート解析部３３は、ワークシート・フォーマット定義体１０を参照して、受け取ったデータ入力用ワークシート１１から入力データを抽出し、レコード領域原始文６を組み込んだ応用プログラム３４に、レコード領域原始文６と同じ形式で入力データを通知する。このとき、入力データはレコード領域原始文６の形式に変換されており、応用プログラム３４は、端末計算機２１から入力された個々のデータを使用して処理を行うことができる。
【００３３】
図３は、図２の原型ワークシート３に対応するワークシート・フォーマット定義体１０の例を示している。図３のワークシート・フォーマット定義体１０は、セル情報４１とデータ項目情報４２から構成される。セル情報４１には、原型ワークシート３の表中のセルの位置を表すセル番地、セルの種類を表すセル種別、セルの内容である具体的な文字列／変数名／関数、およびその他のセル属性が記述される。また、データ項目情報４２には、データ項目に対応する変数名、変数の型を表すデータ型、変数の長さを表す項目長、対応するレコード内のオフセット、および同じ変数の繰り返し数が記述される。
【００３４】
図４は、図２の原型ワークシート３に対応するデータ入力用ワークシート１１の例を示している。図４のデータ入力用ワークシート１１は、図２の原型ワークシート３の表において、３〜５行目の変数「！Ａ」、「！Ｂ」、「！Ｃ」と６行目の関数「＠ＳＵＭ（Ｂ３：Ｂ５）」、「＠ＳＵＭ（Ｃ３：Ｃ５）」を、それぞれ具体的なデータに置き換えた形になっている。
【００３５】
次に、図５および図６を参照しながら、レコード領域原始文生成部３１によるレコード領域原始文生成処理とワークシート・フォーマット定義体生成部３２によるワークシート・フォーマット定義体生成処理について説明する。
【００３６】
図５は、レコード領域原始文生成処理のフローチャートである。図５のレコード領域原始文生成処理により、例えば図２の原型ワークシート３からレコード領域原始文６が生成される。図５において処理が開始されると、レコード領域原始文生成部３１は、まず原型ワークシート３のレコード・データ項目記述部からレコードまたはデータ項目に関する定義情報を取り出す（ステップＳ１）。定義情報がなければ、レコード・データ項目記述部が終了したと判断し（ステップＳ２、Ｙｅｓ）、処理を終了する。次に、取り出した定義情報がレコード定義に相当するかどうかを判定し（ステップＳ３）、レコード定義であればレコード文生成処理を行う（ステップＳ５）。そして、ステップＳ１以降の処理を繰り返す。
【００３７】
例えば、図２の原型ワークシート３の７行目の定義情報はレコード定義に相当するので、レベル情報として「０１」を設定し、指定されたレコード名を設定する（ステップＳ５）。これにより、図２のレコード領域原始文６の１行目の「０１  ＲＥＣ００１」が生成される。
【００３８】
ステップＳ３において、定義情報がデータ項目に関するものである場合は、データ文生成処理を行う（ステップＳ４）。データ文生成処理においては、レベル情報を設定し、データ項目名、データ項目属性、およびデータ項目長を得て、それらを設定する。そして、ステップＳ１以降の処理を繰り返す。
【００３９】
例えば、図２の原型ワークシート３の８行目の定義情報は最初のデータ項目定義に相当するので、レベル情報「０２」を設定し、データ項目の集団項目名「ＲＥＣ００１−ＤＡＴＡ」を設定する。この集団項目名は、より低いレベル「１０」に設定されるデータ項目の配列を識別するために付加される。次に、レベル情報「１０」とデータ項目名「Ａ」を設定する。また、データ項目属性とデータ項目長を合わせて、「ＯＣＣＵＲＳ  ３」、「ＰＩＣ  Ｎ（８）」のように配列データとして設定する。ここで、Ｎ（８）はデータ項目長８の大きさを持つ日本語の文字列を表し、「ＯＣＣＵＲＳ  ３」は同じ型の文字列が３回繰り返されることを表す。９、１０行目の定義情報についても同様の処理を行って、レベル「１０」のデータ文を生成する。
【００４０】
図６は、ワークシート・フォーマット定義体生成処理のフローチャートである。図６のワークシート・フォーマット定義体生成処理により、例えば図２の原型ワークシート３から図３のワークシート・フォーマット定義体１０が生成される。図６において処理が開始されると、ワークシート・フォーマット定義体生成部３２は、まず制御用の変数ｍ、ｎにそれぞれ１を代入し（ステップＳ１１、Ｓ１２）、原型ワークシート３のｍ行ｎ列のセル情報を取り出す（ステップＳ１３）。次に、取り出したセル情報が変数セルか固定値セルかを判定し（ステップＳ１４）、変数セルの場合は変数セル変換処理を行い（ステップＳ１５）、固定値セルの場合は固定値セル変換処理を行う（ステップＳ１６）。尚、関数が設定されたセルについては、これを固定値セルとして処理する。
【００４１】
次に、ｍ行のすべての列のセル情報を取り出したかどうかを判定し（ステップＳ１７）、セル情報の取り出しが終了していない場合はｎをｎ＋１とおいて（ステップＳ１８）、ステップＳ１３以降の処理を繰り返す。ステップＳ１７ですべての列のセル情報の取り出しが終了した場合は、次にすべての行のセル情報を取り出したかどうかを判定する（ステップＳ１９）。セル情報の取り出しが終了していない場合はｍをｍ＋１、ｎを１とおいて（ステップＳ２０、Ｓ２１）、ステップＳ１３以降の処理を繰り返す。そして、ステップＳ１９ですべての行のセル情報の取り出しを終了したと判定したとき、処理を終了する。
【００４２】
ステップＳ１５の変数セル変換処理においては、セル情報から属性情報を抽出し、セルとデータ項目を対応付けて、ワークシート・フォーマット定義体情報に変換する。例えば、図２の３行１列（３行Ａ列）のセル情報は変数「！Ａ」を表すので、図３のワークシート・フォーマット定義体１０におけるセル情報４１に、対応するセル番地「Ａ３」、セル種別「変数」、変数名「Ａ」を設定し、ポインタを用いてデータ項目情報４２内の変数名「Ａ」と対応付ける。データ項目情報４２内の変数名「Ａ」の欄には、データ型「Ｎ」、項目長「８」、レコード内オフセット「０」、繰り返し数「３」が設定される。セル情報４１の変数名の欄の「（配列の１番目）」は、３回繰り返される同名の変数のうちの１番目であることを表している。他の変数セルについても同様の処理が行われる。
【００４３】
また、ステップＳ１６の固定値セル変換処理においては、セル情報から属性情報および文字列情報を抽出し、ワークシート・フォーマット定義体情報に変換する。例えば、図２の１行１列（１行Ａ列）のセル情報は固定値「１月の売上高」を表すので、セル情報４１に、対応するセル番地「Ａ１」、セル種別「固定値」、文字列「１月の売上高」を設定する。固定値セルの場合は、変数セルの場合と異なり、データ項目情報４２との対応付けを行う必要はない。他の固定値セルについても同様の処理が行われる。
【００４４】
このような処理を繰り返すことにより、最終的に図３に示すようなワークシート・フォーマット定義体１０が生成される。
ＣＯＰＹ句によりレコード領域原始文６を組込んだ応用プログラム３４は、ＲＥＡＤ命令により表示ファイルからデータ入力用ワークシート１１を読み込んで、その内容をデータ入力用ワークシート解析部３３に解析させる。次に、図７および図８を参照しながら、ＲＥＡＤ命令の処理とデータ入力用ワークシート解析部３３によるデータ入力用ワークシート解析処理について説明する。
【００４５】
図７は、ＲＥＡＤ命令の処理フローチャートである。図７において処理が開始されると、応用プログラム３４は、まず表示ファイルのパラメタチェックを行い（ステップＳ３１）、端末計算機２１から受信したデータ入力用ワークシート１１を含むことがわかると、これをメモリ内に取り込む（ステップＳ３２）。そして、データ入力用ワークシート解析部３３を呼出して、取り込んだデータ入力用ワークシート１１の解析を依頼し、入力レコードを生成する（ステップＳ３３）。次に、復帰コードを設定して（ステップＳ３４）、応用プログラム３４の次の命令の処理に復帰する。
【００４６】
図８は、図７のステップＳ３３で呼出されたデータ入力用ワークシート解析部３３によるデータ入力用ワークシート解析処理のフローチャートである。図８において処理が開始されると、データ入力用ワークシート解析部３３は、まず制御用の変数ｍ、ｎにそれぞれ１を代入し（ステップＳ４１、Ｓ４２）、データ入力用ワークシート１１のｍ行ｎ列のセル情報を取り出す（ステップＳ４３）。次に、ワークシート・フォーマット定義体１０を参照して、取り出したセル情報が変数セルか固定値セルかを判定する（ステップＳ４４）。このとき、関数が設定されたセルは固定値セルに含められる。
【００４７】
例えば、図４のデータ入力用ワークシート１１の１行１列（１行Ａ列）のセルのセル番地はＡ１であり、図３のセル情報４１のセル番地Ａ１に対応するセル種別は固定値であるので、このセルは固定値セルであることが分かる。同様にして、データ入力用ワークシート１１の３行１列（３行Ａ列）のセルのセル番地はＡ３であり、セル情報４１のセル番地Ａ３に対応するセル種別は変数であるので、このセルは変数セルであることが分かる。また、６行２列（６行Ｂ列）のセルのセル番地はＢ６であり、対応するセル種別は関数であるので、このセルは固定値セルとして扱う。
【００４８】
固定値セルの場合は、その文字列情報は既にワークシート・フォーマット定義体１０に設定されているので、それを読み取る必要はない。そこで、ｍ行のすべての列のセル情報を取り出したかどうかを判定し（ステップＳ４６）、セル情報の取り出しが終了していない場合はｎをｎ＋１とおいて（ステップＳ４７）、ステップＳ４３以降の処理を繰り返す。ステップＳ４６ですべての列のセル情報の取り出しが終了した場合は、次にすべての行のセル情報を取り出したかどうかを判定する（ステップＳ４８）。セル情報の取り出しが終了していない場合はｍをｍ＋１、ｎを１とおいて（ステップＳ４９、Ｓ５０）、ステップＳ４３以降の処理を繰り返す。そして、ステップＳ４８ですべての行のセル情報の取り出しを終了したと判定したとき、処理を終了する。
【００４９】
ステップＳ４４で変数セルの場合は、その情報を読み取るために入力データ変換処理を行ってから（ステップＳ４５）、ステップＳ４６以降の処理を行う。入力データ変換処理においては、変数セルから文字列情報を抽出し、ワークシート・フォーマット定義体１０を参照して、そのセル番地の変数セルに対応するデータ項目情報を得る。そして、変数セルから抽出した文字列をデータ項目情報により指定されるデータ型に合わせて変換し、レコードとして組み立てる。
【００５０】
例えば、データ入力用ワークシート１１の３行１列（３行Ａ列）のセルは変数セルであるので、その文字列「日本酒」を抽出する。次に、ワークシート・フォーマット定義体１０のセル情報４１内のセル番地Ａ３に格納されたポインタを使用してデータ項目情報４２にアクセスし、対応する変数名Ａのデータ型、項目長、レコード内オフセットを得る。そして、これらのデータ項目情報に合わせて文字列「日本酒」を変換し、入力レコードを生成する。また、データ入力用ワークシート１１の３行２列（３行Ｂ列）のセルも変数セルであるので、その文字列「１００」を抽出する。次に、セル情報４１内のセル番地Ｂ３に格納されたポインタを使用してデータ項目情報４２にアクセスし、対応する変数名Ｂの情報を得る。そして、そのデータ項目情報に合わせて文字列「１００」を変換し、レコード領域原始文６の形式に合った入力レコードを生成する。他の変数セルについても同様の処理が行われる。
【００５１】
こうして、データ入力用ワークシート１１に含まれるすべての変数セルから文字列を抽出すると、データ入力用ワークシート解析部３３は、生成した入力レコードを応用プログラム３４に通知する。応用プログラム３４は、組込まれているレコード領域原始文６を用いて入力レコードを読み取り、演算等の処理を行う。
【００５２】
第１の実施例によれば、データ入力用ワークシート解析部３３がワークシート・フォーマット定義体１０を利用して、データ入力用ワークシート１１から入力レコードを自動的に抽出するので、表計算ソフトウェア２４から応用プログラム３４へのデータ入力が容易になる。
【００５３】
尚、第１の実施例において、応用プログラム３４はＣＯＢＯＬ言語で記述されているが、本発明は他の言語で記述された応用プログラムに対しても同様に適用することができる。また、図２に示された原型ワークシート３は一例に過ぎず、他の任意の表データに対応することが可能である。その場合、レコード領域原始文６とワークシート・フォーマット定義体１０も、原型ワークシート３に対応したものが生成される。
【００５４】
次に、図９から図１２までを参照しながら、本発明の第２の実施例について説明する。
図９は、本発明の第２の実施例の表計算ソフトウェア連携処理装置の構成図である。図９の表計算ソフトウェア連携処理装置は図１のホスト計算機１内に設けられ、配信ワークシート作成部５３を備える。配信ワークシート作成部５３は、ホスト計算機１内のＣＰＵの演算処理機能により実現される。また、図９の帳票印刷データ印刷装置５１は、例えばホスト計算機１に接続されたプリンタ等の印刷機器である。
【００５５】
図９において、帳票印刷データ１３は、応用プログラムからの出力指示を受けた、ホスト計算機１の帳票印刷データ作成手段１２により作成される帳票印刷用のデータである。例えば、これまでは帳票印刷データ印刷装置５１により帳票印刷データ１３を元にして、帳票５２が印刷されていた。帳票５２は、表計算ソフトウェア２４が作成する表に適合した体裁を持っており、そのデータを端末計算機２１に再入力して処理に利用することもできる。この例では、帳票５２は商品の受注一覧を表し、受注番号、商品名、数量、単価、小計のカラムを有する。例えば、受注番号１２０００の商品ＸＸＸＸＸＸの受注数量は１００であり、その単価は￥５，０００、小計は￥５００，０００である。また、すべての受注商品の合計額は￥８００，０００となっている。
【００５６】
配信ワークシート作成部５３は、帳票体裁定義情報１６を参照して、帳票印刷データ１３から配信ワークシート１５を作成する。帳票体裁定義情報１６は、帳票印刷データ作成手段１２が帳票印刷データ１３を作成する時に参照する定義情報であり、フィールド情報５４とデータ項目情報５５からなる。図９において、配信ワークシート１５は、縦３１行、横６列（カラム）から成るワークシートとして作成されている。配信ワークシート１５上の各項目は帳票５２に印刷される場合と近似した位置に配置されている。
【００５７】
図１０は、図９の帳票５２に対応するフィールド情報５４を示しており、図１１は、図９の帳票５２に対応するデータ項目情報５５を示している。フィールド情報５４は、帳票５２の表の各フィールドの位置、固定フィールドまたは可変フィールドの種別、文字列／データ項目名、文字サイズを格納しており、データ項目情報５５は、可変フィールドのデータ項目名についての属性を格納している。図１０のフィールド情報５４において、各行位置は図９の配信ワークシート１５の同じ番号の行にそれぞれ対応し、各列位値１、１１、２３、３１、４１、４９は、配信ワークシート１５の列Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆにそれぞれ対応している。
【００５８】
データ項目情報５５に格納されるデータ項目の属性としては、データ型、項目長、レコード内オフセット、繰り返し数、数値編集属性等がある。これらのうち、データ型、項目長、レコード内オフセット、および繰り返し数については、図３のデータ項目情報４２と同様の意味を持つ。フィールド情報５４の各可変フィールドの情報は、あらかじめポインタを用いてデータ項目情報５５内の対応するデータ項目の情報と関係付けられている。例えば、フィールド情報５４の３行３１列のフィールド情報は「ＳＨＡＭＥＩ」というデータ項目を持つので、データ項目情報５５内の「ＳＨＡＭＥＩ」の情報を指すポインタを格納している。
【００５９】
図１２は、配信ワークシート作成部５３による配信ワークシート作成処理のフローチャートである。図１２の配信ワークシート作成処理により、例えば図９の帳票印刷データ１３から配信ワークシート１５が作成される。図１２において処理が開始されると、配信ワークシート作成部５３は、まず帳票体裁定義情報１６から帳票５２内の先頭の項目に対応するフィールド情報を取り出し（ステップＳ５１）、帳票印刷データ１３から先頭行の印刷内容を取り出す（ステップＳ５２）。次に、取り出したフィールド情報（項目情報）の行位置が、取り出した印刷内容の行位置に一致するかどうかを判定する（ステップＳ５３）。両者が一致しない場合は、帳票印刷データ１３から次の行の印刷内容を取り出し（ステップＳ５４）、再びステップＳ５３の判定を行う。
【００６０】
ステップＳ５３で２つの行位置が一致すれば、セルの生成処理を行い（ステップＳ５５）、フィールド情報５４の最終情報（最終項目）に達したかどうかを判定する（ステップＳ５６）。最終項目に達していなければ、帳票体裁定義情報１６から帳票５２内の次の項目に対応するフィールド情報を取り出し（ステップＳ５７）、ステップＳ５３以降の処理を繰り返す。そして、ステップＳ５６で最終項目に達したと判定すると、処理を終了する。
【００６１】
ステップＳ５５のセルの生成処理においては、取り出した項目情報の列位置および対応するデータ項目の項目長を元にして、印刷内容から対応する文字列を抽出する。そして、項目情報の行位置、列位置、データ項目の項目長、抽出した文字列から１つのセルを生成する。この処理を帳票印刷データ１３のすべての印刷内容について行えば、配信ワークシート１５が生成される。
【００６２】
例えば、図１０のフィールド情報５４の３行３１列において、フィールド種別は「可変」となっており、そのデータ項目名は「ＳＨＡＭＥＩ」であることが分かる。そこで、ポインタを用いて図１１のデータ項目情報５５にアクセスし、データ項目「ＳＨＡＭＥＩ」の項目長１３を得る。次に、３行に対応している印刷内容の３１列に対応する位置から長さ１３の文字列「株式会社 ○○物産 」を読み出し、配信ワークシート１５のセルとして設定する。フィールド情報５４の３行３１列の位置情報は、配信ワークシート１５の３行Ｄ列のセル位置に対応しているので、文字列「株式会社 ○○物産 」は３行Ｄ列のセル位置を始点とする長さ１３の領域に設定される。
【００６３】
また、フィールド情報５４の５行１列のデータ項目名は「ＮＵＭＢＥＲ」であるので、ポインタを用いてデータ項目情報５５にアクセスし、データ項目「ＮＵＭＢＥＲ」の項目長８を得る。そこで、５行に対応している印刷内容の１列に対応する位置から長さ８の文字列「 １２０００」を読み出し、配信ワークシート１５の５行Ａ列のセルとして設定する。他の位置の可変な印刷内容についても同様の処理が行われる。
【００６４】
ここで、フィールド情報５４のフィールド種別が「固定」の場合は、対応するデータ項目名がないので、印刷内容の文字列をそのまま読み出して、対応するセル位置に設定する。あるいは、フィールド情報５４にも同じ文字列が格納されているので、その文字列を読み出して対応するセル位置に設定することもできる。
【００６５】
このようにして作成された配信ワークシート１５は、配信ワークシート作成部５３から通信処理部２に渡され、通信処理部２により端末計算機２１に送信される。端末計算機２１では、その配信ワークシート１５を受信手段２３により受信し、表計算ソフトウェア２４による処理を行う。これにより、元々ホスト計算機１において帳票５２の印刷用に作成されていた帳票印刷データ１３を、表計算ソフトウェア２４で２次的に利用することが可能となる。
【００６６】
第２の実施例によれば、今まで帳票５２の印刷に利用していた帳票体裁定義情報１６を配信ワークシート作成処理にそのまま流用することができる。したがって、ホスト計算機１上に新たに応用プログラムなどを作成する必要がなく、帳票印刷データ１３を容易に端末計算機２１に配信することができる。
【００６７】
尚、第２の実施例において、図９に示された帳票５２は一例に過ぎず、本発明は他の任意の帳票に対応することが可能である。その場合、帳票体裁定義情報１６もまた、その帳票に対応したものが用いられる。
【００６８】
【発明の効果】
本発明によれば、ＰＣ／ＷＳ等の端末計算機上の表計算ソフトウェアとホスト計算機との連携処理が自動的に行われ、表計算ソフトウェアを利用した業務処理が効率化される。このとき、ユーザは連携処理のために応用プログラム等を新たに作成する必要はない。具体的には、まず、表計算ソフトウェアを用いたデータ集計作業の延長上で、ホスト計算機へのデータ入力が可能となる。また、ホスト計算機の集計データを帳票により配信する業務がすでに多数あって、配信された帳票を端末計算機の表計算ソフトウェアを利用して再集計する必要があるような場合に、端末計算機へのデータ入力作業を削減することができる。
【図面の簡単な説明】
【図１】本発明の原理図である。
【図２】本発明の第１の実施例の構成図である。
【図３】第１の実施例におけるワークシート・フォーマット定義体の例を示す図である。
【図４】第１の実施例におけるデータ入力用ワークシートの例を示す図である。
【図５】第１の実施例におけるレコード領域原始文生成処理のフローチャートである。
【図６】第１の実施例におけるワークシート・フォーマット定義体生成処理のフローチャートである。
【図７】第１の実施例におけるＲＥＡＤ命令の処理フローチャートである。
【図８】第１の実施例におけるデータ入力用ワークシート解析処理のフローチャートである。
【図９】本発明の第２の実施例の構成図である。
【図１０】第２の実施例におけるフィールド情報の例を示す図である。
【図１１】第２の実施例におけるデータ項目情報の例を示す図である。
【図１２】第２の実施例における配信ワークシート作成処理のフローチャートである。
【符号の説明】
１  ホスト計算機
２  通信処理部
３  原型ワークシート
４  レコード領域原始文生成手段
５  ワークシート・フォーマット定義体生成手段
６  レコード領域原始文
７  応用プログラム実行手段
８  データベース
９  データ入力用ワークシート解析手段
１０  ワークシート・フォーマット定義体
１１  データ入力用ワークシート
１２  帳票印刷データ作成手段
１３  帳票印刷データ
１４  配信ワークシート作成手段
１５  配信ワークシート
１６  帳票体裁定義情報
２１  端末計算機
２２  送信手段
２３  受信手段
２４  表計算ソフトウェア
２５  表示装置
３１  レコード領域原始文生成部
３２  ワークシート・フォーマット定義体生成部
３３  データ入力用ワークシート解析部
３４  応用プログラム
３５  ＣＯＰＹライブラリ
３６  フォーマットライブラリ
４１  セル情報
４２、５５  データ項目情報
５１  帳票印刷データ印刷装置
５２  帳票
５３  配信ワークシート作成部
５４  フィールド情報
【図１】
0004068008.tif 000002
【図２】
0004068008.tif 000003
【図３】
0004068008.tif 000004
【図４】
0004068008.tif 000005
【図５】
0004068008.tif 000006
【図６】
0004068008.tif 000007
【図７】
0004068008.tif 000008
【図８】
0004068008.tif 000009
【図９】
0004068008.tif 000010
【図１０】
0004068008.tif 000011
【図１１】
0004068008.tif 000012
【図１２】
0004068008.tif 000013