"サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力する開発端末と、データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行するサーバと、前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うクライアントとを含む一覧表示自動作成システム。請求項1に記載の一覧表示自動作成システムであって、前記開発端末は、表計算ソフトを使用して前記インターフェース仕様書を作成する手段と、前記インターフェース仕様書の要素を単純変換し、前記サーバ側で前記データベースから情報を取得する状態取得関数のソースコードを自動作成して前記サーバに提供し、前記クライアント側のソースコードとして、前記状態取得関数の呼び出しの部分のソースコードを作成して前記クライアントに提供する手段と、前記状態取得関数のソースコードを自動作成する際、前記情報取得関数におけるページング処理を、共通関数という形でパッケージ化し、前記情報取得関数のソースコードに記述する内容を必要最低限に抑える手段とを具備する一覧表示自動作成システム。請求項2に記載の一覧表示自動作成システムであって、前記開発端末は、前記表計算ソフトを使用して前記インターフェース仕様書を作成する際、前記インターフェース仕様書に、入力パラメータ、出力パラメータ、並び替えに必要なソートキーの情報をそれぞれ記述する手段と、前記インターフェース仕様書を基に、関数の名前、引数を抽出し、関数の宣言文、処理文を、マクロを使用して作成する手段と、引数には、入力パラメータに記述された値、出力パラメータに記述された値に加えて、共通の入力引数として、取得最大行数、先頭行のソートキーの値をまとめたポジションキーを追加し、共通の出力引数として、取得行数、取得したデータより後のデータが存在するかの区分を示すエンドフラグ、取得したデータの最後のポジションキーを示すエンドポジションキーを追加する手段と、処理文には、前記共通関数の呼び出し、前記共通関数の引数に設定する値の代入、前記共通関数で取得したデータを関数の出力引数に代入する処理を記述する手段とを更に具備する一覧表示自動作成システム。請求項3に記載の一覧表示自動作成システムであって、前記サーバは、前記クライアント側の関数からの呼び出しに応じて前記情報取得関数の処理を実行した場合、前記情報取得関数の処理に従って前記共通関数を呼び出す手段と、前記共通関数の処理に従ってSQLファイルを読み込む手段と、入力引数のソートキーの情報を基に、SQLのWHERE句、並びに、ORDERBY句を作成し、前記SQLファイルのSQL文に追加し、実行するSQL文を作成する処理を行う手段と、ポジションキーを桁数によってソートキー単位に分割し、それぞれのソートキーをバインド変数に代入し、前記SQL文を実行する手段と、前記SQL文の実行後、取得した最後の行の値を繋げたものをエンドポジションキーとして、ポジションキーが指定された場合にはトップフラグをデータありとし、取得行数以上にデータがあった場合にはエンドフラグをデータありとして、前記SQL文の実行によって取得したデータを、それぞれ配列として前記呼び出し元の関数に返す手段とを具備する一覧表示自動作成システム。請求項1乃至4のいずれか一項に記載の一覧表示自動作成システムであって、前記クライアントは、前記クライアント側のソースコードを基に、前記サーバ側の前記情報取得関数を呼び出すための情報を前記一覧表示コントロールの関数を使用して設定する処理を行う手段と、前記クライアント側の一覧表示用コントロールに対して、次のページを読み込む動作を行う関数を用意し、該関数で使用される引数に入力する値となるポジションキーと取得最大行数とを設定する手段とを具備する一覧表示自動作成システム。請求項1乃至5のいずれか一項に記載の一覧表示自動作成システムで、開発端末、サーバ、及びクライアントのうち少なくとも1つとして使用される計算機。サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力する手段と、データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行する手段と、前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行う手段とを具備する計算機。計算機により実施される一覧表示自動作成方法であって、サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力することと、データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行することと、前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うこととを含む一覧表示自動作成方法。サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力するステップと、データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行するステップと、前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うステップとを計算機に実行させるためのプログラム。本発明の目的は、ドキュメントを利用したページング処理を含む一覧表示用情報データ一覧情報の自動作成を行う一覧表示自動作成システムを提供することである。本発明に係る一覧表示自動作成システムは、サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、該サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力する開発端末と、データベースを管理し、該サーバ側のプログラムの呼び出しに応じて、該サーバ側のプログラムを実行し、該サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行するサーバと、該クライアント側のプログラムに従って、該サーバ側のプログラムを呼び出し、該データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うクライアントを含む。本発明に係る一覧表示自動作成方法は、計算機により実施される一覧表示自動作成方法であって、サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、該サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力することと、データベースを管理し、該サーバ側のプログラムの呼び出しに応じて、該サーバ側のプログラムを実行し、該サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行することと、該クライアント側のプログラムに従って、該サーバ側のプログラムを呼び出し、該データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うことを含む。本発明に係るプログラムは、上記の一覧表示自動作成方法における処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。実際に内容を取得するための基本的なSQLさえ記述すれば、複雑な処理を意識することなく、ページング処理を含む一覧表示のシステムを作成することができる。<実施形態>以下に、本発明の実施形態について添付図面を参照して説明する。本発明では、ページング処理を行う仕組みをサーバクライアントシステムの形で構成する。本発明におけるページング処理とは、日時順等、意味ある並びを持つ一覧を、データの削除や追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行う処理を指す。例えば、ページの最後の行の次の行が削除された場合、次のページではその次の行から一ページ分の一覧を表示するといった処理である。[システム構成]図1を参照して、本発明に係る一覧表示自動作成システムの構成例の詳細について説明する。本発明に係る一覧表示自動作成システムは、開発端末10と、サーバ20と、クライアント30を含む。[開発端末の構成]開発端末10は、仕様書作成部11と、ソースコード作成部12を備える。仕様書作成部11は、表計算ソフトspreadsheetsoftwareを使用し、インターフェース仕様書1を作成する。表計算ソフトは、数値データの集計分析に用いられる作表アプリケーションソフトウェアである。ソースコード作成部12は、インターフェース仕様書1を基に、サーバ20用のソースコード2とクライアント30用のソースコード3を、マクロmacroによって作成出力する。なお、マクロとは、表計算ソフト等において、特定の処理手順をプログラムとして記述して自動化する機能である。ここでは、ソースコード作成部12は、インターフェース仕様書1を読み込み、マクロによってソースコード2とソースコード3を作成し、サーバ20にソースコード2を提供し、クライアント30にソースコード3を提供する。[サーバの構成]サーバ20は、データベース21と、データベース管理部22を備える。データベース21は、リレーショナルデータベースである。データベース管理部22は、データベース管理システムDBMS:DataBaseManagementSystemとして機能し、手続き型プログラム言語で作成された関数を登録できる。また、データベース管理部22は、ソースコード2を基に、情報取得関数4や共通関数6を実行し、SQLファイル5を読み込んでページング処理を行う。[クライアントの構成]クライアント30は、一覧表示用処理部31と、表示画面32を備える。一覧表示用処理部31は、ソースコード3を基に、サーバ20に登録された関数にアクセスし、当該関数を用いて得られたデータに対し、一覧表示用コントロール表示コントロールを使用し、ドキュメントを利用したページング処理を含む一覧表示用情報データ一覧情報の自動作成を行い、表示画面32に一覧表示する。表示画面32は、サーバ20に登録された関数にアクセスしてデータベース21を検索するためのGUIGraphicalUserInterfaceや、その検索結果に基づく一覧表示用情報データ一覧情報の表示を行う。[ファイル関数]本発明に係る一覧表示自動作成システムでは、インターフェース仕様書1と、ソースコード2と、ソースコード3と、情報取得関数4と、SQLファイル5と、共通関数6が用いられる。インターフェース仕様書1は、ソースコードを作成する際に用いられる仕様書であって、APIApplicationProgramInterface等のインターフェースとなる関数や、この関数で使用される変数の設定が記述された仕様書である。ソースコード2は、サーバ20上で実行されるデータ取得のための関数の処理のソースコードである。具体的には、ソースコード2は、後述する情報取得関数4の処理のソースコードである。ソースコード3は、クライアント30側から、サーバ20側の情報取得関数4を呼び出すために必要な情報を一覧表示コントロールの関数を使用して設定する処理のソースコードである。情報取得関数4は、SQL文SQLコマンドラインを記述できる手続き型プログラミング言語で作成された関数であり、クライアント30側からの要求に応じて、SQLファイル5を読み込んでページング処理を行い、クライアント30側に結果を返す関数である。ここでは、情報取得関数4は、ソースコード2をコンパイル又はビルドして変換したものであり、サーバ20に登録される。すなわち、情報取得関数4は、サーバ20に登録された関数の1つとなる。SQLファイル5は、データ取得のためのSQL文が記述されたファイルであり、情報取得関数4により読み込まれる。SQLファイル5は、外部ファイルであるため、更新/修正が容易である。共通関数6は、情報取得関数4の処理のうちページング処理を共通関数という形でパッケージ化したものである。ここでは、共通関数6は、実際にSQLファイル5からSQL文を読み込み、SQL文を書き直して、データ取得及びパラメータ作成等の処理や、ページング処理を行う関数である。これらの処理に用いられる引数は、ソースコード2に書き込まれており、情報取得関数4から共通関数6に与えられる。なお、共通関数6は、ソースコード2に直接記述された関数埋め込まれた関数に限らず、情報取得関数4により呼び出される外部ファイルに記述された関数でも良い。例えば、共通関数6は、ライブラリLibraryのように、再利用可能な形式で保持されていても良い。なお、情報取得関数4、SQLファイル5、及び共通関数6は、シェルスクリプト等でも良い。[ファイル関数と各部との関係]開発端末10の仕様書作成部11は、インターフェース仕様書1に、データ取得のための情報取得関数4を作成する際に必要となる引数の情報と、SQLファイル5を読み込んでページング処理を行うために必要な情報を記述する。開発端末10のソースコード作成部12は、ソースコード2を作成する際、インターフェース仕様書1の情報を共通関数6の引数に設定する。これにより、サーバ20は、ソースコード2に基づく情報取得関数4を用いて共通関数6を呼び出した際、共通関数6に従ってページング処理を行い、取得した情報を呼び出し元であるソースコード2に基づく情報取得関数4に返す。ここでは、ソースコード2の記述言語として、非手続き型言語non-proceduallanguageであるSQLを手続き型言語procedurallanguageに拡張したPL/SQLProceduralLanguageExtensionstoSQLを想定している。但し、実際には、これらの例に限定されない。PL/SQLによる処理は、手続き型言語であり、埋め込みSQLによる処理と同様に、変数を利用でき、制御構造を記述して業務ロジックをデータベース内に実装することができる。PL/SQLは、ストアドプロシージャ、ストアドファンクション、及びストアドパッケージ等により構成される。ストアドプロシージャは、データベースに格納StoredされているユーザープログラムProcedureである。ストアドファンクションは、ストアドプロシージャの機能を内包しているものや、ストアドプロシージャ自体に戻り値を持たせたものである。ストアドパッケージは、ストアドプロシージャとストアドファンクションのライブラリ集である。PL/SQLでは、ストアドプロシージャ、ストアドファンクション、及びストアドパッケージは、通常、登録作成時や呼び出し時に自動的にコンパイルされる。しかし、プログラムを変更したことによって他のプログラムに影響を与える場合には、事前にコンパイルしておくと好適である。なお、サーバ20のデータベース管理部22は、ソースコード2がコンパイラ言語VB、C、C、Java等で記述されている場合、ソースコード2をコンパイル又はビルドしてオブジェクトコードobjectcode:実行形式プログラムに変換し、このオブジェクトコードを登録する。このオブジェクトコードは、デーモンdaemonやエージェントagent等のソフトウェアとして、サーバ20上で常時稼働していても良い。なお、ソースコード2がインタープリタ言語Perl、PHP:HypertextPreprocessor等で記述されている場合には、コンパイルを行う必要はない。例えば、データベース管理部22は、JavaServletやJSPJavaServerPages等により情報取得関数4を実行する場合、ソースコード2をコンパイル又はビルドしてオブジェクトコードに変換し、このオブジェクトコードを登録する。反対に、データベース管理部22は、CGICommonGatewayInterface等により情報取得関数4を実行する場合、既存のソースコード2を、新規のソースコード2で上書きする。すなわち、既存のソースコード2に対して、新規のソースコード2との相違点変更箇所を反映する。また、開発端末10のソースコード作成部12は、ソースコード3を、クライアント30の表示画面プログラムに追記する。これにより、クライアント30は、一覧表示コントロールで必要な初期設定について、サーバ20側と整合性を保つことができる。クライアント30の一覧表示用処理部31は、表示画面プログラムに従って、表示画面32内に独立した小さな画面領域ウィンドウ:windowを用意して、その中に一覧表示用情報データ一覧情報を表示する。表示画面プログラムは、表示画面32内にウィンドウwindowを表示するためのプログラムである。一覧表示用コントロールは、表示画面プログラムの中に存在し、ウィンドウwindowの中にデータを一覧表示するための機能又は関数である。表示画面プログラムの例として、ウィンドウwindow内にデータを表示可能なアプリケーションソフトウェアを想定している。このようなアプリケーションソフトウェアの例として、HTMLHyperTextMarkupLanguageやXMLeXtensibleMarkupLanguage等のマークアップ言語を用いた構造化文書を表示するブラウザ等も考えられる。但し、実際には、これらの例に限定されない。一覧表示用処理部31は、ソースコード3の内容を基に、クライアント30側から、サーバ20側の情報取得関数4を呼び出すために必要な情報を、クライアント30上の表示画面プログラムに追加する。例えば、一覧表示用処理部31は、ソースコード3の内容を基に、表示画面プログラムに所定の引数を渡したり、一覧表示用コントロールの設定情報を変更したりする。なお、表示画面プログラムは、上記のような構造化文書である場合、サーバ20上に存在していても良い。一覧表示用処理部31は、ブラウザ等を用いてサーバ20上の表示画面プログラムにアクセスした際に、この表示画面プログラムを取得ダウンロードして一時保存し、この表示画面プログラムに基づく内容を表示画面32に表示する。この場合、一覧表示用処理部31は、クライアント30上に一時保存された表示画面プログラムに、ソースコード3の内容を追加することになる。また、一覧表示用処理部31は、ソースコード3がコンパイラ言語で記述されている場合、ソースコード3をコンパイル又はビルドしてオブジェクトコードに変換し、このオブジェクトコードを新規の表示画面プログラムとして、既存の表示画面プログラムを更新しても良い。例えば、表示画面プログラムに埋め込まれた関数やコードが、ソースコード3に基づくオブジェクトコードを呼び出すものであれば、このオブジェクトコードさえ更新すれば、表示画面プログラムの更新は不要となる。[ハードウェアの例示]以下に、本発明に係る一覧表示自動作成システムを構成する具体的なハードウェアの例について説明する。開発端末10、サーバ20、及びクライアント30の例として、PCパソコン、アプライアンスappliance、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、開発端末10、サーバ20、及びクライアント30は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、開発端末10、サーバ20、及びクライアント30は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシンVM:VirtualMachineでも良い。開発端末10、サーバ20、及びクライアント30は、車両や船舶、航空機等の移動体に搭載されていても良い。また、本発明に係る一覧表示自動作成システム自体が、単体の計算機等であっても良い。すなわち、開発端末10、サーバ20、及びクライアント30は、同一の計算機でも良い。図示しないが、上記のような計算機は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。上記のプロセッサの例として、CPUCentralProcessingUnit、ネットワークプロセッサNP:NetworkProcessor、マイクロプロセッサmicroprocessor、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路IC:IntegratedCircuit等が考えられる。上記のメモリの例として、RAMRandomAccessMemory、ROMReadOnlyMemory、EEPROMElectricallyErasableandProgrammableReadOnlyMemoryやフラッシュメモリ等の半導体記憶装置、HDDHardDiskDriveやSSDSolidStateDrive等の補助記憶装置、又は、DVDDigitalVersatileDisk等のリムーバブルディスクや、SDメモリカードSecureDigitalmemorycard等の記憶媒体メディア等が考えられる。また、バッファbufferやレジスタregisterでも良い。或いは、DASDirectAttachedStorage、FC-SANFibreChannel-StorageAreaNetwork、NASNetworkAttachedStorage、IP-SANIP-StorageAreaNetwork等を用いたストレージ装置でも良い。なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例が考えられる。上記のインターフェースの例として、ネットワーク通信に対応した基板マザーボード、I/Oボードやチップ等の半導体集積回路、NICNetworkInterfaceCard等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口コネクタ等の通信ポート等が考えられる。また、ネットワークの例として、インターネット、LANLocalAreaNetwork、無線LANWirelessLAN、WANWideAreaNetwork、バックボーンBackbone、ケーブルテレビCATV回線、固定電話網、携帯電話網、WiMAXIEEE802.16a、3G3rdGeneration、専用線leaseline、IrDAInfraredDataAssociation、Bluetooth登録商標、シリアル通信回線、データバス等が考えられる。なお、開発端末10、サーバ20、及びクライアント30内の各部内部構成は、モジュールmodule、コンポーネントcomponent、或いは専用デバイス、又はこれらの起動呼出プログラムでも良い。また、開発端末10の仕様書作成部11の例として、KVMキーボードビデオマウス、コンソールconsole、キーパッドkeypad、タッチパネルtouchpanel、タブレットtablet等の入力装置、又は、各種の情報伝達媒体の読取装置が考えられる。或いは、仕様書作成部11は、外部の入力装置や記憶装置等から情報を取得するためのインターフェースI/F:interfaceでも良い。また、クライアント30の表示画面32の例として、LCD液晶ディスプレイやPDPプラズマディスプレイ、有機ELディスプレイorganicelectroluminescencedisplay等の表示装置、出力内容を用紙等に印刷するプリンタ等の印刷装置、又は、出力内容を壁やスクリーンに投影するプロジェクタ等の映写装置等が考えられる。或いは、表示画面32は、外部の表示装置や記憶装置等に情報を出力するためのインターフェースI/Fでも良い。すなわち、表示画面32は、何らかの出力装置であれば良い。但し、実際には、これらの例に限定されない。[インターフェース仕様書の詳細]図2を参照して、インターフェース仕様書1の詳細について説明する。インターフェース仕様書1には、関数名と、内容と、入力パラメータと、出力パラメータと、ソートキーソートパラメータが記述されている。関数名は、関数の名称を示す。ここでは、関数名には、TEST情報取得関数を示すfunc_testが記述されている。内容は、関数の処理内容の説明文を示す。ここでは、内容には、テストの情報を取得するという旨の説明が記述されている。入力パラメータは、関数に入力される変数を定義した情報を示す。入力パラメータには、日本語名、変数名、SQLで使用するかどうかの区分、変数の型、桁数がテーブル形式で記述されている。ここでは、入力パラメータのテーブルの1行目には、日本語名:入力1、変数名:input1、SQLで使用するかどうかの区分:する、変数の型:CHAR、桁数:5が記述されている。また、入力パラメータのテーブルの2行目には、日本語名:入力2、変数名:input2、SQLで使用するかどうかの区分:しない、変数の型:INT、桁数:2が記述されている。出力パラメータは、関数から出力される変数を定義した情報を示す。出力パラメータには、日本語名、変数名、変数の型、桁数、SQLの列の順番がテーブル形式で記述されている。ここでは、出力パラメータのテーブルの1行目には、日本語名:項目A、変数名:output_a、変数の型:INT、桁数:1、SQLの列の順番:1が記述されている。また、出力パラメータのテーブルの2行目には、日本語名:項目B、変数名:output_b、変数の型:CHAR、桁数:4、SQLの列の順番:3が記述されている。また、出力パラメータのテーブルの3行目には、日本語名:項目C、変数名:output_c、変数の型:CHAR、桁数:5、SQLの列の順番:4が記述されている。ソートキーソートパラメータは、並び替えに必要なキーとなる変数を定義した情報を示す。ソートキーには、優先順位が高い順に、日本語名、変数名、変数の型、桁数、SQLの列の順番、昇順/降順がテーブル形式で記述されている。ここでは、ソートキーソートパラメータのテーブルの1行目には、日本語名:キーA、変数名:key_a、変数の型:INT、桁数:1、SQLの列の順番:1、昇順/降順:昇順が記述されている。また、ソートキーソートパラメータのテーブルの2行目には、日本語名:キーB、変数名:key_b、変数の型:CHAR、桁数:4、SQLの列の順番:2、昇順/降順:降順が記述されている。また、ソートキーソートパラメータのテーブルの3行目には、日本語名:キーC、変数名:key_c、変数の型:CHAR、桁数:4、SQLの列の順番:3、昇順/降順:降順が記述されている。[SQLファイルの詳細]図3を参照して、SQLファイル5の詳細について説明する。SQLファイル5には、データ取得のためのSQL文が記述されている。当該SQL文は、SELECTテーブル別名.フィールド1フィールド別名FROMテーブル名テーブル別名WHERE条件式1AND条件式2という構文で記述されている。図3に示すSQL文には、SELECTt1.aa,t2.bb,t1.cc,t2.ddFROMtest1_tablet1,test2_tablet2WHEREt1.key1=t2.key1ANDa>:input1と記述されている。:が文字列の頭にある変数はバインド変数を示す。バインド変数は、データベースを操作するプログラムを作成する際に、SQL文に埋め込まれる当該プログラムの変数である。ここでは、バインド変数は、図2に示すインターフェース仕様書1の入力パラメータ入力1の変数input1である。すなわち、図3に示すSQL文には、test_table1テーブル別名t1とする、test_table2テーブル別名t2とするという2つのテーブルのレコードを検索し、テーブルt1のフィールドkey1の値がテーブルt2のフィールドkey1の値と等しく、テーブルt1のフィールドaの値がバインド変数input1の値より大きいという条件を満たす場合、テーブルt1のフィールドaと、テーブルt2のフィールドbと、テーブルt1のフィールドcと、テーブルt2のフィールドdを出力する旨が記載されている。[処理手順]図4を参照して、本発明に係る一覧表示自動作成システムの処理手順について詳細に説明する。1ステップS101仕様書作成部11は、表計算ソフトを使用し、インターフェース仕様書1を作成する。このとき、仕様書作成部11は、インターフェース仕様書1に、図2に示すように、入力パラメータ、出力パラメータ、及びソートキー並び替えに必要なキーの情報を記述する。ここでは、仕様書作成部11は、入力パラメータに、日本語名、変数名、SQLで使用するかどうかの区分、変数の型、桁数を記述する。また、仕様書作成部11は、出力パラメータに、日本語名、変数名、変数の型、桁数、SQLの列の順番を記述する。なお、SQLの列の順番は、データを取得するためのSQLのSELECT句の要素の何番目にあたるかを示す。また、仕様書作成部11は、ソートキーに、優先順位が高い順に、日本語名、変数名、変数の型、桁数、SQLの列の順番、昇順/降順を記述する。なお、昇順/降順は、昇順で並べるか降順で並べるかを示す。2ステップS102ソースコード作成部12は、このインターフェース仕様書1から、関数の名前や引数を抽出し、関数の宣言文や処理文を含むソースコード2やソースコード3を、マクロ等によって作り出す。このとき、ソースコード作成部12は、引数として、入力パラメータに記述された値や出力パラメータに記述された値に加えて、以下のような共通の入力引数/出力引数を追加する。ここでは、ソースコード作成部12は、共通の入力引数として、取得最大行数や先頭行のソートキーの値をまとめたもの以下、ポジションキーと呼ぶを追加する。また、ソースコード作成部12は、共通の出力引数として、取得行数、取得したデータより前にデータが存在するかの区分データあり/なし以下、トップフラグと呼ぶ、取得したデータより後にデータが存在するかの区分データあり/なし以下、エンドフラグと呼ぶ、及び取得したデータの最後のポジションキー以下、エンドポジションキーと呼ぶを追加する。また、ソースコード作成部12は、処理文として、共通関数6の呼び出し、共通関数6の引数に設定する値の代入、及び共通関数6で取得したデータを関数の出力引数に代入する処理を記述する。3ステップS103ソースコード作成部12は、ソースコード2を出力する。サーバ20は、ソースコード2を入力する。ここでは、ソースコード2は、コンパイラ言語で記述されているものとする。サーバ20のデータベース管理部22は、DBMSとして機能し、インターフェース仕様書1から作成された関数のソースコード2をコンパイル又はビルドして情報取得関数4に変換し、この情報取得関数4を登録する。4ステップS104ソースコード作成部12は、ソースコード3を出力する。クライアント30は、ソースコード3を入力する。クライアント30の一覧表示用処理部31は、ソースコード3を基に、サーバ20側の情報取得関数4を呼び出すために必要な情報を、一覧表示コントロールの関数を使用して設定する。5ステップS105一覧表示用処理部31は、一覧表示用コントロールを使用し、サーバ20にアクセスし、サーバ20に登録された情報取得関数4を呼び出す。6ステップS106データベース管理部22は、クライアント30側からの呼び出しに応じて、情報取得関数4の処理を実行する。7ステップS107データベース管理部22は、情報取得関数4の処理を実行した場合、共通関数6を呼び出す。なお、共通関数6は、情報取得関数4に含まれている。情報取得関数4と共通関数6は、別のファイルに記述されていても良い。8ステップS108データベース管理部22は、共通関数6の処理を実行した場合、入力引数のソートキーの情報を基に、SQLのWHERE句、並びにORDERBY句を作成し、SQLファイル5のSQL文に追加し、実行するSQL文を作成する処理と、バインド変数に値を代入し、このSQL文を実行して、SQL文の実行結果を取得する処理を行う。9ステップS109一覧表示用処理部31は、ドキュメントを利用したページング処理を含む一覧表示用情報の自動作成を行い、表示画面32に一覧表示する。[クライアント側のソースコードの作成出力]以下に、図4のステップS102及びステップS104におけるソースコード3の作成出力の処理の例について説明する。クライアント30側のプログラムとなる一覧表示用コントロールは、情報取得関数5の呼び出しに必要な引数指定の関数を持ち、サーバ20に登録されている情報取得関数5を呼び出し、情報取得関数5から取得したデータを表形式で表示する機能を持つ。開発端末10のソースコード作成部12は、マクロを用いて、インターフェース仕様書1から引数の値を抽出し、この一覧表示用コントロールが持つ引数指定の関数に、それらの引数の値を入れた形で、ソースコード3を作成して出力する。[情報取得関数の呼び出し処理]以下に、図4のステップS105における情報取得関数5の呼び出し処理の例について説明する。クライアント30の一覧表示用処理部31は、一覧表示用コントロールを使用する表示画面プログラムにソースコード3を追加して、一覧表示用コントロールに、情報取得関数5を呼び出す関数と、次のページを読み込む動作を行う関数を用意し、その関数で使用される引数に入れるべき値であるポジションキーと取得最大行数等を設定する。一覧表示用処理部31は、表示画面プログラムを実行し、その表示画面プログラムを実行することで、サーバ20に登録されている情報取得関数5を呼び出す。[共通関数の処理]以下に、図4のステップS108における共通関数6の処理の流れについて説明する。ここでは、インターフェース仕様書1は、図2に示すとおりである。また、SQLファイル5は、図3に示すとおりである。[WHERE句の作成]サーバ20のデータベース管理部22は、WHERE句を作成する手順を、図2に示すインターフェース仕様書1のソートキーソートパラメータの数に応じたステップ数で行う。ここでは、データベース管理部22は、図3に示すSQLファイル5内のWHERE句に追加するSQL文を記述する。[キーAの部分の作成]まず、データベース管理部22は、SQLファイル5内のWHERE句と処理の混合を避けるため、ANDと括弧で括った文字列を作成し、その文字列の中に、図2に示すインターフェース仕様書1のソートキーソートパラメータで1番上に記述されたキーAの部分を作成する。データベース管理部22は、図2に示すインターフェース仕様書1のソートキーソートパラメータにおいて、キーAの変数名はkey_aと指定され、キーAのSQLの列の順番は1SQLファイル5の一列目と指定され、キーAの昇順/降順は昇順と指定されているので、t1.a>:key_aと記述する。変数key_aは、:が文字列の頭にあるため、バインド変数である。すなわち、データベース管理部22は、図5の1に示すように、ANDt1.a>:key_aと記述する。[キーBの部分の作成]次に、データベース管理部22は、図2に示すインターフェース仕様書1のソートキーソートパラメータで2番目に記述されたキーBの部分を作成する。データベース管理部22は、図2に示すインターフェース仕様書1のソートキーソートパラメータにおいて、キーBの変数名はkey_bと指定され、キーBのSQLの列の順番は2SQLファイル5の二列目と指定され、キーBの昇順/降順は降順と指定されているので、t2.b<:key_bと記述する。変数key_bは、:が文字列の頭にあるため、バインド変数である。キーBは、キーAの部分の条件で順序が決まらない場合、すなわちキーAがバインド変数に代入する値と同じときのみ考慮する値なので、その条件を示すt1.a=:key_aANDt2.b<:key_bをORで括り、キーAの部分の後に追加する。すなわち、データベース管理部22は、図5の2に示すように、キーAの部分の後にキーBの部分を追加して、ANDt1.a>:key_aORt1.a=:key_aANDt2.b<:key_bと記述する。[キーCの部分の作成]次に、データベース管理部22は、図2に示すインターフェース仕様書1のソートキーソートパラメータで3番目に記述されたキーCの部分を作成する。データベース管理部22は、図2に示すインターフェース仕様書1のソートキーソートパラメータにおいて、キーCの変数名はkey_cと指定され、キーCのSQLの列の順番は3SQLファイル5の三列目と指定され、キーCの昇順/降順は降順と指定されているので、t1.c<:key_cと記述する。変数key_cは、:が文字列の頭にあるため、バインド変数である。キーCは、キーBの部分の条件でも順序が決まらない場合、すなわちキーA及びキーBのそれぞれがバインド変数に代入する値と同じときのみ考慮する値なので、その条件を示すt1.a=:key_aANDt2.b=:key_bANDt1.c<:key_cをORで括り、キーBの部分の後に追加する。すなわち、データベース管理部22は、図5の3に示すように、キーBの部分の後にキーCの部分を追加して、ANDt1.a>:key_aORt1.a=:key_aANDt2.b<:key_bORt1.a=:key_aANDt2.b=:key_bANDt1.c<:key_cと記述する。[WHERE句の作成の終了]ここでは、図2に示すインターフェース仕様書1のソートキーソートパラメータに記述されているキーは、キーA、キーB、キーCの3つだけであるが、他にキーがあったとしても、同じようにキーの部分を作成して追加する処理を行う。図2に示すインターフェース仕様書1のソートキーソートパラメータに記述されている全てのキーの部分の記述が終われば、WHERE句の作成の処理を終了する。[ORDERBY句の作成]また、データベース管理部22は、ORDERBY句を作成する際、図2に示すインターフェース仕様書1のソートキーソートパラメータで指定したSQLの列の順番と昇順降順かを考慮し、ORDERBY句を作成する。当該ORDERBY句は、ORDERBYフィールド1[ASC,DESC],フィールド2[ASC,DESC],フィールド3[ASC,DESC]という構文で記述されている。ここでは、データベース管理部22は、ORDERBY句として、ORDERBY1ASC,2DESC,3DESCと記述する。ASCascending:昇順は、結果が昇順に並ぶことを表し、DESCdescending:降順は、結果が降順に並ぶことを表す。その両者とも記述されていない場合、ASCを使うことになる。データベース管理部22は、SQL文の実行時には、ソートキーソートパラメータの処理として、ポジションキーを桁数によってソートキーソートパラメータ単位に分割し、それぞれをバインド変数に代入し、加えて図2に示すインターフェース仕様書1の入力パラメータもバインド変数に代入する。データベース管理部22は、SQL文の実行後、取得した最後の行の値を繋げたものをエンドポジションキーとして、ポジションキーが指定された場合には、トップフラグをデータありとし、取得行数以上にデータがあった場合には、エンドフラグをデータありとして、SQL文の実行によって取得したデータSQL実行結果を、それぞれ配列として呼び出し元の関数に返す。ここでは、呼び出し元の関数は、クライアント30の一覧表示用コントロールに用意された情報取得関数5を呼び出す関数である。[一覧表示の処理]以下に、図4のステップS109における一覧表示の処理の例について説明する。クライアント30の一覧表示用処理部31は、表示画面プログラムによる本来の表示内容に、情報取得関数5から取得したデータSQL実行結果を追記して、ドキュメントを利用したページング処理を含む一覧表示用情報の自動作成を行い、表示画面32に一覧表示することで、情報取得関数5の呼び出し処理を完了する。一覧表示用処理部31は、表示画面プログラムにおいて、ボタン押下等のイベントに応じて、一覧表示用コントロールに用意された次のページを読み込む動作を行う関数を呼び出すことで、ページの遷移を実現する。なお、一覧表示用処理部31は、トップフラグがデータありであれば、前ページに遷移するためのボタンを表示/有効化し、エンドフラグがデータありであれば、後ページに遷移するためのボタンを表示/有効化する。[本実施形態の効果]本発明では、複雑なページングの処理は共通関数に、SQLはSQLファイルに記述されているため、共通関数を呼び出すソースには、インターフェース仕様書1に記述された必要最小限の情報のみ記述しているため、可読性が大幅に改善し、拡張性にも繋がる。また、それぞれの役割でファイルが分かれているため、修正範囲が最小限になる。また、クライアント側のソースも同時に作成することで、それぞれのソースの食い違いの発生も防ぐことができる。従来の類似システムでは、インターフェース仕様書を作ってあったとしても、サーバとクライアントのプログラムは、ほとんどの場合、違うプログラミング言語で作成されたプログラミングであり、それぞれのプログラムを別々で作成する必要が出てくる。引数が多くなった場合、それぞれのプログラムで使用される変数の名称や型式、桁数等を合わせるのは、非常に手間のかかる作業になる可能性がある。本発明では、サーバ側のプログラムもクライアント側のプログラムもインターフェース部分を記述する部分を単純化し、それぞれのプログラムを作成する際に、インターフェース仕様書から必要な情報を抽出する仕組みになっているため、それぞれのプログラムでの食い違いの心配がない。<本発明の特徴>本発明に係る一覧表示自動作成システムは、ページング処理を含む一覧表示用情報の自動作成を行うものである。本発明に係る一覧表示自動作成システムは、サーバクライアント間のインターフェース仕様書から、SQLを含む手続き型言語のプログラムと、それを呼び出すクライアントのプログラムを、マクロを使うことで出力する。本発明に係る一覧表示自動作成システムは、実際に内容を取得するための基本的なSQLさえ記述すれば、複雑な処理を意識することなく、ページング処理を含む一覧表示用情報を作成することができる。すなわち、SQLファイルの作成/変更のみで、一覧データ毎に個別の表示画面を実現することができる。具体的には、本発明に係る一覧表示自動作成システムでは、サーバ側で作成するデータベースから情報を取得する情報取得関数のページング処理を共通関数という形でパッケージ化し、情報取得関数のソースに記述する内容を必要最低限にする。このように、表計算ソフトで作成したサーバクライアント間のインターフェース仕様書の要素を単純変換することで、サーバ側の状態取得関数のソースコードを自動作成する。また、クライアント側のソースも関数呼び出しの部分のみ作成を行い、クライアント側のプログラムに追記できるようにする。すなわち、本発明に係る一覧表示自動作成システムの要旨は、ページング処理をパッケージ化した共通関数の仕組みと、仕様書から、サーバ側とクライアント側の両方のプログラムのソースコードを作成する点にある。<付記>上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。付記1サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力する開発端末と、データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行するサーバと、前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うクライアントとを含む一覧表示自動作成システム。付記2付記1に記載の一覧表示自動作成システムであって、前記開発端末は、表計算ソフトを使用して前記インターフェース仕様書を作成する手段と、前記インターフェース仕様書の要素を単純変換し、前記サーバ側で前記データベースから情報を取得する状態取得関数のソースコードを自動作成して前記サーバに提供し、前記クライアント側のソースコードとして、前記状態取得関数の呼び出しの部分のソースコードを作成して前記クライアントに提供する手段と、前記状態取得関数のソースコードを自動作成する際、前記情報取得関数におけるページング処理を、共通関数という形でパッケージ化し、前記情報取得関数のソースコードに記述する内容を必要最低限に抑える手段とを具備する一覧表示自動作成システム。付記3付記2に記載の一覧表示自動作成システムであって、前記開発端末は、前記表計算ソフトを使用して前記インターフェース仕様書を作成する際、前記インターフェース仕様書に、入力パラメータ、出力パラメータ、並び替えに必要なソートキーの情報をそれぞれ記述する手段と、前記インターフェース仕様書を基に、関数の名前、引数を抽出し、関数の宣言文、処理文を、マクロを使用して作成する手段と、引数には、入力パラメータに記述された値、出力パラメータに記述された値に加えて、共通の入力引数として、取得最大行数、先頭行のソートキーの値をまとめたポジションキーを追加し、共通の出力引数として、取得行数、取得したデータより後のデータが存在するかの区分を示すエンドフラグ、取得したデータの最後のポジションキーを示すエンドポジションキーを追加する手段と、処理文には、前記共通関数の呼び出し、前記共通関数の引数に設定する値の代入、前記共通関数で取得したデータを関数の出力引数に代入する処理を記述する手段とを更に具備する一覧表示自動作成システム。付記4付記1乃至3のいずれかに記載の一覧表示自動作成システムであって、前記サーバは、前記クライアント側の関数からの呼び出しに応じて前記情報取得関数の処理を実行した場合、前記情報取得関数の処理に従って前記共通関数を呼び出す手段と、前記共通関数の処理に従ってSQLファイルを読み込む手段と、入力引数のソートキーの情報を基に、SQLのWHERE句、並びにORDERBY句を作成し、前記SQLファイルのSQL文に追加し、実行するSQL文を作成する処理を行う手段と、バインド変数に値を代入し、前記SQL文を実行する手段と、前記SQL文の実行によって取得したデータを、前記呼び出し元の関数に返す処理を行う手段とを具備する一覧表示自動作成システム。付記5付記4に記載の一覧表示自動作成システムであって、前記サーバは、前記SQL文を実行する際、ポジションキーを桁数によってソートキー単位に分割し、それぞれのソートキーをバインド変数に代入し、前記SQL文を実行する手段と、前記SQL文の実行後、取得した最後の行の値を繋げたものをエンドポジションキーとして、ポジションキーが指定された場合にはトップフラグをデータありとし、取得行数以上にデータがあった場合にはエンドフラグをデータありとして、前記SQL文の実行によって取得したデータを、それぞれ配列として前記呼び出し元の関数に返す手段とを具備する一覧表示自動作成システム。付記6付記1乃至5のいずれかに記載の一覧表示自動作成システムであって、前記クライアントは、前記クライアント側のソースコードを基に、前記サーバ側の前記情報取得関数を呼び出すための情報を前記一覧表示コントロールの関数を使用して設定する処理を行う手段と、前記クライアント側の一覧表示用コントロールに対して、次のページを読み込む動作を行う関数を用意し、該関数で使用される引数に入力する値となるポジションキーと取得最大行数とを設定する手段とを具備する一覧表示自動作成システム。<備考>以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。"