(57)【要約】      （修正有）【課題】様々な粒度や形式のデータをアプリケーション間で受け渡すデータ処理装置、データ処理方法及びデータ処理プログラムを提供する。【解決手段】データ処理装置１００は、データソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換して、データ変換したデータグループにキー情報を付加してテーブル１０６ａに格納する第１のデータ処理部１０２ａと、第１のデータ処理部１０２ａからキー情報を受け取り、テーブル１０６ａから受け取ったキー情報に対応するデータグループを取得して復元する第２のデータ処理部１０２ｂと、を備える。【選択図】図７
2022001992.tif 000002
【特許請求の範囲】
【請求項１】
記憶部及び制御部を備えたデータ処理装置であって、
前記記憶部は、
所定の形式のデータを格納するためのテーブルを備え、
前記制御部は、
データソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換し、変換したデータグループにキー情報を付加して前記テーブルに格納する第１のデータ処理手段と、
前記第１のデータ処理手段からキー情報を受け取り、前記テーブルから受け取ったキー情報に対応するデータグループを取得して復元する第２のデータ処理手段と、
を備えたことを特徴とするデータ処理装置。
【請求項２】
前記グループ化は、読み込んだデータにキーとなる情報がある場合は、当該キーとなる情報を単位にグループ化し、キーになる情報がない場合は、新たにキーとなる情報を設定して、当該設定したキーとなる情報を単位にグループ化することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記キー情報は、データ識別子及び前記データグループのグループ番号で規定されることを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記データ変換は、シリアライズ処理を含み、前記復元は、デシリアライズ処理を含むことを特徴とする請求項１又は請求項２に記載のデータ処理装置。
【請求項５】
前記第１のデータ処理手段及び前記第２のデータ処理手段は、ＲＰＡ（Ｒｏｂｏｔｉｃ  Ｐｒｏｃｅｓｓ  Ａｕｔｏｍａｔｉｏｎ）、非同期処理システム、又は分散処理システムで構成されることを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項６】
前記第１のデータ処理手段及び前記第２のデータ処理手段は、伝票処理を行うことを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項７】
記憶部及び制御部を備えた情報処理装置で実行されるデータ処理方法であって、
前記制御部で実行される、
データソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換して、データ変換したデータグループにキー情報を付加してテーブルに格納する第１のデータ処理工程と、
前記第１のデータ処理工程からキーを受け取り、前記テーブルから受け取ったキー情報に対応するデータグループを取得して復元する第２のデータ処理工程と、
を含むことを特徴とするデータ処理方法。
【請求項８】
記憶部及び制御部を備えた情報処理装置に実行させるためのデータ処理プログラムであって、
前記制御部において、
データソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換して、データ変換したデータグループにキー情報を付加してテーブルに格納する第１のデータ処理工程と、
前記第１のデータ処理工程からキー情報を受け取り、前記テーブルから受け取ったキー情報に対応するデータグループを取得して復元する第２のデータ処理工程と、
を実行させるためのデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、及びデータ処理プログラムに関する。
【背景技術】
【０００２】
従来、アプリケーション間でのデータの受け渡しは、単純なデータの受け渡ししかできなかった。具体的には、例えば、文字列しか渡せない・文字数制限がある等の受け渡しできるデータの制約が多い。従来のデータの受け渡しに関するシステムとして、例えば、特許文献１がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０９５１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、様々な粒度や形式のデータをアプリケーション間で受け渡しを行うことに関して何等記載されていない。
【０００５】
本発明は、上記に鑑みてなされたものであり、様々な粒度や形式のデータをアプリケーション間で受け渡すことが可能なデータ処理装置、データ処理方法、及びデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、記憶部及び制御部を備えたデータ処理装置であって、前記記憶部は、所定の形式のデータを格納するためのテーブルを備え、前記制御部は、データソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換して、データ変換したデータグループにキー情報を付加して前記テーブルに格納する第１のデータ処理手段と、前記第１のデータ処理手段からキー情報を受け取り、前記テーブルから受け取ったキー情報に対応するデータグループを取得して復元する第２のデータ処理手段と、を備えたことを特徴とする。
【０００７】
また、本発明の一態様によれば、前記グループ化は、読み込んだデータにキーとなる情報がある場合は、当該キーとなる情報を単位にグループ化し、キーになる情報がない場合は、新たにキーとなる情報を設定して、当該設定したキーとなる情報を単位にグループ化することにしてもよい。
【０００８】
また、本発明の一態様によれば、前記キー情報は、データ識別子及び前記データグループのグループ番号で規定されることにしてもよい。
【０００９】
また、本発明の一態様によれば、前記データ変換は、シリアライズ処理を含み、前記復元はデシリアライズ処理を含むことにしてもよい。
【００１０】
また、本発明の一態様によれば、前記第１のデータ処理手段及び前記第２のデータ処理手段は、ＲＰＡ、非同期処理システム、又は分散処理システムで構成されることにしてもよい。
【００１１】
また、本発明の一態様によれば、前記第１のデータ処理手段及び前記第２のデータ処理手段は、伝票処理を行うことにしてもよい。
【００１２】
また、上述した課題を解決し、目的を達成するために、本発明は、記憶部及び制御部を備えた情報処理装置で実行されるデータ処理方法であって、前記制御部で実行される、データソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換して、データ変換したデータグループにキー情報を付加しテーブルに格納する第１のデータ処理工程と、前記第１のデータ処理工程からキー情報を受け取り、前記テーブルから受け取ったキー情報に対応するデータグループを取得して復元する第２のデータ処理工程と、を含むことにしてもよい。
【００１３】
また、上述した課題を解決し、目的を達成するために、本発明は、記憶部及び制御部を備えた情報処理装置に実行させるためのデータ処理プログラムであって、前記制御部において、データソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換して、データ変換したデータグループにキー情報を付加してテーブルに格納する第１のデータ処理工程と、前記第１のデータ処理工程からキー情報を受け取り、前記テーブルから受け取ったキー情報に対応するデータグループを取得して復元する第２のデータ処理工程と、を実行させるためのデータ処理プログラムであることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、様々な粒度や形式のデータをアプリケーション間で受け渡すことが可能となるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、読み込んだデータを他のアプリケーションで使用する場合を説明するための図である。
【図２】図２は、読み込んだデータを他のアプリケーションで使用する例１（非同期処理）を説明するための図である。
【図３】図３は、読み込んだデータを他のアプリケーションで使用する例２（ＲＰＡ）を説明するための図である。
【図４】図４は、アプリケーション間で入力データを受け渡す場合の課題１を説明するための図である。
【図５】図５は、様々なフォーマットの入力データを同じテーブルで扱いたいという課題２を説明するための図である。
【図６】図６は、１伝票で複数明細を持つ伝票データや１項目で複数選択できる入力データの管理が難しいという課題３を説明するための図である。
【図７】図７は、本実施の形態に係るデータ処理装置の構成の一例を示すブロック図である。
【図８】図８は、本実施の形態におけるデータ処理装置の制御部の全体の処理の概略を説明するための処理フローを示す図である。
【図９】図９は、１伝票を１つの纏まりとして管理する方法（課題３の解決策）を説明するための図である。
【図１０】図１０は、１伝票を１つの纏まりとして管理する方法（課題３の解決策）を説明するための図である。
【図１１】図１１は、入力データを共通の形に変換する方法（課題２の解決策）を説明するための図である。
【図１２】図１２は、アプリケーション間でキー情報のみを受け渡す方法（課題１の解決策）を説明するための図である。
【図１３】図１３は、第１のデータ処理部及び第２のデータ処理部の詳細なデータ処理を説明するための図である。
【図１４】図１４は、第１のデータ処理部及び第２のデータ処理部の詳細なデータ処理を説明するための図である。
【図１５】図１５は、第１のデータ処理部及び第２のデータ処理部の詳細なデータ処理を説明するための図である。
【図１６】図１６は、第１のデータ処理部及び第２のデータ処理部の詳細なデータ処理を説明するための図である。
【図１７】図１７は、第１のデータ処理部及び第２のデータ処理部の詳細なデータ処理を説明するための図である。
【図１８】図１８は、第１のデータ処理部及び第２のデータ処理部の詳細なデータ処理を説明するための図である。
【発明を実施するための形態】
【００１６】
以下に、本発明に係るデータ処理装置、データ処理方法、及びデータ処理プログラムの実施の形態を、図面に基づいて詳細に説明する。なお、本実施形態によりこの発明が限定されるものではない。
【００１７】
［１．概要］
従来、アプリケーション間でのデータの受け渡しは、単純なデータの受け渡ししかできなかった。このため、扱うデータの分割単位や形式に応じた個別実装が必要になる。個別実装が多くなることで、開発工数・品質に対するリスクが高くなる。
【００１８】
図１〜図３を参照して、従来のアプリケーション間でのデータの受け渡しに関する背景を説明する。
【００１９】
（背景１）
図１は、読み込んだデータを他のアプリケーションで使用する場合を説明するための図である。図１において、例えば、読み込んだデータを他のアプリケーションで使用したい場合がある。日常の業務では大量のデータを一度に読み込み、そのデータを、他のアプリケーションで使用するシステムがある。システムによって、業務分析用の付帯情報などデータの形式は多種多様である。例えば、複数伝票データにそれぞれ複数明細データ紐づくなど、分割粒度も様々である。図１に示す例では、売上伝票用の大量データを、読込処理で読み込み、売上入力に受け渡す場合や、請求伝票用の大量データを、読込処理で読み込み、請求入力に受け渡す場合を示している。
【００２０】
（背景２）
図２は、読み込んだデータを他のアプリケーションで使用する例１（非同期処理）を説明するための図である。図２において、１回の実行に時間がかかる処理（以下「重い処理」と称する）を、複数回行う場合、勤務時間中に大量のデータ（例えば、伝票データ）を読み込んでおいて、勤務時間外（夜間など）に重い処理を実行する、ということがある。このように、データを読み込む処理と、実際に使用する処理が同期していないことを非同期処理という。
【００２１】
（背景３）
図３は、読み込んだデータを他のアプリケーションで使用する例２（ＲＰＡ）を説明するための図である。図３において、ＲＰＡを実行する際、以下の順番で実行されることが多い。１．入力データ（例えば、請求伝票用の大量データ）を一度に読み込む。２．入力データをもとにＲＰＡが繰り返し処理（例えば、１伝票分のデータを受け取り、請求入力を全伝票分繰り返す）を行う。このように、読込処理からＲＰＡロボットへデータを受け渡す必要がある。
【００２２】
次に、図４〜図６を参照して、課題１〜３を説明する。
【００２３】
（課題１）
図４は、アプリケーション間で入力データを受け渡す場合の課題１を説明するための図である。図３において、読込処理で読み込んだ入力データを他のアプリケーション（他のプロセス）で使用するためには、データの受け渡しを行う必要がある。データをアプリケーション間で受け渡すには、文字数制限がある、単純な文字列しか渡せない等、様々な課題がある。また、表形式など構造化された情報の受け渡しが難しいという課題がある。
【００２４】
（課題２）
図５は、様々なフォーマットの入力データを同じテーブルで扱いたいという課題２を説明するための図である。図５において、入力データの受け渡しの課題に対する解決策として、データベースに格納した入力データを、受け渡し先の処理で呼び出す、という手段がある。しかしながら、入力データをそのままの形で格納しようとすると、入力データの項目数や、管理する伝票データなどが変わる度に、それに対応するテーブルを用意する必要がある。
【００２５】
（課題３）
図６は、１伝票で複数明細を持つ伝票データや１項目で複数選択できる入力データの管理が難しいという課題３を説明するための図である。図６において、伝票データには１伝票で複数の明細を持つ伝票データも存在する。また、１項目で複数選択できる伝票データも存在する。このようなデータの管理には、明細の数だけテーブルの行数が増えてしまうという課題がある。また、一つの項目の入力値が複数あるという場合の入力データの管理が難しいという課題がある。
【００２６】
そこで、本実施の形態では、これらの課題１〜課題３を解決するために、（１）アプリケーション間でデータを受け渡す場合にキー情報のみを渡すことで、受け渡す情報を低減し、（２）共通（所定）の形にデータを変換することで、同一テーブルで管理可能にし、（３）データ（例えば、伝票データ）をキーとなる情報（例えば、伝票番号）単位で１つの纏まりとしてグループ化して管理することで、複数の明細、複数の入力値を管理できるように構成した。以下の説明では、主として伝票処理に関して説明するが、本発明はこれに限られるものではなく、各種のデータ処理に適用可能である。
【００２７】
［２．構成］
本実施の形態に係るデータ処理装置１００の構成について、図７を参照して説明する。図７は、本実施の形態に係るデータ処理装置１００の構成の一例を示すブロック図である。
【００２８】
データ処理装置１００は、市販のデスクトップ型パーソナルコンピュータである。なお、データ処理装置１００は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
【００２９】
データ処理装置１００は、図７に示すように、制御部１０２と通信インターフェース部１０４と記憶部１０６と入出力インターフェース部１０８と、を備えている。データ処理装置１００が備えている各部は、任意の通信路を介して通信可能に接続されている。
【００３０】
通信インターフェース部１０４は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、データ処理装置１００をネットワーク３００に通信可能に接続する。通信インターフェース部１０４は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク３００は、データ処理装置１００とサーバ２００とを相互に通信可能に接続する機能を有し、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。なお、後述する記憶部１０６に格納されるデータは、サーバに格納されてもよい。
【００３１】
入出力インターフェース部１０８には、入力装置１１２および出力装置１１４が接続されている。出力装置１１４には、モニタ（家庭用テレビを含む）の他、スピーカやプリンタを用いることができる。入力装置１１２には、キーボード、マウス、およびマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置１１４をモニタ１１４とし、入力装置１１２をキーボード１１２またはマウス１１２として記載する場合がある。また、ユーザが出力装置（モニタ）１１４の画面（ＧＵＩ等）に対して入力装置１１２で操作することを、単に「ユーザ操作」と記載する場合がある。
【００３２】
記憶部１０６には、各種のデータベース、テーブル、およびファイルなどが格納される。記憶部１０６には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と協働してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部１０６として、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。記憶部１０６は、テーブル１０６ａ等を備えている。テーブル１０６ａには、キー情報とデータグループが所定のフォーマットで格納される。
【００３３】
制御部１０２は、データ処理装置１００を統括的に制御するＣＰＵ等である。制御部１０２は、ＯＳ等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。制御部１０２は、機能概念的に、第１のデータ処理部１０２ａと、第２のデータ処理部１０２ｂとを備えている。
【００３４】
第１のデータ処理部１０２ａと第２のデータ処理部１０２ｂは、「アプリケーション」又は「プロセス」とも称される。
【００３５】
第１のデータ処理部１０２ａは、不図示のデータソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換し、変換したデータグループにキー情報を付加してテーブル１０６ａに格納する。データソースは、例えば、Ｅｘｃｅｌ等の表計算アプリ、業務アプリケーション、ファイル自体等の各種データソースを使用することができる。
【００３６】
グループ化は、読み込んだデータにキーとなる情報がある場合は、当該キーとなる情報を単位にグループ化し、キーになる情報がない場合は、新たにキーとなる情報を設定して、当該設定したキーとなる情報を単位にグループ化することにしてもよい。
【００３７】
また、キー情報は、データ識別子及び記データグループのグループ番号で規定されることにしてもよい。また、データ変換は、シリアライズ処理を含み、復元は、デシリアライズ処理を含むことにしてもよい。
【００３８】
第２のデータ処理部１０２ｂは、第１のデータ処理部１０２ａからキー情報を受け取り、テーブル１０６ａから受け取ったキー情報に対応するデータグループを取得した後、復元して、入力する処理を行う。
【００３９】
また、第１のデータ処理部１０２ａ及び第２のデータ処理部１０２ｂは、ＲＰＡ（Ｒｏｂｏｔｉｃ  Ｐｒｏｃｅｓｓ  Ａｕｔｏｍａｔｉｏｎ）、非同期処理システム、又は分散処理システム等で構成してもよい。
【００４０】
また、第１のデータ処理部１０２ａ及び第２のデータ処理部１０２ｂは、伝票処理を行うことにしてもよい。
【００４１】
［３．処理の具体例］
図７〜図１８を参照して、本実施の形態におけるデータ処理装置１００の制御部１０２の処理の具体例を説明する。図８は、本実施の形態におけるデータ処理装置１００の制御部１０２の全体の処理の概略を説明するための処理フローを示す図である。
【００４２】
図８において、まず、第１のデータ処理部１０２ａは、データソースからデータ（例えば、伝票データ）を読み込む読込処理を実行する（ステップＳ１）。第１のデータ処理部１０２ａは、読み込んだデータをグループ化してデータグループを生成するデータグループ作成処理（ステップＳ２）を実行する。次に、第１のデータ処理部１０２ａは、データグループを所定の形式にデータ変換するデータ変換処理を実行する（ステップＳ３）。つづいて、第１のデータ処理部１０２ａは、変換したデータグループにキー情報を付加して、所定のフーマットでテーブル１０６ａに格納する格納処理を実行する（ステップＳ４）。
【００４３】
データソースは、例えば、Ｅｘｃｅｌ等の表計算アプリ、業務アプリケーション、ファイル自体等としてもよい。グループ化は、読み込んだデータにキーとなる情報がある場合は、当該キーとなる情報を単位にグループ化し、キーになる情報がない場合は、新たにキーとなる情報を設定して、当該設定したキーとなる情報を単位にグループ化することにしてもよい。また、キー情報は、データ識別子及び前記データグループのグループ番号で規定されることにしてもよい。また、データ変換は、シリアライズ処理を含むことにしてもよい。
【００４４】
第２のデータ処理部１０２ｂは、第１のデータ処理部１０２ａからキー情報を受け取るキー取得処理を実行する（ステップＴ１）。第２のデータ処理部１０２ｂは、テーブル１０６ａから受け取ったキー情報に対応するデータグループを取得して復元する復元処理を実行する（ステップＴ２）。復元処理は、デシリアライズ処理を含むことにしてもよい。第２のデータ処理部１０２ｂは、復元したデータグループを入力する入力処理（例えば、受注入力、売上入力、請求入力、及び発注入力等）を実行する（ステップＴ３）。
【００４５】
また、第１のデータ処理部１０２ａ及び第２のデータ処理部１０２ｂは、ＲＰＡ（Ｒｏｂｏｔｉｃ  Ｐｒｏｃｅｓｓ  Ａｕｔｏｍａｔｉｏｎ）、非同期処理システム、又は分散処理システムで構成してもよい。分散処理は、データを読み込んで、そのデータを別の複数の処理で使用するものであり、実行指示部（データ読み込み）：実行部＝１：Ｎとなるようなシステムである。なお、本発明の第１のデータ処理部１０２ａ及び第２のデータ処理部１０２ｂは、ＲＰＡ、非同期処理システム、及び分散処理システムに限られるものではなく、他のシステムでも使用可能である。
【００４６】
つぎに、グループ化処理Ｓ２、データ変換処理Ｓ３、格納処理Ｓ４、キー取得処理Ｔ１について詳細に説明する。
【００４７】
（グループ化処理Ｓ２）
図９及び図１０を参照して、グループ化処理について説明する。図９及び図１０は、１伝票を１つの纏まりとして管理する方法（課題３の解決策）を説明するための図である。
【００４８】
任意のフォーマットを格納する手段として、例えば、ＸＭＬ等がある。しかしながら、ＸＭＬは複雑なタグ構造で表現されるため、人が入力することが困難である。本実施の形態では、従来の表形式を踏襲しつつ、任意のレイアウトが保持できるため、人による入力・確認が容易である。
【００４９】
図９（Ａ）に示すように、１伝票データの纏まりを１データグループとする。例えば、伝票番号をキーとして、グループ化してデータグループを作成する。図９（Ａ）に示す例では、伝票番号「１００１」は、３行分のデータがあるが、伝票番号「１００１」について、３行分のデータを１つのデータグループとする。
【００５０】
また、グループ化する場合は、図９（Ｂ）に示すように、複数の入力値を縦に管理し、１項目分のデータとする。図９（Ｂ）に示す例では、伝票番号「１００２」については、事業所「東京、大阪」となっているが、事業所の項目については、「東京」、「大阪」の入力値を縦に管理し、１項目分のデータとする。
【００５１】
また、図１０において、受け入れたデータを分割してグループ化するために、グループ化するための一意なキーの情報を受入ファイルに設ける必要がある。この例では業務システムを使用しているため、伝票番号をキーとしている。図１０（Ａ）に示すように、グループ化するためのキーとなる情報がある場合は、例えば、伝票番号を一意なキーとなる情報としてデータグループを形成する。図１０（Ａ）に示す例では、伝票番号「１００１」、・・・、「１８００」毎に、データグループを形成する。
【００５２】
図１０（Ｂ）に示すように、グループ化するためのキーとなる情報がない場合は、新たにキーとなる情報を設定する。図１０（Ｂ）に示す例では、商品ＣＤ、仕入額、売価は、グループ化するためのキーとなる情報とはならないので、新たにグループＩＤを設定して、グループＩＤをキーとなる情報として、データグループを作成する。
【００５３】
（データ変換処理Ｓ３及び格納処理Ｓ４）
図１１を参照して、データ変換処理及び格納処理について説明する。図１１は、入力データを共通の形に変換する方法（課題２の解決策）を説明するための図である。
【００５４】
図１１において、入力データのフォーマットに関わらず、データグループ毎に、共通の形式（所定の形式）にデータ変換してデータを管理する。また、データ変換したそれぞれのデータグループにキー情報を付与する。キー情報を付与したデータグループをテーブル１０６ａに格納する。これによって、複雑なデータ形式に対応しつつ、操作対象毎にテーブル１０６ａを変更することなくデータの準備ができるようになる。
【００５５】
図１１に示す例では、項目の異なる伝票データについて、伝票番号「１００１」、・・・、「１８００」、「２００１」、・・・、「２５００」毎に、データグループを形成し、各データグループを共通の形式にデータ変換する。データ変換したデータグループにキー情報を付加してテーブル１０６ａに格納する。
【００５６】
（キー取得処理Ｔ１、復元処理Ｔ２、入力処理Ｔ３）
図１２を参照して、キー取得処理、復元処理、入力処理を説明する。図１２は、アプリケーション間でキー情報のみを受け渡す方法（課題１の解決策）を説明するための図である。
【００５７】
図１２において、第２のデータ処理部１０２ｂは、第１のデータ処理部１０２ａからキー情報を受け取る。第２のデータ処理部１０２ｂは、キー情報を元にテーブル１０６ａからデータグループを取得して、取得したデータグループを元のデータグループに復元して、入力処理（例えば、売上入力）で使用する。このように、第２のデータ処理部１０２ｂは、キー情報を取得するだけで、データグループを取得して入力処理を行うことが可能となる。
【００５８】
（詳細なデータ処理の例）
次に、図１３〜図１８を参照して第１のデータ処理部１０２ａ及び第２のデータ処理部１０２ｂの詳細なデータ処理の例を説明する。図１３〜図１８は、第１のデータ処理部１０２ａ及び第２のデータ処理部１０２ｂの詳細なデータ処理を説明するための図である。まず、第１のデータ処理部１０２ａの処理を説明する。
【００５９】
図１３は、メモリ上のデータ構造の一例を示す図である。メモリ上に図１３に示すような、データソース（ＤａｔａＳｏｕｒｃｅ）とデータグループ（ＤａｔａＧｒｏｕｐ）を形成する。データソース（ＤａｔａＳｏｕｒｃｅ）は、図１３（Ａ）に示すように、プロパティ名と型で構成されており、プロパティ名「データソースＧｕｉｄ（Ｇｌｏｖａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）」は、型「Ｇｕｉｄ値」、プロパティ名「データソース名」は型「文字」、プロパティ名「項目名一覧」は、型「文字型の配列」、プロパティ名「データグループ一覧」は型「データグループの配列」となっている。プロパティ名「項目名一覧」、型「文字型の配列」は、シリアライズ処理の対象となっており、データソーステーブルに更新される。
【００６０】
データグループ（ＤａｔａＧｒｏｕｐ）は、図１３（Ｂ）に示すように、プロパティ名と型で構成されており、プロパティ名「グループＳＥＱ」は型「数値」、プロパティ名「グループＩＤ」は型「文字」、プロパティ名「レコード数」は型「数値」、プロパティ名「値情報」は型「文字型の２次元配列（項目数×レコード数）」となっている。プロパティ名「値情報」、型「文字型の２次元配列（項目数×レコード数）」は、シリアライズ処理の対象となっており、データグループテーブルに更新される。
【００６１】
図１４は、テーブル（データベース）１０６ａ上のテーブル構造の一例を示す図である。テーブル１０６ａには、図１４に示すような、データソーステーブルとデータグループテーブルが格納される。データソーステーブルは、図１４（Ａ）に示すように、項目名と型で規定されており、項目名「データソースＧｕｉｄ」は型「Ｇｕｉｄ値」、項目名「データソース名」は型「文字」、項目名「データソース構造情報」は型「バイナリ」となっている。
【００６２】
データグループテーブルは、図１４（Ｂ）に示すように、項目名と型で規定されており、項目名「データソースＧｕｉｄ」は型「Ｇｕｉｄ値」、項目名「データグループＳＥＱ」は型「数値」、項目名「データグループＩＤ」は型「文字」、項目名「データレコード数」は型「数値」、項目名「データグループ値情報」は型「バイナリ」となっている。
【００６３】
図１５〜図１７は、データグループ作成処理を説明するための図である。図１５（Ａ）は、読込処理で受け入れた受入データの受入フォーマット例を示す図である。受入データは、伝票番号、受注日、金額のデータを含んでおり、１行目は、伝票番号「＃１０００１」、受注日「２０１９／８／２」、金額「１００」、２行目は、伝票番号「＃１０００１」、受注日「２０１９／８／２」、金額「２００」、３行目は、伝票番号「＃１０００１」受注日「２０１９／８／２」金額「３００」、４行目は、伝票番号「＃１０００２」受注日「２０１９／８／２」、金額「１１００」、５行目は、伝票番号「＃１０００２」、受注日「２０１９／８／２」、金額「１２００」となっている。
【００６４】
図１５（Ｂ）において、各データグループのレコード数を計算する。具体的には、キーである「伝票番号」のセル（一意な情報のセル）から縦方向に探索する。図１５（Ｂ）に示すように、データグループ（内部クラス）は、伝票番号「＃１０００１」については、グループＳＥＱ「１」、グループＩＤ「＃１０００１」、レコード数「３」となり、伝票番号「＃１０００２」については、グループＳＥＱ「２」、グループＩＤ「＃１０００２」、レコード数「２」となる。
【００６５】
図１６において、データグループを作成する。「伝票番号」セル（一意な情報のセル）から右方向に探索し、データグループレコード数分だけレコードを読み込み、データグループを作成する。データグループは、グループＳＥＱ、グループＩＤ、レコード数、項目名、値情報で構成される。図１６（Ｂ）は、データグループの元データであり、図１５（Ａ）と同様である。
【００６６】
図１６に示す例では、グループＳＥＱ「１」については、値情報は、図１６（Ｃ）に示すようになり、グループＳＥＱ「２」については、値情報は、図１６（Ｄ）に示すようになる。図１７は、データグループ作成の他の例を示している。
【００６７】
図１８は、データ変換（シリアライズ処理）を説明するための図である。データソーステーブルと、データグループテーブルに更新する。対象のオブジェクトをバイト配列にシリアライズする。図１８（Ａ）に示すように、データグループの「項目名」と「値情報」をシリアライズしてバイト配列とする。シリアライズした後、データグループをデータソーステーブルとデータグループテーブルに格納する。
【００６８】
図１８（Ｂ）に示すように、データソーステーブルを更新する。データソーステーブルは、項目名「データソースＧｕｉｄ」は更新元「データソースクラス．データソースＧｕｉｄ」、項目名「データソース名」は更新元「データソースクラス．データソース名」、項目名「データソース構造情報」は更新元「データソースクラス．項目名一覧」となる。
【００６９】
図１８（Ｃ）に示すように、データグループテーブルを更新する。データグループテーブルは、項目名「データソースＧｕｉｄ」は更新元「データソースクラス．データソースＧｕｉｄ」、項目名「データグループＳＥＱ」は更新元「データグループクラス．グループＳＥＱ」、項目名「データグループＩＤ」は更新元「データグループクラス．グループＩＤ」、項目名「データレコード数」は更新元「データグループクラス．レコード数」、項目名「データグループ値情報」は更新元「データグループクラス．値情報」となる。
【００７０】
第２のデータ処理部１０２ｂは、データソースＧｕｉｄ及びデータグループＳＥＱをキー情報として、テーブル１０６ａのデータソーステーブル及びデータグループテーブルからデータグループを取得し、バイト配列をデシリアライズしてデータグループのオブジェクトを生成する。
【００７１】
以上説明したように、本実施の形態によれば、データソースからデータを読み込み、読み込んだデータをグループ化してデータグループを生成し、生成したデータグループを所定の形式にデータ変換して、キー情報を付加してデータ変換したデータグループをテーブル１０６ａに格納する第１のデータ処理部１０２ａと、第１のデータ処理部１０２ａからキー情報を受け取り、前記テーブルから受け取ったキー情報に対応するデータグループを取得して復元する第２のデータ処理部１０２ｂとを備えているので、様々な粒度や形式のデータをアプリケーション間で受け渡すことが可能となる。これにより、データの特性に応じた個別実装が不要になり、開発工数の削減、品質の向上につながる。
【００７２】
より具体的には、（１）上述した課題１の「アプリケーション間でのデータの受け渡しの課題」について、受け渡す情報を減らすことで解決した。
【００７３】
（２）上述した課題２の「入力データのフォーマット毎に、データベース上のテーブルを用意する必要があるという課題」については、共通の形にデータを変換することで、同一テーブルで管理することができるようになった。
【００７４】
（３）上述した課題３の「複数の明細、複数の入力値の管理が難しいという課題」については、１伝票を一つのまとまりとして管理することで、複数の明細、複数の入力値を管理できるようになった。
【００７５】
［４．他の実施形態］
本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【００７６】
例えば、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【００７７】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【００７８】
また、データ処理装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【００７９】
例えば、データ処理装置１００が備える処理機能、特に制御部１０２にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵおよび当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み込み可能な記録媒体に記録されており、必要に応じてデータ処理装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶部などには、ＯＳと協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部を構成する。
【００８０】
また、このコンピュータプログラムは、データ処理装置１００に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【００８１】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み込み可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、および、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【００８２】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み込み手順ならびに読み込み後のインストール手順等については、周知の構成や手順を用いることができる。
【００８３】
記憶部１０６に格納される各種のデータベース等は、ＲＡＭ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【００８４】
また、データ処理装置１００は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、データ処理装置１００は、当該装置に本実施形態で説明した処理を実現させるソフトウェア（プログラムまたはデータ等を含む）を実装することにより実現してもよい。
【００８５】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【符号の説明】
【００８６】
１００  データ処理装置
１０２  制御部
１０２ａ  第１のデータ処理部
１０２ｂ  第２のデータ処理部
１０４  通信インターフェース部
１０６  記憶部
１０６ａ  テーブル
１０８  入出力インターフェース部
１１２  入力装置
１１４  出力装置
２００  サーバ
３００  ネットワーク
【図１】
2022001992.tif 000003
【図２】
2022001992.tif 000004
【図３】
2022001992.tif 000005
【図４】
2022001992.tif 000006
【図５】
2022001992.tif 000007
【図６】
2022001992.tif 000008
【図７】
2022001992.tif 000009
【図８】
2022001992.tif 000010
【図９】
2022001992.tif 000011
【図１０】
2022001992.tif 000012
【図１１】
2022001992.tif 000013
【図１２】
2022001992.tif 000014
【図１３】
2022001992.tif 000015
【図１４】
2022001992.tif 000016
【図１５】
2022001992.tif 000017
【図１６】
2022001992.tif 000018
【図１７】
2022001992.tif 000019
【図１８】
2022001992.tif 000020