JP2013008271A - List display automatic creation system and list display automatic creation method - Google Patents

List display automatic creation system and list display automatic creation method Download PDF

Info

Publication number
JP2013008271A
JP2013008271A JP2011141530A JP2011141530A JP2013008271A JP 2013008271 A JP2013008271 A JP 2013008271A JP 2011141530 A JP2011141530 A JP 2011141530A JP 2011141530 A JP2011141530 A JP 2011141530A JP 2013008271 A JP2013008271 A JP 2013008271A
Authority
JP
Japan
Prior art keywords
server
function
client
side program
list display
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.)
Pending
Application number
JP2011141530A
Other languages
Japanese (ja)
Inventor
Yasuaki Kondo
靖彰 近藤
Motokazu Nakamura
基和 中村
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 JP2011141530A priority Critical patent/JP2013008271A/en
Publication of JP2013008271A publication Critical patent/JP2013008271A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To automatically create list display including paging processing utilizing a document.SOLUTION: Paging processing of an information acquisition function for acquiring information from a server-side database is packaged in the form of a common function, and contents to be described in a source of the information acquisition function are made irreducibly minimum. Elements of server/client interface specifications created by spreadsheet software are converted simply, thereby automatically creating a source code of a server-side state acquisition function. Furthermore, a client-side source is also configured to create only a function calling portion and to post-describe it to a client-side program. On the basis of the interface specifications, a program in a procedural language containing SQL and a program of the client calling it are outputted by using macro and the basic SQL for actually acquiring contents is only described, so that list display including paging processing can be implemented without caring of complicated processing.

Description

本発明は、一覧表示自動作成システムに関し、特にクライアント側からサーバ側のデータベースを検索し、その検索結果をクライアント側で一覧表示するための一覧表示自動作成システムに関する。   The present invention relates to a list display automatic creation system, and more particularly to a list display automatic creation system for searching a server side database from a client side and displaying a list of search results on the client side.

現在、膨大な数のデータを効率良く管理するために、データベースは、リレーショナルデータベースというデータ管理方式に基づいて設計されることが多い。リレーショナルデータベースを管理するためのソフトウェアが、リレーショナルデータベース管理システム(RDBMS:Relational DataBase Management System)である。   Currently, in order to efficiently manage a huge amount of data, a database is often designed based on a data management method called a relational database. Software for managing a relational database is a relational database management system (RDBMS: Relational DataBase Management System).

なお、RDBMSの例として、「Oracle Database」、「Microsoft Access」、「Microsoft SQL Server」、「PostgreSQL」、「MySQL」(以上、登録商標)等が知られている。   As examples of RDBMS, “Oracle Database”, “Microsoft Access”, “Microsoft SQL Server”, “PostSQL”, “MySQL” (hereinafter, registered trademark) and the like are known.

RDBMSにおいては、データベース内のデータの操作や定義を行うためのデータベース言語(問い合わせ言語)の一つとして、SQL(Structured Query Language)が用いられている。   In RDBMS, SQL (Structured Query Language) is used as one of database languages (inquiry languages) for performing manipulation and definition of data in a database.

SQL文(SQLコマンドライン)を用いてデータベースから一覧データを取得して表示する際に、行数が多くなりすぎることによる観覧や通信量の不可を避けるための解決策の一つとして、一覧データを複数ページに分割して表示を行うページング処理という手法がある。   List data is one of the solutions for avoiding the inconvenience of viewing and traffic due to the excessive number of lines when list data is acquired and displayed from a database using an SQL statement (SQL command line). There is a technique called paging processing in which the image is divided into a plurality of pages for display.

しかし、上記の手法を実現するためには、動的なSQL文を使用した処理を記述する必要があり、同じような処理であるのにも関わらず、一覧データ毎に表示画面上でその処理のSQL文を記述しなくてはいけないという問題がある。   However, in order to realize the above method, it is necessary to describe a process using a dynamic SQL statement, and the process is performed on the display screen for each list data in spite of the similar process. There is a problem that the SQL statement must be described.

また、上記の問題に付随して、データを取ってくるためのSQL処理とページファイル(スワップファイル)を取得するための処理が混合してしまい、作成されたプログラムは、可読性、拡張性等が欠如したものになるという問題も存在する。   Also, accompanying the above problem, the SQL process for fetching data and the process for acquiring the page file (swap file) are mixed, and the created program has readability, expandability, etc. There is also the problem of becoming missing.

また、データベース側のデータを取得するプログラムと、そのプログラムを呼び出してデータを一覧表示するプログラムは、API(Application Program Interface)等のインターフェース(関数、コマンド等)を同じにする必要があるため、項目が多い場合等、これらのプログラムのソースコード(Source code:原始プログラム)の記述の食い違いを防ぐ必要があるため、プログラムの作成に非常に多くの時間を費やす場合がある。   In addition, a program that acquires data on the database side and a program that calls the program to display a list of data need to have the same interface (function, command, etc.) such as API (Application Program Interface). When there are many cases, it is necessary to prevent a difference in the description of the source code (source code) of these programs, so that a great amount of time may be spent on the creation of the programs.

関連する技術として、特許文献1(特開2000−194593号公報)に異機種分散データのレコード単位アクセス方式が開示されている。この関連技術では、該データアクセス用共通関数として、バイナリファイルからレコードを参照する(読み出す)ために利用されるデータ読み込み関数と、バイナリファイルにレコードを出力する(書き込む)ために利用されるデータ書き込み関数の2つの関数が用意されている。データ読み込み関数は、引数として受け取ったファイル識別ID及びレコードの位置(レコード番号)等を指定して、データ変換用共通関数を呼び出す。   As a related technique, Patent Document 1 (Japanese Patent Laid-Open No. 2000-194593) discloses a record unit access method for heterogeneous distributed data. In this related technique, as the data access common function, a data reading function used for referring to (reading) a record from a binary file and a data writing used for outputting (writing) a record to the binary file Two functions are provided. The data read function specifies the file identification ID received as an argument, the position of the record (record number), etc., and calls the data conversion common function.

また、特許文献2(特開2008−58826号公報)に暗号処理装置、及び暗号処理方法、並びにコンピュータ・プログラムが開示されている。この関連技術では、データ系列数「d」を「d≧3」の整数とした拡張型「Feistel」構造を適用した暗号処理構成において、インボリューション性、すなわち暗号化処理と復号処理に共通の関数を適用可能としている。復号処理におけるラウンド鍵の入れ替えやF関数の入れ替えを行う構成とすることで、スワップ関数を暗号化処理と復号処理とにおいて同一の処理態様に設定することで共通関数による処理を可能としている。ラウンド関数(F関数)の各ラウンドの切り替え部分では、各データ系列を入れ替えるスワップ処理が実行される。このスワップ処理に適用する関数がスワップ関数である。スワップ関数は、暗号化関数の1つの構成要素となる。スワップ関数は、各ラウンドの切り替え時に、各データ系列の出力に対して適用され、各データ系列の出力に対応する次のラウンドにおける入力系列を設定するための関数である。   Japanese Patent Laid-Open No. 2008-58826 discloses a cryptographic processing device, a cryptographic processing method, and a computer program. In this related technology, in an encryption processing configuration to which an extended “Feistel” structure in which the number of data series “d” is an integer “d ≧ 3” is applied, involution, that is, a function common to encryption processing and decryption processing Is applicable. By adopting a configuration for exchanging round keys and F functions in the decryption process, the swap function is set to the same processing mode in the encryption process and the decryption process, thereby enabling processing by a common function. In each round switching portion of the round function (F function), swap processing for exchanging each data series is executed. A function applied to the swap processing is a swap function. The swap function is one component of the encryption function. The swap function is applied to the output of each data series at the time of switching each round, and is a function for setting the input series in the next round corresponding to the output of each data series.

特開2000−194593号公報JP 2000-194593 A 特開2008−58826号公報JP 2008-58826 A

本発明の目的は、ドキュメントを利用したページング処理を含む一覧表示用情報(データ一覧情報)の自動作成を行う一覧表示自動作成システムを提供することである。   An object of the present invention is to provide an automatic list display creation system for automatically creating list display information (data list information) including paging processing using a document.

本発明に係る一覧表示自動作成システムは、サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、該サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力する開発端末と、データベースを管理し、該サーバ側のプログラムの呼び出しに応じて、該サーバ側のプログラムを実行し、該サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行するサーバと、該クライアント側のプログラムに従って、該サーバ側のプログラムを呼び出し、該データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除・追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うクライアントを含む。   The list display automatic creation system according to the present invention is based on the interface specifications between server and client, the source code of the server side program of the procedural language including SQL, and the client side program that calls the server side program. A development terminal that outputs source code, a common function that manages a database, executes the server-side program in response to the server-side program call, and packages the paging process according to the server-side program In accordance with the client-side program, the server-side program is called, the server-side program is searched, the database is searched, the search result is divided into a plurality of pages, and a list display including a paging process is performed. Delete and add data to a list with meaningful sequences While maintaining the sequence even if there is, including the client to perform a display by dividing the list of fixed line.

本発明に係る一覧表示自動作成方法は、計算機により実施される一覧表示自動作成方法であって、サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、該サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力することと、データベースを管理し、該サーバ側のプログラムの呼び出しに応じて、該サーバ側のプログラムを実行し、該サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行することと、該クライアント側のプログラムに従って、該サーバ側のプログラムを呼び出し、該データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除・追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うことを含む。   A list display automatic creation method according to the present invention is a list display automatic creation method implemented by a computer, and based on interface specifications between server clients, source code of a server-side program of a procedural language including SQL And the source code of the client-side program that calls the server-side program, manages the database, executes the server-side program in response to the server-side program call, and A common function packaged with paging processing according to the program on the client side, and calls the server program according to the client side program, searches the database, and divides the search results into multiple pages. List display including paging process to display A list that has a sequence that is taste, while maintaining the sequence even when there is a deletion and addition of data, including possible to display by dividing the list of fixed line.

本発明に係るプログラムは、上記の一覧表示自動作成方法における処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。   The program according to the present invention is a program for causing a computer to execute the processing in the above list display automatic creation method. The program according to the present invention can be stored in a storage device or a storage medium.

実際に内容を取得するための基本的なSQLさえ記述すれば、複雑な処理を意識することなく、ページング処理を含む一覧表示のシステムを作成することができる。   If only basic SQL for actually acquiring the contents is described, a list display system including a paging process can be created without being aware of complicated processes.

本発明に係る一覧表示自動作成システムの構成例を示す図である。It is a figure showing an example of composition of a list display automatic creation system concerning the present invention. インターフェース仕様書の例を示す図である。It is a figure which shows the example of an interface specification. SQLファイルの例を示す図である。It is a figure which shows the example of a SQL file. 本発明に係る一覧表示自動作成システムの処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the list display automatic creation system which concerns on this invention. 共通関数の処理の流れに従い、SQLの「WHERE」句を作成する手順を示す図である。It is a figure which shows the procedure which produces the "WHERE" phrase of SQL according to the flow of a process of a common function.

<実施形態>
以下に、本発明の実施形態について添付図面を参照して説明する。
<Embodiment>
Embodiments of the present invention will be described below with reference to the accompanying drawings.

本発明では、ページング処理を行う仕組みをサーバクライアントシステムの形で構成する。   In the present invention, a mechanism for performing paging processing is configured in the form of a server client system.

本発明におけるページング処理とは、日時順等、意味ある並びを持つ一覧を、データの削除や追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行う処理を指す。例えば、ページの最後の行の次の行が削除された場合、次のページではその次の行から一ページ分の一覧を表示するといった処理である。   The paging process in the present invention is a process of displaying a list having a meaningful sequence, such as date order, by dividing it into a list of fixed lines while maintaining the sequence even when data is deleted or added. Point to. For example, when the line following the last line of the page is deleted, the next page displays a list for one page from the next line.

[システム構成]
図1を参照して、本発明に係る一覧表示自動作成システムの構成例の詳細について説明する。
[System configuration]
With reference to FIG. 1, the detail of the structural example of the list display automatic creation system which concerns on this invention is demonstrated.

本発明に係る一覧表示自動作成システムは、開発端末10と、サーバ20と、クライアント30を含む。   The list display automatic creation system according to the present invention includes a development terminal 10, a server 20, and a client 30.

[開発端末の構成]
開発端末10は、仕様書作成部11と、ソースコード作成部12を備える。
[Development terminal configuration]
The development terminal 10 includes a specification creation unit 11 and a source code creation unit 12.

仕様書作成部11は、表計算ソフト(spread sheet software)を使用し、インターフェース仕様書1を作成する。表計算ソフトは、数値データの集計・分析に用いられる作表アプリケーションソフトウェアである。   The specification creation unit 11 creates the interface specification 1 by using spreadsheet software (spread sheet software). The spreadsheet software is a spreadsheet application software used for tabulating and analyzing numerical data.

ソースコード作成部12は、インターフェース仕様書1を基に、サーバ20用のソースコード2とクライアント30用のソースコード3を、マクロ(macro)によって作成・出力する。なお、マクロとは、表計算ソフト等において、特定の処理手順をプログラムとして記述して自動化する機能である。ここでは、ソースコード作成部12は、インターフェース仕様書1を読み込み、マクロによってソースコード2とソースコード3を作成し、サーバ20にソースコード2を提供し、クライアント30にソースコード3を提供する。   The source code creation unit 12 creates and outputs the source code 2 for the server 20 and the source code 3 for the client 30 by a macro based on the interface specification 1. The macro is a function for automating a specific processing procedure as a program in spreadsheet software or the like. Here, the source code creation unit 12 reads the interface specification 1, creates source code 2 and source code 3 using macros, provides the source code 2 to the server 20, and provides the source code 3 to the client 30.

[サーバの構成]
サーバ20は、データベース21と、データベース管理部22を備える。
[Server configuration]
The server 20 includes a database 21 and a database management unit 22.

データベース21は、リレーショナルデータベースである。   The database 21 is a relational database.

データベース管理部22は、データベース管理システム(DBMS:DataBase Management System)として機能し、手続き型プログラム言語で作成された関数を登録できる。また、データベース管理部22は、ソースコード2を基に、情報取得関数4や共通関数6を実行し、SQLファイル5を読み込んでページング処理を行う。   The database management unit 22 functions as a database management system (DBMS: DataBase Management System) and can register functions created in a procedural programming language. Further, the database management unit 22 executes the information acquisition function 4 and the common function 6 based on the source code 2, reads the SQL file 5, and performs paging processing.

[クライアントの構成]
クライアント30は、一覧表示用処理部31と、表示画面32を備える。
[Client Configuration]
The client 30 includes a list display processing unit 31 and a display screen 32.

一覧表示用処理部31は、ソースコード3を基に、サーバ20に登録された関数にアクセスし、当該関数を用いて得られたデータに対し、一覧表示用コントロール(表示コントロール)を使用し、ドキュメントを利用したページング処理を含む一覧表示用情報(データ一覧情報)の自動作成を行い、表示画面32に一覧表示する。   The list display processing unit 31 accesses a function registered in the server 20 based on the source code 3, and uses a list display control (display control) for data obtained by using the function. List display information (data list information) including paging processing using a document is automatically created and displayed in a list on the display screen 32.

表示画面32は、サーバ20に登録された関数にアクセスしてデータベース21を検索するためのGUI(Graphical User Interface)や、その検索結果に基づく一覧表示用情報(データ一覧情報)の表示を行う。   The display screen 32 displays GUI (Graphical User Interface) for accessing the function registered in the server 20 and searching the database 21 and list display information (data list information) based on the search result.

[ファイル・関数]
本発明に係る一覧表示自動作成システムでは、インターフェース仕様書1と、ソースコード2と、ソースコード3と、情報取得関数4と、SQLファイル5と、共通関数6が用いられる。
[File / Function]
In the list display automatic creation system according to the present invention, the interface specification 1, the source code 2, the source code 3, the information acquisition function 4, the SQL file 5, and the common function 6 are used.

インターフェース仕様書1は、ソースコードを作成する際に用いられる仕様書であって、API(Application Program Interface)等のインターフェースとなる関数や、この関数で使用される変数の設定が記述された仕様書である。   The interface specification 1 is a specification used when creating a source code, and is a specification describing a function to be an interface such as an API (Application Program Interface) and setting of variables used in this function. It is.

ソースコード2は、サーバ20上で実行されるデータ取得のための関数の処理のソースコードである。具体的には、ソースコード2は、後述する情報取得関数4の処理のソースコードである。   The source code 2 is a source code for processing a function for data acquisition executed on the server 20. Specifically, the source code 2 is a source code for processing of the information acquisition function 4 described later.

ソースコード3は、クライアント30側から、サーバ20側の情報取得関数4を呼び出すために必要な情報を一覧表示コントロールの関数を使用して設定する処理のソースコードである。   The source code 3 is a source code of a process for setting information necessary for calling the information acquisition function 4 on the server 20 side from the client 30 side using a list display control function.

情報取得関数4は、SQL文(SQLコマンドライン)を記述できる手続き型プログラミング言語で作成された関数であり、クライアント30側からの要求に応じて、SQLファイル5を読み込んでページング処理を行い、クライアント30側に結果を返す関数である。ここでは、情報取得関数4は、ソースコード2をコンパイル(又はビルド)して変換したものであり、サーバ20に登録される。すなわち、情報取得関数4は、「サーバ20に登録された関数」の1つとなる。   The information acquisition function 4 is a function created in a procedural programming language that can describe an SQL statement (SQL command line). In response to a request from the client 30 side, the information acquisition function 4 reads the SQL file 5 and performs paging processing. This function returns the result to the 30th side. Here, the information acquisition function 4 is obtained by compiling (or building) and converting the source code 2 and is registered in the server 20. That is, the information acquisition function 4 is one of “functions registered in the server 20”.

SQLファイル5は、データ取得のためのSQL文が記述されたファイルであり、情報取得関数4により読み込まれる。SQLファイル5は、外部ファイルであるため、更新/修正が容易である。   The SQL file 5 is a file in which an SQL statement for data acquisition is described, and is read by the information acquisition function 4. Since the SQL file 5 is an external file, it can be easily updated / modified.

共通関数6は、情報取得関数4の処理のうちページング処理を共通関数という形でパッケージ化したものである。ここでは、共通関数6は、実際にSQLファイル5からSQL文を読み込み、SQL文を書き直して、データ取得及びパラメータ作成等の処理や、ページング処理を行う関数である。これらの処理に用いられる引数は、ソースコード2に書き込まれており、情報取得関数4から共通関数6に与えられる。なお、共通関数6は、ソースコード2に直接記述された関数(埋め込まれた関数)に限らず、情報取得関数4により呼び出される外部ファイルに記述された関数でも良い。例えば、共通関数6は、ライブラリ(Library)のように、再利用可能な形式で保持されていても良い。   The common function 6 is a package of paging processing in the form of a common function among the processing of the information acquisition function 4. Here, the common function 6 is a function that actually reads a SQL statement from the SQL file 5, rewrites the SQL statement, and performs processing such as data acquisition and parameter creation, and paging processing. The arguments used for these processes are written in the source code 2 and given from the information acquisition function 4 to the common function 6. The common function 6 is not limited to a function (embedded function) described directly in the source code 2 but may be a function described in an external file called by the information acquisition function 4. For example, the common function 6 may be held in a reusable format such as a library.

なお、情報取得関数4、SQLファイル5、及び共通関数6は、シェル・スクリプト等でも良い。   The information acquisition function 4, the SQL file 5, and the common function 6 may be a shell script or the like.

[ファイル・関数と各部との関係]
開発端末10の仕様書作成部11は、インターフェース仕様書1に、データ取得のための情報取得関数4を作成する際に必要となる引数の情報と、SQLファイル5を読み込んでページング処理を行うために必要な情報を記述する。
[Relationship between file / function and each part]
The specification creation unit 11 of the development terminal 10 performs paging processing by reading the SQL file 5 and the argument information necessary for creating the information acquisition function 4 for data acquisition in the interface specification 1 Describe necessary information.

開発端末10のソースコード作成部12は、ソースコード2を作成する際、インターフェース仕様書1の情報を共通関数6の引数に設定する。これにより、サーバ20は、ソースコード2に基づく情報取得関数4を用いて共通関数6を呼び出した際、共通関数6に従ってページング処理を行い、取得した情報を呼び出し元であるソースコード2に基づく情報取得関数4に返す。   The source code creation unit 12 of the development terminal 10 sets information of the interface specification 1 as an argument of the common function 6 when creating the source code 2. As a result, when the server 20 calls the common function 6 using the information acquisition function 4 based on the source code 2, the server 20 performs paging processing according to the common function 6, and uses the acquired information based on the source code 2 that is the caller. Return to get function 4.

ここでは、ソースコード2の記述言語として、非手続き型言語(non−procedual language)であるSQLを手続き型言語(procedural language)に拡張した「PL/SQL」(Procedural Language Extensions to SQL)を想定している。但し、実際には、これらの例に限定されない。   Here, as a description language of the source code 2, “PL / SQL” (Procedural Language Extensions to SQL) in which SQL, which is a non-procedural language, is expanded to a procedural language, is assumed. ing. However, actually, it is not limited to these examples.

PL/SQLによる処理は、手続き型言語であり、埋め込みSQLによる処理と同様に、変数を利用でき、制御構造を記述して業務ロジックをデータベース内に実装することができる。   The processing by PL / SQL is a procedural language, and similarly to the processing by embedded SQL, variables can be used, and the business logic can be implemented in the database by describing the control structure.

PL/SQLは、ストアドプロシージャ、ストアドファンクション、及びストアドパッケージ等により構成される。ストアドプロシージャは、データベースに格納(Stored)されているユーザープログラム(Procedure)である。ストアドファンクションは、ストアドプロシージャの機能を内包しているものや、ストアドプロシージャ自体に戻り値を持たせたものである。ストアドパッケージは、ストアドプロシージャとストアドファンクションのライブラリ集である。   PL / SQL includes a stored procedure, a stored function, a stored package, and the like. The stored procedure is a user program (Procedure) stored in a database. A stored function includes a function of the stored procedure or a stored procedure itself having a return value. A stored package is a collection of stored procedures and stored functions.

PL/SQLでは、ストアドプロシージャ、ストアドファンクション、及びストアドパッケージは、通常、登録作成時や呼び出し時に自動的にコンパイルされる。しかし、プログラムを変更したことによって他のプログラムに影響を与える場合には、事前にコンパイルしておくと好適である。   In PL / SQL, stored procedures, stored functions, and stored packages are usually automatically compiled at the time of registration creation or call. However, if the change of the program affects other programs, it is preferable to compile in advance.

なお、サーバ20のデータベース管理部22は、ソースコード2がコンパイラ言語(VB、C、C++、Java等)で記述されている場合、ソースコード2をコンパイル(又はビルド)してオブジェクトコード(object code:実行形式プログラム)に変換し、このオブジェクトコードを登録する。このオブジェクトコードは、デーモン(daemon)やエージェント(agent)等のソフトウェアとして、サーバ20上で常時稼働していても良い。なお、ソースコード2がインタープリタ言語(Perl、PHP:Hypertext Preprocessor等)で記述されている場合には、コンパイルを行う必要はない。   When the source code 2 is described in a compiler language (VB, C, C ++, Java, etc.), the database management unit 22 of the server 20 compiles (or builds) the source code 2 and generates an object code (object code). : Executable program) and register this object code. This object code may always be operated on the server 20 as software such as a daemon or an agent. When the source code 2 is described in an interpreter language (Perl, PHP: Hypertext Preprocessor, etc.), it is not necessary to compile.

例えば、データベース管理部22は、「Java Servlet」や「JSP」(JavaServer Pages)等により情報取得関数4を実行する場合、ソースコード2をコンパイル(又はビルド)してオブジェクトコードに変換し、このオブジェクトコードを登録する。   For example, when executing the information acquisition function 4 by “Java Servlet” or “JSP” (Java Server Pages), the database management unit 22 compiles (or builds) the source code 2 and converts it into an object code. Register the code.

反対に、データベース管理部22は、「CGI」(Common Gateway Interface)等により情報取得関数4を実行する場合、既存のソースコード2を、新規のソースコード2で上書きする。すなわち、既存のソースコード2に対して、新規のソースコード2との相違点(変更箇所)を反映する。   On the other hand, the database management unit 22 overwrites the existing source code 2 with the new source code 2 when executing the information acquisition function 4 by “CGI” (Common Gateway Interface) or the like. That is, the difference (changed part) from the new source code 2 is reflected in the existing source code 2.

また、開発端末10のソースコード作成部12は、ソースコード3を、クライアント30の表示画面プログラムに追記する。これにより、クライアント30は、一覧表示コントロールで必要な初期設定について、サーバ20側と整合性を保つことができる。   Further, the source code creating unit 12 of the development terminal 10 adds the source code 3 to the display screen program of the client 30. Thereby, the client 30 can maintain consistency with the server 20 side with respect to the initial setting necessary for the list display control.

クライアント30の一覧表示用処理部31は、表示画面プログラムに従って、表示画面32内に独立した小さな画面領域(ウィンドウ:window)を用意して、その中に一覧表示用情報(データ一覧情報)を表示する。   The list display processing unit 31 of the client 30 prepares an independent small screen area (window) in the display screen 32 in accordance with the display screen program, and displays list display information (data list information) therein. To do.

表示画面プログラムは、表示画面32内にウィンドウ(window)を表示するためのプログラムである。一覧表示用コントロールは、表示画面プログラムの中に存在し、ウィンドウ(window)の中にデータを一覧表示するための機能又は関数である。   The display screen program is a program for displaying a window in the display screen 32. The list display control exists in the display screen program and is a function or function for displaying a list of data in a window.

表示画面プログラムの例として、ウィンドウ(window)内にデータを表示可能なアプリケーションソフトウェアを想定している。このようなアプリケーションソフトウェアの例として、HTML(HyperText Markup Language)やXML(eXtensible Markup Language)等のマークアップ言語を用いた構造化文書を表示するブラウザ等も考えられる。但し、実際には、これらの例に限定されない。   As an example of the display screen program, application software capable of displaying data in a window is assumed. As an example of such application software, a browser that displays a structured document using a markup language such as HTML (HyperText Markup Language) or XML (Extensible Markup Language) can be considered. However, actually, it is not limited to these examples.

一覧表示用処理部31は、ソースコード3の内容を基に、クライアント30側から、サーバ20側の情報取得関数4を呼び出すために必要な情報を、クライアント30上の表示画面プログラムに追加する。例えば、一覧表示用処理部31は、ソースコード3の内容を基に、表示画面プログラムに所定の引数を渡したり、一覧表示用コントロールの設定情報を変更したりする。   Based on the contents of the source code 3, the list display processing unit 31 adds information necessary for calling the information acquisition function 4 on the server 20 side from the client 30 side to the display screen program on the client 30. For example, the list display processing unit 31 passes predetermined arguments to the display screen program or changes the setting information of the list display control based on the contents of the source code 3.

なお、表示画面プログラムは、上記のような構造化文書である場合、サーバ20上に存在していても良い。一覧表示用処理部31は、ブラウザ等を用いてサーバ20上の表示画面プログラムにアクセスした際に、この表示画面プログラムを取得(ダウンロード)して一時保存し、この表示画面プログラムに基づく内容を表示画面32に表示する。この場合、一覧表示用処理部31は、クライアント30上に一時保存された表示画面プログラムに、ソースコード3の内容を追加することになる。   Note that the display screen program may exist on the server 20 in the case of the structured document as described above. When accessing the display screen program on the server 20 using a browser or the like, the list display processing unit 31 acquires (downloads) and temporarily stores the display screen program, and displays contents based on the display screen program. It is displayed on the screen 32. In this case, the list display processing unit 31 adds the contents of the source code 3 to the display screen program temporarily stored on the client 30.

また、一覧表示用処理部31は、ソースコード3がコンパイラ言語で記述されている場合、ソースコード3をコンパイル(又はビルド)してオブジェクトコードに変換し、このオブジェクトコードを新規の表示画面プログラムとして、既存の表示画面プログラムを更新しても良い。例えば、表示画面プログラムに埋め込まれた関数やコードが、ソースコード3に基づくオブジェクトコードを呼び出すものであれば、このオブジェクトコードさえ更新すれば、表示画面プログラムの更新は不要となる。   Further, when the source code 3 is described in a compiler language, the list display processing unit 31 compiles (or builds) the source code 3 to convert it into an object code, and converts the object code as a new display screen program. The existing display screen program may be updated. For example, if a function or code embedded in the display screen program calls an object code based on the source code 3, it is not necessary to update the display screen program as long as this object code is updated.

[ハードウェアの例示]
以下に、本発明に係る一覧表示自動作成システムを構成する具体的なハードウェアの例について説明する。
[Hardware example]
Below, the example of the concrete hardware which comprises the list display automatic creation system which concerns on this invention is demonstrated.

開発端末10、サーバ20、及びクライアント30の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、開発端末10、サーバ20、及びクライアント30は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、開発端末10、サーバ20、及びクライアント30は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。開発端末10、サーバ20、及びクライアント30は、車両や船舶、航空機等の移動体に搭載されていても良い。   As examples of the development terminal 10, the server 20, and the client 30, a computer such as a PC (personal computer), an appliance, a thin client server, a workstation, a mainframe, and a supercomputer is assumed. The development terminal 10, the server 20, and the client 30 are not limited to terminals and servers, and may be relay devices or peripheral devices. The development terminal 10, the server 20, and the client 30 may be an expansion board mounted on a computer or the like, or a virtual machine (VM: Virtual Machine) built on a physical machine. The development terminal 10, the server 20, and the client 30 may be mounted on a moving body such as a vehicle, a ship, or an aircraft.

また、本発明に係る一覧表示自動作成システム自体が、単体の計算機等であっても良い。すなわち、開発端末10、サーバ20、及びクライアント30は、同一の計算機でも良い。   Further, the list display automatic creation system itself according to the present invention may be a single computer or the like. That is, the development terminal 10, the server 20, and the client 30 may be the same computer.

図示しないが、上記のような計算機は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。   Although not shown, the computer as described above is realized by a processor that is driven based on a program and executes predetermined processing, a memory that stores the program and various data, and an interface used for communication with a network.

上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路(IC:Integrated Circuit)等が考えられる。   Examples of the processor include a CPU (Central Processing Unit), a network processor (NP), a microprocessor, a microcontroller, or a semiconductor integrated circuit (IC: Integrated Circuit) having a dedicated function. Conceivable.

上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)でも良い。或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置でも良い。   Examples of the memory include semiconductor storage devices such as a RAM (Random Access Memory), a ROM (Read Only Memory), an EEPROM (Electrically Erasable and Programmable Read Only Memory), a flash memory, and an HDD (Hold SMD). An auxiliary storage device such as State Drive), a removable disk such as a DVD (Digital Versatile Disk), a storage medium such as an SD memory card (Secure Digital memory card), or the like is conceivable. Further, a buffer or a register may be used. Alternatively, DAS (Direct Attached Storage), FC-SAN (Fibre Channel-Storage Area Network), NAS (Network Attached Storage), IP-SAN (IP-Storage Area), etc. may be used.

なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例が考えられる。   Note that the processor and the memory may be integrated. For example, in recent years, a single chip such as a microcomputer has been developed. Therefore, a case where a one-chip microcomputer mounted on an electronic device or the like includes the processor and the memory can be considered.

上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。   Examples of the interfaces include semiconductor integrated circuits such as substrates (motherboards and I / O boards) and chips that support network communication, network adapters such as NIC (Network Interface Card), and similar expansion cards and communication devices such as antennas. A communication port such as a connection port (connector) is conceivable.

また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。   Examples of the network include the Internet, a LAN (Local Area Network), a wireless LAN (Wireless LAN), a WAN (Wide Area Network), a backbone (Backbone), a cable television (CATV) line, a fixed telephone network, a mobile phone network, WiMAX (IEEE 802.16a), 3G (3rd Generation), dedicated line (lease line), IrDA (Infrared Data Association), Bluetooth (registered trademark), serial communication line, data bus, and the like can be considered.

なお、開発端末10、サーバ20、及びクライアント30内の各部(内部構成)は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。   Each unit (internal configuration) in the development terminal 10, the server 20, and the client 30 may be a module, a component, a dedicated device, or an activation (calling) program thereof.

また、開発端末10の仕様書作成部11の例として、KVM(キーボード・ビデオ・マウス)、コンソール(console)、キーパッド(keypad)、タッチパネル(touch panel)、タブレット(tablet)等の入力装置、又は、各種の情報伝達媒体の読取装置が考えられる。或いは、仕様書作成部11は、外部の入力装置や記憶装置等から情報を取得するためのインターフェース(I/F:interface)でも良い。   Examples of the specification creation unit 11 of the development terminal 10 include input devices such as a KVM (keyboard / video / mouse), a console (console), a keypad (keypad), a touch panel (touch panel), and a tablet (tablet). Alternatively, various information transmission medium readers can be considered. Alternatively, the specification creation unit 11 may be an interface (I / F: interface) for acquiring information from an external input device or storage device.

また、クライアント30の表示画面32の例として、LCD(液晶ディスプレイ)やPDP(プラズマディスプレイ)、有機ELディスプレイ(organic electroluminescence display)等の表示装置、出力内容を用紙等に印刷するプリンタ等の印刷装置、又は、出力内容を壁やスクリーンに投影するプロジェクタ等の映写装置等が考えられる。或いは、表示画面32は、外部の表示装置や記憶装置等に情報を出力するためのインターフェース(I/F)でも良い。すなわち、表示画面32は、何らかの出力装置であれば良い。   Examples of the display screen 32 of the client 30 include a display device such as an LCD (Liquid Crystal Display), a PDP (Plasma Display), and an organic EL display (Organic Electroluminescence Display), and a printing device such as a printer that prints output contents on paper. Alternatively, a projection device such as a projector that projects the output content on a wall or a screen can be considered. Alternatively, the display screen 32 may be an interface (I / F) for outputting information to an external display device or storage device. That is, the display screen 32 may be any output device.

但し、実際には、これらの例に限定されない。   However, actually, it is not limited to these examples.

[インターフェース仕様書の詳細]
図2を参照して、インターフェース仕様書1の詳細について説明する。
[Details of interface specifications]
Details of the interface specification 1 will be described with reference to FIG.

インターフェース仕様書1には、「関数名」と、「内容」と、「入力パラメータ」と、「出力パラメータ」と、「ソートキー」(ソートパラメータ)が記述されている。   The interface specification 1 describes “function name”, “content”, “input parameter”, “output parameter”, and “sort key” (sort parameter).

「関数名」は、関数の名称を示す。ここでは、「関数名」には、「TEST情報取得関数」を示す「func_test」が記述されている。   “Function name” indicates the name of the function. Here, “func_test” indicating “TEST information acquisition function” is described in “function name”.

「内容」は、関数の処理内容の説明文を示す。ここでは、「内容」には、「テストの情報を取得する」という旨の説明が記述されている。   “Content” indicates a description of the processing content of the function. Here, in the “content”, an explanation that “acquires test information” is described.

「入力パラメータ」は、関数に入力される変数を定義した情報を示す。「入力パラメータ」には、「日本語名」、「変数名」、「SQLで使用するかどうかの区分」、「変数の型」、「桁数」がテーブル形式で記述されている。ここでは、入力パラメータのテーブルの1行目には、「日本語名:入力1」、「変数名:input1」、「SQLで使用するかどうかの区分:する」、「変数の型:CHAR」、「桁数:5」が記述されている。また、入力パラメータのテーブルの2行目には、「日本語名:入力2」、「変数名:input2」、「SQLで使用するかどうかの区分:しない」、「変数の型:INT」、「桁数:2」が記述されている。   “Input parameter” indicates information defining a variable input to the function. In “input parameter”, “Japanese name”, “variable name”, “classification of whether to use in SQL”, “variable type”, and “number of digits” are described in a table format. Here, the first line of the input parameter table includes “Japanese name: input 1”, “variable name: input 1”, “classification of whether to use in SQL: yes”, “variable type: CHAR”. “Number of digits: 5” is described. In the second row of the input parameter table, “Japanese name: input 2”, “variable name: input2”, “classification of whether to use in SQL: no”, “variable type: INT”, “Number of digits: 2” is described.

「出力パラメータ」は、関数から出力される変数を定義した情報を示す。「出力パラメータ」には、「日本語名」、「変数名」、「変数の型」、「桁数」、「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」が記述されている。   “Output parameter” indicates information defining a variable output from the function. In “output parameter”, “Japanese name”, “variable name”, “variable type”, “number of digits”, and “SQL column order” are described in a table format. Here, the first line of the output parameter table includes “Japanese name: item A”, “variable name: output_a”, “variable type: INT”, “number of digits: 1”, “SQL column”. "Order: 1" is described. In the second row of the output parameter table, “Japanese name: item B”, “variable name: output_b”, “variable type: CHAR”, “number of digits: 4”, “SQL column order” : 3 "is described. In the third row of the output parameter table, “Japanese name: item C”, “variable name: output_c”, “variable type: CHAR”, “number of digits: 5”, “SQL column order” : 4 "is described.

「ソートキー」(ソートパラメータ)は、並び替えに必要なキーとなる変数を定義した情報を示す。「ソートキー」には、優先順位が高い順に、「日本語名」、「変数名」、「変数の型」、「桁数」、「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」、「昇順/降順:降順」が記述されている。   “Sort key” (sort parameter) indicates information defining a variable to be a key necessary for sorting. In “sort key”, “Japanese name”, “variable name”, “variable type”, “number of digits”, “SQL column order”, and “ascending / descending order” are in table format in descending order of priority. It is described in. Here, the first line of the sort key (sort parameter) table includes “Japanese name: key A”, “variable name: key_a”, “variable type: INT”, “number of digits: 1”, “SQL”. Column order: 1 ”and“ ascending order / descending order: ascending order ”are described. In the second row of the sort key (sort parameter) table, “Japanese name: key B”, “variable name: key_b”, “variable type: CHAR”, “number of digits: 4”, “SQL” “Order of column: 2” and “Ascending order / Descending order: Descending order” are described. In the third row of the sort key (sort parameter) table, “Japanese name: key C”, “variable name: key_c”, “variable type: CHAR”, “number of digits: 4”, “SQL” “Order of column: 3” and “Ascending order / Descending order: Descending order” are described.

[SQLファイルの詳細]
図3を参照して、SQLファイル5の詳細について説明する。
[Details of SQL file]
Details of the SQL file 5 will be described with reference to FIG.

SQLファイル5には、データ取得のためのSQL文が記述されている。   In the SQL file 5, an SQL statement for data acquisition is described.

当該SQL文は、「SELECT “テーブル別名”.“フィールド1” “フィールド別名” FROM “テーブル名” “テーブル別名” WHERE “条件式1” AND “条件式2”」という構文で記述されている。   The SQL statement is described in a syntax of “SELECT“ table alias ”.“ Field 1 ”“ field alias ”FROM“ table name ”“ table alias ”WHERE“ conditional expression 1 ”AND“ conditional expression 2 ”.

図3に示すSQL文には、「SELECT t1.a a, t2.b b, t1.c c, t2.d d FROM test1_table t1, test2_table t2 WHERE t1.key1=t2.key1 AND a>:input1」と記述されている。   The SQL statement shown in FIG. 3 includes “SELECT t1.a a, t2.b b, t1.c c, t2.d d FROM test1_table t1, test2_table t2 WHERE t1.key1 = t2.key1 AND1> 1. It is described.

「:」が文字列の頭にある変数は「バインド変数」を示す。バインド変数は、データベースを操作するプログラムを作成する際に、SQL文に埋め込まれる当該プログラムの変数である。ここでは、バインド変数は、図2に示すインターフェース仕様書1の入力パラメータ「入力1」の変数「input1」である。   A variable having “:” at the beginning of the character string indicates a “bind variable”. The bind variable is a variable of the program that is embedded in the SQL statement when a program for operating the database is created. Here, the bind variable is the variable “input1” of the input parameter “input 1” of the interface specification 1 shown in FIG.

すなわち、図3に示すSQL文には、「test_table1」(テーブル別名「t1」とする)、「test_table2」(テーブル別名「t2」とする)という2つのテーブルのレコードを検索し、テーブル「t1」のフィールド「key1」の値がテーブル「t2」のフィールド「key1」の値と等しく、テーブル「t1」のフィールド「a」の値がバインド変数「input1」の値より大きいという条件を満たす場合、テーブル「t1」のフィールド「a」と、テーブル「t2」のフィールド「b」と、テーブル「t1」のフィールド「c」と、テーブル「t2」のフィールド「d」を出力する旨が記載されている。   That is, in the SQL statement shown in FIG. 3, the records of two tables “test_table1” (table alias “t1”) and “test_table2” (table alias “t2”) are searched, and the table “t1” is searched. When the condition that the value of the field “key1” of the table is equal to the value of the field “key1” of the table “t2” and the value of the field “a” of the table “t1” is greater than the value of the bind variable “input1” is satisfied It describes that the field “a” of “t1”, the field “b” of the table “t2”, the field “c” of the table “t1”, and the field “d” of the table “t2” are output. .

[処理手順]
図4を参照して、本発明に係る一覧表示自動作成システムの処理手順について詳細に説明する。
[Processing procedure]
With reference to FIG. 4, the processing procedure of the list display automatic creation system according to the present invention will be described in detail.

(1)ステップS101
仕様書作成部11は、表計算ソフトを使用し、インターフェース仕様書1を作成する。
(1) Step S101
The specification creation unit 11 creates the interface specification 1 using spreadsheet software.

このとき、仕様書作成部11は、インターフェース仕様書1に、図2に示すように、「入力パラメータ」、「出力パラメータ」、及び「ソートキー」(並び替えに必要なキー)の情報を記述する。   At this time, the specification creating unit 11 describes the information of “input parameter”, “output parameter”, and “sort key” (key necessary for sorting) in the interface specification 1 as shown in FIG. .

ここでは、仕様書作成部11は、「入力パラメータ」に、「日本語名」、「変数名」、「SQLで使用するかどうかの区分」、「変数の型」、「桁数」を記述する。   Here, the specification creating unit 11 describes “Japanese name”, “variable name”, “classification of whether to use in SQL”, “variable type”, “number of digits” in “input parameter”. To do.

また、仕様書作成部11は、「出力パラメータ」に、「日本語名」、「変数名」、「変数の型」、「桁数」、「SQLの列の順番」を記述する。なお、「SQLの列の順番」は、「データを取得するためのSQLのSELECT句の要素の何番目にあたるか」を示す。   In addition, the specification creation unit 11 describes “Japanese name”, “variable name”, “variable type”, “number of digits”, and “SQL column order” in “output parameter”. The “SQL column order” indicates “the order number of the elements in the SQL SELECT clause for acquiring data”.

また、仕様書作成部11は、「ソートキー」に、優先順位が高い順に、「日本語名」、「変数名」、「変数の型」、「桁数」、「SQLの列の順番」、「昇順/降順」を記述する。なお、「昇順/降順」は、「昇順で並べるか降順で並べるか」を示す。   In addition, the specification creating unit 11 sets “sort key” in descending order of priority, “Japanese name”, “variable name”, “variable type”, “number of digits”, “SQL column order”, Describe "ascending / descending order". “Ascending order / descending order” indicates “whether they are arranged in ascending order or descending order”.

(2)ステップS102
ソースコード作成部12は、このインターフェース仕様書1から、「関数の名前」や「引数」を抽出し、「関数の宣言文」や「処理文」を含むソースコード2やソースコード3を、マクロ等によって作り出す。
(2) Step S102
The source code creation unit 12 extracts the “function name” and “argument” from the interface specification 1, and converts the source code 2 and source code 3 including the “function declaration statement” and “processing statement” into a macro. Produced by etc.

このとき、ソースコード作成部12は、「引数」として、「入力パラメータに記述された値」や「出力パラメータに記述された値」に加えて、以下のような「共通の入力引数/出力引数」を追加する。   At this time, the source code creation unit 12 adds, in addition to “value described in the input parameter” and “value described in the output parameter” as “argument”, the following “common input argument / output argument” "Is added.

ここでは、ソースコード作成部12は、「共通の入力引数」として、「取得最大行数」や「先頭行のソートキーの値をまとめたもの」(以下、ポジションキーと呼ぶ)を追加する。   Here, the source code creation unit 12 adds “the maximum number of rows to be acquired” and “a sum of the values of the sort keys in the first row” (hereinafter referred to as position keys) as “common input arguments”.

また、ソースコード作成部12は、「共通の出力引数」として、「取得行数」、「取得したデータより前にデータが存在するかの区分(データあり/なし)」(以下、トップフラグと呼ぶ)、「取得したデータより後にデータが存在するかの区分(データあり/なし)」(以下、エンドフラグと呼ぶ)、及び「取得したデータの最後のポジションキー」(以下、エンドポジションキーと呼ぶ)を追加する。   In addition, the source code creation unit 12 sets, as “common output argument”, “number of acquired lines”, “classification of whether data exists before acquired data (with / without data)” (hereinafter referred to as top flag) Called), “classification of whether data exists after acquired data (with / without data)” (hereinafter referred to as end flag), and “last position key of acquired data” (hereinafter referred to as end position key) Add).

また、ソースコード作成部12は、「処理文」として、「共通関数6の呼び出し」、「共通関数6の引数に設定する値の代入」、及び「共通関数6で取得したデータを関数の出力引数に代入する処理」を記述する。   In addition, the source code creation unit 12 outputs, as the “process statement”, “call of the common function 6”, “substitution of the value set to the argument of the common function 6”, and “data acquired by the common function 6” "Process to assign to argument" is described.

(3)ステップS103
ソースコード作成部12は、ソースコード2を出力する。サーバ20は、ソースコード2を入力する。ここでは、ソースコード2は、コンパイラ言語で記述されているものとする。サーバ20のデータベース管理部22は、DBMSとして機能し、インターフェース仕様書1から作成された関数のソースコード2をコンパイル(又はビルド)して情報取得関数4に変換し、この情報取得関数4を登録する。
(3) Step S103
The source code creation unit 12 outputs the source code 2. The server 20 inputs the source code 2. Here, it is assumed that the source code 2 is described in a compiler language. The database management unit 22 of the server 20 functions as a DBMS, compiles (or builds) the source code 2 of the function created from the interface specification 1 and converts it into the information acquisition function 4, and registers this information acquisition function 4 To do.

(4)ステップS104
ソースコード作成部12は、ソースコード3を出力する。クライアント30は、ソースコード3を入力する。クライアント30の一覧表示用処理部31は、ソースコード3を基に、サーバ20側の情報取得関数4を呼び出すために必要な情報を、一覧表示コントロールの関数を使用して設定する。
(4) Step S104
The source code creation unit 12 outputs the source code 3. The client 30 inputs the source code 3. Based on the source code 3, the list display processing unit 31 of the client 30 sets information necessary for calling the information acquisition function 4 on the server 20 side using a list display control function.

(5)ステップS105
一覧表示用処理部31は、一覧表示用コントロールを使用し、サーバ20にアクセスし、サーバ20に登録された情報取得関数4を呼び出す。
(5) Step S105
The list display processing unit 31 uses the list display control to access the server 20 and call the information acquisition function 4 registered in the server 20.

(6)ステップS106
データベース管理部22は、クライアント30側からの呼び出しに応じて、情報取得関数4の処理を実行する。
(6) Step S106
The database management unit 22 executes the process of the information acquisition function 4 in response to the call from the client 30 side.

(7)ステップS107
データベース管理部22は、情報取得関数4の処理を実行した場合、共通関数6を呼び出す。なお、共通関数6は、情報取得関数4に含まれている。情報取得関数4と共通関数6は、別のファイルに記述されていても良い。
(7) Step S107
The database management unit 22 calls the common function 6 when the information acquisition function 4 is executed. The common function 6 is included in the information acquisition function 4. The information acquisition function 4 and the common function 6 may be described in separate files.

(8)ステップS108
データベース管理部22は、共通関数6の処理を実行した場合、入力引数のソートキーの情報を基に、SQLの「WHERE」句、並びに「ORDER BY」句を作成し、SQLファイル5のSQL文に追加し、実行するSQL文を作成する処理と、バインド変数に値を代入し、このSQL文を実行して、SQL文の実行結果を取得する処理を行う。
(8) Step S108
When executing the process of the common function 6, the database management unit 22 creates the “WHERE” phrase and the “ORDER BY” phrase of SQL based on the information of the sort key of the input argument, and the SQL statement of the SQL file 5 Processing to add and create a SQL statement to be executed, and to assign a value to a bind variable, execute the SQL statement, and acquire the execution result of the SQL statement.

(9)ステップS109
一覧表示用処理部31は、ドキュメントを利用したページング処理を含む一覧表示用情報の自動作成を行い、表示画面32に一覧表示する。
(9) Step S109
The list display processing unit 31 automatically creates list display information including paging processing using a document and displays the list on the display screen 32.

[クライアント側のソースコードの作成・出力]
以下に、図4のステップS102及びステップS104におけるソースコード3の作成・出力の処理の例について説明する。
[Create and output client-side source code]
Hereinafter, an example of processing for creating and outputting the source code 3 in step S102 and step S104 in FIG. 4 will be described.

クライアント30側のプログラムとなる一覧表示用コントロールは、情報取得関数5の呼び出しに必要な引数指定の関数を持ち、サーバ20に登録されている情報取得関数5を呼び出し、情報取得関数5から取得したデータを表形式で表示する機能を持つ。   The control for list display that is a program on the client 30 side has a function for specifying an argument necessary for calling the information acquisition function 5, calls the information acquisition function 5 registered in the server 20, and acquires it from the information acquisition function 5. Has the ability to display data in tabular form.

開発端末10のソースコード作成部12は、マクロを用いて、インターフェース仕様書1から引数の値を抽出し、この一覧表示用コントロールが持つ引数指定の関数に、それらの引数の値を入れた形で、ソースコード3を作成して出力する。   The source code creation unit 12 of the development terminal 10 uses macros to extract argument values from the interface specification 1 and put these argument values in the argument designation function of the list display control. Then, source code 3 is created and output.

[情報取得関数の呼び出し処理]
以下に、図4のステップS105における情報取得関数5の呼び出し処理の例について説明する。
[Information acquisition function call processing]
Hereinafter, an example of the calling process of the information acquisition function 5 in step S105 in FIG. 4 will be described.

クライアント30の一覧表示用処理部31は、一覧表示用コントロールを使用する表示画面プログラムにソースコード3を追加して、一覧表示用コントロールに、情報取得関数5を呼び出す関数と、次のページを読み込む動作を行う関数を用意し、その関数で使用される引数に入れるべき値であるポジションキーと取得最大行数等を設定する。   The list display processing unit 31 of the client 30 adds the source code 3 to the display screen program that uses the list display control, and reads the function that calls the information acquisition function 5 and the next page into the list display control. Prepare a function that performs the operation, and set the position key, the maximum number of rows to be acquired, etc.

一覧表示用処理部31は、表示画面プログラムを実行し、その表示画面プログラムを実行することで、サーバ20に登録されている情報取得関数5を呼び出す。   The list display processing unit 31 executes the display screen program and calls the information acquisition function 5 registered in the server 20 by executing the display screen program.

[共通関数の処理]
以下に、図4のステップS108における共通関数6の処理の流れについて説明する。
[Common function processing]
Hereinafter, the flow of processing of the common function 6 in step S108 in FIG. 4 will be described.

ここでは、インターフェース仕様書1は、図2に示すとおりである。また、SQLファイル5は、図3に示すとおりである。   Here, the interface specification 1 is as shown in FIG. The SQL file 5 is as shown in FIG.

[「WHERE」句の作成]
サーバ20のデータベース管理部22は、「WHERE」句を作成する手順を、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)の数に応じたステップ数で行う。
[Create “WHERE” phrase]
The database management unit 22 of the server 20 performs the procedure for creating the “WHERE” phrase with the number of steps corresponding to the number of “sort keys” (sort parameters) in the interface specification 1 shown in FIG.

ここでは、データベース管理部22は、図3に示すSQLファイル5内の「WHERE」句に追加するSQL文を記述する。   Here, the database management unit 22 describes the SQL statement to be added to the “WHERE” phrase in the SQL file 5 shown in FIG.

[「キーA」の部分の作成]
まず、データベース管理部22は、SQLファイル5内の「WHERE」句と処理の混合を避けるため、「AND」と「括弧で括った文字列」を作成し、その文字列の中に、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)で1番上に記述された「キーA」の部分を作成する。
[Create “Key A” part]
First, the database management unit 22 creates “AND” and “a character string enclosed in parentheses” in order to avoid mixing the “WHERE” phrase in the SQL file 5 with the processing, and FIG. The “key A” portion described at the top in the “sort key” (sort parameter) of the interface specification 1 shown in FIG.

データベース管理部22は、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)において、「キーA」の「変数名」は「key_a」と指定され、「キーA」の「SQLの列の順番」は「1」(SQLファイル5の一列目)と指定され、「キーA」の「昇順/降順」は「昇順」と指定されているので、「((t1.a > :key_a))」と記述する。変数「key_a」は、「:」が文字列の頭にあるため、バインド変数である。   In the “sort key” (sort parameter) of the interface specification 1 shown in FIG. 2, the database management unit 22 designates the “variable name” of “key A” as “key_a” and the “SQL column” of “key A”. “Order” is designated as “1” (first row of the SQL file 5), and “ascending / descending order” of “key A” is designated as “ascending order”. Therefore, “((t1.a>: key_a)” is designated. ) ”. The variable “key_a” is a bind variable because “:” is at the beginning of the character string.

すなわち、データベース管理部22は、図5の(1)に示すように、「AND (((t1.a > :key_a)))」と記述する。   That is, the database management unit 22 describes “AND (((t1.a>: key_a)))” as shown in (1) of FIG.

[「キーB」の部分の作成]
次に、データベース管理部22は、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)で2番目に記述された「キーB」の部分を作成する。
[Create “Key B” part]
Next, the database management unit 22 creates a portion of “key B” described second in “sort key” (sort parameter) of the interface specification 1 shown in FIG.

データベース管理部22は、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)において、「キーB」の「変数名」は「key_b」と指定され、「キーB」の「SQLの列の順番」は「2」(SQLファイル5の二列目)と指定され、「キーB」の「昇順/降順」は「降順」と指定されているので、「((t2.b < :key_b))」と記述する。変数「key_b」は、「:」が文字列の頭にあるため、バインド変数である。   In the “sort key” (sort parameter) of the interface specification 1 shown in FIG. 2, the database management unit 22 designates “variable name” of “key B” as “key_b”, and “SQL column” of “key B”. Is specified as “2” (second row of the SQL file 5), and “ascending / descending order” of “key B” is specified as “descending order”, so “((t2.b <: key_b )) ”. The variable “key_b” is a bind variable because “:” is at the beginning of the character string.

「キーB」は、「キーA」の部分の条件で順序が決まらない場合、すなわち「キーA」がバインド変数に代入する値と同じときのみ考慮する値なので、その条件を示す「((t1.a = :key_a) AND (t2.b < :key_b))」を「OR」で括り、「キーA」の部分の後に追加する。   “Key B” is a value to be considered only when the order is not determined by the condition of “Key A”, that is, when “Key A” is the same as the value assigned to the bind variable. .A =: key_a) AND (t2.b <: key_b)) ”is enclosed by“ OR ”and added after the“ key A ”portion.

すなわち、データベース管理部22は、図5の(2)に示すように、「キーA」の部分の後に「キーB」の部分を追加して、「AND (((t1.a > :key_a))) OR ((t1.a = :key_a) AND (t2.b < :key_b))」と記述する。   That is, as shown in (2) of FIG. 5, the database management unit 22 adds the “key B” portion after the “key A” portion, thereby obtaining “AND (((t1.a>: key_a). )) OR ((t1.a =: key_a) AND (t2.b <: key_b)) ”.

[「キーC」の部分の作成]
次に、データベース管理部22は、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)で3番目に記述された「キーC」の部分を作成する。
[Create “Key C” part]
Next, the database management unit 22 creates a part of “key C” described third by “sort key” (sort parameter) of the interface specification 1 shown in FIG.

データベース管理部22は、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)において、「キーC」の「変数名」は「key_c」と指定され、「キーC」の「SQLの列の順番」は「3」(SQLファイル5の三列目)と指定され、「キーC」の「昇順/降順」は「降順」と指定されているので、「((t1.c < :key_c))」と記述する。変数「key_c」は、「:」が文字列の頭にあるため、バインド変数である。   In the “sort key” (sort parameter) of the interface specification 1 shown in FIG. 2, the database management unit 22 designates “variable name” of “key C” as “key_c”, and “SQL column” of “key C”. Is specified as “3” (third column of the SQL file 5), and “ascending / descending order” of “key C” is specified as “descending order”, so “((t1.c <: key_c )) ”. The variable “key_c” is a bind variable because “:” is at the beginning of the character string.

「キーC」は、「キーB」の部分の条件でも順序が決まらない場合、すなわち「キーA」及び「キーB」のそれぞれがバインド変数に代入する値と同じときのみ考慮する値なので、その条件を示す「((t1.a = :key_a) AND (t2.b = :key_b) AND (t1.c < :key_c))」を「OR」で括り、「キーB」の部分の後に追加する。   “Key C” is a value considered only when the order of “Key B” is not determined, that is, when “Key A” and “Key B” are the same as the values assigned to the bind variables. “((T1.a =: key_a) AND (t2.b =: key_b) AND (t1.c <: key_c))” indicating a condition is enclosed with “OR” and added after the part of “key B”. .

すなわち、データベース管理部22は、図5の(3)に示すように、「キーB」の部分の後に「キーC」の部分を追加して、「AND (((t1.a > :key_a))) OR ((t1.a = :key_a) AND (t2.b < :key_b)) OR ((t1.a = :key_a) AND (t2.b = :key_b) AND (t1.c < :key_c))」と記述する。   That is, as shown in (3) of FIG. 5, the database management unit 22 adds the “key C” portion after the “key B” portion, thereby obtaining “AND (((t1.a>: key_a). )) OR ((t1.a =: key_a) AND (t2.b <: key_b)) OR ((t1.a =: key_a) AND (t2.b =: key_b) AND (t1.c <: key_c) ) ”.

[「WHERE」句の作成の終了]
ここでは、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)に記述されているキーは、「キーA」、「キーB」、「キーC」の3つだけであるが、他にキーがあったとしても、同じようにキーの部分を作成して追加する処理を行う。図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)に記述されている全てのキーの部分の記述が終われば、「WHERE」句の作成の処理を終了する。
[End of creation of “WHERE” phrase]
Here, there are only three keys “key A”, “key B”, and “key C” described in the “sort key” (sort parameter) of the interface specification 1 shown in FIG. Even if there is a key, the process of creating and adding the key part is performed in the same manner. When the description of all the key parts described in the “sort key” (sort parameter) of the interface specification 1 shown in FIG. 2 is finished, the process of creating the “WHERE” phrase is finished.

[「ORDER BY」句の作成]
また、データベース管理部22は、「ORDER BY」句を作成する際、図2に示すインターフェース仕様書1の「ソートキー」(ソートパラメータ)で指定したSQLの列の順番と昇順・降順かを考慮し、「ORDER BY」句を作成する。
[Create “ORDER BY” phrase]
Further, when creating the “ORDER BY” phrase, the database management unit 22 considers the order of the SQL columns specified by the “sort key” (sort parameter) in the interface specification 1 shown in FIG. Create an “ORDER BY” phrase.

当該「ORDER BY」句は、「ORDER BY “フィールド1” [ASC, DESC], “フィールド2” [ASC, DESC], “フィールド3” [ASC, DESC]」という構文で記述されている。   The “ORDER BY” phrase is described in a syntax of “ORDER BY“ field 1 ”[ASC, DESC],“ field 2 ”[ASC, DESC],“ field 3 ”[ASC, DESC]”.

ここでは、データベース管理部22は、「ORDER BY」句として、「ORDER BY 1 ASC,2 DESC ,3 DESC」と記述する。   Here, the database management unit 22 describes “ORDER BY 1 ASC, 2 DESC, 3 DESC” as the “ORDER BY” phrase.

「ASC」(ascending:昇順)は、結果が昇順に並ぶことを表し、「DESC」(descending:降順)は、結果が降順に並ぶことを表す。その両者とも記述されていない場合、「ASC」を使うことになる。   “ASC” (ascending: ascending order) indicates that the results are arranged in ascending order, and “DESC” (descending: descending order) indicates that the results are arranged in descending order. If neither of them is described, “ASC” is used.

データベース管理部22は、SQL文の実行時には、「ソートキー」(ソートパラメータ)の処理として、ポジションキーを桁数によって「ソートキー」(ソートパラメータ)単位に分割し、それぞれをバインド変数に代入し、加えて図2に示すインターフェース仕様書1の入力パラメータもバインド変数に代入する。   When executing the SQL statement, the database management unit 22 divides the position key into “sort key” (sort parameter) units according to the number of digits as processing of the “sort key” (sort parameter), assigns each to the bind variable, and adds Thus, the input parameters of the interface specification 1 shown in FIG.

データベース管理部22は、SQL文の実行後、取得した最後の行の値を繋げたものを「エンドポジションキー」として、ポジションキーが指定された場合には、「トップフラグ」を「データあり」とし、取得行数以上にデータがあった場合には、「エンドフラグ」を「データあり」として、SQL文の実行によって取得したデータ(SQL実行結果)を、それぞれ配列として呼び出し元の関数に返す。ここでは、呼び出し元の関数は、クライアント30の一覧表示用コントロールに用意された情報取得関数5を呼び出す関数である。   After executing the SQL statement, the database management unit 22 connects the value of the acquired last line as the “end position key”, and when the position key is specified, the “top flag” is set to “data present”. If there are more data than the number of acquired rows, the “end flag” is set to “data present”, and the data acquired by executing the SQL statement (SQL execution result) is returned as an array to the calling function. . Here, the caller function is a function that calls the information acquisition function 5 prepared in the list display control of the client 30.

[一覧表示の処理]
以下に、図4のステップS109における一覧表示の処理の例について説明する。
[List processing]
An example of the list display process in step S109 in FIG. 4 will be described below.

クライアント30の一覧表示用処理部31は、表示画面プログラムによる本来の表示内容に、情報取得関数5から取得したデータ(SQL実行結果)を追記して、ドキュメントを利用したページング処理を含む一覧表示用情報の自動作成を行い、表示画面32に一覧表示することで、情報取得関数5の呼び出し処理を完了する。   The list display processing unit 31 of the client 30 appends the data (SQL execution result) acquired from the information acquisition function 5 to the original display contents by the display screen program, and includes a paging process using a document. Information is automatically created and displayed in a list on the display screen 32, whereby the call processing of the information acquisition function 5 is completed.

一覧表示用処理部31は、表示画面プログラムにおいて、ボタン押下等のイベントに応じて、一覧表示用コントロールに用意された次のページを読み込む動作を行う関数を呼び出すことで、ページの遷移を実現する。   The list display processing unit 31 realizes page transition by calling a function that performs an operation of reading the next page prepared in the list display control in response to an event such as a button press in the display screen program. .

なお、一覧表示用処理部31は、「トップフラグ」が「データあり」であれば、前ページに遷移するためのボタンを表示/有効化し、「エンドフラグ」が「データあり」であれば、後ページに遷移するためのボタンを表示/有効化する。   The list display processing unit 31 displays / validates a button for transitioning to the previous page if the “top flag” is “data present”, and if the “end flag” is “data present”, Displays / validates a button for transitioning to the next page.

[本実施形態の効果]
本発明では、複雑なページングの処理は共通関数に、SQLはSQLファイルに記述されているため、共通関数を呼び出すソースには、インターフェース仕様書1に記述された必要最小限の情報のみ記述しているため、可読性が大幅に改善し、拡張性にも繋がる。
[Effect of this embodiment]
In the present invention, complicated paging processing is described in the common function, and SQL is described in the SQL file. Therefore, only the minimum necessary information described in the interface specification 1 is described in the source that calls the common function. Therefore, the readability is greatly improved, which leads to expandability.

また、それぞれの役割でファイルが分かれているため、修正範囲が最小限になる。   In addition, since the files are divided according to their roles, the correction range is minimized.

また、クライアント側のソースも同時に作成することで、それぞれのソースの食い違いの発生も防ぐことができる。   In addition, by creating the client-side source at the same time, it is possible to prevent discrepancies between the sources.

従来の類似システムでは、インターフェース仕様書を作ってあったとしても、サーバとクライアントのプログラムは、ほとんどの場合、違うプログラミング言語で作成されたプログラミングであり、それぞれのプログラムを別々で作成する必要が出てくる。引数が多くなった場合、それぞれのプログラムで使用される変数の名称や型式、桁数等を合わせるのは、非常に手間のかかる作業になる可能性がある。   In conventional similar systems, even if interface specifications are made, the server and client programs are mostly written in different programming languages, and each program needs to be created separately. Come. When the number of arguments increases, it may be very time consuming to match the names, types, and digits of variables used in each program.

本発明では、サーバ側のプログラムもクライアント側のプログラムもインターフェース部分を記述する部分を単純化し、それぞれのプログラムを作成する際に、インターフェース仕様書から必要な情報を抽出する仕組みになっているため、それぞれのプログラムでの食い違いの心配がない。   In the present invention, both the server side program and the client side program simplify the part that describes the interface part, and when creating each program, it has a mechanism to extract necessary information from the interface specification. There is no worry about discrepancies in each program.

<本発明の特徴>
本発明に係る一覧表示自動作成システムは、ページング処理を含む一覧表示用情報の自動作成を行うものである。
<Features of the present invention>
The list display automatic creation system according to the present invention automatically creates list display information including paging processing.

本発明に係る一覧表示自動作成システムは、サーバクライアント間のインターフェース仕様書から、SQLを含む手続き型言語のプログラムと、それを呼び出すクライアントのプログラムを、マクロを使うことで出力する。   The list display automatic creation system according to the present invention uses a macro to output a procedural language program including SQL and a client program that calls the program from an interface specification between server and client.

本発明に係る一覧表示自動作成システムは、実際に内容を取得するための基本的なSQLさえ記述すれば、複雑な処理を意識することなく、ページング処理を含む一覧表示用情報を作成することができる。すなわち、SQLファイルの作成/変更のみで、一覧データ毎に個別の表示画面を実現することができる。   The list display automatic creation system according to the present invention can create list display information including paging processing without being aware of complicated processing, as long as basic SQL for actually acquiring contents is described. it can. That is, an individual display screen can be realized for each list data only by creating / changing the SQL file.

具体的には、本発明に係る一覧表示自動作成システムでは、サーバ側で作成するデータベースから情報を取得する情報取得関数のページング処理を共通関数という形でパッケージ化し、情報取得関数のソースに記述する内容を必要最低限にする。   Specifically, in the list display automatic creation system according to the present invention, a paging process of an information acquisition function for acquiring information from a database created on the server side is packaged in the form of a common function and described in the source of the information acquisition function. Minimize content.

このように、表計算ソフトで作成したサーバクライアント間のインターフェース仕様書の要素を単純変換することで、サーバ側の状態取得関数のソースコードを自動作成する。また、クライアント側のソースも関数呼び出しの部分のみ作成を行い、クライアント側のプログラムに追記できるようにする。   In this way, the source code of the server-side state acquisition function is automatically created by simply converting the elements of the interface specification between the server and client created by the spreadsheet software. Also, only the function call part is created for the client-side source so that it can be added to the client-side program.

すなわち、本発明に係る一覧表示自動作成システムの要旨は、「ページング処理をパッケージ化した共通関数の仕組み」と、「仕様書から、サーバ側とクライアント側の両方のプログラムのソースコードを作成する点」にある。   That is, the gist of the system for automatically creating a list display according to the present invention is that “the mechanism of a common function in which paging processing is packaged” and “the source code of both the server side and client side programs are created from the specifications. "It is in.

<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
<Appendix>
Part or all of the above-described embodiments can be described as in the following supplementary notes. However, actually, it is not limited to the following description examples.

(付記1)
サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力する開発端末と、
データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行するサーバと、
前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除・追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うクライアントと
を含む
一覧表示自動作成システム。
(Appendix 1)
A development terminal that outputs the source code of the server-side program of the procedural language including SQL and the source code of the client-side program that calls the server-side program based on the interface specifications between the server and the client;
A server that manages a database, executes the server-side program in response to the server-side program call, and executes a common function process in which a paging process is packaged according to the server-side program;
In accordance with the client-side program, the server-side program is called, the database is searched, the search result is divided into a plurality of pages, and a list display including a paging process is performed. A list display automatic creation system that includes a client that displays data by dividing it into a list of fixed lines while maintaining the order even when data is deleted or added.

(付記2)
付記1に記載の一覧表示自動作成システムであって、
前記開発端末は、
表計算ソフトを使用して前記インターフェース仕様書を作成する手段と、
前記インターフェース仕様書の要素を単純変換し、前記サーバ側で前記データベースから情報を取得する状態取得関数のソースコードを自動作成して前記サーバに提供し、前記クライアント側のソースコードとして、前記状態取得関数の呼び出しの部分のソースコードを作成して前記クライアントに提供する手段と、
前記状態取得関数のソースコードを自動作成する際、前記情報取得関数におけるページング処理を、共通関数という形でパッケージ化し、前記情報取得関数のソースコードに記述する内容を必要最低限に抑える手段と
を具備する
一覧表示自動作成システム。
(Appendix 2)
It is a list display automatic creation system according to appendix 1,
The development terminal is
Means for creating the interface specification using spreadsheet software;
The element of the interface specification is simply converted, the source code of the state acquisition function for acquiring information from the database on the server side is automatically created and provided to the server, and the state acquisition is performed as the source code on the client side Means for creating source code for the function call part and providing it to the client;
Means for packaging the paging process in the information acquisition function in the form of a common function when automatically creating the source code of the state acquisition function and minimizing the content described in the source code of the information acquisition function; Equipped with a list display automatic creation system.

(付記3)
付記2に記載の一覧表示自動作成システムであって、
前記開発端末は、
前記表計算ソフトを使用して前記インターフェース仕様書を作成する際、前記インターフェース仕様書に、入力パラメータ、出力パラメータ、並び替えに必要なソートキーの情報をそれぞれ記述する手段と、
前記インターフェース仕様書を基に、関数の名前、引数を抽出し、関数の宣言文、処理文を、マクロを使用して作成する手段と、
引数には、入力パラメータに記述された値、出力パラメータに記述された値に加えて、共通の入力引数として、取得最大行数、先頭行のソートキーの値をまとめたポジションキーを追加し、共通の出力引数として、取得行数、取得したデータより後のデータが存在するかの区分を示すエンドフラグ、取得したデータの最後のポジションキーを示すエンドポジションキーを追加する手段と、
処理文には、前記共通関数の呼び出し、前記共通関数の引数に設定する値の代入、前記共通関数で取得したデータを関数の出力引数に代入する処理を記述する手段と
を更に具備する
一覧表示自動作成システム。
(Appendix 3)
It is a list display automatic creation system described in appendix 2,
The development terminal is
When creating the interface specifications using the spreadsheet software, means for describing input parameters, output parameters, sort key information necessary for sorting in the interface specifications,
Based on the interface specification, a function name and an argument are extracted, and a function declaration statement and a processing statement are created using a macro;
In addition to the value described in the input parameter and the value described in the output parameter, add a position key that summarizes the maximum number of rows acquired and the sort key value of the first row as a common input argument. As an output argument of, means for adding the number of acquired rows, an end flag indicating whether there is data after the acquired data, an end position key indicating the last position key of the acquired data,
The processing statement further comprises means for describing a process of calling the common function, assigning a value set to the argument of the common function, and substituting data acquired by the common function into an output argument of the function Automatic creation system.

(付記4)
付記1乃至3のいずれかに記載の一覧表示自動作成システムであって、
前記サーバは、
前記クライアント側の関数からの呼び出しに応じて前記情報取得関数の処理を実行した場合、前記情報取得関数の処理に従って前記共通関数を呼び出す手段と、
前記共通関数の処理に従ってSQLファイルを読み込む手段と、
入力引数のソートキーの情報を基に、SQLの「WHERE」句、並びに「ORDER BY」句を作成し、前記SQLファイルのSQL文に追加し、実行するSQL文を作成する処理を行う手段と、
バインド変数に値を代入し、前記SQL文を実行する手段と、
前記SQL文の実行によって取得したデータを、前記呼び出し元の関数に返す処理を行う手段と
を具備する
一覧表示自動作成システム。
(Appendix 4)
A list display automatic creation system according to any one of appendices 1 to 3,
The server
Means for invoking the common function according to the processing of the information acquisition function when the processing of the information acquisition function is executed in response to a call from the function on the client side;
Means for reading an SQL file according to the processing of the common function;
Means for creating a SQL “WHERE” phrase and an “ORDER BY” phrase based on the sort key information of the input argument, adding to the SQL sentence of the SQL file, and creating an SQL sentence to be executed;
Means for assigning a value to a bind variable and executing the SQL statement;
A list display automatic creation system comprising means for performing processing for returning data acquired by execution of the SQL statement to the caller function.

(付記5)
付記4に記載の一覧表示自動作成システムであって、
前記サーバは、
前記SQL文を実行する際、ポジションキーを桁数によってソートキー単位に分割し、それぞれのソートキーをバインド変数に代入し、前記SQL文を実行する手段と、
前記SQL文の実行後、取得した最後の行の値を繋げたものを「エンドポジションキー」として、ポジションキーが指定された場合には「トップフラグ」を「データあり」とし、取得行数以上にデータがあった場合には「エンドフラグ」を「データあり」として、前記SQL文の実行によって取得したデータを、それぞれ配列として前記呼び出し元の関数に返す手段と
を具備する
一覧表示自動作成システム。
(Appendix 5)
An automatic list display creation system according to appendix 4,
The server
Means for dividing the position key into sort key units according to the number of digits, substituting each sort key into a bind variable, and executing the SQL statement when executing the SQL statement;
After execution of the SQL statement, the value obtained by connecting the values of the last acquired lines is set as the “end position key”, and when the position key is specified, the “top flag” is set as “with data” and the number of acquired lines or more If there is data, the “end flag” is set to “data present”, and the data acquired by executing the SQL statement is returned to the calling function as an array, respectively. .

(付記6)
付記1乃至5のいずれかに記載の一覧表示自動作成システムであって、
前記クライアントは、
前記クライアント側のソースコードを基に、前記サーバ側の前記情報取得関数を呼び出すための情報を前記一覧表示コントロールの関数を使用して設定する処理を行う手段と、
前記クライアント側の一覧表示用コントロールに対して、次のページを読み込む動作を行う関数を用意し、該関数で使用される引数に入力する値となるポジションキーと取得最大行数とを設定する手段と
を具備する
一覧表示自動作成システム。
(Appendix 6)
A list display automatic creation system according to any one of appendices 1 to 5,
The client
Means for performing processing for setting information for calling the information acquisition function on the server side using a function of the list display control based on the source code on the client side;
Means for preparing a function for reading the next page for the list display control on the client side, and setting a position key as a value to be input to an argument used in the function and a maximum number of rows to be acquired An automatic list display creation system.

<備考>
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
<Remarks>
As mentioned above, although embodiment of this invention was explained in full detail, actually, it is not restricted to said embodiment, Even if there is a change of the range which does not deviate from the summary of this invention, it is included in this invention.

1… インターフェース仕様書
2… ソースコード
3… ソースコード
4… 情報取得関数
5… SQLファイル
6… 共通関数
10… 開発端末
11… 仕様書作成部
12… ソースコード作成部
20… サーバ
21… データベース
22… データベース管理部
30… クライアント
31… 一覧表示用処理部
32… 表示画面
DESCRIPTION OF SYMBOLS 1 ... Interface specification 2 ... Source code 3 ... Source code 4 ... Information acquisition function 5 ... SQL file 6 ... Common function 10 ... Development terminal 11 ... Specification creation part 12 ... Source code creation part 20 ... Server 21 ... Database 22 ... Database management unit 30 ... Client 31 ... List display processing unit 32 ... Display screen

Claims (9)

サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力する開発端末と、
データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行するサーバと、
前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除・追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うクライアントと
を含む
一覧表示自動作成システム。
A development terminal that outputs the source code of the server-side program of the procedural language including SQL and the source code of the client-side program that calls the server-side program based on the interface specifications between the server and the client;
A server that manages a database, executes the server-side program in response to the server-side program call, and executes a common function process in which a paging process is packaged according to the server-side program;
In accordance with the client-side program, the server-side program is called, the database is searched, the search result is divided into a plurality of pages, and a list display including a paging process is performed. A list display automatic creation system that includes a client that displays data by dividing it into a list of fixed lines while maintaining the order even when data is deleted or added.
請求項1に記載の一覧表示自動作成システムであって、
前記開発端末は、
表計算ソフトを使用して前記インターフェース仕様書を作成する手段と、
前記インターフェース仕様書の要素を単純変換し、前記サーバ側で前記データベースから情報を取得する状態取得関数のソースコードを自動作成して前記サーバに提供し、前記クライアント側のソースコードとして、前記状態取得関数の呼び出しの部分のソースコードを作成して前記クライアントに提供する手段と、
前記状態取得関数のソースコードを自動作成する際、前記情報取得関数におけるページング処理を、共通関数という形でパッケージ化し、前記情報取得関数のソースコードに記述する内容を必要最低限に抑える手段と
を具備する
一覧表示自動作成システム。
A list display automatic creation system according to claim 1,
The development terminal is
Means for creating the interface specification using spreadsheet software;
The element of the interface specification is simply converted, the source code of the state acquisition function for acquiring information from the database on the server side is automatically created and provided to the server, and the state acquisition is performed as the source code on the client side Means for creating source code for the function call part and providing it to the client;
Means for packaging the paging process in the information acquisition function in the form of a common function when automatically creating the source code of the state acquisition function and minimizing the content described in the source code of the information acquisition function; Equipped with a list display automatic creation system.
請求項2に記載の一覧表示自動作成システムであって、
前記開発端末は、
前記表計算ソフトを使用して前記インターフェース仕様書を作成する際、前記インターフェース仕様書に、入力パラメータ、出力パラメータ、並び替えに必要なソートキーの情報をそれぞれ記述する手段と、
前記インターフェース仕様書を基に、関数の名前、引数を抽出し、関数の宣言文、処理文を、マクロを使用して作成する手段と、
引数には、入力パラメータに記述された値、出力パラメータに記述された値に加えて、共通の入力引数として、取得最大行数、先頭行のソートキーの値をまとめたポジションキーを追加し、共通の出力引数として、取得行数、取得したデータより後のデータが存在するかの区分を示すエンドフラグ、取得したデータの最後のポジションキーを示すエンドポジションキーを追加する手段と、
処理文には、前記共通関数の呼び出し、前記共通関数の引数に設定する値の代入、前記共通関数で取得したデータを関数の出力引数に代入する処理を記述する手段と
を更に具備する
一覧表示自動作成システム。
A list display automatic creation system according to claim 2,
The development terminal is
When creating the interface specifications using the spreadsheet software, means for describing input parameters, output parameters, sort key information necessary for sorting in the interface specifications,
Based on the interface specification, a function name and an argument are extracted, and a function declaration statement and a processing statement are created using a macro;
In addition to the value described in the input parameter and the value described in the output parameter, add a position key that summarizes the maximum number of rows acquired and the sort key value of the first row as a common input argument. As an output argument of, means for adding the number of acquired rows, an end flag indicating whether there is data after the acquired data, an end position key indicating the last position key of the acquired data,
The processing statement further comprises means for describing a process of calling the common function, assigning a value set to the argument of the common function, and substituting data acquired by the common function into an output argument of the function Automatic creation system.
請求項3に記載の一覧表示自動作成システムであって、
前記サーバは、
前記クライアント側の関数からの呼び出しに応じて前記情報取得関数の処理を実行した場合、前記情報取得関数の処理に従って前記共通関数を呼び出す手段と、
前記共通関数の処理に従ってSQLファイルを読み込む手段と、
入力引数のソートキーの情報を基に、SQLのWHERE句、並びに、ORDER BY句を作成し、前記SQLファイルのSQL文に追加し、実行するSQL文を作成する処理を行う手段と、
ポジションキーを桁数によってソートキー単位に分割し、それぞれのソートキーをバインド変数に代入し、前記SQL文を実行する手段と、
前記SQL文の実行後、取得した最後の行の値を繋げたものをエンドポジションキーとして、ポジションキーが指定された場合にはトップフラグをデータありとし、取得行数以上にデータがあった場合にはエンドフラグをデータありとして、前記SQL文の実行によって取得したデータを、それぞれ配列として前記呼び出し元の関数に返す手段と
を具備する
一覧表示自動作成システム。
A list display automatic creation system according to claim 3,
The server
Means for invoking the common function according to the processing of the information acquisition function when the processing of the information acquisition function is executed in response to a call from the function on the client side;
Means for reading an SQL file according to the processing of the common function;
A means for creating a SQL WHERE statement by creating a SQL WHERE clause and an ORDER BY clause based on the sort key information of the input argument, and adding to the SQL statement in the SQL file;
Means for dividing the position key into sort key units according to the number of digits, substituting each sort key into a bind variable, and executing the SQL statement;
After execution of the SQL statement, the end position key is the value obtained by connecting the acquired values of the last line. If the position key is specified, the top flag is set as data, and there is more data than the number of acquired lines. Includes a means for returning an end flag as data and returning data obtained by executing the SQL statement as an array to the caller function.
請求項1乃至4のいずれか一項に記載の一覧表示自動作成システムであって、
前記クライアントは、
前記クライアント側のソースコードを基に、前記サーバ側の前記情報取得関数を呼び出すための情報を前記一覧表示コントロールの関数を使用して設定する処理を行う手段と、
前記クライアント側の一覧表示用コントロールに対して、次のページを読み込む動作を行う関数を用意し、該関数で使用される引数に入力する値となるポジションキーと取得最大行数とを設定する手段と
を具備する
一覧表示自動作成システム。
The list display automatic creation system according to any one of claims 1 to 4,
The client
Means for performing processing for setting information for calling the information acquisition function on the server side using a function of the list display control based on the source code on the client side;
Means for preparing a function for reading the next page for the list display control on the client side, and setting a position key as a value to be input to an argument used in the function and a maximum number of rows to be acquired An automatic list display creation system.
請求項1乃至5のいずれか一項に記載の一覧表示自動作成システムで、開発端末、サーバ、及びクライアントのうち少なくとも1つとして使用される計算機。   A computer used as at least one of a development terminal, a server, and a client in the list display automatic creation system according to any one of claims 1 to 5. サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力する手段と、
データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行する手段と、
前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除・追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行う手段と
を具備する
計算機。
Means for outputting a server-side program source code of a procedural language including SQL and a client-side program source code for calling the server-side program based on an interface specification between server and client;
Means for managing a database, executing the server-side program in response to a call of the server-side program, and executing a process of a common function in which a paging process is packaged according to the server-side program;
In accordance with the client-side program, the server-side program is called, the database is searched, the search result is divided into a plurality of pages, and a list display including a paging process is performed. A computer comprising means for dividing and displaying a list of fixed lines while maintaining the arrangement even when data is deleted or added.
計算機により実施される一覧表示自動作成方法であって、
サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力することと、
データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行することと、
前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除・追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うことと
を含む
一覧表示自動作成方法。
A list display automatic creation method performed by a computer,
Outputting a source code of a server-side program of a procedural language including SQL and a source code of a client-side program that calls the server-side program based on an interface specification between server and client;
Managing a database, executing the server-side program in response to a call of the server-side program, and executing a process of a common function in which a paging process is packaged according to the server-side program;
In accordance with the client-side program, the server-side program is called, the database is searched, the search result is divided into a plurality of pages, and a list display including a paging process is performed. A list display automatic creation method that includes dividing and displaying a list of fixed lines while maintaining the arrangement even when data is deleted or added.
サーバクライアント間のインターフェース仕様書を基に、SQLを含む手続き型言語のサーバ側のプログラムのソースコードと、前記サーバ側のプログラムを呼び出すクライアント側のプログラムのソースコードとを出力するステップと、
データベースを管理し、前記サーバ側のプログラムの呼び出しに応じて、前記サーバ側のプログラムを実行し、前記サーバ側のプログラムに従って、ページング処理をパッケージ化した共通関数の処理を実行するステップと、
前記クライアント側のプログラムに従って、前記サーバ側のプログラムを呼び出し、前記データベースを検索し、検索結果について、複数ページに分割し表示を行うページング処理を含む一覧表示を行い、意味ある並びを持つ一覧を、データの削除・追加があった場合でもその並びを維持したまま、一定行の一覧に分割して表示を行うステップと
を計算機に実行させるための
プログラム。
Outputting a source code of a server-side program in a procedural language including SQL and a source code of a client-side program that calls the server-side program based on an interface specification between server and client;
Managing a database, executing the server-side program in response to a call of the server-side program, and executing a process of a common function in which a paging process is packaged according to the server-side program;
In accordance with the client-side program, the server-side program is called, the database is searched, the search result is divided into a plurality of pages, and a list display including a paging process is performed. A program that allows a computer to execute a step of displaying data by dividing it into a list of fixed lines while maintaining the arrangement even when data is deleted or added.
JP2011141530A 2011-06-27 2011-06-27 List display automatic creation system and list display automatic creation method Pending JP2013008271A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011141530A JP2013008271A (en) 2011-06-27 2011-06-27 List display automatic creation system and list display automatic creation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011141530A JP2013008271A (en) 2011-06-27 2011-06-27 List display automatic creation system and list display automatic creation method

Publications (1)

Publication Number Publication Date
JP2013008271A true JP2013008271A (en) 2013-01-10

Family

ID=47675552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011141530A Pending JP2013008271A (en) 2011-06-27 2011-06-27 List display automatic creation system and list display automatic creation method

Country Status (1)

Country Link
JP (1) JP2013008271A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303100A (en) * 2002-04-11 2003-10-24 Mitsubishi Electric Corp Information processing system, method for constructing information processing system, and program therefor
JP2009512947A (en) * 2005-10-18 2009-03-26 ザ・マクレガー・グループ・インコーポレーテッド System and method for displaying data on a thin client

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303100A (en) * 2002-04-11 2003-10-24 Mitsubishi Electric Corp Information processing system, method for constructing information processing system, and program therefor
JP2009512947A (en) * 2005-10-18 2009-03-26 ザ・マクレガー・グループ・インコーポレーテッド System and method for displaying data on a thin client

Similar Documents

Publication Publication Date Title
US10990367B2 (en) Application development method, tool, and device, and storage medium
US11461111B2 (en) Method for running applets, and electronic device
US9075833B2 (en) Generating XML schema from JSON data
US9344833B2 (en) Data component in a mobile application framework
Ono et al. CyREST: turbocharging Cytoscape access for external tools via a RESTful API
US20090077091A1 (en) System for development and hosting of network applications
US10452607B2 (en) Reusable transformation mechanism to allow mappings between incompatible data types
US20090254881A1 (en) Code generation techniques for administrative tasks
RU2571592C2 (en) Method and system for managing static data structures of legacy software in dynamic class loader environments
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
US11474796B1 (en) Build system for distributed applications
CN106648569B (en) Target serialization realization method and device
US10133766B2 (en) Accessing and editing virtually-indexed message flows using structured query langauge (SQL)
CN111158777B (en) Component calling method, device and computer readable storage medium
TW201324347A (en) System and method for managing commands of function module
MacDonald et al. Pro Asp. net 2.0 in C# 2005
JP5766651B2 (en) Multilingual Web server system and multilingual support method in Web server system
US20150277723A1 (en) Exporting a component of a currently displayed user interface to a development system
JP2013008271A (en) List display automatic creation system and list display automatic creation method
JP5190899B2 (en) Information processing apparatus, setting file generation method, and setting file generation program
JP5658196B2 (en) Multi-device compatible web server system and multi-device compatible method in web server system
CN115509634A (en) Input method configuration method, character input method, device and medium
CN114090105A (en) System building method and device
CN114371886A (en) Front-end frame assembly conversion method and device, computer equipment and storage medium
US20180246900A1 (en) File managing method and system thereof for integrated circuit design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150317