(57)【要約】【課題】帳票内のフィールドにフィールドデータを流し込む帳票処理において、フィールド属性の設定作業を簡便化することを目的とする。【解決手段】帳票内に定義されたフィールドにフィールドデータを流し込む帳票処理方法であって、設定されるフィールド属性情報に含まれる文字列であって、流し込まれるフィールドデータの書式を表すピクチャ文字より構成される文字列をピクチャ解析し（ステップＳ３０２）、フィールドに流し込む際に、所定のフィールドデータを複数回繰り返して流し込むための繰り返し数を認識し、ピクチャ文字として展開し（ステップＳ３０３）、繰り返し数に基づいて、所定のフィールドデータを繰り返してフィールドに流し込む（ステップＳ３０５）ことを特徴とする。【選択図】　図３
2004062659.tif 000002
【特許請求の範囲】
【請求項１】
帳票内に定義されたフィールドに流し込むデータを格納しているフィールドデータソースを読み込み、該フィールドデータソースのデータを該帳票内のフィールドに流し込む帳票処理装置であって、
前記各フィールドごとに設定されるフィールド属性情報に含まれる文字列であって、流し込まれるデータの書式を表す文字より構成される文字列を読み込む読込手段と、
フィールドに流し込む際に、所定のデータを複数回繰り返して流し込むための繰り返し数を前記読み込まれた文字列より認識する認識手段と、
前記認識した繰り返し数に基づいて、前記所定のデータを繰り返して前記フィールドに流し込む流込手段と
を備えることを特徴とする帳票処理装置。
【請求項２】
帳票内に定義されたフィールドに流し込むデータを格納しているフィールドデータソースを読み込み、該フィールドデータソースのデータを該帳票内のフィールドに流し込む帳票処理装置であって、
前記各フィールドごとに設定されるフィールド属性情報に含まれる文字列であって、流し込まれるデータの書式を表す文字より構成される文字列を読み込む読込手段と、
前記流し込まれるデータのデータ長が可変であることを表す文字を、前記文字列より認識する認識手段と、
前記文字列より導きだされるデータ長と、該文字列に対応するフィールドに流し込まれるフィールドデータソースのデータのデータ長との差分を算出する算出手段と、
前記算出手段により算出されたデータ長より、前記認識手段により認識された前記データ長が可変のデータのデータ長を決定し、該決定したデータ長に基づいて、前記フィールドデータソースのデータを前記フィールドに流し込む流込手段と
を備えることを特徴とする帳票処理装置。
【請求項３】
帳票内に定義されたフィールドに流し込むデータを格納しているフィールドデータソースを読み込み、該フィールドデータソースのデータを該帳票内のフィールドに流し込む帳票処理方法であって、
前記各フィールドごとに設定されるフィールド属性情報に含まれる文字列であって、流し込まれるデータの書式を表す文字より構成される文字列を読み込む読込工程と、
フィールドに流し込む際に、所定のデータを複数回繰り返して流し込むための繰り返し数を前記読み込まれた文字列より認識する認識工程と、
前記認識した繰り返し数に基づいて、前記所定のデータを繰り返して前記フィールドに流し込む流込工程と
を備えることを特徴とする帳票処理方法。
【請求項４】
帳票内に定義されたフィールドに流し込むデータを格納しているフィールドデータソースを読み込み、該フィールドデータソースのデータを該帳票内のフィールドに流し込む帳票処理方法であって、
前記各フィールドごとに設定されるフィールド属性情報に含まれる文字列であって、流し込まれるデータの書式を表す文字より構成される文字列を読み込む読込工程と、
前記流し込まれるデータのデータ長が可変であることを表す文字を、前記文字列より認識する認識工程と、
前記文字列より導きだされるデータ長と、該文字列に対応するフィールドに流し込まれるフィールドデータソースのデータのデータ長との差分を算出する算出工程と、
前記算出工程により算出されたデータ長より、前記認識工程により認識された前記データ長が可変のデータのデータ長を決定し、該決定したデータ長に基づいて、前記フィールドデータソースのデータを前記フィールドに流し込む流込工程と
を備えることを特徴とする帳票処理方法。
【請求項５】
前記文字列は、型指定文字またはスキップ文字または固定文字または繰り返し文字もしくはそれらの組み合わせから成り、該型指定文字は、対応するフィールドに流し込まれるフィールドデータソースのデータをどのように解釈するかを表し、該スキップ文字は、対応するフィールドに流し込まれるフィールドデータソースのデータのうち、任意のデータを読み飛ばすことを表し、該固定文字は、対応するフィールドに流し込まれるフィールドデータソースのデータのうち、特定のデータを読み飛ばすことを表し、該繰り返し文字は、対応するフィールドに流し込まれるフィールドデータソースのデータを繰り返し流し込むことを表すことを特徴とする請求項３または４のいずれかに記載の帳票処理方法。
【請求項６】
前記繰り返し文字は、α（ｎ）と表現されている場合、αをｎ回繰り返すことを意味することを特徴とする請求項５に記載の帳票処理方法。
【請求項７】
前記繰り返し文字は、α（０）と表現されている場合、該繰り返し文字に対応するデータのデータ長が可変であることを意味することを特徴とする請求項５に記載の帳票処理方法。
【請求項８】
前記流込工程は、
前記文字列から、連続して処理されるべき文字列をピクチャ単語として切り出す工程と、
前記切り出したピクチャ単語に対するフィールドデータソースのデータをフィールドデータ単語として切り出す工程と、
前記ピクチャ単語が型指定文字か否かを判定し、型指定文字と判定された場合、前記ピクチャ単語とフィールドデータ単語とを組としたデータテーブルを生成する工程と、を備え、
前記データテーブルに基づいて、前記フィールドデータソースのデータを、前記フィールドに流し込むことを特徴とする請求項３または４に記載の帳票処理方法。
【請求項９】
前記フィールド属性情報は、流し込むフィールドデータソースのデータの種類を表すデータ型を有し、
前記流込工程は、前記切り出されたピクチャ単語の数が正しいか否かを、該データ型に基づいて判断し、該ピクチャ単語の数が少ない場合には、該足りないピクチャ単語と、該足りないピクチャ単語に対応するフィールドデータ単語とを前記データテーブルに追加するとともに、該追加されたフィールドデータ単語を補完することを特徴とする請求項８に記載の帳票処理方法。
【請求項１０】
前記流込工程は、前記フィールドデータソースのデータが有効であるか否かを前記データ型に基づいて判断し、有効であった場合に、前記フィールドに流し込むことを特徴とする請求項９に記載の帳票処理方法。
【請求項１１】
請求項３乃至１０のいずれか１つに記載の帳票処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【請求項１２】
請求項３乃至１０のいずれか１つに記載の帳票処理方法をコンピュータによって実現させるための制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フィールドデータソースに記述されたデータ（以下、「フィールドデータ」と称す）を、帳票内にあらかじめ定義したフィールド（フィールドデータソースのデータを受け取るプログラム中のメモリ領域）に流し込むためのプログラムである帳票処理プログラムに関するものである。
【０００２】
【従来の技術】
帳票処理プログラムとは、フィールドデータを、帳票内にあらかじめ定義したフィールドに流し込むためのプログラムであり、該プログラムにより、各フィールドが有するフィールド属性に従ったフィールドデータが流し込まれる。
【０００３】
フィールド属性とは、フィールドデータの流し込みにおいて、各フィールドが個別に有する情報のことで、例えば、入力ピクチャとは、フィールドが受け取り可能なフィールドデータの書式を文字列で表したものである。
【０００４】
具体的には、入力ピクチャは、フィールドデータの文字数分のピクチャ文字（入力ピクチャの各文字を「ピクチャ文字」と称す）を並べることにより記述され、日付型のフィールドであれば、入力ピクチャは「ＹＹＹＹ／ＭＭ／ＤＤ」と設定される。
【０００５】
【発明が解決しようとする課題】
しかし、従来の方法では、フィールド属性として設定されたフィールドデータの文字数が多い場合、記述する入力ピクチャの文字数も多くなるため、入力ピクチャ設定画面での入力（フィールド属性の設定）が面倒であり、文字数を間違って入力してしまうことがあった。
【０００６】
また、フィールドデータの文字数が不定である場合には、フィールドデータを流し込む帳票処理プログラムにおいて、データソースに格納されているフィールドデータを、入力ピクチャの文字数に従って、文字型のフィールドならフィールドデータの後ろにスペースを、数値型のフィールドならフィールドデータの前に０を付加してから（つまり、フィールドデータを加工してから）フィールドに流し込む必要があった。
【０００７】
本発明は前述の問題に鑑みてなされたものであり、以下のことを目的とする。
（１）帳票内のフィールドにフィールドデータを流し込む帳票処理において、フィールド属性の設定作業を簡便化することを目的とする。
（２）また、帳票内のフィールドにフィールドデータを流し込む帳票処理において、設定されたフィールド属性にあわせてフィールドデータを加工することなく、フィールドデータの流し込みを可能とすることで、フィールドデータの流し込み作業を簡便化することを目的とする。
（３）さらに、上記課題を解決する帳票処理方法、帳票処理装置、ならびに帳票処理方法をコンピュータによって実現させるためのプログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成するために本発明に係る帳票処理方法は以下のような構成を備える。即ち、
帳票内に定義されたフィールドに流し込むデータを格納しているフィールドデータソースを読み込み、該フィールドデータソースのデータを該帳票内のフィールドに流し込む帳票処理方法であって、
前記各フィールドごとに設定されるフィールド属性情報に含まれる文字列であって、流し込まれるデータの書式を表す文字より構成される文字列を読み込む読込工程と、
フィールドに流し込む際に、所定のデータを複数回繰り返して流し込むための繰り返し数を前記読み込まれた文字列より認識する認識工程と、
前記認識した繰り返し数に基づいて、前記所定のデータを繰り返して前記フィールドに流し込む流込工程とを備える。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態を図面を参照して説明する。なお、以下の説明において用いる用語をあらかじめ定義すると、「帳票」とは、枠線、固定的な図形、文字等を有し、定義されたフィールドにフィールドデータを流し込むことが可能なファイルをいうものとする。また、「フィールドデータソース」とは、帳票内に定義されたフィールドに流し込むデータをデータ項目毎にわけて保存されたデータソースファイル（もしくはデータベース）をいうものとする。また、「データ項目」とはフィールドデータの集合を構成する要素をいうものとする。
【００１０】
図１は、本発明の実施形態に係る帳票処理装置のシステム構成を示すブロック図である。図２乃至図１０は、図１の帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【００１１】
図１において、１は中央処理装置、２はＲＡＭなどの記憶装置、３はＣＲＴなどの表示装置、４はキーボード、５はマウス、６は外部補助記憶装置をそれぞれ示す。外部補助記憶装置６は、プログラム等が媒体から帳票処理装置に配給されることを示す。プログラム等が格納される記憶媒体としては、ＲＯＭ、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードディスク、メモリカード、光磁気ディスクなどを用いることが可能である。図１１は、記憶媒体中の帳票処理プログラムの構成を示す。
【００１２】
図１２は、帳票処理プログラム、フィールドリストおよびフィールドデータが記憶装置２に格納され、プログラムが実行可能となった状態のメモリマップを示す。
【００１３】
フィールドリストは、フィールドの順番にフィールドの情報を格納したデータである（図１３）。フィールドは各々フィールド属性を持つ。フィールド属性は、フィールドＩＤ・フィールド名・フィールド形式・データ型・入力ピクチャなどから構成される。
【００１４】
フィールドＩＤは、プログラム内部でフィールドを識別する一意の数字である。フィールド名は、ユーザがフィールドを識別するための一意の文字列である。
【００１５】
フィールド形式は、固定／可変／自動などの値をとる。フィールド形式が固定のフィールド（以下、固定フィールド）は各印刷ページに共通のデータを受け取り、フィールド形式が可変のフィールド（以下、可変フィールド）は各印刷ページ毎に変わるデータを受け取り、フィールド形式が自動のフィールド（以下、自動フィールド）はプログラムが自動的に生成したデータ、例えば、印刷開始時の日時や印刷ページなど、を受け取る。
【００１６】
データ型は、受け取るデータの種類を表わし、文字／数値／日付／時間／バーコードなどの値をとる。
【００１７】
入力ピクチャは、フィールドが受け取るフィールドデータの書式を示す文字列であり、フィールドはこの書式に従って、流し込むフィールドデータを解釈する。入力ピクチャは、型指定文字・スキップ文字・固定文字・繰り返し文字の４種類のピクチャ文字から構成される。
【００１８】
図１４は、４種類のピクチャ文字の例を表わしたものである。型指定文字は、対応するフィールドデータの文字をどのように解釈するかを指定するものである。例えば、「９」は数値、「Ｘ」は文字、「Ｇ」は元号漢字として解釈することを意味する。型指定文字によって解釈できないフィールドデータは、入力ピクチャに従っていないとしてエラーとなる。例えば、「９（数値）」に対して「文字」のフィールドデータ、「Ｇ（元号漢字）」に対して「年」のフィールドデータが流し込まれるとエラーとなる。
【００１９】
型指定文字はデータ型によって使える文字や組み合わせ・順序などが制限される場合がある。例えば、データ型が日付型の場合、使える型指定文字は「Ｙ」（西暦年）、「Ｍ」（月）、「Ｄ」（日）、「Ｇ（全角文字）」（元号漢字）、「ｇ」（和暦年）であり、「Ｙ」と「Ｇ」「ｇ」は組み合わせられず、「Ｇ」と「ｇ」は組み合わさなければいけないという制限があったり、同じ型指定文字は、１つの入力ピクチャの中で不連続ではいけないという制限があったりする。このような制限は、入力ピクチャの設定時に行われているものとする。
【００２０】
図１５はフィールドのデータ型と入力ピクチャを設定する画面の例である。この画面でユーザはデータ型をリストから選択し、入力ピクチャを入力して、ＯＫボタンを押すと、データ型との組み合わせ、型指定文字同士の組み合わせなどをチェックして、不正であるならエラーが表示されて設定はできない。
【００２１】
スキップ文字は、対応するフィールドデータの任意の文字を読み飛ばすことを指定するものであり、型指定文字で使われていない文字である。例えば、ピクチャ「ＹＹＹＹ！ＭＭ！ＤＤ」に対して、「２００１／１２／１３」と「２００１％１２％１３」はどちらも２００１年１２月１３日という意味で解釈される。
【００２２】
固定文字は、対応するフィールドデータの特定の文字を読み飛ばすことを指定するものであり、型指定文字とスキップ文字と繰り返し文字以外の文字である。対応するフィールドデータの文字が特定の文字でなければ、フィールドデータが入力ピクチャに従っていないとしてエラーとなる。
【００２３】
例えば、入力ピクチャが「ＹＹＹＹ年ＭＭ月ＤＤ日」と設定されたデータ型が日付型のフィールドに対して、「２００１年１２月１３日」のフィールドデータは流し込めるが、「２００１年１２年１３日」のフィールドデータはエラーとなる。繰り返し文字は、「（ｎ）」（ｎ：０以上の整数）の書式の繰り返し記法で「（」の直前のピクチャ文字をｎ回繰り返すことを指定する。
【００２４】
例えば、「９（１０）」は「９９９９９９９９９９」と同等である。繰り返し記法は、型指定文字・スキップ文字・固定文字のいずれのピクチャ文字に対しても有効であるが、入力ピクチャの最初に記述することはできない。繰り返し数が０の場合は、文字数が不定という特別な意味を持ち、不定繰り返し記法という。
【００２５】
例えば、入力ピクチャ「９（４）」に対して流し込み可能なフィールドデータは４桁の数値に限られるが、入力ピクチャ「９（０）」に対して流し込み可能なフィールドデータは帳票処理プログラムが扱うことが出来る範囲であれば何桁の数値でもよい。不定繰り返し記法は、１つのフィールドの入力ピクチャにおいて１度しか使えない。複数回の不定繰り返し記法があるとそれぞれのピクチャ文字に流し込むべきフィールドデータの文字数が特定できないからである。
【００２６】
例えば、「Ｙ（０）年Ｍ（２）月Ｄ（２）日」の入力ピクチャは有効であるが、「Ｙ（０）年Ｍ（０）月Ｄ（２）日」の入力ピクチャは不正である。入力ピクチャの入力画面では、繰り返し記法のチェックも行い、不正であるならエラーが表示されて設定はできない。
【００２７】
本実施形態は、複数のフィールドデータを対応するフィールドに順次流し込む一例であり、帳票処理プログラムは図２に示すような手順で処理を行う。
【００２８】
まず、データソースから最初のフィールドデータがあるか判定し（ステップＳ２０１）、あるならばそのフィールドデータを取得し（ステップＳ２０２）、対応するフィールドをフィールドリストから取得し（ステップＳ２０３）、取得できたかどうか判定し（ステップＳ２０４）、取得できていればステップＳ２０２で取得したフィールドデータをステップＳ２０３で取得したフィールドに流し込む（ステップＳ２０５）。フィールドデータの流し込みが終了すればステップＳ２０１に戻る。また、ステップＳ２０４でフィールドが取得できなかったと判定された場合もステップＳ２０１に戻る。以降フィールドデータがなくなるまでステップＳ２０１〜ステップＳ２０５を繰り返す。
【００２９】
ステップＳ２０５のフィールドデータ流し込み処理の流れを示すフローチャートを図３に示す。フィールドデータ流し込み処理は、フィールドの入力ピクチャを解析して、ピクチャ単語（連続して処理されるべき入力ピクチャのことを「ピクチャ単語」と呼ぶ、以下同じ）を切り出しデータテーブルを作成し、ピクチャ単語中の繰り返し記法を連続したピクチャ文字に展開し、フィールドデータを解析してデータテーブルのフィールドデータ単語（切り出したピクチャ単語に対応するフィールドデータのことを「フィールドデータ単語」と呼ぶ、以下同じ）に格納し、作成されたデータテーブルからフィールドにフィールドデータをセットするものである。
【００３０】
まず、データテーブルを空に初期化する（ステップＳ３０１）。データテーブルは、以下で説明されるピクチャ単語とデータ長とデータ不定フラグとフィールドデータ単語の組を格納するためのプログラムワークメモリ９０６中のテーブルである。
【００３１】
次に、ピクチャを解析してピクチャ単語を切り出してデータテーブルを作成する（ステップＳ３０２）。更に、作成されたデータテーブルのピクチャ単語中に繰り返し記法があれば、繰り返し記法を使わない連続したピクチャ文字に展開し（ステップＳ３０３）、フィールドデータを解析してデータテーブルのフィールドデータ単語に格納し（ステップＳ３０４）する。
【００３２】
図１６は、入力ピクチャ「Ｙ（０）年Ｍ（２）月ＤＤ日」に対するフィールドデータ「２００１年１２月１３日」の場合のデータテーブルの例である。最後に、データテーブルに格納されたピクチャ単語とフィールドデータ単語に基づいて、フィールドにフィールドデータをセットし（ステップＳ３０５）、処理を終了する。
【００３３】
ステップＳ３０２のピクチャ解析処理の流れを示すフローチャートを図４に示す。ピクチャ解析処理は、まだ処理されていない入力ピクチャの文字列からピクチャ単語を１つ切り出し、ピクチャ単語、フィールドデータ単語文字数、データ長不定フラグと空のフィールドデータ単語の組をデータテーブルに追加するものである。
【００３４】
まず、ステップＳ２０３で取得したフィールドの入力ピクチャの文字列の文字数を表わす変数ＰＬ０をセットし（ステップＳ４０１）、処理済入力ピクチャ文字数を表わす変数ＰＬを０に初期化する（ステップＳ４０２）。
【００３５】
次に、ＰＬとＰＬ０を比較して（ステップＳ４０３）、ＰＬの方が小さければ、まだ処理されていない入力ピクチャのＰＬ番目（０オリジン）以降の文字からピクチャ単語を１つ切り出し、その文字列を変数ＰＷＳ、その文字数を変数ＰＷＬにセットする（ステップＳ４０４）。
【００３６】
ピクチャ単語は連続して処理されるべき入力ピクチャのことである。これは入力ピクチャを構成する３種類の文字、型指定文字・スキップ文字・固定文字の同じ種類の文字が連続した文字列となる。繰り返し記法は繰り返しの対象のピクチャ文字と同じ種類とみなす。
【００３７】
例えば、「Ｙ（０）年Ｍ（２）月ＤＤ日」の場合、「Ｙ（０）」「年」「Ｍ（２）」「月」「ＤＤ」「日」が各ピクチャ単語になる。ステップＳ４０４の際には、ピクチャ単語が受け取るべきフィールドデータ（フィールドデータ単語）の文字数をＤＷＬに、フィールドデータ単語の文字数が不定であるかを表すデータ長不定フラグを変数ＤＷＦにセットする。
【００３８】
次に、ＰＷＳ、ＤＷＬ、ＤＷＦと空のフィールドデータ単語の組をデータテーブルに追加する（ステップＳ４０５）。そして、ＰＷＬをＰＬに加算し（ステップＳ４０６）、以降、ステップＳ４０３〜４０６を入力ピクチャがすべて処理されるまで繰り返し、処理を終了する。入力ピクチャが全て処理されれば、つまりステップＳ４０３でＰＬ＝ＰＬ０と判定されれば、データテーブルには、入力ピクチャを構成する全てのピクチャ単語とそれに対応するフィールドデータ単語長とデータ長不定フラグと空のフィールドデータ単語の組のテーブルが出来ている。
【００３９】
ステップＳ４０４のピクチャ単語切り出し処理の流れを示すフローチャートを図５に示す。ピクチャ単語切り出し処理は、まだ処理されていない入力ピクチャの最初の文字を取得し、そのピクチャ文字と異なる種類のピクチャ文字が現れるまで、もしくは最後のピクチャ文字まで順次ピクチャ文字を検索し、同じ種類のピクチャ文字およびその繰り返し記法で構成されるピクチャ単語として切り出すものである。
【００４０】
まず、入力ピクチャのＰＬ番目（０オリジン）の文字を取得して変数Ｐ１にセットする（ステップＳ５０１）。更に、ピクチャ単語の文字列を表わすＰＷＳ、文字数を表わすＰＷＬ、ピクチャ単語が受け取るべきフィールドデータ（フィールドデータ単語）の文字数を表すＤＷＬ、フィールドデータ単語の文字数が不定である、つまりピクチャ単語に不定繰り返し記法が使われているかを表すデータ長不定フラグの変数ＤＷＦを初期化する（ステップＳ５０２）。ＰＷＳはＰ１、ＰＷＬは１、ＤＷＬは１、ＤＷＦはＯＦＦとなる。
【００４１】
そして、次のピクチャ文字を取得して変数Ｐ２にセットし（ステップＳ５０３）、取得できたか判定し（ステップＳ５０４）、取得できれば、Ｐ２が繰り返し数開始文字「（」であるか判定する（ステップＳ５０５）。「（」でなければ、Ｐ１とＰ２が同じ種類のピクチャ文字であるか判定し（ステップＳ５０６）（ステップＳ４０５）、同じ種類でなければ処理を終了し、同じ種類であれば、文字列ＰＷＳに文字Ｐ２を、ＰＷＬに１を加え（ステップＳ５０７）、ステップＳ５０３に戻る。
【００４２】
ステップＳ５０５でＰ２が「（」であれば、繰り返し数終了文字「）」までの文字列を変数Ｐ３、「）」を変数Ｐ４にセットし（ステップＳ５０８）、文字列ＰＷＳに文字Ｐ２〜Ｐ４までの文字列を、ＰＷＬにＰ３の文字数（ＬＥＮ（Ｐ３））と繰り返し文字の２を加える（ステップＳ５０９）。
【００４３】
そして、Ｐ３（必ず０以上の整数）が「０」か判定し（ステップＳ５１０）、「０」であれば、ＤＷＦをＯＮに（ステップＳ５１１）、「０」でなければ、ＤＷＬにＰ３の数字−１を加え（ステップＳ５１２）、ステップＳ５０３に戻る。そして、ステップＳ５０３〜５１２を、異なる種類のピクチャ文字が現れるまで、もしくは入力ピクチャがすべて処理されるまで繰り返し、処理を終了し、文字列ＰＷＳをピクチャ単語として切り出す（なお、このときＰＷＬには切り出されたピクチャ単語の文字数が、ＤＷＬには切り出されたピクチャ単語が受け取るべきフィールドデータの文字数がはいっていることとなる）。
【００４４】
ステップＳ３０３のピクチャ展開処理の流れを示すフローチャートを図６に示す。ピクチャ展開処理は、データテーブルの全てのエントリのフィールドデータ単語長の和をフィールドデータ文字数から引いた値を不定長データ文字数として取得し、不定長データ文字数をデータ長不定フラグがＯＦＦのエントリのフィールドデータ単語文字数に加算し、繰り返し記法の記述を連続したピクチャ文字に展開するものである。
【００４５】
まず、データテーブルの最初のエントリがあるか判定し（ステップＳ６０１）、エントリがあればそのエントリを取得する（ステップＳ６０２）。
【００４６】
次に、そのエントリのＤＷＦがＯＮか判定し（ステップＳ６０３）、ＯＮであれば、データテーブルの全てのエントリのＤＷＬの和をステップＳ２０２で取得したフィールドデータの文字数から引いた値を不定長データ文字数を表わす変数Ｌにセットする（ステップＳ６０４）。
【００４７】
Ｌは、このピクチャ単語ＰＷＳに含まれている不定繰り返し記法に流し込まれるべきフィールドデータの文字数を表し、ＤＷＬは不定繰り返し記法も含んだ受け取るべきフィールドデータ単語の文字数になる。ステップＳ６０３でＯＦＦと判定されれば、ステップＳ６０４をスキップする。そして、繰り返し記法の記述を連続したピクチャ文字に展開し（ステップＳ６０６）、ステップＳ６０１に戻り、全てのデータテーブルのエントリに対してステップＳ６０１〜ステップＳ６０６を繰り返し、処理を終了する。
【００４８】
ステップＳ３０３の繰り返し記法展開処理の流れを示すフローチャートを図７に示す。繰り返し記法展開処理は、データテーブルの全てのエントリのピクチャ単語に対して、検索して見つかった繰り返し記法の繰り返し数が０か判定し、繰り返し数が０ならば、上記ピクチャ展開処理で取得した不定長データ文字数−１を展開数として取得し、繰り返し数が０でないならば繰り返し記法の繰り返し数−１を展開数として取得し、繰り返し記法の文字列を展開数分の繰り返し記法の対象のピクチャ文字展開数分で置き換えるものである。
【００４９】
まず、ループ変数ｎを０に初期化する（ステップＳ７０１）。そして、ステップＳ６０２で取得したエントリのＰＷＳのｎ番目の文字を変数Ｐ１、（ｎ＋１）番目の文字を変数Ｐ２にセットし（ステップＳ７０２）、Ｐ２が取得できたか判定し（ステップＳ７０３）、出来なければ処理を終了する。取得できれば、Ｐ２が繰り返し数開始文字「（」か判定し（ステップＳ７０４）、「（」であれば、繰り返し数終了文字「）」までの文字列を変数Ｐ３、「）」を変数Ｐ４にセットする（ステップＳ７０５）そして、Ｐ３（必ず０以上の整数）が「０」か判定し（ステップＳ７０６）、「０」でなければ、変数ＲをＰ３に（ステップＳ７０７）、「０」であれば、をＲをＬに（ステップＳ７０８）セットし（ステップＳ５１２）、文字列ＰＷＳの文字Ｐ２〜Ｐ４までの文字列を（Ｒ−１）個分の文字Ｐ１に置き換える（ステップＳ７０９）。
【００５０】
ｎにＰ３の文字数と繰り返し文字の２を加え（ステップＳ７１０）、ステップＳ７０４で「（」でないと判定されれば、ｎに１を加え（ステップＳ７１１）、ｎがＰＷＳの文字数より小さいか判定し（ステップＳ７１２）、小さければステップＳ７０２に戻る。ステップＳ７１２でｎがＰＷＳの文字数になるまで、もしくはステップＳ７０３でＰＷＳの（ｎ＋１）番目の文字が取得できなくなるまで、ステップＳ７０２〜７１２を繰り返し、処理を終了する。
【００５１】
ステップＳ３０４のフィールドデータ解析処理の流れを示すフローチャートを図８に示す。フィールドデータ解析処理は、データテーブルの全てのエントリのピクチャ単語に対して、フィールドデータのまだ処理されていない文字からフィールドデータ単語を切り出しデータテーブルのフィールドデータ単語に格納するものである。
【００５２】
まず、ステップＳ２０２で取得したフィールドデータの文字数を表わす変数ＤＬ０をセットし（ステップＳ８０１）、処理済フィールドデータ文字数を表わす変数ＤＬを０に初期化する（ステップＳ８０２）。
【００５３】
そして、データテーブルの最初のエントリがあるか判定し（ステップＳ８０３）、エントリがなければ処理を終了する。エントリがあればそのエントリを取得し（ステップＳ８０４）、まだ処理されていないフィールドデータのＤＬ番目（０オリジン）以降の文字からフィールドデータ単語を１つ切り出し、その文字列をステップＳ６０２で取得したエントリのフィールドデータ単語ＤＷＳ、その文字数を変数ＤＷＬにセットし（ステップＳ８０５）、ＤＬにＤＷＬを加算し（ステップＳ８０６）、ＤＬがＤＬ０より小さいか判定し（ステップＳ８０７）、小さければ、ステップＳ８０３に戻る。
【００５４】
以降、ステップＳ８０３〜８０７をデータテーブルがなくなるまで、もしくはフィールドデータがすべて処理されるまで繰り返し、処理を終了する。処理が終了すれば、データテーブルの各エントリのフィールドデータ単語には文字列がセットされている。
【００５５】
ステップＳ８０５のフィールドデータ単語切り出し処理の流れを示すフローチャートを図９に示す。フィールドデータ単語切り出し処理は、フィールドデータのまだ処理されていない文字を取得し、切り出されたピクチャ単語のフィールドデータ文字に対応するピクチャ文字を取得し、取得したピクチャ文字の種類を判定し、固定文字なら、取得したピクチャ文字が取得したフィールドデータ文字と同じか判定し、型指定文字なら、取得したピクチャ文字が取得したフィールドデータ文字を受け取れる型指定文字か判定し、切り出されたピクチャ単語の文字数分もしくはフィールドデータの最後まで処理をループするものである。
【００５６】
まず、フィールドデータ単語の文字列を表わすＤＷＳ、文字数を表わすＤＷＬを初期化する（ステップＳ９０１）。ＤＷＳはＮＵＬＬ（空文字）、ＤＷＬは０となる。更に、ループカウンタ変数ｎを０に初期化する（ステップＳ９０２）。
【００５７】
次に、まだ処理されていない（ＤＬ＋ｎ）番目（０オリジン）のフィールドデータの文字を取得し変数Ｄ１にセットする（ステップＳ９０３）。Ｄ１が取得できたかどうか判定し（ステップＳ９０４）、取得できなければ、処理を終了する。Ｄ１が取得できれば、ステップＳ８０４で取得したエントリのピクチャ単語ＰＷＳのｎ番目（０オリジン）のピクチャ文字を変数Ｐ１にセットし（ステップＳ９０５）、Ｐ１のピクチャ文字種を判定し（ステップＳ９０６）、処理を切り替える。
【００５８】
Ｐ１が固定文字であれば、Ｐ１がＤ１と同じ文字か判定し（ステップＳ９０７）、同じでなければ、エラー処理を行い（ステップＳ９０８）、処理を終了する。Ｐ１がピクチャ文字であれば、Ｐ１がＤ１を受け取れる型指定文字であるか判定し（ステップＳ９０９）、受け取れる型指定文字でなければ、エラー処理を行い（ステップＳ９１０）、処理を終了する。ステップＳ９０６でＰ１がスキップ文字であったり、ステップＳ９０７でＰ１がＤ１と同じ文字であったり、ステップＳ９０９でＰ１がＤ１を受け取れるピクチャ文字であると判定されれば、ＤＷＳにＤ１を、ＤＷＬに１を加え（ステップＳ９１１）、ｎに１を加える（ステップＳ９１２）。そして、ｎがピクチャ単語の文字数ＰＷＬより小さいか判定し（ステップＳ９１３）、小さければ、ステップＳ９０３に戻り、ｎがＰＷＬと同じになるまでステップＳ９０３〜ステップＳ９１３を繰り返し、処理を終了する。
【００５９】
ステップＳ３０５のフィールドデータセット処理の流れを示すフローチャートを図１０に示す。フィールドデータセット処理は、フィールドのデータ型に対して足りないピクチャ単語と空のフィールドデータの組をデータテーブルに追加し、データテーブル中の足りないフィールドデータ単語を補完し、データテーブル中のフィールドデータ単語の有効範囲をチェックし、エラーでなければ、フィールドにフィールドデータをセットするものである。
【００６０】
まず、フィールドのデータ型に対して足りないピクチャ単語と空のフィールドデータ単語の組をデータテーブルに追加する（ステップＳ１００１）。
【００６１】
例えば、データ型が日付型のフィールドは西暦年月日を格納するのだが、入力ピクチャが「ＭＭＤＤ」であった場合、「ＹＹＹＹ」のピクチャ単語と空のフィールドデータ単語を組にしてデータテーブルに追加する。次にデータテーブルの空のフィールドデータ単語や短いフィールドデータ単語のデータを補完する（ステップＳ１００２）。
【００６２】
例えば、「ＹＹＹＹ」のピクチャ単語に対するフィールドデータ単語が空の場合、処理している時点での西暦年をセットしたりする。次に、フィールドのデータ型に対してデータテーブルのデータが有効範囲外のデータになっていないかチェックする（ステップＳ１００３）。例えば、日付型のフィールドに対して、ピクチャ単語「ＭＭ」に対するフィールドデータ単語が「１」〜「１２」であるかチェックする。
【００６３】
チェックした結果がエラーか判定し（ステップＳ１００４）、データの有効範囲チェックがエラーでなければ、データテーブルの型指定文字のピクチャ単語に対するフィールドデータ単語を組み合わせたフィールドデータをフィールドにセットする（ステップＳ１００５）。例えば、日付型のデータ型のフィールドが１９００年１月１日からの経過日数を格納する場合、図１６のようなデータテーブルに対しては、１９００年１月１日から２００１年１２月１３日までの日数をフィールドにセットする。ステップＳ６０４でエラーであれば、エラー処理を行い（ステップＳ１００６）、処理を終了する。
【００６４】
以上の説明から明らかなように、フィールドデータの文字数が多い場合でも、繰り返し記法を使うことにより、設定する入力ピクチャの文字数を少なくできるため、入力ピクチャ設定画面での入力が容易になり、文字数の入力ミスを減らすことができる。
【００６５】
また、フィールドデータの文字数が不定である場合でも、フィールドデータを流し込む際に、データソースに格納されているフィールドデータを加工することなく流し込むことが可能となる。
【００６６】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００６７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００６８】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００７０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７２】
【発明の効果】
以上説明したように本発明によれば、帳票内のフィールドにフィールドデータを流し込む帳票処理において、フィールド属性の設定作業を簡便化することが可能となる。また、フィールドデータの流し込み作業を簡便化することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態にかかる帳票処理装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図３】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図４】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図５】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図６】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図７】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図８】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図９】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図１０】本発明の実施形態にかかる帳票処理装置におけるデータ処理の流れを示すフローチャートである。
【図１１】本発明の実施形態にかかる帳票処理装置を構成する記憶媒体中の帳票処理プログラムの構成を示す図である。
【図１２】本発明の実施形態にかかる帳票処理装置における帳票処理プログラムが実行可能となった状態のメモリマップを示す図である。
【図１３】本発明の実施形態にかかる帳票処理装置におけるフィールドリストとフィールド属性の一例を示す図である。
【図１４】本発明の実施形態にかかる帳票処理装置におけるピクチャ文字の種類に対する一例を示す図である。
【図１５】本発明の実施形態にかかる帳票処理装置におけるフィールドのデータ型と入力ピクチャの設定画面の一例を示す図である。
【図１６】本発明の実施形態にかかる帳票処理装置における１つのフィールドとフィールドデータに対して作成されたデータテーブルの一例を示す図である。
【図１】
2004062659.tif 000003
【図２】
2004062659.tif 000004
【図３】
2004062659.tif 000005
【図４】
2004062659.tif 000006
【図５】
2004062659.tif 000007
【図６】
2004062659.tif 000008
【図７】
2004062659.tif 000009
【図８】
2004062659.tif 000010
【図９】
2004062659.tif 000011
【図１０】
2004062659.tif 000012
【図１１】
2004062659.tif 000013
【図１２】
2004062659.tif 000014
【図１３】
2004062659.tif 000015
【図１４】
2004062659.tif 000016
【図１５】
2004062659.tif 000017
【図１６】
2004062659.tif 000018