JPH0778212A - 帳票出力装置 - Google Patents
帳票出力装置Info
- Publication number
- JPH0778212A JPH0778212A JP5169821A JP16982193A JPH0778212A JP H0778212 A JPH0778212 A JP H0778212A JP 5169821 A JP5169821 A JP 5169821A JP 16982193 A JP16982193 A JP 16982193A JP H0778212 A JPH0778212 A JP H0778212A
- Authority
- JP
- Japan
- Prior art keywords
- record
- level
- totaling
- file
- name
- 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.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
ド名等を任意に指定しておくだけで、指定された集計レ
ベルの親子関係に応じて上位レベルへの集計を行い、そ
の集計結果をレコード名の並び順にしたがって指定内容
通りの階層構造で出力する。 【構成】 展開集計処理部11はA表の定義内容(集計
レベルに対応する集計レコード名、このレコード名に対
応する集計対象コード)に基づいて所定ファイルから読
み出された集計対象コードに該当するデータを対応する
集計レコードに集計すると共に、この集計結果をそれよ
りも上位レベルにあるしコードに集計する際、上位レベ
ルのレコード名の配置を判別し、それに応じて上集計あ
るいは下集計を行う。印刷処理部13は集計ファイル1
2の内容をA表の定義内容通りに印刷する。
Description
タやパーソナルコンピュータ等において、例えば、会計
ファイル、人事ファイル等からレコードデータを集計
と、その集計結果を帳票として出力する帳票出力装置に
関する。
ピュータ等の事務処理装置においては、会計ファイル、
人事ファイル、売上伝票ファイル、在庫ファイル等、各
種多様のファイルを記憶管理しているが、各ファイルを
構成するレコード構造は、ファイル毎に異なっており、
同一レコード形態(レコードを構成する各項目が一致す
るレコード)毎にまとめて別ファイルとして記憶管理し
ている。ここで、任意の項目を指定してその項目を含む
レコードをファイルから読み出して分類集計する場合に
おいて、項目内のデータは最初に分類集計し易いような
分類コード体系を作っても、時の経過につれて分類が現
実に適合しなくなり、そのままでは分類集計を行うこと
ができなくなるのが現状であった。そこで、従来におい
ては、この対策として分類集計用のコード変換テーブル
を設け、このコード変換テーブルを用いて分類集計に最
適なコード体系に変換することによって分類集計する方
法が現状広く採用されている。
変換テーブルを用いる方法では専門家であるシステムエ
ンジニアが分類集計用のコード体系(変換テーブル)を
作成しなければならなかった。即ち、種々の業務上の要
望に応じて分類コード体系を作成することは極めて専門
的で高度な知識を必要とする為、一般ユーザの業務担当
者にあってはその作成は極めて困難であり、システムエ
ンジニアにその作成を依頼しなければならないのが現状
であった。この発明の課題は、集計レベルに対応して集
計レコードのレコード名等を任意に指定しておくだけ
で、指定された集計レベルの親子関係に応じて上位レベ
ルへの集計を行い、その集計結果をレコード名の並び順
にしたがって指定内容通りの階層構造で出力できるよう
にすることである。
通りである。 (1A)、指定手段は集計レベルに対応して集計レコー
ドのレコード名を任意の位置に配置して指定すると共
に、このレコード名に対応して集計対象を指定する。 (2A)、第一の集計手段はこの指定手段によって指定
された集計対象に該当するデータを所定のファイルから
読み出してこの集計対象に対応するレコード名のレコー
ドに集計する。 (3A)、集計方向決定手段はこの第一の集計手段によ
って集計されたレコードの集計結果をそれよりも上位レ
ベルのレコードに集計する際に、この上位レベルのレコ
ード名の配置位置に基づいて順方向に集計するか逆方向
に集計するかを決定する。 (4A)、第二の集計手段は前記第一の集計手段で集計
されたレコードの集計結果を前記集計方向決定手段によ
って決定された集計方向に配置されている上位レベルに
あるレコード名のレコードに集計する。 (5A)、出力手段はこの第二の集計手段で集計された
各レコードを前記指定手段で指定されたレコード名の配
置順にしたがって出力する。なお、前記出力手段は前記
第二の集計手段で集計された各レコードを前記指定手段
で指定されたレコード名の配置順にしたがって出力する
と共に、前記集計方向決定手段によって決定された集計
方向に対応するフォーマットで出力するようにしてもよ
い。第二の発明の手段は次の通りである。 (1B)、指定手段は集計レベルに対応して集計レコー
ドのレコード名を任意に指定すると共に、このレコード
名に対応して集計対象を指定する。 (2B)、第一の集計手段はこの指定手段によって指定
された集計対象に該当するデータを所定のファイルから
読み出してこの集計対象に対応するレコード名のレコー
ドに集計する。 (3B)、第二の集計手段はこの第一の集計手段によっ
て集計されたレコードの集計結果をそれよりも上位レベ
ルにあるレコード名のレコードに集計する。 (4B)、出力手段はこの第二の集計手段で集計された
各レコードを前記指定手段で指定されたレコード名の並
び順にしたがって出力すると共に、各レコードの集計レ
ベルのつながり具合に応じたフォーマットで出力する。
ま、専門的知識を有しない業務担当者が所望する帳票を
得る為に、集計レベルに対応して集計レコードのレコー
ド名を任意の位置に配置して指定すると共に、このレコ
ード名に対応して集計対象を指定するが、この場合、表
形式で集計レコードのレコード名を縦方向に並べて配置
指定したものとする。すると、指定された集計対象に該
当するデータが所定のファイルから読み出され、この集
計対象に対応するレコード名のレコードに集計される。
次に、この集計レコードの集計結果はそれよりも上位レ
ベルのレコードに集計されるが、その際、この上位レベ
ルのレコード名の配置位置に基づいて順方向に集計する
か逆方向に集計するか、この場合、上方向に集計する上
集計か下方向に集計する下集計かを決定し、その方向に
配置されている上位レベルにあるレコード名のレコード
に集計される。これによって集計された各レコードは、
指定内容通りにレコード名の配置順にしたがって帳票出
力される。第二の発明の手段の作用は次の通りである。
いま、上述と同様にレコード名、集計対象を指定する
と、この集計対象に該当するデータが所定のファイルか
ら読み出され、この集計対象に対応するレコード名のレ
コードに集計されると共に、この集計結果はそれよりも
上位レベルにあるレコード名のレコードに集計される。
これによって集計された各レコードは指定されたレコー
ド名の並び順にしたがって出力されると共に、各レコー
ドの集計レベルのつながり具合に応じたフォーマットで
出力される。したがって、集計レベルに対応して集計レ
コードのレコード名等を任意に指定しておくだけで、指
定された集計レベルの親子関係に応じて上位レベルへの
集計を行い、その集計結果をレコード名の並び順にした
がって指定内容通りの階層構造で出力することができ
る。
例を説明する。図1は本実施例に係るデータ処理装置の
ブロック構成図である。このデータ処理装置はオフィス
コンピュータを構成するもので、専門的知識を有しない
業務担当者等が集計定義表を用いて集計レベルに対応し
て集計対象等を任意に指定しておくだけで、この集計定
義表の定義内容に該当するレコードを所定ファイルから
読み出して集計レベルに応じた階層構造でレコードを集
計し、この集計結果を帳票データとして印刷出力するも
のである。入力部1は各種のデータやコマンド等を入力
するキー入力装置で、入力部1から入力されたデータは
パラメータ設定部2に取り込まれて処理されると共に表
示部3に表示出力される。なお、入力部1は所定のキー
操作に応答してパラメータ設定部2に対して起動命令を
与える。
命令に応答して動作し、業務担当者等が所望する任意の
レコード集計を指示する為に集計レコードのレコード名
や集計対象等を定義する定義表(本実施例にあってはA
表)を入力部1から入力されたデータにしたがって生成
し、表示部3から表示出力させると共に、パラメータフ
ァイル4に設定する。なお、A表については後で詳細に
説明するので、ここでは簡単に説明しておくものとす
る。例えば、所望する帳票として図2(A)に示す様な
「損益計算書」を印刷出力させる為には図3(A)に示
す様なA表を定義し、また図2(B)に示す様な帳票を
印刷出力させる為には図3(B)に示す様なA表を定義
しておく。ここで、A表は帳票の出力イメージにしたが
って集計内容を定義する定義表であり、集計レベルA、
B、Cに対応して集計レコードのレコード名および集計
として抽出される集計対象項目の項目内容(対象項目コ
ード)等を定義する。また、集計レベルの階層構造はA
>B>Cの関係にあり、この集計レベルによってレコー
ドの親子関係(上下関係)が表わされる。なお、集計レ
ベルに対応してレコード名を定義する際、親子関係にし
たがってレコード名を配置するが、レコード名の配置位
置は任意であり、本実施例においては、最上位レベルA
に対応するレコード名を図3(A)に示す様にA表の先
頭行に配置したり、図3(B)に示す様にA表の最下行
に配置するようにしてもよい。ここで、A表の各レコー
ド名に対応するレコードの集計結果はA表の定義内容に
したがってそれと親子関係にある上位レベルのレコード
に集計される。その際、図3(A)に示す様に最上位レ
ベルのレコード名がA表の先頭行に配置されていれば、
上方向に配置されている上位レベルのレコード名に対応
するレコードに集計されるが、図3(B)に示す様に、
最上位レベルのレコード名がA表の最下行に配置されて
いれば、下方向に配置されている上位レベルのレコード
名に対応するレコードに集計される。以下、図3(A)
に示す様な定義内容に応じた集計を“上集計”、図3
(B)に示す様な定義内容に応じた集計を“下集計”と
称すると、図2(A)は上集計された場合、図2(B)
は下集計された場合の帳票出力例を示している。
の基本フォーマット(罫線データ等)が予めメーカサイ
ドによって固定的に格納されている他に、入力部1から
任意に入力された各種帳票のA表パラメータデータおよ
び、入力部1から任意に入力された各種の帳票名とA表
パラメータデータとを対応付ける対応テーブルが記憶さ
れている。なお、パラメータファイル4には入力部1か
ら任意に指定された帳票印刷時の書式もA表パラメータ
データに対応付けて記憶されている。
ら入力された起動命令にしたがって動作し、出力対象と
して任意に指定された帳票名に対応するA表パラメータ
データにしたがって集計レベルに応じた階層構造等を解
析し、その解析結果に基づいて構成ファイル6を作成す
る。なお、構成ファイル6は後で詳述するが、A表内の
集計対象項目とそれに対応する集計レコードとの対応関
係や集計レベルの階層構造における上下関係等を表わす
各種の構成レコードから成るものである。更に、表構造
解析部5はパラメータファイル4から印刷書式を読み出
して印刷書式メモリ7に設定する。その後、表構造解析
部5は展開ファイル作成部8に起動命令を与える。
書式の他に、図4に示す様に帳票名に対応して帳票フォ
ーマット作成用のフォーマットテーブルが設定されてお
り、帳票印刷時に、このフォーマットテーブルの内容を
参照することによって集計レベルに応じた帳票フォーマ
ット(罫線フォーマット)が上集計、下集計別に生成さ
れる。ここで、フォーマットテーブル内には「名称」に
対応して集計レコードのレコード名が配置される範囲を
特定する為にその始点桁および終点桁がそれぞれ設定さ
れている。また、集計レベルA、B、Cに対応して集計
レベルA、B、Cを区分する括り用の罫線を生成する為
にその始点桁が設定されている。更に、集計レコードの
値が配置される範囲を特定する為に、その始点桁および
終点桁がそれぞれ設定されている。なお、フォーマット
テーブルは入力部1から任意に入力されてパラメータフ
ァイル4に書き込まれたのち、表構造解析部5によって
設定されたもので、例えば、図4に示すフォーマットテ
ーブルは「損益計算書」用として任意に設定されたもの
である。このように集計レベルに応じて罫線の始点桁を
ずらしておけば、この“ずれ”によって集計レベルの階
層構造を表現することができる。なお、縦罫線は上集
計、下集計に関係なくレベル毎に桁位置は同じである
が、横罫線においては縦罫線に対して上集計では上、下
集計では下に位置するように生成される。
を構成する各種のソースファイルA……Nの中から集計
対象ファイルを指定したり、この集計対象ファイルから
抽出したレコードを1レコードずつ展開レコードとし
て、展開ファイル10に書き出す。これによって展開フ
ァイル10を作成すると、展開ファイル作成部8は展開
集計処理部11に起動命令を与える。なお、展開ファイ
ル10の各レコードは分類コードとデータ値とから成
り、この分類コードがA表に定義されている集計対象項
目コードに相当している。
照しながら展開ファイル10の内容に基づいて1レコー
ドずつ集計レコードを順次作成し、集計ファイル12に
書き出す。これによって集計ファイル12を作成する
と、展開集計処理部11は印刷処理部13に起動命令を
与える。印刷処理部13は集計ファイル12の内容を印
刷書式メモリ7に設定されている印刷書式にしたがって
1レコードずつ帳票フォーマットと共にプリンタ14か
ら印字出力させることにより、帳票作成を行う。
所望する帳票を得る為に入力部1からA表の作成を指示
すると、パラメータ設定部2はこれに応答して動作す
る。先ず、A表作成時にパラメータ設定部2はパラメー
タファイル4から読み出したA表の基本フォーマットに
したがって表枠等を表示出力させる。いま、A表の基本
フォーマットが表示出力されている状態において、業務
担当者は入力部1からA表のパラメータデータを入力す
る。図3はA表にパラメータデータを入力した場合の表
示例である。ここで、A表の基本フォーマットにおい
て、その列方向の見出し部には3段階の集計レベルに対
応して「集計レベルA」、「集計レベルB」、「集計レ
ベルC」の見出し文字列が表示されていると共に「管理
単位」および「対象コード」の見出し文字列が表示され
ている。いま、図3(A)に示すデータ入力例におい
て、集計レベルAに対応して行No「01」には集計レコ
ードのレコード名として「利益」が入力され、また集計
レベルBに対応して行No「02」にはレコード名「売
上」、行No「05」にはレコード名「経費−」が入力さ
れ、更に集計レベルCに対応して行No「03」にはレコ
ード名「製品売上」、行No「04」に対応してレコード
名「部品売上」、行No「06」に対応してレコード名
「一般経費」が入力されている。このようにA表内には
集計レベルA、B、Cに対応して集計レコードのレコー
ド名が入力されている。
ードのレコード名をA表に入力しておくと、ある行に着
目した場合、その集計レコードの集計結果はそれよりも
前の行において上位レベルにある集計レコードに集計さ
れる。つまり、例えば、行No「06」の集計レコードの
集計結果はそれよりも上位レベルにある行No「05」の
集計レコードに集計され、また行No「05」の集計レコ
ードは、それよりも上位レベルにある行No「01」の集
計レコードに集計される。ここで、上位レベルへの集計
は通常プラス集計であるが、例えば行No「05」のレコ
ード名「経費−」の様にマイナス符号がレコード名と共
に入力されている場合には上位レベルへの集計はマイナ
ス集計となる。
エリアが設けられており、任意の行を指定してそれに対
応する位置に丸印を入力することにより、当該行は項目
コードが入力されているエリアであることを示す。これ
はA表の定義内容を行単位毎に解析する際に、当該丸印
が付されている行が解析対象となり、その他の行を対象
から外すことによって処理スピードの向上を図る為であ
ると同時に、業務担当者が抽出集計すべきデータがソー
スファイル(会計ファイルなど)にある事を確認する意
味もある。また、A表の「対象コード」の見出し部に対
応する入力エリアには、集計対象項目の具体的な項目内
容(項目コード)が入力されている。例えば、行No「0
1」、即ち、集計レベルAのレコード名「利益」に対応
する入力エリアには項目コード「911」が入力されて
おり、また行No「03」において集計レベルCのレコー
ド名「製品売上」に対応する入力エリアには項目コード
「111」が入力されており、これによって所定ファイ
ルの集計対象項目のうち項目コード「911」あるいは
「111」に該当するレコードを抽出すべきことが定義
されている。なお、集計レベルAのレコード名「利益」
に対応する入力エリアに定義した項目コード「911」
は、例えば営業外利益(株式の利益金、特許料等)を集
計対象項目としている。A表の「対象コード」入力エリ
アには各行に対応して複数の項目コードを入力可能なも
ので、図3(A)に示すA表の例では2つの項目コード
を入力することができるが、A表の基本フォーマットの
一部を適宜修正変更可能であり、表枠全体を伸長するこ
とによって3以上の項目コードを入力できるようになっ
ている。なお、図3(A)は集計レベルAのレコード名
をA表の先頭行に配置した場合であるが、図3(B)に
示す様に、集計レベルAのレコード名をA表の最下行に
配置するようにしてもよい。ここで、図3(A)、
(B)のA表はレコード名の配置位置が相違するだけで
あり、その定義内容は同一である。このようにしてA表
を作成すると、パラメータ設定部2はそのA表パラメー
タデータをパラメータファイル4に設定する。
て、入力部1から任意の帳票名を指定してその印刷指令
を与えると、表構造解析部5はパラメータファイル4内
のA表パラメータデータを解析し、構成ファイル6を作
成する処理を行う。図5〜図7は構成ファイル6を作成
する際の動作を示したフローチャートであり、図8〜図
13はこの場合における表構造解析部5の動作内容を図
式的に示すと共に、図3に示すA表の1行目〜6行目に
対応して生成される構成レコードの生成過程を示した
図、また図14は作成された構成ファイル6の内容を具
体的に示した図である。なお、構成ファイル6の各レコ
ード構造は「子コード」、「親コード」、「終了印」、
「サイン」、「名称」とから成り、「子コード」および
「親コード」はA表内の集計対象項目とそれに対応する
集計レコードとの対応関係を表わしたり、集計レベルの
階層構造における親子関係(上下関係)を表わすコード
である。また、「終了印」は親コードに集計レベルAが
含まれている場合に“1”となるフラグで、終了印に
“1”がセットされている場合にはそれよりも上位レベ
ルへのレコード集計を行わないことを示している。「サ
イン」はA表内のレコード名にマイナス符号が付されて
マイナス集計が定義されている場合に「−」の符号がセ
ットされるものである。「名称」はA表に定義されてい
る集計レコードのレコード名である。いま、図3(A)
に示す上集計のA表に基づいてその1行目〜6行目に対
応して構成レコードが生成される場合を例に挙げて図5
〜図7に示すフローチャートを具体的に説明するものと
する。
を読み出し、集計レベルAに対応するレコード名の記述
位置を検索し(ステップA1)、集計レベルAのレコー
ド名がA表の先頭行に配置されているかをチェックする
(ステップA2)。ここで、先頭行に配置されていれ
ば、その先頭行(1行目)を指定するが(ステップA
3)、集計レベルAのレコード名がA表の最下行に配置
されていれば、下集計フラグを“1”にセットすると共
に(ステップA4)、その最下行を指定しておく(ステ
ップA5)。いま、図3(A)に示すA表には集計レベ
ルAのレコード名がその先頭行に配置されているので、
先頭行が指定される。次に、ステップA6に進み、指定
行の集計レベルは最上位のレベルAか否かをチェックす
る。いま、1行目の集計レベルはAであるので、初期設
定の為に、表構造解析部5内の最終項目ワークメモリ
(図8の(B)参照)の内容を全てクリアしておくと共
に(ステップA7)、現在着目中のレベル(現在レベ
ル)として集計レベルAを指定しておく(ステップA
8)。この状態において、現在レベルと現在着目してい
る行(現在行)の行Noとからレベル行データを生成する
(ステップA9)。いま、A表の1行目は集計レベルA
であり、かつその行Noは「01」であるので、この現在
レベルと行Noとを組み合せたレベル行データ「A01」
を生成する。次に、このレベル行データ「A01」と現
在行の名称(集計レコードのレコード名「利益」)とを
最終項目ワークメモリの現在レベルAに対応する位置に
セットする(ステップA10)。図8の(C)はこの場
合における最終項目ワークメモリの内容を示している。
なお、最終項目ワークメモリは図8の(B)、(C)に
示す様に集計レベルA、B、Cに対応してレベル行デー
タおよび名称を記憶する構成となっており、構成レコー
ド作成時のワークメモリである。
丸印が付されているか否かをチェックする(ステップA
11)。いま、図3(A)に示す様に下集計のA表の1
行目には丸印が付されているので、図7のステップA2
7に進み、現在行に入力されている項目コードをその先
頭から指定し、この指定コードを構成レコードの子コー
ドとしてセットする(ステップA28)。この場合、項
目コードは「911」である為、図8の(A)に示す様
に子コードは「911」となる。次に、最終項目ワーク
メモリ内の現在レベルのレベル行データ「A01」を構
成レコードの親コードとしてセットする(ステップA2
9)。次に、親コードに含まれている集計レベルはAか
否かをチェックするが(ステップA30)、この場合、
親コードには集計レベルAが含まれているので、これを
条件に構成レコードの終了印に“1”をセットする(ス
テップA31)。次に親コードの名称「利益」を最終項
目ワークメモリから読み出して構成レコードの名称とし
てセットする(ステップA32)。図8の(A)はA表
1行目の構成レコードを示し、子コードが「911」、
親コードが「A01」、終了印が「1」、「名称」が
「利益」となるもので、この構成レコードは構成ファイ
ル6に書き出される(ステップA33)。ここで、子コ
ード「911」と親コード「A01」との組み合せによ
ってA表内において、集計対象の項目コードとそれに対
応する集計レコードとの対応関係が示される。次に現在
行に他の項目コードが入力されているか否かをチェック
し(ステップA34)、有ればステップA27に戻り、
次の項目コードを指定し、以下、上述の動作を1項目ず
つ繰り返す。いま、A表の1行目には1つの項目コード
しか入力されていないので、A表の1行目に対応する構
成レコードは1つしか生成されないが、1行に複数の項
目コードが入力されていれば、その項目数に応じた構成
レコードが生成されて構成ファイル6に書き出される。
成した後、ステップA34で他の項目コード無しが検出
されると、図5のステップA12に進み、A表の次行
(下集計フラグが“1”のときには前行)に着目してそ
の行にレコード名が設定されているか否かをチェックす
る。いま、次の2行目にはレコード名「売上」が設定さ
れているので、現在行を更新して次行(下集計フラグが
“1”のときには前行)の指定を行う(ステップA1
3)。これによって、A表の2行目が指定されると、ス
テップA6に戻るが、この場合、2行目の集計レベルは
B、したがって、ステップA10に進み、指定行のレベ
ルが現在行レベル以上か否かのエラーチェックを行い、
現在レベル以上であれば、最終項目メモリ内で指定行の
レベル以下の内容を全てクリアしておく(ステップA1
5)。
A未満であるので、ステップA16に進み、この指定行
のレベルを現在レベルとし、現在レベルの更新を行う。
次に、現在レベルと現在行の行Noとからレベル行データ
を生成し(ステップA17)、このレベル行データを現
在行の名称と共に最終項目ワークメモリ内の現在レベル
に対応する位置にセットする(ステップA18)。この
場合、レベル行データ「B02」および名称「売上」が
最終項目ワークメモリの現在レベルBに対応する位置に
セットされる。これによって、最終項目ワークメモリの
内容は図9の(B)に示す状態から図9の(C)に示す
状態となる。次に、このレベル行データ「B02」を図
9の(A)に示す様に構成レコードの子コードとしてセ
ットする(ステップA9)。そして、図6のステップA
20に進み、最終項目ワークメモリの中から(現在レベ
ル+1)のレベル位置、つまり、1つ前の上位レベル位
置に格納されているレベル行データを読み出し、これを
構成レコードの親コードとしてセットする。この場合、
現在レベルはB、したがって最終項目ワークメモリのレ
ベルAの位置に格納されているレベル行データ「A0
1」が親コードとなる(図9の(A)参照)。ここで、
親コードに含まれているレベルがAであれば(図1
7)、構成レコードの終了印に“1”をセットする(ス
テップA22)。次に、子コードの行Noに対応するA表
内のレコード名にマイナス符号が付いているか否かをチ
ェックし(ステップA23)、マイナス符号が付いてい
れば、構成レコードの「サイン」に「−」をセットする
(ステップA24)。次に、親コードの名称「利益」を
最終項目ワークメモリから読み出して構成レコードの名
称としてセットする(ステップA25)。
て子コード「B02」、親コード「A01」、終了フラ
グ「1」、名称「利益」が揃うと、この構成レコードは
構成ファイル6に書き出される。ここで、子コード「B
02」と親コード「A01」との組み合せによってA表
内の行No「02」、レコード名「売上」の集計レコード
とその上位レベルにある行No「01」、レコード名「利
益」の集計レコードとの親子関係(上下関係)が示され
る。次に、図5のステップA11に戻るが、この場合、
現在行の管理単位エリアには丸印が付されていないの
で、つまり、現在行には項目コードが入力されていない
ので、項目コードに関する構成レコードの生成処理(ス
テップA27〜A34)は行わず、そのまま次行の指定
に移る(ステップA13)。
目の集計レベルはCであり、現在レベルB未満であるの
で、ステップA16に進み、現在レベルをCに変更した
のち、構成レコード生成処理(ステップA17〜A2
6)に移る。即ち、いま、最終項目ワークメモリの内容
が図10の(B)に示す状態において、現在レベルCと
現在行の行Noとから生成したレベル行データ「C03」
と現在行の名称「製品売上」とを最終項目ワークメモリ
の現在レベルC位置にセットする(図10の(C)参
照)。次に、このレベル行データ「C03」を構成レコ
ードの子コードとしてセットすると共に、最終項目ワー
クメモリ内の(現在レベル+1)のレベル行データ「C
02」を構成レコードの親コードとしてセットする(図
10の(A)参照)。なお、この場合には、親コードに
含まれているレベルはB、したがって終了印のセットは
行われない。次に、親コードとなる位置に格納されてい
る最終項目ワークメモリ内の名称「売上」を読み出して
構成レコードの名称としてセットする。これによって図
10の(A)に示す様にA表3行目に対応する構成レコ
ードとして先ず、子コードが「C03」、親コードが
「B02」、名称が「売上」と成る構成レコードが生成
されて構成ファイル6に書き出される。
1」が入力され、当該行には丸印が付されているので、
ステップA11でそのことが検出され、以下、この項目
コードに関する構成レコードの生成処理が行われる(ス
テップA27〜A34)。即ち、この項目コード「11
1」を構成レコードの子コードとしてセットすると共
に、最終項目ワークメモリ内の現在レベルCのレベル行
データ「C03」を構成レコードの親コードとしてセッ
トする。なお、この場合にも親コードのレベルはAでは
ないので、終了印のセットは行われない。次に、親コー
ドの名称「製品売上」を構成レコードの名称としてセッ
トする。これによって、図10に示す様に、子コードが
「111」、親コードが「C03」、名称が「製品売
上」と成る構成レコードが生成されて構成ファイル6に
書き出される。なお、A表3行目には次の項目コードは
入力されていないので、この時点でステップA12に戻
る。
プA13)。この場合、集計レベルと現在レベルは共に
C、したがってステップA14でそのことが検出されて
ステップA15に進み、最終項目ワークメモリ内におい
て、指定行のレベル以下の内容、この場合にはレベルC
の内容が全てクリアされる(図11の(B)参照)。こ
の状態において、レベル行データとして「C04」が生
成され、図11の(C)に示す様に、最終項目ワークメ
モリのレベルCの位置には、このレベル行データと共
に、現在行の名称「部品売上」がセットされる。そし
て、このレベル行データ「C04」が構成レコードの子
コードとしてセットされ、また、最終項目ワークメモリ
内の(現在レベル+1)のレベル行データ「B03」が
構成レコードの親コードとしてセットされ、更に、親コ
ードの名称「売上」が構成レコードの名称としてセット
される。これによって、図11の(A)に示す様な構成
レコードが生成されて構成ファイル6に書き出される。
一方、A表4行目にも管理単位に丸印が付いているの
で、以下、構成レコードの生成が行われ、4行目の項目
コード「121」が子コード、最終項目ワークメモリ内
の現在レベルのレベル行データ「C04」が親コードと
なり、更に親コードの名称「部品売上」が構成レコード
の名称となる(図11の(D)参照)。
場合、5行目の集計レベルはBで現在レベルはC、した
がって、図12の(B)に示す様に最終項目ワークメモ
リにおいて、指定行のレベルB以下の内容が全てクリア
される(ステップA15)。この状態において、レベル
行データとして「B05」が生成され、図12の(C)
に示す様に、最終項目ワークメモリのレベルBの位置に
は、このレベル行データと共に現在行の名称「経費−」
のうち、マイナス符号を除いた「経費」がセットされ
る。そして、このレベル行データ「B05」が子コー
ド、最終項目ワークメモリ内の(現在レベル+1)のレ
ベル行データ「A01」が親コード、この親コードの名
称「利益」が構成レコードの名称となるレコード(図1
2の(A)参照)が生成されて構成ファイル6に書き出
される。なお、A表5行目の管理単位には丸印が付され
ていないので、この項目コードに関する構成レコードの
生成は行われない。
の場合、6行目の集計レベルはCで現在レベルはB、し
たがって、最終項目ワークメモリの内容をクリアする処
理(ステップA15)は行われず、最終項目ワークメモ
リの内容は図13の(B)に示す状態にある。この状態
において、レベル行データとして「C06」が生成さ
れ、図13の(C)に示す様に最終項目ワークメモリの
レベルCの位置にはこのレベル行データと共に現在行の
名称「一般経費」がセットされる。そして、このレベル
行データ「C06」が子コード、最終項目ワークメモリ
内の(現在レベル+1)のレベル行データ「B05」が
親コード、この親コードの名称「経費」が構成レコード
の名称となるレコード(図13の(A)参照)が生成さ
れて構成ファイル6に書き出される。ここで、A表の6
行目には丸印が付されているので、項目コードに関する
構成レコードが生成される。この場合、図13の(D)
に示す様に6行目の項目コード「411」が子コード、
最終項目ワークメモリ内の現在レベルのレベル行データ
「C06」が親コードとなり、更に、親コードの名称
「一般経費」が構成レコードの名称となる。
ップA14でデータ無しが検出されるので、構成ファイ
ル作成処理はこの時点で終了する。このように図3
(A)のA表を解析することによって作成された構成フ
ァイル6は図14(A)に示す如くとなる。即ち、この
構成ファイル6は9つの構成レコードから成り、1レコ
ード目はA表の1行目、2レコード目はA表の2行目、
3および4レコード目はA表の3行目、5および6レコ
ード目はA表の4行目、7レコード目はA表の5行目、
8および9レコード目はA表の6行目に対応して生成さ
れたものである。
集計のA表を解析することによって作成された構成ファ
イル6を示している。ここで、上集計のA表に基づいて
構成ファイル6を作成する場合には、上述した如くA表
をその先頭行から順次解析することによって作成してゆ
くが、下集計のA表に基づいて構成ファイル6を作成す
る場合にはA表をその最下行から順次解析することによ
って作成してゆく。これによって作成された下集計の構
成ファイルも上集計の構成ファイルと同様にA表の定義
内容にしたがって集計対象項目とそれに対応する集計レ
コードとの対応関係や集計レベルの階層構造における上
下関係を表わすが、下集計の場合の上下関係は下方向を
上位としたものとなる。このようにして構成ファイル6
を作成すると、表構造解析部5は展開ファイル作成部8
に起動命令を与える。
ァイル9を構成する各種のソースファイルA……Nの中
から集計対象ファイルを指定したり、この集計対象ファ
イルから抽出したレコードを1レコードずつ展開レコー
ドとして展開ファイル10に書き出す処理を行う。ここ
で、展開ファイル10を構成する各レコードは分類コー
ド、データ値とから成っている。展開ファイル10を作
成すると展開ファイル作成部8は展開集計処理部11に
起動命令を与える。
照しながら展開ファイル10の内容に基づいて1レコー
ドずつ集計レコードを順次作成し、集計ファイル12に
書き出す。この場合、展開集計処理部11は展開ファイ
ル10の内容と構成ファイル6の内容とに基づいて集計
ファイル12を部品展開手法にしたがって生成する。図
15は展開集計処理部11の動作を示したフローチャー
トである。なお、図16〜図25は展開集計処理部11
の動作内容を具体的に説明する為の図である。いま、図
14(A)に示す上集計の構成ファイル6の内容と図1
6の(A)に示す展開ファイル10の内容とに基づいて
集計レコードを生成するものとする。
10の先頭から1レコード分のデータを読み込む(ステ
ップB1)。そして、次のステップB2ではデータ終了
か、つまり、展開ファイル10の先頭から全てのレコー
ドを読み出したか否かをチェックする。最初は展開ファ
イル10の先頭から1レコード分のデータを読み込んだ
場合であるから、次のステップB3に進み、構成ファイ
ル6の内容をサーチし、展開レコードの分類コードと一
致する子コードを構成ファイル6から検索する。ここ
で、図16は展開ファイル10から1レコード目のデー
タを読み込んだ場合の動作内容を示している。いま、図
16(A)に示す内容の展開ファイル10において、そ
の1レコード目の展開レコードは分類コードが「11
1」で、データ値が「1,000」であり、この分類コ
ードと一致する子コードを持つ構成レコードは図14
(A)に示す構成ファイル6内の4レコード目に存在す
る為、ステップB3で一致検出が行われてステップB4
に進み、集計ファイル12のレコードを生成する。即
ち、図16の具体例において、(C)は1レコード目の
展開レコード、(D)は一致検出された構成レコードを
示し、先ず、展開集計処理部11はこの構成レコード内
の子コードに対応する親コード「C03」を読み出し、
この親コードをA表の行Noと集計レベルとに分解し、こ
の行No「03」を集計ファイル12の1レコード目の先
頭項目に配置し、集計レベル「C」をそれに続けて配置
する。そして、この構成レコード内の名称を集計レコー
ドの次の項目に配置する。続いて、展開レコードのデー
タ値「1,000」を集計レコードの次の項目に配置す
る。図16(E)はこのようにして生成された集計レコ
ードを示している。つまり、この集計レコードはA表の
行No「03」に定義されているレコード名「製品売
上」、集計レベルCの集計レコードであり、このレコー
ド名に対応してA表に定義されている集計対象コード
「111」に該当するデータ「1,000」を集計した
ものである。
集計レコードと同一キーを持つレコードが集計ファイル
12内に既に格納されているかをチェックし、同一キー
を持つ集計レコードが無ければ生成した集計レコードを
単に集計ファイル12に書き込む追加集計を行うが(ス
テップB6)、既に同一キーを持つレコードが集計ファ
イル12内に格納されていれば、ステップB7に進み、
構成レコード内の「サイン」を参照し、マイナス符号が
セットされているかをチェックする。この結果、マイナ
ス符号が無ければ、同一キーを持つ既存の集計レコード
と今回生成した集計レコードとをプラス集計して1つの
レコードにまとめ集計ファイル12に書き込み(ステッ
プB8)、また、マイナス符号が有れば、同一キーを持
つ既存の集計レコードと今回生成した集計レコードとを
マイナス集計して1つのレコードにまとめ集計ファイル
12に書き込む(ステップB9)、いま、図16(B)
に示す様に集計ファイル12内には集計レコードが何も
格納されていない状態にある為、ステップB5で同一キ
ーを持つ既存の集計レコードは存在しないことが検出さ
れ、集計ファイル12への追加集計が行われる。
ットされているかをチェックする(ステップB10)。
ここで、上述した如く構成レコード内の終了印は親コー
ドに含まれている集計レベルがAのときに“1”となる
もので、終了印が“1”のときにはそのままステップB
3に戻るが、終了印が“1”でなければ、新たに展開レ
コードを生成して展開ファイル10への書き出しを行う
(ステップB11)。つまり、今回生成した集計レコー
ドよりも上位レベルにあるレコード名がA表に定義され
ていれば、今回生成した集計レコードの集計結果を上位
レベルにあるレコード名の集計レコードへ集計させる為
に、新たな展開レコードを生成して展開ファイル10へ
の書き出しを行う。
ットされていないので、図16(F)に示す様なレコー
ドを新たに生成して展開ファイル10への書き出しを行
う。即ち、構成レコード内の親コード「C03」をその
まま分類として先頭項目に配置し、これに続けて展開レ
コード内のデータ値「1,000」を配置した新たな展
開レコードを生成して展開ファイル10へ書き出す。そ
の後、ステップB3に戻り、以下、構成ファイル6の内
容を全てサーチし、展開レコード内の分類コード「11
1」と一致する子コードを持った構成レコードが検出さ
れなくなるまで、上述の動作を繰り返す。この結果、ス
テップB3で該当レコード無しが検出されて不一致終了
となると、ステップB1に戻り、展開ファイル10から
次のレコードを読み出す。
ドを読み込んだ場合の動作内容を示している。ここで、
(A)はこの時点の展開ファイル10の内容を示し、図
中太線の下に配置したレコードは図16の場合において
新たに生成された展開レコードを示している。また、
(B)はこの時点における集計ファイル12の内容を示
し、図16の場合において生成された集計レコードがそ
の先頭に書き込まれた状態を示している。更に、(C)
は展開ファイル10から今回読み出されたレコードを示
し、(D)はこの展開レコードの分類キーと一致する子
コードを持った構成レコードを示している。ここで、展
開集計処理部11はこの展開レコードと構成レコードと
から(E)に示す様な集計レコードを生成する。この集
計レコードはA表の行No「04」に定義されているレコ
ード名「部品売上」、集計レベルCの集計レコードであ
り、このレコード名に対応してA表に定義されている集
計対象コード「121」に該当するデータ「2,00
0」を集計したものである。なお、この場合においても
同一キーを持つレコードは集計ファイル12内に存在し
ない為、集計ファイル12への追加集計が行われる(ス
テップB6)。また、上述と同様にこの構成レコード内
には終了印がセットされていないので、新たな展開レコ
ード(図17(F)参照)を生成して展開ファイル10
に書き出す(ステップB11)。その後、ステップB3
で不一致終了が検出されると、展開ファイル10から次
のレコードを読み込む(ステップB1)。
レコードを読み込んだ場合の動作内容を示している。こ
の場合、展開ファイル10から読み出したレコード
(C)とこれに該当する構成レコード(D)とから
(E)に示す様な集計レコードが生成される。この集計
レコードはA表の行No「06」に定義されているレコー
ド名「一般」、集計レベルCの集計レコードであり、こ
のレコード名に対応してA表に定義されている集計対象
コード「411」に該当するデータ「800」を集計し
たもので、集計ファイル12へ追加集計される。また、
この場合においても、今回生成した集計レコードの集計
結果をそれよりも上位レベルにあるレコード名の集計レ
コードへ集計させる為に(F)に示す様な新たな展開レ
コードが生成される。
レコードを読み込んだ場合の動作内容を示している。こ
の場合においても、展開ファイル10から読み出したレ
コード(C)とこれに該当する構成レコード(D)とか
ら(E)に示す様な集計レコードが生成される。この集
計レコードはA表の行No「01」に定義されているレコ
ード名「利益」、集計レベルAの集計レコードであり、
このレコード名に対応してA表に定義されている集計対
象コード「911」に該当するデータ「500」を集計
したもので、集計ファイル12へ追加集計される。この
ように、A表内に集計レベルAのレコード名「利益」に
対応して集計対象コード「911」を定義しておけば、
その集計対象コードに基づいた集計レコードも生成され
る。ここで、この対象項目コード「911」を営業外利
益の項目とすると、生成レコードはこの営業外利益の集
計レコードとなる。なお、この場合、集計レベルはA、
したがって、構成レコード内には終了印“1”がセット
されている為、新たな展開レコードの生成は行われな
い。
ファイル10の内容を1レコードずつ順次読み出して集
計レコードを生成してゆくと、集計ファイル12には図
20の(B)に示す様な集計レコードが書き込まれる。
この集計ファイル12内の各レコードはA表に定義され
ている集計対象の項目コード「111」、「121」、
「411」、「911」に該当するデータを集計した集
計レコードである。これによって、各集計対象項目に対
応する集計レコードが全て揃うことになる。
位レベルにある集計レコードへ集計させる為の処理に移
る。先ず、集計レベルBの集計レコードを生成したのち
集計レベルAの集計レコードを生成する処理が行われ
る。ここで、図20〜図22は集計レベルBの集計レコ
ードを生成する場合、図23〜図25は集計レベルAの
集計レコードを生成する場合である。
展開レコードを読み込んだ場合の動作内容を示してい
る。この場合、(C)に示す様に展開レコードの分類コ
ードは「C03」で、これと一致する子コードを持った
構成レコードの親コードは(D)に示す様に「B02」
である。したがって、この展開レコードと構成レコード
とから(E)に示す様な集計レコードが生成される。こ
の集計レコードは、A表の行No「03」の集計レコード
よりも上位レベルBにある行No「02」、レコード名
「売上」の集計レコードであり、(C)に示す展開レコ
ードのデータ値、つまり、行No「02」の集計結果
「1,000」を集計したものである。この場合、集計
ファイル12内にはまだ同一キ−を持った集計レコード
は存在しない為、この集計レコードは集計ファイル12
へ追加集計される。また、この場合においても更に上位
レベルにあるレコード名の集計レコードへ集計させる為
に(F)に示す様な展開レコードが新たに生成されて展
開ファイル10に書き出される。
展開レコードを読み込んだ場合の動作内容を示してい
る。この場合においても(C)に示す様に展開レコード
の分類コード「C04」と一致する子コードを持った構
成レコードの親コードは「B02」である。したがっ
て、この展開レコードと構成レコードとから(E)に示
す様な集計レコードが生成される。この集計レコードは
A表の行No「04」の集計レコードよりも上位レベルB
にある行No「02」、レコード名「売上」の集計レコー
ドであり、(C)に示す展開レコードのデータ値(行No
「04」の集計結果「2,000」)を集計したもので
ある。ここで、集計ファイル12内では図20の場合に
生成された同一キーを持った集計レコードが既に存在す
る為、今回生成した集計レコードと集計ファイル12内
の同一キーを持った集計レコードとを1つのレコードに
まとめて集計ファイル12に書き込まれる。即ち、今回
生成した集計レコードと既に生成された集計レコードと
のデータ値を集計するが、この場合、(D)に示す様に
構成レコード内の「サイン」にはマイナス符号がセット
されていないので、プラス集計が行われ、「1,000
+2,000=3,000」の値をデータ値とする新た
な集計レコード(キー、名称は同じ)を集計ファイル1
2内の5レコード目、つまり、同一キーを持った集計レ
コードが格納されていた位置に書き込まれ、その内容を
新たな集計レコードに置き換える。これによって、集計
ファイル12に新たに書き込まれた集計レコードはそれ
よりも下位レベルにあるA表の行No「03」、「04」
に対応する集計レコードの内容(図21の(B)におい
て1レコード目および2レコード目のレコード内容)を
加算集計したものとなる。なお、この場合においても
(F)に示す様な展開レコードが新たに生成される。こ
の展開レコードは図20の場合に生成された展開レコー
ドの分類コード「B02」と同一であるが、データ値は
相違している。
展開レコードを読み込んだ場合の動作内容を示し、
(C)に示す展開レコードと(D)に示す構成レコード
から(E)に示す様な集計レコードが生成されるが、こ
の集計レコードはA表の行No「06」の集計レコードよ
りも上位レベルBにある行No「05」、レコード名「経
費」の集計レコードであり、(C)に示す展開レコード
のデータ値、つまり、行No「06」の集計結果「80
0」を集計したものである。ここで、集計ファイル12
内には同一キーを持った集計レコードは存在しない為、
集計ファイル12への追加集計が行われる。また、
(F)に示す様な展開レコードも新たに生成される。
6〜図18の場合に新たに生成された展開レコードを順
次読み出してそれに応じて集計レベルBの集計レコード
を生成すると、更に図20〜図22で新たに生成された
展開レコードを展開ファイル10から順次読み出して集
計レコード生成を行う(図23〜図25)。この場合、
最上位レベルAの集計レコードを生成する処理である為
上位レベルへの集計は不要であり、新たな展開レコード
の生成は行われない。
コードを読み込んだ場合で、この時、生成される集計レ
コードはA表の行No「01」、集計レベルA、レコード
名「利益」の集計レコードで、そのデータ値は「1,0
00」となるが、この場合、この集計レコードと同一キ
ーを持つ集計レコードは集計ファイル12内の4レコー
ド目に存在し、かつ構成レコード内にはマイナス符号が
セットされていないので、今回生成された集計レコード
と集計ファイル12内の4レコード目の集計レコードと
のデータ値が加算集計され、その値「500+1,00
0=1,500」が集計ファイル12内の4レコード目
の内容と書き換えられる。
展開レコードを読み込んだ場合で、この時、生成される
集計レコードも図23の場合と同様に集計レベルAの集
計レコードであるが、この場合、データ値は「2,00
0」となる。そして、この場合においても同一キーを持
つ集計ファイル12内の4レコード目の集計レコードと
加算集計されて1つの集計レコードにまとめられる。
展開レコードを読み込んだ場合で、この時、生成される
集計レコードも図23の場合と同様に集計レベルAの集
計レコードであり、そのデータ値は「800」となる。
この場合、構成レコード内にはマイナス符号がセットさ
れているので、今回生成された集計レコードと集計ファ
イル12内の4レコード目にある同一キーを持った集計
レコードとは減算集計され、その値「3,500−80
0=2,700」が集計ファイル12内の4レコード目
の内容と置き換えられる。
計レコードの値「2,700」はそれに対応する項目コ
ード「911」の集計レコードの値「500」にそれよ
りも下位レベルにある「製品売上」のレコード値「1,
000」および「部品売上」のレコード値「2,00
0」をそれぞれ加算集計し、この集計結果に「一般経
費」のレコード値「800」を減算集計したものとな
る。したがって、この集計レベルAのレコード値は営業
外利益も計上したものとなる。
コードが読み出されると、図15のステップB2でデー
タ終了が検出されてステップB12に進み、集計ファイ
ル12を構成する各レコードをそのキー内容(行No)に
したがって昇順にソートする。図26はこの場合の集計
ファイル12の内容を示し、(A)はソート前、(B)
はソート後における集計ファイル12の内容を示してい
る。このようにしてソートされた集計ファイル12内の
各レコードは帳票出力時の印刷順に並べ替えられる。
成された集計ファイルをソートした後における集計ファ
イルの内容を示したもので、この場合においても集計フ
ァイル12内の各レコードは帳票出力時の印刷順に並べ
替えられる。その後、展開集計処理部11は印刷処理部
13を起動させる。
チャートにしたがって動作する。ここで印刷処理部13
は印刷書式メモリ7の内容を取り込んでその印刷書式に
したがって集計ファイル12の内容をその先頭から1レ
コードずつ読み出すと共に、この集計レコードに含まれ
ている集計レベルを判別し、それに対応する括り用の罫
線フォーマットを印刷書式メモリ7内のフォーマットテ
ーブルを参照しながら生成し、この罫線フォーマットと
共に、集計レコード内の名称およびデータ値を1レコー
ドずつ印字出力させることにより、帳票作成を行うが、
この場合、上集計が行われたか、下集計が行われたかに
よって帳票の印刷形態は相違する。
の先頭から集計レコードを読み出し(ステップC1)、
この先頭レコード内の集計レベルがAかをチェックする
(ステップC2)。いま、レベルAであれば、上集計が
行われた場合であるからそれに応じた印刷処理を行う
(ステップC3〜C6)。先ず、印刷書式メモリ7内の
フォーマットテーブルを参照して上集計用のレベルAに
対応する罫線フォーマットを生成し、この罫線フォーマ
ットと共に集計レコードの名称、データ値をフォーマッ
ト内に割り当てながら印刷書式にしたがって印字出力さ
せる(ステップC3)。そして、集計ファイル12から
次のレコードを読み出し(ステップC4)、その集計レ
コード内に含まれているレベルを判別し、そのレベルに
対応する上集計用の罫線フォーマットを生成し、この罫
線フォーマットと共に、その集計レコードの名称、デー
タ値をフォーマット内に割り当てながら印刷書式にした
がって印字出力させる(ステップC5)。次に、ステッ
プC6に進み、集計ファイル12内に次のレコードが有
するかを調べ、有ればステップC4に戻り、集計ファイ
ル12内の全レコードを印刷し終るまで上述の動作を繰
り返す。この結果、図2(A)に示す様な上集計の帳票
が作成されるが、この帳票は図3(A)で示したA表の
定義内容通りとなり、上集計された集計結果がA表に定
義されたレコード名の並び順に対応して上位レベルより
階層構造で印刷出力されたものとなる。
がレベルAでなければ、下集計に応じた印刷処理を行う
(ステップC7〜C9)。先ず、先頭レコ−ドのレベル
を判別し、そのレベルに対応する下集計用の罫線フォ−
マットを生成し、この罫線フォ−マットと共に、その集
計レコ−ドの名称、デ−タ値をフォ−マット内に割り当
てながら印刷書式にしたがって印字出力させる(ステッ
プC7)。次に、他の集計レコ−ドが有るかを調べ(ス
テップC8)、有れば、次の集計レコ−ドを読み出し
(ステップC9)、以下、ステップC7に戻り、上述の
動作を集計ファイル12内の全レコ−ドを印刷し終るま
で繰り返す。この結果、図2(B)に示す様な下集計の
帳票が作成される。この帳票は図3(B)で示したA表
の定義内容通りとなり、下集計された集計結果がA表に
定義されたレコ−ド名の並び順に対応して下位レベルよ
り階層構造で印刷出力されたものとなる。
当者等が所望する帳票を得る為に集計定義表であるA表
内に集計レベルに対応して集計レコードのレコード名を
定義し、かつこのレコード名に対応して集計対象コード
を定義しておくと、このA表を参照し、集計対象コード
に該当するデータが所定ファイルから読み出され、この
読み出されたデータはA表の対応するレコード名の集計
レコードに集計される他、この集計レコードよりも上位
レベルにあるレコード名がA表に定義されておれば、こ
の集計レコードの集計結果が上位レベルにあるレコード
名の集計レコードに集計される。一方、上位レベルにあ
る集計レコードへのマイナス集計を定義する為に、レコ
ード名に「−」符号が付加されていれば、そのレコード
名における集計レコードの集計結果は上位レベルにある
集計レコードにマイナス集計される。特に、本実施例に
おいてはA表に集計レベルに応じた親子関係にしたがっ
て集計レコードのレコード名を定義する際、最上位レベ
ルに対応するレコード名をA表の先頭行に配置したり、
最下行に配置したり、自由に定義することができるが、
このようにA表を定義しても、集計レコードの集計結果
を上位レベルのレコードに集計する際に上位レベルのレ
コード名が上方向に配置されているか下方向に配置され
ているかを判断して上集計あるいは下集計を行うように
したので、A表を上集計あるいは下集計の形式で定義す
ることができる。なお、上位レベルにある集計レコード
へのマイナス集計を定義する為に、レコード名に「−」
符号が付加されていれば、そのレコード名における集計
レコードの集計結果は上位レベルにある集計レコードに
マイナス集計される。また、A表に行No「01」のレコ
ード名「利益」に対応して集計対象の項目コードとして
営業外利益、つまり、株式の利益金、特許料等の項目を
定義しておけば、この「利益」の集計レコードには営業
外利益も計上されたものとなる。
12を作成したのち、各レコードをその行Noにしたがっ
てソートするようにしたから、集計ファイル12内にお
いて各レコードの並び順はA表に定義したレコード名の
並び順に対応したものとなり、また印刷処理部13はこ
の集計ファイル12の内容をその先頭から1レコードず
つ読み出し、集計レコードに含まれている集計レベルを
チェックし、それに対応して予め決められている罫線フ
ォーマットと共に集計レコードの名称、データ値を印刷
出力するもので、作成された帳票の印刷結果はA表の定
義内容に対応したものとなり、集計レベルに応じた階層
構造の帳票を得ることが可能となる。特に、A表を上集
計あるいは下集計の形式で定義してもその定義内容にし
たがって上集計、下集計の並び順で帳票印刷されるの
で、イメージ通りの帳票を得ることができる。
施例を説明する。図28は本実施例のA表を示し、図3
(A)に示すA表と同様に、A表を上集計の形式で定義
した場合であるが、図3(A)に示すA表の行No「0
2」から集計レベルBのレコード名「売上」を取り除
き、それ以下の定義内容を1行ずつ繰り上げたものであ
る。このようなA表を定義すると、A表の行No「01」
には集計レベルAのレコード名「利益」、行No「02」
には集計レベルCのレコード名「製品売上」が配置さ
れ、集計レベルが階層的に連続しなくなるが、本実施例
においては、帳票印刷時に、集計レベルのつながり具合
を判断し、そのつながり具合に応じたフォーマットで印
刷するようにしている。なお、本実施例は上記第一実施
例の様に上集計、下集計の何れの形式でA表を定義して
もよいが、予め上集計のみ、下集計のみに限定した帳票
出力装置に適用することもできる。以下、上集計の形式
でA表を定義した場合を例に挙げて本実施例の動作を説
明するものとする。
チャートである。いま、本実施例における印刷書式メモ
リ7には図30に示す様なフォーマットメモリが設定さ
れているものとする。このフォーマットメモリの内容は
上記第一実施例と同様であり、このフォーマットメモリ
の内容にしたがってレベル毎に罫線フォーマットが生成
される。ここで、図30は上集計用の罫線フォーマット
を示し、本実施例においてはレベルCに対応する罫線フ
ォーマットを生成する際に、その上位にレベルBが有る
か否かによって2種類の罫線フォーマットを生成するよ
うにしている。即ち、上位にレベルBがある場合には上
記第一実施例と同様の罫線フォーマット(レベルC−
1)を生成するか、上位レベルにBがない場合には本実
施特有の罫線フォーマット(レベルC−2)を生成す
る。このレベルC−2の罫線フォーマットはレベルC−
1の罫線フォーマットからレベルBの始点桁に対応する
縦罫線を削除した形状となっている。なお、その他のレ
ベルA、Bの罫線フォーマットは上記第1実施例と同様
である。また、図31は集計ファイル12の内容を示
し、この集計ファイルは上集計されたソート後の集計フ
ァイルである。
2の先頭から集計レコードを読み出し(ステップD1)
その集計レベルを判断する(ステップD2)。いま、先
頭の集計レコードはレベルA、従ってステップD3に進
み、レベルAの罫線フォーマットを生成し、集計レコー
ドの名称、データ値をフォーマット内に割り当てながら
印刷書式にしたがって印字出力させる。そして、他の集
計レコードレコードが有るかをチェックし(ステップD
4)有れば、ステップD1に戻り、その集計レコードレ
コードを読み出してレベルの判断を行う(ステップD
2)。ここで、2レコード目は集計レベルCであるの
で、ステップD6に進み、集計ファイル12の上方向に
その上位レベルであるレベルBの集計レコードが有るか
をチェックするか、この場合、レベルBの集計レコード
は存在しないため、ステップD8に進み、レベルC−2
の罫線フォーマットを生成し、集計レコードレコードの
名称、データ値をフォーマット内に割り当てながら印刷
書式にしたがって印字出力させる。
が読み出されるか、この場合においてもその上位レベル
であるレベルBの集計レコードは集計ファイル12の上
方向には存在しないため、レベルC−2の罫線フォーマ
ットが生成されてその集計レコードの内容がこのフォー
マットと共に印字出力させる。次に、集計ファイル12
から4レコード目が読み出されるか、この集計レコード
はレベルB、したがってステップD5に進み、レベルB
の罫線フォーマットが生成され、その集計レコードの内
容がこのフォーマットと共に印字出力される。続いて、
集計ファイル12から5レコード目が読み出される。こ
の集計レコードはレベルC、したがってステップD6に
進むか、この場合、その上位レベルであるレベルBの集
計レコードは集計ファイル12内の上方向に存在するた
め、ステップD7に進み、レベルC−1の罫線フォーマ
ットが生成され、その集計レコードの内容がこのフォー
マットと共に印字出力される。
ードを印字し終ると、図32に示すような帳票が得られ
る。この帳簿は図28に示すA表の定義内容通りに、上
集計された集計結果が階層構造で印刷出力されたものと
なると共に集計レベルのつながり具合がレベルAからレ
ベルCに飛んでいてもそのつながり具合に応じたフォー
マットで印刷出力されたものとなる。このように構成さ
れた本実施例においても上記第一実施例と同様の効果を
有する他、特に、本実施例においては、A表に定義され
たレベルのつながり具合に応じたフォーマットで帳票印
刷が行われるので、A表を定義する際に、集計レベルが
連続するように定義する必要はなく、中間性なレベルを
省略した形式でA表を定義することができ、ユーザにと
ってA表を定義する際の自由度が増し、所望する帳票を
A表に定義したイメージ通りに得ことができる。なお、
上述の例では上集計の場合を示したが、下集計の場合に
おいても中間性なレベルを省略した形式でA表を定義し
ても、それに応じたフォーマットの帳票を得ることがで
きる。なお、上記各実施例においては集計レベルとして
3段階のレベルA、B、Cを示したが、4段階以上の集
計レベルを持った階層構造で帳票出力するようにしても
よい。また、上記第一実施例は最上位レベルのレコード
名をA表の先頭行に配置したか、最下行に配置したかに
よって上集計、下集計を行うようにしたが、その配置位
置によって右集計、左集計を行うようにしてもよい。更
に、罫線フォーマットは集計レベルを識別可能であれ
ば、その形状は限定されず、任意である。また、上記実
施例では集計レベル毎に任意のレコード名をA表に入力
部1から直接入力するようにしたが、使用するレコード
名が予め定まっている場合には、これら使用予定のレコ
ード名をテーブルに記憶しておき、レコード名入力時に
このテーブル内容をウィンドゥ画面に一覧表示させ、そ
の中から任意のレコード名を選択することによってレコ
ード名を入力するようにしてもよい。また、レコード名
は名称に限らず、コードであってもよい。また、上記実
施例はA表に集計対象の項目コードを入力するようにし
たが、コード以外に名称を入力してもよく、また、A表
のマトリックス上の交点位置を指定することによって集
計対象を指示するようにしてもよい。
て集計レコードのレコード名等を任意に指定しておくだ
けで、指定された集計レベルの親子関係に応じて上位レ
ベルへの集計を行い、その集計結果をレコード名の並び
順にしたがって指定内容通りの階層構造で出力すること
ができるので、従来のようにシステムエンジニア等の専
門家にコード体系の作成を依頼する必要はなく、一般ユ
ーザである業務担当者が所望する帳票イメージにしたが
って検査した内容通りの帳票を容易に得ることが可能と
なり極めて実用性に富んだものとなる。
図。
(B)は下集計の帳票印刷例を示した図。
例で、(A)は上集計のA表、(B)は下集計のA表を
示した図。
テーブルと、このテーブル内容にしたがって集計レベル
毎に生成される上集計、下集計用の罫線フォーマットを
示した図。
理の一部を示したフローチャート。
たフローチャート。
示したフローチャート。
ドの生成過程を示した図。
ドの生成過程を示した図。
ードの生成過程を示した図。
ードの生成過程を示した図。
ードの生成過程を示した図。
ードの生成過程を示した図。
3(A)に示すA表にしたがって作成された上集計用の
構成ファイル6、(B)は図3(B)に示すA表にした
がって作成された下集計用の構成ファイル6を示した
図。
ファイル10の内容から集計ファイル12を作成する場
合の動作を示したフローチャート。
最初のレコードを読み出した場合の動作内容を示した
図。
2番目のレコードを読み出した場合の動作内容を示した
図。
3番目のレコードを読み出した場合の動作内容を示した
図。
4番目のレコードを読み出した場合の動作内容を示した
図。
5番目のレコードを読み出した場合の動作内容を示した
図。
6番目のレコードを読み出した場合の動作内容を示した
図。
7番目のレコードを読み出した場合の動作内容を示した
図。
8番目のレコードを読み出した場合の動作内容を示した
図。
9番目のレコードを読み出した場合の動作内容を示した
図。
最後のレコードを読み出した場合の動作内容を示した
図。
容をソートする前、(B)はソートした後の集計ファイ
ルの内容を示し、(C)は上集計された集計ファイルを
ソートした後の集計ファイルの内容を示した図。
図。
示したフローチャート。
れたフォーマットテーブルと、このテーブル内容にした
がって集計レベル毎に生成される上集計用の罫線フォー
マットを示した図。
ト後の内容を示した図。
Claims (3)
- 【請求項1】集計レベルに対応して集計レコードのレコ
ード名を任意の位置に配置して指定すると共に、このレ
コード名に対応して集計対象を指定する指定手段と、 この指定手段によって指定された集計対象に該当するデ
ータを所定のファイルから読み出してこの集計対象に対
応するレコード名のレコードに集計する第一の集計手段
と、 この第一の集計手段によって集計されたレコードの集計
結果をそれよりも上位レベルのレコードに集計する際
に、この上位レベルのレコード名の配置位置に基づいて
順方向に集計するか逆方向に集計するかを決定する集計
方向決定手段と、 前記第一の集計手段で集計されたレコードの集計結果を
前記集計方向決定手段によって決定された集計方向に配
置されている上位レベルにあるレコード名のレコードに
集計する第二の集計手段と、 この第二の集計手段で集計された各レコードを前記指定
手段で指定されたレコード名の配置順にしたがって出力
する出力手段と、 を具備したことを特徴とする帳票出力装置。 - 【請求項2】前記出力手段は前記第二の集計手段で集計
された各レコードを前記指定手段で指定されたレコード
名の配置順にしたがって出力すると共に、前記集計方向
決定手段によって決定された集計方向に対応するフォー
マットで出力するようにしたことを特徴とする請求項
(1)記載の帳票出力装置。 - 【請求項3】集計レベルに対応して集計レコードのレコ
ード名を任意に指定すると共に、このレコード名に対応
して集計対象を指定する指定手段と、 この指定手段によって指定された集計対象に該当するデ
ータを所定のファイルから読み出してこの集計対象に対
応するレコード名のレコードに集計する第一の集計手段
と、 この第一の集計手段によって集計されたレコードの集計
結果をそれよりも上位レベルにあるレコード名のレコー
ドに集計する第二の集計手段と、 この第二の集計手段で集計された各レコードを前記指定
手段で指定されたレコード名の並び順にしたがって出力
すると共に、各レコードの集計レベルのつながり具合に
応じたフォーマットで出力する出力手段と、 を具備したことを特徴とする帳票出力装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16982193A JP3533469B2 (ja) | 1993-06-17 | 1993-06-17 | 帳票出力装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16982193A JP3533469B2 (ja) | 1993-06-17 | 1993-06-17 | 帳票出力装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0778212A true JPH0778212A (ja) | 1995-03-20 |
| JP3533469B2 JP3533469B2 (ja) | 2004-05-31 |
Family
ID=15893529
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16982193A Expired - Lifetime JP3533469B2 (ja) | 1993-06-17 | 1993-06-17 | 帳票出力装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3533469B2 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0224773A (ja) * | 1988-07-14 | 1990-01-26 | Casio Comput Co Ltd | 集計データ処理装置 |
-
1993
- 1993-06-17 JP JP16982193A patent/JP3533469B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0224773A (ja) * | 1988-07-14 | 1990-01-26 | Casio Comput Co Ltd | 集計データ処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3533469B2 (ja) | 2004-05-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7370271B2 (en) | Methods and apparatus for generating a spreadsheet report template | |
| JPH05113879A (ja) | プログラムの作成及びデータの処理方法 | |
| JPH08180123A (ja) | データ処理装置 | |
| US5870712A (en) | Data processing method and its apparatus | |
| KR940002481B1 (ko) | 데이터 처리장치 및 방법 | |
| CN1150670A (zh) | 数据处理设备 | |
| JP3109324B2 (ja) | データ集計装置 | |
| US5805881A (en) | Method and apparatus for generating arbitrary output records in response to output designation of records | |
| US5642521A (en) | Data processing apparatus for extracting and processing arbitrary records from a file | |
| JP4501459B2 (ja) | クロス表作成のためのプログラム及び方法及び装置 | |
| JPH0778212A (ja) | 帳票出力装置 | |
| JP3109331B2 (ja) | 帳票出力装置 | |
| JP3554768B2 (ja) | データ集計装置 | |
| JP3551445B2 (ja) | 帳票処理装置 | |
| JP3482651B2 (ja) | データ処理装置 | |
| JPH0793426A (ja) | データ処理装置 | |
| JP3109330B2 (ja) | 帳票出力装置 | |
| JPH06309345A (ja) | データ出力方法 | |
| JPH06309344A (ja) | データ集計方法 | |
| JP3064706B2 (ja) | データ処理装置 | |
| JP3309164B2 (ja) | 印刷処理装置 | |
| JPS6284337A (ja) | 仕様書情報解析方式 | |
| JPH04181372A (ja) | データの表形式の集計方式 | |
| JP2010153588A (ja) | データ解析プログラム、データ解析装置およびデータ解析方法 | |
| JPH07282162A (ja) | データ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
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: 20040210 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040223 |
|
| 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: 20090319 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090319 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100319 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110319 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110319 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 9 |