(57)【要約】  【目的】  計算機を用いて表形式データをアレンジして所望の帳票を作成あるいは印刷する場合に、利用者に対してより操作性のよい作成方法と種々の帳票に対処できる帳票作成方法を提供する。  【構成】  指定したテーブルデータ（４００）を元テーブル表示用ウィンドウ（３００）に表示し（１０２）、本ウィンドウ上から元テーブルに対して基準レコードを設定する（１０３）。アレンジ用ウィンドウ（６００）を生成し（１０４）、記憶領域の確保と初期化を行う（１０５）。元テーブルからアレンジ用ウィンドウへのデータ配置等により帳票の基本的な部分を作成する（１０６）。さらに配置したデータのうち繰返しデータを指定して（１０７）、繰返し種別等を指定する繰返しパラメータを設定し（１０８）、繰返し表示の際の表示位置を入力し（１０９）、繰返し処理を適用して（１１０）帳票を作成する。【選択図】  図１
2004152314.tif 000002
【特許請求の範囲】
【請求項１】
入力装置、出力装置及び記憶装置を有する計算機を用いて、前記記憶装置に格
納した表形式データの指定項目のデータを表示して帳票を作成する方法において
、前記表形式データを前記出力装置へ出力し、作成すべき帳票の出力領域を前記
出力装置上に設けておき、
(a) 前記表形式データ上の特定行を指定する情報を前記入力装置から入力し、
前記特定行を前記出力装置に出力された表形式データ上に示し、
(b) 前記表形式データの指定項目のデータを前記作成すべき帳票の出力領域の
指定場所に配置する時の表示情報を、表形式データの指定項目のデータを前記ス
テップ(a)で指定した特定行からの相対位置情報を含んだ形式で記憶し、
(c) 前記ステップ(b)で記憶した表示情報に基づく表示を行うときに、前記表
形式データの特定行を予め定まった行数ずつ移動することにより、前記表示情報
に含まれた相対位置情報に対応するデータを順次取り出して、前記作成すべき帳
票の出力領域へ出力することにより表形式デ−タの帳票を作成する
ことを特徴とする帳票作成方法。
【請求項２】
前記ステップ(c)の予め定まった行数は入力装置から入力して指定することを
特徴とした請求項１記載の帳票作成方法。
【請求項３】
前記ステップ(c)の表示は、前記指定項目のデ−タをどの位置に出力するかを
示す情報を前記入力装置から入力し、この位置情報に応じて、前記表示すべき帳
票の出力領域に表示可能な限り、または指定された回数だけ、表形式デ−タを繰
返し表示することを特徴とする請求項１記載の帳票作成方法。
【請求項４】
前記帳票出力領域に繰返し表示された内容をプリンタへ出力する処理を含み、
前記表形式データの行が存在するかぎり前記プリンタへの出力処理を行うことを
特徴とする請求項３記載の帳票作成方法。
【請求項５】
前記ステップ(b)の表形式データの指定項目のデータを作成すべき帳票の出力
領域の指定場所に配置する処理において、前記出力領域の指定場所に置かれるデ
ータ内容は、前記表形式データの指定項目のデータ内容と一致する形式で表示す
ることを特徴とした請求項１記載の帳票作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機を用いた帳票作成方法および装置に係り、特に一定の表示パタ
ーンが繰返し現れる帳票を、表形式データを参照して作成するのに好適な帳票作
成方法に関する。
【背景技術】
【０００２】
帳票の作成に関する従来技術として、日立製作所のパーソナルコンピュータＢ
１６シリーズや日本電気のパーソナルコンピュータＰＣ９８シリーズ上で稼働す
るソフトウェア「ＤＡＴＡＢＯＸ−II」がある。
【０００３】
本ソフトウェアには、レポート出力機能として、特定の繰返しパターンで構成
される帳票を作成するための明細印字機能がある。
【０００４】
上記機能はレポート上に配置したデータのうち指定した範囲を一覧形式で繰り
返して連続印字するものである。また、繰返し元となるデータに罫線情報や固定
文字列が配置でき、さらに、メモ帳と呼ばれる一件一件の関連情報を表形式デー
タとして格納する際に、格納するデ−タ保存様式の指定項目データの項目名称を
指定することで上記の関連情報を配置できる。そして、印字の際、配置したメモ
帳の項目に順々に次データ（表形式データでいえば次のレコード）が対応して表
示される。この時、画面上のレポートには、指定項目の項番が"＃０１"の様に表
示され、繰返しによって配置された項目も同様に"＃０１"の様に表示される。
【０００５】
また、繰返し印字の際は、指定した範囲を単純に下方向へ繰り返す、あるいは
この繰返し印字を複数列（最大４列）に適用するための指定ができる（例えば非特許文献１参照。）。
【０００６】
【非特許文献１】日立製作所のパーソナルコンピュータＢ１６シリーズのＤＡＴＡＢＯＸ−IIのマニュアルｐ.280〜283
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記従来技術では、利用者が帳票を作成する場合以下の問題点がある。
【０００８】
レポートに配置する表形式データの項目は必ず同一のレコードに含まれている
ものに限られるため、表形式デ−タが時系列で並んでいる場合などに、一つ前の
レコ−ドの項目をレポ−トに配置することはできない。すなわち、サンプルとし
て配置できるのはある１レコードのみで、複数レコードに股がってデータを配置
し、これをサンプルとして繰返し適用することができない。
【０００９】
上記の状況で、同一レコ−ド上にない関連項目を帳票上に見比べやすいように
配置したい場合には、その関連項目を予め表形式データの同一レコードとして格
納する作業が必要となり、記憶領域も２倍必要となる。
【００１０】
さらに従来技術は、必ず１レコ−ドずつ順に繰返し処理を適用するので、２つ
あるいは３つおきにレコ−ドをスキップして処理を繰り返すことができない。
【００１１】
以上示したように従来の方法は、複数レコードに股がった項目をサンプルに指
定したり、これを柔軟に複数レコード単位で繰返し適用するといった状況を十分
に考慮していない。このため、帳票作成の際に無駄な作業やメモリを必要とする
といった問題点があった。
【００１２】
本発明の目的は上記問題点を解決して、複数レコードに股がったデータを帳票
上に配置し、これを繰返して帳票を作成する際に効率的な方法を提供することで
ある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は、計算機の出力装置に対して、記憶装置に
格納された表形式データを表示するための領域と、作成すべき帳票の出力領域と
を設け、以下の処理を行う。
【００１４】
表形式データの特定行を指定する情報を入力装置から入力し、指定された特定
行を出力装置の表形式データ上に示し、表形式データ上で指定されたデータを帳
票出力領域へ配置する時に、表形式データの指定場所を特定行からの相対位置情
報として記憶装置へ格納する。そして、繰返し表示の時は、表形式データの特定
行を予め定まった行数だけ移動して、この移動後の行を基準として前記相対位置
情報に対応するデータを取り出し、帳票出力領域へ出力する。さらに、繰返し表
示の時に移動する行数を入力装置から入力する。
【発明の効果】
【００１５】
本発明によれば、対話操作により、２次元形式の表データを各種のレイアウト
をもつ帳票に変更できる。その際、表形式データ上における、基準となるレコー
ドだけでなく、その前後に存在する任意レコードを配置データとして指定できる
。さらに、指定したレコード幅分だけ順次レコードをスキップして繰返し表示を
適用するので、複数レコードに股がったデータを帳票上に配置し、これを繰返し
表示して帳票を作成することが可能となり、繰返し表示による帳票作成において
利用者は柔軟かつ効率的に作業をすることができる。
【発明を実施するための最良の形態】
【００１６】
以下に示す本発明の一実施例は、計算機を用いた帳票出力方法であり、表形式
データを対象に各種計算や加工処理を施すシステムにおいて、表形式データを様
々なレイアウトの帳票にアレンジする方法である。
【００１７】
表形式データは横軸にフィールドと呼ばれる属性を表現し、縦軸にはレコード
と呼ばれるデータの一つの単位を表現する構成をもつ。このように単純な二次元
構造のデータを処理の対象とする理由には、データのグラフ表示や計算処理が適
用しやすいことが挙げられる。
【００１８】
一方、加工したデータやグラフは最終的には、帳票あるいはドキュメントとし
て紙の上に印刷されるのが普通である。実際の帳票に出力する表の形式を見てみ
ると、先に述べたような単純な２次元の表だけでなく、様々な形にアレンジされ
たものが存在する。従って、一般的には、システムが基本として取り扱う表形式
と実際の帳票出力のレイアウトが異なる。
【００１９】
本発明は、システムが取り扱う２次元の表を帳票出力用に様々なレイアウトに
アレンジする処理手順に関するものである。ここで、本実施例の理解を容易にす
るため、アイデアのポイントについて簡単に述べる。
【００２０】
まず、アレンジ前の簡単な２次元形式のテーブル（以下、元テーブルと呼ぶ）
の表示用ウィンドウと、アレンジして新たに作成するテーブルを表示するための
アレンジウィンドウ（最初はなにも表示されていない）を生成する。利用者はこ
の元テーブルの表示用ウィンドウからサンプルとなるデータを対話形式で指定し
て、所望するレイアウトとなるように指定したデ−タをアレンジウィンドウ上へ
持っていく。その後、アレンジウィンドウ上のサンプルとなるデータがどのよう
に繰り返されて新たな表を構成しているかといった繰返し種別等のパラメータを
指定する。その後、実際に繰返しを適用して、新たな帳票を作成する。以下、本
実施例を説明する。
【００２１】
図１は本実施例の処理手順を示すフローチャートであり、図２は本発明を実施
する計算機装置のハードウエア構成である。図３はアレンジ前のテーブルすなわ
ち単純な二次元の表を表示するための元テーブル表示用ウィンドウの画面出力例
であり、記憶装置上に蓄えられている表データ自身の表現形式の一例は図４に示
した。
【００２２】
図２において、ディスプレイ２０１は、表データの値、アレンジ操作用のウィ
ンドウ等、システムからの出力情報、あるいは利用者に対して入力要求を促す各
種メニューや入力エリアを表示するための出力装置である。キーボード２０２は
システムからの入力要求に対する回答を数字や文字列で入力するための入力装置
である。マウス２０３はディスプレイ２０１の画面上を指示してデータを指定し
たり、各種メニューの選択や処理起動のための情報を入力するポインティング型
の入力装置である。プリンタ２０４は対話操作で作成した帳票を印刷するための
出力装置である。記憶装置２０７は表形式データや入力装置からの入力情報、処
理装置によって演算あるいは加工された各種情報を保持するための情報記憶媒体
である。処理装置２０５はこれら各装置の制御を司るもので、各装置からのデー
タ読出し、各装置へのデータ書き込み、およびデータの検査や演算処理を内部に
格納されたプログラム２０６によって行う。
【００２３】
図４はシステムが取扱う元テーブル４００の格納形式を示す。本テーブルは記
憶装置２０７上に格納されている。表に付けた名前を示す表名称４０１、横軸に
は複数のフィールド名称４０４、及び縦軸方向にはレコードが並ぶ構成をもつ単
純な２次元形式の表である。なお、テ−ブル４００では、レコード番号４０３だ
けでなく、フィールド名にも番号４０２を付して、数値によるアクセスを可能と
すべく構成されている。図４に示した例では、表名称が「所得一覧」であり、先
頭のレコードは「氏名番号」が「１４５２１」で「氏名」が「丸岡哲也」、通勤
時間が「１：００」...という情報を表現したものである。
【００２４】
図５には、処理過程で使用する情報保持用の領域を示す。図５に示すそれぞれ
の情報の詳細は、以下に述べる処理手順の中で説明する。
【００２５】
図１のフローチャートに従い、本実施例の処理手順を説明する。まずディスプ
レイ２０１に、「テーブル名入力」なる文字列を表示して、利用者からの入力を
促す。そして利用者はキーボードを用いてテーブル名を入力する（ステップ１０
１）。例えば利用者は "所得一覧" を入力する。この入力テーブル名がアレンジ
対象の元テーブルである。ステップ１０１において、他の形式例えば利用可能な
テーブル一覧を表示し、その一つを選択させる等の方法でも実現できる。
【００２６】
次に、元テーブル表示用ウィンドウ３００を生成して、このウィンドウに対し
て、ステップ１０１で入力したテーブル名称をもつ元テーブル４００のデータを
表示する（ステップ１０２）。
【００２７】
データ表示後の元テーブル表示用ウィンドウ３００の出力例を図３に示した。
図３の出力例では画面中に表示可能なデータはフィールド数が５つ、レコード数
が４つ、すなわち横に５つ縦に４つの合計２０のデータである。一方、元テーブ
ル４００は実際にはこの表示領域より大きな表であるため、ウィンドウに表示で
きるのは元テーブル４００の一部分となる。以下、元テーブル４００の内容を元
テーブル表示用ウィンドウ３００へ表示する手順（ステップ１０２）の詳細を図
１３のフローチャートに従い説明する。
【００２８】
先ず表示先頭フィールド番号を格納するための領域５０１(図５)へ"１"を設定
し（ステップ１３０１）、表示先頭レコード番号を格納するための領域５０２へ
"１"を設定する（ステップ１３０２）。領域５０１および５０２は、元テーブ
ル表示用ウィンドウ３００のデータ表示領域の左上のマス３２０に表示すべきデ
ータがどのデータであるかを示すもので、元テーブルデータ４００のフィールド
番号４０２およびレコード番号４０３に対応している。図５に示した例は初期値
として元テーブル４００の１フィールド目の１レコードを設定したものである。
【００２９】
次に、元テーブル表示用ウィンドウ３００のフィールド名表示域３０１へ対応
するフィールド名を出力する（ステップ１３０３）。本処理（ステップ１３０３
）の詳細を図１４のフローチャートに従い説明する。
【００３０】
表示先頭フィールド番号格納域５０１に格納された値をプログラム変数ｉに代
入する（ステップ１４０１）。
【００３１】
プログラム変数ｌに"１"を代入する（ステップ１４０２）。変数ｌは、これか
らフィールド名称を表示すべき元テーブル表示用ウィンドウ３００上のフィール
ド３０１を示すものである。
【００３２】
次に、元テーブル４００上のｉの場所にフィールドが存在するかどうかを調べ
（ステップ１４０３）、もし存在すれば、元テーブル３００のフィールド番号４
０２がｉの場所のフィールド名４０４を取り出す（ステップ１４０４）。
【００３３】
そして、取り出したフィールド名４０４を元テーブル表示用画面３００のフィ
ールド名表示域３０１の左からｌ番目の表示場所に出力表示する（ステップ１４
０５）。
【００３４】
その後、プログラム変数ｌおよびｉをインクリメントし（ステップ１４０６）
、このプログラム変数ｌが "５"を超えているかどうかを判定し（ステップ１４
０７）、超えていれば５個分のフィールドを全て表示したことになるので本処理
を終了し、超えていなければステップ１４０３へ戻り、次のフィールド名の取り
出しを行なう。
【００３５】
一方、ステップ１４０３の判定処理において、ｉの場所にフィールドが存在し
ない場合には（元テーブルのフィールド数が５つより小さな表であるとき）、元
テーブル表示用ウィンドウ３００のフィールド名表示域３０１の左からｌ番目の
表示場所をクリアし（ステップ１４０８）、ステップ１４０６へ進む。
【００３６】
図１３において、元テーブル表示用ウィンドウ３００にフィールド名の表示が
終わった後は、元テーブル４００の各データの値を元テーブル表示用ウィンドウ
に表示する（ステップ１３０４）。以下、ステップ１３０４の処理の詳細を図１
５のフローチャートに従い説明する。
【００３７】
まず、表示先頭フィールド番号格納域５０１に格納された値をプログラム変数
ｉに代入する（ステップ１５０１）。
【００３８】
次に、プログラム変数ｌに"１"を代入する（ステップ１５０２）。変数ｌはこ
れからデータを表示すべき元テーブル表示用ウィンドウ３００上のマスのフィー
ルド（横軸方向）の位置を示す。
【００３９】
そして、表示先頭レコード番号格納域５０２に格納された値をプログラム変数
ｊに代入する（ステップ１５０３）。
【００４０】
さらに、プログラム変数ｍに"１"を代入する（ステップ１５０４）。この変数
ｍはこれからデータを表示すべき元テーブル表示用ウィンドウ３００上のレコー
ド（縦軸方向）の位置を示す。
【００４１】
次に、元テーブル４００上の（ｉ、ｊ）の場所にデータが存在するかどうかを
調べ（ステップ１５０５）、もし存在すれば、元テーブル３００の（ｉ、ｊ）の
場所のデータを取り出し（ステップ１５０６）、この取り出したデータを元テー
ブル表示用画面３００のデータ表示域の左上の枠３２０を基準の（１、１）とし
た（ｌ、ｍ）の場所の枠に表示する（ステップ１５０７）。
【００４２】
一方、ステップ１５０５の判定処理において、元テーブル３００上の（ｉ、ｊ
）の場所にデータが存在しない場合には、元テーブル表示用ウィンドウ３００の
データ表示領域の左上のエリアから（ｌ、ｍ）番目の表示場所をクリアする（１
５０８）。これによって、画面上のある一つの枠に対して、データを表示したり
、クリアすることが出来る。
【００４３】
その後、プログラム変数ｍとｊをインクリメントし（ステップ１５０９）、縦
軸方向にある次の対象へ処理を進める。そして、このプログラム変数ｍが "４"
を超えているかどうかを判定し（ステップ１５１０）、超えていなければステッ
プ１５０５へ戻り、次のレコードのデータ取出しを行なう。ｍが "４"を超えて
いれば（あるフィールドに関して４レコードのデータを全て表示）、フィールド
（横軸方向）の対象を次へ進めるために、プログラム変数ｌおよび、ｉをインク
リメントする（ステップ１５１１）。このプログラム変数ｌが "５"を超えてい
るかどうかを判定し（１５１２）、超えていれば、５個分のフィールドおよび４
個分のレコードを全て表示したことになるので本処理を終了し、超えていなけれ
ばステップ１５０３へ戻り、次のフィールドに関する取り出しを行なう。
【００４４】
以上、図１５の処理（ステップ１３０４）によって、元テーブル表示用ウィン
ドウ３００に元テーブル４００のデータが表示される。
【００４５】
図１において、元データ表示用ウィンドウ３００へのデータ表示が終わった後
は、同ウィンドウ３００の左端側にある基準レコード３０２の設定を行う（ステ
ップ１０３）。
【００４６】
ここで基準レコードについて説明する。基準レコードには、任意のレコード位
置から連続した複数のレコード（１レコードでも可）を指定できる。後述のテー
ブルアレンジ操作において、元テーブル表示用ウィンドウ３００上から切り貼り
で配置したデータ（マッピングデータと呼ぶ）は、この基準レコードの先頭から
の相対的なレコード位置関係を記憶する。そして繰返し適用では順次この基準レ
コードの先頭を基準レコード幅分だけ仮想的に移動させ、記憶した相対的なレコ
ード位置関係に基づいて残りレコードの配置を繰り返す。この基準レコードの情
報を保持するための領域として、基準レコード先頭番号格納域５０３と基準レコ
ード幅格納域５０４を用意する。これら領域には、初期値として"１"が設定され
る（ステップ１３０５、１３０６）。元テーブル３００の先頭レコード（１レコ
ードのみ）がこれに対応し、この位置を示す基準レコードカーソル３０３を元テ
ーブル表示用ウィンドウ３００に表示する（ステップ１３０７）。
【００４７】
利用者は必要に応じて基準レコードを変更できる（ステップ１０３）。マウス
２０３を用いて、元テーブル表示用ウィンドウ３００上の基準レコードカーソル
表示域３０２の任意の欄を選択して、基準レコード情報を変更する。具体的には
図１６のフローチャートの手順で変更する。まず、利用者は画面３００上のスク
ロール用コマンド３０４、３０５を用いて、表示するレコードデータをスクロー
ルする（ステップ１６０１）。そして希望するレコードの場所で基準レコードカ
ーソル表示域３０２をマウス左ボタンで選択し、この場所に対応するレコード番
号Ｒ１を求める（ステップ１６０２）。このレコード番号Ｒ１の値を、基準レコ
ード先頭番号格納領域５０３に格納しなおし（ステップ１６０３）、基準レコー
ドカーソル３０３を該当する場所に表示しなおす（ステップ１６０４）。これで
、基準レコードの先頭レコードを指定したことになる。その後また表示するレコ
ードデータをスクロールして（ステップ１６０１）、希望するレコードの場所で
基準レコードカーソル表示域３０２をマウス右ボタン２１２で選択し、この場所
に対応するレコード番号Ｒ２を求める（ステップ１６０５）。このレコード番号
Ｒ２から前記Ｒ１を減じた値に１を加えた値を基準レコード幅格納領域５０４へ
格納する（ステップ１６０６）。そして、該当する基準レコードにあたるレコー
ド範囲に基準レコードカーソルを表示する（ステップ１６０７）。以上の処理に
より、利用者の希望するように基準レコードを設定できる。
【００４８】
ステップ１６０１でのデータスクロールに関して説明する。図３の元テーブル
表示用画面３００中のスクロール用コマンドメニュー３０４、３０５、３０６及
び３０７は、画面に表示可能なデータ量（５フィールド×４レコード分）より大
きな元テーブルデータ４００を表示する際に利用する。例えば下スクロール用コ
マンドメニュー３０５をマウス２０３で選択した際、表示先頭レコード番号５０
２の値を＋４して、その後ステップ１３０３およびステップ１３０４を適用すれ
ば、現在表示している次のレコードを表示することができる。同様に上スクロー
ル３０４の選択時には、表示先頭レコード番号５０２の値を−４してステップ１
３０３およびステップ１３０４を適用する。フィールド（横）方向のスクロール
については、右スクロール用メニュー３０７を指定した場合には、表示先頭フィ
ールド番号５０１の値を＋５、左スクロール用メニュー３０６では−５して、ス
テップ１３０３および１３０４を適用する。
【００４９】
以上これまでの説明してきた処理手順により、元テーブル表示用画面ウィンド
ウ３００の生成が完了する。利用者は元テーブルに対して任意のレコード位置か
ら任意のレコード幅もつ基準レコードを入力し、見本として配置するレコードの
位置、および繰返し適用時にスキップするレコード幅を設定することができる。
【００５０】
次にアレンジ用ウィンドウ６００を生成する（ステップ１０４）。
【００５１】
本ウィンドウは図６に示すように、その上部に各種処理の起動のためのコマン
ドメニュー領域（コマンド処理の詳細は後述する）、その下部には、新たに作成
すべき表を配置するアレンジテーブル配置域６１９から構成される。このとき画
面に表示されるコマンドメニュー群の位置は図１９に示す形式のコマンドメニュ
ー位置テーブル１９００として記憶装置２０７に予め蓄えられている。各コマン
ドメニューの矩形領域について、その表示文字列１９０２、左上頂点のＸ座標１
９０３、Ｙ座標１９０４、右下頂点のＸ座標１９０５、Ｙ座標１９０６および、
そのメニューの識別番号１９０１を付加した構成である。これによって、マウス
２０３を用いた入力情報である（Ｘ、Ｙ）座標から指定コマンドが何であるかの
識別番号を取り出して、この番号に応じて各処理を実行することが可能となる。
また、アレンジテーブル配置域６１９の領域をスクロールするためのスクロール
バーと呼ばれる操作領域が設けられており、それぞれ横方向用６２０と縦方向用
６２１がアレンジ用ウィンドウに存在する。利用者はこれを用いてアレンジテー
ブル配置域６１９の表示内容をスクロールできる。
【００５２】
利用者が具体的なマンマシン操作で、アレンジテーブル配置域６１９へ新たな
表を作成していく過程で格納する各種情報を保持するための記憶領域の確保と初
期化処理を次に行う（ステップ１０５）。
【００５３】
ここで格納する各種情報とは、元テーブル表示用ウィンドウから切り貼りして
きたマッピングデータの貼り付け位置や元テーブル４００上でのレコード位置や
フィールド名に関する情報、あるいは描画する罫線枠の情報、そして繰返し種別
等の情報である。これら情報の記憶領域の確保と初期化を行う処理手順について
図１７のフローチャートを用いて説明する。なお本処理はステップ１０１から１
０４の間でならどこでも行って良いし、本処理で初期化する記憶領域が予め記憶
装置２０７上に存在するものとしても差し支えない。
【００５４】
まず、繰返し情報領域８００の確保とその空きリストを連結する（ステップ１
７０１）。繰返し情報領域８００は、１つの元テーブルのアレンジに関して１つ
使用される領域で、繰返し種別（後で説明）や繰返し領域の位置等に関する情報
を保持する。この１個分の構成を図８に示す。アレンジ元となる元テーブルの名
称８０１、アレンジ操作で配置したマッピングデータや罫線のうち被繰返し領域
となる矩形領域の座標位置を示す座標値８０２、８０３、８０４、８０５、繰返
し種別８１２、そして繰返し適用によって次に配置すべき座標位置を示す座標値
８０６、８０７、８０８、同様に繰返し種別８１２によっては複数の繰返し位置
が必要となるので、その繰返しの回数を示す値８０９、８１０、８１１、また現
在設定している基準レコードに関する情報を格納する基準レコード先頭番号８１
３、基準レコード幅８１４、そして画面のアレンジテーブル配置域６１９に具体
的に配置された各部品（マッピングデータや罫線等）の情報格納領域のアドレス
を指す部品情報領域へのポインタ８１５、そして次の元テーブル４００からのア
レンジ操作がある場合に次の繰返し情報領域アドレスを指す８１６の領域から構
成される。
【００５５】
種々の繰返し処理を行えるように、この繰返し情報領域８００を格納できる領
域を十分な個数（例えば２０個）確保し、その複数個の領域を図１１に示すよう
に順に連鎖する。連鎖は、次の繰返し情報領域へのポインタを格納する領域８１
６に次の領域のアドレスを順次格納することで実現できる。末尾の領域８１６は
アドレス値として"０"を格納してこれ以上連鎖がないことを示す。このリストの
先頭を指すアドレスを保持するプログラム変数ｆｒｅｅ＿ｍａｐ(１１０１)と末
尾を指すアドレスを保持するプログラム変数ｆｒｅｅ＿ｍａｐ＿ｔａｉｌ(１１
０２)を設定する。このようにして未使用の繰返し情報領域８００のリストを作
成する。繰返し情報が必要な時は、ｆｒｅｅ＿ｍａｐ(１１０１)に格納されたア
ドレスから１個分の領域を取り出して使用し、その次の領域の先頭アドレスをｆ
ｒｅｅ＿ｍａｐ(１１０１)が指すように変更する。上記の方法により、領域管理
が容易に実現できる。また、不要になった領域もその末尾の領域に新たに連鎖す
ることで再利用可能となる。
【００５６】
次に、上記のステップ１７０１と同様の処理により、部品情報領域９００の確
保とその空きリストの連結を行なう（ステップ１７０２）。部品情報領域９００
は、アレンジテーブル配置域６１９に配置したマッピングデータ、固定文字列、
罫線についてそれぞれ個別にその配置情報等を記憶する領域である。この１個分
の構成を図９に示す。上記部品の配置位置の矩形領域の左上Ｘ座標９０１、Ｙ座
標９０２、右下Ｘ座標９０３、Ｙ座標９０４、マッピングデータであるか罫線で
あるか固定文字列であるかを示す部品種別９０５、マッピングデータである場合
のフィールド名または固定文字列である場合の文字列を格納する領域９０６、マ
ッピングデータの場合の対応レコード番号９０７、表示文字のサイズまたは罫線
の線種を格納する領域９０８、上記部品が繰返し対象であるか否かを示すフラグ
９０９、上記部品のＩＤ９１０、及び、次の部品情報領域のアドレスを指すポイ
ンタ９１１から構成される。
【００５７】
図１２には本部品情報領域９００の空きリストの構造を示す。上記繰返し情報
領域８００の場合と同様に、必要となる個数分の領域を確保し、これらを順次連
鎖させたものである。その空きリストの先頭を示すプログラム変数ｆｒｅｅ＿ｐ
ａｒｔ（１２０１）と、末尾を指すプログラム変数ｆｒｅｅ＿ｐａｒｔ＿ｔａｉ
ｌ（１２０２）を有す。
【００５８】
上記の領域を確保した後、繰返し情報領域８００をその空きリストから一つも
らい（ステップ１７０３）、この領域アドレスを用紙情報領域７００の繰返し情
報領域へのポインタ７０５へ格納し、一つ分の繰返し情報領域を接続する（ステ
ップ１７０４）
ここで、用紙情報領域７００について説明する。その構造は図７に示すように
、印刷時の用紙の種別を格納する領域７０１、その用紙サイズのディスプレイ上
の大きさ（アレンジテーブル設置域上での大きさ）を示す横サイズ７０２、縦サ
イズ７０３、実際に繰返し適用によって必要となるページ数を示す領域７０４、
そしてこの用紙上にアレンジする情報を指すための繰返し情報領域８００へのポ
インタ７０５で構成される。
【００５９】
次に用紙情報領域７００にデフォルト値を設定する（ステップ１７０５）。具
体的には以下のものを設定する。
【００６０】
用紙種別７０１に "Ａ４縦長" を設定。
【００６１】
横サイズ７０２に "７００" を設定。
【００６２】
縦サイズ７０３に "１１００" を設定。
【００６３】
使用ページ７０４に "１" を設定。
【００６４】
そして、ステップ１７０４で接続した繰返し情報領域８００の元テーブル名称
８０１に対し、ステップ１０１で入力したテーブル名称４０１を格納する。
【００６５】
以上の処理によって、情報格納用領域の初期化（ステップ１３０５）が終了す
る。その結果、元テーブルデータ４００を対象として、Ａ４縦長のサイズの用紙
に新たにアレンジテーブルを作成するための前段階までの準備が整う。
【００６６】
元テーブル用ウィンドウ３００とアレンジ用ウィンドウ６００を生成した後は
、アレンジテーブル配置域６１９に、利用者がマンマシン対話でマッピングデー
タや罫線データを配置して新たな表データを作成する（ステップ１０６）。本処
理はシステムが持つ様々な処理機能を起動して行なわれる。各処理機能の起動は
アレンジ用テーブル６００の上方に設けられたコマンドメニュー選択で行う。具
体的な処理を図１８のフローチャートに示す。
【００６７】
まず、利用者からマウス２０３を用いてアレンジ用ウィンドウ上を直接指示し
た入力（ｘ、ｙの座標情報）を受付け（ステップ１８０１）、この座標情報から
対応するコマンドメニューを取り出す（ステップ１８０２）。具体的には、マウ
スで指示された座標を（ｘ、ｙ）、コマンドメニュー位置テーブル１９００の左
上Ｘ座標１９０３、Ｙ座標１９０４を（X0、Y0)、右下Ｘ座標１９０５、Ｙ座標
１９０６を（X1、Y1)とすると、それぞれの座標値は以下の条件を満たす。
【００６８】
条件    X0 ≦  Ｘ  ≦  X1
条件    Y0 ≦  Ｙ  ≦  Y1
この２つの条件式を同時に満たす行のメニュー識別子１９０１を取り出すこと
で利用者に指示されたコマンドメニューが何であるかを識別できる。
【００６９】
その後、指定されたコマンドメニューに応じた個別処理を実行する（ステップ
１８０３）。このステップでは、各種の個別機能を振り分けて実行する処理が含
まれる。以下では、本ステップに含まれる個別機能を、選択したコマンドメニュ
ー別に対応づけて、順に説明する。
【００７０】
まず、ステップ１８０１で入力したものがアレンジ用ウィンドウ６００中のコ
マンドメニュー「カット＆ペースト」６０４であった場合の処理を、図２０のフ
ローチャートを用いて説明する。図２０に示す処理では、アレンジテーブル配置
域６１９に表示するデータを元テーブル表示用ウィンドウ３００から切り貼りし
て持ってくる操作を行う。この切り貼りしたデータはマッピングデータと呼ぶ。
【００７１】
先ず、マウス２０３を用いて元テーブル表示用ウィンドウ３００上を直接指示
して、切り取るべきマッピングデータを指定する（ステップ２００１）。この指
定した場所に対応するデータを取り出し（ステップ２００２）、対応するデータ
が存在するかどうかを調べる（ステップ２００３）。もしマウスで指定した場所
にデータがない場合（画面上の余白部分を指定したり、実際にデータの存在しな
いマスを選択した場合等）には、ステップ２００１へ戻って再びマウス入力を行
う。一方、対応データが取り出せたなら、マウス２０３を用いてアレンジテーブ
ル配置域６１９上の貼り付け位置を直接指示する（ステップ２００４）。そして
この指定された位置にステップ２００２で取り出したデータを表示する（ステッ
プ２００５）。その後、部品情報領域の空きリストから一個分の領域９００をも
らい（ステップ２００６）、もらった部品情報領域９００に以下の情報を設定す
る（ステップ２００７）。
【００７２】
部品配置位置左上Ｘ座標９０１←ステップ２００４で指定したＸ座標値
部品配置位置左上Ｙ座標９０２←ステップ２００４で指定したＹ座標値
部品配置位置右下Ｘ座標９０３←９０１の値に表示データＸ幅を加えた値
部品配置位置右下Ｙ座標９０４←９０２の値に表示データＹ幅を加えた値
部品種別９０５←"マッピング"
マッピングフィールド名９０６←対応するフィールド名
マッピングレコードの番号９０７←対応するレコード番号から基準レコード
先頭番号５０３の値を減じた値
文字サイズ９０８←出力文字種別
被繰返し対象フラグ９０９←"ＯＦＦ"
部品ＩＤ９１０←画面に表示した際の識別番号
次の部品情報領域へのポインタ９１１←終端を示す"０"
そして、この部品情報領域９００を、繰返し情報領域８００の部品情報領域８
１５に順次連結するように接続する。即ち、初めての部品である場合は、領域８
１５へ上記部品情報領域９００のアドレスを格納し、２番目以降の部品であれば
既に連結されている部品情報領域９００を順次辿って、終端の部品情報領域９０
０を検出し、検出した部品情報領域９００の領域９１１にアドレスを格納する（
ステップ２００８）。
【００７３】
指定座標から対応する元テーブル４００上のデータを求める上記ステップ２０
０２の処理手順を、図２１に示すフローチャートに従って説明する
まず、元テーブル表示用ウィンドウ３００上のマウスで指定された座標を（Ｘ
、Ｙ）とし、これに対応する同画面上の枠のフィールド番号ｉ、レコード番号ｊ
を次の計算式によって求める。
【００７４】
（Ｘ０、Ｙ０）：  画面上のポイント３１０の座標
Ｗ      ：  一個のデータ表示枠の横方向の大きさ３１２
Ｈ      ：  一個のデータ表示枠の縦方向の大きさ３１３
ｉ  ＝  ［（Ｘ−Ｘ０）／ Ｗ］      (数１）
ｊ  ＝  ［（Ｙ−Ｙ０）／ Ｈ］      (数２）
（［  ］はガウスの記号。）
上記計算式では、右辺から左辺への代入時に数値が整数化される。画面上の一
番左上隅のデータ表示枠を０フィールド及び０レコード番目とした時に、上記計
算式より、マウスで選択された座標に対応する、画面上のデータ表示枠のフィー
ルド番号及びレコード番号が求まる（ステップ２１０１）。
【００７５】
次に、上記ステップ２１０１で求めたｉとｊの値が適切であるかを検査する。
すなわち、横方向には５フィールド分、縦方向には４レコード分の表示場所しか
存在しないので、ｉやｊの値が負の数値であったり、これら表示場所の大きさよ
りも大きな値であってはならない。
【００７６】
そこでまず、横方向について、ｉの値が０以上かつ５未満であるかを調べる（
ステップ２１０２）。もし上記範囲であるなら、さらに縦方向について、ｊの値
が０以上４未満であるかを調べる（ステップ２１０３）。ここでも範囲内である
なら、データ表示枠が選択されたことになり、上記ステップ２１０２で求めたｉ
およびｊの値は元テーブル表示用ウィンドウ上の値であるので、これにそれぞれ
、表示先頭フィールド番号５０１の値、表示先頭レコード番号５０２の値を加え
て、実際の元テーブルデータ４００の対応するフィールド番号およびレコード番
号に変換する（ステップ２１０４）。この変換後の値を（Ｉ、Ｊ）とする。すな
わち、元テーブル４００上でフィールド番号がＩ、レコード番号がＪの場所のデ
ータが対応データとなる。そして、元テーブル３００の（Ｉ、Ｊ）の場所に実際
にデータが存在するかを調べて（ステップ２１０５）、存在しなければ指定した
箇所は空欄だったことになり、対応データなしとして本処理を終了し、存在すれ
ば（Ｉ、Ｊ）の場所のデータを取り出して（ステップ２１０６）終了する。
【００７７】
一方、ステップ２１０２、２１０３のいずれかの判定処理において範囲外であ
っても、データ表示枠外をマウスで指定されたことになり、対応データなしとし
て本処理を終了する。
【００７８】
以上の処理により、基準レコード先頭位置からの相対的位置により元テーブル
の参照データ位置を記憶できる。特定のレコードだけでなくその前後のレコード
も位置関係を明確にして保持できるので、利用者は元テーブル表示用ウィンドウ
３００の任意のデータを指定して、アレンジ用ウィンドウ６００をアレンジテー
ブル配置域６１９の任意の場所に置くことが出来る。本処理を繰返し使用するこ
とで、データの配置を好きなように並び変えて置くことが出来る。
【００７９】
次に、アレンジテーブル配置域に置かれた部品に対する複写や移動の操作、あ
るいは、罫線枠や表見出しに使用する固定文字列の配置の手順について述べる。
【００８０】
まず、既に配置された部品を移動する手順を図２２のフローチャートに従って
説明する。本処理は、コマンドメニュー６０２の「移動」をマウス２０３で選択
した後に起動される。
【００８１】
はじめに、利用者は移動元矩形領域の左上角と右下角の２点をマウス２０３を
用いて指定する（ステップ２２０１）。次に移動先の位置を１点マウス２０３で
指定する（ステップ２２０２）。ここで移動先の位置は移動元の左上角に対応す
る。そして既に配置済の部品を順次取り出すために、使用部品リストに連結され
ている部品情報領域９００の先頭を取り出し（ステップ２２０３）、領域（部品
）があるかどうか調べ（ステップ２２０４）、なければ本処理を終了し、あれば
その部品の位置が移動元矩形領域内に含まれているか否かを調べる（ステップ２
２０５）。領域内に含まれるか否かの判定は、部品情報領域９００の配置位置情
報９０１から９０４が示す矩形領域が完全にステップ２２０１で指定した矩形領
域内に完全に含まれるどうかを調べればよい。領域内に含まれる場合には、前記
部品のＩＤ番号９１０を用いて、画面上から前記部品の表示を消去し（ステップ
２２０６）、前記部品の位置情報９０１から９０４の値を移動元の左上から移動
先の座標の差だけ加えた値に書替えて（ステップ２２０７）、新たにその位置情
報で該部品を表示する（ステップ２２０８）。そして使用部品リストをたぐって
次の部品を取り出し（ステップ２２０９）、ステップ２２０４へ戻る。また、判
定処理２２０５で移動元領域内でない場合には何もせずにステップ２２０９へ進
み次の部品を取り出す。
【００８２】
次に配置済み部品を複写する手順を図２３のフローチャートに従い説明する。
本処理は、コマンドメニュー６０３の「複写」をマウス２０３で選択した後に起
動される。
【００８３】
まず、上記の「移動」の場合と同様に複写元矩形領域をマウス２０３で指定し
（ステップ２３０１）、移動先位置をマウス２０３で指定する（ステップ２３０
２）。そして使用部品リストに連結されている部品情報領域９００の先頭を取り
出し（ステップ２３０３）、領域（部品）があるか否かを調べる（ステップ２３
０４）、部品がない場合には処理を終了し、あれば前記部品が複写もと領域内に
含まれるか否かを調べる（ステップ２３０５）。領域内含まれる場合には、新た
に部品情報領域９００を空リスト１２０１から一つもらい（ステップ２００６）
、もらった空き部品情報領域９００の各属性に前記使用済部品の属性を複写する
（ステップ２３０８）。その後、空き部品情報領域９００の位置情報９０１から
９０４の値を複写元の左上から複写先の座標の差だけ加えた値に書替えて（ステ
ップ２３０９）、この空き部品情報領域９００の内容をアレンジテーブル配置域
６１９へ表示する（ステップ２３０９）。そして、空き部品情報領域９００を使
用部品リストの末尾へ連結する（ステップ２００８）。その後、次の配置済み部
品を連鎖をたどって取り出し（ステップ２３１１）、ステップ２３０４へ戻る。
また、判定処理２３０５で複写元領域内でない場合は何もせずにステップ２３１
１へ進み次の部品を取り出す
次に、配置済み部品を消去する手順について図２４のフローチャートに従い説
明する。本処理は、コマンドメニュー６０５の「消去」をマウス２０３で選択し
た後に起動される。
【００８４】
先ず、上記の「移動」と同じように消去領域をマウスで指定する（ステップ２
４０１）。次に使用部品リストに連結されている部品情報領域９００の先頭を取
り出し（ステップ２４０２）、領域（部品）があるか否かを調べ（ステップ２４
０３）、部品がない場合には処理を終了する。部品がある場合には前記部品の表
示位置９０１から９０４が消去領域に含まれているかどうか判定して（ステップ
２４０４）、含まれている場合には前記部品の表示を消去し（ステップ２４０５
）、前記部品情報領域９００を使用部品リストから取り除き（ステップ２４０６
）、この取り除いた部品情報領域９００を部品空きリストへ返す（ステップ２４
０７）。その後、ステップ２４０３へ戻り、次の部品（使用部品リストからの取
り除きにより既に次の部品が取り出されている）を対象にして処理を続ける。ま
た判定処理２４０４で領域内に含まれない場合には、次の配置済み部品を連鎖を
たどって取り出し（ステップ２４０８）、ステップ２４０３へ戻る。
【００８５】
次に、罫線枠の描画手順を図２５のフローチャートに従い説明する。本処理は
コマンドメニュー６０６「描画」をマウス２０３で選択した後に起動される。
【００８６】
まずアレンジテーブル配置域６１９上で、利用者は直線の始点と終点をマウス
２０３で指定し（ステップ２５０１）、この２点間に直線を表示する（ステップ
２５０２）。その後、部品情報領域９００を一つ空きリスト１２０１からもらい
（ステップ２００６）、この領域９００の位置情報９０１から９０４に始点と終
点の座標位置を格納し、部品種別９０５へ"直線"を設定する（ステップ２５０４
）。そして、このもらった領域を使用部品リストの末尾に連結する（ステップ２
００８）。本手順を繰り返して複数の直線を描き、罫線枠を作成できる。
【００８７】
また、罫線のみを画面上から消去する手順は、コマンドメニュー６０７「消去
」を選択したのちに起動する。本処理手順は、先の図２４のフローチャートにお
けるステップ２４０４の判定処理を、消去領域内に含まれ、かつ部品種別９０５
が"直線”であるという判定内容に変更することで容易に実現できる。
【００８８】
次に、帳票の見出し文字や、コメントといった元テーブルのデータとは関連な
い文字列を配置する手順を図２６のフローチャートに従い説明する。本処理はコ
マンドメニュー６０８「生成」をマウスで選択した後に起動される。
【００８９】
まず、文字列入力用のウインドウを生成し（ステップ２６０１）、キーボード
２０２を用いて利用者が文字列を入力する（ステップ２６０２）。その後、アレ
ンジテーブル配置域６１９上をマウス２０３で指定して配置すべき位置を指定す
る（ステップ２６０３）。次に部品情報領域９００を空きリストから一つもらい
（ステップ２００６）、この領域９００に対して、上記ステップ２６０２で入力
した文字列を文字列格納領域９０６に設定し、配置位置に関する情報を領域９０
１から９０４に設定し、部品種別９０５に "固定文字列"を設定する。そして、
この部品情報領域９００を使用部品リストの末尾に連結する（ステップ２００８
）。以上の処理により、利用者の入力した任意の文字列をアレンジテーブル配置
域の好きな場所に置くことができる。
【００９０】
以上に述べたステップ１０６により、アレンジテーブル配置域６１９に利用者
の所望するレイアウトの見本となる基本部分を作成する。例えば、図２７に示す
ような表示が行われる。同図における２７０１の文字列は固定文字列として利用
者が入力した文字列である。罫線枠２７０２も配置されていることが分かる。
【００９１】
アレンジテーブル配置域６１９に利用者の所望するレイアウトの基本部分を作
成した後は、この基本部分をどのようにアレンジテーブル配置域６１９上に繰り
返すかを指定する。
【００９２】
そこでまず、繰返し部分となる領域をアレンジテーブル配置域６１９上をマウ
ス２０３で利用者が指定入力して繰返し対象となる配置部品を決定する（ステッ
プ１０７）。本ステップ１０７の詳しい処理手順を図２８のフローチャートに従
い説明する。なお本処理はコマンドメニュー６１０「領域指定」を選択した後に
起動される。
【００９３】
はじめに、利用者はマウス２０３を用いてアレンジテーブル配置域６１９上の
２点（繰返し部分となる矩形領域の左上角と右下角）を指定する（ステップ２８
０１）。次に、配置済の部品を順次取り出すために、使用部品リストに連結され
ている部品情報領域９００の先頭を取り出し（ステップ２８０２）、領域（部品
）があるかどうか調べ（ステップ２８０３）、あればその部品の位置が繰返し矩
形領域内に含まれているか否かを調べる（ステップ２８０４）。領域内に含まれ
るか否かの判定は、部品情報領域９００の配置位置情報９０１から９０４が示す
矩形領域が完全にステップ２８０１で指定した矩形領域内に完全に含まれるどう
かを調べればよい。領域内に含まれる場合には、前記部品の繰返しフラグ９０９
に"ＯＮ"を設定し（ステップ２８０５）、その部品位置情報９０１から９０４の
値を参照してこれまで取り出した繰返し領域内に含まれる部品の中で最も左側、
右側、上側及び下側の位置を求め処理を行う（ステップ２８０７）。その後使用
部品リストをたぐって次の部品を取り出し（ステップ２８０９）、ステップ２８
０３へ戻る。また、判定処理２２０５で繰返し領域内にない場合には、何もせず
にステップ２８０９へ進み、次の部品を取り出す。また、全ての配置部品に対す
る処理が終了し、ステップ２８０３の判定処理で部品がもうない場合、ステップ
２８０７で求めた最終的な部品の最も左、上、右及び下側の座標位置をそれぞれ
繰返し情報領域８００の８０２から８０５まで領域に格納して処理を終了する。
【００９４】
次に、ステップ１０７で指定した繰返し領域がどういう順序で繰り返されるの
か、あるいは何個繰り返すかといった繰返しパラメータを入力する（ステップ１
０８）。本処理の詳しい処理手順を図３０のフローチャートに従い説明する。
【００９５】
先ず、繰返しパラメータ入力ウィンドウ２９００を生成する。本ウィンドウ２
９００の出力例を図２９に示す。同図に示すように横方向および縦方向への繰返
し個数を入力する領域２９０１、２９０２、および繰返し順序を選択する繰返し
種別メニュー（２９０３からの２９０６）を有する。ここで繰返し種別について
説明する．
繰返し種別には４種類あり、この中の一つが指定できる。単純繰返し２９０３
は、図３１に示すように、ステップ１０７で指定した繰返し領域を斜線部３１０
１とする時、この３１０１と同様のレイアウトが下方向に単純に繰り返すもので
ある。繰返し順序は３１０２から順に番号の大きいものを表示するものとする。
【００９６】
マルチ縦繰返し２９０４を指定した場合は、図３２に示すように、一旦下方向
へ向かって繰返し、その後右へ移動して再び上から下へ繰り返すものである。
【００９７】
マルチ横繰返し２９０５を指定した場合は、図３３に示すように、一旦右方向
へ向かって繰返し、その後下へ移動して再び左から右へ繰り返すものである。
【００９８】
また、ビル窓繰返し２９０６は、先ず一旦下方向へ指定個数だけ繰返し、これ
と同様な繰返しブロックをまず右方向へ、そして下方向へ行うものである。従っ
て、ブロック内の繰返し個数を入力する領域２９０７が本メニューに対しては存
在している。この繰返し数の初期値は"１"とする。
【００９９】
繰返しパラメータ入力ウィンドウ生成の後は、繰返し可能数を計算して２９０
１および２９０２の領域に表示する（ステップ３００２）。ステップ１０７にお
いて繰返し範囲内の部品の最も左上と右下の座標が繰返し情報領域８００の８０
２から８０５に格納されているので、この値を元に、繰返し領域の最大横幅と縦
幅を求め、これが用紙情報領域７００の横サイズ７０２および縦サイズ７０３の
大きさの中に最大（極力詰めて繰り返した場合）何個繰り返し可能かを計算すれ
ばよい。その後、繰返し種別メニュー２９０３から２９０６のうち一つをマウス
で指示して選択する（ステップ３００３）。このとき、繰返し種別がビル窓繰返
し２９０６である場合、窓内の繰返し数２９０７を入力する。その後、必要に応
じて、繰返し可能数２９０１、２９０２の値を変更する（ステップ３００４）。
本変更では表示されていた元々の数値以下の値しか入力できない。
【０１００】
繰返しパラメータ入力の次は繰返し位置を入力する（ステップ１０９）。本処
理を図３５のフローチャートに従い詳しく説明する。
【０１０１】
まず、ステップ３００３で選択した繰返し種別を調べる（ステップ３５０１）
。この繰返し種別に応じて異なる個数の繰返し位置を指定する。繰返し種別が単
純繰返しの場合、繰返し位置を１点指定する（ステップ３５０２）。具体的には
図３１に示したポイント３１２０のように次に配置する部品場所を指定する。繰
返し種別がマルチ縦繰返し、またはマルチ横繰返しの場合は、繰返し位置を２点
指定する（ステップ３５０３）。図３２のポイント３２２０、３２２１、または
図３３のポイント３３２０、３３２１がこの２点に該当する。また、繰返し種別
がビル窓繰返しの場合は３点を指定する（ステップ３５０４）。図３４のポイン
ト３４２０、３４２１、３４２２がこれに該当する。いずれの場合もマウス２０
３を用いてアレンジテーブル配置域６１９を直接指示する。繰返し位置を指定し
た後、アレンジテーブル配置域６１９で実際に可能な繰返し数を求める。単純繰
返しの場合はＹ軸方向の繰返し数のみを求め（ステップ３５０５）、マルチ縦お
よび横繰返しの場合はＹ軸方向とＸ軸方向の繰返し数を求め（ステップ３５０６
）、ビル窓繰返しの場合は、Ｘ軸方向及びＹ軸方向の繰返し個数の算出に加えて
ビル窓内の繰返し個数も必要となる。繰返し数の計算は、例えば図３１の単純繰
返しの場合は、繰返しマージンのサイズ３１１０が繰返し可能サイズ３１１２に
どれだけ入るかを求めればよいので、簡単にサイズ３１１２÷サイズ３１１０の
整数部のみを取り出すことで実現できる。Ｘ軸方向についても同様に、サイズ３
２１２÷サイズ３２１１で求めることができる。
【０１０２】
繰返し位置指定後は、実際の繰返しを適用して元テーブルの残りレコードを自
動的にアレンジテーブル配置域に順次表示する（ステップ１１０）。
【０１０３】
本処理も繰返し種別により異なるので、単純繰返し、マルチ縦繰返し、マルチ
横繰返し、ビル窓繰返し各々について説明する。
【０１０４】
まず、単純繰返しの場合を図３６のフローチャートに従い説明する。まずＹ軸
方向のマージン値３１１０をプログラム変数△ｙに代入し（ステップ３６０１）
、Ｘ軸方向のマージン値をあらわすプログラム変数△ｘには"０"を代入する（ス
テップ３６０２）。そして画面に繰返し表示した個数をカウントするためのプロ
グラム変数ｊに"１"を代入する（ステップ３６０３）。その後プログラム変数ｊ
の値がＹ軸方向の繰返し数より小さな数値であるか否かを調べ（ステップ３６０
４）、もし繰返し数以上になっていれば処理を終了し、まだ繰返し数未満なら基
準レコードの先頭番号５０３の値を基準レコード幅５０４の値だけ加算し（ステ
ップ３６０５）、この新たな基準レコード先頭番号の場所に実際のデータが存在
しないか否かを調べる（ステップ３６０６）。データが存在しなければ処理を終
了し、存在すれば現基準レコードを対象に繰返し表示を実行する（ステップ３６
０７）。この繰返し表示の手順（３６０７）の詳細を図４０のフローチャートに
従い説明する。
【０１０５】
まず、既配置部品の先頭部品９００を取出す（ステップ４００１）。部品が存
在しないときは処理を終了する。存在すれば前記部品の繰返し対象フラグ９０９
が"ＯＮ"か否かを調べる（ステップ４００３）、もしフラグ"ＯＮ"ならさらに前
記部品の種別９０５が"マッピング"であるか否かを調べ（ステップ４００４）、
そうなら対応データを取り出す（ステップ４００５）。ここで取出すデータは、
元テーブルデータ４００上のフィールド名４０４がマッピングフィールド名９０
６と一致し、レコード番号４０３が基準レコード先頭番号５０３の値にマッピン
グレコード番号９０７の値を加えた値が示す箇所のデ−タである。また、部品種
別がマッピングデータでない場合は（"固定文字列"、"直線"であった場合）、ス
テップ４００５を飛ばして、前記部品の位置を変更する（ステップ４００６）。
上記変更処理では、前記部品情報領域９００の部品配置位置を示す情報のうちＸ
軸方向の座標値９０１、９０３の値に対して一時的にプログラム変数△ｘの値を
加算し、Ｙ軸方向の座標値９０２、９０４の値に△ｙの値を加算する。そしてこ
の座標位置で前記部品を表示する（ステップ４００７）。その後、次の部品を取
り出し（ステップ４００８）、ステップ４００２へ戻り残り部品について処理す
る。なお判定処理４００３で前記部品の繰返しフラグが"ＯＦＦ"である場合は、
ステップ４００８へ飛び、次の部品について処理を進める。
【０１０６】
上記のように繰返し部品の一回目の繰返しが行われた後、プログラム変数△ｙ
の値を更に１マージン分加算し（ステップ３６０８）、繰返しのカウンタ変数ｊ
をインクリメントして（ステップ３６０９）、ステップ３６０４へ戻る。その結
果、画面上に１頁分の繰返し表示が完了する。
【０１０７】
次に、マルチ縦繰返しのときの繰返し適用処理手順を図３７のフローチャート
に従い説明する。まず、Ｙ軸方向のマージン値３２１０をプログラム変数△ｙに
代入し（ステップ３７０１）、Ｘ軸方向のマージン値をあらわすプログラム変数
△ｘには"０"を代入する（ステップ３７０２）。そして、画面Ｙ方向に繰返し表
示した個数をカウントするためのプログラム変数ｊに"１"を代入し（ステップ３
７０３）、Ｘ方向に繰返し表示した個数カウント用の変数ｉに"０"を代入する（
ステップ３７０４）。その後、プログラム変数ｉの値がＸ軸方向の繰返し数（ス
テップ３５０６で求めた）より小さな数値であるか否かを調べ（ステップ３７０
５）、もし繰返し数以上になっていれば処理を終了し、繰返し数未満なら、さら
にプログラム変数ｊの値がＹ軸方向の繰返し数（ステップ３５０６で求めた）よ
り小さな数値であるか否かを調べる（ステップ３７０６）。もし繰返し数以上に
なっていれば（ある一列のカラムに対する繰返し表示が終了した時）△ｘの値を
Ｘ軸方向のマージン１つ分３２１１だけ増やし（ステップ３７０９）、Ｘ軸方向
の繰返し数カウント用の変数ｉをインクリメントする（ステップ３７１０）。そ
して、△ｙに"０"を設定し（ステップ１７１１）、ｊにも"０"を代入する（ステ
ップ３７１１）。これによりＸ軸方向の次カラムへ処理を進めることになる。そ
の後、ステップ３７０５へ戻る。また、判定処理３７０６においてｊの値がＹ軸
方向の繰返し数未満である場合は、基準レコードの先頭番号を基準レコード幅分
だけ加算し（ステップ３６０５）、その加算結果が示す場所にデータが存在する
か否かを調べる（ステップ３６０６）。もしデータが存在しなければ処理を終了
する。デ−タが存在すれば現在の基準レコードを対象に繰返し表示を実行する（
ステップ３６０７）。こうして繰返し部品の一回目の繰返しが行われた後、プロ
グラム変数△ｙの値を更に１マージン分３２１０加算し（ステップ３７０７）、
繰返しのカウンタ変数ｊをインクリメントして（ステップ３７０８）、ステップ
３７０６へ戻り、Ｙ軸方向の次の場所に対する繰返し表示を実行する。こうして
画面上に１頁分の繰返し表示が完了する。
【０１０８】
次に、マルチ横繰返しの時の繰返し適用処理手順を図３８のフローチャートに
従い説明する。本処理は図３７で示したマルチ縦繰返しの処理手順のＸ軸方向と
Ｙ軸方向の処理を入れ替えたものである。まずＸ軸方向のマージン値３３１１を
プログラム変数△ｘに代入し（ステップ３８０１）、Ｙ軸方向のマージン値をあ
らわすプログラム変数△ｙには"０"を代入する（ステップ３８０２）。そして画
面Ｙ軸方向の繰返し表示個数をカウントするためのプログラム変数ｊに"０"を代
入し（ステップ３８０３）、Ｘ方向の繰返し個数カウンタ変数ｉに"１"を代入す
る（ステップ３８０４）。その後、プログラム変数ｊの値がＹ軸方向の繰返し数
（ステップ３５０６で求めた）より小さいか否かを調べ（ステップ３８０５）、
もし繰返し数以上になっていれば処理を終了し、繰返し数未満なら、さらにプロ
グラム変数ｉの値がＸ軸方向の繰返し数（ステップ３５０６で求めた）より小さ
いか否かを調べる（ステップ３８０６）。もしｉの値が繰返し数以上になってい
れば（ある一行のカラムに対する繰返し表示が終了した時）△ｙの値をＹ軸方向
のマージン１つ分３３１０だけ増やし（ステップ３８０９）、Ｙ軸方向の繰返し
数カウント用の変数ｊをインクリメントする（ステップ３８１０）。そして△ｘ
に"０"を設定し（ステップ３８１１）、ｉにも"０"を代入する（ステップ３８１
２）。これによりＹ軸方向の次の行へ処理を進め、その後ステップ３８０５へ戻
る。また判定処理３８０６でｉの値がＸ軸方向の繰返し数未満である場合、基準
レコードの先頭番号を基準レコード幅分だけ加算し（ステップ３６０５）、その
場所にデータが存在するか否かを調べる（ステップ３６０６）。もしデータが存
在しなければ処理を終了する。存在すれば現基準レコードを対象に繰返し表示を
実行する（ステップ３６０７）。こうして繰返し部品の一回目の繰返しが行われ
た後、プログラム変数△ｘの値を更に１マージン分加算し（ステップ３８０７）
、繰返しのカウンタ変数ｉをインクリメントして（ステップ３８０８）、ステッ
プ３８０６へ戻り、Ｘ軸方向の次の場所での繰返し表示を実行する。こうして画
面上に１頁分の繰返し表示が完了する。
【０１０９】
次に、ビル窓繰返しの時の繰返し適用処理手順を図３９のフローチャートに従
い説明する。本処理は図３８で示したマルチ横繰返しの処理手順に更にビル窓内
のＹ軸方向繰返しの処理を追加したものである。まず窓内Ｙ軸方向のマージン値
３４１０をプログラム変数△ｚに代入し（ステップ３９０１）、Ｘ軸方向のマー
ジン値およびＹ軸方向のマージン値を表わすプログラム変数△ｘ、△ｙには"０"
を代入する（ステップ３９０２）。そして画面窓内の繰返し表示個数をカウント
するためのプログラム変数ｋに"１"を代入し（ステップ３９０３）、Ｘ軸方向の
繰返し個数カウンタ変数ｉおよびＹ軸方向の繰返し個数カウンタ変数ｊに共に"
０"を代入する（ステップ３９０４）。その後、プログラム変数ｊの値がＹ軸方
向の繰返し数（ステップ３５０７で求めた）より小さいか否かを調べ（ステップ
３９０５）、もし繰返し数以上になっていれば処理を終了し、繰返し数未満なら
、さらにプログラム変数ｉの値がＸ軸方向の繰返し数（ステップ３５０７で求め
た）より小さいか否かを調べる（ステップ３９０６）。もし繰返し数以上になっ
ていれば（ある一行のカラムに対する繰返し表示が終了した時）△ｙの値をＹ軸
方向のマージン１つ分３４１１だけ増やし（ステップ３９１３）、Ｙ軸方向の繰
返し数カウンタ変数ｊをインクリメントする（ステップ３９１４）。そして△ｘ
に"０"を設定し、ｉにも"０"を代入する（ステップ３９１５）。これによりＹ軸
方向の次の行へ処理を進める、その後ステップ３９０５へ戻る。また判定処理３
９０６でｉの値がＸ軸方向の繰返し数未満である場合、さらにプログラム変数ｋ
が窓内繰返し数より小さいか否かを調べ（ステップ３９０７）、窓内繰返し数以
上であれば（ある窓内の繰返しが終了した時）、プログラム変数ｋ、および△ｚ
の値を"０"にする（ステップ３９１０）。そしてＸ軸方向の次の窓を表示するた
めに△ｘの値を更に１マージン分３４１２だけ加算し（ステップ３９１１）、変
数ｉをインクリメントし（ステップ３９１２）、その後ステップ３９０６へ戻る
。一方、判定処理３９０７でｋの値が窓内繰返し数未満である場合、基準レコー
ドの先頭番号を基準レコード幅分だけ加算し（ステップ３６０５）、その場所に
データが存在するか否かを調べる（ステップ３６０６）。もしデータが存在しな
ければ処理を終了する。存在すれば現在の基準レコードを対象に繰返し表示を実
行する（ステップ３９１６）。本ステップ３９１６は図４０のステップ４００６
において、Ｙ軸方向の位置変更で△ｙだけでなく、△ｚの値も加えるように変更
することで実現できる。繰返し表示後は△ｚの値を窓内マージン１つ分３４１０
だけ加算し（ステップ３９０８）、変数ｋの値をインクリメントして（ステップ
３９０９）、ステップ３９０７へ戻り、窓内の次の繰返し処理を行う。その結果
、画面上に１頁分の繰返し表示が完了し、アレンジテーブル配置域６１９にアレ
ンジテーブルが表示される。
【０１１０】
以上説明した実施例によれば、単純な２次元形式を有する表データを利用者の
所望するレイアウトに簡単な対話操作で変更できる。その際、対話形式で指定し
て配置する表形式データは、基準レコードの先頭レコードだけでなく、その前後
に存在する任意のレコードも自由に指定できる。
【０１１１】
また、元テーブル３００のデ−タ内容がそのままの表示形式で、アレンジテー
ブル配置域６１９へ表示されるので、あたかも直接データを配置する感覚で帳票
作成ができるので、プログラミングをする必要がなく、計算機に不慣れな利用者
でも出力したい帳票を簡単に定義できる。
【０１１２】
なお、上記実施例は１頁目について繰返し表示するものであるが、２頁目以降
を表示することも容易に実現できる。この手順を図４１のフローチャートに従っ
て説明する。
【０１１３】
まず、利用者はキーボード２０２を用いて表示すべき頁数を入力する（ステッ
プ４１０１）。次にこの入力頁数分だけ基準レコードを一時的に移動する（ステ
ップ４１０２）。移動レコード数Ｎは、
Ｐ：入力頁数
Ｘ：頁内のＸ軸方向の繰返し数
Ｙ：頁内のＹ軸方向の繰返し数
Ｚ：窓内繰返し数
Ｈ：基準レコード幅
とした時、
Ｎ  ＝  （Ｐ−１）＊Ｘ＊Ｙ＊Ｚ＊Ｈ        （数３）
で計算できる。当初の基準レコード先頭番号にこのＮレコードだけ加えた値に一
時的に基準レコード先頭番号を変更するのである。
【０１１４】
そして、この新たな基準レコード先頭番号の位置にデ−タが存在するか否かを
調べ（ステップ４１０３）、存在しなければ入力頁数を元の値に表示しなおし（
ステップ４１０７）、基準レコード先頭番号を元に戻して（ステップ４１０８）
処理を終了する。一方、判定処理４１０３でデ−タが存在する場合、アレンジテ
ーブル配置域６１９をクリアし（ステップ４１０４）、既配置部品の部品情報領
域９００のうち被繰返し対象フラグ９０９が"ＯＦＦ"の部品を、一度だけ表示さ
せる（ステップ４１０５）。その後、繰返し適用処理を実行して繰返し部品を表
示する（ステップ４１０６）。本ステップ４１０６は先に説明したステップ１１
０（図３６から図３９のフローチャート）の繰返し適用処理を次のようにを変更
することで実現する。
【０１１５】
図３６のフローチャートにおいて、ステップ３６０１を△ｙに対して"０"を設
定するようにし、ステップ３６０３をｊに"０"を代入するように変更する。
【０１１６】
図３７のフローチャートでも、ステップ３７０１を△ｙに対して"０"を設定す
るようにし、ステップ３７０３をｊに"０"を代入するように変更する。
【０１１７】
図３８のフローチャートでは、ステップ３８０１を△ｘに対して"０"を設定す
るようにし、ステップ３８０４をｉに"０"を代入するように変更する。
【０１１８】
図３９のフローチャートでは、ステップ３９０１を△ｚに対して"０"を設定す
るようにし、ステップ３９０３をｋに"０"を代入するように変更する。
【０１１９】
以上の変更を行うことで指定したページの繰返し表示が可能となる。また、コ
マンドメニュー６１７、６１８のページめくり用の領域をマウスで選択した場合
、現在の表示ページから−１あるいは＋１ページを表示対象として、図４１のフ
ローチャートのステップ４１０２以降の処理を実行する。その結果、ページ単位
での帳票スクロールが可能となる。
【０１２０】
また、これまで説明した実施例は帳票を画面上へ表示するものであったが、こ
れを多少変更することでプリンタ２０４へ印刷表示できる。この実施例を図４２
のフローチャートに従い説明する。本フローチャートは図４１フローチャートを
変更して複数ページを連続して表示できるようにしたものである。
【０１２１】
まず、表示対象ページを示す変数Ｐに"１"を設定する（ステップ４２０１）。
そして、変数Ｐページ分だけ基準レコード先頭番号を一時的に移動する（ステッ
プ４２０２）。本ステップ４２０２における変数Ｐに対応するレコ−ド数の算出
は、上記に示した（数３）と同様の計算で求められる。そして、この新たな基準
レコード先頭番号の位置に対応デ−タがあるかどうかを調べ（ステップ４１０３
）、もしなければ基準レコードを元に戻し（ステップ４１０８）、処理を終了す
る。一方、対応デ−タがあれば、アレンジテーブル配置域６１９をクリアし（ス
テップ４１０４）、非繰返し部品を表示し（ステップ４１０５）、繰返し適用を
実行する（ステップ４１０６）。その後、アレンジテーブル配置域６１９へ表示
した内容と同様のものをプリンタ２０４へ出力する（ステップ４２０３）。そし
て表示対象ページを次へ進めるために変数Ｐをインクリメントして（ステップ４
２０４）、ステップ４２０２へ戻る。本処理により１ページから順次繰返し適用
処理を実行して、元テーブルデ−タ４００のレコードが存在する限り、画面を書
き換えながら、毎画面ごとに印刷ができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の帳票作成方法の一実施例を示すフローチャートである。
【図２】本発明の一実施例を実現するハードウェアの構成図である。
【図３】元テーブル表示用ウィンドウの画面出力例の図である。
【図４】元テーブルの構造説明図である。
【図５】元テーブル表示先頭位置情報、基準レコード情報格納エリア説明図である。
【図６】アレンジウィンドウの画面出力例の図である。
【図７】用紙情報領域の説明図である。
【図８】繰返し情報領域の説明図である。
【図９】部品情報領域の説明図である。
【図１０】用紙情報領域、繰返し情報領域、部品情報領域の関連の説明図である。
【図１１】繰返し情報領域の空きリストの説明図である。
【図１２】部品情報領域の空きリストの説明図である。
【図１３】元テーブル表示用ウィンドウの表示手順を示すフローチャートである。
【図１４】元テーブル表示用ウィンドウでのフィールド名表示手順を示すフローチャートである。
【図１５】元テーブル表示用ウィンドウでのデータ表示手順を示すフローチャートである。
【図１６】元テーブル表示用ウィンドウでの基準レコード設定手順を示すフローチャートである。
【図１７】アレンジ情報格納領域の確保と初期化の手順を示すフローチャートである。
【図１８】アレンジ用ウィンドウへのデータ配置手順を示すフローチャートである。
【図１９】コマンドメニュー位置テーブルの説明図である。
【図２０】元テーブル表示用ウィンドウからアレンジ用ウィンドウへのデータ配置手順を示すフローチャートである。
【図２１】元テーブル表示用ウィンドウ上の指定位置から対応する元テーブルデータを取り出す手順を示すフローチャートである。
【図２２】アレンジテーブル配置域での表示部品の移動手順を示すフローチャートである。
【図２３】アレンジテーブル配置域での表示部品の複写手順を示すフローチャートである。
【図２４】アレンジテーブル配置域での表示部品の消去手順を示すフローチャートである。
【図２５】アレンジテーブル配置域での罫線描画手順を示すフローチャートである。
【図２６】アレンジテーブル配置域での固定文字列配置手順を示すフローチャートである。
【図２７】帳票作成過程でのアレンジテーブル配置域の表示例の図である。
【図２８】アレンジテーブル配置域での繰返し部品指定手順を示すフローチャートである。
【図２９】繰返しパラメータ設定画面の画面出力例の図である。
【図３０】繰返しパラメータ設定手順を示すフローチャートである。
【図３１】単純繰返しの帳票出力の説明図である。
【図３２】マルチ縦繰返しの帳票出力の説明図である。
【図３３】マルチ横繰返しの帳票出力の説明図である。
【図３４】ビル窓繰返しの帳票出力の説明図である。
【図３５】繰返し位置入力手順を示すフローチャートである。
【図３６】単純繰返し適用時の繰返し表示手順を示すフローチャートである。
【図３７】マルチ縦繰返し適用時の繰返し表示手順を示すフローチャートである。
【図３８】マルチ横繰返し適用時の繰返し表示手順を示すフローチャートである。
【図３９】ビル窓繰返し適用時の繰返し表示手順を示すフローチャートである。
【図４０】一回の繰返しにおける繰返し表示手順を示すフローチャートである。
【図４１】指定ページの帳票表示手順を示すフローチャートである。
【図４２】全ページの印刷手順を示すフローチャートである。
【符号の説明】
【０１２３】
２０１…ディスプレイ装置、２０２…キーボード入力装置、２０３…マウス入
力装置、２０４…プリンタ装置、２０５…処理装置、２０６…プログラム格納装
置、２０７…記憶装置
【図１】
2004152314.tif 000003
【図２】
2004152314.tif 000004
【図３】
2004152314.tif 000005
【図４】
2004152314.tif 000006
【図５】
2004152314.tif 000007
【図６】
2004152314.tif 000008
【図７】
2004152314.tif 000009
【図８】
2004152314.tif 000010
【図９】
2004152314.tif 000011
【図１０】
2004152314.tif 000012
【図１１】
2004152314.tif 000013
【図１２】
2004152314.tif 000014
【図１３】
2004152314.tif 000015
【図１４】
2004152314.tif 000016
【図１５】
2004152314.tif 000017
【図１６】
2004152314.tif 000018
【図１７】
2004152314.tif 000019
【図１８】
2004152314.tif 000020
【図１９】
2004152314.tif 000021
【図２０】
2004152314.tif 000022
【図２１】
2004152314.tif 000023
【図２２】
2004152314.tif 000024
【図２３】
2004152314.tif 000025
【図２４】
2004152314.tif 000026
【図２５】
2004152314.tif 000027
【図２６】
2004152314.tif 000028
【図２７】
2004152314.tif 000029
【図２８】
2004152314.tif 000030
【図２９】
2004152314.tif 000031
【図３０】
2004152314.tif 000032
【図３１】
2004152314.tif 000033
【図３２】
2004152314.tif 000034
【図３３】
2004152314.tif 000035
【図３４】
2004152314.tif 000036
【図３５】
2004152314.tif 000037
【図３６】
2004152314.tif 000038
【図３７】
2004152314.tif 000039
【図３８】
2004152314.tif 000040
【図３９】
2004152314.tif 000041
【図４０】
2004152314.tif 000042
【図４１】
2004152314.tif 000043
【図４２】
2004152314.tif 000044
【手続補正書】
【提出日】平成15年12月17日(2003.12.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
フィールド番号及びレコード番号によって列番号及び行番号とが各々特定される複数の項目が二次元に配列されて形成される二次元の表形式データと、
前記項目と対応付けられているデータを表示するための出力領域と、
前記レコード番号同士の相対位置情報と、前記出力領域における位置を特定するための位置情報とを格納するための部品情報領域と、
を有する計算機を用いて、前記表形式データの前記項目と対応付けられているデータを前記出力領域へ表示する帳票作成方法であって、
前記表形式データにおけるレコード番号の内から基準となる基準レコード番号の指定を受け付けるステップと、
指定された第一の項目に対応付けられているデータの前記出力領域への貼り付け位置の指定を受け付けた場合に、
前記指定された貼り付け位置を特定する位置情報及び、指定された前記第一の項目のレコード番号と前記基準レコード番号との相対位置を表す相対位置情報とを前記部品情報領域に格納するステップと、
を有することを特徴とする帳票作成方法。
【請求項２】
フィールド番号及びレコード番号によって列番号及び行番号とが各々特定される複数の項目が二次元に配列されて形成される二次元の表形式データと、
前記項目に格納されるデータを表示するための出力領域と、
前記レコード番号を特定するためのマッピングレコード番号を格納する第一の格納領域及び、前記出力領域における表示位置を特定するための位置情報を格納する第二の格納領域とを有する部品情報領域と、
前記レコード番号の内から指定された基準レコード先頭番号を格納する第三の格納領域を有する繰り返し情報領域と、
を有する計算機を用いて、前記表形式データの前記項目に格納されているデータを前記出力領域へ表示する帳票作成方法であって、
前記項目を、前記出力領域の指定された位置に配置する指示を受け付けた場合に、
前記指定された位置を特定する位置情報を、前記部品情報領域の前記第二の格納領域に格納するステップと、
前記項目のレコード番号と前記第三の領域に格納されている前記基準レコード先頭番号とのレコード幅の値を前記部品情報領域の前記第一の格納領域に格納するステップと、
を有することを特徴とする帳票作成方法。
【請求項３】
入力装置、出力装置及び記憶装置を有する計算機を用いて、前記記憶装置に格納した表形式データから帳票を作成する帳票作成方法において、
（ａ）前記出力装置は、前記表形式データと前記帳票を作成するための出力領域を表示し、
（ｂ）前記計算機の処理装置は、配置情報に基づいた基準となる行に、前記表形式データにおいて指定された複数の領域に対応するデータを配置することにより、及び、前記基準となる行と異なる他の行のデータを、前記出力領域の指定された場所に繰り返し配置することにより前記帳票を作成し、
（ｃ）前記処理装置は、前記入力装置から入力される指示であって、第１の場所から第２の場所へ特定のデータを配列して前記表形式データが書き替えられた帳票を作成するための指示によって、前記出力領域において作成された帳票の所定の行における特定のデータの配置を変更し、
（ｄ）前記処理装置は、前記特定のデータと同じ属性を有する他の特定データを配列するための他の行であって、前記書き替えられた帳票を有するように再配置される他の行を変更する
ことを特徴とする帳票作成方法。
【請求項４】
前記ステップ（ｂ）は
（ｂ１）前記入力装置によって、前記表形式データ上の前記基準となる行を指定し、
（ｂ２）前記入力装置によって、該指定された基準となる行に含まれる領域を指定し、
（ｂ３）前記出力装置は、前記（ｂ２）で指定された領域に対応するデータを、前記出力領域の指定された場所に出力し、
（ｂ４）前記出力装置は、前記他の行に含まれる領域に対応するデータを、前記出力領域上の指定された場所と所定の関係を有する場所に出力する
ステップを含むことを特徴とする請求項３記載の帳票作成方法。
【請求項５】
前記ステップ（ｃ）は
（ｃ１）前記出力装置は、前記（ｂ）において作成されたデータと、該データと関連付けられた前記特定のデータとを含む帳票を出力し、
（ｃ２）前記入力装置によって、前記帳票上の前記特定のデータのグループを含む前記特定の行を指定し、
（ｃ３）前記入力装置は、前記（ｃ２）で指定された特定のデータのグループの配置を変更する情報を入力し、
（ｃ４）前記処理装置は、前記（ｃ３）における情報にもとづいた前記特定のデータのグループの配置を変更し、
（ｃ５）前記処理装置は、前記（ｃ３）において入力された情報に基づく前記（ｃ２）で指定された前記特定のデータに対する情報と類似の属性を有する特定のデータの他のグループの配置を変更する
ステップを含むことを特徴とする請求項３記載の帳票作成方法。
【請求項６】
入力装置、出力装置及び記憶装置を有する計算機を用いて、前記記憶装置に格納した表形式データから帳票を作成する帳票作成方法において、
前記出力装置は、前記表形式データと、前記帳票を作成する出力領域の両方を表示し、  前記処理装置は、前記表形式データの第１の関連帳票を作成するために、前記表形式データ上で指定される基準となる行内の領域に対応するデータを配置するための配置情報を入力して帳票を作成し、
前記処理装置は、前記配置情報に基づく前記基準となる行と相対的な位置関係を有する他の行であって、前記第１の関連帳票に含まれる前記出力領域の指定された場所に配置される他の行における他のデータを繰り返し配置する
ことを特徴とする帳票作成方法。
【請求項７】
入力装置と出力装置と記憶装置とを有し、前記記憶装置に格納した表形式デー
タの指定項目のデータを帳票に出力する計算機における帳票作成方法であって、
（ａ）前記表形式データを出力する出力領域を前記帳票に設け、
（ｂ）前記表形式データの特定行を指定する情報を前記入力装置から入力し、
（ｃ）前記表形式データにおける複数の特定項目を指定する情報を前記入力装置
から入力し、前記特定項目を前記出力領域に配置する前記出力領域における位置
情報を前記入力装置からそれぞれ入力し、前記特定項目の前記表形式データにお
ける項目名と前記特定行との行偏差とを前記位置情報とともに配置情報として前
記記憶装置に記憶し、
（ｄ）前記出力領域に出力する際、行カウンタを特定の行番号とし、前記行カウ
ンタに前記配置情報として記憶された前記行偏差を加えた行における前記項目名
に対応するデータを前記位置情報に基づいて対応する前記出力領域に出力し、
（ｅ）前記行カウンタに予め定められた行数を加え、前記位置情報に予め定められた偏差を加えて、前記ステップ（ｄ）を繰り返えすことを特徴とする帳票作成方法。
【請求項８】
前記複数の出力領域への出力結果を、プリンタに出力すること
を特徴とする請求項７記載の帳票作成方法。

【請求項９】
前記予め定められた行数は、前記入力装置から入力することを特徴とする請求項７
に記載の帳票作成方法。

【請求項１０】
前記ステップ（ｅ）における繰り返しは、予め定められた回数である、または
、前記出力領域に配置できる繰り返し回数である、または、前記表形式データの
末尾行を出力するまで繰り返すことを特徴とする請求項７に記載の帳票作成方法。
【請求項１１】
入力装置と出力装置と記憶装置とを有し、前記記憶装置に格納した表形式デー
タの指定項目のデータを帳票に出力する計算機であって、
（ａ）前記表形式データを出力する出力領域を前記帳票に設ける手段と、
（ｂ）前記表形式データの特定行を指定する情報を前記入力装置から入力する手
段と、
（ｃ）前記表形式データにおける複数の特定項目を指定する情報を前記入力装置
から入力し、前記特定項目を前記出力領域に配置する前記出力領域における位置
情報を前記入力装置からそれぞれ入力し、前記特定項目の前記表形式データにお
ける項目名と前記特定行との行偏差とを前記位置情報とともに配置情報として前
記記憶装置に記憶する手段と、
（ｄ）前記出力領域に出力する際、行カウンタを特定の行番号とし、前記行カウ
ンタに前記配置情報として記憶された前記行偏差を加えた行における前記項目名
に対応するデータを前記位置情報に基づいて対応する前記出力領域に出力する手
段と、
（ｅ）前記行カウンタに予め定められた行数を加え、前記位置情報に予め定めら
れた偏差を加えて、前記手段（ｄ）を繰り返えす手段とを備えたことを特
徴とする計算機。
【請求項１２】
フィールド番号及びレコード番号によって列番号及び行番号とが各々特定される複数の項目が二次元に配列されて形成される二次元の表形式データと、
前記項目に格納されるデータを表示するための出力領域と、
前記レコード番号を特定するためのマッピングレコード番号を格納する第一の格納領域及び、前記フィールド番号を特定するためのマッピングフィールド名を格納する第二の格納領域及び、前記出力領域における表示位置を特定するための位置情報を格納する第三の格納領域とを有する部品情報領域と、
前記レコード番号の内から指定された基準レコード先頭番号を格納する第四の格納領域及び、前記レコード番号同士のレコード幅を格納する第五の格納領域及び、前記部品情報領域を特定するためのポインタとを有する繰り返し情報領域と、
を有する計算機を用いて、前記表形式データの前記項目に格納されているデータを前記出力領域へ表示する帳票作成方法であって、
繰り返し適用の指示を受け付けた場合に、
(a)            前記繰り返し情報領域の前記第四の格納領域に格納されている基準レコード先頭番号と前記第五の領域に格納されているレコード幅とに基づいて第二の基準レコード番号を計算するステップと、
(b)            前記繰り返し情報領域に格納されているポインタで特定される第一の部品情報領域を抽出するステップと、
(c)            前記第一の部品情報領域に格納されているマッピングレコード番号の値と前記第二の基準レコード番号の値とに基づいて第三のレコード番号を計算するステップと、
(d)            前記第一の部品情報領域に格納されている前記フィールド番号と、前記第三のレコード番号とで特定される前記項目に格納されているデータを、前記第一の部品情報領域に格納されている前記位置情報に基づいて前記出力領域における所定の位置に表示するステップと、
を有することを特徴とする帳票作成方法。