(57)【特許請求の範囲】
【請求項１】
ＣＯＢＯＬプログラムの作成前に、当該ＣＯＢＯＬプログラムにおいてアクセスするデータベース列に対応付けられるＣＯＢＯＬ変数について、当該データベース列に格納されたデータの種別をＣＯＢＯＬ言語で示すＣＯＢＯＬ変数定義を生成するＣＯＢＯＬ変数定義自動生成システムであって、
同じデータの種別を示すＳＱＬ言語とＣＯＢＯＬ言語とが対応付けて予め登録されるマッピングテーブルと、
前記データベース列に格納されたデータに基づき、当該データの種別を示すＳＱＬ言語を解析し、解析したＳＱＬ言語に対応付けて前記マッピングテーブルに登録されているＣＯＢＯＬ言語を抽出して前記ＣＯＢＯＬ変数定義を生成する構造解析部と、を有するＣＯＢＯＬ変数定義自動生成システム。
【請求項２】
請求項１記載のＣＯＢＯＬ変数定義自動生成システムにおいて、
前記データベース列に格納されたデータの出力を要求するＳＱＬ文を、該データベース列を含むデータベースに発行するＳＱＬ発行部を更に有し、
前記構造解析部は、前記ＳＱＬ発行部により発行されたＳＱＬ文に従い前記データベースから出力されたデータに基づき前記ＣＯＢＯＬ変数定義を生成する、ＣＯＢＯＬ変数定義自動生成システム。
【請求項３】
請求項２記載のＣＯＢＯＬ変数定義自動生成システムにおいて、
前記ＳＱＬ文が登録されるＳＱＬ文管理テーブルを更に有し、
前記ＳＱＬ発行部は、前記ＳＱＬ文管理テーブルに登録されたＳＱＬ文を発行し、
前記ＳＱＬ文管理テーブルは、前記ＳＱＬ文と、該ＳＱＬ文の発行に応じて前記構造解析部により生成されたＣＯＢＯＬ変数定義を使用するＣＯＢＯＬプログラムのプログラム名と、が対応付けて登録されるＣＯＢＯＬ変数定義自動生成システム。
【請求項４】
請求項３記載のＣＯＢＯＬ変数定義自動生成システムにおいて、
前記ＳＱＬ発行部は、前記ＳＱＬ文管理テーブルに登録されたＳＱＬ文が更新された場合、更新後のＳＱＬ文を発行し、
更新前および更新後のＳＱＬ文の発行に応じて前記構造解析部によりそれぞれ生成された更新前ＣＯＢＯＬ変数定義と更新後ＣＯＢＯＬ変数定義との差分の有無を検出する差分検出部と、
前記差分検出部により差分が検出された場合、前記更新後のＳＱＬ文に対応付けて前記ＳＱＬ文管理テーブルに登録されているＣＯＢＯＬプログラムのプログラム名を出力する通知部と、を更に有するＣＯＢＯＬ変数定義自動生成システム。
【請求項５】
請求項３記載のＣＯＢＯＬ変数定義自動生成システムにおいて、
前記ＳＱＬ発行部は、前記データベース列に格納されたデータの種別が変更された場合、該データベース列に格納されたデータの出力を要求するＳＱＬ文を再発行し、
前記ＳＱＬ文の再発行の前後で前記構造解析部によりそれぞれ生成された再発行前ＣＯＢＯＬ変数定義と再発行後ＣＯＢＯＬ変数定義との差分の有無を検出する差分検出部と、
前記差分検出部により差分が検出された場合、前記再発行されたＳＱＬ文に対応付けて前記ＳＱＬ文管理テーブルに登録されているＣＯＢＯＬプログラムのプログラム名を出力する通知部と、を更に有するＣＯＢＯＬ変数定義自動生成システム。
【請求項６】
ＣＯＢＯＬプログラムの作成前に、当該ＣＯＢＯＬプログラムにおいてアクセスするデータベース列に対応付けられるＣＯＢＯＬ変数について、当該データベース列に格納されたデータの種別をＣＯＢＯＬ言語で示すＣＯＢＯＬ変数定義を生成するＣＯＢＯＬ変数定義自動生成システムに適用されるＣＯＢＯＬ変数自動生成方法であって、
同じデータの種別を示すＳＱＬ言語とＣＯＢＯＬ言語とを対応付けて予め登録するステップと、
前記データベース列に格納されたデータに基づき、当該データの種別を示すＳＱＬ言語を解析し、解析したＳＱＬ言語に対応付けて登録されているＣＯＢＯＬ言語を抽出して前記ＣＯＢＯＬ変数定義を生成するステップと、を有するＣＯＢＯＬ変数定義自動生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＯＢＯＬ変数定義自動生成システムおよびＣＯＢＯＬ変数定義自動生成方法に関する。
【背景技術】
【０００２】
特許文献１に開示されているように、ＣＯＢＯＬ（COmmon Business Oriented Language）言語で作成されたＣＯＢＯＬプログラムには、データベースから出力されたデータをコンピュータなどが有するメモリ上の記憶領域に格納し、また、記憶領域に格納されたデータをデータベースに入力するものがある。
【０００３】
一般に、データベースは、複数の項目にそれぞれ対応し、対応する項目のデータを格納する複数のデータベース列からなる。
【０００４】
上述のようなＣＯＢＯＬプログラムの作成にあたっては、まず、そのＣＯＢＯＬプログラムにおいてアクセスするデータベース列に格納されるデータをメモリ上の記憶領域に格納するために、そのデータベース列に対応付けられるＣＯＢＯＬ変数と称される変数がＣＯＢＯＬ言語で定義される。
【０００５】
ＣＯＢＯＬ変数は、変数名と、対応するデータベース列に格納されるデータの種別（文字、整数、浮動小数点等）を示すデータ型と、で定義される。以下では、ＣＯＢＯＬ変数の変数名やデータ型を「ＣＯＢＯＬ変数定義」と称する。
【０００６】
以下、ＣＯＢＯＬ変数定義について詳細に説明する。
【０００７】
上述したように、各データベース列には、対応する項目に応じたデータが格納される。そのため、各データベース列には、その格納されたデータの種別に応じて、データ型が決められている。なお、データベース列のデータ型は、例えば、データベースのデータ操作を行うためのデータベース言語の１つであるＳＱＬ（Structured Query Language）言語で示される。以下では、データベース列のデータ型を「ＳＱＬデータ型」と称し、ＣＯＢＯＬ変数のデータ型を「ＣＯＢＯＬデータ型」と称する。
【０００８】
例えば、データベース列のＳＱＬデータ型が文字を示している場合に、そのデータベース列に対応付けられるＣＯＢＯＬ変数のＣＯＢＯＬデータ型が整数を示していたとする。
【０００９】
ここで、プログラム作成者は、データベース列に格納されたデータをメモリ上の記憶領域に格納する場合、その記憶領域を具体的に指定するのではなく、そのデータベース列に対応付けられたＣＯＢＯＬ変数を指定し、ＣＯＢＯＬプログラムを作成する。
【００１０】
そのため、上記の場合、データベース列では文字として格納されていたデータが、記憶領域では整数として格納されることになり、データベース列と記憶領域との間で格納するデータ種別の不整合により、ＣＯＢＯＬプログラムにエラーが発生する可能性がある。
【００１１】
従って、ＣＯＢＯＬ変数のＣＯＢＯＬデータ型が示すデータ種別は、そのＣＯＢＯＬ変数に対応するデータベース列のＳＱＬデータ型と同じデータ種別とする必要がある。
【００１２】
こうすることで、データ種別の不整合なく、データベース列に格納されたデータを記憶領域に格納することができる。
【００１３】
なお、上述のように、プログラム作成者は、データベース列に格納されたデータをメモリ上の記憶領域に格納する場合、記憶領域を具体的に指定することなく、そのデータベース列に対応付けられたＣＯＢＯＬ変数を指定するが、ＣＯＢＯＬ変数への記憶領域の具体的な割り当ては、ＣＯＢＯＬプログラム作成後、そのＣＯＢＯＬプログラムのコンピュータが処理可能な機械語へのコンパイル時に行われる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平６−１６１８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら上述したように、各データベース列のＳＱＬデータ型は、格納するデータの種別に応じて異なる。そのため、ＣＯＢＯＬ変数定義の生成に際しては、ＣＯＢＯＬ変数に対応付けられるデータベース列のＳＱＬデータ型を調べ、更に、そのＳＱＬデータ型と同じデータ種別を示すＣＯＢＯＬデータ型を特定するという作業が必要であった。
【００１６】
また、ＳＱＬ言語で示されるデータ種別と同じデータ種別を示すＣＯＢＯＬ言語に変換するという作業が必要であった。
【００１７】
一般に、ＣＯＢＯＬ変数定義の生成は、プログラム作成者自身によって行われる。そのため、プログラム作成者が上述の作業を行うのは、手間がかかり、また、間違いが起こりやすく、その間違いによりＣＯＢＯＬプログラムにエラーが発生する可能性があるという課題があった。
【課題を解決するための手段】
【００１８】
上記目的を達成するために本発明のＣＯＢＯＬ変数定義自動生成システムは、
ＣＯＢＯＬプログラムの作成前に、当該ＣＯＢＯＬプログラムにおいてアクセスするデータベース列に対応付けられるＣＯＢＯＬ変数について、当該データベース列に格納されたデータの種別をＣＯＢＯＬ言語で示すＣＯＢＯＬ変数定義を生成するＣＯＢＯＬ変数定義自動生成システムであって、
同じデータの種別を示すＳＱＬ言語とＣＯＢＯＬ言語とが対応付けて予め登録されるマッピングテーブルと、
前記データベース列に格納されたデータに基づき、当該データの種別を示すＳＱＬ言語を解析し、解析したＳＱＬ言語に対応付けて前記マッピングテーブルに登録されているＣＯＢＯＬ言語を抽出して前記ＣＯＢＯＬ変数定義を生成する構造解析部と、を有する。
【００１９】
上記目的を達成するために本発明のＣＯＢＯＬ変数定義自動生成方法は、
ＣＯＢＯＬプログラムの作成前に、当該ＣＯＢＯＬプログラムにおいてアクセスするデータベース列に対応付けられるＣＯＢＯＬ変数について、当該データベース列に格納されたデータの種別をＣＯＢＯＬ言語で示すＣＯＢＯＬ変数定義を生成するＣＯＢＯＬ変数定義自動生成システムに適用されるＣＯＢＯＬ変数自動生成方法であって、
同じデータの種別を示すＳＱＬ言語とＣＯＢＯＬ言語とを対応付けて予め登録するステップと、
前記データベース列に格納されたデータに基づき、当該データの種別を示すＳＱＬ言語を解析し、解析したＳＱＬ言語に対応付けて登録されているＣＯＢＯＬ言語を抽出して前記ＣＯＢＯＬ変数定義を生成するステップと、を有する。
【発明の効果】
【００２０】
本発明によれば、ＣＯＢＯＬ変数定義自動生成システムは、同じデータの種別を示すＳＱＬ言語とＣＯＢＯＬ言語とを対応付けてマッピングテーブルに予め登録し、ＣＯＢＯＬ変数に対応付けられるデータベース列に格納されたデータに基づき、そのデータの種別を示すＳＱＬ言語を解析し、解析したＳＱＬ言語に対応するＣＯＢＯＬ言語をマッピングテーブルから抽出してＣＯＢＯＬ変数定義を生成する。
【００２１】
このように、ＣＯＢＯＬ変数定義を自動的に生成するＣＯＢＯＬ変数定義自動生成システムを設けることで、プログラム作成者のＣＯＢＯＬ変数定義生成のための手間を削減できると共に、ＣＯＢＯＬプログラムにエラーが発生する可能性を低減することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態のＣＯＢＯＬ変数定義自動生成システムの構成を示すブロック図である。
【図２】ＣＯＢＯＬ変数定義の生成要求と生成要求に対する出力とを説明する図である。
【図３】ＣＯＢＯＬ変数定義の更新要求と更新要求に対する出力とを説明する図である。
【図４】図１に示すＳＱＬ文管理テーブルの構成を示す図である。
【図５】図１に示すＳＱＬ−ＣＯＢＯＬマッピングテーブルの構成を示す図である。
【図６】図１に示すＣＯＢＯＬ変数定義自動生成システムのＣＯＢＯＬ変数定義生成時の動作を示す図である。
【図７】図１に示すＣＯＢＯＬ変数定義自動生成システムのＣＯＢＯＬ変数定義更新時の動作を示す図である。
【発明を実施するための形態】
【００２３】
以下に、本発明を実施するための形態について図面を参照して説明する。
【００２４】
図１は、本発明の一実施形態のＣＯＢＯＬ変数定義自動生成システム１００の構成を示すブロック図である。
【００２５】
なお、図１において、ＣＯＢＯＬ変数定義自動生成システム１００、ホストコンピュータ２００、データベース３００、およびＣＯＢＯＬ変数定義リポジトリ４００は、その全てが同一マシン上にあってもよいし、その一部または全てが別マシン上にあってもよい。
【００２６】
図１に示すＣＯＢＯＬ変数定義自動生成システム１００は、ＳＱＬ文情報管理部１１０と、ＳＱＬ発行部１２０と、ＣＯＢＯＬ変数定義生成部１３０と、更新管理部１４０と、を有する。
【００２７】
また、ＳＱＬ文情報管理部１１０は、ＳＱＬ文管理テーブル１１１を有する。
【００２８】
また、ＣＯＢＯＬ変数定義生成部１３０は、ＳＱＬ−ＣＯＢＯＬマッピングテーブル１３１と、構造解析部１３２と、ＣＯＢＯＬ変数定義管理部１３３と、を有する。
【００２９】
また、更新管理部１４０は、通知部１４１と、更新部１４２と、スケジューリング部１４３と、差分検出部１４４と、を有する。
【００３０】
ＣＯＢＯＬプログラム２０１の作成にあたり、ＣＯＢＯＬ変数定義の生成要求が、ホストコンピュータ２００からＳＱＬ文情報管理部１１０に入力される。この生成要求には、詳細は後述するが、ＣＯＢＯＬ変数定義を生成するためのＳＱＬ文と称される命令文が含まれる。
【００３１】
ＳＱＬ文情報管理部１１０は、ホストコンピュータ２００から入力されたＣＯＢＯＬ変数定義の生成要求を受け付け、その生成要求に含まれるＳＱＬ文の発行要求をＳＱＬ発行部１２０に出力する。
【００３２】
ＳＱＬ文管理テーブル１１１は、ＣＯＢＯＬ変数定義の生成要求に含まれるＳＱＬ文とそのＳＱＬ文に関連する情報とが対応付けて登録、管理されるテーブルである。
【００３３】
ＳＱＬ発行部１２０は、ＳＱＬ文の発行要求があると、そのＳＱＬ文をデータベース３００に発行する。また、ＳＱＬ発行部１２０は、発行したＳＱＬ文に従い出力されたデータを取得し、そのデータをＣＯＢＯＬ変数定義生成部１３０に出力する。
【００３４】
ＣＯＢＯＬ変数定義生成部１３０は、ＣＯＢＯＬ変数定義を生成し、生成したＣＯＢＯＬ変数定義を管理する。
【００３５】
ＳＱＬ−ＣＯＢＯＬマッピングテーブル１３１は、同じデータ種別を示すＳＱＬデータ型とＣＯＢＯＬデータ型とが対応付けて登録される。
【００３６】
構造解析部１３２は、ＳＱＬ発行部１２０によるＳＱＬ文の発行に応じてＣＯＢＯＬ変数定義を生成する。具体的には、構造解析部１３２は、ＳＱＬ発行部１２０から出力されたデータに基づき、そのデータを格納するデータベース列に対応付けられるＣＯＢＯＬ変数のＣＯＢＯＬ変数定義を生成する。
【００３７】
ＣＯＢＯＬ変数定義管理部１３３は、構造解析部１３２により生成されたＣＯＢＯＬ変数定義をＣＯＢＯＬ変数定義リポジトリ４００に格納すると共に、そのＣＯＢＯＬ変数定義の生成要求に含まれるＳＱＬ文に関連する情報をＳＱＬ文管理テーブル１１１に登録する。
【００３８】
更新管理部１４０は、ＣＯＢＯＬ変数定義リポジトリ４００に格納されたＣＯＢＯＬ変数定義の更新処理が必要となった場合に、その更新処理を管理する。
【００３９】
通知部１４１は、ホストコンピュータ２００の表示装置２０２への表示等によりＣＯＢＯＬ変数定義の更新処理の結果等を出力する。なお、通知部１４１は、表示装置２０２への表示以外の方法も選択できるものとする。
【００４０】
更新部１４２は、ホストコンピュータ２００から入力されたＣＯＢＯＬ変数定義の更新要求を受け付ける。
【００４１】
スケジューリング部１４３は、ＣＯＢＯＬ変数定義の更新要求が受け付けられた場合に、その更新処理を行うスケジュールを設定する。
【００４２】
差分検出部１４４は、更新処理の前後のＣＯＢＯＬ変数定義の差分の有無を検出する。
【００４３】
次に、ＣＯＢＯＬ変数定義の生成要求について説明する。
【００４４】
図２は、ＣＯＢＯＬ変数定義の生成要求とその生成要求に対するＣＯＢＯＬ変数定義自動生成システム１００の出力とを説明する図である。
【００４５】
図２に示すように、プログラム作成者は、ＣＯＢＯＬ変数定義の生成要求として、ＳＱＬ文１１と、ＤＢ名１２と、プログラム名１３と、ファイル名１４と、を入力する。
【００４６】
ここで、ＳＱＬ文１１は、アクセスするデータベース列に対応付けられるＣＯＢＯＬ変数のＣＯＢＯＬ変数定義を生成するための命令文である。
【００４７】
ＤＢ名１２は、ＳＱＬ文１１が発行されるデータベース３００のデータベース名である。
【００４８】
プログラム名１３は、ＳＱＬ文１１の発行に応じて生成されるＣＯＢＯＬ変数定義を使用するＣＯＢＯＬプログラムのプログラム名である。なお、そのＣＯＢＯＬ変数定義を複数のＣＯＢＯＬプログラムが使用する場合には、プログラム作成者は、その複数のＣＯＢＯＬプログラムのプログラム名を入力する。
【００４９】
ファイル名１４は、ＳＱＬ文１１の発行に応じて生成されるＣＯＢＯＬ変数定義のファイル名である。
【００５０】
なお、ＳＱＬ文１１およびＤＢ名１２の入力は必須であるが、プログラム名１３およびファイル名１４の入力は必須ではない。ファイル名１４の入力がない場合は自動でファイル名が生成される。
【００５１】
ＣＯＢＯＬ変数定義の生成要求に対して、ＣＯＢＯＬ変数定義自動生成システム１００は、生成したＣＯＢＯＬ変数定義のファイル名である生成ファイル名１５を出力する。
【００５２】
次に、ＣＯＢＯＬ変数定義の更新要求について説明する。
【００５３】
図３は、ＣＯＢＯＬ変数定義の更新要求とその更新要求に対するＣＯＢＯＬ変数定義自動生成システム１００の出力とを説明する図である。
【００５４】
図３に示すように、プログラム作成者は、ＣＯＢＯＬ変数定義の更新要求として、更新対象２１と、スケジュール２２と、通知設定２３と、更新ＳＱＬ文２４と、を入力する。
【００５５】
更新対象２１は、ＣＯＢＯＬプログラムで使用するＳＱＬ文が変更されたＣＯＢＯＬプログラムのプログラム名や、格納されたデータの種別が変更されたデータベース列を含むデータベースのデータベース名等である。
【００５６】
スケジュール２２は、更新処理を行うスケジュールである。
【００５７】
通知設定２３は、更新処理の処理結果の通知方法の設定である。
【００５８】
更新ＳＱＬ文２４は、ＳＱＬ文管理テーブル１１１に登録されている特定のＳＱＬ文を更新する場合の、その更新後のＳＱＬ文である。
【００５９】
ＣＯＢＯＬ変数定義の更新要求に対してＣＯＢＯＬ変数定義自動生成システム１００には、更新結果２５と、プログラム名２６と、更新ファイル名２７と、を出力する。
【００６０】
更新結果２５は、ＣＯＢＯＬ変数定義の更新の有無である。
【００６１】
プログラム名２６は、更新されたＣＯＢＯＬ変数定義を使用するプログラム、すなわち、更新処理により影響を受けるプログラムのプログラム名である。
【００６２】
更新ファイル名２７は、更新されたＣＯＢＯＬ変数定義のファイル名である。
【００６３】
次に、ＳＱＬ文管理テーブル１１１の構成について説明する。
【００６４】
図４は、ＳＱＬ文管理テーブル１１１の構成を示す図である。
【００６５】
図４に示すように、ＳＱＬ文管理テーブル１１１は、ＩＤ１１２、ＳＱＬ１１３、宛先ＤＢ１１４、プログラム名１１５、ＣＯＢＯＬ変数定義ファイル名１１６、および最終更新日時１１７が対応付けられた構成である。
【００６６】
ＩＤ１１２には、ＣＯＢＯＬ変数定義の生成要求が受け付けられた順に付されるＩＤが登録される。
【００６７】
ＳＱＬ１１３には、ＣＯＢＯＬ変数定義の生成要求のＳＱＬ文１１またはＣＯＢＯＬ変数定義の更新要求の更新ＳＱＬ文２４が登録される。
【００６８】
宛先ＤＢ１１４には、ＳＱＬ１１３に登録されたＳＱＬ文を発行するデータベース３００のデータベース名が登録される。
【００６９】
プログラム名１１５には、ＳＱＬ１１３に登録されたＳＱＬ文の発行に応じて生成されるＣＯＢＯＬ変数定義を使用するＣＯＢＯＬプログラムのプログラム名が登録される。
【００７０】
ＣＯＢＯＬ変数定義ファイル名１１６には、ＳＱＬ１１３に登録されたＳＱＬ文の発行に応じて生成されるＣＯＢＯＬ変数定義のファイル名が登録される。
【００７１】
最終更新日時１１７には、ＣＯＢＯＬ変数定義の生成日時、または最新の更新日時が登録される。
【００７２】
次に、ＳＱＬ−ＣＯＢＯＬマッピングテーブル１３１の構成について説明する。
【００７３】
図５は、ＳＱＬ−ＣＯＢＯＬマッピングテーブル１３１の構成を示す図である。
【００７４】
図５に示すように、ＳＱＬ−ＣＯＢＯＬマッピングテーブル１３１は、同じデータ種別を示すＳＱＬデータ型とＣＯＢＯＬデータ型とが、すなわち同じデータ種別を示すＳＱＬ言語とＣＯＢＯＬ言語とが対応付けて登録されている。
【００７５】
次に、ＣＯＢＯＬ変数定義自動生成システム１００のＣＯＢＯＬ変数定義生成時の動作について説明する。
【００７６】
図６は、ＣＯＢＯＬ変数定義生成時の動作を説明するための図である。なお、図６において、実線矢印に付された符号は、以下で説明する処理ステップに対応する。
【００７７】
ＣＯＢＯＬ変数定義の生成要求がホストコンピュータ２００から入力されると（ステップＳ１１）、ＳＱＬ文情報管理部１１０は、その生成要求を受け付け、受付順にＩＤを付する。そして、ＳＱＬ文情報管理部１１０は、そのＩＤをＳＱＬ文管理テーブル１１１のＩＤ１１２に、また、ＣＯＢＯＬ変数定義の生成要求のＳＱＬ文１１、ＤＢ名１２、プログラム名１３、ファイル名１４を、ＳＱＬ文管理テーブル１１１のＳＱＬ１１３、宛先ＤＢ１１４、プログラム名１１５、ＣＯＢＯＬ変数定義ファイル名１１６に登録する。
【００７８】
ＳＱＬ文情報管理部１１０は、ＳＱＬ１１３に登録されたＳＱＬ文の宛先ＤＢ１１４に登録されたデータベース３００への発行をＳＱＬ発行部１２０に要求する（ステップＳ１２）。
【００７９】
ＳＱＬ発行部１２０は、ＳＱＬ文の発行要求があると、そのＳＱＬ文をデータベース３００に発行する（ステップＳ１３）。なお、ＳＱＬ文は、アクセスするデータベース列に格納されたデータの出力を要求する命令文であり、ＳＱＬ発行部１２０は、発行したＳＱＬ文に従い出力されたデータを取得し（ステップＳ１４）、ＣＯＢＯＬ変数定義生成部１３０に出力する（ステップＳ１５）。
【００８０】
構造解析部１３２は、ＳＱＬ発行部１２０から出力されたデータに基づき、そのデータを格納するデータベース列のＳＱＬデータ型を解析し、解析したＳＱＬデータ型に対応付けられたＣＯＢＯＬデータ型をＳＱＬ−ＣＯＢＯＬマッピングテーブル１３１から抽出してＣＯＢＯＬ変数定義を生成する。なお、変数名には、そのデータベース列の列名が付けられる。
【００８１】
ここで、データベース列のＳＱＬデータ型の解析は、例えば、各ＳＱＬデータ型について、データ構造のパターンを予め登録しておき、取得したデータのデータ構造と登録しているデータ構造とを比較すること行うことができる。
【００８２】
また、データベースから出力されたデータには、不図示のデータベースドライバから取得されるデータベース列の列名の情報が含まれており、この情報に基づきデータベース列の列名を特定することができる。
【００８３】
ＣＯＢＯＬ変数定義管理部１３３は、ＣＯＢＯＬ変数定義の全ての生成要求に対してＣＯＢＯＬ変数定義が生成された後、全てのＣＯＢＯＬ変数定義を１つのファイルにして名前を付け、そのファイルをＣＯＢＯＬ変数定義リポジトリ４００に格納する（ステップＳ１６）。
【００８４】
また、ＣＯＢＯＬ変数定義管理部１３３は、ＣＯＢＯＬ変数定義の各生成要求に対して生成されたＣＯＢＯＬ変数定義にファイル名を付け、そのファイル名とそのＣＯＢＯＬ変数定義の生成日時とを、その生成要求に含まれるＳＱＬ文に対応付けてＳＱＬ文管理テーブル１１１のＣＯＢＯＬ変数定義ファイル名１１６と最終更新日時１１７とに登録する(ステップＳ１７)。
【００８５】
また、ＣＯＢＯＬ変数定義管理部１３３は、ＣＯＢＯＬ変数定義リポジトリ４００に格納したファイルのファイル名を通知部１４１に通知し、通知部１４１は、そのファイル名を表示装置２０２に表示する（ステップＳ１８）。
【００８６】
ホストコンピュータ２００は、通知部１４１から通知されたファイル名のファイルをＣＯＢＯＬ変数定義リポジトリ４００から検索し、そのファイルからＣＯＢＯＬ変数定義を取得する（ステップＳ１９）。
【００８７】
次に、ＣＯＢＯＬ変数定義自動生成システム１００のＣＯＢＯＬ変数定義更新時の動作について説明する。
【００８８】
図７は、ＣＯＢＯＬ変数定義更新時の動作を説明するための図である。なお、図７において、実線矢印に付された符号は、以下で説明する処理ステップに対応する。また、図７において、図６と同様の処理ステップについては、同じ符号を付し、説明を省略する。
【００８９】
ＣＯＢＯＬ変数定義の更新要求が入力されると（ステップＳ２１）、更新部１４２は、その更新要求を受け付け、ＳＱＬ文管理テーブル１１１のＳＱＬ１１３に登録されたＳＱＬ文の選択要求をＳＱＬ文情報管理部１１０に出力する（ステップＳ２２）。
【００９０】
ここで、更新部１４２は、ＣＯＢＯＬ変数定義の更新要求の更新対象２１としてデータベース名やプログラム名が入力されている場合には、そのデータベース名やプログラム名をＳＱＬ文情報管理部１１０に通知し、更新ＳＱＬ文２４が入力されている場合には、更新前後のＳＱＬ文を通知する。なお、以下では、更新対象２１としてデータベース名が入力されていたとする。
【００９１】
ＳＱＬ文情報管理部１１０は、更新部１４２から通知されたデータベース名が宛先ＤＢ１１４に登録されているＳＱＬ文を全て選択し、その選択したＳＱＬ文の再発行要求をＳＱＬ発行部１２０に出力する（ステップＳ２３）。
【００９２】
ＣＯＢＯＬ変数定義管理部１３３は、ＳＱＬ文の再発行に応じて生成されたＣＯＢＯＬ変数定義（再発行後ＣＯＢＯＬ変数定義）と、そのＳＱＬ文の再発行前に、同じＩＤのＳＱＬ文の発行に応じて生成されたＣＯＢＯＬ変数定義（再発行前ＣＯＢＯＬ変数定義）と、を差分検出部１４４に出力する（ステップＳ２４）。
【００９３】
差分検出部１４４は、ＣＯＢＯＬ変数定義管理部１３３から出力された両ＣＯＢＯＬ変数定義の差分の有無を検出し、その結果をＣＯＢＯＬ変数定義管理部１３３に通知する（ステップＳ２５）。
【００９４】
ＣＯＢＯＬ変数定義管理部１３３は、差分検出部１４４から差分があると通知された場合、ＣＯＢＯＬ変数定義リポジトリ４００に格納された再発行前ＣＯＢＯＬ変数定義を再発行後ＣＯＢＯＬ変数定義に更新する（ステップＳ２６）。また、ＣＯＢＯＬ変数定義管理部１３３は、ＳＱＬ文管理テーブル１１１の最終更新日時１１７にＣＯＢＯＬ変数定義の更新日時を登録する（ステップＳ２７）。
【００９５】
更に、ＣＯＢＯＬ変数定義管理部１３３は、ＣＯＢＯＬ変数定義の変更点を通知部１４１に通知し、通知部１４１は、その変更点を表示装置２０２に表示する（ステップＳ２８）。
【００９６】
ホストコンピュータ２００は、通知部１４１からＣＯＢＯＬ変数定義の変更点を通知されると、再発行後ＣＯＢＯＬ変数定義のファイルをＣＯＢＯＬ変数定義リポジトリ４００から取得し（ステップＳ２９）、そのＣＯＢＯＬ変数定義を使用するＣＯＢＯＬプログラムを修正する。
【００９７】
なお、ＣＯＢＯＬ変数定義の更新要求の更新対象２１としてプログラム名が入力された場合には、ＳＱＬ文情報管理部１１０は、そのプログラム名がプログラム名１１５に登録されているＳＱＬ文を選択する。また、ＣＯＢＯＬ変数定義の更新要求の更新ＳＱＬ文２４が入力されている場合には、ＳＱＬ文情報管理部１１０は、合わせて通知される更新前のＳＱＬ文と一致するＳＱＬ文を選択する。
【００９８】
このように本実施形態によれば、ＣＯＢＯＬ変数定義自動生成システム１００は、同じデータの種別を示すＳＱＬデータ型とＣＯＢＯＬデータ型とを対応付けて登録するＳＱＬ−ＣＯＢＯＬマッピングテーブル１３１を有し、ＣＯＢＯＬ変数に対応付けられるデータベース列のＳＱＬデータ型を解析し、解析したＳＱＬデータ型に対応するＣＯＢＯＬデータ型をマッピングテーブル１３１から抽出してＣＯＢＯＬ変数定義を生成する。
【００９９】
このように、ＣＯＢＯＬ変数定義を自動的に生成するＣＯＢＯＬ変数定義自動生成システム１００を設けることで、プログラム作成者の手間を削減できると共に、ＣＯＢＯＬプログラムにエラーが発生する可能性を低減することができる。
【符号の説明】
【０１００】
１００    ＣＯＢＯＬ変数定義自動生成システム
１１０    ＳＱＬ文情報管理部
１１１    ＳＱＬ文管理テーブル
１２０    ＳＱＬ発行部
１３０    ＣＯＢＯＬ変数定義生成部
１３１    ＳＱＬ−ＣＯＢＯＬマッピングテーブル
１３２    構造解析部
１３３    ＣＯＢＯＬ変数定義管理部
１４０    更新管理部
１４１    通知部
１４２    更新部
１４３    スケジューリング部
１４４    差分検出部
２００    ホストコンピュータ
２０２    表示装置
３００    データベース
４００    ＣＯＢＯＬ変数定義リポジトリ
【図１】
0005458956.tif 000002
【図２】
0005458956.tif 000003
【図３】
0005458956.tif 000004
【図４】
0005458956.tif 000005
【図５】
0005458956.tif 000006
【図６】
0005458956.tif 000007
【図７】
0005458956.tif 000008