JPH0561659A - 集計処理用プログラムの自動生成方式 - Google Patents

集計処理用プログラムの自動生成方式

Info

Publication number
JPH0561659A
JPH0561659A JP17170791A JP17170791A JPH0561659A JP H0561659 A JPH0561659 A JP H0561659A JP 17170791 A JP17170791 A JP 17170791A JP 17170791 A JP17170791 A JP 17170791A JP H0561659 A JPH0561659 A JP H0561659A
Authority
JP
Japan
Prior art keywords
program
database
definition information
skeleton
source
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
JP17170791A
Other languages
English (en)
Inventor
Kenji Ikeuchi
健二 池内
Hidenori Matsuoka
秀紀 松岡
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP17170791A priority Critical patent/JPH0561659A/ja
Publication of JPH0561659A publication Critical patent/JPH0561659A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 構造型データベースを入力してデータの集計
等を行う業務プログラムを作成する際、データベース操
作命令を使用せず、かつ、業務プログラムを構成する定
形的ロジックをコーディングすることなく、短期間で標
準的な業務プログラムを自動生成する。 【構成】 CPU200は、まず、入力装置100から
入力されたソースプログラムを内部コードに変換する。
ソースプログラム中には、構造型データベースの使用を
宣言する命令が記述されており、これをキーワードとし
て記憶装置300よりデータベース定義情報を取得す
る。次に、ソースプログラムの構造解析を行いながら、
目的プログラムの基本ロジックを構成するスケルトン群
を抽出し、データベース定義情報を引用してスケルトン
を合成し、目的プログラムを生成する。生成した目的プ
ログラムは記憶装置500に保存する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソースプログラムを翻
訳し目的プログラムを生成する簡単言語コンパイラに係
り、特に構造型データベースを入力してデータの集計等
を行う業務プログラムを自動的に生成する方式に関す
る。
【0002】
【従来の技術】従来、構造型データベースを入力してデ
ータの集計等を行う業務プログラムの作成は、COBO
L等の高級言語を使用して、利用者がデータベース定義
情報操作命令を用いてレコードの入力を行うのが一般的
である。この方式については、例えば「プログラムプロ
ダクト VOS3 XDM E2系プログラム作成の手
引」6180−6−623 頁23から頁56に記述さ
れている。
【0003】
【発明が解決しようとする課題】上記従来技術において
は、構造型データベースを入力する業務プログラムの開
発にあたり、データベース操作命令を修得する必要があ
ることや、定形的なコントロールブレイク処理を、個々
に記述しなければならない。これらの操作は手間が掛か
るだけでなく、品質から見ても不良を作り込む要因とな
ったり、人により書き方が異なることから、プログラム
の保守性が悪くなることが考えられる。
【0004】本発明の目的は、構造型データベースから
レコードを入力するためのデータベース操作命令や、構
造の各レベル毎に集計処理を行わせるための制御命令群
を、利用者に記述させることなく、簡単言語コンパイラ
が自動的にこれらを生成するようにして、業務プログラ
ム開発時間の短縮を図るとともに、品質の安定した標準
的な業務プログラムを開発することにある。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、処理対象の構造型データベースのサブス
キーマ構造が兄弟レコードを持たない一列の親子関係に
ある場合に限り、該構造型データベースを入力してデー
タの集計等を行う業務プログラム(目的プログラム)を
自動生成するにあたって、ソースプログラム中の構造型
データベースの使用を宣言する記述文をもとに、構造型
データベース定義情報ライブラリより所定の定義情報を
取得すると共に、ソースプログラムの構文解析を行って
目的プログラムの基ロジックを構成するスケルトン(プ
ログラム部品)群を選択し、前記定義情報を引用しなが
らスケルトン群を合成して目的プログラムを生成するよ
うにしたことである。
【0006】
【作用】本発明では、処理対象の構造型データベースの
サブスキーマ構造が、兄弟を持たない一列の親子関係に
ある場合に限り、親子集合による入力形式のデータベー
ス操作命令が生成され、全ての親・子レコードが、シー
ケンシャル・ファイルのように自動的に入力され、か
つ、各構造レベルの親子集合が終了(eof)になった
時に、利用者が記述した集計処理セクションに制御が渡
されるロジックが、簡単言語コンパイラにより自動的に
生成される。
【0007】
【実施例】以下、本発明の一実施例について図面により
説明する。
【0008】図1は本発明の一実施例のシステム構成図
である。本システムは、ソースプログラムを入力する入
力装置100、種々の処理を実行する中央処理装置20
0、データベース定義情報(サブスキーマ仕様書、レコ
ードビュー仕様書等)を格納する外部記憶装置300、
プログラムや処理途中のデータ等を格納するメモリ装置
400、生成された目的プログラムを格納する外部記憶
装置500からなる。メモリ装置400はプログラム領
域とデータ領域に大別され、プログラム領域には、本発
明に関係するプログラム(簡易言語コンパイラ)として
文字入力・内部コード変換処理プログラム401、デー
タベース定義情報取得処理プログラム402、構文解析
処理プログラム403、スケルトン合成・目的プログラ
ム生成処理プログラム404が用意され、また、データ
領域は内部コード領域405、データベース定義情報領
域406、内部テキスト領域407、スケルトン領域4
08からなる。なお、スケルトン領域408には、あら
かじめ目的プログラムの基本ロジックを構成するスケル
トン群(基本プログラム部品群)が図示しない外部記憶
装置などからロードされて格納されているとする。
【0009】中央処理装置200はプログラム401〜
404の制御下で、構造データベースを入力してデータ
の集計等を行う業務プログラムを生成する。図2はその
処理フロー図を示したもので、以下、これに従って説明
する。
【0010】処理201では、入力装置100より簡単
言語で書かれたソースプログラムを入力し、以降の処理
で解読可能な内部コードに変換加工し、メモリ装置40
0の内部コード領域405に格納する。このソースプロ
グラム中には、構造型データベース(SDB)の使用を
宣言する命令が記述されており、本処理でキーワードと
して識別する。
【0011】図3に入力ソースプログラムの具体例を示
す。これは部、課、係ごとにボーナスの小計を計算する
プログラムで、データベースの構造(サブスキーマ構
造)が兄弟レコードを持たない部、課、係の一列の親子
関係にあり、この構造に基づいたコントロールブレイク
を行って集計処理を実行する例である。はスキーマ、
サブスキーマ情報を定義する。スキーマはデータベース
の構造と内容を記述したものであり、サブスキーマは個
々の適用業務プログラムから見たデータベースの論理的
構造(本例では親子関係)を記述したものである。は
親子集合型のSDBファイルを定義する。はコントロ
ールブレイクのキーとして、SDB親子集合ビュー名を
指定する。はMAINセクションである。本例では、
現在処理中のレコードは、システム変数SWで把握した
上で参照しなければならないとしている。はブレーク
セクションで、コントロールブレイクは、キーとなるS
DB親子集合ビュー名の子レコードが空になったとき、
BREAKnセクションに制御が渡る。
【0012】処理202では、メモリ装置400の内部
コード領域405の内容を読み出し、処理201で得た
内部コード中に、構造型データベース(SDB)の使用
を宣言する命令があった場合、構造型データベースの定
義情報ライブラリである外部記憶装置300より、利用
者が指定したサブスキーマ仕様書、レコードビュー仕様
書等のデータベース定義情報を取得し、翻訳中のデータ
の構造や、レコード名、構成要素名等をメモリ装置40
0のデータベース定義情報領域406に格納する。図3
の例の場合、構造型データベースの使用は、、、
で定義される。この場合に取得されるサブスキーマ仕様
書、レコードビュー仕様書の例を図4に示す。
【0013】処理203では、メモリ装置400の内部
コード領域405の内容(入力ソースプログラム)につ
いて、データベース定義情報領域406のデータベース
定義情報を参照して、利用者が記述するセクション内の
命令の構文チエック、及び名称の妥当性チエックを行
う。即ち、利用者が、入力された構造型データベースを
参照、加工、編集して帳票用データを作成する際、レコ
ード名、構成要素名等が正しく使用されているかを、処
理202で得たデータベース定義情報を基にチエックす
る。また、本発明で対象とする構造型データベースのサ
ブスキーマ構造は、兄弟を持たない一列の親子関係にあ
る場合のみであることから、この条件に合致しているこ
ともチエックする。これらのチエックを行いながら、簡
単言語で書かれたソースプログラムに対応する目的プロ
グラを構成する部品(スケルトン)を選択するための内
部テキストを生成し、メモリ装置400の内部テキスト
領域407に格納する。
【0014】処理204では、メモリ装置400の内部
テキスト領域407に格納された内部テキストをもと
に、スケルトン領域408から目的プログラムの基本ロ
ジックを構成するスケルトン群を選択し、その記述を具
体的レコード名、構成要素名等に置き換えてスケルトン
を合成して目的プログラムを生成する。この生成した目
的プログラムは外部記憶装置500に出力する。
【0015】図3の例について、内部テキストから目的
プログラムを生成するまでの具体的処理を示すと図5の
ようになる。ただし、便宜上、図5では図3のソースプ
ログラムの一部の命令についてのみ示し、また、生成さ
れた目的プログラムはCOBOLで表現してある。
(a)は構文解析処理203で得られる内部テキストの
一部である。(b)は、(a)のスケルトン指示子で示
されるスケルトン(スケルトンーX)が、メモリ装置4
00のスケルトン領域408から選択されて、メモリ装
置400の作業領域に複写されたことを示している。こ
の作業領域上のスケルトンを、(a)の置換え指示子に
従って修飾すると、(c)のようになる。この修飾後の
スケルトン(COBOLソース)が目的プログラム格納
用の外部記憶装置500に出力される。以下、同様にし
て内部テキストに基づきCOBOLソース(目的プログ
ラム)を生成する。
【0016】図6は本発明により得られる目的プログラ
ムの一例である。601は本目的プログラムの入力とな
る構造型データベースのサブスキーマ構造で、基本的に
は図4(a)と同じである。本例では、課レコード、係
レコードが親子集合aで結ばれており、かつ、係レコー
ド、メンバレコードが親子集合bで結ばれている。今、
課レコードを全て走査し、それに属する全メンバの給与
の係毎の小計、課毎の小計、及び全課の合計を印刷する
プログラムを想定したとき、以下の記述を行うことで、
目的プログラムが得られる。まず、601のサブスキー
マ情報を与え、602の初期処理セクションで使用する
変数の初期化等を行い、603のMAINセクションで
係内の累計を行い、親子集合bがコントロールブレイク
したとき、係集計処理セクション604へ制御を渡し、
係内の小計を印刷する。同様に、親子集合aがコントロ
ールブレイクしたとき、課集計処理セクション605へ
制御を渡し課内の小計を印刷する。最終に606の終了
処理セクションで全課の総計を印刷する手続きを記述す
る。図5(c)は、このうちの「課レコード入力」のボ
ックスに相当する。
【0017】
【発明の効果】本発明によれば、構造型データベースの
サブスキーマ構造が、兄弟レコードを持たない一列の親
子関係にある場合、必要最小限の処理セクションに手続
きを記述するだけで、定形的な業務プログラムを自動的
に得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施例のシステム構成を示す図であ
る。
【図2】図1の中央処理装置での本発明にかかわる処理
フローを示す図である。
【図3】処理対象のソースプログラムの一例を示す図で
ある。
【図4】データベース定義情報の一例を示す図である。
【図4】内部テキストから目的プログラム生成までの処
理例を示す図である。
【図6】生成された目的プログラムの構成例を示す図で
ある。
【符号の説明】
100 入力装置 200 中央処理装置 300 データベース定義情報記憶装置 400 メモリ装置 401 文字入力・内部コード変換処理プログラム 402 データベース定義情報取得処理プログラム 403 構成解析処理プログラム 404 スケルトン領域合成・目的プログラム生成処理
プログラム 500 目的プログラム格納用記憶装置
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年9月9日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正内容】
【図面の簡単な説明】
【図1】本発明の一実施例のシステム構成を示す図であ
る。
【図2】図1の中央処理装置での本発明にかかわる処理
フローを示す図である。
【図3】処理対象のソースプログラムの一例を示す図で
ある。
【図4】データベース定義情報の一例を示す図である。
【図5】内部テキストから目的プログラム生成までの処
理例を示す図である。
【図6】生成された目的プログラムの構成例を示す図で
ある。
【符号の説明】 100 入力装置 200 中央処理装置 300 データベース定義情報記憶装置 400 メモリ装置 401 文字入力・内部コード変換処理プログラム 402 データベース定義情報取得処理プログラム 403 構成解析処理プログラム 404 スケルトン領域合成・目的プログラム生成処理
プログラム 500 目的プログラム格納用記憶装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 構造型データベースのサブスキーマ構造
    が兄弟レコードを持たない一列の親子関係にある場合
    に、該構造型データベースを入力してデータの集計等を
    行う業務プログラムとしての目的プログラムを自動生成
    する方式であって、 ソースプログラム中の構造型データベースの使用を宣言
    する記述文をもとに、構造型データベース定義情報ライ
    ブラリより所定の定義情報を取得すると共に、ソースプ
    ログラムの構文解析を行って目的プログラムの基本ロジ
    ックを構成するスケルトン(プログラム部品)群を選択
    し、前記定義情報を引用しながらスケルトン群を合成し
    て目的プログラムを生成することを特徴とする集計処理
    用プログラムの自動生成方式。
JP17170791A 1991-06-17 1991-06-17 集計処理用プログラムの自動生成方式 Pending JPH0561659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17170791A JPH0561659A (ja) 1991-06-17 1991-06-17 集計処理用プログラムの自動生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17170791A JPH0561659A (ja) 1991-06-17 1991-06-17 集計処理用プログラムの自動生成方式

Publications (1)

Publication Number Publication Date
JPH0561659A true JPH0561659A (ja) 1993-03-12

Family

ID=15928189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17170791A Pending JPH0561659A (ja) 1991-06-17 1991-06-17 集計処理用プログラムの自動生成方式

Country Status (1)

Country Link
JP (1) JPH0561659A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000078879A1 (fr) * 1999-06-24 2000-12-28 Nippon Arc Co., Ltd. Article enrobe

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000078879A1 (fr) * 1999-06-24 2000-12-28 Nippon Arc Co., Ltd. Article enrobe

Similar Documents

Publication Publication Date Title
McKinney Python for data analysis
World Wide Web Consortium XSL transformations (XSLT) version 2.0
US6314415B1 (en) Automated forms publishing system and method using a rule-based expert system to dynamically generate a graphical user interface
US5732262A (en) Database definition language generator
CN103778107A (zh) 一种基于excel快速动态生成表单的方法与平台
AU2005225128A1 (en) File formats, methods, and computer program products for representing workbooks
CA2634388A1 (en) A method and system for editing text with a find and replace function leveraging derivations of the find and replace input
Drath Let's talk AutomationML what is the effort of AutomationML programming?
CN111309313A (zh) 一种快速生成html以及存储表单数据的方法
JP2001060150A (ja) データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読記録媒体
US6405189B1 (en) Method and apparatus for amplifying design information into software products
Neustadter et al. The design and implementation of a prototype structured modeling environment
Holman What is XSLT
JPH0561659A (ja) 集計処理用プログラムの自動生成方式
US20220222065A1 (en) System and method of computer-assisted computer programming
WO2020240482A1 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
KR20070013770A (ko) 구조화 문서의 동기화를 이용한 문서변환 시스템 및문서변환 방법
Riddle et al. Software tools and the user software engineering project
CN117289905B (zh) 一种应用软件开发方法和装置、存储介质和电子设备
JPS6351292B2 (ja)
JP3069050B2 (ja) プログラム変換方法
JPH08171486A (ja) データ項目部品を利用するプログラム開発支援装置
Ramalho et al. Algebraic specification of documents
JPH04172529A (ja) データ中心型ソフトウエア部品によるプログラム自動生成方式
JP3034527B2 (ja) エディタ装置