(57)【要約】【課題】システムの維持・管理の容易化および使い勝手の向上を図ることができる帳票再作成システムを提供する。【解決手段】再作成指示情報を用いて帳票データ記憶手段３１から取得した再作成対象の帳票データを、直近のレイアウトに対応するデータフォーマットに従った帳票データに変換するデータ変換手段２３と、変換処理で得られた直近のデータフォーマットに従った帳票データを用いて、直近のレイアウトで帳票を再作成する帳票出力手段２４とを設け、帳票再作成システム１０を構成した。この際、データ変換手段２３は、帳票データを、１つ後のバージョンのデータフォーマットに変換するサブ処理を繰り返すことにより、バージョンを１つずつ後にずらしながら、直近のデータフォーマットに変換する構成とした。【選択図】図１
2019175217.tif 000002
【特許請求の範囲】
【請求項１】
過去に作成された作成済の帳票データを用いて帳票を再作成する処理を実行するコンピュータにより構成された帳票再作成システムであって、
帳票のレイアウトについて複数のバージョンがあり、かつ、これらの複数のバージョンのレイアウトに対応して帳票データのデータフォーマットにも複数のバージョンがある場合に、原帳票のレイアウトに対応する原帳票のデータフォーマットで作成された作成済の帳票データを記憶する帳票データ記憶手段と、
再作成に用いる再作成対象の帳票データの指定情報を含む帳票の再作成指示情報の入力を受け付ける処理を実行する再作成指示受付手段と、
この再作成指示受付手段により受け付けた前記再作成指示情報を用いて、前記帳票データ記憶手段に記憶された作成済の帳票データの中から、前記再作成対象の帳票データを取得する処理を実行する帳票データ取得手段と、
この帳票データ取得手段により取得した前記再作成対象の帳票データを、直近のレイアウトに対応する直近のデータフォーマットに従った帳票データに変換する処理を実行するデータ変換手段と、
このデータ変換手段による変換処理で得られた直近のデータフォーマットに従った前記帳票データを用いて、直近のレイアウトで帳票を再作成する帳票マッピング処理を実行する帳票出力手段とを備え、
前記データ変換手段は、
任意のバージョンのレイアウトに対応するデータフォーマットで作成された帳票データを、１つ後のバージョンのデータフォーマットに従った帳票データに変換するデータ変換用のサブ処理を繰り返すことにより、バージョンを１つずつ後にずらしながら、直近のレイアウトに対応する直近のデータフォーマットに従った帳票データに変換する処理を実行する構成とされるとともに、
前記再作成指示受付手段により前記再作成指示情報の入力を受け付けた際には、前記帳票データ取得手段により取得した前記再作成対象の帳票データについて、原帳票のデータフォーマットから前記サブ処理の繰り返しを開始し、バージョンを１つずつ後にずらしながら、直近のデータフォーマットに至るまでの変換処理を実行する構成とされている
ことを特徴とする帳票再作成システム。
【請求項２】
前記再作成指示受付手段は、
前記再作成指示情報として、前記再作成対象の帳票データの指定情報に加え、再作成帳票をいずれのバージョンのレイアウトで出力するのかを指定する出力レイアウト指定情報の入力を受け付ける構成とされ、
前記データ変換手段は、
前記再作成指示受付手段により前記再作成指示情報の入力を受け付けた際には、前記帳票データ取得手段により取得した前記再作成対象の帳票データについて、原帳票のデータフォーマットから前記サブ処理の繰り返しを開始し、バージョンを１つずつ後にずらしながら、前記再作成指示情報に含まれる前記出力レイアウト指定情報で指定された指定出力レイアウトに対応するデータフォーマットに至るまでの変換処理を実行する構成とされ、
前記帳票出力手段は、
直近のレイアウトに対応する帳票マッピング処理用のマッピング情報を、予め用意されて差分情報記憶手段に記憶されるか若しくはプログラム内部に記述された前後のバージョンのマッピング情報の差分情報を用いて、１つ前のバージョンのレイアウトに対応するマッピング情報に変換するマッピング変換用の拡張サブ処理を繰り返すことにより、バージョンを１つずつ前にずらしながら、任意のレイアウトに対応するマッピング情報に変換し、変換後のマッピング情報を用いて帳票を再作成する処理を実行する構成とされるとともに、
前記再作成指示受付手段により前記再作成指示情報の入力を受け付けた際には、直近のレイアウトに対応するマッピング情報から前記拡張サブ処理の繰り返しを開始し、バージョンを１つずつ前にずらしながら、前記指定出力レイアウトに対応するマッピング情報に至るまでの変換処理を実行し、変換後のマッピング情報を用いて帳票を再作成する処理を実行する構成とされている
ことを特徴とする請求項１に記載の帳票再作成システム。
【請求項３】
前記データ変換手段は、
前記サブ処理を繰り返すことにより、前記再作成対象の帳票データから、再作成する帳票の出力レイアウトに対応するデータフォーマットに従った帳票データに至るまでの範囲のデータ変換処理を実行する際に、当該データ変換処理の範囲に応じ、予め用意されてスキップ情報記憶手段に記憶されるか若しくはプログラム内部に記述されたスキップ情報の中から、帳票データを構成する項目の単位で前記サブ処理による変換処理を省略可能な情報を示す項目単位スキップ情報、および／または、前記サブ処理の単位で前記サブ処理による変換処理を省略可能な情報を示すサブ処理単位スキップ情報を取得し、取得した前記項目単位スキップ情報を用いて、項目の単位で前記サブ処理内の該当する変換を省略する項目単位スキップ処理、および／または、前記サブ処理単位スキップ情報を用いて、該当する前記サブ処理を省略するサブ処理単位スキップ処理を実行する構成とされている
ことを特徴とする請求項１または２に記載の帳票再作成システム。
【請求項４】
前記データ変換手段は、
過去のレイアウトにあった項目が、それに続く中間のレイアウトでなくなり、さらにその後のレイアウトで復活する場合の復活項目について、予め用意されて復活項目退避情報記憶手段に記憶されるか若しくはプログラム内部に記述された、前記復活項目の復活後のレイアウトに対応する復活後のデータフォーマット内での前記復活項目のラベル番号と、前記過去のレイアウトに対応するデータフォーマット内での前記復活項目のラベル番号とを関連付ける復活項目退避情報を取得し、
取得した前記復活項目退避情報に従って、前記過去のレイアウトに対応するデータフォーマットから前記中間のレイアウトに対応する中間のデータフォーマットへのデータ変換用の前記サブ処理として、前記復活項目のデータを、前記中間のデータフォーマットに変換後の帳票データのワークエリアに退避させる処理を実行するとともに、
前記復活項目退避情報に従って、前記中間のデータフォーマットから前記復活後のデータフォーマットへのデータ変換用の前記サブ処理として、前記ワークエリアに退避させた前記復活項目のデータを、前記復活後のデータフォーマットに従った帳票データ内に配置する処理を実行する構成とされている
ことを特徴とする請求項１〜３のいずれかに記載の帳票再作成システム。
【請求項５】
新規バージョンのレイアウトに対応する新規のデータフォーマット、および、過去の全てのバージョンのレイアウトに対応する過去の全てのデータフォーマットを記憶するデータフォーマット記憶手段と、
このデータフォーマット記憶手段から取得した前記新規のデータフォーマットを構成する各項目と、前記過去の全てのデータフォーマットを構成する各項目とを比較し、過去のいずれかのデータフォーマットには存在するが、前記新規のデータフォーマットには存在しない項目を抽出し、抽出した項目のラベル番号および当該項目を含む過去のデータフォーマットのバージョン番号を、前記項目単位スキップ情報への追加情報として出力するスキップ情報作成支援処理を実行する情報作成支援手段と
を備えたことを特徴とする請求項３に記載の帳票再作成システム。
【請求項６】
新規バージョンのレイアウトに対応する新規のデータフォーマット、および、過去の全てのバージョンのレイアウトに対応する過去の全てのデータフォーマットを記憶するデータフォーマット記憶手段と、
このデータフォーマット記憶手段から取得した前記新規のデータフォーマットを構成する各項目と、前記過去の全てのデータフォーマットを構成する各項目とを比較し、前記復活項目を抽出し、抽出した項目のラベル番号および当該項目を含む過去のデータフォーマットのバージョン番号を、前記復活項目退避情報への追加情報として出力する復活項目退避情報作成支援処理を実行する情報作成支援手段と
を備えたことを特徴とする請求項４に記載の帳票再作成システム。
【請求項７】
請求項１〜６のいずれかに記載の帳票再作成システムとして、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、過去に作成された作成済の帳票データを用いて帳票を再作成する処理を実行するコンピュータにより構成された帳票再作成システムおよびプログラムに係り、例えば、特定口座年間取引報告書等のように記載様式が変更されることのある帳票を再作成する場合に利用できる。
【背景技術】
【０００２】
一般に、特定口座年間取引報告書等のように、記載様式（レイアウト）の変更が繰り返し行われる帳票がある。このような帳票のレイアウトの変更は、例えば、法改正による要請、会社の都合、顧客の都合等、様々な事情で生じ得る。具体的には、例えば、税金に関連する帳票であれば、国税庁等の国側の都合で変更されることがある。特定口座年間取引報告書の場合は、２０１６年、２０１７年と２年連続でレイアウトの変更があり、今後も変更される可能性がある。
【０００３】
一方、このような帳票のレイアウトの変更に対し、過去に作成した作成済の帳票データ（原帳票の作成時に保存された帳票データ）を用いて、帳票の再作成を行う場合がある。具体的には、例えば、税務署の確定申告では過去分の申請が可能であるため、再作成の要求や要望がある。この際に用いる原帳票の帳票データは、当然、原帳票の作成時に適用されていたレイアウトに対応するデータフォーマットで保存されている。
【０００４】
従って、このような帳票の再作成の要求や要望に応えるためには、先ず、再作成対象となる過去の帳票データを取り寄せて、そのデータ保存当時のレイアウトを用意し、帳票の再作成を行うことが考えられる。この場合、過去の帳票データと、過去のレイアウトで印刷や表示等の出力を行うための過去のマッピング情報（文字や線や図等の個々の出力要素の配置情報）が必要となるので、過去の帳票データの保存管理が行われていることは前提となるが、その他に、過去のレイアウトに対するマッピング情報の保存管理も必要となる。
【０００５】
次に、再作成対象となる過去の帳票データを取り寄せて、直近のレイアウト（現在適用されている最新のレイアウト）で帳票の再作成を行うことが考えられる。この場合は、過去の帳票データと、直近のレイアウトのマッピング情報とが必要となることに加え、過去の帳票データについて、過去のレイアウトに対応するデータフォーマットから、直近のレイアウトに対応するデータフォーマットへのデータ変換が必要となる。
【０００６】
なお、帳票のデータフォーマットの変換を行うシステムとしては、例えば、変換後の帳票データに対して、高度な複合検索を可能にする帳票データ変換装置が知られている（特許文献１参照）。また、企業間取引システムにおけるデータフォーマットの変換を、ユーザのニーズに沿った効率的なものとするフォーマット変換管理装置が知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−３４９６号公報
【特許文献２】特開２０１７−４１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述したように、帳票のレイアウトの変更が行われた後に、変更前に作成した帳票を再作成する必要が生じる場合があり、この場合の対応措置は、大別すると２通りある。先ず、過去の帳票データを用いて過去のレイアウトで出力する場合は、過去のレイアウトのマッピング情報を保存管理しておかなければならない。つまり、過去のレイアウトのマッピング情報のバックアップを含め、過去のシステム全体を残しておく必要がある。
【０００９】
しかし、複数回のレイアウト変更が生じた場合には、過去のレイアウトのマッピング情報のバックアップも、その変更回数の分だけ必要となり、保存管理が複雑となるうえ、作成ミスが発生するおそれもある。具体的には、再作成対象の帳票データ（再作成に用いる過去の帳票データ）がバージョン３のレイアウトに対応するデータフォーマットで保存されているのに、再作成帳票をバージョン２のレイアウトで出力してしまう等の作成ミスが発生するおそれがある。
【００１０】
次に、過去の帳票データを用いて、再作成帳票を直近のレイアウトで出力する場合は、過去の帳票データについて、過去のレイアウトに対応するデータフォーマットから、直近のレイアウトに対応するデータフォーマットへのデータ変換を行う必要がある。
【００１１】
しかし、複数回のレイアウト変更が生じた場合には、データフォーマットの変換を行うプログラムは、累積的に増えていく。例えば、バージョン２のレイアウトができた際には、データフォーマットについて、バージョン１からバージョン２へのデータ変換を行うだけであるが、その後、バージョン３のレイアウトができた際には、バージョン１からバージョン３へのデータ変換、バージョン２からバージョン３へのデータ変換を行うプログラムが必要となり、さらに、バージョン４のレイアウトができた際には、バージョン１からバージョン４へのデータ変換、バージョン２からバージョン４へのデータ変換、バージョン３からバージョン４へのデータ変換が必要となり、以下、簡略化して記載すると、新規のバージョン５の発生に対しては、１→５、２→５、３→５、４→５の変換プログラムが必要となり、新規のバージョン６の発生に対しては、１→６、２→６、３→６、４→６、５→６の変換プログラムが必要となり、累積的に増えていく変換プログラムの管理が必要となる。再作成の要求は多様であるため、再作成対象の帳票データが、過去のいずれのバージョンのデータフォーマットで保存されているかは、再作成の要求があって初めて定まるからである。
【００１２】
また、過去の帳票データを用いて、再作成帳票を直近のレイアウトで出力する場合だけを考えれば、例えば、新規のバージョン６に対し、１→６、２→６、３→６、４→６、５→６の変換プログラムを作り、バージョン６の適用が開始された時点で、１→５、２→５、３→５、４→５の変換プログラムを捨てることができるかもしれず、その場合は、単純な増加で済むことになる。しかし、直近のレイアウトではなく、過去のいずれかの時点でのレイアウト（原帳票作成時のレイアウトとは異なるレイアウト）で出力するとなると、変換プログラムを捨てることはできない。例えば、バージョン６の適用開始後に、過去のバージョン５のレイアウトで出力したいという要求に応えるとすると、１→６、２→６、３→６、４→６、５→６の変換プログラムだけがあっても対応することができないので、１→５、２→５、３→５、４→５の変換プログラムを捨てることはできない。従って、変換プログラムの数は累積的に増えていき、管理が困難になるとともに、作業ミスが発生するおそれも増えていくことになる。
【００１３】
以上より、レイアウト出力用のマッピング情報の保存管理や、データフォーマットの変換プログラムの保存管理を含め、システムの維持・管理の容易化を図ることができるとともに、再作成要求を行うユーザの満足度を高め、ユーザにとって使い勝手のよい帳票再作成システムを構築することが望まれる。
【００１４】
本発明の目的は、システムの維持・管理の容易化および使い勝手の向上を図ることができる帳票再作成システムおよびプログラムを提供するところにある。
【課題を解決するための手段】
【００１５】
本発明は、過去に作成された作成済の帳票データを用いて帳票を再作成する処理を実行するコンピュータにより構成された帳票再作成システムであって、
帳票のレイアウトについて複数のバージョンがあり、かつ、これらの複数のバージョンのレイアウトに対応して帳票データのデータフォーマットにも複数のバージョンがある場合に、原帳票のレイアウトに対応する原帳票のデータフォーマットで作成された作成済の帳票データを記憶する帳票データ記憶手段と、
再作成に用いる再作成対象の帳票データの指定情報を含む帳票の再作成指示情報の入力を受け付ける処理を実行する再作成指示受付手段と、
この再作成指示受付手段により受け付けた再作成指示情報を用いて、帳票データ記憶手段に記憶された作成済の帳票データの中から、再作成対象の帳票データを取得する処理を実行する帳票データ取得手段と、
この帳票データ取得手段により取得した再作成対象の帳票データを、直近のレイアウトに対応する直近のデータフォーマットに従った帳票データに変換する処理を実行するデータ変換手段と、
このデータ変換手段による変換処理で得られた直近のデータフォーマットに従った帳票データを用いて、直近のレイアウトで帳票を再作成する帳票マッピング処理を実行する帳票出力手段とを備え、
データ変換手段は、
任意のバージョンのレイアウトに対応するデータフォーマットで作成された帳票データを、１つ後のバージョンのデータフォーマットに従った帳票データに変換するデータ変換用のサブ処理を繰り返すことにより、バージョンを１つずつ後にずらしながら、直近のレイアウトに対応する直近のデータフォーマットに従った帳票データに変換する処理を実行する構成とされるとともに、
再作成指示受付手段により再作成指示情報の入力を受け付けた際には、帳票データ取得手段により取得した再作成対象の帳票データについて、原帳票のデータフォーマットからサブ処理の繰り返しを開始し、バージョンを１つずつ後にずらしながら、直近のデータフォーマットに至るまでの変換処理を実行する構成とされている
ことを特徴とするものである。
【００１６】
ここで、「原帳票のレイアウト」とは、原帳票を作成した際のレイアウトである。また、「直近のレイアウト」とは、帳票の再作成処理を実行する時点（再作成の指示を受けた時点）で存在する最新のバージョンのレイアウトである。
【００１７】
また、「再作成対象の帳票データの指定情報を含む帳票の再作成指示情報」における「帳票データの指定情報」とは、帳票の再作成に用いる帳票データ、すなわち過去に作成した原帳票についての作成済の帳票データを指定するための情報である。
【００１８】
さらに、「データ変換手段」の「任意のバージョンのレイアウトに対応するデータフォーマットで作成された帳票データ」における「任意のバージョン」とは、必ずしも最初のバージョン（バージョン番号＝１）からの任意のバージョンである必要はなく、途中のバージョンからの任意であってもよく、例えば、レイアウトのバージョンは、バージョン１から８まであるが、帳票データ記憶手段の中に、バージョン１，２，３の過去の帳票データが存在しない場合には、バージョン１，２，３の過去の帳票データを用いて帳票の再作成を行うことはないので、バージョン４以降の任意のバージョンでもよく、この場合には、バージョン４から５へ、５から６へ、６から７へ、７から８へのデータ変換用のサブ処理が予め用意されていればよい。従って、再作成対象として指定される可能性のある過去の帳票データのバージョン以降の任意であればよい。
【００１９】
そして、「１つ後のバージョン」とは、１世代後ということであり、時間の経過とともにバージョン番号が１つずつ上がっていく（番号の数値が増えていく）ものとすれば、１つ上の（１つ大きい）バージョン番号を付されたバージョンという意味である。同様に「バージョンを１つずつ後にずらしながら」とは、１世代ずつ時間軸上の将来方向（本願明細書では、順方向ということもある。）に向かってずらしていくということであり、バージョン番号を１つずつ上げていく（大きくしていく）という意味である。
【００２０】
また、「データ変換用のサブ処理を繰り返すことにより」とは、同じ内容のサブ処理を繰り返すという意味ではなく、「バージョンを１つずつ後にずらしながら」で示されるように、異なる内容のサブ処理を繰り返すという意味である。例えば、バージョン４からバージョン５への変換を行うサブ処理と、バージョン５からバージョン６への変換を行うサブ処理とは、異なる処理内容である。但し、複数用意されたサブ処理の中に、たまたま処理内容が同じものが含まれていてもよい。
【００２１】
さらに、「再作成指示受付手段により再作成指示情報の入力を受け付けた際には、帳票データ取得手段により取得した再作成対象の帳票データについて、原帳票のデータフォーマットからサブ処理の繰り返しを開始し」とは、システムとしては「任意のバージョン」からのデータ変換に対応可能な構成とされている状況下で、再作成指示に係るバージョン（途中のバージョンや、最初のバージョン）からのデータ変換を行うことを示している。換言すれば、データ変換用のサブ処理については、システムとしては「任意のバージョン」からのデータ変換に対応可能な数のサブ処理が用意されているが、再作成指示を受けた際には、用意されたサブ処理の全部ではなく、一部のサブ処理（途中のバージョンからのデータ変換を行う少なくとも１つのサブ処理）を実行する場合もあることを示している。そして、再作成指示の内容（再作成指示情報）によっては、用意されたサブ処理の全部を実行する場合もあることを示している。
【００２２】
このような本発明の帳票再作成システムにおいては、データ変換手段により帳票データのデータフォーマットの変換を行う際に、１つ後のバージョンのデータフォーマットへの変換を行うサブ処理を用意し、このサブ処理を繰り返すことにより、バージョンを１つずつ後にずらしながら、直近のデータフォーマットに従った帳票データに変換するので、従来の場合のように、多くの変換プログラムを用意する場合に比べ、システムの管理が容易になるとともに、帳票の再作成時に発生するおそれのあった作成ミスを回避することが可能となる。
【００２３】
すなわち、帳票のレイアウト変更が生じた場合には、本発明では、そのレイアウト変更前の時点における直近のレイアウトに対応する直近のデータフォーマットから新規レイアウトに対応する新規のデータフォーマットへの変換を行う１つのサブ処理を、プログラム内に追加すればよいので、従来のように、レイアウト変更の発生に伴って多数の変換プログラムを用意する必要はなくなる。例えば、新規レイアウトがバージョン６であるとすると、従来は、バージョンについて、１→６、２→６、３→６、４→６、５→６の変換プログラムを新たに用意する必要があったが、本発明では、データ変換手段を構成するプログラム部分に、バージョン５からバージョン６への変換を行うサブ処理を追加するだけでよい。従って、従来に比べ、システム管理者の作業負担を軽減できるうえ、プログラムの管理の容易化が図られる。
【００２４】
換言すれば、再作成対象の帳票データが、いずれのデータフォーマットで保存されているものなのかは、再作成指示を受けて初めて定まるものであり、不確定な内容であるから、システムとしてユーザの多様な要求に応えるためには、従来は、上述した例のように、１→６、２→６、３→６、４→６、５→６といった多数の変換プログラムを用意しなければならなかったが、本発明では、そのようなことをしなくても、ユーザの多様な要求に応えることができる。このことは、データ変換手段が、サブ処理の繰り返し（積み上げ）により、１バージョンずつ帳票データのデータフォーマットを変換する構成をとっていることによるものである。
【００２５】
また、従来のように、過去のレイアウトのマッピング情報のバックアップを含め、過去のシステム全体を残しておき、過去の帳票データを用いて過去のレイアウトで再作成帳票の出力を行う場合に比べても、本発明では、複数の過去のレイアウトのマッピング情報の保存管理や、複数の過去のシステム本体の維持管理を行う必要はなくなるので、システムの維持・管理の手間の軽減が図られるうえ、使用するシステムの選択や、使用するマッピング情報の選択における錯誤による作成ミスの発生も回避できるようになる。
【００２６】
さらに、過去に作成した帳票（原帳票）の帳票データを用いて、そのときのレイアウト（原帳票作成時のレイアウト）でしか再作成帳票を出力できないとなると、ユーザの満足度は下がるが、本発明では、直近のレイアウトで出力することができるので、ユーザにとって使い勝手のよいシステムを実現可能となり、これらにより前記目的が達成される。
【００２７】
＜直近のレイアウト以外のレイアウトで出力可能な構成＞
【００２８】
また、前述した帳票再作成システムにおいて、
再作成指示受付手段は、
再作成指示情報として、再作成対象の帳票データの指定情報に加え、再作成帳票をいずれのバージョンのレイアウトで出力するのかを指定する出力レイアウト指定情報の入力を受け付ける構成とされ、
データ変換手段は、
再作成指示受付手段により再作成指示情報の入力を受け付けた際には、帳票データ取得手段により取得した再作成対象の帳票データについて、原帳票のデータフォーマットからサブ処理の繰り返しを開始し、バージョンを１つずつ後にずらしながら、再作成指示情報に含まれる出力レイアウト指定情報で指定された指定出力レイアウトに対応するデータフォーマットに至るまでの変換処理を実行する構成とされ、
帳票出力手段は、
直近のレイアウトに対応する帳票マッピング処理用のマッピング情報を、予め用意されて差分情報記憶手段に記憶されるか若しくはプログラム内部に記述された前後のバージョンのマッピング情報の差分情報を用いて、１つ前のバージョンのレイアウトに対応するマッピング情報に変換するマッピング変換用の拡張サブ処理を繰り返すことにより、バージョンを１つずつ前にずらしながら、任意のレイアウトに対応するマッピング情報に変換し、変換後のマッピング情報を用いて帳票を再作成する処理を実行する構成とされるとともに、
再作成指示受付手段により再作成指示情報の入力を受け付けた際には、直近のレイアウトに対応するマッピング情報から拡張サブ処理の繰り返しを開始し、バージョンを１つずつ前にずらしながら、指定出力レイアウトに対応するマッピング情報に至るまでの変換処理を実行し、変換後のマッピング情報を用いて帳票を再作成する処理を実行する構成とされていることが望ましい。
【００２９】
ここで、「１つ前のバージョン」とは、１世代前ということであり、時間の経過とともにバージョン番号が１つずつ上がっていく（番号の数値が増えていく）ものとすれば、１つ下の（１つ小さい）バージョン番号を付されたバージョンという意味である。同様に「バージョンを１つずつ前にずらしながら」とは、１世代ずつ時間軸上の過去方向（本願明細書では、逆方向ということもある。）に向かってずらしていくということであり、バージョン番号を１つずつ下げていく（小さくしていく）という意味である。
【００３０】
このように直近のレイアウト以外のレイアウトを指定して再作成帳票を出力可能な構成とした場合には、より一層、ユーザの多様な要求に応えることができ、システムの使い勝手を、より一層向上させることが可能となる。
【００３１】
また、帳票出力手段により帳票マッピング処理を行う際に、前後のバージョンのマッピング情報の差分情報を用いて１つ前のバージョンのレイアウトに対応するマッピング情報に変換する拡張サブ処理を用意し、この拡張サブ処理を繰り返すことにより、直近のレイアウトに対応するマッピング情報を、バージョンを１つずつ前にずらしながら、任意のレイアウトに対応するマッピング情報に変換するので、複数の過去のレイアウトに対応するマッピング情報を全て保存管理しておく必要はなくなるため、システムの維持・管理が容易になる。
【００３２】
さらに、帳票のレイアウト変更が生じた場合には、新規レイアウトに対応するマッピング情報が与えられることになるが（対応するマッピング情報を作成して用意することになるが）、その新規レイアウトに対応するマッピング情報から、レイアウト変更前の時点における直近のレイアウト（１つ前のバージョンのレイアウト）に対応するマッピング情報への変換を行う１つの拡張サブ処理を追加するとともに、それらのマッピング情報の差分情報を追加管理するだけでよいので、システム管理者の手間をかけることなく、任意のレイアウトでの再作成帳票の出力を実現することが可能となる。
【００３３】
＜項目単位やサブ処理単位で、サブ処理内の一部の変換処理やサブ処理自体をスキップする構成＞
【００３４】
さらに、前述した帳票再作成システムにおいて、
データ変換手段は、
サブ処理を繰り返すことにより、再作成対象の帳票データから、再作成する帳票の出力レイアウトに対応するデータフォーマットに従った帳票データに至るまでの範囲のデータ変換処理を実行する際に、当該データ変換処理の範囲に応じ、予め用意されてスキップ情報記憶手段に記憶されるか若しくはプログラム内部に記述されたスキップ情報の中から、帳票データを構成する項目の単位でサブ処理による変換処理を省略可能な情報を示す項目単位スキップ情報、および／または、サブ処理の単位でサブ処理による変換処理を省略可能な情報を示すサブ処理単位スキップ情報を取得し、取得した項目単位スキップ情報を用いて、項目の単位でサブ処理内の該当する変換を省略する項目単位スキップ処理、および／または、サブ処理単位スキップ情報を用いて、該当するサブ処理を省略するサブ処理単位スキップ処理を実行する構成とされていることが望ましい。
【００３５】
ここで、「再作成する帳票の出力レイアウト」には、直近のレイアウト（最新のバージョンのレイアウト）である場合と、拡張機能使用時に指定される指定出力レイアウト（再作成指示情報に含まれる出力レイアウト指定情報で指定される指定出力レイアウトであって、直近のレイアウトよりも前のバージョンのレイアウト）である場合とが含まれる。
【００３６】
また、「当該データ変換処理の範囲に応じ」とは、原帳票のデータフォーマットから直近のデータフォーマットに至るまでのデータ変換処理を行う場合には、データ変換処理の終了時点のバージョンは、固定であるが、開始時点のバージョンは、再作成指示情報に基づき変動するので、データ変換処理の範囲は変動するため、その変動する範囲に応じてスキップ情報を取得するという意味である。仮に、開始時点のバージョンおよび終了時点のバージョンの双方ともに固定であれば、スキップ情報は完全に固定されることになるので、再作成指示を受けてからスキップ情報を取得するのではなく、各サブ処理においてスキップ情報を考慮した変換処理を行うように予めプログラミングしておけばよい。しかし、本発明では、開始時点のバージョンは変動するので、そのようにすることはできない。例えば、バージョン６からバージョン８へのデータ変換を行う場合に、バージョン６からバージョン７への変換で、ある項目のデータ形式が変換され、バージョン７からバージョン８への変換で、元に戻る（バージョン６のときの内容に戻る）とする。あるいは、バージョン６とバージョン８とでデータフォーマットの全体が一致しているが、それらのデータフォーマットと、それらの間のバージョン７のデータフォーマットとは異なっているとする。これらの場合、バージョン６からバージョン７への変換処理と、バージョン７からバージョン８への変換処理とを省略することができる。一方、このような状況下で、データ変換処理が、バージョン７から開始される場合には、バージョン７からバージョン８へのデータ変換を行う際には、そもそもバージョン６からバージョン７への変換処理が行われていないので、バージョン７からバージョン８への変換処理を省略することはできない。従って、開始時点のバージョンが変動すれば、各サブ処理で変換をスキップできるか否かは、異なってくるので、開始時点のバージョンに依存することになる。
【００３７】
また、上記は、原帳票のデータフォーマットから直近のデータフォーマットに至るまでのデータ変換処理を行う場合についての事情であるが、原帳票のデータフォーマットから指定出力レイアウト（拡張機能使用時に指定される任意の出力レイアウト）に対応するデータフォーマットに至るまでのデータ変換処理を行う場合については、更に事情が複雑になる。この場合は、開始時点のバージョンおよび終了時点のバージョンの双方ともに変動するからである。従って、各サブ処理で変換をスキップできるか否かは、開始時点のバージョンおよび終了時点のバージョンの双方に依存することになる。
【００３８】
このように項目単位やサブ処理単位で、サブ処理内の一部の変換処理やサブ処理自体をスキップする構成とした場合には、システムの処理量の削減や、処理の高速化を図ることが可能となる。
【００３９】
＜項目が復活する場合への対応が可能な構成＞
【００４０】
そして、前述した帳票再作成システムにおいて、
データ変換手段は、
過去のレイアウトにあった項目が、それに続く中間のレイアウトでなくなり、さらにその後のレイアウトで復活する場合の復活項目について、予め用意されて復活項目退避情報記憶手段に記憶されるか若しくはプログラム内部に記述された、復活項目の復活後のレイアウトに対応する復活後のデータフォーマット内での復活項目のラベル番号と、過去のレイアウトに対応するデータフォーマット内での復活項目のラベル番号とを関連付ける復活項目退避情報を取得し、
取得した復活項目退避情報に従って、過去のレイアウトに対応するデータフォーマットから中間のレイアウトに対応する中間のデータフォーマットへのデータ変換用のサブ処理として、復活項目のデータを、中間のデータフォーマットに変換後の帳票データのワークエリアに退避させる処理を実行するとともに、
復活項目退避情報に従って、中間のデータフォーマットから復活後のデータフォーマットへのデータ変換用のサブ処理として、ワークエリアに退避させた復活項目のデータを、復活後のデータフォーマットに従った帳票データ内に配置する処理を実行する構成とされていることが望ましい。
【００４１】
このように項目が復活する場合への対応が可能な構成とした場合には、過去のレイアウトにあった項目が、それに続く中間のレイアウトでなくなり、さらにその後のレイアウトで復活するようなケースでも、帳票の再作成を行う際に、復活項目のデータを活かすことが可能となる。このため、帳票データのデータフォーマットを、サブ処理により１バージョンずつ変換していく構成をとっていても、データを途中で消失させることなく、その項目が復活したバージョンのレイアウトにおいて、その復活項目のデータを出力させることが可能となる。
【００４２】
＜スキップ情報の作成支援処理を実行する構成＞
【００４３】
また、前述した項目単位やサブ処理単位で、サブ処理内の一部の変換処理やサブ処理自体をスキップする構成とする場合において、
新規バージョンのレイアウトに対応する新規のデータフォーマット、および、過去の全てのバージョンのレイアウトに対応する過去の全てのデータフォーマットを記憶するデータフォーマット記憶手段と、
このデータフォーマット記憶手段から取得した新規のデータフォーマットを構成する各項目と、過去の全てのデータフォーマットを構成する各項目とを比較し、過去のいずれかのデータフォーマットには存在するが、新規のデータフォーマットには存在しない項目を抽出し、抽出した項目のラベル番号および当該項目を含む過去のデータフォーマットのバージョン番号を、項目単位スキップ情報への追加情報として出力するスキップ情報作成支援処理を実行する情報作成支援手段と
を備えた構成とすることが望ましい。
【００４４】
このようにスキップ情報の作成支援処理を実行する構成とした場合には、帳票のレイアウト変更が発生し、新規バージョンのレイアウトに対応する新規のデータフォーマットが与えられた時点で、情報作成支援手段により、スキップ可能な項目の自動抽出を行うことができるので、システム管理者の手間が軽減される。
【００４５】
＜復活項目退避情報の作成支援処理を実行する構成＞
【００４６】
さらに、前述した項目が復活する場合への対応が可能な構成とする場合において、
新規バージョンのレイアウトに対応する新規のデータフォーマット、および、過去の全てのバージョンのレイアウトに対応する過去の全てのデータフォーマットを記憶するデータフォーマット記憶手段と、
このデータフォーマット記憶手段から取得した新規のデータフォーマットを構成する各項目と、過去の全てのデータフォーマットを構成する各項目とを比較し、復活項目を抽出し、抽出した項目のラベル番号および当該項目を含む過去のデータフォーマットのバージョン番号を、復活項目退避情報への追加情報として出力する復活項目退避情報作成支援処理を実行する情報作成支援手段と
を備えた構成とすることが望ましい。
【００４７】
このように復活項目退避情報の作成支援処理を実行する構成とした場合には、帳票のレイアウト変更が発生し、新規バージョンのレイアウトに対応する新規のデータフォーマットが与えられた時点で、情報作成支援手段により、復活項目の自動抽出を行うことができるので、システム管理者の手間が軽減される。
【００４８】
＜プログラムの発明＞
【００４９】
また、本発明のプログラムは、以上に述べた帳票再作成システムとして、コンピュータを機能させるためのものである。
【００５０】
なお、上記のプログラムまたはその一部は、例えば、光磁気ディスク（ＭＯ）、コンパクトディスク（ＣＤ）、デジタル・バーサタイル・ディスク（ＤＶＤ）、フレキシブルディスク（ＦＤ）、磁気テープ、読出し専用メモリ（ＲＯＭ）、電気的消去および書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、フラッシュディスク等の記録媒体に記録して保存や流通等させることが可能であるとともに、例えば、ＬＡＮ、ＭＡＮ、ＷＡＮ、インターネット、イントラネット、エクストラネット等の有線ネットワーク、あるいは無線通信ネットワーク、さらにはこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に載せて搬送することも可能である。さらに、上記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。
【発明の効果】
【００５１】
以上に述べたように本発明によれば、データ変換手段により帳票データのデータフォーマットを変換する際に、サブ処理の繰り返しにより、１バージョンずつ変換するので、システムの維持・管理の容易化、システムの使い勝手の向上、システム管理者の手間の軽減、作成ミスの回避を図ることができるという効果がある。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施形態の帳票再作成システムの全体構成図。
【図２】前記実施形態のデータ変換手段および帳票出力手段の詳細構成図。
【図３】前記実施形態の帳票の再作成処理の流れを示すフローチャートの図。
【図４】前記実施形態の帳票データのデータフォーマットおよびサブ処理の具体例を示す図。
【図５】前記実施形態のスキップ情報記憶手段に記憶されたスキップ情報の具体例を示す図。
【図６】前記実施形態の復活項目退避情報記憶手段に記憶された復活項目退避情報の具体例を示す図。
【図７】前記実施形態のデータ変換手段による項目単位スキップ処理の具体例を示す図。
【図８】前記実施形態のデータ変換手段による復活項目の処理の具体例を示す図。
【図９】前記実施形態の情報作成支援手段による情報作成支援処理の具体例を示す図。
【図１０】前記実施形態の帳票出力手段による拡張サブ処理の具体例を示す図。
【発明を実施するための形態】
【００５３】
以下に本発明の一実施形態について図面を参照して説明する。図１には、本実施形態の帳票再作成システム１０の全体構成が示されている。また、図２には、データ変換手段２３および帳票出力手段２４の詳細構成が示され、図３には、帳票再作成システム１０による帳票の再作成処理の流れがフローチャートで示されている。さらに、図４には、帳票データのデータフォーマットおよびサブ処理の具体例が示され、図５には、スキップ情報記憶手段３４に記憶されたスキップ情報の具体例が示され、図６には、復活項目退避情報記憶手段３５に記憶された復活項目退避情報の具体例が示され、図７には、データ変換手段２３による項目単位スキップ処理の具体例が示され、図８には、データ変換手段２３による復活項目の処理の具体例が示され、図９には、情報作成支援手段２５による情報作成支援処理の具体例が示され、図１０には、帳票出力手段２４による拡張サブ処理の具体例が示されている。
【００５４】
＜帳票再作成システム１０の全体構成＞
【００５５】
図１において、帳票再作成システム１０は、１台または複数台のコンピュータにより構成され、再作成指示受付手段２１と、帳票データ取得手段２２と、データ変換手段２３と、帳票出力手段２４と、情報作成支援手段２５と、帳票データ記憶手段３１と、レイアウト変更日記憶手段３２と、データフォーマット記憶手段３３と、スキップ情報記憶手段３４と、復活項目退避情報記憶手段３５と、差分情報記憶手段３６とを備えて構成されている。
【００５６】
このうち、各手段２１〜２５は、帳票再作成システム１０を構成するコンピュータ本体の内部に設けられた中央演算処理装置（ＣＰＵ）、およびこのＣＰＵの動作手順を規定する１つまたは複数のプログラム、並びに、主メモリやキャッシュメモリ等の作業用メモリ等により実現される。各手段２１〜２５の詳細は、後述する。
【００５７】
また、各記憶手段３１〜３６は、例えばハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）等により好適に実現されるが、記憶容量やアクセス速度等に問題が生じない範囲であれば、例えば、フラッシュ・メモリ、ＭＯ、ＣＤ、ＤＶＤ等の他の記録媒体を採用してもよい。なお、これらのうち、各記憶手段３４，３５，３６に記憶される情報は、プログラム内部に記述されていてもよい。各記憶手段３１〜３６の詳細は、後述する。
【００５８】
さらに、帳票再作成システム１０を構成するコンピュータは、ＷＥＢベースのシステムとする場合には、ウェブ・アプリケーションサーバやデータベースサーバ等であり、設置するサーバの台数は任意であり、従って、各手段２１〜２５や各記憶手段３１〜３６についてのサーバへの配置形態（複数のサーバへの分散配置とするか、１台のサーバにまとめて配置するか等）も任意である。また、データベースサーバを設置する場合には、図示は省略されているが、帳票再作成システム１０は、データベース・マネジメント・システム（ＤＢＭＳ）の機能を備えることになる。さらに、帳票再作成システム１０は、メインフレーム（ホストコンピュータ）を含む構成としてもよい。
【００５９】
また、帳票再作成システム１０には、ネットワーク１を介して、本システムを利用するユーザが操作するユーザ端末４０と、システム管理者が操作する管理者端末５０とが接続されている。
【００６０】
ここで、ネットワーク１は、インターネット等のような外部ネットワーク（特に接続可能な参加者を限定することのない広範なネットワーク）でもよく、例えばイントラネットやＬＡＮ等のような内部ネットワーク（例えば、社内、グループ企業内、工場内、事業所内、学校内、病院内、役所内等で形成された限定的なネットワーク）でもよく、あるいはこれらの組合せ等、様々な形態のものが含まれ、有線であるか無線であるか、さらには有線および無線の混在型であるかは問わず、要するに、複数地点（距離の長短は問わない。）間で、ある程度の速度をもって情報を伝送することができるものであればよい。
【００６１】
また、ユーザ端末４０や管理者端末５０は、コンピュータにより構成され、例えばマウスやキーボード等の入力手段と、例えば液晶ディスプレイ等の表示手段とを備えている。これらのユーザ端末４０や管理者端末５０は、例えばスマートフォンやタブレット端末等の携帯機器であってもよい。
【００６２】
＜再作成指示受付手段２１の構成＞
【００６３】
再作成指示受付手段２１は、ユーザ端末４０からネットワーク１を介して送信されてくるユーザによる帳票の再作成指示情報の入力を受け付ける処理を実行するものである。この際、ユーザ端末４０からの要求に応じ、再作成指示情報の入力画面（例えばＷＥＢ画面）の表示用データをネットワーク１を介してユーザ端末４０へ送信し、ユーザ端末４０からの送信データを受信するようにしてもよく、ユーザ端末４０に搭載された専用のアプリケーションからの送信データを受信するようにしてもよい。
【００６４】
ここで、ユーザは、帳票の再作成を指示する者であり、再作成の要求者、または要求者からの依頼に応じて再作成を代行する代行者である。例えば、帳票が、税務署長宛に作成される特定口座年間取引報告書である場合には、ユーザは、その報告書に提出者として氏名が記載される者（特定口座開設者）、または、特定口座開設者から報告書作成の依頼を受けて作成を代行する証券会社等の金融機関の担当者である。
【００６５】
また、再作成指示情報には、再作成に用いる再作成対象の帳票データの指定情報と、再作成帳票をいずれのバージョンのレイアウトで出力するのかを指定する出力レイアウト指定情報とが含まれる。
【００６６】
前者の「帳票データの指定情報」は、原帳票を作成した際に保存された帳票データを指定するための情報であり、例えば、原帳票の作成主体（原帳票に記載されている作成名義人）の識別情報や、原帳票の作成年月日（原帳票が作成された過去の作成年月日）、あるいは原帳票の帳票データに識別コードが付されている場合には、その識別コード等である。より具体的には、例えば、帳票が、税務署長宛に作成される特定口座年間取引報告書である場合には、帳票データは、図４に示すようなデータフォーマットで保存されているので、特定口座開設者（証券会社等の金融機関の顧客）の識別情報（顧客コードや顧客氏名等）や、原帳票の作成年月日となる。
【００６７】
後者の「出力レイアウト指定情報」は、拡張機能使用時に指定される情報であり、標準機能を使用する場合には、この指定は必要ない。ユーザが標準機能を使用することを選択した場合には、再作成帳票は、直近のレイアウト（その時点で適用されている最新バージョンのレイアウト）で出力される。一方、ユーザが拡張機能を使用することを選択した場合には、再作成帳票は、直近のレイアウトではなく、ユーザにより指定された指定出力レイアウト（過去のレイアウト）で出力される。
【００６８】
この指定出力レイアウトは、原帳票を作成した際のレイアウトでもよく、この場合は、原帳票の帳票データは、既に指定出力レイアウトに対応するデータフォーマットになっている状態であるから、データフォーマットの変換処理は必要ない。また、指定出力レイアウトは、原帳票が作成された時点のレイアウトよりも過去の時点で適用されていたレイアウトとすることもできる。通常はこのような要求が生じるケースは少ないが、例えば、過去に作成された他の帳票との比較を行う場合等に利用するケースがある。なお、拡張機能における指定出力レイアウトとして、直近のレイアウトを指定することができるようにしてもよい。直近のレイアウトで再作成帳票を出力する場合は、標準機能を選択すればよいが、拡張機能を選択した場合であっても、システム処理上は、直近のレイアウトでの出力の指定を受け付けることができるようにしてもよいという趣旨である。
【００６９】
＜帳票データ取得手段２２の構成＞
【００７０】
帳票データ取得手段２２は、再作成指示受付手段２１により受け付けた再作成指示情報を用いて、帳票データ記憶手段３１に記憶された作成済の帳票データの中から、再作成対象の帳票データを取得する処理を実行するものである。
【００７１】
具体的には、例えば、帳票が、税務署長宛に作成される特定口座年間取引報告書である場合には、帳票データ取得手段２２は、図４に示すようなデータフォーマットで保存されている帳票データのうちの顧客コードや顧客氏名（特定口座開設者の識別情報）という項目の値、および作成年月日（原帳票の作成年月日）という項目の値が一致する帳票データを抽出し、取得する。これらの顧客コード、顧客氏名、作成年月日という項目についてのラベル番号（配置位置）やレングス（データ長を示すバイト数）は、すべてのバージョンのデータフォーマットに共通している。なお、仮に、バージョンにより、これらの項目についてのラベル番号（配置位置）が異なっていたとしても、バージョン毎に帳票データの格納場所（例えば、データベースであれば、データを格納するテーブル、ファイルシステムであれば、ファイルの格納フォルダ等）を異なる場所とするデータ保存管理をしていれば、データフォーマット記憶手段３３に記憶された各バージョンのデータフォーマットを参照し、各バージョンにおける上記の各項目についてのラベル番号（配置位置）を把握することで、上記の各項目をキーとする抽出処理を行うことができる。
【００７２】
また、帳票データ取得手段２２は、レイアウト変更日記憶手段３２に記憶されたレイアウトの変更日情報を取得し、取得したレイアウトの変更日情報を、取得した帳票データとともに、データ変換手段２３へ渡す処理も実行する。レイアウトの変更日は、各バージョンのレイアウトの適用開始日であり、この情報により、各バージョンのレイアウトの適用期間が判るようになっている。具体的には、レイアウトの変更日は、例えば、帳票が、税務署長宛に作成される特定口座年間取引報告書である場合には、国税庁からの指示で新しいバージョンのレイアウトを適用する場合のその適用開始日である。
【００７３】
＜データ変換手段２３の構成＞
【００７４】
データ変換手段２３は、帳票データ取得手段２２により取得した再作成対象の帳票データを、出力レイアウトに対応するデータフォーマットに従った帳票データに変換する処理を実行するものである。
【００７５】
ここで、「出力レイアウトに対応するデータフォーマット」とは、標準機能を使用する場合は、直近のレイアウトに対応する直近のデータフォーマットとなり、拡張機能を使用する場合は、ユーザにより指定された指定出力レイアウトに対応するデータフォーマットとなる。
【００７６】
但し、上記のデータ変換手段２３の機能説明は、再作成指示受付手段２１により再作成指示情報の入力を受け付けた際に実行される処理の内容を記載したものであり、システムとしては、以下に示すように、様々な要求に対応可能な構成を備えている。
【００７７】
すなわち、データ変換手段２３は、任意のバージョンのレイアウトに対応するデータフォーマットで作成された帳票データを、１つ後のバージョン（バージョン番号が１つ大きいバージョン）のデータフォーマットに従った帳票データに変換するデータ変換用のサブ処理を繰り返すことにより、バージョンを１つずつ後にずらしながら（バージョン番号を１ずつ上げながら）、出力レイアウト（標準機能使用時には、直近のレイアウトであり、拡張機能使用時には、ユーザにより指定された指定出力レイアウトである。）に対応するデータフォーマットに従った帳票データに変換する処理を実行する。
【００７８】
そして、再作成指示受付手段２１により再作成指示情報の入力を受け付けた際には、データ変換手段２３は、帳票データ取得手段２２により取得した再作成対象の帳票データについて、原帳票のデータフォーマットからサブ処理の繰り返しを開始し、バージョンを１つずつ後にずらしながら、出力レイアウト（標準機能使用時には、直近のレイアウトであり、拡張機能使用時には、ユーザにより指定された指定出力レイアウトである。）に対応するデータフォーマットに至るまでの変換処理を実行する。
【００７９】
＜データ変換手段２３の構成／データ変換処理範囲判定手段２３Ａ：図２＞
【００８０】
図２において、データ変換手段２３は、データ変換処理範囲判定手段２３Ａと、複数のサブ処理手段２３Ｂとを含んで構成されている。
【００８１】
データ変換処理範囲判定手段２３Ａは、いずれのバージョンのデータフォーマットから、いずれのバージョンのデータフォーマットまでの変換処理を行うのか、すなわち複数のサブ処理手段２３Ｂのうちのいずれを使用するのかの判断処理を実行するものである。
【００８２】
具体的には、データ変換処理範囲判定手段２３Ａは、再作成指示受付手段２１により受け付けた再作成指示情報の中に、帳票データの指定情報として、原帳票の作成年月日が含まれているので、その原帳票の作成年月日と、レイアウト変更日記憶手段３２から取得したレイアウトの変更日情報とを比較し、原帳票の帳票データが、いずれのバージョンのデータフォーマットで作成されているのかを判断し、この判断で得られたバージョンを、変換開始バージョンとして決定する処理を実行する。また、帳票データの指定情報として、原帳票を作成したレイアウトのバージョン番号が含まれている場合には、そのバージョンを、変換開始バージョンとして決定する処理を実行する。
【００８３】
また、データ変換処理範囲判定手段２３Ａは、再作成指示受付手段２１により受け付けた再作成指示情報の中に、出力レイアウト指定情報が含まれていない場合（ユーザが標準機能の使用を選択した場合）には、直近のレイアウトで出力することになるので、直近のバージョンを、変換終了バージョンとして決定する処理を実行する。
【００８４】
一方、データ変換処理範囲判定手段２３Ａは、再作成指示受付手段２１により受け付けた再作成指示情報の中に、出力レイアウト指定情報として、指定出力レイアウトのバージョン番号が含まれている場合（ユーザが拡張機能の使用を選択した場合）には、そのバージョンを、変換終了バージョンとして決定する処理を実行する。また、出力レイアウト指定情報として、日付情報が指定されている場合には、その日付情報と、レイアウト変更日記憶手段３２から取得したレイアウトの変更日情報とを比較し、指定出力レイアウトのバージョンを判断し、この判断で得られたバージョンを、変換終了バージョンとして決定する処理を実行する。
【００８５】
そして、データ変換処理範囲判定手段２３Ａは、決定した変換開始バージョンから変換終了バージョンまでのデータフォーマットを、データフォーマット記憶手段３３から取得する。なお、データフォーマット記憶手段３３から全てのデータフォーマットを取得し、複数のサブ処理手段２３Ｂの各々が、自らの処理に必要なデータフォーマットを参照してもよく、あるいは、複数のサブ処理手段２３Ｂの各々が、自らの処理に必要なデータフォーマットを、データフォーマット記憶手段３３から取得してもよい。
【００８６】
＜データ変換手段２３の構成／複数のサブ処理手段２３Ｂ：図２＞
【００８７】
複数のサブ処理手段２３Ｂは、直近のバージョンがバージョンＮ（バージョン番号＝Ｎ）の場合は、（Ｎ−１）個のサブ処理手段２３Ｂ（１），２３Ｂ（２），２３Ｂ（３），２３Ｂ（４），…，２３Ｂ（Ｎ−１）となる。
【００８８】
サブ処理手段２３Ｂ（１）は、バージョン１のデータフォーマットからバージョン２のデータフォーマットへの変換処理を行い、サブ処理手段２３Ｂ（２）は、バージョン２のデータフォーマットからバージョン３のデータフォーマットへの変換処理を行い、以下、記載を簡略化すると、サブ処理手段２３Ｂ（３）は、３→４の変換を行い、サブ処理手段２３Ｂ（４）は、４→５の変換を行い、…、サブ処理手段２３Ｂ（Ｎ−１）は、（Ｎ−１）→Ｎの変換を行うものである。一般化すると、Ｐ＝１〜（Ｎ−１）のとき、サブ処理手段２３Ｂ（Ｐ）は、バージョンＰから（Ｐ＋１）へのデータフォーマットの変換処理を行うものである。そして、バージョン番号＝（Ｎ＋１）の新規バージョンが発生した場合には、Ｎ→（Ｎ＋１）への変換を行うサブ処理手段２３Ｂ（Ｎ）を追加する。
【００８９】
例えば、図２に示すように、原帳票（再作成対象の帳票データ）の作成年月日Ｔ＝Ｔ１の場合には、Ｔ１は、バージョン１のレイアウトの適用期間（バージョン１のレイアウトの適用開始日から、バージョン１→２のレイアウト変更日の前日までの期間）に属するので、変換開始バージョン＝バージョン１となり、サブ処理手段２３Ｂ（１）からの変換処理が開始される。また、作成年月日Ｔ＝Ｔ２の場合には、Ｔ２は、バージョン２のレイアウトの適用期間（バージョン１→２のレイアウト変更日から、バージョン２→３のレイアウト変更日の前日までの期間）に属するので、変換開始バージョン＝バージョン２となり、サブ処理手段２３Ｂ（２）からの変換処理が開始される。同様に、作成年月日Ｔ＝Ｔ３の場合には、Ｔ３は、バージョン３のレイアウトの適用期間に属するので、変換開始バージョン＝バージョン３となり、サブ処理手段２３Ｂ（３）からの変換処理が開始される。一般化すると、原帳票の作成年月日Ｔが、バージョンＱのレイアウトの適用期間に属する場合には、変換開始バージョン＝バージョンＱとなり、サブ処理手段２３Ｂ（Ｑ）からの変換処理が開始される。
【００９０】
また、例えば、図２に示すように、ユーザが標準機能の使用を選択し、出力レイアウト＝直近のレイアウトとなった場合には、直近のデータフォーマット（バージョンＮ）までの変換処理を行うので、変換終了バージョン＝バージョンＮとなり、サブ処理手段２３Ｂ（Ｎ−１）で変換処理を終了する。
【００９１】
一方、図２に示すように、ユーザが拡張機能の使用を選択した場合において、指定出力レイアウトのバージョンＭ＝Ｍ４の場合には、Ｍ４は、バージョン４のレイアウトの適用期間に属するので、変換終了バージョン＝バージョン４となり、サブ処理手段２３Ｂ（３）で変換処理を終了する。同様に、指定出力レイアウトのバージョンＭ＝Ｍ５の場合には、Ｍ５は、バージョン５のレイアウトの適用期間に属するので、変換終了バージョン＝バージョン５となり、サブ処理手段２３Ｂ（４）で変換処理を終了する。一般化すると、指定出力レイアウトのバージョンＭは、バージョンＭのレイアウトの適用期間に属するので、変換終了バージョン＝バージョンＭとなり、サブ処理手段２３Ｂ（Ｍ−１）で変換処理を終了する。
【００９２】
＜データ変換手段２３の構成／サブ処理の具体的内容：図４＞
【００９３】
各サブ処理手段２３Ｂによるサブ処理は、それぞれ１バージョンずつデータフォーマットを変換する処理（バージョン番号を１つずつ増やしていく処理：時間軸上において将来方向に向かう順方向変換処理）であり、変換前のデータフォーマットと、変換後のデータフォーマットとの差異に基づく変換内容が、各サブ処理手段２３Ｂを構成するプログラム部分に記述されている。
【００９４】
図４には、バージョン６から７へのデータフォーマットの変換処理を行うサブ処理手段２３Ｂ（６）と、バージョン７から８へのデータフォーマットの変換処理を行うサブ処理手段２３Ｂ（７）との具体例が示されている。
【００９５】
帳票データは、帳票のレイアウトに対応させて帳票を構成する各項目のデータを連結して形成された、すなわちレイアウトに対応する順序に並べて形成されたデータの集合である。図４に示されたデータフォーマットは、帳票が、税務署長宛に作成される特定口座年間取引報告書である場合の帳票データのデータフォーマットの一例であり、帳票（特定口座年間取引報告書）を構成する各項目の情報が、帳票のレイアウトに従って並べられている。各項目の情報は、各項目に付されたラベル番号と、項目名と、レングス（データ長を示すバイト数）とを含んで構成されている。なお、図４は、具体例ではあるが、説明の便宜上、疑似的に作成した具体例であるから、現実の特定口座年間取引報告書とは異なる部分がある。他の図も同様である。
【００９６】
ラベル番号は、それぞれのバージョンのデータフォーマット内における各項目の識別情報であり、同一のラベル番号であっても、データフォーマットのバージョンが異なれば、異なる項目内容となり得る。このように同一のラベル番号の項目内容が、バージョンによって異なる状態は、レイアウトの変更に伴って生じているので、この状態に対応するために、帳票データのデータフォーマットの変換処理を行うことになる。
【００９７】
図４の例では、サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理において、バージョン６のＬ．０４（ラベル番号＝４）の口座開設日（元号）の２バイトと、Ｌ．０５の口座開設日（和暦）の６バイトとの２項目を併合し、バージョン７のＬ．０４の口座開設日（和暦）の８バイトに配置する。また、サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理において、バージョン７のＬ．０４の口座開設日（和暦）を、西暦に変換し、バージョン８のＬ．０４の口座開設日（西暦）に配置する。
【００９８】
サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理において、バージョン６のＬ．０６の譲渡取引履歴は、内容はそのままの状態で、バージョン７のＬ．０５に移動配置する。また、サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理において、バージョン７のＬ．０５の譲渡取引履歴は、内容はそのままの状態で、移動することもなく、バージョン８のＬ．０５に配置する。
【００９９】
サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理において、バージョン７のＬ．１１の口数は、小数点以下２桁から３桁に変更し、バージョン８のＬ．１２の口数に配置する。
【０１００】
サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理において、バージョン６のＬ．１６の取引業者は、内容はそのままの状態で、バージョン７のＬ．１３に移動配置する。また、サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理において、バージョン７のＬ．１３の取引業者は、図４に示された取引業者変換テーブルに従って項目値変更を行い、バージョン８のＬ．１５の取引業者に移動配置する。この取引業者変換テーブルは、プログラム内部に記述してもよく、取引業者変換テーブル記憶手段（不図示）に記憶しておき、プログラムで読み込むようにしてもよい。なお、図４に示したように、バージョン６，７の取引業者については、項目値に変更はないので、内容はそのままの状態での移動配置となっている。
【０１０１】
また、以上において、サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理では、変換前のバージョン６のラベル番号の項目内容を、変換後のバージョン７のどのラベル番号の項目に配置するのかという流れで説明を行ったが、実際には、変換後のバージョン７のデータフォーマットに従って変換後のバージョン７の帳票データの記憶領域を確保してブランク等で埋めておき、変換後のバージョン７の側から見て、ラベル番号＝１から順番に、バージョン７のＬ．０１には、バージョン６の何番のラベルの項目内容を配置し、バージョン７のＬ．０２には、バージョン６の何番のラベルの項目内容を配置し、バージョン７のＬ．０３には、バージョン６の何番のラベルの項目内容を配置し、…という流れで変換処理を行う。サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理も同様であり、変換後のバージョン８の側から見て、ラベル番号＝１から順番に、バージョン８のＬ．０１には、バージョン７の何番のラベルの項目内容を配置し、…という流れで変換処理を行う。
【０１０２】
＜データ変換手段２３の構成／スキップ処理の具体的内容：図５、図７＞
【０１０３】
また、データ変換手段２３は、各サブ処理手段２３Ｂによるサブ処理を繰り返すことにより、原帳票の帳票データから、再作成帳票の出力レイアウト（標準機能使用時には、直近のレイアウトであり、拡張機能使用時には、ユーザにより指定された指定出力レイアウトである。）に対応するデータフォーマットに従った帳票データに至るまでの範囲のデータ変換処理を実行する際に、当該データ変換処理の範囲に応じ、予め用意されてスキップ情報記憶手段３４（図５参照）に記憶されるか若しくはプログラム内部に記述された「スキップ情報」の中から、各サブ処理手段２３Ｂによるサブ処理のうち省略可能な変換処理を示す「スキップ情報」を取得し、取得したスキップ情報を用いて、該当するサブ処理の全部または一部を省略するスキップ処理を実行するものである。
【０１０４】
ここで、スキップ情報には、帳票データを構成する項目の単位でサブ処理による変換処理を省略可能な情報を示す「項目単位スキップ情報」と、サブ処理の単位でサブ処理による変換処理を省略可能な情報を示す「サブ処理単位スキップ情報」とがある。
【０１０５】
この際、データ変換手段２３は、予め用意された全ての「スキップ情報」の中から、これから変換処理を行おうとしている範囲に応じた「スキップ情報」を取得する。すなわち、変換開始バージョンおよび変換終了バージョンは、再作成の指示を受ける都度に変動するので、変換開始バージョンおよび変換終了バージョンに応じた「スキップ情報」を取得する。各サブ処理で変換をスキップできるか否かは、変換開始バージョンおよび変換終了バージョンに依存するからである。この理由は、図７の具体例を用いて後述するが、前述した［課題を解決するための手段］における＜項目単位やサブ処理単位で、サブ処理内の一部の変換処理やサブ処理自体をスキップする構成＞でも詳しく説明している。
【０１０６】
データ変換手段２３は、「項目単位スキップ情報」を取得した場合には、取得した項目単位スキップ情報を用いて、項目の単位でサブ処理内の該当する変換を省略する「項目単位スキップ処理」を実行する。また、データ変換手段２３は、「サブ処理単位スキップ情報」を取得した場合には、取得したサブ処理単位スキップ情報を用いて、該当するサブ処理を省略する「サブ処理単位スキップ処理」を実行する。
【０１０７】
図５において、スキップ情報記憶手段３４には、項目単位スキップ情報として、データ変換手段２３の各サブ処理手段２３Ｂによる変換処理で作成するバージョンおよび項目（変換終了バージョンおよび項目）と、スキップ可能な項目およびその項目の属するバージョンと、変換開始バージョンの条件とが対応付けられて記憶されている。
【０１０８】
例えば、一番上のレコードは、バージョン８の帳票データを作成する際（すなわち、バージョン８を変換終了バージョンとするデータ変換処理を行う際）に、バージョン８のＬ．０４へのデータ配置について、バージョン７のＬ．０４への変換と、バージョン８のＬ．０４への変換とをスキップ（省略）できるという意味である。また、変換開始バージョンの条件＝バージョン１〜６というのは、変換開始バージョンがバージョン１〜６に該当する場合にスキップすることができ、変換開始バージョンがバージョン７の場合には、スキップすることができないという意味である。このレコードの例は、図７の具体例に対応している。
【０１０９】
また、上から２番目のレコードは、バージョン８の帳票データを作成する際（すなわち、バージョン８を変換終了バージョンとするデータ変換処理を行う際）に、バージョン８に存在しない項目について、バージョン７のＬ．０９への変換をスキップ（省略）できるという意味である。また、変換開始バージョンの条件＝バージョン１〜６というのは、変換開始バージョンがバージョン１〜６に該当する場合にスキップすることができるという意味である。このレコードの例は、図７の具体例に対応している。
【０１１０】
図７の例は、前述した図４の例と同様に、帳票が特定口座年間取引報告書の場合の例であるが、スキップ処理の内容を説明するために、項目内容は、図４の例とは変えている。
【０１１１】
図７の左上部に示した口座開設日元号の表のように、口座開設日（元号）の項目内容は、バージョン６から７へのレイアウト変更で変化しているが、バージョン７から８へのレイアウト変更で元に戻っている。従って、バージョン６とバージョン８とは、口座開設日（元号）の項目内容が同じ状態である。このため、次のようなスキップを行うことができる。
【０１１２】
サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理において、バージョン６のＬ．０４の口座開設日（元号）は、内容はそのままの状態で、バージョン７のＬ．０４に配置する。本来的には、項目値（元号）の変更が必要となるが、この場合は、スキップ可能ということである。また、サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理において、バージョン７のＬ．０４の口座開設日（元号）も、内容はそのままの状態で、バージョン８のＬ．０４に配置する。ここでも、本来的には、項目値（元号）の変更が必要となるが、この場合は、スキップ可能ということである。なお、ここでいうスキップは、項目値変更という処理を省略できるという意味であるので、ブランク等にするということではなく、バージョン６から７への配置処理およびバージョン７から８への配置処理は行われる。そうでないと、バージョン６のデータ内容を、バージョン８に伝達することができないからである。
【０１１３】
また、上記の例では、口座開設日（元号）の項目内容が、バージョン６から７へのレイアウト変更で変化し、バージョン７から８へのレイアウト変更で元に戻るということを前提としてスキップ処理が行われる。従って、バージョン７が変換開始バージョンである場合には、バージョン７から８への項目値変更という処理をスキップすることはできない。このため、スキップ情報として、変換開始バージョンの条件＝バージョン１〜６という条件が付されている。スキップの可否が、変換開始バージョンに依存していることを示している。
【０１１４】
図７の例で、譲渡特別税という項目は、バージョン８でなくなっている。従って、サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理において、バージョン６のＬ．０９の譲渡特別税を、内容はそのままの状態で、バージョン７のＬ．０９の譲渡特別税に配置するという処理はスキップすることができる。この場合は、バージョン８で項目がなくなるので、バージョン７のＬ．０９の譲渡特別税のために確保した記憶領域は、ブランク等のままでよい。本来的には、内容はそのままの状態での配置処理が必要となるが、この場合は、その配置処理はスキップ可能ということである。
【０１１５】
また、上記の例では、譲渡特別税という項目が、バージョン８でなくなることを前提としてスキップ処理が行われる。従って、変換終了バージョンがバージョン７である場合には、バージョン６から７への配置処理（内容はそのままの状態での配置処理）をスキップすることはできない。スキップの可否が、変換終了バージョンに依存していることを示している。
【０１１６】
図５において、スキップ情報記憶手段３４には、サブ処理単位スキップ情報として、データ変換手段２３の各サブ処理手段２３Ｂによる変換処理で作成するバージョン（変換終了バージョン）と、スキップ可能なサブ処理と、変換開始バージョンの条件とが対応付けられて記憶されている。
【０１１７】
図５の例では、バージョン４の帳票データを作成する際（すなわち、バージョン４を変換終了バージョンとするデータ変換処理を行う際）に、サブ処理手段２３Ｂ（２）によるバージョン２から３へのデータフォーマットの変換処理の全部、および、サブ処理手段２３Ｂ（３）によるバージョン３から４へのデータフォーマットの変換処理の全部をスキップすることができることが示されている。また、変換開始バージョンの条件＝バージョン１〜２というのは、変換開始バージョンがバージョン１〜２の場合に、スキップが可能であるという意味である。
【０１１８】
上記の例では、バージョン２とバージョン４とでデータフォーマットが全体的に同じであるため、バージョン２の内容をそのままバージョン４の内容にすることができる。すなわち、バージョン２の帳票データを、バージョン４の帳票データとみなすことができる。従って、この場合、２つのサブ処理２３Ｂ（２），２３Ｂ（３）をスキップすることができる。なお、変換開始バージョンの条件＝バージョン１〜２であるから、変換開始バージョンがバージョン３である場合に、サブ処理手段２３Ｂ（３）によるバージョン３から４への変換処理をスキップすることはできない。
【０１１９】
また、例えば、バージョン４とバージョン９とでデータフォーマットが全体的に同じであれば、バージョン４の帳票データを、バージョン９の帳票データとみなすことができるので、４→５、５→６、６→７、７→８、８→９の変換を行うサブ処理２３Ｂ（４），２３Ｂ（５），２３Ｂ（６），２３Ｂ（７），２３Ｂ（８）をスキップすることができる。この場合は、変換開始バージョンの条件＝１〜４であるので、変換開始バージョンがバージョン５〜８である場合には、サブ処理２３Ｂ（５），２３Ｂ（６），２３Ｂ（７），２３Ｂ（８）をスキップすることはできない。
【０１２０】
＜データ変換手段２３の構成／復活項目退避処理の具体的内容：図６、図８＞
【０１２１】
また、データ変換手段２３は、過去のレイアウトにあった項目が、それに続く１つまたは複数の中間のレイアウトでなくなり、さらにその後のレイアウトで復活する場合の復活項目について、予め用意されて復活項目退避情報記憶手段３５（図６参照）に記憶されるか若しくはプログラム内部に記述された復活項目退避情報を取得し、取得した復活項目退避情報に従って、過去のレイアウトに対応するデータフォーマットから中間のレイアウトに対応する中間のデータフォーマット（複数の中間のレイアウトおよびそれらに対応する複数の中間のデータフォーマットがある場合には、最初に変換する中間のデータフォーマット、すなわち最もバージョン番号が小さい中間のデータフォーマット）へのデータ変換用のサブ処理として、復活項目のデータを、中間のデータフォーマットに変換後の帳票データのワークエリアに退避させる処理を実行するとともに、復活項目退避情報に従って、中間のデータフォーマット（複数の中間のデータフォーマットがある場合には、最後に変換する中間のデータフォーマット、すなわち最もバージョン番号が大きい中間のデータフォーマット）から復活後のデータフォーマットへのデータ変換用のサブ処理として、ワークエリアに退避させた復活項目のデータを、復活後のデータフォーマットに従った帳票データ内に配置する処理を実行する。
【０１２２】
ここで、復活項目退避情報とは、復活項目の復活後のレイアウトに対応する復活後のデータフォーマット内での復活項目のラベル番号と、過去のレイアウトに対応するデータフォーマット内での復活項目のラベル番号とを関連付ける情報である。
【０１２３】
図６において、復活項目退避情報記憶手段３５には、データ変換手段２３の各サブ処理手段２３Ｂによる変換処理で作成するバージョンおよび項目（変換終了バージョンおよび項目）と、過去のデータフォーマットのバージョンおよび項目とが対応付けられて記憶されている。
【０１２４】
例えば、一番上のレコードは、バージョン８の帳票データを作成する際（すなわち、バージョン８を変換終了バージョンとするデータ変換処理を行う際）に、バージョン８のＬ．０９に配置するデータは、バージョン６のＬ．１０の項目内容であることを示し、２番目のレコードは、バージョン８のＬ．１４に配置するデータは、バージョン６のＬ．１５の項目内容であることを示している。これらのレコードの例は、図８の具体例に対応している。
【０１２５】
図８において、譲渡特別税、購入特別税という項目は、バージョン６のレイアウト（過去のレイアウト）にあったが、バージョン７のレイアウト（中間のレイアウト）でなくなり、さらにその後、バージョン８のレイアウトで復活するので、これらの項目は、復活項目に該当する。
【０１２６】
バージョン８の帳票データを作成する際（すなわち、バージョン８を変換終了バージョンとするデータ変換処理を行う際）に、サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理において、バージョン６のＬ．１０の譲渡特別税は、バージョン７にはないが、復活項目退避情報の中に、バージョン８の帳票データを作成する際における復活項目として設定されているので、その復活項目退避情報に従って、バージョン７のデータフォーマットに変換後の帳票データの記憶領域の後方に設けられたワークエリア１（ラベル番号＝Ｌ．９９−１）に退避配置させる復活項目退避処理を実行する。この際、ワークエリアＬ．９９−１には、バージョン６のＬ．１０の譲渡特別税の項目値（データ）とともに、バージョン６のＬ．１０という復活項目識別用の付加情報も配置する。
【０１２７】
同様に、サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理において、バージョン６のＬ．１５の購入特別税は、バージョン７にはないが、復活項目退避情報の中に、バージョン８の帳票データを作成する際における復活項目として設定されているので、その復活項目退避情報に従って、バージョン７のデータフォーマットに変換後の帳票データの記憶領域の後方に設けられたワークエリア２（ラベル番号＝Ｌ．９９−２）に退避配置させる復活項目退避処理を実行する。この際、ワークエリアＬ．９９−２には、バージョン６のＬ．１５の購入特別税の項目値（データ）とともに、バージョン６のＬ．１５という復活項目識別用の付加情報も配置する。
【０１２８】
その後、サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理において、バージョン８のＬ．０９の譲渡特別税へのデータ配置を行う際に、復活項目退避情報の中に、バージョン８のＬ．０９には、バージョン６のＬ．１０を復活配置させるという情報が含まれているので、その復活項目退避情報に従って、バージョン７のデータフォーマットに変換後の帳票データの記憶領域の後方に設けられたワークエリアから、付加情報がバージョン６のＬ．１０となっている復活項目のデータ（この例では、ワークエリアＬ．９９−１のデータ）を抽出し、抽出した復活項目のデータを、バージョン８のＬ．０９の譲渡特別税に復活配置する。
【０１２９】
同様に、サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理において、バージョン８のＬ．１４の購入特別税へのデータ配置を行う際に、復活項目退避情報の中に、バージョン８のＬ．１４には、バージョン６のＬ．１５を配置するという情報が含まれているので、その復活項目退避情報に従って、バージョン７のデータフォーマットに変換後の帳票データの記憶領域の後方に設けられたワークエリアから、付加情報がバージョン６のＬ．１５となっている復活項目のデータ（この例では、ワークエリアＬ．９９−２のデータ）を抽出し、抽出した復活項目のデータを、バージョン８のＬ．１４の購入特別税に復活配置する。
【０１３０】
なお、上記の例は、バージョン８の帳票データを作成する際（すなわち、バージョン８を変換終了バージョンとするデータ変換処理を行う際）についての例であるが、バージョン７を変換終了バージョンとするデータ変換処理を行う際は、そもそもバージョン７には、譲渡特別税、購入特別税という項目はないので、上記のような復活項目退避処理を行う必要はなく、従って、復活項目退避情報の中には、バージョン７の帳票データを作成する際に使用する復活項目退避情報は含まれていない。上記の例の復活項目退避情報は、あくまでもバージョン８の帳票データを作成する際に使用する復活項目退避情報として設定されているものである。
【０１３１】
一方、仮に、バージョン９があったとし、かつ、バージョン８で復活した復活項目が、バージョン９にもあるとすれば、バージョン９の帳票データを作成する際（すなわち、バージョン９を変換終了バージョンとするデータ変換処理を行う際）にも、復活項目退避処理が必要となる。この場合は、バージョン８のデータフォーマットに変換後の帳票データの中に、復活項目が復活配置されるので、それを継承することで、バージョン９でも復活項目のデータが活かされることになる。この場合の復活項目退避情報は、バージョン９の帳票データを作成する際（すなわち、バージョン９を変換終了バージョンとするデータ変換処理を行う際）には、バージョン８の帳票データを作成する際における復活項目退避情報を継承する旨の情報としておくことができる。
【０１３２】
また、複数の中間のレイアウトがある場合、例えば、ある項目が、バージョン６のレイアウト（過去のレイアウト）にあったが、バージョン７〜９のレイアウト（３つの中間のレイアウト）でなくなり、さらにその後、バージョン１０のレイアウトで復活するような場合の復活項目についても、同様な復活項目退避処理が行われる。この場合は、サブ処理手段２３Ｂ（６）によるバージョン６から７への変換処理で、復活項目退避情報に従って、バージョン７に変換後の帳票データの記憶領域の後方のワークエリアに、復活項目のデータおよびその付加情報を退避配置し、サブ処理手段２３Ｂ（７）によるバージョン７から８への変換処理では、バージョン７に変換後の帳票データの記憶領域の後方のワークエリアに退避させたデータおよび付加情報を、バージョン８に変換後の帳票データの記憶領域の後方のワークエリアにコピーし、さらに、サブ処理手段２３Ｂ（８）によるバージョン８から９への変換処理でも、バージョン８に変換後の帳票データの記憶領域の後方のワークエリアに退避させているデータおよび付加情報を、バージョン９に変換後の帳票データの記憶領域の後方のワークエリアにコピーし、そして、サブ処理手段２３Ｂ（９）によるバージョン９から１０への変換処理で、復活項目退避情報に従って、バージョン９に変換後の帳票データの記憶領域の後方のワークエリアから復活項目のデータを抽出（付加情報を利用して抽出）し、抽出した復活項目のデータを、バージョン１０に変換後の帳票データに復活配置する。
【０１３３】
さらに、上記の例では、ワークエリアに、復活項目のデータに加え、付加情報も退避配置させていたが、必ずしも付加情報をワークエリアに記憶させる必要はなく、例えば、復活項目退避情報の中に、復活項目のデータを退避させるワークエリアの識別情報（Ｌ．９９−１、Ｌ．９９−２等のラベル番号）を関連付けて含ませておけば、ワークエリアに退避させた復活項目のデータを、復活後のデータフォーマットに従った帳票データ内の所定の位置に配置することができる。図８の例では、復活項目退避情報の中に、バージョン８のＬ．０９には、バージョン６のＬ．１０を復活配置させるという情報が含まれていたが、これに加え、バージョン８のＬ．０９には、ワークエリアＬ．９９−１を復活配置させるという情報も関連付けておけば、その復活項目退避情報に従って、バージョン７のデータフォーマットに変換後の帳票データの記憶領域の後方に設けられたワークエリアＬ．９９−１から、バージョン６のＬ．１０のデータを取得し、バージョン８のＬ．０９の譲渡特別税に復活配置させることができる。
【０１３４】
また、ワークエリアに、付加情報を退避配置させなくてもよい処理方法としては、その他に、復活項目退避情報の中のレコードの順番と、ワークエリア１，２，３，…（Ｌ．９９−１，Ｌ．９９−２，Ｌ．９９−３,…）の順番とを対応付けておき、その順番に従って、復活項目のデータについてのワークエリアへの退避処理、およびワークエリアからの復活項目のデータの取得処理を実行する方法がある。
【０１３５】
＜帳票出力手段２４の構成＞
【０１３６】
帳票出力手段２４は、データ変換手段２３による変換処理で得られたデータフォーマット（標準機能使用時には、直近のレイアウトに対応する直近のデータフォーマットであり、拡張機能使用時には、ユーザにより指定された指定出力レイアウトに対応するデータフォーマットである。）に従った帳票データを用いて、直近のレイアウトまたは指定出力レイアウトで帳票を再作成する帳票マッピング処理を実行するものである。
【０１３７】
この際、帳票出力手段２４は、拡張機能使用時には、ユーザにより指定された指定出力レイアウトで帳票再作成を行うが、様々なユーザの要求に応えることができるように、以下に示すような構成を備えている。
【０１３８】
すなわち、帳票出力手段２４は、直近のレイアウトに対応する帳票マッピング処理用のマッピング情報を、予め用意されて差分情報記憶手段３６に記憶されるか若しくはプログラム内部に記述された前後のバージョンのマッピング情報の差分情報を用いて、１つ前のバージョンのレイアウトに対応するマッピング情報に変換するマッピング変換用の拡張サブ処理を繰り返すことにより、バージョンを１つずつ前にずらしながら、任意のレイアウトに対応するマッピング情報に変換し、変換後のマッピング情報を用いて帳票を再作成する処理を実行する。
【０１３９】
そして、帳票出力手段２４は、再作成指示受付手段２１により再作成指示情報の入力を受け付けた際には、直近のレイアウトに対応するマッピング情報から拡張サブ処理の繰り返しを開始し、バージョンを１つずつ前にずらしながら、ユーザにより指定された指定出力レイアウトに対応するマッピング情報に至るまでの変換処理を実行し、変換後のマッピング情報を用いて帳票を再作成する処理を実行する。
【０１４０】
＜帳票出力手段２４の構成／帳票マッピング手段２４Ａ、複数の拡張サブ処理手段２４Ｂ：図２＞
【０１４１】
図２において、帳票出力手段２４は、帳票マッピング手段２４Ａと、複数の拡張サブ処理手段２４Ｂとを含んで構成されている。
【０１４２】
帳票マッピング手段２４Ａは、標準機能使用時には、直近のレイアウトに対応するマッピング情報を用いて、直近のレイアウトで帳票を再作成する処理を実行する。直近のレイアウトに対応するマッピング情報は、その直近のレイアウトが発生した際に、そのレイアウトに対応させて予め用意したものである。
【０１４３】
一方、帳票マッピング手段２４Ａは、拡張機能使用時には、ユーザにより指定された指定出力レイアウトに対応するマッピング情報を用いて、指定出力レイアウトで帳票を再作成する処理を実行する。この際、指定出力レイアウトに対応するマッピング情報は、予め用意されているものではなく、直近のレイアウトに対応するマッピング情報（これは予め用意されている。）から、各拡張サブ処理手段２４Ｂによるマッピング情報の変換処理を行うことにより作成される。
【０１４４】
複数の拡張サブ処理手段２４Ｂは、直近のバージョンがバージョンＮ（バージョン番号＝Ｎ）の場合は、（Ｎ−１）個の拡張サブ処理手段２４Ｂ（１），２４Ｂ（２），２４Ｂ（３），２４Ｂ（４），…，２４Ｂ（Ｎ−１）となる。
【０１４５】
拡張サブ処理手段２４Ｂ（Ｎ−１）は、バージョンＮのマッピング情報からバージョン（Ｎ−１）のマッピング情報への変換処理を行い、拡張サブ処理手段２４Ｂ（Ｎ−２）は、バージョン（Ｎ−１）のマッピング情報からバージョン（Ｎ−２）のマッピング情報への変換処理を行い、…、拡張サブ処理手段２４Ｂ（４）は、バージョン５のマッピング情報からバージョン４のマッピング情報への変換処理を行い、以下、記載を簡略化すると、拡張サブ処理手段２４Ｂ（３）は、４→３の変換を行い、拡張サブ処理手段２４Ｂ（２）は、３→２の変換を行い、拡張サブ処理手段２４Ｂ（１）は、２→１の変換を行うものである。一般化すると、Ｒ＝１〜（Ｎ−１）のとき、サブ処理手段２４Ｂ（Ｒ）は、バージョン（Ｒ＋１）からＲへのマッピング情報の変換処理を行うものである。そして、バージョン番号＝（Ｎ＋１）の新規バージョンが発生した場合には、（Ｎ＋１）→Ｎへの変換を行うサブ処理手段２４Ｂ（Ｎ）を追加する。
【０１４６】
図２に示すように、ユーザが拡張機能の使用を選択した場合において、指定出力レイアウトのバージョンＭ＝Ｍ４の場合には、Ｍ４は、バージョン４のレイアウトの適用期間に属するので、変換終了バージョン＝バージョン４となる。従って、前述したように、データ変換手段２３においては、サブ処理手段２３Ｂ（３）で変換処理を終了する。これに対し、帳票出力手段２４においては、直近のレイアウトのバージョンから拡張サブ処理手段２４Ｂによる逆方向変換処理を開始し（すなわち、拡張サブ処理手段２４Ｂ（Ｎ−１）から変換を開始し）、拡張サブ処理手段２４Ｂ（４）で変換処理を終了する。
【０１４７】
同様に、指定出力レイアウトのバージョンＭ＝Ｍ５の場合には、Ｍ５は、バージョン５のレイアウトの適用期間に属するので、変換終了バージョン＝バージョン５となる。従って、前述したように、データ変換手段２３においては、サブ処理手段２３Ｂ（４）で変換処理を終了する。これに対し、帳票出力手段２４においては、拡張サブ処理手段２４Ｂ（５）で変換処理を終了する。
【０１４８】
一般化すると、指定出力レイアウトのバージョンＭは、バージョンＭのレイアウトの適用期間に属するので、変換終了バージョン＝バージョンＭとなる。従って、データ変換手段２３においては、前述したように、サブ処理手段２３Ｂ（Ｍ−１）で変換処理を終了する。これに対し、帳票出力手段２４においては、拡張サブ処理手段２４Ｂ（Ｍ）で変換処理を終了する。
【０１４９】
＜帳票出力手段２４の構成／拡張サブ処理の具体的内容：図１０＞
【０１５０】
各拡張サブ処理手段２４Ｂによるサブ処理は、それぞれ１バージョンずつマッピング情報を変換する処理（バージョン番号を１つずつ減らしていく処理：時間軸上において過去方向に向かう逆方向変換処理）であり、差分情報記憶手段３６から、変換前のマッピング情報と、変換後のマッピング情報との差分情報を取得し、取得した差分情報を用いて、変換後のマッピング情報を算出する処理を実行する。
【０１５１】
図１０に示すように、差分情報記憶手段３６に記憶する差分情報には、レイアウトの構成要素（文字、線、画像等）の出力位置や出力サイズ、および、データ（帳票データを構成する各項目のデータ）の出力位置や出力サイズについての差分情報が含まれる。図１０の例では、レイアウトの構成要素である文字として、タイトル「（配当等の額及び源泉徴収税額等）」の開始位置（Ｘ，Ｙ）やサイズについての差分情報、「種類」の開始位置（Ｘ，Ｙ）やサイズについての差分情報、「（４）公社債」の開始位置（Ｘ，Ｙ）やサイズについての差分情報が示されている。また、「特定上場株式等の配当等」のように、改訂前（レイアウト変更前）のバージョン（拡張サブ処理は、逆方向変換処理であるから、変換後のバージョンに相当する。）にない文字については、出力の必要がないので、管理なしとされている。さらに、データ（帳票データを構成する各項目のデータ）の出力位置や出力サイズについての差分情報も、これらの文字の場合と同様である。また、レイアウトの構成要素が線である場合には、開始位置（Ｘ，Ｙ）および終端位置（Ｘ，Ｙ）についての差分情報となる。
【０１５２】
差分情報記憶手段３６に記憶する差分情報は、変換前のバージョンに対する変換後のバージョンの差分情報でもよく、その逆の差分情報でもよく、変換前のバージョンのマッピング情報から変換後のマッピング情報を算出する際に、差分情報を加算するか、減算するかの相違に過ぎない。例えば、上述した「（４）公社債」の開始位置は、レイアウトの改訂前（マッピング情報の変換後）には、出力面（表示面、印刷面）の上方に移動しているので、マッピング用の座標の左上が（０，０）であるとすれば、Ｙ方向の数値を減らさなければならないことから、差分情報が「Ｙ：＋５０」である場合には、差分情報の数値を減算することになり、一方、差分情報が「Ｙ：−５０」である場合には、差分情報の数値を加算することになる。
【０１５３】
＜情報作成支援手段２５の構成＞
【０１５４】
情報作成支援手段２５は、管理者端末５０からのシステム管理者による要求に応じ、スキップ情報の作成を支援するスキップ情報作成支援処理、および復活項目退避情報の作成を支援する復活項目退避情報作成支援処理を実行するものである。レイアウト変更が発生する都度に、新規のデータフォーマットが用意されるので、それに対応し、スキップ情報や復活項目退避情報を追加する必要があるため、その際の追加情報の作成等に用いられる。
【０１５５】
より詳細には、情報作成支援手段２５は、スキップ情報作成支援処理として、データフォーマット記憶手段３３から取得した新規のデータフォーマット（通常は、適用開始前のデータフォーマット）を構成する各項目と、過去の全てのデータフォーマット（直近のデータフォーマットを含む。）を構成する各項目とを比較し、過去のいずれかのデータフォーマットには存在するが、新規のデータフォーマット（適用予定）には存在しない項目を自動抽出し、抽出した項目のラベル番号および当該項目を含む過去のデータフォーマットのバージョン番号を、項目単位スキップ情報への追加情報として出力する処理を実行する。この出力処理には、抽出した情報を、ネットワーク１を介して管理者端末５０へ送信する処理と、システム管理者による確認を経て管理者端末５０からネットワーク１を介して送信されてくる項目単位スキップ情報への追加情報を受信し、スキップ情報記憶手段３４に追加保存する処理とが含まれる。なお、システム管理者による確認を経ずに、項目単位スキップ情報への追加情報を、直接にスキップ情報記憶手段３４に追加保存する処理を行ってもよい。
【０１５６】
図９の例で、バージョン８のデータフォーマットが、新規のデータフォーマット（適用予定）であり、バージョン６，７のデータフォーマットが、過去のデータフォーマットであるとすると、バージョン８には、購入特別税や取得年という項目はない。これに対し、バージョン６，７には、購入特別税や取得年という項目がある。従って、サブ処理手段２３Ｂ（６）によるバージョン６から７へのデータフォーマットの変換処理において、バージョン６のＬ．１７の購入特別税を、バージョン７のＬ．１７の購入特別税に配置する処理、および、バージョン６のＬ．１９の取得年を、バージョン７のＬ．１９の取得年に配置する処理は、スキップすることができる。また、図９に図示はされていないが、サブ処理手段２３Ｂ（５）によるバージョン５から６へのデータフォーマットの変換処理において、バージョン５の購入特別税を、バージョン６のＬ．１７の購入特別税に配置する処理、および、バージョン５の取得年を、バージョン６のＬ．１９の取得年に配置する処理も、スキップすることができる。このため、これらのスキップ処理が実行されるようにするために、抽出した情報により、スキップ情報の追加が行われる。
【０１５７】
また、情報作成支援手段２５は、復活項目退避情報作成支援処理として、データフォーマット記憶手段３３から取得した新規のデータフォーマット（適用予定）を構成する各項目と、過去の全てのデータフォーマット（直近のデータフォーマットを含む。）を構成する各項目とを比較し、復活項目を自動抽出し、抽出した項目のラベル番号および当該項目を含む過去のデータフォーマットのバージョン番号を、復活項目退避情報への追加情報として出力する処理を実行する。この出力処理には、抽出した情報を、ネットワーク１を介して管理者端末５０へ送信する処理と、システム管理者による確認を経て管理者端末５０からネットワーク１を介して送信されてくる復活項目退避情報への追加情報を受信し、復活項目退避情報記憶手段３５に追加保存する処理とが含まれる。なお、システム管理者による確認を経ずに、復活項目退避情報への追加情報を、直接に復活項目退避情報記憶手段３５に追加保存する処理を行ってもよい。
【０１５８】
図９の例では、譲渡特別税という項目は、バージョン６，８にはあるが、それらの中間のバージョン７にはないので、復活項目として抽出される。従って、サブ処理手段２３Ｂ（６）によるバージョン６から７へのデータフォーマットの変換処理において、バージョン６のＬ．１０の譲渡特別税のデータが、ワークエリアに退避配置され、サブ処理手段２３Ｂ（７）によるバージョン７から８へのデータフォーマットの変換処理において、ワークエリアに退避されているバージョン６のＬ．１０の譲渡特別税のデータが、バージョン８のＬ．０９に復活配置されるようにするために、抽出した情報により、復活項目退避情報への追加が行われる。
【０１５９】
＜各記憶手段３１〜３６の構成＞
【０１６０】
帳票データ記憶手段３１は、原帳票のレイアウトに対応するデータフォーマットで作成された作成済の帳票データを記憶するものである。帳票データは、帳票のレイアウトに対応させて帳票を構成する各項目のデータを連結して形成されたものであり、原帳票の作成時に適用されていたレイアウトに対応するデータフォーマット（図４、図７、図８、図９参照）に従って保存されている。
【０１６１】
レイアウト変更日記憶手段３２は、全てのレイアウト変更日の情報、すなわち各バージョンのレイアウトの適用開始日の情報を記憶するものである。
【０１６２】
データフォーマット記憶手段３３は、全てのレイアウトに対応するデータフォーマット（図４、図７、図８、図９参照）を記憶するものである。レイアウト変更が発生する都度に、新規レイアウトに対応するデータフォーマットを追加記憶する。また、情報作成支援手段２５による処理を行うために、レイアウト変更が予定されている場合には、その予定されている新規バージョンのレイアウトに対応する新規のデータフォーマットも記憶する。
【０１６３】
スキップ情報記憶手段３４は、図５に示すように、スキップ情報として、項目単位スキップ情報と、サブ処理単位スキップ情報とを記憶するものである。レイアウト変更が発生し、新規レイアウトに対応するデータフォーマットが用意される都度に、このスキップ情報は、追加更新される。スキップ情報の内容については、前述した＜データ変換手段２３の構成／スキップ処理の具体的内容：図５、図７＞の説明で詳述しているため、ここでは詳しい説明を省略する。
【０１６４】
復活項目退避情報記憶手段３５は、図６に示すように、復活項目退避情報を記憶するものである。レイアウト変更が発生し、新規レイアウトに対応するデータフォーマットが用意される都度に、この復活項目退避情報は、追加更新される。復活項目退避情報の内容については、前述した＜データ変換手段２３の構成／復活項目退避処理の具体的内容：図６、図８＞の説明で詳述しているため、ここでは詳しい説明を省略する。
【０１６５】
差分情報記憶手段３６は、図１０に示すように、変換前のマッピング情報と、変換後のマッピング情報との差分情報を記憶するものである。レイアウト変更が発生する都度に、この差分情報は、追加更新される。差分情報の内容については、前述した＜帳票出力手段２４の構成／拡張サブ処理の具体的内容：図１０＞の説明で詳述しているため、ここでは詳しい説明を省略する。
【０１６６】
＜帳票再作成システム１０による帳票の再作成処理の全体的な流れ＞
【０１６７】
このような本実施形態においては、以下のようにして帳票再作成システム１０により、原帳票の帳票データを用いた帳票の再作成処理が行われる。
【０１６８】
図３において、過去に自己の名義で若しくは自己の関与の下で帳票を作成した者（例えば、金融機関の顧客等）またはその代行者（例えば、金融機関の担当者等）であるユーザは、ユーザ端末４０を操作し、帳票を再作成するための再作成指示情報を、ネットワーク１を介して帳票再作成システム１０へ送信する。この際、再作成指示情報には、再作成対象の帳票データの指定情報（例えば、顧客コードや顧客氏名、および原帳票の作成年月日）が含まれるとともに、ユーザが拡張機能を使用することを選択した場合には、出力レイアウト指定情報も含まれる。帳票再作成システム１０では、再作成指示受付手段２１により、ユーザ端末４０からの再作成指示情報を受け付ける（ステップＳ１）。
【０１６９】
ここでは、ユーザにより指定された再作成対象の帳票データは、バージョン３のデータフォーマットで作成されているものとする。従って、変換開始バージョンは、バージョン３である。また、ユーザが拡張機能の使用を選択していた場合には、指定出力レイアウトは、バージョン６のレイアウトであるものとする。従って、変換終了バージョンは、標準機能使用時であれば、直近のレイアウトのバージョンＮであり、拡張機能使用時であれば、バージョン６である。
【０１７０】
続いて、帳票データ取得手段２２により、再作成指示受付手段２１により受け付けた再作成指示情報を用いて、帳票データ記憶手段３１に記憶された作成済の帳票データの中から、再作成対象の帳票データを取得する（ステップＳ２）。
【０１７１】
また、帳票データ取得手段２２により、レイアウト変更日記憶手段３２に記憶されたレイアウト変更日情報を取得し、取得したレイアウト変更日情報を、取得した帳票データとともに、データ変換手段２３へ渡す（ステップＳ２）。
【０１７２】
それから、データ変換手段２３により、帳票データ取得手段２２により取得した再作成対象の帳票データを、出力レイアウトに対応するデータフォーマットに従った帳票データに変換する処理を実行するにあたり、データ変換処理範囲判定手段２３Ａにより、再作成指示情報およびレイアウト変更日情報から、データ変換処理の範囲（変換開始バージョンおよび変換終了バージョン）を判断して決定し、データフォーマット記憶手段３３から、その範囲のデータフォーマットを取得する（ステップＳ３）。なお、全てのデータフォーマットを取得し、各サブ処理手段２３Ｂによる処理で、必要なデータフォーマットを参照するようにしてもよい。
【０１７３】
続いて、ユーザが標準機能の使用を選択していた場合には、変換終了バージョンは、直近のレイアウトのバージョンＮである。そして、変換開始バージョンは、バージョン３であり、バージョン３のデータフォーマットに従った帳票データがある状態であるから、サブ処理手段２３Ｂ（３）により、バージョン３から４のデータフォーマットの変換処理を行い、その後、サブ処理手段２３Ｂ（４）により、バージョン４から５のデータフォーマットの変換処理を行い、さらに、サブ処理手段２３Ｂ（５）により、バージョン５から６のデータフォーマットの変換処理を行い、…、最後に、サブ処理手段２３Ｂ（Ｎ−１）により、バージョン（Ｎ−１）からＮのデータフォーマットの変換処理を行い、直近のバージョンＮのデータフォーマットに従った帳票データを得る（ステップＳ４）。
【０１７４】
この際、各サブ処理手段２３Ｂによる変換処理（各サブ処理）では、スキップ情報記憶手段３４や復活項目退避情報記憶手段３５に記憶された情報を用いて、必要なスキップ処理や復活項目退避処理を行う。
【０１７５】
それから、帳票出力手段２４により、データ変換手段２３による変換処理で得られた直近のバージョンＮのデータフォーマットに従った帳票データを用いて、直近のレイアウトで帳票を再作成する帳票マッピング処理を実行する（ステップＳ５）。この際、帳票マッピング処理に用いるマッピング情報は、標準機能使用時には、直近のバージョンＮのレイアウト用のマッピング情報となり、これは、予め用意されているので（プログラム内に記述されるか、または、マッピング情報記憶手段（不図示）に記憶されているので）、拡張サブ処理手段２４Ｂによる拡張サブ処理を行うことなく、帳票マッピング手段２４Ａにより、帳票マッピング処理を実行することができる。
【０１７６】
一方、ユーザが拡張機能の使用を選択していた場合には、変換終了バージョンは、ここでは、一例としてバージョン６としている。そして、変換開始バージョンは、バージョン３であり、バージョン３のデータフォーマットに従った帳票データがある状態であるから、サブ処理手段２３Ｂ（３）により、バージョン３から４のデータフォーマットの変換処理を行い、その後、サブ処理手段２３Ｂ（４）により、バージョン４から５のデータフォーマットの変換処理を行い、さらに、サブ処理手段２３Ｂ（５）により、バージョン５から６のデータフォーマットの変換処理を行い、バージョン６のデータフォーマットに従った帳票データを得る（ステップＳ６）。
【０１７７】
この際、各サブ処理手段２３Ｂによる変換処理（各サブ処理）では、スキップ情報記憶手段３４や復活項目退避情報記憶手段３５に記憶された情報を用いて、必要なスキップ処理や復活項目退避処理を行う。
【０１７８】
また、上述した各サブ処理手段２３Ｂによる変換処理の後に、または、各サブ処理手段２３Ｂによる変換処理と並行して、各拡張サブ処理手段２４Ｂによる拡張サブ処理を行う。前述したように、直近のバージョンＮのレイアウト用のマッピング情報は、予め用意されているので、拡張サブ処理手段２４Ｂ（Ｎ−１）により、バージョンＮから（Ｎ−１）のマッピング情報の変換処理を行い、その後、拡張サブ処理手段２４Ｂ（Ｎ−２）により、バージョン（Ｎ−１）から（Ｎ−２）のマッピング情報の変換処理を行い、…、さらに、拡張サブ処理手段２４Ｂ（７）により、バージョン８から７のマッピング情報の変換処理を行い、最後に、拡張サブ処理手段２４Ｂ（６）により、バージョン７から６のマッピング情報の変換処理を行い、バージョン６のレイアウト用のマッピング情報を得る（ステップＳ７）。
【０１７９】
この際、各拡張サブ処理手段２４Ｂによる変換処理（各拡張サブ処理）では、差分情報記憶手段３６に記憶された差分情報を用いて、マッピング情報の変換処理を行う。
【０１８０】
それから、帳票マッピング手段２４Ａにより、データ変換手段２３による変換処理で得られたバージョン６のデータフォーマットに従った帳票データと、各拡張サブ処理手段２４Ｂによる変換処理で得られたバージョン６のレイアウト用のマッピング情報とを用いて、バージョン６のレイアウトで帳票を再作成する帳票マッピング処理を実行する（ステップＳ８）。
【０１８１】
その後、帳票出力手段２４により、再作成した帳票をファイル化し、作成した帳票ファイルを、ネットワーク１を介してユーザ端末４０へ送信したり、あるいは、再作成した帳票を印刷し、ユーザへ郵送する等の出力を行う（ステップＳ９）。
【０１８２】
＜本実施形態の効果＞
【０１８３】
このような本実施形態によれば、次のような効果がある。すなわち、帳票再作成システム１０は、データ変換手段２３により帳票データのデータフォーマットの変換を行う際に、１つ後のバージョン（バージョン番号が１つ大きいバージョン）のデータフォーマットへの変換を行うサブ処理手段２３Ｂを設け（図２参照）、このサブ処理手段２３Ｂによるサブ処理を繰り返すことにより、バージョンを１つずつ後にずらしながら（バージョン番号を１つずつ大きくしながら）、出力レイアウト（標準機能使用時には、直近のレイアウト）のデータフォーマットに従った帳票データに変換するので、従来の場合のように、多くの変換プログラムを用意する場合に比べ、システム管理の容易化を図ることができるとともに、帳票の再作成時に発生するおそれのあった作成ミスを回避することができる。
【０１８４】
つまり、帳票のレイアウト変更が生じた場合には、帳票再作成システム１０では、そのレイアウト変更前の時点における直近のレイアウト（バージョン番号＝Ｎ）に対応するデータフォーマットから新規レイアウト（バージョン番号＝Ｎ＋１）に対応するデータフォーマットへの変換を行う１つのサブ処理手段２３Ｂ（Ｎ）を、プログラム内に追加設置すればよいので（図２参照）、従来のように、レイアウト変更の発生に伴って多数の変換プログラムを用意する必要はなくなる。より詳細に述べると、従来は、新規レイアウト（バージョン番号＝Ｎ＋１）が発生した場合、１→（Ｎ＋１）、２→（Ｎ＋１）、３→（Ｎ＋１）、４→（Ｎ＋１）、…、（Ｎ−１）→（Ｎ＋１）、Ｎ→（Ｎ＋１）の変換プログラムを新たに用意する必要があったが、帳票再作成システム１０では、データ変換手段２３を構成するプログラム部分に、バージョンＮからバージョン（Ｎ＋１）への変換を行うサブ処理手段２３Ｂ（Ｎ）を追加設置するだけでよい。従って、従来に比べ、システム管理者の作業負担を軽減できるうえ、プログラムの管理の容易化を図ることができる。
【０１８５】
換言すれば、再作成対象の帳票データが、いずれのデータフォーマットで保存されているものなのかは、再作成指示を受けて初めて定まるものであり、不確定な内容であるから、システムとしてユーザの多様な要求に応えるためには、従来は、１→（Ｎ＋１）、２→（Ｎ＋１）、３→（Ｎ＋１）、４→（Ｎ＋１）、…、（Ｎ−１）→（Ｎ＋１）、Ｎ→（Ｎ＋１）といった多数の変換プログラムを用意しなければならなかったが、帳票再作成システム１０では、そのようなことをしなくても、ユーザの多様な要求に応えることができる。このことは、データ変換手段２３が、各サブ処理手段２３Ｂによるサブ処理の繰り返し（積み上げ）により、１バージョンずつ帳票データのデータフォーマットを変換する構成（図２参照）をとっていることによるものである。
【０１８６】
また、従来のように、過去のレイアウトのマッピング情報のバックアップを含め、過去のシステム全体を残しておき、過去の帳票データを用いて過去のレイアウトで再作成帳票の出力を行う場合に比べても、帳票再作成システム１０では、複数の過去のレイアウトのマッピング情報の保存管理や、複数の過去のシステム本体の維持管理を行う必要はなくなるので、システムの維持・管理の手間を軽減することができるうえ、使用するシステムの選択や、使用するマッピング情報の選択における錯誤による作成ミスの発生も回避することができる。
【０１８７】
さらに、過去に作成した帳票（原帳票）の帳票データを用いて、そのときのレイアウト（原帳票作成時のレイアウト）でしか再作成帳票を出力できないとなると、ユーザの満足度は下がるが、帳票再作成システム１０では、原帳票作成時のレイアウト以外のレイアウト（標準機能使用時には、直近のレイアウト）で出力することができるので、ユーザにとって使い勝手のよいシステムを実現することができる。
【０１８８】
そして、帳票再作成システム１０は、拡張機能使用時には、直近のレイアウト以外のレイアウトを指定して再作成帳票を出力することができるので、より一層、ユーザの多様な要求に応えることができ、システムの使い勝手を、より一層向上させることができる。
【０１８９】
また、帳票再作成システム１０は、帳票出力手段２４により帳票マッピング処理を行う際に、差分情報記憶手段３６に記憶された差分情報を用いて帳票マッピング処理用のマッピング情報を１つ前のバージョン（バージョン番号が１つ小さいバージョン）のレイアウトに対応するマッピング情報に変換する拡張サブ処理手段２４Ｂを設け（図２参照）、この拡張サブ処理手段２４Ｂによる拡張サブ処理（マッピング情報の変換処理）を繰り返すことにより、直近のレイアウトに対応するマッピング情報を、バージョンを１つずつ前にずらしながら（バージョン番号を１つずつ小さくしながら）、任意のレイアウトに対応するマッピング情報に変換するので、複数の過去のレイアウトに対応するマッピング情報を全て保存管理しておく必要はなくなるため、システムの維持・管理の容易化を図ることができる。
【０１９０】
さらに、帳票のレイアウト変更が生じた場合には、新規レイアウトに対応するマッピング情報が与えられることになるが（対応するマッピング情報を作成して用意することになるが）、その新規レイアウトに対応するマッピング情報から、レイアウト変更前の時点における直近のレイアウト（１つ前のバージョンのレイアウト）に対応するマッピング情報への変換を行う１つの拡張サブ処理手段２４Ｂ（Ｎ）を追加設置するとともに（図２参照）、それらのマッピング情報の差分情報を差分情報記憶手段３６に追加保存するだけでよいので、システム管理者の手間をかけることなく、任意のレイアウトでの再作成帳票の出力を実現することができる。
【０１９１】
また、データ変換手段２３は、スキップ情報記憶手段３４（図５参照）に記憶されるか若しくはプログラム内部に記述されたスキップ情報（項目単位スキップ情報、サブ処理単位スキップ情報）を用いて、項目単位やサブ処理単位で、サブ処理内の一部の変換処理やサブ処理自体をスキップする構成とされているので、システムの処理量の削減や、処理の高速化を図ることができる。
【０１９２】
さらに、データ変換手段２３は、復活項目退避情報記憶手段３５（図６参照）に記憶されるか若しくはプログラム内部に記述された復活項目退避情報を用いて、復活項目のデータのワークエリアへの退避処理およびワークエリアからの当該データの取得処理（図８参照）を行う構成とされているので、過去のレイアウトにあった項目が、それに続く中間のレイアウトでなくなり、さらにその後のレイアウトで復活するようなケースでも、帳票の再作成を行う際に、復活項目のデータを活かすことができる。このため、帳票データのデータフォーマットを、サブ処理により１バージョンずつ変換していく構成をとっていても、データを途中で消失させることなく、その項目が復活したバージョンのレイアウトにおいて、その復活項目のデータを出力させることができる。
【０１９３】
また、帳票再作成システム１０は、情報作成支援手段２５を備えているので、帳票のレイアウト変更が発生し、新規バージョンのレイアウトに対応する新規のデータフォーマットが与えられた時点で、スキップ可能な項目や復活項目の自動抽出を行うことができるため、システム管理者の手間を軽減することができる。
【０１９４】
［変形の形態］
【０１９５】
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
【０１９６】
例えば、前記実施形態では、ネットワーク１を介してユーザ端末４０からの再作成指示を受け付ける構成とされていたが、本発明の帳票再作成システムは、スタンドアロンのシステム構成としてもよい。
【０１９７】
また、前記実施形態では、復活項目に対応するために、ワークエリアを設けていたが、１バージョンずつのデータフォーマットの変換を行うサブ処理手段２３Ｂ（図２参照）とは別に、復活項目対応用のバイパス処理を実行するバイパス処理手段を設けてもよい。このバイパス処理手段は、復活項目が存在していた過去のレイアウトに対応するデータフォーマットから、復活項目が復活したレイアウトに対応するデータフォーマットへの変換処理を実行するものである。従って、復活項目が存在していた過去のレイアウトと、復活項目が復活したレイアウトとの間の１つまたは複数の中間のレイアウトに対応するデータフォーマットへの変換処理は、飛ばされることになる。
【０１９８】
例えば、ある項目が、バージョン６のレイアウト（過去のレイアウト）にあったが、バージョン７〜９のレイアウト（３つの中間のレイアウト）でなくなり、さらにその後、バージョン１０のレイアウトで復活するような場合の復活項目に対応するためのバイパス処理手段は、バージョン６からバージョン１０へのデータフォーマットの直接変換処理を実行することになる。つまり、バージョン６のデータフォーマットを構成する各項目のラベル番号と、バージョン１０のデータフォーマットを構成する各項目のラベル番号とを直接に対応付ける変換処理を実行する。従って、中間のバージョン７〜９のデータフォーマットへの変換処理は、飛ばされることになる。
【０１９９】
上記のように６→１０のバイパス処理手段を設置する場合において、例えば、バージョン３が変換開始バージョンであり、バージョン１３が変換終了バージョンであったとすると、サブ処理手段２３Ｂ（３），２３Ｂ（４），２３Ｂ（５）により、バージョン３→４、４→５、５→６の各サブ処理を実行した後、バイパス処理手段により、６→１０のバイパス処理を実行し、さらにその後、サブ処理手段２３Ｂ（１０），２３Ｂ（１１），２３Ｂ（１２）により、バージョン１０→１１、１１→１２、１２→１３の各サブ処理を実行する。
【０２００】
一方、上記のように６→１０のバイパス処理手段を設置する場合において、例えば、バージョン３が変換開始バージョンであり、バージョン８が変換終了バージョンであったとすると、バージョン８には、復活項目はないので、バイパス処理は実行されず、通常通りのサブ処理の繰り返し（積み上げ）となる。バージョン８はバイパス処理で飛ばされる位置にあるので、バイパス処理の適用はできないからである。従って、サブ処理手段２３Ｂ（３），２３Ｂ（４），２３Ｂ（５），２３Ｂ（６），２３Ｂ（７）により、バージョン３→４、４→５、５→６、６→７、７→８の各サブ処理を実行する。
【０２０１】
また、上記のように６→１０のバイパス処理手段を設置する場合において、例えば、バージョン８が変換開始バージョンであり、バージョン１３が変換終了バージョンであったとすると、バージョン８には、復活項目はないので、バイパス処理は実行されず、通常通りのサブ処理の繰り返し（積み上げ）となる。バージョン８はバイパス処理で飛ばされる位置にあるので、バイパス処理の適用はできないからである。従って、サブ処理手段２３Ｂ（８），２３Ｂ（９），２３Ｂ（１０），２３Ｂ（１１），２３Ｂ（１２）により、バージョン８→９、９→１０、１０→１１、１１→１２、１２→１３の各サブ処理を実行する。
【０２０２】
なお、この復活項目対応用のバイパス処理は、サブ処理を飛ばすという意味において、前記実施形態のサブ処理単位スキップ処理に似ているようにも見えるが、両者は全く異なるものである。前記実施形態のサブ処理単位スキップ処理は、サブ処理をスキップするが、そのスキップした分の代替としての変換処理は行わないのに対し、復活項目対応用のバイパス処理は、代替としての変換処理を行うからである。例えば、前記実施形態において、バージョン４とバージョン７のデータフォーマットが同じであるときには、バージョン４の帳票データを、バージョン７の帳票データとみなすことができるので、バージョン４→５、５→６、６→７の各サブ処理をスキップする。これに対し、復活項目対応用のバイパス処理は、バージョン４とバージョン７のデータフォーマットが同じであるから、４→５、５→６、６→７の各サブ処理を飛ばすわけではなく、バージョン４とバージョン７のデータフォーマットが異なっている状況下で、飛ばす各サブ処理の代替としての４→７の直接変換処理を実行する。
【産業上の利用可能性】
【０２０３】
以上のように、本発明の帳票再作成システムおよびプログラムは、例えば、特定口座年間取引報告書等のように記載様式が変更されることのある帳票を再作成する場合に用いるのに適している。
【符号の説明】
【０２０４】
１０  帳票再作成システム
２１  再作成指示受付手段
２２  帳票データ取得手段
２３  データ変換手段
２４  帳票出力手段
２５  情報作成支援手段
３１  帳票データ記憶手段
３４  スキップ情報記憶手段
３５  復活項目退避情報記憶手段
３６  差分情報記憶手段
【図１】
2019175217.tif 000003
【図２】
2019175217.tif 000004
【図３】
2019175217.tif 000005
【図４】
2019175217.tif 000006
【図５】
2019175217.tif 000007
【図６】
2019175217.tif 000008
【図７】
2019175217.tif 000009
【図８】
2019175217.tif 000010
【図９】
2019175217.tif 000011
【図１０】
2019175217.tif 000012