JP5581894B2 - データ処理プログラム自動生成システム - Google Patents

データ処理プログラム自動生成システム Download PDF

Info

Publication number
JP5581894B2
JP5581894B2 JP2010189092A JP2010189092A JP5581894B2 JP 5581894 B2 JP5581894 B2 JP 5581894B2 JP 2010189092 A JP2010189092 A JP 2010189092A JP 2010189092 A JP2010189092 A JP 2010189092A JP 5581894 B2 JP5581894 B2 JP 5581894B2
Authority
JP
Japan
Prior art keywords
processing
statement
definition
output
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010189092A
Other languages
English (en)
Other versions
JP2012048438A (ja
Inventor
友章 佐川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010189092A priority Critical patent/JP5581894B2/ja
Publication of JP2012048438A publication Critical patent/JP2012048438A/ja
Application granted granted Critical
Publication of JP5581894B2 publication Critical patent/JP5581894B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明はプログラムの自動生成に関し、特に、情報処理システム上に構築されたデータベースの表のデータを参照してデータ処理を行い、処理結果を再度データベースの表に格納したり、処理結果に基づいてデータベースの表のデータを更新したり、削除したりするデータ処理プログラムを自動的に生成するシステムに関する。
この種のデータ処理プログラム自動生成システムの一例が特許文献1に記載されている。特許文献1に記載されたデータ処理プログラム自動生成システム(以下、本発明に関連するデータ処理プログラム自動生成システムと記す)は、予めシステムに用意されたプログラムスケルトンと、利用者から入力される仕様とから、データ処理プログラムを作成する。
上記プログラムスケルトンは、仕様の如何に関わらず固定の部分のプログラムとして、前段処理部分と、この前段処理部分に続く繰り返し処理部分と、この繰り返し処理部分に続く後段処理部分を有している。また、プログラムスケルトンは、仕様によって変化する部分のプログラム断片の挿入位置として、前段処理部分内にプログラム名挿入位置と、カーソル定義文挿入位置と、作業変数定義文列挿入位置と、初期処理挿入位置を含み、繰り返し処理部分内に出力処理文列挿入位置を含み、後段処理部分に終了処理挿入位置を含んでいる。
上記仕様は、生成したプログラムに付与するプログラム名と、入力表の名前とその入力表の各項目の名前および型の情報を含む入力表項目定義と、セレクト文内に定義する入力表項目の名前を含むセレクト項目定義と、出力表の名前とその出力表の各項目の名前および型の情報を含む出力表項目定義と、各出力表の処理を行う条件を示す処理条件と、挿入、更新、削除の別を示す処理種別と、処理種別が更新と削除の場合に更新、削除するための条件を示す更新、削除条件と、処理種別が挿入と更新の場合に各項目の値を計算する処理式とを含む出力表処理定義と、入力表からデータを取得する際の条件を含むセレクト条件定義と、プログラムスケルトンをカスタマイズするためのその他の情報を含むプログラムカスタマイズ情報とを含んでいる。
そして、上記データ処理プログラム自動生成システムは、仕様から取得した情報および該情報から生成した情報をプログラムスケルトンの該当する箇所に挿入することにより、プログラムを完成させる。具体的には、入力された仕様からプログラム名とプログラムカスタマイズ情報とを取得し、取得したプログラム名をプログラムスケルトンのプログラム名挿入位置に挿入し、取得したプログラムカスタマイズ情報を初期処理と終了処理とに分けて、プログラムスケルトンの初期処理挿入位置と終了処理挿入位置にそれぞれ挿入する。また、入力された仕様から入力表項目定義とセレクト項目定義とセレクト条件定義とを取得し、これらからカーソル定義文を生成し、プログラムスケルトンのカーソル定義文挿入位置に挿入する。さらに、上記データ処理プログラム自動生成システムは、入力された仕様から出力表項目定義と出力表処理定義とを取得し、これらから作業変数定義文と出力処理文とを生成し、プログラムスケルトンの作業変数定義文列挿入位置と出力処理文列挿入位置にそれぞれ挿入する。
他方、プログラム自動合成装置において、抽象記述言語ファイル(サブシナリオファイル)を入力し、類似するサブシナリオファイルを検出し、一致する部分を検出し、共通化された形のサブシナリオファイルを生成し、該共通部分にIDを付与する技術がある(例えば特許文献2参照)。
特許第3871832号公報 特開2002−99415号公報
上述した特許文献1に記載のデータ処理プログラム自動生成システムでは、作成するデータ処理プログラムに必要な情報をすべて含む仕様を一つの入力仕様として受け付ける構成となっているため、作成するデータ処理プログラム毎に、それに必要な情報をすべて含んだ仕様を事前に用意しておく必要がある。このため、プログラムスケルトンをカスタマイズするためのその他の情報であるプログラムカスタマイズ情報が、一部のデータ処理プログラム間で同じ仕様で良い場合であっても、作成するデータ処理プログラム毎に一切の情報を含む仕様を別々に作成し保存しておく必要がある。従って、仕様の作成および保存に要するコストが嵩むという課題があった。
特許文献2には共通化された形のサブシナリオファイルを生成し、該共通部分にIDを付与することについて記載されているだけであり、特許文献2に記載の技術を特許文献1に適用しても、上記課題を解決することは困難である。
本発明の目的は、上述したような課題、すなわち仕様の作成および保存に要するコストが嵩むという課題を解決するデータ処理プログラム自動生成システムを提供することにある。
本発明の一形態にかかるデータ処理プログラム自動生成システムは、
データベースの表のデータを参照し、表中に新たなデータを挿入したり、表中のデータを更新したり、表中のデータを削除したりするプログラムにおいて、前段処理部分と繰り返し処理部分と後段処理部分を備えたプログラム全体を、プログラムスケルトンと仕様とに基づいて、自動的に生成するデータ処理プログラム自動生成システムであって、
作成するデータ処理プログラム毎に異なる仕様である個別仕様を入力する機能と、作成するデータ処理プログラムが属するグループ毎に異なる仕様である共通仕様を入力する機能とを有する仕様入力手段を備える、という構成を採る。
本発明は上述したような構成を有するため、仕様の作成および保存に要するコストを軽減することが可能である。
本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態における仕様の構成と、仕様中の出力表処理定義における処理種別毎の必要情報を示す図である。 本発明の第3の実施の形態におけるカーソル定義文生成手段の処理を示す流れ図である。 本発明の第3の実施の形態における作業変数定義文生成手段の処理を示す流れ図である。 本発明の第3の実施の形態における出力処理文生成手段の処理を示す流れ図である。 本発明の第3の実施の形態におけるプログラム自動合成手段の処理を示す流れ図である。 本発明の第3の実施の形態におけるカーソル定義文生成手段で使用するカーソル定義文スケルトンの構成を示す図である。 本発明の第3の実施の形態における作業変数定義文生成手段で使用する作業変数定義文スケルトンの構成を示す図である。 本発明の第3の実施の形態における出力処理文生成手段で使用する出力処理文スケルトンの構成と、そのスケルトンのうちの挿入文、更新文、削除文の構成を示す図である。 本発明の第3の実施の形態におけるプログラムスケルトンの構成を示す図である。 本発明の第4の実施の形態における仕様の構成を示す図である。 本発明の第4の実施の形態におけるカーソル定義文生成手段の処理を示す流れ図である。 本発明の第4の実施の形態におけるセレクト項目定義情報を作成する処理を示す流れ図である。 本発明の第5の実施の形態の構成を示すブロック図である。 本発明の第5の実施の形態における仕様の構成を示す図である。 本発明の第6の実施の形態における仕様入力手段の処理を示す処理流れ図である。 本発明の第3の実施の形態の処理例を示す処理流れ図である。 本発明の第8の実施の形態の構成を示すブロック図である。 本発明の第1の実施の形態の構成を示すブロック図である。 本発明で使用する共通処理仕様の一例を示す図である。 本発明で使用する共通処理仕様の別の例を示す図である。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明で使用する共通処理仕様の更に別の例を示す図である。
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図19を参照すると、本発明の第1の実施形態にかかるデータ処理プログラム自動生成システム10は、個別仕様1Aと、共通処理仕様1Bとを入力し、この入力した個別仕様1Aおよび共通処理仕様1Bと、予め用意されたプログラムスケルトンとに基づいてデータ処理プログラムを生成し、生成プログラム2として出力する機能を有している。生成されるデータ処理プログラムは、データベースの表のデータを参照し、表中に新たなデータを挿入したり、表中のデータを更新したり、表中のデータを削除したりする機能を持つデータ処理プログラムである。
データ処理プログラム自動生成システム10は、仕様入力手段101を含んで構成される。仕様入力手段101は、個別仕様入力部1011と共通処理仕様入力部1012とを有する。
個別仕様入力部1011は、個別仕様1Aを入力する機能を有する。個別仕様1Aは、作成するデータ処理プログラム毎に異なる。個別仕様1Aには、例えば、プログラム名、入力表項目定義、セレクト項目定義、出力表項目定義、出力表処理定義、セレクト条件定義が含まれている。個別仕様入力部1011によって入力された個別仕様1Aは、データ処理プログラム自動生成システム10における後段の処理機能に伝達され、プログラムの生成に利用される。
共通処理仕様入力部1012は、共通処理仕様1Bを入力する機能を有する。共通処理仕様1Bは、作成するデータ処理プログラムが属するグループ毎に異なる。グループとは、例えばバッチ系システムを幾つかのグループに分けた場合の個々のグループのことである。共通処理仕様1Bには、プログラムスケルトンをカスタマイズするためのその他の情報であるプログラムカスタマイズ情報が含まれている。共通処理仕様入力部1012によって入力された共通処理仕様1Bは、データ処理プログラム自動生成システム10における後段の処理機能に伝達され、プログラムの生成に利用される。
図20は共通処理仕様1Bの一例である。この例の共通処理仕様1Bは、1000行から1011行まで初期処理を定義し、1013行から1024行まで終了処理を定義している。また初期処理には、開始ログ出力処理、共通変数定義処理、共通エラーハンドル処理が含まれている。また終了処理には、終了ログ出力処理、共通変数定義処理、共通エラーハンドル処理が含まれている。これらの初期処理および終了処理が、共通処理仕様入力部1012により取得され、後段の処理機能に伝達される。
図21は共通処理仕様1Bの他の例である。この例の共通処理仕様1Bは、1000行から1010行まで初期処理を定義し、1012行から1022行まで終了処理を定義している。図20に示した共通処理仕様とは多少内容が異なっている。これらの初期処理および終了処理が、共通処理仕様入力部1012により取得され、後段の処理機能に伝達される。
また図10はプログラムスケルトンの一例である。この例のプログラムスケルトン1001は、ある特定のプログラミング言語で記述されたプログラムを仕様により変化する部分と、仕様により変化しない部分とに分類し、仕様により変化しない部分は、プログラム文として持ち、仕様により変化する部分は、仕様から作成されたプログラムの断片の挿入位置を持つように構成されている。図10の例では、このプログラムの断片の挿入位置として、プログラム名挿入位置1002と、カーソル定義文挿入位置1003と、作業変数定義文列挿入位置1004と、" 初期処理" 挿入位置1005と、出力処理文列挿入位置1006と、" 終了処理" 挿入位置1007を持っている。
次に本実施形態にかかるデータ処理プログラム自動生成システム10の動作を説明する。
利用者が、データ処理プログラム自動生成システム10を用いて、データ処理プログラムを自動生成する場合、生成したいデータ処理プログラム固有の仕様1Aを格納したファイルと、生成したいデータ処理プログラムが属するグループについて共通に作成した共通処理仕様1Bを格納したファイルとを、データ処理プログラム自動生成システム10から読み込み可能な記憶装置上に設定する。そして、データ処理プログラム自動生成システム10を起動する。
まず、データ処理プログラム自動生成システム10は、仕様入力手段101の個別仕様入力部1011により個別仕様1Aを入力し、後段の処理機能に伝達する。また、共通処理仕様入力部1012により共通処理仕様1Bを入力し、後段の処理機能に伝達する。
次にデータ処理プログラム自動生成システム10は、後段の処理機能により個別仕様1Aに基づいて、プログラムスケルトンに挿入する、プログラム名、カーソル定義文、作業変数定義文、出力処理文を生成する。また、データ処理プログラム自動生成システム10は、後段の処理機能により共通処理仕様1Bからプログラムスケルトンに挿入する、初期処理、終了処理を取得する。
次に、データ処理プログラム自動生成システム10は、プログラムスケルトンの該当する箇所に、それらを挿入して生成プログラム2を生成する。具体的には、図10のプルグラムスケルトン1001のプログラム名挿入位置1002にプログラム名を、カーソル定義文挿入位置1003にカーソル定義文を、作業変数定義文列挿入位置1004に作業変数定義文を、" 初期処理" 挿入位置1005に初期処理を、出力処理文列挿入位置1006に出力処理文を、そして、" 終了処理" 挿入位置1007に終了処理を、それぞれ挿入する。
最後に、データ処理プログラム自動生成システム10は、生成プログラム2を出力する。
このように本実施形態によれば、仕様の作成および保存に要するコストを軽減することができる。その理由は、仕様のうち、データ処理プログラムが属するグループ毎に異なる仕様である共通仕様1Bは、個々のデータ処理プログラム毎でなくグループ単位で作成し、保存しておけば済むためである。
[第2の実施形態]
図22を参照すると、本発明の第2の実施形態にかかるデータ処理プログラム自動生成システム10は、図19に示した第1の実施形態と比較して、仕様入力手段101が展開手段1013を更に有する点で相違する。また、共通処理仕様1Bは、キーワードを付与した共通処理記述と、この共通処理記述を挿入する箇所に上記キーワードを挿入してある複数の処理記述とが含まれている。
展開部1013は、共通処理仕様入力部1012から共通処理仕様1Bを受け取り、その共通処理仕様1Bに含まれる複数の処理記述中におけるキーワードの挿入位置に、そのキーワードが付与された共通処理記述を展開する機能を有する。展開部1013による展開処理が施された共通処理仕様1Bは、データ処理プログラム自動生成システム10における後段の処理機能に伝達され、プログラムの生成に利用される。
図23は共通処理仕様1Bの一例である。この例の共通処理仕様1Bは、1000行から1005行まで初期処理を定義し、1007行から1013行まで終了処理を定義し、1015行から1020行まで共通エラー処理を定義している。定義された共通エラー処理には、「共通エラー処理」というキーワードが付与されている。そして、初期処理と終了処理とには、共通エラー処理を挿入する箇所に、上記キーワードが予め定められた特殊な記号($など)により括られて、挿入されている。
すなわち、図23の共通処理仕様1Bは、初期処理中では開始ログ出力処理だけを個別に記述し、終了処理では終了ログ出力処理だけを個別に記述し、初期処理と終了処理とで共通な共通変数定義処理と共通エラーハンドル処理とは個別に記述せずに、共通処理としてまとめている。これによって、図20と全く同一の処理をコンパクトにまとめている。
次に本実施形態にかかるデータ処理プログラム自動生成システム10の動作を説明する。
利用者が、データ処理プログラム自動生成システム10を用いて、データ処理プログラムを自動生成する場合、生成したいデータ処理プログラム固有の仕様1Aを格納したファイルと、生成したいデータ処理プログラムが属するグループについて共通に作成した共通処理仕様1Bを格納したファイルとを、データ処理プログラム自動生成システム10から読み込み可能な記憶装置上に設定する。そして、データ処理プログラム自動生成システム10を起動する。
まず、データ処理プログラム自動生成システム10は、仕様入力手段101の個別仕様入力部1011により個別仕様1Aを入力し、後段の処理機能に伝達する。また、共通処理仕様入力部1012により共通処理仕様1Bを入力し、展開部1013に伝達する。
次に展開部1013は、共通処理仕様1Bに含まれる複数の処理記述中におけるキーワードの挿入位置に、そのキーワードが付与された共通処理記述を展開する。そして、展開処理後の共通処理仕様1Bを後段の処理機能に伝達する。
これ以降の動作は第1の実施形態と同様である。
このように本実施形態によれば、仕様の作成および保存に要するコストを軽減することができる。その理由は、仕様のうち、データ処理プログラムが属するグループ毎に異なる仕様である共通仕様1Bは、個々のデータ処理プログラム毎でなくグループ単位で作成し、保存しておけば済むためである。
また本実施形態によれば、第1の実施形態に比べてより一層、仕様の作成および保存に要するコストを軽減することができる。その理由は、共通仕様1Bに同じ共通処理を含む複数の処理が存在する場合、それら複数の処理のそれぞれに共通処理を個別に記述する必要がないためである。
また、共通仕様1Bに同じ共通処理を含む複数の処理が存在する場合、それら複数の処理のそれぞれに共通処理を個別に記述する構成では、後に共通処理を変更する必要が生じた場合、複数箇所を同時に変更する必要があるために作業量が多くなり、また変更漏れによる不整合が発生し易くなる。これに対して、本実施形態によれば、1箇所だけの修正で済むためにメンテナンスに要するコストが低減し、また変更漏れによる不整合の発生も防止することができる。
[第3の実施形態]
図1は本発明のデータ処理プログラム自動生成システムの第3の実施の形態の構成例を示したブロック図、図17はその処理の概略を示すフローチャートである。まず、図1及び図17を参照して第3の実施の形態の概要を説明する。
図1において、業務要件を示す仕様1は、第1および第2の実施形態における個別仕様1Aおよび共通処理仕様1Bを合わせたものに相当する。仕様1は、開発するプログラムが満足すべき仕様として、プログラム名と入力表項目定義とセレクト項目定義と出力表項目定義と出力表処理定義とセレクト条件定義とプログラムカスタマイズ情報とを含んでいる。まず、図17の1701において、仕様入力手段101はこのような仕様1を入力する。次に、プログラムスケルトンカスタマイズ情報取得手段102は、入力された仕様のうち、プログラムスケルトンをカスタマイズするために必要な情報として、プログラム名とプログラムカスタマイズ情報を取り出し、プログラム自動合成手段109に渡す(1702)。また、カーソル定義情報取得手段103は、入力された仕様のうち、カーソル定義文を生成するのに必要な情報として、入力表項目定義とセレクト項目定義とセレクト条件定義を取り出し、カーソル定義文生成手段105に渡す(1703)。更に、出力項目処理情報取得手段104は、入力された仕様のうち、作業変数定義文と出力処理文を生成するのに必要な情報として、出力表項目定義と出力表処理定義とを出力項目処理情報として取り出し、作業変数定義文生成手段106と出力処理文生成手段107に渡す(1704)。
次にカーソル定義文生成手段105は、カーソル定義情報取得手段103から受けとった情報を加工し、データベースの表の内、仕様で指定された処理において参照される表と項目の定義を行なう、カーソル定義文を生成し、プログラム自動合成手段109に渡す(1705)。また、作業変数定義文生成手段106は、出力項目処理情報取得手段104から受けとった情報を加工し、生成プログラム中の、処理種別が挿入である全ての出力表の各項目の計算結果を保存するための変数定義文を生成し、プログラム自動合成手段109に渡す(1706)。更に、出力処理文生成手段107は、出力項目処理情報取得手段104から受けとった情報を加工し、生成プログラム中の全ての出力表のうち、処理種別が挿入の出力表に対しては処理条件文と項目計算文と挿入文とからなる出力処理文を生成し、処理種別が更新の出力表に対しては処理条件と更新文とからなる出力処理文を生成し、処理種別が削除の出力表に対しては処理条件文と項目計算文と削除文とからなる出力処理文を生成し、プログラム自動合成手段109に渡す(1707)。
また図1において、プログラムスケルトン108は、生成プログラムのうち、仕様としてどのような業務要件が与えられても変化しない部分を、プログラムの骨組みとして用意したものである。このプログラムの骨組みにはプログラム名、カーソル定義文、作業変数定義文、出力処理文の部分と、さらに必要に応じて1つ以上のプログラムの断片の挿入位置が埋め込まれており、これらの挿入位置に、仕様で与えられた業務要件から生成されたプログラムの断片を挿入することにより、完成したプログラムを得ることを目的としたものである。
プログラム自動合成手段109は、プログラムスケルトン108の挿入位置の内、プログラム名に対応する挿入位置にプログラムスケルトンカスタマイズ情報取得手段102で取得されたプログラム名を挿入し、カーソル定義文に対応する挿入位置にカーソル定義文生成手段105で生成されたカーソル定義文を挿入し、作業変数定義文に対応する挿入位置に作業変数定義文生成手段106で生成された作業変数定義文を挿入し、出力処理文に対応する挿入位置に出力処理文生成手段107で生成された出力処理文を挿入し、その他の挿入位置にプログラムスケルトンカスタマイズ情報取得手段102で取得した対応するプログラム文の断片を挿入することによりプログラムを自動合成する(1708)。
次に本発明の第3の実施の形態の詳細を図1から図5を参照して説明する。
図2(a)は図1の仕様1の構成例を示した図である。201は仕様1の全体を表しており、図1における仕様1に対応する。図2(a)に示したように、仕様201は、仕様から生成したプログラムが持つべき名前であるプログラム名202と、入力表の名前と各項目の名前と型の情報を含む入力表項目定義203と、入力表項目のうち、本仕様で指定する処理で実際に使用するため、セレクト文内に定義する項目の名前を含むセレクト項目定義204と、出力表の名前と各項目の名前と型の情報を含む出力表項目定義205と、各出力表の処理を行う条件を示す処理条件と、挿入、更新、削除の別を示す処理種別と、処理種別が更新と削除の場合に更新/削除するための条件を示す更新/削除条件と、処理種別が挿入と更新の場合に各項目の値を計算する処理式とを含む出力表処理定義206と、入力表からデータを取得する際の条件を含むセレクト条件定義207と、プログラムスケルトンをカスタマイズするために必要なその他の情報を含むプログラムカスタマイズ情報208とから構成される。
出力表処理定義206に必要な、処理種別毎の情報を図2(b)に一覧表で示す。図2(b)を参照すると、処理種別が挿入の場合には、処理式は必須であり、処理条件は任意であり、更新/削除条件は不要である。処理種別が更新の場合には、処理式と更新条件は必須であり、処理条件は任意である。処理種別が削除の場合には、削除条件は必須であり、処理条件は任意であり、処理式は不要である。なお、処理条件が指定されなかった場合には、常に処理条件が成立するものとして、その処理が行われる。図1の仕様入力手段101は、図2のような構成を持つ仕様を入力し、プログラムスケルトンカスタマイズ情報取得手段102と、カーソル定義情報取得手段103と出力項目処理情報取得手段104に渡す。
プログラムスケルトンカスタマイズ情報取得手段102は、仕様入力手段101から渡された仕様情報から、図2のプログラム名202とプログラムカスタマイズ情報208に対応する部分を取り出し、プログラム自動合成手段109に渡す。カーソル定義情報取得手段103は、仕様入力手段101から渡された仕様情報から、図2の入力表項目定義203とセレクト項目定義204とセレクト条件定義207に対応する部分を取り出し、カーソル定義文生成手段105に渡す。出力項目処理情報取得手段104は、仕様入力手段101から渡された仕様情報から、図2の出力表項目定義205と出力表処理定義206に対応する部分を取り出し、作業変数定義文生成手段106と出力処理文生成手段107に渡す。
次にカーソル定義文生成手段105の動作について、図3を用いて説明する。図3は、カーソル定義文生成手段105の動作を表す流れ図である。図1のカーソル定義文生成手段105は、図3の301でカーソル定義情報取得手段103から入力表項目定義情報とセレクト項目定義情報とセレクト条件定義情報をカーソル定義情報として受けとる。302では、入力表項目定義情報のうち、セレクト項目定義情報内に指定された項目名だけを抜きだし、生成するプログラミング言語の構文に従った形式でセレクト項目列を作成する。303 では、入力表項目定義情報内に指定された入力表のうち、セレクト項目定義情報で使用されている入力表の名前だけを抜きだし、生成するプログラミング言語の構文に従った形式でセレクト表列を作成する。304では、セレクト条件定義情報を、生成するプログラム言語の構文に従った形式に加工し、セレクト条件文を作成する。305では、302、303、304でそれぞれ作成した、セレクト項目列、セレクト表列、セレクト条件をカーソル定義スケルトンの対応する挿入位置に挿入し、カーソル定義文を作成する。306 でこのカーソル定義文を出力し、図1のプログラム自動合成手段109に渡す。
図7にカーソル定義スケルトンの構成例を示す。図7を参照すると、カーソル定義文スケルトン701は、特定のプログラミング言語に依存したスケルトンで、セレクト項目列挿入位置702、入力表列挿入位置703、セレクト条件挿入位置704を持って構成されている。これらの空白部分に、図1のカーソル定義文生成手段で作成した、それぞれ、セレクト項目列、入力表列、セレクト条件が挿入され、カーソル定義文となる。
次に作業変数定義文生成手段106の動作について、図4を用いて説明する。図4は、作業変数定義文生成手段106の動作を表す流れ図である。図1の作業変数定義文生成手段106は、図4の401で出力項目処理情報取得手段104から出力表項目定義情報を受けとる。出力表は一般に1つ以上指定可能だが、処理種別が更新や削除である出力表については、作業変数定義が不要なため、処理種別が挿入である出力表について、402が繰り返される。402の中では、ステップ403から405が行なわれる。403において、出力表のレコード型を定義する型定義文を作成する。404において、作業領域変数を403で定義された型で定義する文を作成する。405では、403で作成した型定義文と404で作成した変数定義文を作業変数定義スケルトンの対応する挿入位置に挿入する。406ステップでは、402の繰り返しによって完成した作業変数定義文列を出力し、図1のプログラム自動生成手段109に渡す。
図8に作業変数定義スケルトンの構成例を示す。図8を参照すると、作業変数定義スケルトン801は、型定義文挿入位置802と変数定義文挿入位置803を持って構成されている。図4の405では、これらの挿入位置にそれぞれ、型定義文、変数定義文を挿入し、作業変数定義文を完成させる。作業変数定義文が複数ある場合には、完成した複数の作業変数定義文をまとめて作業変数定義文列とする。
次に出力処理文生成手段107の動作について、図5を用いて説明する。図5は、出力処理文生成手段107の動作を表す流れ図である。図1の出力処理文生成手段107は、図5の501で出力項目処理情報取得手段104から出力表項目定義情報と出力表処理定義情報を受けとる。出力表は一般に1つ以上指定可能なので、全ての出力表について、502が繰り返される。503において、501で受け取った出力表処理定義情報のうち、処理条件情報から処理条件文が作成される。504では、501で受け取った出力表処理定義情報のうち、処理種別情報が検査され、その値によって以後の処理が分岐する。処理種別情報が挿入の場合には、ステップ505から507が、処理種別情報が更新の場合には、ステップ508から509が、処理種別情報が削除の場合には、ステップ510から511が、実行される。
505では、出力表処理定義情報のうち、各項目の処理式を加工し、項目計算文を作成する。506では、出力表項目定義情報を加工し、挿入文を作成する。507では、503で作成した処理条件文と、505で作成した項目計算文と、506で作成した挿入文を出力処理スケルトンの対応する挿入位置に挿入し、出力処理文を完成する。
508では、出力表処理定義情報のうちの各項目の処理式と、出力表項目定義情報とを加工し、更新文を作成する。509では、503で作成した処理条件文と、508で作成した更新文と出力処理文スケルトンの対応する挿入位置に挿入し、出力処理文を完成する。
510では、出力表項目定義情報を加工し、削除文を作成する。511では、503で作成した処理条件文と、510で作成した削除文を出力処理文スケルトンの対応する挿入位置に挿入し、出力処理文を完成する。なお、出力種別が更新と削除の場合には、出力処理文スケルトンの項目計算文挿入位置には何も挿入しない。
512では、502の繰り返しによって完成した全ての出力処理文列を出力し、図1のプログラム自動生成手段109に渡す。
図9(a)に出力処理文スケルトンの構成例を示す。図9(a)を参照すると、出力処理文スケルトン901は、処理条件文挿入位置902と項目計算文列挿入位置903と出力文挿入位置904を持って構成されている。図5の507、509、511では、これらの挿入位置にそれぞれ、処理条件文、項目計算文、挿入文/更新文/削除文を挿入し、出力処理文を完成させる。図9(a)を参照すると、処理条件文挿入位置902 に挿入された処理条件がif文の条件節になっており、この条件が満足する場合だけ、項目計算文挿入位置903に挿入された出力項目の計算処理と出力文挿入位置904に挿入された出力表への出力処理が実行されることがわかる。
図9(b)から図9(d)に図9(a)の出力文挿入位置904に挿入される、挿入文、更新文、削除文のPL/SQL言語におけるテンプレートの例をそれぞれ示す。図9(b)を参照すると、処理種別が挿入の場合、出力表項目定義情報から、出力表の名前を取り出して<<出力表名>>に代入し、項目の名前を取り出して、”,”でつないで項目名のリストを作成し、<<項目名リスト>>に代入し、項目の名前を取り出し、これをもとに、ある決まった方法で変数名を作成し、”,”でつないで変数名のリストを作成、<<変数名リスト>>に代入することで、挿入文を作成する。
図9(c)を参照すると、処理種別が更新の場合、出力表項目定義情報から、出力表の名前を取り出して<<出力表名>>に代入し、出力表処理定義情報から処理式を取り出して、”,”でつないで更新文リストを作成し、<<更新文リスト>>に代入し、出力表処理定義情報から更新条件を取り出して<<更新条件>>に代入することで、更新文を作成する。
図9(d)を参照すると、処理種別が削除の場合、出力表項目定義情報から、出力表の名前を取り出して<<出力表名>>に代入し、出力表処理定義情報から削除条件を取り出して<<削除条件>>に代入することで、削除文を作成する。
次に図1のプログラム自動合成手段109の動作について、図10と図6を用いて説明する。図10は既に説明したようにプログラムスケルトンの構成例を示した図である。
図6は、プログラム自動合成手段109の動作を表す流れ図である。プログラム自動合成手段109は、プログラムスケルトン108のうち、プログラムの断片の挿入位置に、仕様から作成したプログラムの断片を挿入することによりプログラムを完成させるものである。図6を参照すると、まず601ステップで、図1のプログラムスケルトン108を取り出す。602では、プログラムカスタマイズ情報とカーソル定義文と作業変数定義文列と出力処理文列を、それぞれ、図1のプログラムスケルトンカスタマイズ情報取得手段102、カーソル定義文生成手段105、作業変数定義文生成手段106、出力処理文生成手段107から受けとる。ステップ603では、602で受けとったカーソル定義文をプログラムスケルトンのカーソル定義文挿入位置に挿入する。604では、602で受けとった作業変数定義文列をプログラムスケルトンの作業変数定義文列挿入位置に挿入する。605では、602で受けとった出力処理文列をプログラムスケルトンの出力処理文列挿入位置に挿入する。606では、602で受けとったプログラム名をプログラムスケルトンのプログラム名挿入位置に挿入し、プログラムスケルトンカスタマイズ情報を、名前で対応が示された挿入位置に挿入する。図10のプログラムスケルトンでは、" 初期処理" と" 終了処理" がこれに当たる。ただし、仕様の記述とプログラムスケルトンが対応する限り、いくつの挿入位置を設けることも可能である。607では、全てのプログラム断片が挿入され、完成したプログラムを出力する。
以上により、仕様からプログラムを自動的に作成し、出力できる。
なお、本説明では、カーソル定義スケルトン、作業変数定義スケルトン、出力処理文スケルトン、プログラムスケルトンは、PL/SQL言語に従って記述し、説明しているが、他のプログラミング言語のプログラムを自動生成する場合には、生成するプログラミング言語に従ったスケルトンを用意することで、他のプログラミング言語のプログラムを生成することが可能である。
また、図3、図4、図5、図6の処理流れ図において、横に並列して記述されている部分は、その間の処理順序がどのような順序であっても良いことを表している。例えば、図3において、302と303と304は、この順序で処理しても良いし、304、303、302の順序で処理しても良いし、あるいは、これらを合わせて一緒に処理しても良いことを表している。
このように、本実施の形態では、プログラム開発者は、仕様として、プログラム名と入力表項目定義とセレクト項目定義と出力表項目定義と出力表項目計算処理定義とセレクト条件定義を個別仕様、プログラムカスタマイズ情報を共通処理仕様として指定するだけで、データ処理プログラムを自動生成させることができる。したがって、従来、プログラミング工程において混入していたミスを無くすことができ、またプログラム開発の生産性も大幅に向上させることができる。
[第4の実施の形態]
次に本発明の第4の実施の形態について、第3の実施の形態との相違点を中心に説明する。
第3の実施の形態において、図2の仕様201は、プログラム名202と入力表項目定義203とセレクト項目定義204と出力表項目定義205と出力表項目計算処理206とセレクト条件207とプログラムカスタマイズ情報208から構成されていた。第4の実施の形態では、このうち、セレクト項目定義204を持たずに構成される。すなわち、図11に示したように、プログラム名1102と入力表項目定義1103と出力表項目定義1104と出力表処理定義1105とセレクト条件定義1106と(以上、個別仕様)、プログラムカスタマイズ情報1107(共通処理仕様)とから構成されている。
第4の実施の形態では、図1の仕様入力手段101は、図11のような構成を持つ仕様を入力し、プログラムスケルトンカスタマイズ情報取得手段102とカーソル定義情報取得手段103と出力項目処理情報取得手段104に渡す。第4の実施の形態における図1のカーソル定義情報取得手段103は、仕様入力手段101から渡された仕様情報から、入力表項目定義1103と出力表処理定義1105とセレクト条件定義1106に対応する部分を取り出し、カーソル定義文生成手段105に渡す。
次に第4の実施の形態におけるカーソル定義文生成手段105の詳細な処理を図12に示す。図12の1201では、カーソル定義情報取得手段103から入力表項目定義情報とセレクト条件定義情報と出力表処理定義情報をカーソル定義情報として受けとる。1202では、入力表項目定義情報と出力表処理定義情報から、図13に示すようにして、セレクト項目定義情報を作成する。以後は、図3に示した第3の実施の形態におけるカーソル定義文生成手段105の処理方式と同一である。
図13を参照すると、1301でまず、セレクト表列とセレクト項目列を空とする。1302では、全ての入力表<<表>>の全ての項目<<項目>>について1303から1306を繰り返す。1303では、<<表>>と<<項目>>の組が、つまり注目している入力表の項目が、出力表処理定義内の処理条件または処理式または更新/削除条件で使用されているかどうかをテストしている。使用されていない場合には次の繰り返し要素に移る。使用されている場合には、1304で<<表>>と<<項目>>の組をセレクト項目列に追加する。次いで1305で<<表>>がセレクト表列内にあるかどうかをテストしている。既にあった場合には、次の繰り返し要素に移る。無い場合には、1306で<<表>>をセレクト表列に追加する。全ての入力表の全ての項目について以上を繰り返した後、1307でセレクト表列とセレクト項目列を合わせてセレクト項目定義情報として出力する。
以上により、本発明の第3の実施の形態におけるセレクト項目定義情報を自動的に作成することができた。したがって、図12の1203から1207の処理において、第3の実施の形態における図3と同一の動作でカーソル定義文を作成することができる。
他の構成要素の動作は第3の実施の形態と同一である。
本実施の形態では、利用者は仕様内にセレクト項目情報を指定することなく、第3の実施の形態と同じプログラムを自動生成ことができるため、第3の実施の形態と比較して、より容易に仕様を作成することができる、という効果がある。
[第5の実施の形態]
次に本発明の第5の実施の形態について第3の実施の形態との相違点を中心に説明する。
図14に本発明の第5の実施の形態における構成図を示す。図14を図1と比較すると、プログラムスケルトンを一つ含む図1のプログラムスケルトン108の代わりにプログラムスケルトンを1種類以上いくつでも保持できるプログラムスケルトンライブラリ1411を持ち、プログラムスケルトン特定情報取得手段1404とプログラムスケルトン選択手段1412が追加されている。
仕様1401は、図1の仕様1と比較して、プログラムスケルトン特定情報を合わせ持って構成される。この仕様の構成を図15に示す。図15を参照すると、仕様1501は、プログラム名1502と入力表項目定義1503とセレクト項目定義1504と出力表項目定義1505と出力表処理定義1506とセレクト条件定義1507と(以上、個別仕様)、プログラムカスタマイズ情報1509(共通処理仕様)と、プログラムスケルトン特定情報1508とから構成されている。プログラムスケルトン特定情報1508は、個別仕様および共通処理仕様の何れに含まれていても良い。
図14の仕様入力手段1403は、図15のような構成を持つ仕様を入力し、プログラムスケルトン特定情報取得手段1404と、スケルトンカスタマイズ情報取得手段1405と、カーソル定義情報取得手段1406と、出力項目処理情報取得手段1407に渡す。図14のプログラムスケルトン特定情報取得手段1404は、仕様入力手段1403で入力された仕様からプログラムスケルトン特定情報を取り出し、プログラムスケルトン選択手段1412に渡す。プログラムスケルトン選択手段1412は、プログラムスケルトン特定情報を用いて特定されたプログラムスケルトンをプログラムスケルトンライブラリ1411から取り出し、このプログラムスケルトンをプログラム自動合成手段1413に渡す。プログラムスケルトン特定情報を用いてプログラムが特定できない場合には、仕様のエラーとして利用者にその旨通知する。プログラム自動合成手段1413は、プログラムスケルトン選択手段1412から受けとったプログラムスケルトン中の、プログラム断片の挿入位置に、プログラムスケルトンカスタマイズ情報取得手段1405から受け取ったプログラム名とプログラムカスタマイズ情報と、カーソル定義文生成手段1408から受け取ったカーソル定義文と、作業変数定義文生成手段1409から受け取った作業変数定義文列と、出力処理文生成手段1410から受け取った出力処理文列とを、第3の実施形態と同一の方式で挿入し、プログラムを完成して出力する。
他の構成要素の動作は第3の実施の形態と同一である。
本実施の形態では、様々な処理形態を実装したプログラムスケルトンを複数用意することにより、様々なデータ処理プログラムを自動生成することができる。例えば、複数のプログラミング言語によるプログラムや、異なるアルゴリズムに基づくプログラム、異なる異常処理方式に基づくプログラムを自動生成できる。より広範なプログラムを自動生成できるため、第3の実施の形態と比較して適用範囲が広くなる、という効果がある。
[第6の実施の形態]
次に本発明の第6の実施の形態について第3の実施の形態との相違点を中心に説明する。
本実施の形態では、図1の仕様入力手段101が仕様を入力する際にデータベース定義情報を参照して仕様を入力する点が第3の実施の形態と異なる。なお、データベース定義情報は、自動生成しようとするデータ処理プログラムが処理の対象とするデータベースの定義情報であり、図1には図示しない記憶部に格納されており、仕様入力手段101によって参照可能になっている。図16に第6の実施の形態における図1の仕様入力手段101の処理の流れ図を示す。
図16を参照すると、図1の仕様入力手段101は、1601と1602でまず、処理で使用する入力表と出力表の名前だけを取得する。次いで、1603と1604とで、それぞれ、入力表と出力表の名前からデータベース定義情報を検索し、該当する入力表と出力表の項目定義情報を取得する。項目定義情報には、項目名、型、項目へのコメント等がある。1605では、1603と1604で取得した入力表と出力表の項目定義情報を画面上に提示する。1606では、1605で提示した入力表と出力表の項目定義情報を画面上で仕様入力者に利用させることにより、プログラム名、セレクト項目定義、出力表処理定義、セレクト条件定義、プログラムカスタマイズ情報を指定させ、取得する。入力表項目定義と出力表項目定義は、仕様入力手段101がデータベース定義情報から検索したものが使用されるため、利用者は作成する必要はない。なお、第4の実施の形態に適用する場合には、セレクト項目定義の作成は不要である。
なお、図16の1605と1606で入力表と出力表の項目定義情報を仕様入力者に提示し、これを利用させることによって、プログラム名、セレクト項目定義、出力表処理定義、セレクト条件定義、プログラムカスタマイズ情報を指定させ、取得する方法としては、以下の(1)と(2)の二種類がある。
(1)入力表と出力表の名前と各項目の項目名と型をマトリクスの一つの軸に沿って並べ、セレクト条件定義とプログラムカスタマイズ情報と出力表の各項目の名前および型をマトリクスの他の軸に沿って並べ、仕様内のセレクト項目定義とセレクト条件定義とプログラムカスタマイズ情報と出力表処理定義の指定の際に、入力表の各項目の情報を参照する時、マトリクスの対応するセルに記号をつけることによって、入力項目の値を参照可能とする。
(2)入力表と出力表の名前と各項目の項目名、型を一覧表の形式で画面上に表示し、仕様入力者がセレクト項目定義とセレクト条件定義とプログラムカスタマイズ情報と出力表処理定義を指定する際に、画面上の表示領域の表名や項目名の上をマウスでクリックすることにより、該当する項目名や表名を文字情報として指定の領域に展開することで、表名や項目名を再度入力することなく仕様を入力可能とする。
図1の仕様1において、図2の入力表項目定義203および出力表項目定義205については、データベースの表定義と同一の情報であり、データベースを作成する際に既に作成され、データベース内に格納されていることが普通である。本実施の形態では、処理の仕様として、改めて入力表項目定義および出力表項目定義を利用者に指定させるのではなく、利用者には、入力表と出力表の名前だけを指定させ、入力表項目定義と出力表項目定義はデータベース内に既に格納されている情報から自動的に検索し、取得することにより、利用者の仕様記述のための手間を削減し、また、人手で指定することによるミスを削減することができる、という効果がある。
[第7の実施の形態]
次に本発明の第7の実施の形態について第3の実施の形態との相違点を中心に説明する。
本実施の形態では、図1のプログラムスケルトン108は、デバグ用トレース文をその挿入箇所が明確に識別できるように例えば特殊な記号で囲んで挿入されている。また、仕様1には、デバグ用のプログラムを生成するのか、本番用のプログラムを生成するのかの別を示す生成プログラム識別情報が、個別仕様および共通処理仕様の何れかに含まれている。この生成プログラム識別情報は、他の仕様情報と一緒に仕様入力手段101により入力され、プログラム自動合成手段109に渡される。プログラム自動合成手段109は、この生成プログラム識別情報に従って、プログラムスケルトン108中のデバグ用トレース文を取り去るか、残すかを切りわける。即ち、本番用のプログラムを生成する場合には、プログラムスケルトン108中の特殊な記号で囲まれたデバグ用トレース文をその特殊な記号とともに取り去り、デバグ用のプログラムを生成する場合には、プログラムスケルトン108中の特殊な記号で囲まれたデバグ用トレース文をそのまま残す。このとき、特殊な記号は取り去っても良く、あっても支障ない場合には残しておいても良い。
本実施の形態によれば、仕様1中の生成プログラム識別情報によって、デバグ用のプログラムの生成と本番用のプログラムの生成とを切り替えることができるという効果がある。
[第8の実施の形態]
次に本発明の第8の実施の形態について図18を用いて説明する。図18を参照すると、本発明の第8の実施の形態は、CPU、主記憶、各種の入出力装置を含むコンピュータ1800と、記録媒体1803とから構成される。なお、仕様1801は第3の実施形態の個別仕様1Aおよび共通処理仕様1Bをあわせた仕様に相当し、生成プログラム1802は生成プログラム2に相当する。
記録媒体1803は、磁気ディスク、半導体メモリ、CD−ROMその他の機械読み取り可能な記録媒体であり、データ処理プログラム自動生成プログラムが記録されている。記録媒体1803に記録されたデータ処理プログラム自動生成プログラムは、コンピュータ1800の立ち上げ時などにコンピュータ1800に読み込まれ、コンピュータ1800の動作を制御することにより、コンピュータ1800上に、仕様入力手段1804と、プログラムスケルトンカスタマイズ情報取得手段1805と、カーソル定義情報取得手段1806と、出力項目処理情報取得手段1807と、カーソル定義文生成手段1808と、作業変数定義文生成手段1809と、出力処理生成手段1810と、プログラムスケルトン1811と、プログラム自動合成手段1812とを実現する。これらの機能部は図1に示した同一名称のものと同じ機能を果たす。
なお、本説明では、第3の実施の形態に適用した場合について説明したが、他の実施の形態についても同様に、対応するデータ処理プログラム自動生成プログラムを記録媒体1803に記録しておくことができる。
本発明の活用例として、バッチ系プログラムの自動生成ツールを構築し、バッチ系システム開発の生産性および品質および保守性を向上することが可能である。また、バッチ系に限らず、帳票系や画面系プログラムにも同様の活用ができる。いずれにしろ共通処理は存在し、また共通処理中に重複する部分が多いからである。
1A…個別仕様
1B…共通処理仕様
2…生成プログラム
10…データ処理プログラム自動生成システム
101…仕様入力手段
1011…個別仕様入力部
1012…共通処理仕様入力部
1013…展開部

Claims (7)

  1. データベースの表のデータを参照し、表中に新たなデータを挿入したり、表中のデータを更新したり、表中のデータを削除したりするプログラムにおいて、前段処理部分と繰り返し処理部分と後段処理部分を備えたプログラム全体を、プログラムスケルトンと仕様とに基づいて、自動的に生成するデータ処理プログラム自動生成システムであって、
    作成するデータ処理プログラム毎に異なる仕様である個別仕様を入力する機能と、作成するデータ処理プログラムが属するグループ毎に異なる仕様である共通処理仕様を入力する機能とを有する仕様入力手段を備え、
    前記プログラムスケルトンは、仕様の如何に関わらず固定の部分のプログラムとして、前段処理部分と、前記前段処理部分に続く繰り返し処理部分と、前記繰り返し処理部分に続く後段処理部分を含み、仕様によって変化する部分のプログラム断片の挿入位置として、前段処理部分内にプログラム名挿入位置と、カーソル定義文挿入位置と、作業変数定義文列挿入位置と、初期処理挿入位置を含み、繰り返し処理部分内に出力処理文列挿入位置を含み、後段処理部分に終了処理位置を含んで構成され、
    前記個別仕様は、生成したプログラムに付与するプログラム名と、入力表の名前とその入力表の各項目の名前および型の情報を含む入力表項目定義と、セレクト文内に定義する入力表項目の名前を含むセレクト項目定義と、出力表の名前とその出力表の各項目の名前および型の情報を含む出力表項目定義と、各出力表の処理を行う条件を示す処理条件と、挿入、更新、削除の別を示す処理種別と、処理種別が更新と削除の場合に更新、削除するための条件を示す更新、削除条件と、処理種別が挿入と更新の場合に各項目の値を計算する処理式とを含む出力表処理定義と、入力表からデータを取得する際の条件を含むセレクト条件定義を含んで構成され、
    前記共通処理仕様は、プログラムスケルトンをカスタマイズするためのその他の情報を含むプログラムカスタマイズ情報を含んで構成され、
    且つ、
    前記プログラムスケルトンを、複数種類格納するための記憶装置に格納されたプログラムスケルトンライブラリと、
    前記仕様入力手段で入力された個別仕様から前記プログラム名を取り出し、前記仕様入力手段で入力された共通処理仕様から前記プログラムカスタマイズ情報を取り出すプログラムスケルトンカスタマイズ情報取得手段と、
    前記仕様入力手段で入力された個別仕様から入力表項目定義とセレクト項目定義とセレクト条件定義を取り出すカーソル定義情報取得手段と、
    前記仕様入力手段で入力された個別仕様から出力表項目定義と出力表処理定義を取り出す出力項目処理情報取得手段と、
    前記カーソル定義情報取得手段で取得された情報からカーソル定義文を生成するカーソル定義文生成手段であって、入力表項目定義のうちセレクト項目定義内に指定された項目名だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト項目列を生成し、入力表項目定義内に指定された入力表のうち、セレクト項目定義で使用されている入力表の名前だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト表列を生成し、セレクト条件定義を、生成するプログラミング言語の構文に従った形式に加工してセレクト条件文を生成し、セレクト項目列挿入位置、入力表列挿入位置およびセレクト条件挿入位置を持つ、生成するプログラミング言語に依存したカーソル定義スケルトンの該当挿入位置に、前記生成したセレクト項目列、セレクト表列およびセレクト条件を挿入してカーソル定義文を生成するカーソル定義文生成手段と、
    前記出力項目処理情報取得手段で取得された出力表項目定義のうち、処理種別が挿入である出力表に対応するものから作業変数定義文を生成する作業変数定義文生成手段であって、処理種別が挿入である出力表について、その出力表のレコード型を定義する型定義文を生成し、その定義された型で作業領域変数を定義する変数定義文を生成し、型定義文挿入位置および変数定義文挿入位置を持つ作業変数定義スケルトンの該当挿入位置に、前記生成した型定義文および変数定義文を挿入して作業変数定義文を生成する作業変数定義文生成手段と、
    前記出力項目処理情報取得手段で取得された出力表項目定義と出力表処理定義から、処理種別が挿入の場合は処理条件文と項目計算文と挿入文とを含む出力処理文を生成し、処理種別が更新の場合には処理条件文と更新文とを含む出力処理文を生成し、処理種別が削除の場合には処理条件文と削除文とを含む出力処理文を生成する出力処理文生成手段であって、出力表処理定義の処理条件から処理条件文を生成し、出力表処理定義の処理種別が挿入、更新、削除の何れであるかを判別し、処理種別が挿入の場合、出力表処理定義の各項目の処理式から項目計算文を生成し、出力表項目定義から出力表名、項目名リストおよび変数名リストを含む挿入文を生成し、処理条件文挿入位置、項目計算文挿入位置および出力文挿入位置を持つ出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、項目計算文挿入位置に前記生成した項目計算文を、出力文挿入位置に前記生成した挿入文をそれぞれ挿入して出力処理文を生成し、処理種別が更新の場合、出力表処理定義の各項目の処理式と出力表項目定義とから出力表名、更新文リストおよび更新条件を含む更新文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した更新文をそれぞれ挿入して出力処理文を生成し、処理種別が削除の場合、出力表項目定義から出力表名および削除条件を含む削除文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した削除文をそれぞれ挿入して出力処理文を生成する出力処理文生成手段と、
    前記プログラムスケルトンライブラリから利用者の指定した1つのプログラムスケルトンを選択するプログラムスケルトン選択手段と、
    前記データ処理プログラムのうち、前記プログラムスケルトン選択手段で選択されたプログラムスケルトンの該当挿入位置に、前記プログラムスケルトンカスタマイズ情報取得手段で取得したプログラム名とプログラムカスタマイズ情報と、前記カーソル定義文生成手段で生成したカーソル定義文と、前記作業変数定義文生成手段で生成した作業変数定義文と、前記出力処理文生成手段で生成した出力処理文とを挿入することによってプログラムを完成させ、出力するプログラム自動合成手段とを備えることを特徴とするデータ処理プログラム自動生成システム。
  2. データベースの表のデータを参照し、表中に新たなデータを挿入したり、表中のデータを更新したり、表中のデータを削除したりするプログラムにおいて、前段処理部分と繰り返し処理部分と後段処理部分を備えたプログラム全体を、プログラムスケルトンと仕様とに基づいて、自動的に生成するデータ処理プログラム自動生成システムであって、
    作成するデータ処理プログラム毎に異なる仕様である個別仕様を入力する機能と、作成するデータ処理プログラムが属するグループ毎に異なる仕様である共通処理仕様を入力する機能とを有する仕様入力手段を備え、
    前記プログラムスケルトンは、仕様の如何に関わらず固定の部分のプログラムとして、前段処理部分と、前記前段処理部分に続く繰り返し処理部分と、前記繰り返し処理部分に続く後段処理部分を含み、仕様によって変化する部分のプログラム断片の挿入位置として、前段処理部分内にプログラム名挿入位置と、カーソル定義文挿入位置と、作業変数定義文列挿入位置と、初期処理挿入位置を含み、繰り返し処理部分内に出力処理文列挿入位置を含み、後段処理部分に終了処理位置を含んで構成され、
    前記個別仕様は、生成したプログラムに付与するプログラム名と、入力表の名前とその入力表の各項目の名前および型の情報を含む入力表項目定義と、出力表の名前とその出力表の各項目の名前および型の情報を含む出力表項目定義と、各出力表の処理を行う条件を示す処理条件と、挿入、更新、削除の別を示す処理種別と、処理種別が更新と削除の場合に更新、削除するための条件を示す更新、削除条件と、処理種別が挿入と更新の場合に各項目の値を計算する処理式とを含む出力表処理定義と、入力表からデータを取得する際の条件を含むセレクト条件定義を含んで構成され、
    前記共通処理仕様は、プログラムスケルトンをカスタマイズするためのその他の情報を含むプログラムカスタマイズ情報を含んで構成され、
    且つ、
    前記プログラムスケルトンを、複数種類格納するための記憶装置に格納されたプログラムスケルトンライブラリと、
    前記仕様入力手段で入力された個別仕様から前記プログラム名を取り出し、前記仕様入力手段で入力された共通処理仕様から前記プログラムカスタマイズ情報を取り出すプログラムスケルトンカスタマイズ情報取得手段と、
    前記仕様入力手段で入力された個別仕様から入力表項目定義とセレクト条件定義と出力表処理定義を取り出すカーソル定義情報取得手段と、
    前記仕様入力手段で入力された個別仕様から出力表項目定義と出力表処理定義を取り出す出力項目処理情報取得手段と、
    前記カーソル定義情報取得手段で取得された入力表項目定義とセレクト条件定義と出力表処理定義とからセレクト項目定義を作成し、該作成したセレクト項目定義と前記カーソル定義情報取得手段で取得されたセレクト条件定義とからカーソル定義文を生成するカーソル定義文生成手段であって、入力表項目定義と出力表処理定義から、セレクト文内に定義する入力表項目の名前を含むセレクト項目定義を生成し、入力表項目定義のうちセレクト項目定義内に指定された項目名だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト項目列を生成し、入力表項目定義内に指定された入力表のうち、セレクト項目定義で使用されている入力表の名前だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト表列を生成し、セレクト条件定義を、生成するプログラミング言語の構文に従った形式に加工してセレクト条件文を生成し、セレクト項目列挿入位置、入力表列挿入位置およびセレクト条件挿入位置を持つ、生成するプログラミング言語に依存したカーソル定義スケルトンの該当挿入位置に、前記生成したセレクト項目列、セレクト表列およびセレクト条件を挿入してカーソル定義文を生成するカーソル定義文生成手段と、
    前記出力項目処理情報取得手段で取得された出力表項目定義のうち、処理種別が挿入である出力表に対応するものから作業変数定義文を生成する作業変数定義文生成手段であって、処理種別が挿入である出力表について、その出力表のレコード型を定義する型定義文を生成し、その定義された型で作業領域変数を定義する変数定義文を生成し、型定義文挿入位置および変数定義文挿入位置を持つ作業変数定義スケルトンの該当挿入位置に、前記生成した型定義文および変数定義文を挿入して作業変数定義文を生成する作業変数定義文生成手段と、
    前記出力項目処理情報取得手段で取得された出力表項目定義と出力表処理定義から、処理種別が挿入の場合は処理条件文と項目計算文と挿入文とを含む出力処理文を生成し、処理種別が更新の場合には処理条件文と更新文とを含む出力処理文を生成し、処理種別が削除の場合には処理条件文と削除文とを含む出力処理文を生成する出力処理文生成手段であって、出力表処理定義の処理条件から処理条件文を生成し、出力表処理定義の処理種別が挿入、更新、削除の何れであるかを判別し、処理種別が挿入の場合、出力表処理定義の各項目の処理式から項目計算文を生成し、出力表項目定義から出力表名、項目名リストおよび変数名リストを含む挿入文を生成し、処理条件文挿入位置、項目計算文挿入位置および出力文挿入位置を持つ出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、項目計算文挿入位置に前記生成した項目計算文を、出力文挿入位置に前記生成した挿入文をそれぞれ挿入して出力処理文を生成し、処理種別が更新の場合、出力表処理定義の各項目の処理式と出力表項目定義とから出力表名、更新文リストおよび更新条件を含む更新文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した更新文をそれぞれ挿入して出力処理文を生成し、処理種別が削除の場合、出力表項目定義から出力表名および削除条件を含む削除文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した削除文をそれぞれ挿入して出力処理文を生成する出力処理文生成手段と、
    前記プログラムスケルトンライブラリから利用者の指定した1つのプログラムスケルトンを選択するプログラムスケルトン選択手段と、
    前記データ処理プログラムのうち、前記プログラムスケルトン選択手段で選択されたプログラムスケルトンの該当挿入位置に、前記プログラムスケルトンカスタマイズ情報取得手段で取得したプログラム名とプログラムカスタマイズ情報と、前記カーソル定義文生成手段で生成したカーソル定義文と、前記作業変数定義文生成手段で生成した作業変数定義文と、前記出力処理文生成手段で生成した出力処理文とを挿入することによってプログラムを完成させ、出力するプログラム自動合成手段とを備えることを特徴とするデータ処理プログラム自動生成システム。
  3. 前記共通処理仕様は、キーワードを付与した共通処理記述と、該共通処理記述を挿入する箇所に前記キーワードを挿入してある複数の処理記述とを含み、
    前記仕様入力手段は、前記複数の処理記述中における前記キーワードの挿入位置に前記共通処理記述を展開する展開手段を備えることを特徴とする請求項1または2に記載のデータ処理プログラム自動生成システム。
  4. 仕様入力手段とプログラムスケルトンカスタマイズ情報取得手段とカーソル定義情報取得手段と出力項目処理情報取得手段とカーソル定義文生成手段と作業変数定義文生成手段と出力処理文生成手段とプログラムスケルトン選択手段とプログラム自動合成手段とを備え、データベースの表のデータを参照し、表中に新たなデータを挿入したり、表中のデータを更新したり、表中のデータを削除したりするプログラムにおいて、前段処理部分と繰り返し処理部分と後段処理部分を備えたプログラム全体を、プログラムスケルトンと仕様とに基づいて、自動的に生成するデータ処理プログラム自動生成システムが実行する方法であって、
    前記プログラムスケルトンは、仕様の如何に関わらず固定の部分のプログラムとして、前段処理部分と、前記前段処理部分に続く繰り返し処理部分と、前記繰り返し処理部分に続く後段処理部分を含み、仕様によって変化する部分のプログラム断片の挿入位置として、前段処理部分内にプログラム名挿入位置と、カーソル定義文挿入位置と、作業変数定義文列挿入位置と、初期処理挿入位置を含み、繰り返し処理部分内に出力処理文列挿入位置を含み、後段処理部分に終了処理位置を含んで構成され、
    前記仕様入力手段が、作成するデータ処理プログラム毎に異なる仕様である個別仕様と、作成するデータ処理プログラムが属するグループ毎に異なる仕様である共通処理仕様とを入力し、
    前記個別仕様は、生成したプログラムに付与するプログラム名と、入力表の名前とその入力表の各項目の名前および型の情報を含む入力表項目定義と、セレクト文内に定義する入力表項目の名前を含むセレクト項目定義と、出力表の名前とその出力表の各項目の名前および型の情報を含む出力表項目定義と、各出力表の処理を行う条件を示す処理条件と、挿入、更新、削除の別を示す処理種別と、処理種別が更新と削除の場合に更新、削除するための条件を示す更新、削除条件と、処理種別が挿入と更新の場合に各項目の値を計算する処理式とを含む出力表処理定義と、入力表からデータを取得する際の条件を含むセレクト条件定義を含んで構成され、
    前記共通処理仕様は、プログラムスケルトンをカスタマイズするためのその他の情報を含むプログラムカスタマイズ情報を含んで構成され、
    記プログラムスケルトンカスタマイズ情報取得手段が、前記仕様入力手段で入力された個別仕様から前記プログラム名を取り出し、前記仕様入力手段で入力された共通処理仕様から前記プログラムカスタマイズ情報を取り出し、
    前記カーソル定義情報取得手段が、前記仕様入力手段で入力された個別仕様から入力表項目定義とセレクト項目定義とセレクト条件定義を取り出し、
    前記出力項目処理情報取得手段が、前記仕様入力手段で入力された個別仕様から出力表項目定義と出力表処理定義を取り出し、
    前記カーソル定義文生成手段が、入力表項目定義のうちセレクト項目定義内に指定された項目名だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト項目列を生成し、入力表項目定義内に指定された入力表のうち、セレクト項目定義で使用されている入力表の名前だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト表列を生成し、セレクト条件定義を、生成するプログラミング言語の構文に従った形式に加工してセレクト条件文を生成し、セレクト項目列挿入位置、入力表列挿入位置およびセレクト条件挿入位置を持つ、生成するプログラミング言語に依存したカーソル定義スケルトンの該当挿入位置に、前記生成したセレクト項目列、セレクト表列およびセレクト条件を挿入してカーソル定義文を生成し、
    前記作業変数定義文生成手段が、前記出力項目処理情報取得手段で取得された出力表項目定義のうち、処理種別が挿入である出力表に対応するものから作業変数定義文を生成し、該生成では、処理種別が挿入である出力表について、その出力表のレコード型を定義する型定義文を生成し、その定義された型で作業領域変数を定義する変数定義文を生成し、型定義文挿入位置および変数定義文挿入位置を持つ作業変数定義スケルトンの該当挿入位置に、前記生成した型定義文および変数定義文を挿入して作業変数定義文を生成し、
    前記出力処理文生成手段が、前記出力項目処理情報取得手段で取得された出力表項目定義と出力表処理定義から、処理種別が挿入の場合は処理条件文と項目計算文と挿入文とを含む出力処理文を生成し、処理種別が更新の場合には処理条件文と更新文とを含む出力処理文を生成し、処理種別が削除の場合には処理条件文と削除文とを含む出力処理文を生成し、前記生成では、出力表処理定義の処理条件から処理条件文を生成し、出力表処理定義の処理種別が挿入、更新、削除の何れであるかを判別し、処理種別が挿入の場合、出力表処理定義の各項目の処理式から項目計算文を生成し、出力表項目定義から出力表名、項目名リストおよび変数名リストを含む挿入文を生成し、処理条件文挿入位置、項目計算文挿入位置および出力文挿入位置を持つ出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、項目計算文挿入位置に前記生成した項目計算文を、出力文挿入位置に前記生成した挿入文をそれぞれ挿入して出力処理文を生成し、処理種別が更新の場合、出力表処理定義の各項目の処理式と出力表項目定義とから出力表名、更新文リストおよび更新条件を含む更新文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した更新文をそれぞれ挿入して出力処理文を生成し、処理種別が削除の場合、出力表項目定義から出力表名および削除条件を含む削除文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した削除文をそれぞれ挿入して出力処理文を生成し、
    前記プログラムスケルトン選択手段が、前記プログラムスケルトンを、複数種類格納するための記憶装置に格納されたプログラムスケルトンライブラリから利用者の指定した1つのプログラムスケルトンを選択し、
    前記プログラム自動合成手段が、前記データ処理プログラムのうち、前記プログラムスケルトン選択手段で選択されたプログラムスケルトンの該当挿入位置に、前記プログラムスケルトンカスタマイズ情報取得手段で取得したプログラム名とプログラムカスタマイズ情報と、前記カーソル定義文生成手段で生成したカーソル定義文と、前記作業変数定義文生成手段で生成した作業変数定義文と、前記出力処理文生成手段で生成した出力処理文とを挿入することによってプログラムを完成させ、出力する
    データ処理プログラム自動生成方法。
  5. 仕様入力手段とプログラムスケルトンカスタマイズ情報取得手段とカーソル定義情報取得手段と出力項目処理情報取得手段とカーソル定義文生成手段と作業変数定義文生成手段と出力処理文生成手段とプログラムスケルトン選択手段とプログラム自動合成手段とを備え、データベースの表のデータを参照し、表中に新たなデータを挿入したり、表中のデータを更新したり、表中のデータを削除したりするプログラムにおいて、前段処理部分と繰り返し処理部分と後段処理部分を備えたプログラム全体を、プログラムスケルトンと仕様とに基づいて、自動的に生成するデータ処理プログラム自動生成システムが実行するデータ処理プログラム自動生成方法であって、
    前記プログラムスケルトンは、仕様の如何に関わらず固定の部分のプログラムとして、前段処理部分と、前記前段処理部分に続く繰り返し処理部分と、前記繰り返し処理部分に続く後段処理部分を含み、仕様によって変化する部分のプログラム断片の挿入位置として、前段処理部分内にプログラム名挿入位置と、カーソル定義文挿入位置と、作業変数定義文列挿入位置と、初期処理挿入位置を含み、繰り返し処理部分内に出力処理文列挿入位置を含み、後段処理部分に終了処理位置を含んで構成され、
    前記仕様入力手段が、作成するデータ処理プログラム毎に異なる仕様である個別仕様と、作成するデータ処理プログラムが属するグループ毎に異なる仕様である共通処理仕様とを入力し、
    前記個別仕様は、生成したプログラムに付与するプログラム名と、入力表の名前とその入力表の各項目の名前および型の情報を含む入力表項目定義と、出力表の名前とその出力表の各項目の名前および型の情報を含む出力表項目定義と、各出力表の処理を行う条件を示す処理条件と、挿入、更新、削除の別を示す処理種別と、処理種別が更新と削除の場合に更新、削除するための条件を示す更新、削除条件と、処理種別が挿入と更新の場合に各項目の値を計算する処理式とを含む出力表処理定義と、入力表からデータを取得する際の条件を含むセレクト条件定義を含んで構成され、
    前記共通処理仕様は、プログラムスケルトンをカスタマイズするためのその他の情報を含むプログラムカスタマイズ情報を含んで構成され、
    記プログラムスケルトンカスタマイズ情報取得手段が、前記仕様入力手段で入力された個別仕様から前記プログラム名を取り出し、前記仕様入力手段で入力された共通処理仕様から前記プログラムカスタマイズ情報を取り出し、
    前記カーソル定義情報取得手段が、前記仕様入力手段で入力された個別仕様から入力表項目定義とセレクト条件定義と出力表処理定義を取り出し、
    前記出力項目処理情報取得手段が、前記仕様入力手段で入力された個別仕様から出力表項目定義と出力表処理定義を取り出し、
    前記カーソル定義文生成手段が、前記カーソル定義情報取得手段で取得された入力表項目定義とセレクト条件定義と出力表処理定義とからセレクト項目定義を作成し、該作成したセレクト項目定義と前記カーソル定義情報取得手段で取得されたセレクト条件定義とからカーソル定義文を生成し、前記生成では、入力表項目定義と出力表処理定義から、セレクト文内に定義する入力表項目の名前を含むセレクト項目定義を生成し、入力表項目定義のうちセレクト項目定義内に指定された項目名だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト項目列を生成し、入力表項目定義内に指定された入力表のうち、セレクト項目定義で使用されている入力表の名前だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト表列を生成し、セレクト条件定義を、生成するプログラミング言語の構文に従った形式に加工してセレクト条件文を生成し、セレクト項目列挿入位置、入力表列挿入位置およびセレクト条件挿入位置を持つ、生成するプログラミング言語に依存したカーソル定義スケルトンの該当挿入位置に、前記生成したセレクト項目列、セレクト表列およびセレクト条件を挿入してカーソル定義文を生成し、
    前記作業変数定義文生成手段が、前記出力項目処理情報取得手段で取得された出力表項目定義のうち、処理種別が挿入である出力表に対応するものから作業変数定義文を生成し、前記生成では、処理種別が挿入である出力表について、その出力表のレコード型を定義する型定義文を生成し、その定義された型で作業領域変数を定義する変数定義文を生成し、型定義文挿入位置および変数定義文挿入位置を持つ作業変数定義スケルトンの該当挿入位置に、前記生成した型定義文および変数定義文を挿入して作業変数定義文を生成し、
    前記出力処理文生成手段が、前記出力項目処理情報取得手段で取得された出力表項目定義と出力表処理定義から、処理種別が挿入の場合は処理条件文と項目計算文と挿入文とを含む出力処理文を生成し、処理種別が更新の場合には処理条件文と更新文とを含む出力処理文を生成し、処理種別が削除の場合には処理条件文と削除文とを含む出力処理文を生成し、前記生成では、出力表処理定義の処理条件から処理条件文を生成し、出力表処理定義の処理種別が挿入、更新、削除の何れであるかを判別し、処理種別が挿入の場合、出力表処理定義の各項目の処理式から項目計算文を生成し、出力表項目定義から出力表名、項目名リストおよび変数名リストを含む挿入文を生成し、処理条件文挿入位置、項目計算文挿入位置および出力文挿入位置を持つ出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、項目計算文挿入位置に前記生成した項目計算文を、出力文挿入位置に前記生成した挿入文をそれぞれ挿入して出力処理文を生成し、処理種別が更新の場合、出力表処理定義の各項目の処理式と出力表項目定義とから出力表名、更新文リストおよび更新条件を含む更新文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した更新文をそれぞれ挿入して出力処理文を生成し、処理種別が削除の場合、出力表項目定義から出力表名および削除条件を含む削除文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した削除文をそれぞれ挿入して出力処理文を生成し、
    前記プログラムスケルトン選択手段が、前記プログラムスケルトンを、複数種類格納するための記憶装置に格納されたプログラムスケルトンライブラリから利用者の指定した1つのプログラムスケルトンを選択し、
    前記プログラム自動合成手段が、前記データ処理プログラムのうち、前記プログラムスケルトン選択手段で選択されたプログラムスケルトンの該当挿入位置に、前記プログラムスケルトンカスタマイズ情報取得手段で取得したプログラム名とプログラムカスタマイズ情報と、前記カーソル定義文生成手段で生成したカーソル定義文と、前記作業変数定義文生成手段で生成した作業変数定義文と、前記出力処理文生成手段で生成した出力処理文とを挿入することによってプログラムを完成させ、出力する
    データ処理プログラム自動生成方法。
  6. データベースの表のデータを参照し、表中に新たなデータを挿入したり、表中のデータを更新したり、表中のデータを削除したりするプログラムにおいて、前段処理部分と繰り返し処理部分と後段処理部分を備えたプログラム全体を、プログラムスケルトンと仕様とに基づいて、自動的に生成するコンピュータを、
    作成するデータ処理プログラム毎に異なる仕様である個別仕様を入力する機能と、作成するデータ処理プログラムが属するグループ毎に異なる仕様である共通処理仕様を入力する機能とを有する仕様入力手段として機能させ、
    前記プログラムスケルトンは、仕様の如何に関わらず固定の部分のプログラムとして、前段処理部分と、前記前段処理部分に続く繰り返し処理部分と、前記繰り返し処理部分に続く後段処理部分を含み、仕様によって変化する部分のプログラム断片の挿入位置として、前段処理部分内にプログラム名挿入位置と、カーソル定義文挿入位置と、作業変数定義文列挿入位置と、初期処理挿入位置を含み、繰り返し処理部分内に出力処理文列挿入位置を含み、後段処理部分に終了処理位置を含んで構成され、
    前記個別仕様は、生成したプログラムに付与するプログラム名と、入力表の名前とその入力表の各項目の名前および型の情報を含む入力表項目定義と、セレクト文内に定義する入力表項目の名前を含むセレクト項目定義と、出力表の名前とその出力表の各項目の名前および型の情報を含む出力表項目定義と、各出力表の処理を行う条件を示す処理条件と、挿入、更新、削除の別を示す処理種別と、処理種別が更新と削除の場合に更新、削除するための条件を示す更新、削除条件と、処理種別が挿入と更新の場合に各項目の値を計算する処理式とを含む出力表処理定義と、入力表からデータを取得する際の条件を含むセレクト条件定義を含んで構成され、
    前記共通処理仕様は、プログラムスケルトンをカスタマイズするためのその他の情報を含むプログラムカスタマイズ情報を含んで構成され、
    且つ、前記コンピュータを、
    前記仕様入力手段で入力された個別仕様から前記プログラム名を取り出し、前記仕様入力手段で入力された共通処理仕様から前記プログラムカスタマイズ情報を取り出すプログラムスケルトンカスタマイズ情報取得手段と、
    前記仕様入力手段で入力された個別仕様から入力表項目定義とセレクト項目定義とセレクト条件定義を取り出すカーソル定義情報取得手段と、
    前記仕様入力手段で入力された個別仕様から出力表項目定義と出力表処理定義を取り出す出力項目処理情報取得手段と、
    前記カーソル定義情報取得手段で取得された情報からカーソル定義文を生成するカーソル定義文生成手段であって、入力表項目定義のうちセレクト項目定義内に指定された項目名だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト項目列を生成し、入力表項目定義内に指定された入力表のうち、セレクト項目定義で使用されている入力表の名前だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト表列を生成し、セレクト条件定義を、生成するプログラミング言語の構文に従った形式に加工してセレクト条件文を生成し、セレクト項目列挿入位置、入力表列挿入位置およびセレクト条件挿入位置を持つ、生成するプログラミング言語に依存したカーソル定義スケルトンの該当挿入位置に、前記生成したセレクト項目列、セレクト表列およびセレクト条件を挿入してカーソル定義文を生成するカーソル定義文生成手段と、
    前記出力項目処理情報取得手段で取得された出力表項目定義のうち、処理種別が挿入である出力表に対応するものから作業変数定義文を生成する作業変数定義文生成手段であって、処理種別が挿入である出力表について、その出力表のレコード型を定義する型定義文を生成し、その定義された型で作業領域変数を定義する変数定義文を生成し、型定義文挿入位置および変数定義文挿入位置を持つ作業変数定義スケルトンの該当挿入位置に、前記生成した型定義文および変数定義文を挿入して作業変数定義文を生成する作業変数定義文生成手段と、
    前記出力項目処理情報取得手段で取得された出力表項目定義と出力表処理定義から、処理種別が挿入の場合は処理条件文と項目計算文と挿入文とを含む出力処理文を生成し、処理種別が更新の場合には処理条件文と更新文とを含む出力処理文を生成し、処理種別が削除の場合には処理条件文と削除文とを含む出力処理文を生成する出力処理文生成手段であって、出力表処理定義の処理条件から処理条件文を生成し、出力表処理定義の処理種別が挿入、更新、削除の何れであるかを判別し、処理種別が挿入の場合、出力表処理定義の各項目の処理式から項目計算文を生成し、出力表項目定義から出力表名、項目名リストおよび変数名リストを含む挿入文を生成し、処理条件文挿入位置、項目計算文挿入位置および出力文挿入位置を持つ出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、項目計算文挿入位置に前記生成した項目計算文を、出力文挿入位置に前記生成した挿入文をそれぞれ挿入して出力処理文を生成し、処理種別が更新の場合、出力表処理定義の各項目の処理式と出力表項目定義とから出力表名、更新文リストおよび更新条件を含む更新文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した更新文をそれぞれ挿入して出力処理文を生成し、処理種別が削除の場合、出力表項目定義から出力表名および削除条件を含む削除文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した削除文をそれぞれ挿入して出力処理文を生成する出力処理文生成手段と、
    前記プログラムスケルトンを、複数種類格納するための記憶装置に格納されたプログラムスケルトンライブラリから利用者の指定した1つのプログラムスケルトンを選択するプログラムスケルトン選択手段と、
    前記データ処理プログラムのうち、前記プログラムスケルトン選択手段で選択されたプログラムスケルトンの該当挿入位置に、前記プログラムスケルトンカスタマイズ情報取得手段で取得したプログラム名とプログラムカスタマイズ情報と、前記カーソル定義文生成手段で生成したカーソル定義文と、前記作業変数定義文生成手段で生成した作業変数定義文と、前記出力処理文生成手段で生成した出力処理文とを挿入することによってプログラムを完成させ、出力するプログラム自動合成手段と
    して機能させるためのプログラム。
  7. データベースの表のデータを参照し、表中に新たなデータを挿入したり、表中のデータを更新したり、表中のデータを削除したりするプログラムにおいて、前段処理部分と繰り返し処理部分と後段処理部分を備えたプログラム全体を、プログラムスケルトンと仕様とに基づいて、自動的に生成するコンピュータを、
    作成するデータ処理プログラム毎に異なる仕様である個別仕様を入力する機能と、作成するデータ処理プログラムが属するグループ毎に異なる仕様である共通処理仕様を入力する機能とを有する仕様入力手段として機能させ、
    前記プログラムスケルトンは、仕様の如何に関わらず固定の部分のプログラムとして、前段処理部分と、前記前段処理部分に続く繰り返し処理部分と、前記繰り返し処理部分に続く後段処理部分を含み、仕様によって変化する部分のプログラム断片の挿入位置として、前段処理部分内にプログラム名挿入位置と、カーソル定義文挿入位置と、作業変数定義文列挿入位置と、初期処理挿入位置を含み、繰り返し処理部分内に出力処理文列挿入位置を含み、後段処理部分に終了処理位置を含んで構成され、
    前記個別仕様は、生成したプログラムに付与するプログラム名と、入力表の名前とその入力表の各項目の名前および型の情報を含む入力表項目定義と、出力表の名前とその出力表の各項目の名前および型の情報を含む出力表項目定義と、各出力表の処理を行う条件を示す処理条件と、挿入、更新、削除の別を示す処理種別と、処理種別が更新と削除の場合に更新、削除するための条件を示す更新、削除条件と、処理種別が挿入と更新の場合に各項目の値を計算する処理式とを含む出力表処理定義と、入力表からデータを取得する際の条件を含むセレクト条件定義を含んで構成され、
    前記共通処理仕様は、プログラムスケルトンをカスタマイズするためのその他の情報を含むプログラムカスタマイズ情報を含んで構成され、
    且つ、前記コンピュータを、
    前記仕様入力手段で入力された個別仕様から前記プログラム名を取り出し、前記仕様入力手段で入力された共通処理仕様から前記プログラムカスタマイズ情報を取り出すプログラムスケルトンカスタマイズ情報取得手段と、
    前記仕様入力手段で入力された個別仕様から入力表項目定義とセレクト条件定義と出力表処理定義を取り出すカーソル定義情報取得手段と、
    前記仕様入力手段で入力された個別仕様から出力表項目定義と出力表処理定義を取り出す出力項目処理情報取得手段と、
    前記カーソル定義情報取得手段で取得された入力表項目定義とセレクト条件定義と出力表処理定義とからセレクト項目定義を作成し、該作成したセレクト項目定義と前記カーソル定義情報取得手段で取得されたセレクト条件定義とからカーソル定義文を生成するカーソル定義文生成手段であって、入力表項目定義と出力表処理定義から、セレクト文内に定義する入力表項目の名前を含むセレクト項目定義を生成し、入力表項目定義のうちセレクト項目定義内に指定された項目名だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト項目列を生成し、入力表項目定義内に指定された入力表のうち、セレクト項目定義で使用されている入力表の名前だけを抜き出し、生成するプログラミング言語の構文に従った形式でセレクト表列を生成し、セレクト条件定義を、生成するプログラミング言語の構文に従った形式に加工してセレクト条件文を生成し、セレクト項目列挿入位置、入力表列挿入位置およびセレクト条件挿入位置を持つ、生成するプログラミング言語に依存したカーソル定義スケルトンの該当挿入位置に、前記生成したセレクト項目列、セレクト表列およびセレクト条件を挿入してカーソル定義文を生成するカーソル定義文生成手段と、
    前記出力項目処理情報取得手段で取得された出力表項目定義のうち、処理種別が挿入である出力表に対応するものから作業変数定義文を生成する作業変数定義文生成手段であって、処理種別が挿入である出力表について、その出力表のレコード型を定義する型定義文を生成し、その定義された型で作業領域変数を定義する変数定義文を生成し、型定義文挿入位置および変数定義文挿入位置を持つ作業変数定義スケルトンの該当挿入位置に、前記生成した型定義文および変数定義文を挿入して作業変数定義文を生成する作業変数定義文生成手段と、
    前記出力項目処理情報取得手段で取得された出力表項目定義と出力表処理定義から、処理種別が挿入の場合は処理条件文と項目計算文と挿入文とを含む出力処理文を生成し、処理種別が更新の場合には処理条件文と更新文とを含む出力処理文を生成し、処理種別が削除の場合には処理条件文と削除文とを含む出力処理文を生成する出力処理文生成手段であって、出力表処理定義の処理条件から処理条件文を生成し、出力表処理定義の処理種別が挿入、更新、削除の何れであるかを判別し、処理種別が挿入の場合、出力表処理定義の各項目の処理式から項目計算文を生成し、出力表項目定義から出力表名、項目名リストおよび変数名リストを含む挿入文を生成し、処理条件文挿入位置、項目計算文挿入位置および出力文挿入位置を持つ出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、項目計算文挿入位置に前記生成した項目計算文を、出力文挿入位置に前記生成した挿入文をそれぞれ挿入して出力処理文を生成し、処理種別が更新の場合、出力表処理定義の各項目の処理式と出力表項目定義とから出力表名、更新文リストおよび更新条件を含む更新文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した更新文をそれぞれ挿入して出力処理文を生成し、処理種別が削除の場合、出力表項目定義から出力表名および削除条件を含む削除文を生成し、前記出力処理文スケルトンの処理条件文挿入位置に前記生成した処理条件文を、出力文挿入位置に前記生成した削除文をそれぞれ挿入して出力処理文を生成する出力処理文生成手段と、
    前記プログラムスケルトンを、複数種類格納するための記憶装置に格納されたプログラムスケルトンライブラリから利用者の指定した1つのプログラムスケルトンを選択するプログラムスケルトン選択手段と、
    前記データ処理プログラムのうち、前記プログラムスケルトン選択手段で選択されたプログラムスケルトンの該当挿入位置に、前記プログラムスケルトンカスタマイズ情報取得手段で取得したプログラム名とプログラムカスタマイズ情報と、前記カーソル定義文生成手段で生成したカーソル定義文と、前記作業変数定義文生成手段で生成した作業変数定義文と、前記出力処理文生成手段で生成した出力処理文とを挿入することによってプログラムを完成させ、出力するプログラム自動合成手段と
    して機能させるためのプログラム。
JP2010189092A 2010-08-26 2010-08-26 データ処理プログラム自動生成システム Expired - Fee Related JP5581894B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010189092A JP5581894B2 (ja) 2010-08-26 2010-08-26 データ処理プログラム自動生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010189092A JP5581894B2 (ja) 2010-08-26 2010-08-26 データ処理プログラム自動生成システム

Publications (2)

Publication Number Publication Date
JP2012048438A JP2012048438A (ja) 2012-03-08
JP5581894B2 true JP5581894B2 (ja) 2014-09-03

Family

ID=45903243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010189092A Expired - Fee Related JP5581894B2 (ja) 2010-08-26 2010-08-26 データ処理プログラム自動生成システム

Country Status (1)

Country Link
JP (1) JP5581894B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031586A (ja) * 1996-07-15 1998-02-03 Nec Corp プログラム生成装置
JP3871832B2 (ja) * 1999-08-20 2007-01-24 日本電気株式会社 データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読記録媒体
JP4902069B2 (ja) * 2000-09-06 2012-03-21 新日鉄ソリューションズ株式会社 プログラム生成支援装置、プログラム生成方法、およびプログラム
JP2006276937A (ja) * 2005-03-28 2006-10-12 Nec Corp プログラム開発支援装置

Also Published As

Publication number Publication date
JP2012048438A (ja) 2012-03-08

Similar Documents

Publication Publication Date Title
JP3871832B2 (ja) データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読記録媒体
JP4544473B2 (ja) インタフェース画面設計中心のソフトウェア生産工程の自動化方法及び、この方法をプログラム化して収録したコンピュータで読出し可能な記録媒体
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
JP2008197814A (ja) リソース・ファイルの翻訳検証方法、装置、およびプログラム
US20170052882A1 (en) Test scenario generation support device and test scenario generation support method
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
JP6092686B2 (ja) 運用作業フロー作成支援方法および運用作業フロー作成支援システム
CN117453713A (zh) 多类型数据库的sql语句生成方法、设备和存储介质
JP5747698B2 (ja) 要件管理支援装置
JP2008225898A (ja) 変換装置、変換プログラム及び変換方法
JP6827610B1 (ja) 開発支援装置、プログラム及び開発支援方法
JP2020115246A (ja) 生成装置、ソフトウェアロボットシステム、生成方法及び生成プログラム
JPWO2009011057A1 (ja) アプリケーション解析プログラム、アプリケーション解析方法およびアプリケーション解析装置
JP5581894B2 (ja) データ処理プログラム自動生成システム
JP5600826B1 (ja) 非構造化データ処理システム、非構造化データ処理方法およびプログラム
JP4954674B2 (ja) ソフトウェア開発支援方法、ソフトウェア開発支援装置、ソフトウェア開発支援プログラム、及び計算機システム
JP2006277282A (ja) モデル評価解析システムおよびモデル評価解析プログラム
KR100656559B1 (ko) Bibd 방법론을 이용하는 프로그램 자동 개발 장치
JP2009080681A (ja) プログラム構造解析方法及び装置
JP4387324B2 (ja) プロパティ変換装置
JP2004213698A (ja) データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読録媒体
CN103635880A (zh) 对模块的结构分析进行支援的装置以及程序
US7882487B2 (en) Method of generating C code on the basis of UML specifications
JP2013003729A (ja) テストケース自動生成システム、テストケース自動生成方法、およびテストケース自動生成プログラム
CN120596073A (zh) 大模型训练方法、数据报表开发方法、设备和存储介质

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140617

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140630

R150 Certificate of patent or registration of utility model

Ref document number: 5581894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees