(57)【要約】【課題】複数の業務処理に応じた検索処理を行うことのできる検索プログラムを生成する方法を提供する。【解決手段】本実施の形態では、プログラム生成装置１２０により、定義ファイル１１０の共通データ項目情報部１１４及び複数の詳細データ項目情報部１１２，１１３に基づき、複数の業務処理に応じた検索処理で共通に用いられるデータ項目を格納する共通情報格納部１３４と、各業務処理で用いられるデータ項目を格納する複数の詳細情報格納部１３５，１３６とを有する検索プログラム１３０を生成するとともに、検索処理に用いられる各データ項目についてデータ取得元としてのデータベース内のデータ項目とデータ格納先としてのデータ格納部と入出力に用いるデータ項目名とから成る項目相関情報を格納した項目相関テーブルを生成する。【選択図】　　　図１
2004013802.tif 000002
【特許請求の範囲】
【請求項１】
複数の業務処理で共通に用いられるデータ項目を定義した共通データ項目情報と、前記各業務処理毎に用いられるデータ項目についてのデータベース内におけるデータ取得元と検索プログラム内におけるデータ格納先と検索条件の入力及び検索結果の出力に用いられるデータ項目名との相関関係を定義した複数の詳細データ項目情報と、前記各業務処理に対応した検索処理を定義した手続情報とから構成される定義ファイルを読み込み、入力された検索条件に該当するレコードについて各業務処理に応じたデータをデータベースから取得して格納するデータ格納先としての情報格納部を備えた検索プログラムを生成する方法であって、
前記定義ファイルを読み込み、前記情報格納部として、前記共通データ項目情報に定義されたデータ項目についてデータベースから取得したデータを格納する共通情報格納部と、各詳細データ項目情報に定義されたデータ項目について各業務処理に応じてデータベースから取得したデータを格納する複数の詳細情報格納部とを生成するステップと、
各業務処理に用いられるデータ項目について詳細データ項目情報に定義された前記相関関係に基づき、データ取得元としてのデータベース内のデータ項目とデータ格納先としての前記共通情報格納部又は前記複数の詳細情報格納部と前記データ項目名との相関関係を示す項目相関情報を格納した項目相関テーブルを生成するとともに、入力された検索条件に含まれるデータ項目のデータ項目名に基づき前記項目相関情報を前記項目相関テーブルから取得する項目相関部を生成するステップと、
前記手続情報に定義された検索処理について、入力された検索条件を前記項目相関部に渡し、前記項目相関部の取得した項目相関情報に基づきデータベースに対し検索処理を行い、業務処理に応じた各データ項目のデータをデータ格納先として定義された共通情報格納部又は詳細情報格納部に格納させるデータ検索部を生成するステップと
を備えることを特徴とする検索プログラム生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、検索プログラムの生成方法に関するものであり、特に、複数の業務処理に用いられる検索プログラムの生成方法に関する。
【０００２】
【従来の技術】
従来、業務アプリケーションの行う業務処理に応じて検索対象となるデータベースから検索条件に合うレコードのデータを取得して格納し、当該データを検索結果として表示する検索プログラムが種々用いられている。
例えば、特開２０００−１２３０４６号公報及び特開２００２−７４７９号公報には、検索結果の一覧表示に関して特徴を有する検索プログラムが記載されている。前記各公報には、検索結果として表示するデータ項目の格納形式については特に記載されていないが、一般にはデータベースのテーブル構成に応じたデータ格納部を備え、データベースから取得したデータをデータ格納部に格納し、必要なデータを検索結果として表示する検索プログラムが用いられている。
【０００３】
一方、検索プログラムの生成方法としては、特開平０８−９５７６７号公報に業務アプリケーションが扱うデータをデータベースから取得して格納する検索プログラムを、データベースのテーブルのレコード単位に生成するプログラム生成方法が記載されている。
また、他の検索プログラム生成方法として、図１２に示すようにプログラム生成装置を用いた方法が用いられている。
図１２は、プログラム生成装置を用いた検索プログラム生成方法の概要を示す図である。図１２に示す検索プログラム生成方法では、予めユーザにより作成された定義ファイル１２１０を読み込んだプログラム生成装置１２２０が、データ検索部１２３１と項目相関部１２３２とデータ格納部１２３３とから構成される検索プログラム１２３０を生成する。
定義ファイル１２１０は、データ検索部１２３１，項目相関部１２３２，データ格納部１２３３を構成する各クラスに関する情報を定義したクラス情報部１２１１を有している。クラス情報部１２１１は、検索対象となるデータベース内のテーブル構成に応じて業務処理に用いる各データ項目のデータ取得元及びデータの格納先を定義したデータ項目情報部１２１２と、業務処理の仕様に応じた検索処理を定義した手続情報部１２１３とを含んでいる。
プログラム生成装置１２２０は、定義ファイル１２１０を読み込み、データ項目情報部１２１２に基づきデータ格納部１２３３及び項目相関部１２３２を生成し、手続情報部１２３１に基づきデータ検索部１２３１を生成する。
図１３は、プログラム生成装置１２２０により生成された検索プログラム１２３０を組み込んだ業務アプリケーションの一例を示すブロック図である。
本例の業務アプリケーション１３００は、業務処理プログラムとして社員の所属情報を管理する所属情報管理プログラム１３１０及び個人情報を管理する個人情報管理プログラム１３２０を備え、各業務処理プログラム毎に対応する検索プログラム１２３０Ａ，１２３０Ｂと、検索対象としてのデータベース１３３１，１３３２を有する記憶部１３３０とを備える。
検索プログラム１２３０Ａ，１２３０Ｂは、それぞれ対応する業務処理プログラム１３１０，１３２０が用いるデータ項目について記憶部１３３０内のデータベース１３３１，１３３２を検索して、検索条件に応じたデータを取得する。
【０００４】
【発明が解決しようとする課題】
前記特開２０００−１２３０４６号公報及び特開２００２−７４７６９号公報に記載の検索プログラムでは、データの一覧表示に関して特徴を有するもののデータの格納形式については考慮されていないため、データベースのテーブル構成に応じて検索結果としてのデータを格納することとなり、業務アプリケーションの行う業務処理に必要の無いデータ項目もデータ格納部に格納されていた。
また、前記特開平０８−９５７６７号公報及び図１１に記載の検索プログラム生成方法では、業務処理及びデータベースのテーブル構成に応じた検索プログラムを生成することが可能であるが、業務アプリケーションが複数の業務処理プログラムを備える場合には、図１３に示すように各業務処理プログラム１３１０，１３２０に応じた検索プログラム１２３０Ａ，１２３０Ｂを生成していた。
この場合、各業務処理プログラムに用いられるデータ項目には社員を識別するためのＩＤ及び氏名のように共通に用いられるデータ項目が含まれる場合があるが、従来の検索プログラム生成方法では、共通に用いられるデータ項目を考慮することなく、各データベース毎又は各業務処理毎に検索プログラムを生成していた。従って、業務アプリケーションに組み込まれる検索プログラムの数が多くなり保守管理に多大な労力を要することとなっていた。
【０００５】
そこで、前記課題を解決するため、本発明は複数の業務処理に応じてデータベースに対して検索処理を行う検索プログラムの生成方法として、複数の業務処理に共通に用いられるデータ項目を格納するデータ格納部を備えることにより、業務アプリケーションに組み込まれる検索プログラムの数を減らし保守管理の労力を軽減することのできる検索プログラムの生成方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
前記課題を解決するため、本発明は、複数の業務処理で共通に用いられるデータ項目を定義した共通データ項目情報と、前記各業務処理毎に用いられるデータ項目についてのデータベース内におけるデータ取得元と検索プログラム内におけるデータ格納先と検索条件の入力及び検索結果の出力に用いられるデータ項目名との相関関係を定義した複数の詳細データ項目情報と、前記各業務処理に対応した検索処理を定義した手続情報とから構成される定義ファイルを読み込み、入力された検索条件に該当するレコードについて各業務処理に応じたデータをデータベースから取得して格納するデータ格納先としての情報格納部を備えた検索プログラムを生成する方法であって、前記定義ファイルを読み込み、前記情報格納部として、前記共通データ項目情報に定義されたデータ項目についてデータベースから取得したデータを格納する共通情報格納部と、各詳細データ項目情報に定義されたデータ項目について各業務処理に応じてデータベースから取得したデータを格納する複数の詳細情報格納部とを生成するステップと、各業務処理に用いられるデータ項目について詳細データ項目情報に定義された前記相関関係に基づき、データ取得元としてのデータベース内のデータ項目とデータ格納先としての前記共通情報格納部又は前記複数の詳細情報格納部と前記データ項目名との相関関係を示す項目相関情報を格納した項目相関テーブルを生成するとともに、入力された検索条件に含まれるデータ項目のデータ項目名に基づき前記項目相関情報を前記項目相関テーブルから取得する項目相関部を生成するステップと、前記手続情報に定義された検索処理について、入力された検索条件を前記項目相関部に渡し、前記項目相関部の取得した項目相関情報に基づきデータベースに対し検索処理を行い、検索処理に用いられる各データ項目のデータをデータ格納先として定義された共通情報格納部又は詳細情報格納部に格納させるデータ検索部を生成するステップとを備える。
【０００７】
【発明の実施の形態】
以下、本発明の一実施の形態について図面に基づいて説明する。
図１は、本実施の形態に係る検索プログラム生成方法により検索プログラムを生成する方法の概要を示す図であり、図２は生成された検索プログラムを組み込んだ業務アプリケーションの一例を示すブロック図である。
本実施の形態に係るプログラム生成方法は、定義ファイル１１０をプログラム生成装置１２０に読み込ませて検索プログラム１３０を生成する。
本実施の形態に係るプログラム生成方法により生成された検索プログラム１３０は、図２に示すようにデータ格納部１３３としてデータ項目を格納する共通情報格納部１３４と、複数の詳細情報格納部１３５，１３６を備える。共通情報格納部１３４は、業務アプリケーション２００に備えられた所属情報管理プログラム２１０及び個人情報管理プログラム２２０の各処理で共通に用いられるデータ項目のデータを記憶部２３０の各データベース２３１，２３２から取得して格納する。詳細情報格納部１３５は所属情報管理プログラム２１０の処理に用いられるデータ項目のデータを記憶部２３０から取得して格納し、詳細情報格納部１３６は個人情報管理プログラム２２０の処理に用いられるデータ項目のデータを記憶部２３０から取得して格納する。
【０００８】
検索プログラム１３０の生成に用いられる定義ファイル１１０は、クラス情報部１１１と複数の詳細データ項目情報部１１２，１１３とから構成される。クラス情報部１１１には共通データ項目情報部１１４と手続情報部１１５とが含まれている。
本実施の形態では、定義ファイル１１０の共通データ項目情報部１１４及び複数の詳細データ項目情報部１１２，１１３に基づき、データ格納部１３３を構成する共通情報格納部１３４及び複数の詳細情報格納部１３５，１３６を生成するとともに、業務処理に用いられる各データ項目について記憶部２３０におけるデータ取得元とデータ格納部１３３におけるデータ格納先と入出力に用いるデータ項目名とから成る項目相関情報を格納した項目相関テーブルを生成する。項目相関テーブルには、定義ファイル１１０に定義された情報に基づき、記憶部２３０におけるデータ取得元を特定する情報としてデータベース名，テーブル名，列名が格納され、データ格納先を特定する情報としてデータ格納部名，データ項目名，データ型が格納され、データの入出力に用いるデータ項目名が格納される。
また、手続情報部１１５に基づき検索処理を行うデータ検索部１３１と、項目相関テーブルから検索処理に用いられるデータ項目についての項目相関情報を取得する項目相関部１３２とを生成する。
共通情報格納部１３４は、所属情報管理プログラム２１０及び個人情報管理プログラム２２０の処理で共通に用いられるデータ項目として共通データ項目情報部１１４に定義されたデータ項目のデータを格納する。ここで、共通情報格納部１３４に格納されるデータ項目は共通のデータ項目名，形式で入出力及び格納が可能な実質的に同種のデータ項目であり、データベース内のデータ項目名は相違していてもよい。この場合は、複数のデータベースにおけるデータ項目について、項目相関情報でデータ格納部１３３における格納先及び入出力に用いるデータ項目名を共通のものとして定義することにより、共通情報格納部１３４による処理が可能となる。例えば、検索対象となる複数のデータベースにおいて「氏名」というデータ項目と「名前」というデータ項目がある場合には、これら全てを「氏名」というデータ項目名として項目相関情報が定義される。共通情報格納部１３４に格納されたデータは、例えば各業務処理における検索結果の一覧表示に用いられる。
詳細情報格納部１３５，１３６は、所属情報管理プログラム２１０又は個人情報管理プログラム２２０の処理で個別に用いられるデータ項目として各詳細データ項目情報部１３５，１３６に定義されたデータ項目のデータを格納する。詳細情報格納部１３５，１３６に格納されたデータは、例えば各業務処理における検索結果の詳細表示に用いられる。
【０００９】
図３は、図１に示すプログラム生成装置１２０の概略構成を示す図である。
プログラム生成装置１２０は、入力処理部３０１，定義ファイル解析処理部３０２，テンプレート読込処理部３０３，プログラム出力処理部３０４を備え、ユーザにより予め定義された生成プログラムテンプレート３０５を格納している。本実施の形態に係るプログラム生成方法では、入力処理部３０１により定義ファイル１１０の入力を受け付け、定義ファイル解析処理部３０２により定義ファイル１１０のクラス情報部１１１及び各詳細データ項目情報部１１２，１１３を解析する。
テンプレート読込処理部３０３は、ユーザにより選択された生成プログラムテンプレート３０５を読み込み、当該生成プログラムテンプレート３０５に基づき構文木を生成する。
プログラム出力処理部３０４は、テンプレート読込処理部３０３の生成した構文木に定義ファイル解析処理部３０２の解析結果を当てはめて、共通データ項目情報部１１４に定義されたデータ項目を格納する共通情報格納部１３４と、複数の詳細データ項目情報部１１２，１１３に定義されたデータ項目を格納する複数の詳細情報格納部１３５，１３６と、項目相関テーブルから検索処理に用いられるデータ項目についての項目相関情報を取得する項目相関部１３２と、業務処理に応じた検索処理を行うデータ検索部１３１を有する検索プログラムのソースコードを出力して、検索プログラム１３０を生成する。また、プログラム出力処理部３０４は、共通データ項目情報部１１４及び詳細データ項目情報部１１２，１１３の解析結果に基づき、各データ項目について対応する記憶部２３０内のデータ取得元、データ格納部１３０における格納先及び入出力に用いられるデータ項目名から成る項目相関情報を格納した項目相関テーブルを生成する。
【００１０】
以下、図２に示す業務アプリケーション２００の具体例を示し、当該業務アプリケーション２００に組み込まれる検索プログラム１３０の生成方法の詳細について説明する。
図４は、図２に示す業務アプリケーション２００の具体例を示したものであり、記憶部内に格納されるデータの構成の一部を具体的に示したものである。
業務アプリケーション２００は、記憶部２３０内のデータベースＡ２３１に所属情報管理プログラム２１０の処理に用いるデータを格納し、データベースＢ２３２に個人情報管理プログラム２２０の処理に用いるデータを格納している。
本例では、所属情報管理プログラム２１０及び個人情報管理プログラム２２０の処理で共通に用いられるデータ項目として、「社員ＩＤ」（「個人ＩＤ」及び「氏名」（「名前」）の各データ項目のデータを共通情報格納部１３４に格納する。
なお、図２では省略しているが、業務アプリケーション２００は、検索条件の入力を行う入力部４１１及び検索結果の出力（表示）を行う出力部４１２を有する入出力部４１０を備える。
情報検索アプリケーション２００では、各業務処理において入力部４２１に入力された検索条件に基づき検索プログラム１３０が業務処理に用いられるデータを格納したデータベース２３１，２３２に対し検索処理を行う。
検索プログラム１３０の行う検索処理では、検索条件の入力を受け付けたデータ検索部１３１が項目相関部１３２に検索条件を渡し、当該検索条件に用いられているデータ項目名に基づき項目相関部１３２が項目相関テーブルから項目相関情報を取得し、データ検索部１３１に渡す。データ検索部１３１は受け取った項目相関情報に基づきデータベース２３１，２３２を検索し、データ格納部１３３に各業務処理に応じたデータの格納を指示する。データ格納部１３３は各業務処理に応じて、共通情報格納部１３４及び各詳細情報格納部１３５，１３６にそれぞれ定義されたデータ項目のデータを格納し、共通情報格納部１３４に格納したデータを出力部４２２に出力して検索結果の一覧として表示し、入力部４１１からの指示に応じて詳細情報格納部１３５，１３６に格納したデータを出力部４１２に出力して詳細情報として表示する。
【００１１】
図５は図４に示す検索プログラム１３０の生成に用いられる定義ファイル１１０の一例を示す図である。本例では、オブジェクト指向に基づき検索プログラムを生成する場合を示す。
定義ファイル１１０に含まれるクラス情報部１１１には、共通情報格納部１３４を構成するクラスのクラス名が定義されている。クラス情報部１１１内の共通データ項目情報部１１４には、共通情報格納部１３４に格納されるデータのデータ項目名が定義されており、具体的には、記述例５０１に示すように＜共通情報＞＜／共通情報＞の間に記述された「社員ＩＤ」と「氏名」のデータ項目名が該当する。手続情報部１１５には、記述例４０２に示すように、データ検索部１３１の行うメソッドが定義されており、対応する記述例５０２では＜手続情報＞＜／手続情報＞の間に記述される。
詳細データ項目情報部１１２，１１３には、所属情報管理プログラム２１０及び個人情報管理プログラム２２０の行う各業務処理に対応した詳細情報格納部１３５，１３６について、格納するデータ項目及び各データ項目の項目相関情報が定義されている。記述例５０３，５０４では、各詳細情報格納部１３５，１３６を構成するクラスのクラス名，検索対象となるデータベースのデータベース名，格納するデータ項目毎の項目相関情報が定義されている。項目相関情報には、格納するデータの取得元となるデータベース内のデータ項目を特定する情報，各クラスにおける格納先を特定する情報，入出力形式を特定する情報が含まれる。本実施の形態では、記述例５０３に示すように、データ取得元についてテーブル名，列名が記述され、データ格納先について変数名，型名が記述され、入出力形式についてデータ項目名が記述される。例えば、所属情報に関する業務処理については、データベースＡに含まれるデータ項目の中の「社員ＩＤ」「氏名」「課名」「メールアドレス」の各データ項目について項目相関情報が定義されている。
【００１２】
図６は、図３のプログラム生成装置１２０に格納された生成プログラムテンプレート３０５の一例を示す概念図である。
生成プログラムテンプレート３０５は、生成されるプログラムとしての検索プログラム１３０を構成するデータ検索部１３１，項目相関部１３２，データ格納部１３３を構成する各クラス６０１〜６０６及び各クラスの関連が定義されている。
本実施の形態では、各クラスの型６０１〜６０６のそれぞれについて、定義ファイルの情報に基づきクラス名，属性，メソッドを記述する枠が定義されている。また、データ格納部１３３については、共通情報格納部１３４及び詳細情報格納部１３５，１３６のそれぞれについて、インタフェースの型６０３，６０５とインタフェースを実装したクラスの型６０４，６０６が定義されている。詳細情報格納部については、定義ファイル１１０に含まれる詳細データ項目情報１１２，１１３の数に応じてインタフェースを実装したクラスの型に基づき複数の詳細情報格納部１３５，１３６，・・・が生成されることとなる。
【００１３】
図７は、図５に示す定義ファイル１１０及び図６に示す生成プログラムテンプレート３０５に基づきプログラム生成装置１２０が生成した検索プログラム１３０の一例を示すクラス図である。
検索プログラム１３０は、データ検索部１３１としての社員検索管理クラス７１１と、項目相関部１３２としての社員項目相関クラス７２１を有する。また、データ格納部１３３の共通情報格納部１３４として社員インタフェース７３１及び社員インタフェース７３１を実装した社員クラス７３２を有し、詳細情報格納部１３５，１３６として社員詳細インタフェース７３３及び社員詳細インタフェース７３３を実装した所属情報クラス７３４，個人情報クラス７３５とを有する。また、社員項目相関クラス７２１は定義ファイルに基づき生成した項目相関テーブルを備える。
社員クラス７３２は、社員検索管理クラス７３１の検索したレコードについて定義ファイル１１０の共通データ項目情報部１１４に定義されたデータ項目のデータをデータベースから取得して格納する。所属情報クラス７３４及び個人情報クラス７３５は、各業務処理に応じて、それぞれに定義されたデータ項目のデータを取得し格納する。この場合、データ検索部１３１を構成する社員検索管理クラス７１１は、社員インタフェース７３１を介してデータ格納部１３３を構成する各クラスに指示を行うため、データ格納部１３３のクラス構成が変更された場合であっても処理を行うことが可能となる。例えば、業務アプリケーション内に含まれる業務処理プログラムの追加に応じて、詳細情報格納部を構成するクラスを追加する場合には、社員詳細インタフェース７３３を実装したクラスを生成し、格納するデータ項目についての項目相関情報を項目相関テーブルに追加すればよいことになる。
【００１４】
図８は、定義ファイル１１０の共通データ項目情報部１１４及び詳細データ項目情報部１１２，１１３の記述に基づき生成した項目相関テーブルの一例を示す図である。
項目相関テーブル８００は、業務処理に用いられる各データ項目についてデータ格納部１３３におけるデータ格納先８１０、記憶部２３０内のデータ取得元８２０及び業務処理に用いるデータ項目としての入出力項目８３０の相関関係を定義した項目相関情報を格納する。
データ格納先８１０の情報としては、各データ項目のデータを格納するクラスのクラス名８１１，変数名８１２，型名８１３を有する。データ取得元８２０の情報としては、データベース名８２１，テーブル名８２２，列名８２３を有する。入出力項目８３０の情報としてはデータ項目名８３１を有する。
例えば、業務処理において「社員ＩＤ」として用いられるデータ項目については、データベースＡ２３１又はデータベースＢ２３２のそれぞれのデータ項目がデータ取得元として定義され、社員クラス７３１及び所属情報クラス７３４，個人情報クラス７３５が格納先として定義されている。
【００１５】
次に、図５に示す定義ファイル１１０及び図６に示す生成プログラムテンプレート３０５に基づき、図７に示す検索プログラム１３０及び図８に示す項目相関テーブル８００を生成する処理について図９を用いて説明する。
図９は本実施の形態に係るプログラム生成方法において図３に示すプログラム生成装置１２０の行う処理の概要を示すフローチャートである。
まず、入力処理部３０１が受け付けた定義ファイル１１０を定義ファイル解析処理部３０２に渡し、定義ファイル１１０の読み込みを行う（ステップ９０１）。
定義ファイル解析処理部３０２は定義ファイル１１０のクラス情報部１１１を参照し、共通データ項目情報部１１４及び手続情報部１１５の記述内容を解析する（ステップ９０２）。
また、定義ファイル１１０に含まれる詳細データ項目情報部１１２，１１３を一つずつ参照し（ステップ９０３）、各記述内容を解析する（ステップ９０４）。
ステップ９０４の解析処理を定義ファイル１１０に含まれる全ての詳細データ項目情報部１１２，１１３について行う（ステップ９０５）。
テンプレート読込処理部３０３は、ユーザにより指定された生成プログラムテンプレート３０５を読み込み（ステップ９０６）、生成プログラムテンプレート３０５に基づき構文木を生成する（ステップ９０７）。ここで生成する構文木は、生成プログラムテンプレート３０５に定義された各クラスの型及び各クラスの関連情報とに基づき各クラスの構造と各クラスの関連とをツリー状に表す。
プログラム出力処理部３０４はテンプレート読込処理部３０３により生成された構文木を辿り、定義ファイル解析処理部３０２の解析結果に基づき各クラスの属性及びメソッドの情報を当てはめた後、ソースコードを出力することにより（ステップ９０８）、データ格納部１３１，項目相関部１３２，データ検索部１３３から構成された検索プログラム１３０を生成する。
【００１６】
ここで、プログラム出力処理部３０４がデータ格納部１３１，項目相関部１３２，データ検索部１３３を構成する各クラス及び項目相関テーブル８００を生成する方法について詳細に説明する。
図１０は、プログラム出力処理部３０４が各クラスを生成する処理手順を示すフローチャートである。
まず、共通情報格納部１３４の生成を行う（ステップ１００１）。この処理では、生成プログラムテンプレート３０５に定義された共通情報格納部１３４のインタフェース６０３のメソッドとして、共通データ項目情報部１１４に定義されたデータ項目を取得する処理及び詳細情報格納部１３５，１３６に対する指示を記述して社員インタフェース７３１を生成する。また、社員インタフェース７３１を実装したクラス６０４の属性として共通データ項目情報部１１４に定義されたデータ項目を記述し、社員インタフェース７３１のメソッドを記述することにより、社員クラス７３２を生成する。
共通情報格納部１３４の生成に伴い、共通情報格納部１３４に格納されるデータ項目についての項目相関情報を項目相関テーブル８００に格納する（ステップ１００２）。この処理では、社員クラス７３２の属性として記述されたデータ項目について各詳細データ項目情報部１３５，１３６に定義された項目相関情報を解析して項目相関テーブルに格納する。
【００１７】
次に、繰り返し処理により各詳細データ項目情報部１１２，１１３に対応する詳細情報格納部１３５，１３６の生成を行う（ステップ１００３〜１００６）。この処理では、生成プログラムテンプレート３０５に定義された詳細情報格納部のインタフェースとして社員インタフェース７３１を継承した社員詳細インタフェース７３３を生成する。また、詳細データ項目情報部１１２，１１３を一つずつ参照し（ステップ１００３）、社員詳細インタフェース７３３を実装したクラス６０６の属性として、各詳細データ項目情報部１１２，１１３に定義されたデータ項目を記述し、社員詳細インタフェース７３３のメソッドに含まれる「詳細を取得する（詳細名）」の具体的な内容として各詳細データ格納部１３５，１３６の属性として定義されたデータ項目のデータを取得する処理をメソッドとして記述することにより、所属情報クラス７３４，個人情報クラス７３５を生成する。
各詳細情報格納部の生成に伴い、各詳細情報格納部１３５，１３６に格納されるデータ項目についての項目相関情報を項目相関テーブル８００に格納する（ステップ１００５）。この処理では、所属情報クラス７３４，個人情報クラス７３５の属性として記述された各データ項目について対応する詳細データ項目情報部１３５，１３６に定義された項目相関情報を解析して項目相関テーブルに格納する。
【００１８】
全ての詳細データ項目情報部１１２，１１３の解析結果に基づくクラス及び項目相関情報が生成された後、項目相関部１３２の生成を行う（ステップ１００７）。この処理では、社員項目相関クラス７２１について、生成された項目相関情報を項目相関テーブル８００から取得する処理をメソッドとして記述する。
最後にデータ検索部１３１の生成を行う（ステップ１００８）。この処理では、定義ファイルの手続情報部１１５を参照し定義された検索処理に基づき、社員項目相関クラス７２１から取得した項目相関情報により検索対象となるデータベースについての検索処理を社員検索管理クラス７１１のメソッドとして記述する。
以上の処理（ステップ１００１〜１００８）の結果に基づきソースコード生成して出力することにより、共通情報格納部１３４及び複数の詳細情報格納部１３５，１３６を有する検索プログラム１３０を生成する。
【００１９】
前記の例では、共通情報格納部に格納するデータ項目として、ある会社の社員に関する「氏名」「社員ＩＤ」のように実質的に共通するデータのデータ項目を定義した場合について説明したが、これに限られるものではなく、共通のデータ項目名，形式で入出力及び格納が可能なデータ項目であればよい。
図１１は、本実施の形態に係るプログラム生成方法により生成された検索プログラムの他の例を示すクラス図である。
本例では、共通情報格納部を構成する企業情報クラス１１３２に「企業ＩＤ」「会社名」「ホームページＵＲＬ」を格納する検索プログラムを示しており、詳細情報格納部としては株式会社情報クラス１１３４と有限会社情報クラス１１３５と合資会社情報クラス１１３６とを有している。
このように、各業務処理で扱う情報として各詳細情報格納部に株式会社情報に関するデータ項目と有限会社情報に関するデータ項目と合資会社情報に関するデータ項目とが定義されている。
従って、各業務処理で扱う情報は会社の種別が異なる情報であり、企業情報クラスに格納されるデータも各業務処理で全く異なるが、各業務処理において「企業ＩＤ」「会社名」「ホームページＵＲＬ」として定義可能なデータ項目を扱うため、本例の検索プログラムにより各業務処理に応じた検索処理を行うことができる。
この場合も、企業情報検索管理クラス１１１１が企業情報項目相関クラス１１２１の取得した項目相関情報に基づきデータベースを検索し、企業情報インタフェース１１３１を介してデータ格納部１３３を構成する各クラスに各業務処理に応じたデータの格納を指示することにより、企業情報クラス１１３２及び業務処理に対応したクラスがデータを格納する。
【００２０】
以上のように、複数の業務処理に共通して用いられるデータ項目と、各業務処理にそれぞれ用いられるデータ項目と、各データ項目について項目相関情報を定義した定義ファイルに基づき、共通情報格納部１３４と複数の詳細情報格納部１３５，１３６，・・・とから構成されるデータ格納部１３３を有する検索プログラム１３０を生成するので、一つの検索プログラム１３０により複数の業務処理に対応した検索処理を行うことができる。従って、複数の業務処理を行う業務アプリケーションにおいて検索プログラム１３０の数を減らすことが可能となるため、保守管理における負担を軽減させることができる。
また、検索対象となるデータベースのテーブル構成とは無関係に、業務処理に対応した形でデータ格納部１３３を生成するので、各業務処理に必要なデータ処理のみを行うことが可能となり処理速度を向上させることができる。
また、データ検索部１３１は共通情報格納部１３４を介してデータの格納を指示するため、詳細情報格納部１３５，１３６，・・・の追加，修正，削除に対してデータ検索部の修正等が不要となる。
【００２１】
なお、前記実施の形態では、一つの詳細情報格納部が一つの業務処理に対応するものとして説明しているが、複数の詳細情報格納部が一つの業務処理に対応することとしてもよい。
【００２２】
【発明の効果】
以上のように、本発明によれば、複数の業務処理に応じた検索処理を可能とする検索プログラムを生成することができるため、業務アプリケーションに組み込まれるプログラムの数を減らすことができ、プログラムの保守管理における負担を軽減させることができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るプログラム生成方法の概要を説明するための図である。
【図２】本発明により生成したプログラムを組み込んだアプリケーションの一例を示すブロック図である。
【図３】本発明の一実施の形態に係るプログラム生成方法に用いるプログラム生成装置を示すブロック図である。
【図４】図２に示すアプリケーションの具体例を示すブロック図である。
【図５】本発明の一実施の形態に係るプログラム生成方法に用いられる定義ファイルの構成及び記述例を示す図である。
【図６】本発明の一実施の形態に係るプログラム生成方法に用いられる生成プログラムテンプレートを示す概念図である。
【図７】本発明の一実施の形態に係るプログラム生成方法により生成されたプログラムの一例を示すクラス図である。
【図８】プログラム生成の際に、生成される項目相関テーブルのデータ構造の一例を示す図である。
【図９】本発明の一実施の形態に係るプログラム生成方法の処理手順を示すフローチャートである。
【図１０】構文木に基づくプログラム生成処理の詳細を示すフローチャートである。
【図１１】本発明の一実施の形態に係るプログラム生成方法により生成されたプログラムの他のを示すクラス図である。
【図１２】従来のプログラム生成方法の概要を説明するための図である。
【図１３】従来の検索プログラム生成方法により生成したプログラムを組み込んだアプリケーションの一例を示すブロック図である。
【符号の説明】
１１０…定義ファイル、１１１…クラス情報部、１１２，１１３…データ項目情報部、１１４…共通データ項目情報部、１１５…手続情報部、１２０…プログラム生成装置、１３０…検索プログラム、１３１…データ検索部、１３２…項目相関部、１３３…データ格納部、１３４…共通情報格納部、１３５，１３６…詳細情報格納部、３０１…入力処理部、３０２…定義ファイル解析処理部、３０３…テンプレート読込処理部、３０４…プログラム出力処理部、３０５…生成プログラムテンプレート、８００…項目相関テーブル。
【図１】
2004013802.tif 000003
【図２】
2004013802.tif 000004
【図３】
2004013802.tif 000005
【図４】
2004013802.tif 000006
【図５】
2004013802.tif 000007
【図６】
2004013802.tif 000008
【図７】
2004013802.tif 000009
【図８】
2004013802.tif 000010
【図９】
2004013802.tif 000011
【図１０】
2004013802.tif 000012
【図１１】
2004013802.tif 000013
【図１２】
2004013802.tif 000014
【図１３】
2004013802.tif 000015