JP3548866B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP3548866B2
JP3548866B2 JP14130293A JP14130293A JP3548866B2 JP 3548866 B2 JP3548866 B2 JP 3548866B2 JP 14130293 A JP14130293 A JP 14130293A JP 14130293 A JP14130293 A JP 14130293A JP 3548866 B2 JP3548866 B2 JP 3548866B2
Authority
JP
Japan
Prior art keywords
record
file
item
name
aggregation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP14130293A
Other languages
English (en)
Other versions
JPH06332927A (ja
Inventor
利雄 東原
潤二 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP14130293A priority Critical patent/JP3548866B2/ja
Publication of JPH06332927A publication Critical patent/JPH06332927A/ja
Application granted granted Critical
Publication of JP3548866B2 publication Critical patent/JP3548866B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【産業上の利用分野】
この発明は、オフィスコンピュータやパーソナルコンピュータ等において、会計ファイル、人事ファイル等からレコードデータを加工するデータ処理装置に関する。
【0002】
【従来の技術】
従来、オフィスコンピュータや汎用コンピュータ等の事務処理装置においては、会計ファイル、人事ファイル、売上伝票ファイル、在庫ファイル等、各種多様のファイルを記憶管理しているが、各ファイルを構成するレコード構造は、ファイル毎に異なっており、同一レコード形態(レコードを構成する各項目が一致するレコード)毎にまとめて別ファイルとして記憶管理している。
ここで、任意の項目を指定してその項目を含むレコードをファイルから読み出して分類集計する場合において、項目内のデータは最初に分類集計し易いような分類コード体系を作っても、時の経過につれて分類が現実に適合しなくなり、そのままでは分類集計を行うことができなくなるのが現状であった。
そこで、従来においては、この対策として分類集計用のコード変換テーブルを設け、このコード変換テーブルを用いて分類集計に最適なコード体系に変換することによって分類集計する方法が現状広く採用されている。
【0003】
【発明が解決しようとする課題】
しかしながら、コード変換テーブルを用いる方法では専門家であるシステムエンジニアが分類集計用のコード体系(変換テーブル)を作成しなければならなかった。即ち、種々の業務上の要望に応じて分類コード体系を作成することは極めて専門的で高度な知識を必要とする為、一般ユーザの業務担当者にあってはその作成は極めて困難であり、システムエンジニアにその作成を依頼しなければならないのが現状であった。
この発明の課題は、所望する帳票等を得る為にコード体系を予め作成しておかなくても、抽出対象ファイルおよびそのレコード抽出条件を指定すると共に帳票等の出力イメージにしたがって出力レコードのレコード名、出力対象項目等を単に指定するだけで、その指定内容にしたがった帳票等を出力できるようにすることである。
【0004】
【課題を解決するための手段】
この発明は、分類コードをキーとした複数の項目の中に集計対象データを含むレコードを複数記憶するファイル記憶手段と、集計対象ファイル名を指定するファイル名欄と、当該ファイル名欄のファイルから抽出すべきレコード抽出条件を指定するレコード抽出条件欄と、複数階層の集計レベル別に集計レコード名を指定するレコード名欄と、この各集計レコード名に対応して抽出対象となる分類コードを指定するコード欄と、が設けられた集計定義表を記憶する定義表記憶手段と、上記集計定義表のファイル名欄で指定されているファイル名のファイル内に記憶される複数のレコードの中から、上記集計定義表のレコード抽出条件欄で指定されているレコード抽出条件に該当するレコードを抽出する第1抽出手段と、上記第1抽出手段で抽出された各レコードの中で、更に上記集計定義表の各集計レコード名欄に対応するコード欄に定義された分類コードに一致するレコードを更に抽出する第2抽出手段と、上記第2抽出手段により更に抽出された各レコードを対象に、その各レコード内の上記集計対象データを読み出して、その分類コードに対応して上記集計定義表のレコード名欄で指定された集計レコード名の集計レコードに、上記読み出した集計対象データを集計する第1集計手段と、上記データの集計された集計レコードの集計レコード名の集計レベルよりも上位の集計レベルのレコード名欄に集計レコード名の指定があれば、その上位の集計レベルのレコード名欄の集計レコード名に対応する上位の集計レコードに対して、上記分類コードに対応する集計対象データが集計された上記集計レコードの集計データを集計する第2集計手段と、上記各集計レコードにおける各集計データを、上記集計定義表で指定された各階層別の集計レコード名と対応付け、上記集計定義表で指定された階層形態の集計表を作成する集計表作成手段と、を具備したことを特徴とする。
【0006】
【実施例】
以下、図1〜図24を参照して一実施例を説明する。
図1は本実施例に係るデータ処理装置のブロック構成図である。このデータ処理装置はオフィスコンピュータを構成するもので、専門的知識を有しない業務担当者等が集計定義表を用いて集計レベルに対応して集計対象等を任意に指定しておくだけで、この集計定義表の定義内容に該当するレコードを所定ファイルから読み出して集計レベルに応じた階層構造でレコードを集計し、この集計結果を帳票データとして印刷出力するものである。
入力部1は各種のデータやコマンド等を入力するキー入力装置で、入力部1から入力されたデータはパラメータ設定部2に取り込まれて処理されると共に表示部3に表示出力される。なお、入力部1は所定のキー操作に応答してパラメータ設定部2に対して起動命令を与える。
【0007】
パラメータ設定部2は入力部1からの起動命令に応答して動作し、業務担当者等が所望する任意のレコード集計を指示する為に集計レコードのレコード名や集計対象あるいは集計条件等を定義する定義表(本実施例にあっては2種類のA表、B表)を入力部1から入力されたデータにしたがって生成し、表示部3から表示出力させると共に、パラメータファイル4に設定する。なお、A表、B表については後で詳細に説明するので、ここでは簡単に説明しておくものとする。例えば、所望する帳票として図2に示す様な「経費実績表」を印刷出力させる為に、この帳票の出力イメージにしたがった集計定義表としてA表およびB表を生成しておく。ここで、図2に示す帳票は集計レコードのレコード名を行項目に配置し、また集計レコードのデータ項目名を列項目に配置したものである。A表は図3、B表は図4に示す様に構成されており、A表は抽出対象ファイルおよび該ファイル内のレコード抽出条件や集計レベル毎に集計レコードのレコード名および集計レコードとして抽出される項目内容等を定義する定義表である。また、B表は集計レコードのデータ項目として出力される項目名およびその項目名に対応してデータ項目として抽出される出力対象項目あるいは帳票印刷時の書式や集計条件等を定義する定義表である。
【0008】
パラメータファイル4はA表、B表に対応してその基本フォーマット(罫線データ等)が予めメーカサイドによって固定的に格納されている他に、入力部1から任意に入力された各種帳票のA表パラメータデータ、B表パラメータデータおよび、入力部1から任意に入力された各種の帳票名とA表パラメータデータ、B表パラメータデータとを対応付ける対応テーブルが記憶されている。
【0009】
表構造解析部5は帳票印刷時に入力部1から入力された起動命令にしたがって動作し、出力対象として任意に指定された帳票名に対応するA表パラメータデータ、B表パラメータデータを解析し、その解析結果にしたがって各種のパラメータ解析テーブル6を作成する。この場合、本実施例においてはパラメータ解析テーブル6として図5(A)に示す様な抽出条件テーブル、図5(B)に示す様なA表結合テーブル、図5(C)に示す様なB表結合テーブル、図5(D)に示す様なB表条件テーブル、図5(E)に示す様なB表集計項目テーブルの他、図示しないがB表計算式テーブルを作成する。また、表構造解析部5はA表に定義されている集計レベルに応じた階層構造等を解析し、その解析結果に基づいて構成ファイル7を作成する。なお、構成ファイル7は後で詳述するが、A表内の集計対象項目とそれに対応するレコードとの対応関係や集計レベルの階層構造における上下関係等を表わす各種の構成レコードから成るものである。更に、表構造解析部5はB表のヘッダー位置に定義されている各欄の項目名、例えば“経費項目”、“期初計画”……等の名称を読み出して印刷書式メモリ8に設定する他、B表の書式の位置に定義されている各欄の印刷書式を読み出して印刷書式メモリ8に設定する。その後、表構造解析部5は展開ファイル作成部9に起動命令を与える。
【0010】
印刷書式メモリ8は入力部1から任意に設定された印刷書式の他に、集計レベルに応じた帳票フォーマットを帳票名に対応付けて記憶するもので、この帳票フォーマットおよび帳票名は入力部1から任意に入力されたものである。なお、帳票フォーマットは集計レベルに対応した括り用の罫線フォーマットで、この罫線フォーマットの形状に応じて集計レベルの階層構造を表現している。
【0011】
展開ファイル作成部9はパラメータ解析テーブル6内の各種テーブル内容を参照し、データファイル10を構成する各種のソースファイルA……Nの中から集計対象ファイルを指定したり、この集計対象ファイルから抽出したレコードに基づいて1レコードずつ展開レコードを順次生成し、展開ファイル11に書き出す。これによって展開ファイル11を作成すると、展開ファイル作成部9は展開集計処理部12に起動命令を与える。
【0012】
展開集計処理部12は構成ファイル7を参照しながら展開ファイル11の内容に基づいて1レコードずつ集計レコードを順次作成し、集計ファイル13に書き出す。これによって集計ファイル13を作成すると、展開集計処理部12は印刷処理部14に起動命令を与える。
印刷処理部14は集計ファイル13の内容を印刷書式メモリ8に設定されている印刷書式にしたがって1レコードずつ帳票フォーマットと共にプリンタ15から印字出力させることにより、帳票作成を行う。
【0013】
次に、本実施例の動作を説明する。
先ず、所望する帳票を得る為に入力部1からA表、B表の作成を指示すると、パラメータ設定部2はこれに応答して動作する。先ず、A表作成時にパラメータ設定部2はパラメータファイル4から読み出したA表の基本フォーマットにしたがって表枠等を表示出力させる。図6はA表の基本フォーマットの表示状態を示している。ここで、A表の基本フォーマットはその行方向の見出し部として6段階の集計レベルを表わすアルファベット文字A、B、C、D、E、Fと、各集計レベルを区分する括り用の罫線フォーマットが表示され、この括り用の罫線は集計レベル毎に列方向に“ずれて”表示され、この“ずれ”によって集計レベルの階層構造を表現している。この場合の階層構造はA>B>C>D>E>Fの関係にある。ここで、A表の行項目には集計レコードのレコード名が集計レベルに対応させて入力され、また、その列方向には集計対象のファイル名およびそのファイルから集計レコードとして抽出されるべき項目名が入力される。なお、A表の基本フォーマットはその一部を適宜修正変更可能であり、表枠全体を伸長したり、縮少することもできるようにしてある。
【0014】
いま、A表の基本フォーマットが表示出力されている状態において、業務担当者は入力部1からA表のパラメータデータを入力する。図3はA表にパラメータデータを入力した場合の表示例である。ここで、A表の行方向の見出し部には、各集計レベルに対応して任意の名称が集計レコードのレコード名として入力されている。例えば、行No「01」には集計レベルAに対応してレコード名「計」が入力され、また、行No「02」には集計レベルBに対応してレコード名「固定費」、行No「03」には集計レベルCに対応してレコード名「人件費」……が入力されている。なお、上述の例では集計レベル毎に任意のレコード名を入力部1から直接入力するようにしたが、使用するレコード名が予め定まっている場合には、これら使用予定のレコード名をテーブルに記憶しておき、レコード名入力時にこのテーブル内容をウィンドゥ画面に一覧表示させ、その中から任意のレコード名を選択することによってレコード名を入力するようにしてもよい。また、レコード名は名称に限らず、コードであってもよい。
【0015】
またA表の見出し部には抽出対象ファイルを示す任意のファイル名が入力されている。例えば、図3に示すA表においては2種類のファイル名「計画FILE」、「会計FILE」が入力されており、これによって集計レコードをどのファイルから抽出すべきかの対象ファイルが定義されている。また、ファイル名の後に括弧書きされた文字列は、該ファイルからレコードを読み出す際のレコード抽出条件で、図3の例ではファイル名「計画FILE」、「会計FILE」に対応してレコード抽出条件としてそれぞれ「(部門=“83”)」が入力されている。このレコード抽出条件はファイル項目名、定数、簡単な演算子を用いた条件式で記述するようにし、上述の(部門=“83”)は項目名「部門」においてその項目内容が「83」のレコードを対象ファイルから読み出すべきことを定義している。また、各ファイル名に対応してその項目名が入力されており、図3の例では「計画FILE」に対応してその項目名「予算項目」が入力され、また、「会計FILE」に対応してその項目名「勘定科目」が入力されており、これによって上述したレコード抽出条件にしたがって対象ファイルから読み出されたレコードのうち集計対象となる項目名が定義されている。
【0016】
更に、A表の行方向および列方向の見出し部によって構成されるマトリックス状の各入力エリアには、集計対象項目の具体的な項目内容(項目コード)が入力されている。例えば、行No「03」、即ち、集計レベルCに対応するレコード名「人件費」については、「計画FILE」の「予算項目」に対応して項目コード「101」、「102」が入力され、また、「会計FILE」の「勘定科目」に対応して項目コード「2111」、「2112」、「2134」が入力されており、これによって計画ファイルを構成する予算項目のうち、項目コード「101」、「102」に該当するレコードを抽出すべきことが定義され、また、会計ファイルを構成する勘定項目のうち、項目コード「2111」、「2112」、「2134」に該当するレコードを抽出すべきことが定義されている。
また、A表には各行Noに対応して管理単位エリアが設けられており、任意の行を指定してそれに対応する位置に丸印を入力することにより当該行は項目コードが入力されるエリアであることを示す。これはA表の定義内容を行単位毎に解析する際に、当該丸印が付されている行が解析対象となり、その他の行を対象から外すことによって処理スピードの向上を図る為である。同時に、業務担当者が抽出集計すべきデータがソースファイル(会計FILEなど)にある事を確認する意味もある。なお、図3で示したA表においては、ファイル名として2種類入力した例を示したが、3種類以上入力してもよく、また1つのファイル名に対応してそれぞれ1つずつの項目名を入力したが、1つのファイル名に対応させて2以上の項目名を入力するようにしてもよい。
このようにしてA表を作成すると、パラメータ設定部2はそのパラメータデータをパラメータファイル4に設定する。
【0017】
次に、パラメータ設定部2はパラメータファイル4からB表の基本フォーマットを読み出して表示出力させる。図7はこのB表の基本フォーマットを示し、この行方向の見出し部にはその行項目のラベルとして「書式」、「対象FILE」、「集計項目」、「計算式」、「条件項目」、「条件値」が予め固定的に設定されており、また、B表の列方向における見出し部の各列項目はその項目位置を示す名称として「A」、「B」、「C」、……「G」に対応付けられている。なお、B表においてもA表と同様に、その基本フォーマットの一部を適宜修正変更可能であり、表枠全体を伸長したり、縮少することもできるようにしてある。
【0018】
いま、B表の基本フォーマットが表示出力されている状態において、業務担当者は入力部1からB表のパラメータデータを入力する。図4はB表にパラメータデータを入力した場合の表示例である。ここで、B表の列方向における見出し部には集計レコードのデータ項目として印刷出力される項目名が入力されている。例えば、項目位置「A」には「経費項目」、項目位置「B」には「期初計画」、項目位置「C」には「修正計画」、項目位置「D」、「E」にはその共有項目として「実積」およびその下位項目として項目位置「D」には「部門経費」、項目位置「E」には「付替経費」、更に項目位置「F」には「実積計」、項目位置「G」には「計画差」が入力されている。
【0019】
また、B表の行項目において、「書式」には項目データの印刷書式として列項目毎に欄幅、文字種、文字サイズ等が入力されている。また、次の「対象FILE」には列項目位置「B」、「C」に対応して「計画FILE」が入力され、列項目位置「D」、「E」に対応して「会計FILE」が入力されている。更に、次の「集計項目」は集計対象として抽出されたレコードの中からどの項目データを集計すべきかを定義するもので、列項目位置「B」、「C」に対応して「予算額+」が入力され、また、列項目位置「D」、「E」に対応して「借方金額+」および「貸方金額−」が入力されている。ここで、プラス/マイナスの符号はレコード集計時の加算集計あるいは減算集計を定義するものである。次の「計算式」は集計結果を出力する際の出力単位や集計演算の計算式を入力するもので、図示の例「B/1000」はデータ項目Bの内容を“1000”で割って千円単位で出力すべきことを示している。一方、「条件項目」および「条件値」はA表の定義内容によって抽出された抽出レコードのうちある項目データが所定の値に該当するレコードのみを集計対象として集計すべきことを定義するもので、「条件項目」として列項目位置「B」、「C」にはそれぞれ「計画種別」が入力され、またその「条件値」として列項目位置「B」には「1」、列項目位置「C」には「2」、「3」、「4」が入力され、同様に、「条件項目」として列項目位置「D」、「E」にはそれぞれ「相手勘定」が入力され、また「条件値」として列項目位置「D」には「≠0011(0011を除く他の全てのコードを抽出すべきことを示している)」、列項目位置「E」には「0011」が入力されている。なお、B表の表枠外には帳票名として「経費実績表」が入力されている。
このようにしてB表を作成すると、パラメータ設定部2はそのパラメータデータをパラメータファイル4に設定する。
【0020】
このようにして、A表、B表を作成した後、入力部1から任意の帳票名を指定してその印刷指令を与えると、表構造解析部5は図8に示すフローチャートにしたがって動作する。なお、図8は表構造解析部5の全体動作の概要を示したゼネラルフローで、先ず、表構造解析部5はパラメータファイル4から指定帳票のA表パラメータデータを読み出して抽出条件テーブルを作成し(ステップA1)、次いでA表結合テーブルを作成(ステップA2)し、更に構成ファイルを作成する(ステップA3)。次に、表構造解析部5はパラメータファイル4から指定帳票のB表パラメータデータを読み出してB表の結合テーブルを作成すると共に(ステップA4)、条件テーブル(ステップA5)、集計項目テーブル(ステップA6)、計算式テーブル(ステップA7)をそれぞれ作成する。その後、B表のパラメータデータから書式に関するデータを取り出して印刷書式メモリ8に書き込む(ステップA8)。
【0021】
図9は抽出条件テーブルの作成フローを示したもので、表構造解析部5はA表パラメータを解析し、図5(A)に示す様な抽出条件テーブルを作成する。ここで、抽出条件テーブルはA表に定義されている抽出対象のファイル名とそのレコード抽出条件とを対応付けるテーブルで、「ファイル名」、「抽出条件」、「ファイル記号」とから成る。なお、「ファイル記号」はA表に定義されているファイル名を「1」からの連続番号で特定する為のレコードである。
先ず、表構造解析部5はパラメータファイル4から指定帳票のA表パラメータデータを読み出すと共に(ステップB1)、ファイル記号として初期値「1」をセットしておく(ステップB2)。そして、A表の列方向の見出し部をその先頭から順次解析してゆく。即ち、先ず、表構造解析部5はA表に定義されている先頭ファイル名を指定する(ステップB3)。次に、この指定ファイル名の後に括弧“(”が有るかをチェックし(ステップB4)、無ければステップB8にジャンプするが、有れば、ファイル名の後にレコード抽出条件が定義されているので、次のステップB5に進み、指定ファイル名に対応して定義されている抽出条件を指定し、それが予め決められている規則にしたがって記述されているかをチェックする(ステップB6)。
ここで、抽出条件の記述に関する規則は次の通りである。
抽出条件は「( )」で括り、ファイル項目名、定数、簡単な演算子を用いた
もので、
使用可能な関係演算子は、
< > <= >= != =
(小さい)(大きい)(以下)(以上)(等しくない)(等しい)
また、使用可能な論理演算子は、
| &
(和)(積)
である。更に、条件文中の定数(文字型、数値型)は引用符「”」で囲まれていること。なお、「?」、「*」を使って広範囲のデータを指示することもで
きる。
【0022】
いま、抽出条件が一定の規則にしたがって記述されていなければステップB8にジャンプするが、条件式の記述が適正であれば、指定したファイル名、抽出条件およびファイル記号を1組のデータとして抽出条件テーブルに書き込む(ステップB7)。この場合、図3に示すA表であれば、抽出条件テーブルの1行目には図5(A)に示す様に、ファイル名「計画ファイル」、レコード抽出条件「(部門=“83”)」、ファイル記号「1」が書き込まれる。次に、A表に他のファイル名が定義されているかをチェックし(ステップB8)、有れば、ステップB9に進み、ファイル記号に「1」を加算してその更新を行ったのちステップB3に戻り、以下、同様の動作を繰り返す。ここで、全てのファイルを指定し終ると、ステップB10に進み、上記ステップB6で抽出条件の記述が適正でないものが検出されていれば、その旨をガイダンス表示し、その記述を訂正すべきことが報知される。
【0023】
図10はA表結合テーブルの作成フローを示したもので、図5(B)に示す様なA表結合テーブルを作成する。ここで、A表結合テーブルはA表に定義されているファイル名と項目名とを対応付ける対応テーブルで、「ファイル名」、「シークェンシャル番号SEQ」、「項目名」、「ファイル記号」とから成る。ここで、シークェンシャル番号SEQは同一ファイル内に定義されている項目名を「01」から連続番号で特定する為のコードである。
先ず、表構造解析部5はパラメータファイル4から指定帳票のA表パラメータデータを読み出すと共に(ステップC1)、ファイル記号として初期値「1」を指定しておく(ステップC2)。そして、A表の列方向の見出し部をその先頭から順次解析してゆく。即ち、表構造解析部5は先ず、A表に定義されている先頭ファイル名を指定したのち(ステップC3)、シークェンシャル番号SEQの初期値「1」を指定し(ステップC4)、更にこの先頭ファイル名に対応する最初の項目名を指定する(ステップC5)。これによって指定されたファイル名、シークェンシャル番号SEQ、項目名、ファイル記号をA表結合テーブルに書き込む(ステップC6)。次に、同一ファイル名に対応して他の項目名が定義されていれば(ステップC7)、シークェンシャル番号SEQに「1」を加算してその値を更新すると共に(ステップC8)、次の項目名を指定し(ステップC5)、A表結合テーブルへの書き込みを行う(ステップC6)。以下、同一ファイル名に対応する全ての項目名を指定し終るまで上述の動作を繰り返す。この結果、全ての項目名を指定し終ると、次のステップC9に進み、A表に他のファイル名が有れば、それを条件にファイル記号「1」を加算し、その値の更新を行う(ステップC10)。以下、ステップC3に戻り、A表から当該他のファイル名を指定すると共に、そのファイル名に対応する全ての項目名を順次指定しながらA表結合テーブルへの書き込みを行う。
【0024】
次に、図8で示した構成ファイル7の作成処理(ステップA2)を図11〜図15を参照して詳述する。
図11〜図13は構成ファイル7を作成する際の動作を示したフローチャートであり、また、図14はこの場合における表構造解析部5の動作内容を図式的に示した図、また図15は作成された構成ファイル7を示した図である。なお、図15の(A)は構成ファイル7のレコード構造を示したもので、この構成レコードは「子フード」、「親コード」、「終了フラグ」、「名称」とから成り、「子フード」および「親コード」はA表内の集計対象項目とそれに対応する集計レコードとの対応関係を表わしたり、集計レベルの階層構造における親子関係(上下関係)を表わすコードである。また、「終了フラグ」は親コードに集計レベルAが含まれている場合に“1”となるフラグであり、終了フラグに“1”がセットされている場合にはそれよりも上位レベルへのレコード集計を行わないことを示している。「名称」はA表に定義されている集計レコードのレコード名である。先ず、表構造解析部5はA表パラメータの先頭行を指定し(ステップD1)、指定行の集計レベルは最上位のレベルAか否かをチェックする(ステップD2)。ここで、集計レベルがAであれば、初期設定の為に、表構造解析部5内の最終項目ワークメモリ(図14の(B)参照)の内容を全てクリアしておくと共に(ステップD3)、現在着目中のレベル(現在レベル)として集計レベルAを指定しておく(ステップD4)。
この状態において、現在レベルと現在着目している行(現在行)の行Noとからレベル行データを生成する(ステップD5)。例えば、図3に示すA表を例に挙げると、A表の先頭行は集計レベルAであり、かつその行Noは「01」であるので、この現在レベルと行Noとを組み合せたレベル行データ「A01」を生成する。次に、このレベル行データ「A01」と現在行の名称(集計レコードのレコード名「計」)とを最終項目ワークメモリの現在レベルAに対応する位置にセットする(ステップD6)。なお、最終項目ワークメモリは図14の(B)に示す様に集計レベルA、B、C、D……に対応してレベル行データおよび名称を記憶する構成となっており、構成レコード作成時のワークメモリである。
【0025】
次に、現在行の管理単位エリアに丸印が付されているか否かをチェックする(ステップD7)。いま、図3に示す様に先頭行には丸印が付されていないので、A表の次行に着目してその行にレコード名が設定されているか否かをチェックする(ステップD8)。ここで、設定有りが検出されると、現在行を更新して次行の指定を行う(ステップD9)。これによってA表の2行目が指定されると次に、ステップD2に戻るが、この場合、2行目の集計レベルはB、したがってステップD10に進み、指定行のレベルが現在レベル以上か否かのエラーチェックを行い、現在レベル以上であれば、最終項目メモリ内で指定行のレベル以下の内容を全てクリアしておく(ステップD11)。
【0026】
いま、指定行レベルBは現在レベルのA未満であるので、ステップD12に進み、指定行レベルを現在レベルとして現在レベルの更新を行う。次に、現在レベルと現在行の行Noとからレベル行データを生成し(ステップD13)、このレベル行データと現在行の名称とを最終項目ワークメモリの現在レベルに対応する位置にセットする(ステップD14)。この場合、レベル行データ「B02」、名称「固定費」が現在レベルBに対応する位置にセットされる(図14の(B)参照)。次に、このレベル行データの先頭に記号(・)を結合し(ステップD15)、この結合データを図14の(A)に示す様に構成レコードの子コードとしてセットする(ステップD16)。ここで、記号(・)はA表のうち項目コードが入力されていない行を着目行とした場合にセットされるもので、これによってソースファイルと対応関係が無いことを示している。そして、図12のステップD17に進み、最終項目ワークメモリの中から(現在レベル+1)のレベル位置に格納されているレベル行データを読み出し、このレベル行データの先頭に記号(・)を結合し、この結合コードを構成レコードの親コードとしてセットする(ステップD18)。いま、現在レベルはB、したがって最終項目ワークメモリのレベルAの位置に格納されているレベル行データ「A01」に記号(・)を結合した結合コードが親コードとなる(図14の(A)参照)。ここで、親コードのレベルがAであれば(ステップD19)、構成レコードの終了フラグに“1”をセットする(ステップD20)。次に、親コードの名称を最終項目ワークメモリから読み出して構成レコードの名称としてセットする(ステップD21)。このようにして1レコード分のデータとして子コード「・B02」、親コード「・A01」、終了フラグ「1」、名称「計」が揃うと、この構成レコ−ドは構成ファイル7に書き出される(ステップD22)。
【0027】
次に図11のステップD7に戻るが、この場合、現在行の管理単位エリアには丸印が付されていないので、次の行の3行目が指定される(ステップD9)。その後、上述のステップD12〜D14が実行される結果、最終項目ワ−クメモリのレベルCにはレベル行デ−タ「C03」と現在行の名称「人件費」がセットされる(図14の(B)参照)。そしてこのレベル行デ−タに記号(・)を付けた結合コ−ドが構成レコードの子コ−ドとしてセットされる(ステップD15、D16)。次に、最終項目ワ−クメモリ内のレベルBの位置(1段上位のレベル位置)から読み出したレベル行デ−タ「B02」に記号(・)を付けた結合コ−ドが構成レコ−ドの親コ−ドとしてセットされる(図12のステップD17、D18)。この場合、親コ−ドに対応する最終項目ワ−クメモリ内の名称「固定費」が構成レコ−ドの名称となる(ステップD21)。このようにして1レコ−ド分のデ−タとして子コ−ド「・C03」、親コ−ド「・B02」、名称「固定費」が揃うと、この構成レコ−ドは構成ファイル7に書き出される(ステップD22)。
【0028】
続いて、図11のステップD7で3行目の管理単位エリアに丸印が付いていることが検出されると、図13のステップD23に進み、ファイル記号の初期値として「1」をセットしておく。次に、現在行に入力されている項目コ−ドをその先頭から指定し(ステップD24)、ファイル記号と項目コ−ドとを結合してこの結合コ−ドを構成レコ−ドの子コ−ドとしてセットする(ステップD25、D26)。この場合、ファイル記号「1」と項目コ−ド「101」とが結合される為、子コ−ドは「1101」となる。次に、最終項目ワ−クメモリ内の現在レベルのレベル行デ−タの先頭に記号(・)を結合し(ステップD27)、この結合デ−タを構成レコ−ドの親コ−ドとしてセットする(ステップD28)。そして、この親コ−ドの名称「人件費」を最終項目ワ−クメモリから読み出して構成レコ−ドの名称としてセットする(ステップD29)。図14の(C)はこの場合の構成レコ−ドを示し、子コ−ドが「1101」、親コ−ドが「・C03」、名称が「人件費」から成る構成レコ−ドが、構成ファイル7に書き出される(ステップD30)。次に、現在行に他の項目コ−ドが入力されているかをチェックし(ステップD31)、有れば、ステップD24に戻り、次の項目コ−ドを指定して以下、上述の動作を繰り返す。この結果、3行目の項目コ−ド「102」が指定された場合の構成レコ−ドは、子コ−ドが「1102」、親コ−ドが「・C03」、名称が「人件費」となる。
【0029】
その後、ステップD31で項目コ−ド無しが検出されるので、ステップD32に進み、他のファイル名がA表内に定義されているかをチェックするが、いま、A表内には次のファイル名として「会計FILE」が定義されているので、ステップD33に進み、ファイル記号に「1」を加算してその値を更新したのち、ステップD24に戻る。この場合、ファイル記号は「2」、項目コ−ドとして最初の「2111」が指定される為、構成レコ−ドの子コ−ドは「22111」となり、親コ−ドは「・C03」、名称は「人件費」となる。
いま、ステップD32で他のファイル無しが指定されると、図11のステップD8に戻り、以下、ステップD8で設定無しが検出されるまで構成レコ−ドを作成して構成ファイル7に書き出す処理を1レコ−ドずつ繰り返す。これによって図15に示す様な構成ファイル7が作成される。この構成ファイル7の内容は図3のA表を参照することによって生成されたもので、この構成ファイル7の8レコード目〜12レコード目はA表の行No「03」に対応し、また、13レコード目〜15レコード目はA表の行No「04」に対応している。
【0030】
このようにして構成ファイル7を作成し終ると、表構造解析部5はB表の結合テーブル、条件テ−ブル、集計項目テ−ブルの他、計算式テ−ブルを作成する。このうち、B表結合テ−ブル、条件テ−ブル、集計項目テ−ブルは図16および図17に示すフローチャートにしたがって作成される。
ここで、B表結合テ−ブル(図5(C)を参照)は「ファイル名」、「シークェンシャル番号SEQ」、条件項目の「項目名」、「ファイル記号」とから成る。また、条件テ−ブル(図5(D)参照)は「ファイル名」、「B表の項目位置」、「条件値」、「否定フラグ」とから成る。ここで、「否定フラグ」とは条件値として「≠(等しくない)」が設定されていることを示すフラグである。また、集計項目テ−ブル(図5(E)参照)は「ファイル名」、「B表の項目位置」、集計項目の「項目名」、「マイナスサイン」とから成る。ここで、「マイナスサイン」は例えば「貸方金額−」という様に集計項目に項目名にマイナス符号が付いていることを示す。
【0031】
先ず、表構造解析部5はパラメータファイル4から指定帳票のB表パラメータデータを読み出し(ステップE1)、その第2列(項目位置B)を指定しておく(ステップE2)。次に、指定列の対象ファイル名を呼び出すと共に(ステップE3)、このファイル名に対応するファイル記号をA表結合テーブルより呼び出す(ステップE4)。そして、次のステップE5でシークェンシャル番号SEQの初期値「1」をセットしたのち、指定列の条件項目に着目して項目名が設定されているかをチェックし(ステップE6)、設定されていればその条件項目名を指定する(ステップE9)。これによって得られたファイル名、シークェンシャル番号SEQ、条件項目名、ファイル記号から結合レコードを生成したのち(ステップE10)、この結合レコードをB表結合テーブルにセットするが、その際、同一レコードの重複設定を避ける為に、B表結合テーブル内に同一レコードが設定されていないことを条件に(ステップE11)、生成した結合レコードをB表結合テーブルにセットする(ステップE12)。
【0032】
次に、指定列の条件値に着目してその条件値を指定すると共に(ステップE13)、この条件値に“≠”が付加されていれば(ステップE14)、否定フラグをセットする(ステップE15)。このようにして得られたファイル名、指定列の項目位置を示す列名称、条件値、否定フラグとから条件レコードを生成し(ステップE16)、B表の条件テーブルにセットする(ステップE17)。ここで、指定列に複数の条件値が定義されていれば、各条件値毎に条件レコードを生成する為、ステップE18では他の条件値が有るか否かをチェックし、有ればステップE13に戻り、次の条件値を指定してそれに対応する条件レコードを生成して条件テーブルにセットする。
そして、次のステップE19では指定列に他の条件項目が有るか否かをチェックし、有ればステップE20に進み、シークェンシャル番号SEQに「1」を加算してその値を更新したのち、ステップE9に戻り、次の条件項目を指定し、以下、それに対応する結合レコードを生成したり、条件レコードを生成して対応テーブルにセットする。
【0033】
ステップE19で他の条件項目無しが検出されると、ステップE21に進み、指定列の条件項目を指定し、その条件項目にマイナス符号が付加されていれば(ステップE22)、マイナスサインフラグのセットを行う(ステップE23)。このようにして得られたファイル名、指定列の列項目位置を列名称、集計項目、マイナスサインフラグとから集計項目レコードを生成し(ステップE24)、集計項目テーブルにセットする(ステップE25)。
【0034】
このようにB表の1列分の定義内容を解析して1列分のB表結合テーブル、条件テーブル、集計項目テーブルを作成したら、ステップE7に進み、B表の次列にデータが指定されているかをチェックし、有ればその行を指定し(ステップE8)、以下、ステップE3に戻り、上述の動作を繰り返す。
【0035】
その他、表構造解析部5はB表パラメータデータを解析して計算式テーブルを作成するが、この計算式テーブルは各計算式を列項目位置に対応付けたものである。また、表構造解析部5はB表パラメータデータから書式データを列項目位置に対応付けて読み出し、印刷書式メモリ8にセットする。
【0036】
このようなテーブル作成処理が終ると、表構造解析部5は展開ファイル作成部9を起動させる。すると、展開ファイル作成部9は図18および図19に示すフローチャートにしたがって展開ファイル作成処理を行う。なお、展開ファイル11は帳票の出力データである集計ファイル13を作成するまでに中間的に生成されるファイルである。ここで、図20はソースファイルが計画ファイルの場合にその1レコード目〜4レコード目の内容にしたがって作成された展開レコードを示し、また、図21はソースファイルが会計ファイルの場合にその1レコード目〜3レコード目の内容にしたがって作成された展開レコードを示している。更に、図22はこれによって作成された展開ファイル11の内容を示している。いま、パラメータ解析テーブル6には図5(A)〜(E)に示す様な内容の各種テーブルがセットされているものとする。
【0037】
先ず、展開ファイル作成部9はパラメータ解析テーブル6を参照し、A表結合テーブルよりファイル名(最初は1レコード目のファイル名)を取り出すと共に(ステップF1)、そのファイル記号を指定しておく(ステップF2)。次に、このファイル名に対応するソースファイルを指定し(ステップF3)、このソースファイル内の先頭レコードを指定する(ステップF4)。これによって集計対象ファイルとしてA表に最初に定義されている「計画ファイル」の先頭レコードが指定される。
次に、展開ファイル作成部9は抽出条件テーブルを参照し、このテーブル内に指定ファイルに対応して抽出条件が定義されていれば、この抽出条件にしたがって指定ファイル(この場合、計画ファイル)から条件に合致するレコードを抽出し、これを図示しないメモリあるいはワークファイル上に再構成し、以降、再構成されたデータを集計対象ファイルとして扱う(ステップF4)。いま、計画ファイルに対応してその抽出条件として「部門=“83”」が定義されているので、この抽出条件を抽出パラメータに分解し、この抽出パラメータにしたがって順次該当レコードを絞り込みながら「部門=“83”」に合致するレコード、つまり、項目名が「部門」で、その項目内容が定数“83”と等しい値を持ったレコードをそれぞれ計画ファイルから読み出してメモリやワークファイル上に再構成する。このようにして予め集計対象ファイルからその抽出条件に合致するレコードのみを読み出して再構成し、以降、再構成されたデータを集計対象のファイルとして扱う為、処理対象外の無駄なレコードを省き、対象レコードのみに絞り込んだファイルを得ることができる。なお、このようにして得られたファイルを以下、絞り込みファイルと称する。
次に、A表結合テーブルから項目名(最初は1レコード目の項目名)を取り出し(ステップF6)、この項目名に対応する項目値をステップF5で得られた絞り込みファイル内の指定レコード(最初は先頭レコード)から取り出す(ステップF7)。そして、この項目値と指定ファイル記号とを結合し(ステップF8)、この結合データを展開レコードの分類キーとしてセットする(ステップF9)。いま、図20に示す様に計画ファイルにおいてその絞り込みファイルの先頭レコードから予算項目の項目値「101」が取り出され、この項目値「101」と指定ファイル記号「1」とが結合され、この結合データ「1101」が展開レコードの1レコード目における分類キーとなる。
【0038】
次に、この計画ファイルにおける絞り込みファイル(以下、計画絞り込みファイルと略称する)の先頭レコードにおいて、その出力対象項目はB表に定義されている抽出条件に合致するレコードか否かを調べる。即ち、先ず、展開ファイル作成部9はB表結合テーブルを参照し、このテーブル内に指定ファイル記号が有るかをチェックする(ステップF10)。ここで、上述した様に条件項目がB表内に定義されている時に、ファイル名、条件項目名、ファイル記号等がB表結合テーブルにセットされる為、ファイル記号がセットされていないということは条件項目がB表に定義されていないこと(つまり、出力対象項目の抽出条件がセットされていない無条件)を意味する。いま、B表結合テーブルには指定ファイル記号「1」がセットされているので、ステップF11に進み、B表結合テーブルの項目名に対応する項目値を指定レコードから取り出す。この場合、先頭レコードから計画種別の項目値「1」が取り出される。そして、この項目値に対応する条件値をB表条件テーブル内から検索し(ステップF12)、一致する条件値が有るかをチェックする(ステップF13)。いま、先頭レコードに含まれている計画種別の項目値「1」はB表条件テーブル内の1レコード目に存在する為、次のステップF14に進み、それに対応するB表条件テーブル内に否定フラグがセットされているか否かをチェックするが、この場合、否定フラグはセットされていないので、ステップF20に進み、一致した条件値に対応する位置の値(この場合、B)をB表条件テーブルから取り出し、これと一致する項目位置の値を集計項目テーブル内で検索し(ステップF21)、これに対応する項目名を指定する(ステップF22)。ここで、集計項目テーブルにはその1レコード目に項目位置Bがセットされているのでそれに対応する項目名「予算額」が取り出され、この項目名に対応する項目値「800,000」を指定レコードから取り出すと共に(ステップF23)、この項目位置Bに対応して集計項目テーブル内にマイナスサインフラグがセットされているかをチェックする(ステップF24)。次に、ステップF25に進み、指定レコードから取り出した項目値「800,000」を展開レコードの対応位置「B」に集計するが、この場合、マイナスサインフラグがセットされるものについてはマイナス集計が行われ、マイナスサインフラグがセットされていないものはプラス集計される。これによって図20に示す様な1レコード目の展開レコードが作成される。
【0039】
次に、集計項目テーブル内で同一の項目位置(この場合、B)が他にもセットされているかをチェッするが(ステップF26)、図5(E)に示す様に、会計ファイルについては項目名「借方金額」、「貸方金額」に対応して集計項目テーブル内にそれぞれ2ケ所ずつ同一項目位置D、Eがセットされているが、項目位置Bについては複数セットされていないので、ステップF15に進み、B表条件テーブル内で項目値と一致する条件値が他に有るかをチェックする。いま、B表条件テーブル内において条件値「1」はその1行目しか存在しない為、ステップF16に進み、指定された計画絞り込みファイル内に次のレコードがあることを条件に、次のレコードを指定する(ステップF19)。
【0040】
これによって計画絞り込みファイルの2レコード目が指定され、ステップF6に戻り、以下、上述の動作が繰り返される。この場合、ファイル記号「1」と2レコード目の予算項目値「102」とによって2レコード目における展開レコードの分類キー「1102」が生成される(ステップF6〜F9)。また、上記1レコード目と同様に2レコード目の計画種別に対応する項目値も「1」で、この項目値「1」に一致する条件値はB表条件テーブル内に存在し、かつそれに対応して否定フラグもセットされていないので、ステップF20に進み、B表条件テーブルから項目位置「B」を取り出し、この項目位置「B」に対応する項目名「予算額」の値を計画ファイルの2レコード目から取り出す(ステップF21〜F23)。この場合、図20に示す様に、計画ファイル(絞り込みファイル)の2レコード目の予算額の項目から「200,000」が取り出され、展開レコード(2レコード目)の対応位置「B」にプラス集計される(ステップF25)。
【0041】
次に、計画絞り込みファイルの3レコード目が指定されると(ステップF19)、展開レコード(3レコード目)の分類キー「1103」が生成される。この場合、計画絞り込みファイルから読み出された3レコード目の計画種別の項目値は「2」で、この項目値と一致する条件値はB表条件テーブル内にセットされているが、この条件値に一致する項目値は「C」である。したがって、計画絞り込みファイルの3レコード目から取り出された「予算額」の項目値「400,000」が展開レコード(3レコード目)における対応位置「C」にプラス集計される。
【0042】
更に、計画絞り込みファイルの4レコード目が指定されると、その3レコード目と同様に展開レコード(4レコード目)の項目位置「C」には計画絞り込みファイルの4レコード目から取り出された予算額の項目値「50,000」がプラス集計される。なお、この展開レコードの分類キーは「1104」となる。
以下、同様に、計画絞り込みファイルを1レコードずつ順次指定しながら、パラメータ解析テーブル6内のA表結合テーブル、B表の結合テーブル、条件テーブル、集計項目テーブルを参照し、計画絞り込みファイルの展開レコードを1レコードずつ順次作成してゆく。
【0043】
なお、ステップF10でB表結合テーブル内に指定ファイル記号がセットされていないことが検出された場合には、条件項目が定義されていない無条件項目である為、ステップF29に進み、B表条件テーブルの定義内容を参照せず、直接的に、集計項目テーブル内で指定ファイルと同一のファイル名を検索し、以降、ステップF22に戻る。
【0044】
このような動作を1レコードずつ行った結果、指定ファイル内の全レコードを指定し終り、ステップF16で次レコード無しが検出されると、ステップF17に進み、A表結合テーブル内に他のファイルが定義されているかをチェックする。いま、A表結合テーブル内には、他のファイルとして会計ファイルが定義されているので、最初のステップF1に戻り、上述と同様に会計ファイルに対応してその展開レコードを順次生成する処理を行う。
即ち、A表結合テーブルよりファイル名として「会計FILE」を取り出し(ステップF1)、そのファイル記号として「2」を指定しておく(ステップF2)。そして、このファイル名に対応するソースファイルとして会計ファイルを指定すると共に(ステップF3)、その先頭レコードを指定しておく(ステップF4)。
次に、抽出条件テーブルを参照し、会計ファイルからこの抽出条件「部門=“83”」に合致するレコードのみを読み出して会計ファイルについての絞り込みファイルを得る(ステップF5)。
【0045】
この状態において、指定レコードの「勘定科目」の項目値「2111」とファイル記号「2」とを結合し、1レコード目における展開レコードの分類キー「22111」を生成する(ステップF6〜F9)。そして、ステップF10に進むが、この場合、B表結合テーブルにはファイル記号「2」が記憶されているので、B表結合テーブルの項目名「相手勘定」に対応する項目値を会計絞り込みファイルの1レコード目から取り出す(ステップF11)。いま、会計絞り込みファイルの1レコード目からは「相手勘定」の項目値として「0011」が取り出されるので、この項目値と一致する条件値をB表条件テ−ブルから検表する(ステップF12)。この場合、該当する条件値はテ−ブル内の5行目と6行目にそれぞれセットされているので、ステップF13で一致が検出されてステップF14に進み、先ず、最初の5行目に着目し、それに対応する位置に否定フラグがセットされているかをチェックする。いま、B表条件テ−ブルの5行目には否定フラグがセットされている為、ステップF15に進み、B表条件テ−ブル内でこの項目値「0011」と一致する条件値が他に有るかをチェックするが、いま、B表条件テ−ブル内の6行目に条件値「0011」が有る為、ステップF14に戻る。いま、この条件値に対応する位置に否定フラグはセットされていないので、ステップF20に進み、B表条件テ−ブルからこれに対応する項目位置「E」を取り出し、この項目位置「E」に一致する集計項目テ−ブル内の項目名を指定するが(ステップF21、F22)、この場合、集計項目テ−ブルの5行目、6行目にそれぞれセットされている項目位置「E」のうち最初の項目位置、つまり、5行目に対応する項目名「借方金額」を指定する。そして、会計絞り込みファイルの1レコ−ド目から指定項目名に対応する項目値「50,000」を読み出し、1レコ−ド目における展開レコ−ドの対応位置「E」にプラス集計する(ステップF23、F24)。
【0046】
そして、ステップF26に進むが、この場合、集計項目テ−ブル内にはその5行目の他に6行目にも同一の項目位置「E」が存在する為、ステップF22に戻り、集計項目テ−ブル内の当該項目位置に対応する項目名「貸方金額」を指定し、この指定項目名に対応する項目値を会計絞り込みファイルの1レコ−ド目から取り出す(ステップF23)。この場合、会計絞り込みファイルの1レコ−ド目からは貸方金額の項目値として「D」が取り出され、展開レコ−ドの1レコ−ド目の対応位置「E」に集計されるが、この際、集計項目テ−ブルの6行目にはマイナスサインフラグがセットされているので、マイナス集計、つまり、(前回の借方金額「50,000」−今回の貸方金額「0」)の集計演算が行われる(ステップF25)。その後、ステップF26、F15、F16からステップF19に進み、会計絞り込みファイルの2レコ−ド目が指定される。
これによって会計絞り込みファイルの2レコ−ド目に対応してその展開レコ−ドが生成されるが、この場合、勘定科目の項目値も「2111」で、1レコ−ド目と同様に分類キ−は「22111」となる。また、2レコ−ド目の相手勘定も「0011」で、項目条件値と一致する為、その借方金額「0」が展開レコ−ドの項目位置Eにプラス集計され、またその貸方金額「40,000」がその項目位置Eにマイナス集計される。この為、2レコ−ド目の展開レコ−ドの項目位置には「−40,000」が書き込まれる。
【0047】
次に、会計絞り込みファイルの3レコ−ド目が指定されるが、この相手勘定の項目値は「0011」で、B表条件テ−ブル内にはこれと一致する条件値はセットされていないので、ステップF13からステップF27に進み、B表結合テ−ブル内で指定ファイル対応して否定フラグがセットされてるかをチェックする。いま、B表条件テ−ブル内にはその5行目に会計ファイルに対応して否定フラグがセットされているので、ステップF28に進み、否定フラグがセットされている位置の値「D」をB表条件テ−ブルから取り出し、この値に一致する位置を集計項目テ−ブル内から検索し(ステップF21)、その項目名「借方金額」に対応する項目値「80,000」を3レコ−ド目から取り出し、展開レコ−ドの対応位置Dにプラス集計する。その後、ステップF26からステップF22に戻り、上述と同様に次の項目名「貸方金額」の項目値「0」が展開レコ−ドの位置「D」にマイナス集計される。以下、次レコ−ドが指定され、ステップF13で不一致が検出される毎に上述と同様の動作が1レコ−ドずつ繰り返される。これによって条件項目「相手勘定」の条件値「≠0011」にしたがった展開レコ−ドが順次生成される。
【0048】
その後、会計絞り込みファイルの全レコ−ドを指定し終り、ステップF16で次レコ−ド無しが検出されると、ステップF17に進み、A表結合テ−ブル内に他のファイルが有るかをチェックするが、この場合、ファイル無しが検出されるので、ステップF18に進み、展開レコ−ドの編集処理が行われる。即ち、分類キ−が同一の展開レコ−ドをそれぞれ抽出し、これを1つのレコ−ドにまとめると共に、分類キ−にしたがって各展開レコ−ドを昇順にソ−トする。例えば、図21に示す様に、1レコ−ド目と2レコ−ド目の展開レコ−ドはその分類キ−が同一である為、1つの展開レコ−ドにまとめられ、その項目位置「E」の値は「10,000」となる。
図22は上述の様にして作成された展開ファイル11の内容を示している。即ち、計画ファイル、会計ファイルの内容にしたがって作成された展開ファイル11で、そのレコード構造はA、B、C、D、E、Fの項目を有し、その先頭項目Aは分類キーとなっている。
【0049】
このようにして展開ファイル作成部9は展開ファイル11を作成したのち、展開集計処理部12を起動させる。すると、展開集計処理部12は図23のフローチャートにしたがって集計ファイル13を作成する。なお、図24は展開集計処理部12の動作内容を具体的に説明する為の図である。
展開ファイル作成部9は展開ファイル11の内容と構成ファイル7の内容とに基づいて集計ファイル13を部品展開手法にしたがって生成する。
先ず、展開集計処理部12は展開ファイル11の先頭から1レコード分のデータを読み込む(ステップG1)。そして、次のステップG2ではデータ終了か、つまり、展開ファイル11の先頭から全てのレコードを読み出したか否かをチェックする。最初は展開ファイル11の先頭から1レコード分のデータを読み込んだ場合であるから、次のステップG3に進み、構成ファイル7の内容をサーチし、その分類キーと一致する子コードを持った構成レコードを構成ファイル7から検索する。いま、図24に示す様に展開ファイル11の先頭レコード内の分類キーは「1101」であり、構成ファイル7には図15に示す様にこれと一致する子コードを持った構成レコードが存在する為、ステップG3でそのことが検出されてステップG4に進み、集計ファイル13のレコード(集計レコード)を生成する。即ち、図24の具体例において、先ず、展開集計処理部12はこの子コード「1101」に対応する親コードを構成ファイル7から読み出し、この親コード「・C03」をB表の行No「03」とそれ以外「・C」とに分解し、この行No「03」を集計ファイル13の1レコード目の先頭項目に配置し、またそれ以外の「・C」をそれに続けて配置する。そしてこの子コードに対応する名称を構成ファイル7から読み出し、集計レコードの次の項目に配置する。これに続けて展開ファイル11のデータ項目「800,000」を集計レコードの次項目以降に順次配置する。
この集計レコードはA表の行No「03」に定義されているレコード名「人件費」、集計レベル「C」の集計レコードであり、このレコード名に対応してA表に定義されている集計対象コードに該当するデータを集計したものである。
これによって集計ファイル13の1レコード分のデータが生成されると、この生成レコードを集計ファイル13に書き出すが、その際、集計ファイル13内に既に同一分類キーを持つレコードが存在していれば、それを1レコードに集計して集計ファイル13内に書き込み、また同一分類キーのレコードが存在していなければ、今回生成したレコードを新たに集計ファイル13に追加する(ステップG5)。
【0050】
次に、構成ファイル7内の該当レコード位置に終了フラグがセットされているか否かをチェックする(ステップG6)。ここで、構成ファイル7内の終了フラグは親コードの集計レベルが「A」のときに“1”となるもので、終了フラグが“1”のときにはそのままステップG3に戻るが、終了フラグが“1”でなければ新たな展開レコードを生成して展開ファイル11への書き出しを行う(ステップG7)。この場合、図24の(B)に示す様なレコードを生成して展開ファイル11へ戻す。即ち、今回生成した集計レコードよりも上位レベルにあるレコード名がA表に定義されていれば、今回生成した集計レコードの集計結果を上位レベルにあるレコード名の集計レコードへ集計させる為に新たな展開レコードを生成して展開ファイル15への書き出しを行う。ここで、構成ファイル7内の該当する親コード「・C03」を先頭項目に配置し、これに続いて展開ファイル11から読み出したデータを順次配置して成るレコードを展開ファイル11へ書き出す。なお、図22で示した展開ファイル11において、図中破線の下に配置したレコードはこの戻されたレコードを示している。
その後、ステップG3に戻り、以下、構成ファイル7の内容を全てサーチし、該当レコードが検出されなくなるまで上述の動作を繰り返す。この結果、ステップF3で該当レコード無しが検出されて不一致終了となると、ステップG1に戻り、展開ファイル11から次のレコードを読み出す。このような動作は展開ファイル11の全レコードに対して行われる。これによって集計対象コードに該当するデータがA表の対応するレコード名の集計レコードに集計される他、この集計レコードよりも上位レベルにあるレコード名がA表に定義されていれば、この集計レコードの集計結果が上位レベルにあるレコード名の集計レコードに集計される。一方、上位レベルにある集計レコードへのマイナス集計が定義されていれば、上位レベルの集計レコードへマイナス集計される。そして、ステップG1でデータ終了が検出されると、ステップG8に進み、集計ファイル13を構成する各レコードをその先頭項目の内容にしたがって昇順にソートする。このようにしてソートされた集計ファイル17内の各レコードは帳票出力時の印刷順に並べ替えられる。
【0051】
このようにして集計ファイル13が作成されると、展開集計処理部12は印刷処理部14を起動させる。すると、印刷処理部14は印刷書式メモリ8の内容を取り込んでその印刷書式にしたがって集計ファイル13の内容を帳票フォーマットと共にプリンタ15から印刷出力させる。この場合、集計ファイル13の集計レコードに記憶されている各レコード名を順次取り出して縦方向に配置すると共に、印刷書式メモリ8に記憶されている各項目名を順次取り出して帳票フォーマットの対応位置に印刷出力させる。図2はこの場合の帳票印刷例で、その行方向には集計レベルに応じた階層構造のフォーマットと共に集計レコードのレコード名が印刷されると共に、列方向には集計レコードの項目名が印刷され、更に集計ファイル13の内容が1レコード毎に印刷出力される。
【0052】
以上の様に、本実施例においては、専門的知識を有しない業務担当者が所望する帳票を得る為に、集計対象ファイルおよびそのレコード抽出条件を指定すると共に、帳票等の出力イメージにしたがって集計レベル毎に集計レコードのレコード名、出力対象項目等を単に定義するだけで、その定義内容にしたがって集計対象ファイルから読み出されたレコード項目の内容が集計レベルに応じて集計され、その集計結果が階層構造で印刷されるので、業務担当者等であっても所望する帳票を容易に得ることができる。特に、A表に集計対象ファイルを定義する際に、そのレコード抽出条件も定義できる為、レコード集計を行う前処理として予め処理対象外のレコードを省き、対象レコードのみに絞り込んでおくことができる。即ち、予め集計処理に必要な対象レコードのみを第一段階で絞り込んでおくことができ、これによって第2段階での次のレコード条件の指定が容易になる。
【0053】
なお、上記実施例はA表に定義される対象ファイルの抽出条件として「部門=“83”」の場合を例に挙げたが、図25に示す様な条件式を定義するようにしてもよい。即ち、図25に示す例では、対象ファイル名として「全社残高ファイル」を定義すると共に、そのレコード抽出条件として(“12”<=勘定科目&勘定科目<“13”)を定義した場合である。これは指定された項目名の中で数値範囲もしくはコード範囲に含まれる項目データを有するレコードのみを対象ファイルから抽出することを示している。即ち、“勘定科目”のコードが“12”以上で、且つ“13”より小さいレコードを“全社残高ファイル”から抽出する指定である。なお、項目間の論理演算子「&」は論理積を示しているが、その他に論理和「1」等の論理演算子で項目間の条件を指定する。また、データ範囲は文字範囲を指定してもよい。
【0054】
また、上記実施例はレコード集計を行う場合について説明したが、A表の集計レベルをAだけにすることによりレコード集計に限らず、単にレコード抽出、配列、項目内計算等を行うようにしてもよい。
また、上記実施例は帳票を印刷出力する場合を示したが、CRT画面表示やその他の媒体に出力するようにしてもよい。
一方、上記実施例はA表、B表を別個独立に定義するようにしたが、A表、B表を同一画面上において同時に定義するようにしてもよい。
また、上記実施例においては、A表の見出し部によって構成されるマトリックス上の任意の交点位置に項目コードを入力するようにしたが、項目名を入力するようにしてもよく、またその行方向に入力される集計レコードのレコード名を集計レベルに応じて階層構造で入力するようにしたが、階層構造に限定されないことは勿論である。パラメータファイルからA表、B表のイメージそのものを印刷する事により、帳票などの仕様書として業務担当者がわかる形で保管できる様にしてもよい。
【0055】
【発明の効果】
この発明によれば、所望する帳票等を得る為にコード体系を予め作成しておかなくても、抽出対象ファイルおよびそのレコード抽出条件を指定すると共に帳票等の出力イメージにしたがって出力レコードのレコード名、出力対象項目等を単に指定するだけで、その指定内容にしたがった帳票等を出力することができるので、従来の様にシステムエンジニア等の専門家にコード体系の作成を依頼する必要はなく、一般ユーザである業務担当者でも容易に帳票等を簡単に得ることが可能となり、極めて実用性に富んだものとなる。特に、抽出対象ファイルの指定時に、ファイル名だけでなく、同時に該当するレコード条件も指定できる為、対象レコードを第一段階で絞り込むことができ、第2段階での次のレコード条件の指定が容易になる。
【図面の簡単な説明】
【図1】実施例に係るデータ処理装置のブロック構成図。
【図2】帳票の印刷出力例を示した図。
【図3】A表に定義された内容を具体的に示した図。
【図4】B表に定義された内容を具体的に示した図。
【図5】図3、図4に示すA表、B表を解析することによって得られた抽出条件テーブル、A表結合テーブル、B表結合テーブル、B表条件テーブル、B表集計項目テーブルの内容を具体的に示したもので、(A)は抽出条件テーブル、(B)はA表結合テーブル、(C)はB表結合テーブル、(D)はB表条件テーブル、(E)はB表集計項目テーブルを示した図。
【図6】A表の基本フォーマットを示した図。
【図7】B表の基本フォーマットを示した図。
【図8】表構造解析部5の全体動作の概要を示したゼネラルフローチャート。
【図9】図8で示した抽出条件テーブル作成処理を詳細に示したフローチャート。
【図10】図8で示したA表結合テーブル作成処理の一部を詳細に示したフローチャート。
【図11】図8で示した構成ファイル作成処理の一部を詳細に示したフローチャート。
【図12】図11に続く構成ファイル作成処理の一部を示したフローチャート。
【図13】図11に続く構成ファイル作成処理の一部を示したフローチャート。
【図14】構成ファイル作成処理の動作内容を具体的に示した図で、(A)、(C)は構成レコード、(B)は最終項目ワークメモリの内容を示した図。
【図15】構成ファイルの具体的な内容を示した図。
【図16】図8で示したB表に関するテーブル作成処理の一部を示したフローチャート。
【図17】図16に続くテーブル作成処理の一部を示したフローチャート。
【図18】展開ファイル作成処理の一部を示したフローチャート。
【図19】図18に続く展開ファイル作成処理の一部を示したフローチャート。
【図20】計画ファイルのレコード内容に基づいて作成された展開レコードを示した図。
【図21】会計ファイルのレコード内容に基づいて作成された展開レコードを示した図。
【図22】展開ファイル11の内容を具体的に示した図。
【図23】展開集計処理部12による展開集計処理を示した図。
【図24】展開集計処理の動作内容を具体的に示した図で、(A)は展開ファイル、構成ファイルから集計レコードが生成される様子を示した図、(B)は新たに生成される展開レコードを示した図。
【図25】レコード抽出条件の他の指定例を示した図。
【符号の説明】
1 入力部
2 パラメータ設定部
3 表示部
4 パラメータファイル
5 表構造解析部
6 パラメータ解析テーブル
7 構成ファイル
8 印刷書式メモリ
9 展開ファイル作成部
10 データファイル
11 展開ファイル
12 展開集計処理部
13 集計ファイル
14 印刷処理部
15 プリンタ

Claims (1)

  1. 分類コードをキーとした複数の項目の中に集計対象データを含むレコードを複数記憶するファイル記憶手段と、
    集計対象ファイル名を指定するファイル名欄と、当該ファイル名欄のファイルから抽出すべきレコード抽出条件を指定するレコード抽出条件欄と、複数階層の集計レベル別に集計レコード名を指定するレコード名欄と、この各集計レコード名に対応して抽出対象となる分類コードを指定するコード欄と、が設けられた集計定義表を記憶する定義表記憶手段と、
    上記集計定義表のファイル名欄で指定されているファイル名のファイル内に記憶される複数のレコードの中から、上記集計定義表のレコード抽出条件欄で指定されているレコード抽出条件に該当するレコードを抽出する第1抽出手段と、
    上記第1抽出手段で抽出された各レコードの中で、更に上記集計定義表の各集計レコード名欄に対応するコード欄に定義された分類コードに一致するレコードを更に抽出する第2抽出手段と、
    上記第2抽出手段により更に抽出された各レコードを対象に、その各レコード内の上記集計対象データを読み出して、その分類コードに対応して上記集計定義表のレコード名欄で指定された集計レコード名の集計レコードに、上記読み出した集計対象データを集計する第1集計手段と、
    上記データの集計された集計レコードの集計レコード名の集計レベルよりも上位の集計レベルのレコード名欄に集計レコード名の指定があれば、その上位の集計レベルのレコード名欄の集計レコード名に対応する上位の集計レコードに対して、上記分類コードに対応する集計対象データが集計された上記集計レコードの集計データを集計する第2集計手段と、
    上記各集計レコードにおける各集計データを、上記集計定義表で指定された各階層別の集計レコード名と対応付け、上記集計定義表で指定された階層形態の集計表を作成する集計表作成手段と、
    を具備したことを特徴とするデータ処理装置。
JP14130293A 1993-05-21 1993-05-21 データ処理装置 Expired - Fee Related JP3548866B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14130293A JP3548866B2 (ja) 1993-05-21 1993-05-21 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14130293A JP3548866B2 (ja) 1993-05-21 1993-05-21 データ処理装置

Publications (2)

Publication Number Publication Date
JPH06332927A JPH06332927A (ja) 1994-12-02
JP3548866B2 true JP3548866B2 (ja) 2004-07-28

Family

ID=15288730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14130293A Expired - Fee Related JP3548866B2 (ja) 1993-05-21 1993-05-21 データ処理装置

Country Status (1)

Country Link
JP (1) JP3548866B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3633017B2 (ja) * 1995-01-24 2005-03-30 カシオ計算機株式会社 賃金表作成装置
ATE306102T1 (de) 2001-01-03 2005-10-15 Nice Systems Ltd Auf inhalt basierende speicherungsverwaltung
JP7064300B2 (ja) * 2017-09-12 2022-05-10 株式会社オービック 配信情報取得装置、配信情報取得方法および配信情報取得プログラム
JP7300036B2 (ja) * 2017-09-12 2023-06-28 株式会社オービック 配信情報送信装置、配信情報送信方法および配信情報送信プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0458365A (ja) * 1990-06-28 1992-02-25 Casio Comput Co Ltd 帳票出力装置
JPH04181372A (ja) * 1990-11-15 1992-06-29 Nec Software Ltd データの表形式の集計方式

Also Published As

Publication number Publication date
JPH06332927A (ja) 1994-12-02

Similar Documents

Publication Publication Date Title
Park et al. Atom: A grammar for unit visualizations
US5765167A (en) Data file update processing apparatus
US5664182A (en) Persistent storage of report objects
US20020129017A1 (en) Hierarchical characterization of fields from multiple tables with one-to-many relations for comprehensive data mining
CN101535946A (zh) 素数网数据管理系统
JP2004537811A (ja) 特許データベースから特許間の相互関係を分析し提供する方法
Khan et al. Data tweening: incremental visualization of data transforms
JP3548866B2 (ja) データ処理装置
JPH10222691A (ja) 図形表示方法及び図形表示装置並びに図形表示処理プログラムを記録した媒体
JP3551445B2 (ja) 帳票処理装置
US5805881A (en) Method and apparatus for generating arbitrary output records in response to output designation of records
JP3109324B2 (ja) データ集計装置
JP3109330B2 (ja) 帳票出力装置
JP3109331B2 (ja) 帳票出力装置
JPH07141445A (ja) データ処理装置
JP3554768B2 (ja) データ集計装置
JP3482651B2 (ja) データ処理装置
JP3489138B2 (ja) 帳票出力装置
Zapawa Excel Advanced Report Development
JPH04181372A (ja) データの表形式の集計方式
JP3064706B2 (ja) データ処理装置
JPH07282162A (ja) データ処理装置
JP3309164B2 (ja) 印刷処理装置
Alexander The Excel Analyst's Guide to Access
Vosough Parallel Hierarchies: Interactive Visualization of Multidimensional Hierarchical Aggregates

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040120

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040405

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees