JP2010015593A - データ管理装置およびその方法 - Google Patents

データ管理装置およびその方法 Download PDF

Info

Publication number
JP2010015593A
JP2010015593A JP2009203139A JP2009203139A JP2010015593A JP 2010015593 A JP2010015593 A JP 2010015593A JP 2009203139 A JP2009203139 A JP 2009203139A JP 2009203139 A JP2009203139 A JP 2009203139A JP 2010015593 A JP2010015593 A JP 2010015593A
Authority
JP
Japan
Prior art keywords
data
processing
content
contract
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009203139A
Other languages
English (en)
Other versions
JP5039760B2 (ja
JP2010015593A5 (ja
Inventor
Mitsuyuki Ikeda
光之 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nissay Information Technology Co Ltd
Original Assignee
Nissay Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nissay Information Technology Co Ltd filed Critical Nissay Information Technology Co Ltd
Priority to JP2009203139A priority Critical patent/JP5039760B2/ja
Publication of JP2010015593A publication Critical patent/JP2010015593A/ja
Publication of JP2010015593A5 publication Critical patent/JP2010015593A5/ja
Application granted granted Critical
Publication of JP5039760B2 publication Critical patent/JP5039760B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q90/00Systems or methods specially adapted for administrative, commercial, financial, managerial or supervisory purposes, not involving significant data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】取り扱うデータ項目に差異のある商品データを管理する場合において、各商品データを含むデータを一元化して管理するとともに、システムやプログラムのメンテナンス性を向上させたデータ管理装置を提供する。
【解決手段】データ記録部13は、種類ID(論理キー)とデータ内容ID(変数)を含むトランザクションデータ(契約データ)を記録する。データ定義部17は、種類IDごとに、データ内容IDおよびデータ内容(約款データ)を記録する。データ処理手段15は、データ記録部13に記録された種類IDに基づいてデータ定義部17(定義体)からデータ内容IDおよびデータ内容の組合せデータを取得し、所定のデータ項目(契約条件)のデータ内容に関する処理を実行する。これにより、約款や目論見書等によってその性格が異なる複数の商品データを一元的に管理することができる。
【選択図】図1

Description

関連出願の参照
日本国特許出願特願2004−299055号(平成16年10月13日出願)の明細書、請求の範囲、図面および要約を含む全開示内容は、これら全開示内容を参照することによって本出願に合体される。
この発明は、管理対象となるデータ項目がそれぞれ異なる複数のデータを管理するデータ管理装置およびその方法に関する。
一般にデータ管理の分野において、取り扱うデータの種類が多様化すると、データ種類毎に管理するデータ項目に差異が生じることがある。例えば、商品データを管理する場合において商品の種類が多様化すると、これに伴って管理する商品のデータ項目が多様化するため、商品種類ごとに様々なデータ項目を管理する必要がある。
このように管理するデータ項目に差異があり、多様な商品特性を有する複数の種類の商品データをコンピュータ装置を利用して取り扱う場合、トランザクション中に発生するすべての種類の商品データを、1つのレコードフォーマットを用いて管理する方法がある。この場合、すべての商品に必要なデータ項目を予め設定しているため、商品データを処理する業務プログラムは1つのデータベースのみを参照すればよい。
しかしながら、すべての種類の商品データを1つのレコードフォーマットを用いて管理すると、商品種類やデータ項目に変更が生じる度に、データ項目を定義するレコードフォーマットを変更しなければならず、変更作業が繁雑になるといった問題が生じる。また、特定の商品にのみ使用するデータ項目であっても、他のすべての商品のデータ項目として領域を確保しなければならず、全体として記憶領域を有効に使用することができないといった問題がある。
このような問題点を解決するため、以下のような従来技術(1)および(2)が存在する。なお、多様な商品特性を有する複数種類の商品を取り扱うものとして下記従来技術(3)が存在する。
(1)トランザクションデータ中に、商品種類を特定するための商品種類コードと、商品の内容を特定するための商品内容コードを記録しておき、商品種類ごとに、商品内容コードに対応する商品内容を複数のデータ項目に分けて記録した商品管理テーブルを作成しておく。トランザクションデータを処理する業務プログラムは、商品種類コードに基づいて商品管理テーブルを特定し、さらに商品内容コードに基づいて商品内容としての各データ項目を取得する。
したがって、商品種類に変更が生じた場合であっても、商品管理テーブルのみを変更すればよい。また、商品管理テーブルのデータ項目に変更が生じた場合であっても、商品管理テーブルのみを変更すればよい。これにより、トランザクションデータのレコードフォーマットを変更する必要がなくなる。
図18に、上記従来技術(1)の例を示す。Aは、保険契約を管理するトランザクションデータであり、証券番号1801、保険料1802、保険期間1803、約款コード1804、タイプ1805等のデータを管理するものである。この場合において、約款コード1804とは保険商品についての商品種類を特定するものである。Bは、約款コード1804が「0001」である保険商品に対応する商品内容である「終身保険」のデータ項目を管理するテーブル(終身保険テーブル)であり、タイプ1806ごとにステップ払込年数1807およびステップ払込倍率1808のデータを管理するものである。Cは、約款コード1804が「0002」である保険商品に対応する商品内容である「年金保険」のデータ項目を管理するテーブル(年金保険テーブル)であり、タイプ1809ごとに年金種類1811および年金支払期間1812のデータを管理するものである。
このように、商品種類である約款コード1804ごとに独立した管理テーブルを設け、タイプ1805に基づいて管理テーブルの商品内容を特定できるように構成することにより、新たな保険商品が追加された場合であっても、これに対応する商品管理テーブルを追加作成して、トランザクションデータのレコードフォーマットの変更を回避することができる。
なお、保険商品管理システムとして、商品情報テーブルに、商品ごとに共通な基本キーと商品ごとに意味が異なる副次キーを記録しておき、商品を取り扱うプログラムにおいて副次キーに基づいて商品情報テーブルを検索することにより、所望の商品情報を取得するものもある(例えば、特許文献2参照。)。
(2)トランザクションデータの中に自由定義項目を設けておき、自由定義項目内のフォーマットを商品種類毎に再定義することによって、所望の商品種類に対応したデータ項目にかかるデータを取得することができる。
したがって、商品種類に変更が生じた場合であっても、自由定義項目の再定義方法を変更するだけでシステム変更に対応することができる。これにより、トランザクションデータのレコードフォーマットを変更する必要がなくなる。
図19に、上記従来技術(2)の例を示す。Aは、保険契約を管理するトランザクションデータであり、証券番号1901、保険料1902、保険期間1903、約款コード1904、自由定義項目1905等のデータを管理するものである。この場合において、自由定義項目1905とは、約款コード1904によって特定される保険商品にかかる商品内容を再定義して使用するものである。Bは、自由定義項目1905を再定義して使用するCOBOL(Common Business Oriented Language)プログラムの一部である。すなわち、自由定義項目1905を、X(100)のFILLER項目として定義しておき、当該FILLER項目を商品種類ごとにREDEFINES句を用いて再定義することにより、所望の約款コードに対応する商品種類に応じたデータを取り扱うことができる(例えば、非特許文献1参照。)。なお、再定義記述1911は商品種類が「終身保険」であるデータを再定義するものであり、同様に再定義記述1912は「年金保険」であるデータを再定義するものである。
このように、商品種類である約款コード1904ごとに自由定義項目を再定義するように構成することにより、新たな保険商品が追加された場合であっても、これに対応する再定義記述を追加して、トランザクションデータのレコードフォーマットの変更を回避することができる。
(3)商品種類ごとに、取り扱うデータ項目を構成要素としてそれぞれ規定した商品データベースを作成しておき、商品データを処理する業務プログラム中において使用する商品データベースおよび構成要素にかかるデータを記録するデータベースを切り替えること等によって、所望の商品種類における所望のデータ項目のデータ値を取得するシステムが知られている(例えば、特許文献1参照。)。
特開平10−334160号公報
特開平08−329142号公報
西村恕彦/植村俊亮 共著、「入門COBOL」、オーム社、平成5年4月1日、p143−145
しかしながら、上記従来技術(1)では、商品種類を追加する場合には管理テーブルを新設し、商品種類のデータ項目を変更する場合には管理テーブルのフォーマットを変更しなければならない。この場合において、作業者は、商品種類ごとに管理テーブルに管理する各データ項目間の各データ内容についての整合性を図りつつ、各タイプを設定しなければならない。
例えば、図18に示すDは、約款コード1804が「0003」である保険商品に対応する商品内容である「予定利率変動型年金保険」のデータ項目を管理するテーブル(予定利率変動型年金保険テーブル)であり、タイプ1813ごとに年金種類1814、年金支払期間1815および利率見直期間1816のデータを管理するものである。予定利率変動型年金保険テーブルを追加する場合、作業者は、類似するデータ項目を有するCの年金保険テーブルに基づいて作業を行う。具体的には、複製したCの年金保険テーブルに対して利率見直期間1816の列を追加することによって、Dの予定利率変動型年金保険テーブルを得ることができる。
利率見直期間1816のデータ内容としては、「5年ごと見直」と「10年ごと見直」の2種類のデータが存在するとする。この場合、Cの年金保険テーブルの各行レコードに対して上記利率見直期間1816が設定できることになる。したがって、作業者は、年金種類1814、年金支払期間1815および利率見直期間1816の各組合せについての整合性を図りつつ、各行レコードに対応するタイプ1813を設定する必要がある。このような管理テーブルの追加作業は、作業者に多大の注意力や労力を費やすことを要求するため作業が繁雑となる。
また、上記従来技術(2)では、トランザクションデータを扱う業務プログラムにおいて、商品種類の違いに基づく業務プログラムの変更作業が多大となり、商品種類の追加変更する場合における業務プログラムのメンテナンス性が低下するという問題がある。
例えば、図19に示すように、予定利率変動型年金保険に関する再定義記述1913を追加するとともに、約款コード1904が予定利率変動型年金保険を示す場合の判断ロジックを追加する必要がある。また、予定利率変動型年金保険を取り扱う場合の商品特性に関する処理ロジックを追加する必要がある。さらに、これらの作業後のCOBOLプログラムを再コンパイルしてシステムテストを行う必要がある。このような業務プログラムの変更作業が要求されることにより、業務プログラムのメンテナンス性が低下する。
さらに、上記従来技術(3)の場合、商品種類ごとに使用する構成要素の組合せが異なるため、商品種類ごとにトランザクション中のフォーマットを変更しなければならない。このためトランザクションデータの一元化が困難となり、システム構成が複雑化するという問題がある。
この発明は、取り扱う商品またはサービスの種類に追加や変更が発生した場合であっても、(1)作業者に多大の負担を強いることなくシステム変更を可能とし、(2)業務プログラムのメンテナンス性の低下を防ぎ、(3)複数のデータ項目を有するデータを含むトランザクションデータを一元化してシステム構成を簡単にすることのできるデータ管理装置を提供することを目的とする。
(1)(2)(57)この発明にかかるデータ管理装置は、
管理対象となるデータ項目がそれぞれ異なるデータを管理するためのデータ管理装置であって、
少なくとも、データID、種類IDおよびデータ内容IDを含むデータ記録部と、
データ項目ごとに、データ内容IDに対応するデータ内容を記録したデータ定義部と、
前記データ記録部に記録されたデータ内容IDと一致する、前記データ定義部に記録されたデータ内容IDに基づいて、前記データIDによって特定されるデータの種類を示す種類IDの所定のデータ項目に対応するデータ内容を決定する処理を行うデータ処理手段と、
を備えたことを特徴としている。
したがって、管理対象となるデータ項目におけるデータ内容をデータ内容IDによって記録することができる。このため、データ項目が異なるデータであっても同一フォーマットを用いて一元的に管理することができ、システム構成を簡単にすることができる。
(3)この発明にかかるデータ管理装置において、
データ定義部は、種類IDごとに、管理対象としているデータ項目を記録しており、データ処理手段は、前記種類IDに対応するデータ項目を特定することを特徴としている。
したがって、記録したデータのデータ内容IDに対応するデータ項目を容易に特定することができる。
(4)この発明にかかるデータ管理装置において、
データ記録部は、データIDおよび種類IDの組合せごとに、複数のデータ内容IDを、各組合せに共通な複数のデータ項目番号にそれぞれ対応させて記録しており、
データ定義部は、前記種類IDごとに、複数のデータ項目番号にそれぞれ対応するデータ項目を記録したことを特徴としている。
したがって、複数のデータ項目にかかるデータ内容を管理することができる。
(5)この発明にかかるデータ管理装置において、
データ定義部は、種類IDごとに記録したデータ項目番号に対応するデータ項目ごとに、前記データ内容IDに対応するデータ内容を少なくとも2以上記録したことを特徴としている。
したがって、1つのデータ項目に対して、複数のデータ内容から選択したデータ内容を管理することができる。
(6)この発明にかかるデータ管理装置において、
データ処理手段は、前記データ定義部がデータ項目番号に対応するデータ項目について記録しているすべてのデータ内容IDおよびデータ内容の組合せを取得し、
データ処理手段は、取得した前記データ内容IDおよびデータ内容の組合せに基づいて、所定のデータ内容IDに対応するデータ内容または所定のデータ内容に対応するデータ内容IDを決定することを特徴としている。
したがって、データ項目に関する情報とデータ処理を分けて構成することができる。これにより、データ処理手段において、データ項目に関するデータ内容IDやデータ内容を意識する必要がない。
(7)この発明にかかるデータ管理装置において、
データ定義部は、データ項目ごとに、データ内容IDおよびデータ内容の組合せとともに、データ内容IDまたはデータ内容を取り扱う処理を行うための処理コードを記述しており、
データ処理手段は、データ内容IDおよびデータ内容の組合せとともに前記処理コードを前記データ定義部から取得し、
データ処理手段は、取得した前記処理コードならびにデータ内容IDおよびデータ内容の組合せに基づいて、所定のデータ内容IDに対応するデータ内容または所定のデータ内容に対応するデータ内容IDを決定することを特徴としている。
したがって、種類IDごとに設定した処理コードおよび組合せデータに基づいて、選択的にデータ内容IDまたはデータ内容を決定することができる。また、データ項目に関する情報とデータ処理を分けて構成することができる。
(8)この発明にかかるデータ管理装置において、
データ定義部は、2種類以上のデータ項目にそれぞれ対応するデータ内容の組合せをチェックするための処理コードを記述しており、
データ処理手段は、データ内容IDおよびデータ内容の組合せとともに前記処理コードをデータ定義部から取得し、
データ処理手段は、取得した前記処理コードおよびデータ内容IDとデータ内容の組合せに基づいて、2種類以上のデータ項目にそれぞれ対応するデータ内容の組合せが正しいか否かを判断することを特徴としている。
したがって、データ記録部に記録される前段階において、処理コードおよび組合せデータに基づいて2種類以上のデータ内容IDの組合せをチェックすることができる。
(9)この発明にかかるデータ管理装置において、
データ処理手段は、メイン処理部と、データ定義部に処理プログラムを要求して実行する処理プログラム要求・実行部と、処理コードおよび組合せデータに基づいて処理プログラムを生成する処理プログラム生成部と、を含んで構成されており、
データ定義部は、データ内容IDおよびデータ内容を取り扱う処理を行うための処理コードを記録した処理コード記録部と、データ内容IDおよびデータ内容の組合せを記録した組合せデータ記録部とを含んで構成されていることを特徴としている。
したがって、データ処理手段においては、データ内容IDまたはデータ内容を決定する処理を集約することができ、データ定義部においては、処理コードおよび組合せデータに基づいて処理プログラムを生成する処理を集約することができる。
(10)この発明にかかるデータ管理装置において、
データ処理手段の処理プログラム要求・実行部は、処理プログラム生成部に処理プログラムを要求する処理プログラム要求部と、前記処理プログラム生成部から受けた処理プログラムを実行する処理プログラム実行部から構成されており、
前記処理プログラム要求部をラッパープログラムとして構成したことを特徴としている。
したがって、データ処理手段において、処理プログラムを要求する処理を1つのプログラムに集約することができる。これにより、データ管理のために必要なプログラム処理を一元化することができる。
(11)この発明にかかるデータ管理装置において、
データ処理手段は、
データ定義部が所定の種類IDについて記録しているすべてのデータ項目におけるすべてのデータ内容IDおよびデータ内容の組合せを取得し、
取得した前記データ内容IDおよびデータ内容の組合せに基づいて、前記所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容を出力することを特徴としている。
したがって、契約ごとの商品特性・約定内容に応じた画面を自動的に生成することができる。これにより、商品ごとに画面を作成しておく必要がなくなり、ソフトウェアの開発コストを抑えることができる。また、パッケージソフトの分野においては、導入時のカスタマイズコストおよび変更時のメンテナンスコストを抑えることができる。
(12)この発明にかかるデータ管理装置において、
データ定義部は、各データ項目について選択可能なデータ内容IDおよびデータ内容の組合せを記録するとともに、種類IDにかかるすべてのデータ項目について選択可能なデータ内容IDまたはデータ内容を取得する処理を行うための処理コードを記述しており、
データ処理手段は、所定の種類IDにかかるすべてのデータ項目について記録しているすべての選択可能なデータ内容IDおよびデータ内容の組合せとともに、当該所定の種類IDにかかる前記処理コードを前記データ定義部から取得し、取得した前記選択可能なデータ内容IDおよびデータ内容の組合せならびに前記処理コードに基づいて、前記所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容を出力することを特徴としている。
したがって、契約ごとの商品特性・約定内容に応じた画面を自動的に生成することができる。これにより、商品ごとに画面を作成しておく必要がなくなり、ソフトウェアの開発コストを抑えることができる。また、パッケージソフトの分野においては、導入時のカスタマイズコストおよび変更時のメンテナンスコストを抑えることができる。
(13)この発明にかかるデータ管理装置において、
データ項目ごとに、データ内容IDまたはデータ内容についての表示形式を記録した表示形式定義部をさらに備え、
データ処理手段は、前記表示形式定義部から取得した表示形式に基づいて、選択可能なデータ内容IDまたはデータ内容を出力することを特徴としている。
したがって、データの表示形式を任意の条件で指定することができる。これにより、企業やユーザの利用環境や趣向に応じて変更ができる柔軟性の高い画面設計が実現可能となる。
(14)この発明にかかるデータ管理装置において、
データ処理手段は、データ記録部に記録されている所定のデータIDにおける種類IDおよびデータ内容IDに基づいて、当該データIDにおける種類IDにかかるすべてのデータ項目に対応するデータ内容を取得し、取得したデータ内容を初期値として前記選択可能なデータ内容IDまたはデータ内容を出力することを特徴としている。
したがって、トランザクションデータの個別修正時において、契約ごとの商品特性・約定内容に応じた画面を自動的に生成することができる。
(15)この発明にかかるデータ管理装置において、
データ定義部は、データ内容IDおよびデータ内容の組合せまたは、データ内容IDおよびデータ内容を取り扱う処理を行うための処理コードを種類IDに基づく階層に分けて記録していることを特徴としている。
したがって、組合せデータや処理コードの管理を、階層ごとに行うことができる。これにより、処理コード、データ内容IDおよびデータ内容に関するメンテナンス性が向上する。
(16)この発明にかかるデータ管理装置において、
データ記録部は、商品データを含むトランザクションデータを記録するものであり、
データ定義部は、商品の特徴を示すデータをデータ内容として記録するものであり、
データ処理手段は、前記トランザクションデータに対する処理命令を受けて、商品データにかかる商品のデータ内容を決定することを特徴としている。
したがって、異なるデータ項目を有する商品データを含むトランザクションデータを同一フォーマットで一元管理することができる。
(17)この発明にかかるデータ管理装置において、
商品データは、約款に基づいて定められた商品に関するデータであり、
前記商品の特徴を示すデータは、前記約款に規定されている内容を示すものであることを特徴としている。
したがって、約款によって内容が定まるデータ項目の構成が複雑な商品にかかるデータであっても、トランザクションデータを同一フォーマットで一元管理することができる。
(18)この発明にかかるデータ管理装置において、
データ定義部は、データ内容IDおよびデータ内容の組合せデータまたは、前記データ内容IDおよびデータ内容を取り扱う処理を行うための処理コードを、約款に基づいて定められた商品の属する商品カテゴリ、約款種類および約款バージョンのそれぞれによって定められた階層に分けて記録していることを特徴としている。
したがって、組合せデータや処理コードの管理を、商品カテゴリ、約款種類および約款バージョンのそれぞれの階層ごとに行うことができる。これにより、例えば、複雑な契約条件から構成される生命保険契約データであっても、容易に効率よく管理することができる。
(19)この発明にかかるデータ管理装置において、
データ定義部における前記約款種類は、企業の種類を示す企業コードおよび当該企業における約款の種類を示す約款コードから構成されることを特徴としている。
したがって、1つのデータ管理装置を用いて、複数の企業における商品データを一元管理することができる。これにより、アウトソーシング業務やASP業務に本発明のデータ管理装置を適用することができる。
(20)この発明にかかるデータ管理装置は、
複数の種類IDを組合せたグループごとに、所定データの設定条件を記録したグループ定義部をさらに備えたことを特徴としている。
したがって、複数のレコードの組み合わせで構成された所定グループ単位ごとに、当該レコードに記録するデータの設定条件を課すことができる。これにより、複数のレコードを組み合わせた場合であっても、レコード間におけるデータの整合性を担保することができる。
(21)この発明にかかるデータ管理装置において、
データ処理手段は、
データIDに基づいて複数の種類IDを組合せたグループを特定し、
グループ定義部に記録された所定データの設定条件に基づいて、
データ記録部に記録されようとしているデータ内容IDが記録可能であるか否かを判断する処理を行うことを特徴としている。
したがって、データ内容IDに基づいて、レコード間におけるデータの整合性をチェックすることができる。
(22)この発明にかかるデータ管理装置において、
所定データの設定条件は、
データ記録部に記録可能なデータ内容IDと、
所定のデータ内容IDが前記データ記録部に記録可能なデータ内容IDであるか否かをチェックするための処理コードとを含むことを特徴としている。
したがって、データ内容IDおよび処理コードに基づいて、レコード間におけるデータの整合性をチェックすることができる。
(23)この発明にかかるデータ管理装置において、
所定データの設定条件は、
データ記録部に記録可能なデータ内容IDに対応するデータ内容と、
所定のデータ内容が前記データ記録部に記録可能なデータ内容IDに対応するデータ内容であるか否かをチェックするための処理コードとを含むことを特徴としている。
したがって、データ内容IDに対応するデータ内容および処理コードに基づいて、レコード間におけるデータの組合せの整合性をチェックすることができる。
(24)この発明にかかるデータ管理装置において、
所定のデータ内容は、データ記録部に記録されようとしているデータ内容IDに基づいて前記データ定義部から取得したものであることを特徴としている。
したがって、データ定義部において一元管理されたデータ内容IDまたはデータ内容の関係を有効に利用することができる。これによりデータの冗長性を排除した効率的なデータ構成を採用することができる。
(25)この発明にかかるデータ管理装置において、
データ処理手段は、
データIDに基づいて複数の種類IDを組合せたグループを特定し、
グループ定義部に記録された所定データの設定条件に基づいて、
データ記録部に記録されようとしているデータ値が記録可能であるか否かを判断する処理を行うことを特徴としている。
したがって、データ値に基づいて、レコード間におけるデータの整合性をチェックすることができる。
(26)この発明にかかるデータ管理装置において、
所定データの設定条件は、
データ記録部に記録可能なデータ値の条件と、
所定のデータ値が前記データ記録部に記録可能なデータ値の条件に合致するか否かをチェックするための処理コードとを含むものであることを特徴としている。
したがって、データ値および処理コードに基づいて、レコード間におけるデータの整合性をチェックすることができる。
(27)この発明にかかるデータ管理装置において、
データ処理手段は、
データIDに基づいて複数の種類IDを組合せたグループを特定し、
グループ定義部に記録された所定データの設定条件に基づいて、
前記グループにかかる名称を取得することを特徴としている。
したがって、複数のレコードの組み合わせで構成された所定グループ単位ごとに、出力するためのグループ名称を定義しておくことができる。例えば、保険商品の分野において、複数の保険契約を想定した場合、契約単位ごとに保険名称を定義することができる。
(28)この発明にかかるデータ管理装置において、
データ記録部は、データIDに基づく固有データ値を記録可能に構成されており、
データ定義部は、種類IDごとに、前記固有データ値の設定方法を記述した処理コードを記録しており、
データ処理手段は、前記データ記録部に記録されようとしている第1の種類IDに基づいて、当該第1の種類IDに関連する第2の種類IDを特定し、特定した当該第2の種類IDにかかる処理コードを前記データ定義部から取得し、
前記データ処理手段は、取得した前記処理コードに基づいて、前記第1の種類IDにかかる固有データ値を設定することを特徴としている。
したがって、日付データ等の固有の値を設定する際に、関連する他の種類IDにかかる定義情報を参照することができる。
(29)この発明にかかるデータ管理装置において、
データ記録部は、約款に基づいて定められた保険商品データを含むトランザクションデータを記録するものであり、
データ定義部は、特約を示す種類IDのトランザクションデータにかかる日付データを設定する際に、当該特約に対する主契約を示す種類IDのトランザクションデータにかかる日付データの設定方法を記述した処理コードを記録しており、
データ処理手段は、前記データ定義部から取得した前記処理コードに基づいて、前記特約を示す種類IDのトランザクションデータにかかる日付データを設定することを特徴としている。
したがって、保険商品における主契約と特約の関係を利用して日付データ等の固有の値を設定することができる。これにより、特約に規定のない事項については、主契約を適用して処理を行うことができる。また、異なる主約款(主契約の約款)に同一の特約を付加する場合であっても、主契約の設定方法に基づいて特約を設定することができる。
(30)この発明にかかるデータ管理装置において、
データ記録部は、データ項目に対応するデータ項目IDを記録しており、
データ定義部は、データ項目IDとデータ内容IDの組合せを、データ項目とデータ内容に対応付けて記録しており、
データ処理手段は、前記データ記録部に記録されたデータ項目IDとデータ内容IDの組合せと一致する、前記データ定義部に記録されたデータ項目IDとデータ内容IDの組合せに基づいて、データ項目およびこれに対応するデータ内容を決定する処理を行うことを特徴としている。
したがって、データ定義部にデータ項目ID、データ項目、データ内容IDおよびデータ内容をそれぞれ対応付けて記録しておき、データ記録部に記録するデータの汎用性を高めることができる。これにより、データ管理装置において管理する対象データの適用範囲を拡大するとともに、効率的にデータ領域を使用することができる。
(31)この発明にかかるデータ管理装置において、
データ記録部は、データ項目IDとデータ内容IDの組合せを複数記録していることを特徴としている。
したがって、管理対象とするデータ項目を多様に定義することができる。
(32)この発明にかかるデータ管理装置において、
データ項目は、データ記録部において記録されるデータについての処理ステータスを示すものであることを特徴としている。
したがって、利用者ごとまたは対象データごとに異なる処理ステータスについてのデータ定義を、予めトランザクションデータ上に定義しておかなくても、対応することができる。これにより、データ管理装置の適用範囲を拡大することができる。
(33)この発明にかかるデータ管理装置において、
データ記録部は、データIDによって特定されるデータの属性を示す属性IDを記録しており、
データ定義部は、属性IDごとに、データ項目IDとデータ内容IDの組合せを記録しており、
データ処理手段は、属性IDごとに、データ項目およびこれに対応するデータ内容を決定する処理を行うことを特徴としている。
したがって、異なる属性IDを有するデータレコードについて、同一のデータベース上において管理することができる。例えば、属性IDによって企業を識別する場合には、1つのデータ管理装置において複数の企業のデータレコードを管理することができる。
(34)この発明にかかるデータ管理装置において、
データ記録部は、データ項目に対応するデータ項目IDとデータ内容の組合せを記録しており、
データ定義部は、データ項目IDとデータ項目の組合せを記録しており、
データ処理手段は、前記データ記録部に記録されたデータ項目IDと一致する、前記データ定義部に記録されたデータ項目IDに基づいて、前記データ記録部に記録されたデータ内容に対応するデータ項目を決定する処理を行うことを特徴としている。
したがって、データ記録部に記録したデータ内容に対応するデータ項目をデータ定義部によって指定することができ、データ記録部に記録するデータの汎用性を高めることができる。
(35)この発明にかかるデータ管理装置において、
データ記録部は、データ項目IDとデータ内容の組合せを複数記録していることを特徴としている。
したがって、管理対象とするデータ項目を多様に定義することができる。
(36)この発明にかかるデータ管理装置において、
データ定義部は、データ項目IDとデータ項目の組合せを、データ記録部に記録されるデータ内容におけるデータ型ごとに記録していることを特徴としている。
したがって、予めデータベースに指定されるデータ型が同一のデータであってデータ項目が異なるデータを、データベース上において効率よく管理することができる。
(37)この発明にかかるデータ管理装置において、
データ型は、日付型、数値型、文字型またはバイナリ型のいずれかを含むものであることを特徴としている。
したがって、データ項目が異なるデータをデータ型によらず管理することができる。
(38)この発明にかかるデータ管理装置において、
データ記録部は、データIDによって特定されるデータの属性を示す属性IDを記録しており、
データ定義部は、属性IDごとに、データ項目IDとデータ項目の組合せを記録しており、
データ処理手段は、属性IDごとにデータ項目を決定する処理を行うことを特徴としている。
したがって、異なる属性IDを有するデータレコードについて、同一のデータベース上において管理することができる。例えば、属性IDによって企業を識別する場合には、1つのデータ管理装置において複数の企業のデータレコードを管理することができる。
(39)この発明にかかるデータ管理装置において、
データ処理手段は、後記計算処理部において使用する計算条件を設定するための条件設定部と、前記計算条件に基づいて所定の計算処理を行うための計算処理部を含んで構成されており、前記条件設定部においてのみデータ定義部またはグループ定義部へのアクセスを行うことを特徴としている。
したがって、共通の入出力項目を用いる普遍的な計算処理を計算処理部に記述しておき、条件設定部において前記入出力項目を適切にハンドリングすることにより、取扱データ間における計算条件の差異を吸収することができる。また、条件設定と計算処理にかかるプログラムを分離して構成することにより、各プログラムのメンテナンス性を高めることができる。
(40)この発明にかかるデータ管理装置において、
データ処理手段は、条件設定部および計算処理部の組合せを、計算処理単位ごとに備えていることを特徴としている。
したがって、各計算処理の内容変更に迅速に対応することができ、メンテナンス性を高めることができる。
(41)この発明にかかるデータ管理装置において、
取り扱う可能性のあるすべてのデータを包含した処理データ格納部をさらに備えており、
データ処理手段における条件設定部は、前記処理データ格納部に対してデータの入出力を行うことを特徴としている。
したがって、各プログラムごとに共通のインターフェイスを使用することができる。これにより、インターフェースの設計工数を削減して、システムの開発コストを抑えることができる。
(42)この発明にかかるデータ管理装置において、
処理データ格納部は、トランザクションデータ、画面入力データおよび計算結果データから構成されることを特徴としている。
したがって、各プログラムにおいて、インターフェイスを統一しつつ、データ処理における処理状態を把握することができる。
(43)(44)(58)この発明にかかるデータ管理装置は、
管理対象となる契約条件が約款によってそれぞれ異なる保険契約データを管理するための保険契約データ管理装置であって、
少なくとも、保険契約を特定するための証券ID、前記保険契約における約款を特定するための約款IDおよび前記約款における契約内容を特定するための契約内容IDを含むデータ記録部と、
契約条件ごとに、契約内容IDに対応する契約内容を記録したデータ定義部と、
前記データ記録部に記録された契約内容IDと一致する、前記データ定義部に記録された契約内容IDに基づいて、前記証券IDによって特定される保険契約データにおける、所定の契約条件に対応する契約内容を決定する処理を行うデータ処理手段と、
を備えたことを特徴としている。
したがって、管理対象となる契約条件における契約内容を契約内容IDによって記録することができる。このため、契約条件が異なるデータであっても同一フォーマットを用いて一元的に管理することができ、システム構成を簡単にすることができる。
(45)この発明にかかるデータ構造は、
管理対象となるデータ項目がそれぞれ異なるデータを管理するためのデータ構造であって、
少なくとも、データを識別するためのデータID、前記データIDによって特定されるデータ内容の種類を示す種類IDおよび前記種類IDにかかるデータ項目のデータ内容に対応するデータ内容IDを含むデータ記録部と、
データ項目ごとに、データ内容IDに対応するデータ内容を記録したデータ定義部と、
を備えたことを特徴としている。
したがって、管理対象となるデータ項目におけるデータ内容をデータ内容IDによって記録することができる。このため、データ項目が異なるデータであっても同一フォーマットを用いて一元的に管理することができ、システム構成を簡単にすることができる。
(46)この発明にかかるデータ構造において、データ定義部は、種類IDごとに、管理対象としているデータ項目を記録していることを特徴としている。したがって、記録したデータのデータ内容IDに対応するデータ項目を容易に特定することができる。
(47)この発明にかかるデータ構造において、データ記録部は、データIDおよび種類IDの組合せごとに、複数のデータ内容IDを、各組合せに共通な複数のデータ項目番号にそれぞれ対応させて記録しており、データ定義部は、前記種類IDごとに、複数のデータ項目番号にそれぞれ対応するデータ項目を記録したことを特徴としている。したがって、複数のデータ項目にかかるデータ内容を管理することができる。
(48)この発明にかかるデータ構造は、
管理対象となる契約条件が約款によってそれぞれ異なる保険契約を管理するためのデータ構造であって、
少なくとも、保険契約を特定するための証券ID、前記保険契約における約款を特定するための約款IDおよび前記約款における契約内容を特定するための契約内容IDを含むデータ記録部と、
約款IDごとかつ契約条件ごとに、契約内容IDに対応する契約内容を記録したデータ定義部と、
を備えたことを特徴としている。
したがって、管理対象となる契約条件における契約内容を契約内容IDによって記録することができる。このため、契約条件が異なるデータであっても同一フォーマットを用いて一元的に管理することができ、システム構成を簡単にすることができる。
(49)この発明にかかるデータ構造において、データ記録部は、証券IDおよび約款IDの組合せごとに、複数の契約内容IDを、各組合せに共通な複数の契約条件番号にそれぞれ対応させて記録しており、データ定義部は、前記約款IDごとに、複数の契約条件番号にそれぞれ対応する契約条件を記録したことを特徴としている。したがって、複数の契約条件にかかる契約内容を管理することができる。
(50)(51)(59)この発明にかかるプログラム生成装置は、
指定データに対しての指定処理を行うプログラムを生成するプログラム生成装置であって、
データ項目ごとに、データ内容IDとデータ内容の対応表を記録したデータ定義部と、
処理に対する処理コードを記録した処理定義部と、
指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得する対応表取得手段と、
前記指定処理に関する処理コードを、前記処理定義部から取得する処理コード取得手段と、
取得した前記対応表および取得した前記処理コードに基づいてプログラムを生成するプログラム生成手段と、
を備えたことを特徴としている。
したがって、種類IDごとに設定された、処理に対する処理コードおよびデータ内容IDとデータ内容の対応表に基づいて、選択的にデータ内容IDまたはデータ内容を決定するためのプログラムを生成することができる。これにより、データ項目に関する情報とデータ処理を分けて構成することができる。
(52)(53)この発明にかかるプログラム生成装置において、
指定データに含まれる種類IDは、管理対象となるデータ項目が種類IDによってそれぞれ異なるデータを管理するデータ記録部であって、少なくとも、データを識別するためのデータID、前記データIDによって特定される種類IDおよび前記種類IDにおけるデータ内容を特定するためのデータ内容IDを含むデータ記録部から抽出されたものであることを特徴としている。
したがって、管理対象となるデータ項目におけるデータ内容をデータ内容IDによって記録しておくとともに、当該データ内容IDに関するデータ内容を決定するプログラムを提供することができる。このため、データ項目が異なるデータであっても同一フォーマットを用いて一元的に管理しておくことができ、システム構成を簡単にすることができる。
(54)(55)この発明にかかる画面生成装置は、
所定の種類IDにかかる指定処理を行うための表示画面を生成する画面生成装置であって、
データ項目ごとに、データ内容IDとデータ内容の対応表を記録したデータ定義部と、
処理に対する処理コードを記録した処理定義部と、
指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得する対応表取得手段と、
前記指定処理に関する処理コードを、前記処理定義部から取得する処理コード取得手段と、
取得した前記対応表および取得した前記処理コードに基づいてプログラムを生成するプログラム生成手段とを備え、
前記データ処理手段は、前記データ定義部が所定の種類IDについて記録しているすべてのデータ項目におけるすべてのデータ内容IDおよびデータ内容の組合せを取得し、取得した前記データ内容IDおよびデータ内容の組合せに基づいて、前記所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容を出力することによって表示画面を生成することを特徴としている。
したがって、契約ごとの商品特性・約定内容に応じた画面に応じた画面を自動的に生成することができる。これにより、商品ごとに画面を作成しておく必要がなくなり、ソフトウェアの開発コストを抑えることができる。また、パッケージソフトの分野においては、導入時のカスタマイズコストおよび変更時のメンテナンスコストを抑えることができる。
(56)この発明にかかる画面生成装置においては、
データ項目ごとに、データ内容IDまたはデータ内容についての表示形式を記録した表示形式定義部またはこれにアクセスする手段をさらに備え、
データ処理手段は、前記表示形式定義部から取得した表示形式に基づいて、選択可能なデータ内容IDまたはデータ内容を出力することを特徴としている。
したがって、データの表示形式を任意の条件で指定することができる。これにより、企業やユーザの利用環境や趣向に応じて変更ができる柔軟性の高い画面設計が実現可能となる。
[実施形態との対応]:
「少なくとも、データID、種類IDおよびデータ内容IDを含むデータ記録部」は、実施形態においては、証券番号、約款IDおよび変数1、変数2、…等を記録したトランザクションデータベース2093がこれに該当する。「データ項目ごとに、データ内容IDに対応するデータ内容を記録したデータ定義部」は、実施形態においては、契約条件ごとに、契約内容IDに対応する契約内容を記録した、処理コード記録部、組合せデータ記録部またはこれらの組合せがこれに該当する。
「データ記録部に記録されたデータ内容IDと一致する、データ定義部に記録されたデータ内容IDに基づいて、前記データIDによって特定されるデータの種類を示す種類IDの所定のデータ項目に対応するデータ内容を決定する処理を行うデータ処理手段」は、第1および第3の実施形態における処理プログラム要求・実行部713、第2の実施形態における処理プログラム実行部931bまたは処理プログラム要求・実行部931、第4の実施形態における処理プログラム要求・実行部2131、第5の実施形態における処理プログラム実行部3323、第6の実施形態における処理プログラム生成・実行部3927、第7の実施形態における処理プログラム生成・実行部4627、第8の実施形態における処理プログラム要求・実行部5327、第9の実施形態における処理プログラム要求・実行部6423等がこれに該当する。
「管理対象としているデータ項目」または「種類IDに対応するデータ項目」は、実施形態においては、約款IDごとに定義体プログラムに記録された、変数1、変数2、…等に対応する契約条件がこれに該当する。「各組合せに共通な複数のデータ項目番号」は、実施形態においては、変数1、2、…等における「1」、「2」、…がこれに該当する。
データ処理手段が取得する、「データ定義部がデータ項目番号に対応するデータ項目について記録しているすべてのデータ内容IDおよびデータ内容の組合せ」は、実施形態においては、組合せデータ記録部において契約条件について記録しているすべての契約内容IDおよび契約内容の組合せ」がこれに該当する。「データ内容IDおよびデータ内容の組合せ」は、実施形態においては、組合せデータ記録部において契約条件ごとに記録した契約内容IDおよび契約内容の組合せがこれに該当する。
「データ内容IDまたはデータ内容を取り扱う処理を行うための処理コード」は、実施形態においては、処理名ごとに契約条件にかかる処理を行うための処理コード記録部に記録された処理コードがこれに該当する。「2種類以上のデータ項目にそれぞれ対応するデータ内容の組合せをチェックするための処理コード」は、実施形態においては、相関チェックの処理コード1705およびチェックデータ1706がこれに該当する。
「メイン処理部、処理プログラム要求・実行部、処理プログラム生成部」は、実施形態においては、例えば図7に示す、業務プログラム2091のメイン処理部711、処理プログラム要求・実行部713および商品定義体プログラム2094の処理プログラム生成部731がこれに該当する。所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容」は、実施形態においては、例えば図68に示す、年金種類のドロップダウンメニューの選択可能データである「確定年金」または「保証期間付終身年金」等がこれに該当する。
「種類IDにかかるすべてのデータ項目について選択可能なデータ内容IDまたはデータ内容を取得する処理を行うための処理コード」は、実施形態においては、例えば図64に示す、処理コード記録部における処理名「データ項目取得」にかかる処理コードがこれに該当する。「データ内容IDまたはデータ内容についての表示形式を記録した表示形式定義部」は、実施形態においては、例えば図64に示す、契約条件についての表示形式を記録した表示形式テーブルがこれに該当する。「処理コードを種類IDに基づく階層に分けて記録している」とは、実施形態においては、例えば図11に示す、第1階層「商品カテゴリー」、第2階層「約款種類」および第3階層「約款バージョン」に分散して記録されている処理コード記録部がこれに該当する。
「複数の種類IDを組合せたグループごとに、所定データの設定条件を記録したグループ定義部」は、実施形態においては、例えば図22に示す、契約リバンドル定義体プログラム2095に記録した処理コード記録部、チェックデータ記録部またはこれらの組合せがこれに該当する。「グループ定義部に記録された所定データの設定条件」は、実施形態においては、例えば図22に示す処理コード「年金種類−支払期間の契約リバンドルチェック」およびチェックデータ「年金種類−支払期間の契約リバンドルチェックデータ」がこれに該当する。
「データ記録部に記録されようとしているデータ値が記録可能であるか否かを判断する処理」とは、実施形態においては、例えば図22aに示した、「最低保険料チェック」にかかる処理がこれに該当する。「グループにかかる名称」は、実施形態においては、例えば図22bに示す、「保険名称(A年金)」にかかる処理がこれに該当する。「データIDに基づく固有データ値」は、実施形態においては、例えば図35に示す、ワークレコードの契約年月日359がこれに該当する。
「固有データ値の設定方法を記述した処理コード」は、実施形態においては、例えば図37に示す、処理コード「契約年月日計算」がこれに該当する。「データ記録部に記録されようとしている第1の種類ID」は、実施形態においては、例えば図33に示す、約款ID「55555」がこれに該当する。「第1の種類IDに関連する第2の種類ID」は、実施形態においては、例えば図33に示す、約款ID「00005」がこれに該当する。
「所定のデータ項目に対応するデータ項目ID」は、実施形態においては、例えば図40に示す、パターン変数1_631、パターン変数2_633、…等がこれに該当する。「データ項目IDとデータ内容IDの組合せ」は、実施形態においては、例えば図39に示す、パターン変数記録部に記録された「パターン変数」と「変数」の組合せデータがこれに該当する。「データ項目およびこれに対応するデータ内容を決定する処理」は、実施形態においては、例えば図39に示す、処理コード記録部に記録された処理コード「保全要注意区分設定」3928aに基づく処理がこれに該当する。
「データIDによって特定されるデータの属性を示す属性ID」は、実施形態においては、例えば図40に示す、企業ID630がこれに該当する。データ記録部が記録する「所定のデータ項目に対応するデータ項目IDとデータ内容の組合せ」とは、実施形態においては、例えば図47に示す、パターン変数1_651「002」と変数1_652「2005/09/01」の組合せがこれに該当する。
データ定義部が記録する「データ項目IDとデータ項目の組合せ」とは、実施形態においては、例えば図46に示す、パターン変数データ記録部に記録されたパターン変数「002」およびパターン変数名「利率基準日」がこれに該当する。「データ内容におけるデータ型ごとに記録する」とは、実施形態においては、7−5に示したように、データ形式ごとにパターン変数のカラムインデックスを設定することがこれに該当する。
「計算処理部において使用する計算条件を設定するための条件設定部」は、実施形態においては、例えば図53に示す、業務プログラム5301にかかるI/F編集クラス5323がこれに該当する。「計算条件に基づいて所定の計算処理を行うための計算処理部」は、実施形態においては、例えば図53に示す、業務プログラム5301にかかる計算モデル5325がこれに該当する。「計算処理単位」における「計算処理」とは、実施形態においては、例えば図53に示す、「源泉徴収税額計算」または「円転計算」等がこれに該当する。「取り扱う可能性のあるすべてのデータを包含した処理データ格納部」とは、実施形態においては、例えば図53に示す、ワーク領域5307がこれに該当する。
「データ項目ごとに、データ内容IDとデータ内容の対応表を記録したデータ定義部」は、実施形態においては、例えば図7に示す、契約条件ごとに、契約内容IDに対応する契約内容を記録した組合せデータ記録部735がこれに該当する。「処理に対する処理コードを記録した処理定義部」実施形態においては、例えば図7に示す、契約条件ごとに、処理コードを記録した処理コード記録部733がこれに該当する。
「指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得する対応表取得手段」は、実施形態においては、例えば図13に示す、ステップS1323の機能がこれに該当する。「指定処理に関する処理コードを、前記処理定義部から取得する処理コード取得手段」は、実施形態においては、例えば図13に示す、ステップS1321の機能がこれに該当する。「取得した対応表および取得した処理コードに基づいてプログラムを生成するプログラム生成手段」は、実施形態においては、例えば図13に示す、ステップS1325の機能がこれに該当する。
この発明において、「〜手段」とは、プログラムによって実現されるCPUの機能を含む概念である。ここで、「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
本発明の特徴は、上記のように広く示すことができるが、その構成や内容は、それらの特徴および効果とともに、図面を考慮に入れた上で以下の開示によりさらに明らかになるであろう。
この発明のデータ管理装置の機能ブロック図の例を示す図である。 この発明のデータ管理装置の機能ブロック図の例を示す図である。 この発明のデータ管理装置のハードウェア構成図の例を示す図である。 この発明のデータ管理装置のハードウェア構成図の例を示す図である。 この発明の業務プログラムと商品定義体プログラムにおけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の年金種類設定画面の例を示す図である。 この発明のトランザクションデータベースの例を示す図である。 この発明の業務プログラムと商品定義体プログラムにおける機能ブロック図の例を示す図である。 この発明の業務プログラムと商品定義体プログラムにおける機能ブロック図の例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の業務プログラムとラッパープログラムと商品定義体プログラムにおける機能ブロック図の例を示す図である。 この発明の業務プログラムとラッパープログラムと商品定義体プログラムにおける機能ブロック図の例を示す図である。 この発明の業務プログラムとラッパープログラムと商品定義体プログラムにおけるフローチャートの例を示す図である。 この発明の業務プログラムとラッパープログラムと商品定義体プログラムにおけるフローチャートの例を示す図である。 この発明の商品定義体プログラムにおける機能ブロック図の例を示す図である。 この発明の他業界ヘの適用の例を示す図である。 この発明の業務プログラムと商品定義体プログラムにおけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の年金種類設定画面の例を示す図である。 この発明のトランザクションデータベースの例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の従来技術(1)を示す図である。 この発明の従来技術(2)を示す図である。 この発明のデータ管理装置の機能ブロック図の例を示す図である。 この発明のデータ管理装置のハードウェア構成図の例を示す図である。 この発明の業務プログラム、ラッパープログラムA、契約リバンドル定義体プログラム、ラッパープログラムBおよび約款定義体プログラムにおける機能ブロック図の例を示す図である。 この発明の業務プログラム、ラッパープログラムAおよび契約リバンドル定義体プログラムにおける機能ブロック図の例を示す図である。 この発明の業務プログラム、ラッパープログラムAおよび契約リバンドル定義体プログラムにおける機能ブロック図の例を示す図である。 この発明の業務プログラム、ラッパープログラムBおよび約款定義体プログラムにおけるフローチャートの例を示す図である。 この発明の業務プログラムにおけるフローチャートの例を示す図である。 この発明の業務プログラムにおけるフローチャートの例を示す図である。 この発明の契約リバンドルチェック処理におけるフローチャートの例を示す図である。 この発明の契約リバンドルチェック処理におけるフローチャートの例を示す図である。 この発明の契約リバンドルチェック処理におけるフローチャートの例を示す図である。 この発明の契約内容取得処理におけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明のトランザクションデータベースの例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の保険金額変更画面の例を示す図である。 この発明のトランザクションデータベースの例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の業務プログラム、ラッパープログラムA、約款定義体プログラム(特約約款)、ラッパープログラムBおよび約款定義体プログラム(主契約約款)における機能ブロック図の例を示す図である。 この発明のワークレコードの例を示す図である。 この発明の保険契約変更画面の例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の業務プログラム、ラッパープログラム、処理ステータス定義体プログラムにおける機能ブロック図の例を示す図である。 この発明のワークレコードの例を示す図である。 この発明の業務プログラムにおけるフローチャートの例を示す図である。 この発明の業務プログラムにおけるフローチャートの例を示す図である。 この発明のパターン変数設定処理におけるフローチャートの例を示す図である。 この発明のパターン変数取得処理におけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の保全要注意区分設定画面の例を示す図である。 この発明の保険契約解約画面の例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の業務プログラム、ラッパープログラム、データ項目定義体プログラムにおける機能ブロック図の例を示す図である。 この発明のワークレコードの例を示す図である。 この発明の業務プログラムにおけるフローチャートの例を示す図である。 この発明のパターン変数名取得処理におけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の解約返戻金計算画面の例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の業務プログラム、ラッパープログラム、約款定義体プログラムおよびワーク領域における機能ブロック図の例を示す図である。 この発明の業務プログラムにおけるフローチャートの例を示す図である。 この発明の業務プログラムにおけるフローチャートの例を示す図である。 この発明の業務プログラムにおけるフローチャートの例を示す図である。 この発明の源泉徴収税額計算処理におけるフローチャートの例を示す図である。 この発明の源泉徴収税額計算処理(I/F編集クラス)におけるフローチャートの例を示す図である。 この発明の源泉徴収税額計算処理(I/F編集クラス)におけるフローチャートの例を示す図である。 この発明の源泉徴収税額計算処理(計算モデル)におけるフローチャートの例を示す図である。 この発明のワーク領域の例を示す図である。 この発明のワーク領域の例を示す図である。 この発明の解約返戻金計算画面の例を示す図である。 この発明の解約返戻金計算画面の例を示す図である。 この発明の外貨年金解約返戻金計算画面の例を示す図である。 この発明の円転計算処理におけるフローチャートの例を示す図である。 この発明の円転計算処理(I/F編集クラス)におけるフローチャートの例を示す図である。 この発明の円転計算処理(計算モデル)におけるフローチャートの例を示す図である。 この発明の業務プログラム、ラッパープログラムAならびにB、約款定義体プログラムおよび表示形式テーブルにおける機能ブロック図の例を示す図である。 この発明の業務プログラム、ラッパープログラムAおよび約款定義体プログラムにおけるフローチャートの例を示す図である。 この発明の業務プログラムおよびラッパープログラムBにおけるフローチャートの例を示す図である。 この発明の処理プログラムにおけるフローチャートの例を示す図である。 この発明の個別修正画面の例を示す図である。 この発明の個別修正画面の例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の処理プログラムにおける構成例を示す図である。 この発明の関係テーブルの作成の例を示す図である。 この発明のワークレコードの例を示す図である。 この発明のUI画面生成処理におけるフローチャートの例を示す図である。
13 データ記録部
15 データ処理手段
17 データ定義部
18 グループ定義部
以下、本発明における実施形態について、図面を参照して説明する。
1.第1の実施形態
本実施形態においては、生命保険の契約管理に関するトランザクションデータおよび生命保険商品に関する商品定義データを管理するデータ管理装置の例について説明する。
1−1.機能ブロック図
図1に、本発明にかかるデータ管理装置1の機能ブロック図を示す。この図において、データ管理装置1は、入力手段11、データ記録部13、データ処理手段15、データ定義部17および表示手段19を備えている。データ記録部13はトランザクションデータを記録する。データ定義部17は、商品の種類を示す種類IDごとに、データ内容IDおよびデータ内容を記録する。例えば、保険商品の場合には、保険商品の種類を示す約款IDごとに、契約内容IDおよび契約内容とを記録する。データ処理手段15は、データ記録部13に記録された種類ID(約款ID)に基づいて、データ定義部17からデータ内容ID(契約内容ID)およびデータ内容(契約内容)を取得してデータ内容(契約内容)に関する処理を実行する。
なお、入力手段11は、ユーザからの操作を受け付けて業務プログラムのデータ内容(契約内容)に関する処理を起動させるものであり、表示手段19は、業務プログラムによって所定のデータ処理を行った結果をユーザに提示するものである。
1−2.ハードウェア構成
図1に示したデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例を図2に示す。図2に示すように、データ管理装置1は、ディスプレイ201、CPU203、メモリ205、キーボード/マウス207、ハードディスク209、CD−ROMドライブ211および通信回路215を備えている。
ハードディスク209は、業務アプリケーションプログラム(以下、業務プログラムと呼称する。)2091、トランザクションデータベース2093および商品定義体プログラム2094を記録している。業務プログラム2091は、CD−ROMドライブ211を介してCD−ROM212に記録されたデータを読み出してインストールされたものである。なお、上記インストールは、通信回路215を用いてネットワーク0等からダウンロードしたデータを使用して行うようにしてもよい。
データ記録部13はトランザクションデータベース2093によって実現され、データ処理手段15はCPU203がメモリ205を用いて実行する業務プログラム2091によって実現され、データ定義部17はCPU203がメモリ205を用いて実行する商品定義体2094プログラムによって実現される。なお、入力手段11は主にキーボード/マウス207によって実現され、表示手段19は主にディスプレイ201によって実現される。
1−3.処理詳細
図3〜8を用いて、本実施形態における処理の詳細を説明する。なお、本実施形態において、業務プログラム2091は、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。図7に、業務プログラム2091および商品定義体プログラム2094における機能ブロック図を示す。業務プログラム2091は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部711と、商品定義体プログラム2094に処理プログラムを要求してこれを実行するための処理プログラム要求・実行部713から構成される。
また、商品定義体プログラム2094は、業務プログラム2091からの要求を受けて処理プログラムを生成するための処理プログラム生成部731と、処理名ごとに処理コードを記録した処理コード記録部733と、処理名ごとに契約内容IDおよび契約内容の組合せデータを記録した組合せデータ記録部735から構成される(例えば、約款IDが「11111」の場合。)。
本実施形態においては、証券番号によって特定されるトランザクションデータにおける年金種類を、「確定年金」から「保証期間付終身年金」に変更する指示をユーザが行う場合について説明する。図3は、上記の場合においてデータ管理装置1で実行される業務プログラム2091および商品定義体プログラム2094のフローチャートの例である。
1−3−1.画面データの取得
図5に、業務プログラム2091におけるメイン処理部711の実行によってディスプレイ201に表示される年金種類設定画面501の例を示す。この画面においては、証券番号の入力欄503、年金種類の設定用のラジオボタン504および505が表示されており、データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、年金種類の変更を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄503に「00001」を入力し、保証期間付終身年金のラジオボタン505を選択して、設定ボタン507を押下することによって、データ管理装置1に対して年金種類の変更を指示する。
設定ボタン507の押下を受けて、メイン処理部711を実行するCPU203は画面データを取得する(ステップS301)。例えば、CPU203は画面データとして、証券番号「00001」および年金種類「保証期間付終身年金」を取得する。
1−3−2.レコードの取得
メイン処理部711を実行するCPU203は、画面データとして入力された証券番号に基づいてトランザクションデータベース2093にアクセスして検索し、当該証券番号によって特定されるトランザクションレコードをメモリ205に作成されたワーク領域に取得する(ステップS303)。
図6にトランザクションデータベース2093の例を示す。このデータベースには、生命保険の契約管理に関するトランザクションデータとして、証券番号601、約款ID603、変数1_605、変数2_607、変数3_609…等が記録されている。なお、上記ワーク領域のレコードフォーマットは、トランザクションデータベースのレコードフォーマットと同一である。ここで、証券番号601はトランザクションレコードを特定するためのデータIDであり、約款ID603は保険商品を特定するための識別IDであり、変数1_605、変数2_607、変数3_609…はそれぞれの契約内容を特定するための契約内容IDである。
例えば、CPU203は、証券番号「00001」によって特定されるトランザクションレコード61をトランザクションデータベース2093から取得する。
1−3−3.処理プログラムの要求
処理プログラム要求・実行部713を実行するCPU203は、メイン処理部711の実行において取得したトランザクションレコードに記録されている約款IDに基づいて、商品定義体プログラム2094を特定し、処理名をアクセスした当該商品定義体プログラムに引き渡す(ステップS305)。
例えば、商品定義体プログラム2094をJava(商標)言語で作成している場合には、約款ID(11111)と同一名称で記録されたクラスファイル(11111.class)等によって商品定義体プログラム2094を特定すればよい。なお、約款IDと商品定義体プログラム2094の対応表を用いて商品定義体プログラムを特定するように構成してもよい。
また、商品定義体プログラム2094に引き渡される処理名は、オペレータからの指示に基づいて決定する。例えば、上記においては、年金種類設定画面において年金種類を設定する指示がなされているため、CPU203はメイン処理部711の実行によって取得した処理名である「年金種類設定」を引き渡す。
1−3−4.処理データおよび組合せデータの取得
以下、約款IDが「11111」の商品定義体プログラム2094に処理コードを引き渡した場合について説明する。引き渡しを受けてCPU203は、商品定義体プログラム2094の処理プログラム生成部731を実行し、処理コード記録部733を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS321)。処理コード記録部733には、処理名ごとに処理コードが記録されている。例えば、CPU203は処理名が「年金種類設定」の処理コード7331をサーチ処理等により取得する。
CPU203は、組合せデータ記録部を検索して受け継いだ処理名に対応した契約内容および契約内容IDの組合せデータを取得する(ステップS323)。組合せデータ記録部735には、契約条件(データ項目)ごとに組合せデータが記録されている。例えば、CPU203は契約条件が「年金種類」である組合せデータ7351を取得する。
なお、図7aに示すように、処理プログラム生成部731の機能の一部を処理コード記録部733に設けておき、処理コード記録部733から組合せデータ記録部735を検索し、処理名に対応した契約内容および契約内容IDの組合せデータを取得するように構成してもよい。
1−3−5.処理プログラムの生成
CPU203は、処理コード記録部から取得した処理コードと、組合せデータ記録部から取得した組合せデータに基づいて処理プログラムを生成する(ステップS325)。図8に、生成した処理プログラムの構成例を示す。処理プログラム80は、処理コード801および組合せデータ803から構成されている。例えば、処理コード801には、「年金種類設定」を処理するためのプログラムコードが記述されている。なお、このプログラムコードの表現形式は、ソースコードまたはオブジェクトコードのいずれであってもよい。
また、組合せデータ803には、「年金種類設定」を処理するためのプログラムコードが使用する契約内容IDおよび契約内容の組合せデータが記述されている。なお、この組合せデータの表現形式は、契約内容IDに対応する契約内容が上記プログラムコードの実行時において判断できるものであればよい。例えば、配列形式やテーブル形式等の表現形式がこれに該当する。
1−3−6.処理プログラムの引き渡し
商品定義体プログラム2094を実行するCPU203は、生成した処理プログラム80を業務プログラム2091に引き渡す(ステップS327)。例えば、CPU203は、リダイレクト機能やパイプ機能等を用いて処理プログラム80を引き渡す処理を行う。
1−3−7.処理プログラムの実行
業務プログラム2091においてCPU203は、商品定義体プログラム2094から受け継いだ処理プログラム80を実行し、画面データから取得した契約内容に対応する契約内容IDを取得する(ステップS307)。このとき実行される処理プログラム80のフローチャートを図4に示す。処理プログラム80の実行においてCPU203は、業務プログラム2091のフローチャートステップS301において取得した画面データから契約内容を入力する(ステップS401)。例えば、契約内容として「保証期間付終身年金」を入力する。
CPU203は、処理プログラム80に格納されている組合せデータ803から、契約内容IDおよび契約内容の組合せデータを1件読み込む(ステップS403)。例えば、図8に示した処理プログラム80の組合せデータから、契約内容ID「01」および契約内容「確定年金」の組合せデータ8031を読み込む。
CPU203は、入力した契約内容と、読み込んだ組合せデータにおける契約内容が一致するか否かを判断する(ステップS405)。例えば、入力した契約内容「保証期間付終身年金」と、最初に読み込んだ組合せデータにおける契約内容「確定年金」が一致するか否かを判断する。
ステップS405において、契約内容が一致しなければステップS403に戻って次の組合せデータを読み込み、ステップS405を再実行する(ステップS405、NO)。一致していれば、ステップS407に進み、組合せデータの契約内容に対応づけて記録されている契約内容IDを取得する(ステップS407)。例えば、契約内容「保証期間付終身年金」は、2番目に読み込んだ組合せデータ8032(契約内容ID「02」と契約内容「保証期間付終身年金」)の契約内容と一致するので、これに対応する契約内容ID「02」を取得する。
CPU203は、取得した契約内容IDを、トランザクションレコードから取得したワーク領域の所定の変数位置に記録する(ステップS409)。例えば、年金種類の変数位置を示すワーク領域の変数1に契約内容「02」を記録する。ここで、契約内容を記録する対象となる変数位置の情報は、処理プログラムの元となる処理コード内に予め設定されている。
なお、変数位置を処理コード以外に設定してもよい。例えば、上記組合せデータや独立した変数位置データ等に設定しておき、生成時において処理プログラムに組み込むように構成してもよい。
なお、処理プログラムをJava(商標)で作成している場合には、契約内容IDおよび契約内容の組合せデータを、JavaAPIにおけるHashMapクラスのKeyおよびValueにセットされるように処理プログラムを生成するように構成しておき、処理プログラム内でデータ取得メソッドを指定することによって契約内容等を取り扱うようにすればよい。
1−3−8.レコードの更新
処理プログラムの実行を終えると、CPU203は、ワーク領域に記録されたデータに基づいてトランザクションデータベース2093のレコードを更新する(ステップS309)。例えば、図6に示すトランザクションレコード61が、更新されてトランザクションレコード65のようになる。図6に示すように、レコード61の変数1「01」が、レコード65の変数1「02」に更新されている。
1−4.まとめ
以上説明したように、この発明によれば、トランザクションデータにおける1つの項目を使用して、複数の契約条件にかかる契約内容を管理することができる。このため、トランザクションデータベースにおいて保険商品データにかかる契約条件ごとに契約内容を管理しなくても、所望の契約条件における契約内容を取得して、これにかかる処理を実行することができる。これにより、複数のデータ項目を有するデータを含むトランザクションデータを取り扱う場合であっても、フォーマットを一元化してシステム構成を簡単にすることができる。
また、商品の種類を示す種類ID(約款ID)に基づいて商品定義体プログラムを特定し、特定した商品定義体プログラム内において所定の処理コードと組合せデータを用いて生成した処理プログラムを用いてデータ処理を行うように構成することにより、商品に基づく特性を業務プログラムに記述する必要がなくなる。これにより、業務プログラムのメンテナンス性を向上させることができる。
さらに、新たな商品の追加があった場合であっても、これに対応する商品定義体プログラムを追加して、必要な処理コードおよび必要な組合せデータを設定するだけで対応することができる。これにより、システム開発者に多大の負担を強いることなく、システム変更に柔軟に対応することができる。
本発明は、商品データの内容に基づいて定まる判断ロジックと、当該判断ロジックを呼び出す業務プログラムとをそれぞれ独立して構成することにより、業務プログラムの汎用性を高めたソフトウェアを構成することができる。したがって、導入各社の業務体系にあわせてカスタマイズを行うようなパッケージソフトに対して本発明を適用した場合には、商品定義体プログラムにおける処理コードおよび組合せデータのみを、各社の業務に沿うように設計するだけでよい。これにより、業務プログラムのカスタマイズ作業を不要とし、開発コストや導入コストを低減させることができる。
2.第2の実施形態
第1の実施形態においては、図7に示したように、業務プログラム2091をメイン処理部711と処理プログラム要求・実行部713によって構成し、商品定義体プログラム2094を処理プログラム生成部731、処理コード記録部733および組合せデータ記録部735によって構成する例について説明したが、本実施形態においては、処理プログラム要求・実行部713における処理プログラムの要求にかかる処理を、業務プログラムから独立したラッパープログラムを用いて構成する例について説明する。なお、ラッパープログラムとは、外部からの要求に応じて、所定の処理を集中して実行するものである。
図9に、業務プログラム2091、ラッパープログラム2092および商品定義体プログラム2094における機能ブロック図を示す。業務プログラム2091は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部911および処理プログラムを実行する処理プログラム実行部931bから構成される。ラッパープログラム2092は、商品定義体プログラム2094等に処理プログラムを要求するための処理プログラム要求部931aから構成される。商品定義体プログラム2094は、要求を受けて処理プログラムを生成するための処理プログラム生成部933a、b、c、…等と、処理名ごとに処理コードを記録した処理コード記録部951と、処理名ごとに契約内容IDおよび契約内容の組合せデータを記録した組合せデータ記録部952から構成される(例えば、約款IDが「11111」の場合。)。
本実施形態においても第1の実施形態と同様に、生命保険の契約管理に関するトランザクションデータおよび生命保険商品に関する商品定義データを管理するデータ管理装置の例について説明する。
2−1.機能ブロック図
本発明にかかるデータ管理装置1の機能ブロック図は、第1の実施形態の図1に示したものと同様である。
2−2.ハードウェア構成
本発明にかかるデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例は、基本的には第1の実施形態の図2に示したものと同様であるが、ハードディスク209にラッパープログラムが記録されている点が異なる。
2−3.処理詳細
図10を用いて、本実施形態における処理の詳細を説明する。なお、本実施形態において、業務プログラム2091は、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。
本実施形態においても、第1の実施形態と同様に、証券番号によって特定されるトランザクションデータにおける年金種類を、「確定年金」から「保証期間付終身年金」に変更する指示をユーザが行う場合について説明する。図10は、上記の場合においてデータ管理装置1で実行される業務プログラム2091、ラッパープログラム2092および商品定義体プログラム2094のフローチャートの例である。
2−3−1.画面データの取得
第1の実施形態と同様に、図5に示した年金種類設定画面501において、オペレータが証券番号の入力欄503に「00001」を入力し、保証期間付終身年金のラジオボタン505を選択して、設定ボタン507を押下した場合について説明する。
設定ボタン507の押下を受けて、メイン処理部911を実行するCPU203は画面データを取得する(ステップS1001)。例えば、CPU203は画面データとして、証券番号「00001」および年金種類「保証期間付終身年金」を取得する。
2−3−2.レコードの取得
メイン処理部911を実行するCPU203は、画面データとして入力された証券番号に基づいてトランザクションデータベース2093にアクセスして検索し、当該証券番号によって特定されるトランザクションレコードをメモリ205に作成されたワーク領域に取得する(ステップS1003)。なお、トランザクションデータベース2093およびワーク領域の例は、第1の実施形態の図6に示したものと同様である。例えば、CPU203は、証券番号「00001」によって特定されるトランザクションレコード61をトランザクションデータベース2093から取得する。
業務プログラム2091を実行するCPU203は、トランザクションレコード61に記録されている約款IDおよび、オペレータ指示に基づいて特定された処理名を、ラッパープログラム2092に引き渡す(ステップS1005)。例えば、上記においては、年金種類設定画面において年金種類を設定する指示がなされているため、CPU203はメイン処理部911の実行によって取得した処理名である「年金種類設定」を引き渡す。
なお、上記ステップS1005において、トランザクションレコード61の契約内容IDである変数1、2、3…を、ラッパープログラム2092に同時に引き渡すように構成してもよい。これにより、ラッパープログラム2092または商品定義体プログラム2094において、契約内容IDに基づく処理を行うことが可能となる。
2−3−3.ラッパープログラムの実行
ラッパープログラム2092を実行するCPU203は、処理プログラム要求部931aにおいて、業務プログラム2091から受け継いだ約款IDに基づいて商品定義体プログラムを特定し、特定した商品定義体プログラム2094にアクセスして処理名を引き渡す(ステップS1021)。
2−3−4.処理データおよび組合せデータの取得
引き渡しを受けてCPU203は、商品定義体プログラム2094の処理プログラム生成部933aを実行し、受け継いだ処理名に対応する処理コードを処理コード記録部951から取得する(ステップS1041)。処理コード記録部951には、処理名ごとに処理コードが記録されている。例えば、CPU203は処理名が「年金種類設定」の処理コードを取得する。
CPU203は、受け継いだ処理名に対応する契約内容および契約内容IDの組合せデータを組合せデータ記録部952から取得する(ステップ1043)。組合せデータ記録部952には、契約条件ごとに組合せデータが記録されている。例えば、CPU203は契約条件が「年金種類」である組合せデータを取得する。
2−3−5.処理プログラムの生成・実行
商品定義体プログラム2094を実行するCPU203は、取得した処理コードおよび組合せデータに基づいて処理プログラムを生成する(ステップS1045)。生成した処理プログラムの例は、第1の実施形態の図8に示したものと同様である。
商品定義体プログラム2094を実行するCPU203は、生成した処理プログラム80をラッパープログラム2092に引き渡す(ステップS1047)。これを受けて、ラッパープログラム2092を実行するCPU203は、さらに処理プログラムを業務プログラム2091に引き渡す(ステップS1023)。
業務プログラム2091を実行するCPU203は、受け継いだ処理プログラム80を実行し、画面データから取得した契約内容に対応する契約内容IDを取得する(ステップS1007)。このとき実行される処理プログラム80のフローチャートは、第1の実施形態の図4に示したものと同様である。
図4に示したように、例えば、契約内容「保証期間付終身年金」に対応する契約内容ID「02」を取得し、取得した契約内容IDをトランザクションレコードのワーク領域における変数1に記録する。
2−3−6.レコードの更新
処理プログラムの実行を終えると、CPU203は、ワーク領域に記録されたデータに基づいてトランザクションデータベース2093のレコードを更新する(ステップS1009)。例えば、第1の実施形態の図6に示したように、トランザクションレコード61が、更新されてトランザクションレコード65のようになる。図6に示すように、レコード61の変数1「01」が、レコード65の変数1「02」に更新されている。
2−4.まとめ
以上説明したように、この発明によれば、約款IDに対応する商品定義体プログラムを決定し、所望の処理プログラムを要求するための処理を1つのプログラムに集約することができる。すなわち、商品定義体の特定処理と実行すべき処理プログラムの要求処理を、業務プログラムと独立した構成とすることができる。このため、ラッパープログラムをすべての指示に対して汎用的に使用することができる。これにより、業務プログラムにおいて、オペレータの指示ごとに、商品定義体の特定処理と処理プログラムの要求処理を行うプログラムを作成する必要がなくなり、システム構成を簡単にして業務プログラムのメンテナンス性を向上させることができる。
なお、図9aに、ラッパープログラムを用いる場合における別の実施形態を示す。この実施形態においては、処理プログラム要求・実行部931と処理プログラム生成部933をラッパープログラムによって構成している。また、図10aは、上記の場合においてデータ管理装置1で実行される業務プログラム2091、ラッパープログラム2092および商品定義体プログラム2094のフローチャートの例である。業務プログラム2091における処理ステップS1001〜S1003、S1009およびラッパープログラム2092における処理ステップS1021は、図10に示したもの同様である。
図10aに示すステップS1004において、業務プログラム2091を実行するCPU203は、トランザクションレコード61に記録されている約款ID、オペレータ指示に基づいて特定された処理名および画面データから取得した契約内容を、ラッパープログラム2092に引き渡す。
ラッパープログラム2092を実行するCPU203は、処理プログラム要求・実行部931において、業務プログラム2091から受け継いだ約款IDに基づいて商品定義体プログラム2094を特定し、特定した商品定義体プログラム2094の名称と、同時に受け継いだ処理名を処理プログラム生成部933に引き渡す。さらに、処理プログラム生成部933は、その名称を受け継いだ商品定義体プログラム2094に対して処理名を引き渡す(ステップS1021)。
引き渡しを受けてCPU203は、商品定義体プログラム2094を実行して処理コード記録部951から受け継いだ処理名に対応する処理コードを取得してラッパープログラム2092に引き渡す(ステップS1051)。処理コード記録部951には、処理名ごとに処理コードが記録されている。例えば、CPU203は処理名が「年金種類設定」の処理コードを取得する。
CPU203は、組合せデータ記録部から受け継いだ処理名に対応する契約内容および契約内容IDの組合せデータを取得してラッパープログラム2092に引き渡す(ステップ1053)。組合せデータ記録部952には、契約条件ごとに組合せデータが記録されている。例えば、CPU203は契約条件が「年金種類」である組合せデータを取得する。
ラッパープログラム2092を実行するCPU203は、商品定義体プログラム2094から受け継いだ処理コードおよび、組合せデータに基づいて処理プログラムを生成する(ステップS1022)。生成した処理プログラムの例は、第1の実施形態の図8に示したものと同様である。
ラッパープログラム2092を実行するCPU203は、処理プログラム生成部933において生成した処理プログラム80を実行し、画面データから取得した契約内容に対応する契約内容IDを取得する(ステップS1024)。このとき実行される処理プログラム80のフローチャートは、第1の実施形態の図4に示したものと同様である。
図4に示したように、例えば、契約内容「保証期間付終身年金」に対応する契約内容ID「02」を取得し、取得した契約内容IDをトランザクションレコードのワーク領域における変数1に記録する。
以上説明したように、この発明によれば、契約内容IDまたは契約内容を決定するための処理を1つのプログラムに集約することができる。すなわち、所定の指示を受けて実行すべき処理プログラムの生成処理と実行処理を行うプログラムを、業務プログラムと独立した構成とすることができる。このため、ラッパープログラムをすべての指示に対して汎用的に使用することができる。これにより、オペレータの指示ごとに、処理プログラムの生成処理と実行処理を行うプログラムを作成する必要がなくなり、システム構成を簡単にして業務プログラムのメンテナンス性を向上させることができる。
3.第3の実施形態
第1の実施形態においては、画面データに入力された1つの契約内容(データ内容)に対応する契約内容ID(データ内容ID)を取得した後、当該契約内容IDをトランザクションに格納する例について説明したが、本実施形態においては、2以上の契約内容(データ内容)に対応する契約内容IDを取得して、これらの契約内容IDの組合せが正しいか否かをチェックする処理を行った後、当該2以上の契約内容IDをトランザクションに格納する例について説明する。なお、本実施形態においても第1の実施形態と同様に、生命保険の契約管理に関するトランザクションデータおよび生命保険商品に関する商品定義データを管理するデータ管理装置の例について説明する。
3−1.機能ブロック図
本発明にかかるデータ管理装置1の機能ブロック図は、第1の実施形態の図1に示したものと同様である。
3−2.ハードウェア構成
本発明にかかるデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例は、基本的には第1の実施形態の図2に示したものと同様である。
3−3.処理詳細
図13〜17を用いて、本実施形態における処理の詳細を説明する。なお、業務プログラム2091および商品定義体プログラム2094における機能ブロック図は、第1の実施形態の図7に示したものと同様である。本実施形態においては、証券番号によって特定されるトランザクションデータにおける年金種類を、「確定年金」から「保証期間付終身年金」に、年金支払期間を「5年」から「終身」に、それぞれ変更する指示をユーザが行う場合について説明する。図13は、上記の場合においてデータ管理装置1で実行される業務プログラム2091および商品定義体プログラム2094のフローチャートの例である。
3−3−1.画面データの取得
図15に、業務プログラム2091におけるメイン処理部711(図7)の実行によってディスプレイ201に表示される年金種類設定画面1501の例を示す。この画面においては、証券番号の入力欄1503、年金種類の設定用のラジオボタン1504および1505、年金支払期間の設定用のラジオボタン1506等が表示されており、データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、年金種類および年金支払期間の変更を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄1503に「00001」を入力し、年金種類に「保証期間付終身年金」を設定するためのラジオボタン1505および年金支払期間に「終身」を設定するためのラジオボタン1506を選択して、設定ボタン1507を押下することによって、データ管理装置1に対して年金種類および年金支払期間の変更を指示する。
設定ボタン1507の押下を受けて、メイン処理部711を実行するCPU203は画面データを取得する(ステップS1301)。例えば、CPU203は画面データとして、証券番号「00001」、年金種類「保証期間付終身年金」および年金支払期間「終身」を取得する。
3−3−2.レコードの取得
メイン処理部711を実行するCPU203は、画面データとして入力された証券番号に基づいてトランザクションデータベース2093にアクセスして検索し、当該証券番号によって特定されるトランザクションレコードをメモリ205に作成されたワーク領域に取得する(ステップS1303)。
図16にトランザクションデータベース2093の例を示す。このデータベースには、第1の実施形態の図6と同様に、生命保険の契約管理に関するトランザクションデータが管理されている。なお、上記ワーク領域のレコードフォーマットは、トランザクションデータベースのレコードフォーマットと同一である。 例えば、CPU203は、証券番号「00001」によって特定されるトランザクションレコード161をトランザクションデータベース2093から取得する。
3−3−3.処理プログラムの要求
処理プログラム要求・実行部713を実行するCPU203は、メイン処理部711の実行において取得したトランザクションレコードに記録されている約款IDに基づいて、商品定義体プログラム2094を特定し、処理名をアクセスした当該商品定義体プログラムに引き渡す(ステップS1305)。
例えば、Java(商標)言語で作成された商品定義体プログラム2094のクラスファイル(11111.class)等によって商品定義体プログラム2094を特定する。また、商品定義体プログラム2094に引き渡される処理名は、オペレータからの指示に基づいて決定する。例えば、上記においては、年金種類設定画面において年金種類を設定する指示がなされているため、CPU203はメイン処理部711の実行によって取得した処理名である「年金種類設定」、「支払期間設定」および、「相関チェック」を引き渡す。すなわち、本実施形態においては、複数の処理コードが引き渡される。
3−3−4.処理データおよび組合せデータの取得
以下、約款IDが「11111」の商品定義体プログラム2094に処理名を引き渡した場合について説明する。引き渡しを受けてCPU203は、商品定義体プログラム2094の処理プログラム生成部731を実行し、処理コード記録部733を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS1321)。処理コード記録部733には、処理名ごとに処理コードが記録されている。例えば、CPU203は処理名が「年金種類設定」の処理コード7331、「支払期間設定」の処理コード7332および「相関チェック」の処理コード7333を取得する。
CPU203は、組合せデータ記録部を検索して受け継いだ処理名に対応した契約内容および契約内容IDの組合せデータを取得する(ステップS1323)。組合せデータ記録部735には、契約条件ごとに組合せデータが記録されている。例えば、CPU203は契約条件が「年金種類」である組合せデータ7351および「支払期間」である組合せデータ7352を取得する。
3−3−5.処理プログラムの生成
CPU203は、処理コード記録部から取得した処理コードと、組合せデータ記録部から取得した組合せデータに基づいて処理プログラムを生成する(ステップS1325)。図17に、生成した処理プログラムの構成例を示す。処理プログラム170は、「年金種類設定」の処理コード1701および組合せデータ1702、「支払期間設定」の処理コード1703および組合せデータ1704、「相関チェック」の処理コード1705およびチェックデータ1706から構成されている。
この場合において、チェックデータ1706は商品定義体プログラム2094において処理コード1705と同一領域に記録されているものとする。チェックデータは、設定可能な年金種類と支払期間の組合せをすべて記録したものであり、このデータの表現形式は、処理コードの実行時において判断できるものであればよい。例えば、配列形式やテーブル形式等の表現形式がこれに該当する。チェックデータに記録されるデータは契約内容IDまたは契約内容のいずれであってもよい。
なお、図17aに示すように、処理コードごとに処理プログラムを生成するように構成してもよい。例えば、「年金種類設定」の処理コードおよび組合せデータから生成される「年金種類設定」処理プログラム171、「支払期間設定」の処理コードおよび組合せデータから生成される「支払期間設定」処理プログラム173、「相関チェック」の処理コードおよびチェックデータから生成される「相関チェック」処理プログラム175をそれぞれ生成してもよい。
3−3−6.処理プログラムの引き渡し
商品定義体プログラム2094を実行するCPU203は、生成した処理プログラム80を業務プログラム2091に引き渡す(ステップS1327)。例えば、CPU203は、リダイレクト機能やパイプ機能等を用いて処理プログラム170を引き渡す処理を行う。
3−3−7.処理プログラムの実行
業務プログラム2091においてCPU203は、商品定義体プログラム2094から受け継いだ処理プログラム170を実行する(ステップS1307)。このとき実行される処理プログラム170のフローチャートを図14に示す。
処理プログラム170の実行においてCPU203は、処理コード1701と組合せデータ1702を用いて、年金種類設定処理を実行し、ワーク領域の所定変数位置の契約内容IDを更新する(ステップS1401)。例えば、変数1を「01」から「02」に更新する。なお、年金種類設定処理のフローチャートは、第1の実施形態の図4に示したものと同様である。
ステップS1401と同様に、CPU203は、処理コード1703と組合せデータ1704を用いて、支払期間設定処理を実行し、ワーク領域の所定変数位置の契約内容IDを更新する(ステップS1403)。例えば、変数2を「02」から「01」に更新する。
CPU203は、処理コード1705とチェックデータ1706を用いて、年金種類と支払期間の設定値が正しいか否かを判定するために相関チェック処理を実行する(ステップS1405〜)。CPU203は、ワーク領域から年金種類と支払期間に設定された契約内容IDを入力する(ステップS1405)。例えば、上記ステップS1401において設定した変数1から「保証期間付終身年金」を示す契約内容ID「02」と、変数2から「終身」を示す契約内容ID「01」をそれぞれ入力する。
CPU203は、チェックデータの読み込みを判断し(ステップS1407、NO)、チェックデータ1706から、年金種類および支払期間の組合せデータを1件読み込む(ステップS1409)。例えば、図17に示した処理プログラム170におけるチェックデータ1706の組合せデータから、年金種類「02(保証期間付終身年金)」および支払期間「01(終身)」の組合せデータ17061を読み込む。
CPU203は、ワーク領域から入力した契約内容IDの組合せと、チェックデータ1706から読み込んだ組合せデータが、一致するか否かを判断する(ステップS1411)。例えば、入力した「保証期間付終身年金」を示す契約内容ID「02」および「終身」を示す契約内容ID「01」の組合せと、チェックデータ1706の1件目の年金種類「02(保証期間付終身年金)」および支払期間「01(終身)」の組合せデータ17061が、一致するか否かを判断する。
ステップS1411において、契約内容IDの組合せが一致しなければステップS1407に戻って同様の処理を繰り返す(ステップS1411、NO)。一方、契約内容IDの組合せが一致していれば、ステップS1413に進み、更新可能フラグを立てる(ステップS1413)。例えば、上記の入力した「保証期間付終身年金」を示す契約内容ID「02」および「終身」を示す契約内容ID「01」の組合せは、1番目に読み込んだ組合せデータ17061と一致するので、更新可能フラグをONにして当該処理を終了する。
なお、ステップS1407において、すべてのチェックデータ1706の組合せを読み込んだと判断した場合には、CPU203は更新可能フラグをOFFにする(ステップS1415)。すなわち、この場合には入力した契約内容IDの組合せに一致するチェックデータが存在せず、ワーク領域に設定された年金種類と支払期間の契約内容IDの組合せが設定不可能であると判断する。
なお、上述したように処理コードごとの複数の処理プログラムを生成する構成とした場合には、上記ステップS1307において各処理プログラムを順次実行すればよい。この場合において、「年金種類設定」処理プログラム171における処理は、ステップS1401(図14)と同様であり、「支払期間設定」処理プログラム173における処理は、ステップS1403と同様であり、「相関チェック」処理プログラム175における処理は、ステップS1405〜S1415と同様である。
3−3−8.レコードの更新
処理プログラムの実行を終えると、CPU203は、更新可能フラグに基づいて、ワーク領域に記録されているデータに基づいてトランザクションレコードの更新が可能であるか否かを判断する(ステップS1309)。CPU203は、更新可能フラグがONであれば、更新可能であると判断してトランザクションデータベース2093のトランザクションレコードを更新する(ステップS1313)。例えば、図16に示すトランザクションレコード161が、更新されてトランザクションレコード165のようになる。図16に示すように、レコード161の変数1「01」および変数2「02」が、レコード165の変数1「02」および変数2「01」に更新されている。
また、CPU203は、更新可能フラグがOFFであれば、更新不可能であると判断してディスプレイ201に更新が不可能である旨を示すエラーメッセージを出力し、オペレータにデータ入力値の変更を促す(ステップS1311)。
3−4.まとめ
以上説明したように、この発明によれば、2以上の契約内容(データ内容)に対応する契約内容IDを取得して、これらの契約内容IDの組合せが正しいか否かをチェックする処理を行うことができる。このため、トランザクションデータベースにおいて保険商品データにかかる契約条件ごとに契約内容を管理しなくても、所望の契約条件における契約内容のチェックプログラムを取得して、これにかかるチェック処理を実行することができる。
また、商品の種類を示す種類ID(約款ID)に基づいて商品定義体プログラムを特定し、特定した商品定義体プログラム内においてチェックプログラムの処理コードとチェックリストを用いて生成した処理プログラムによってチェック処理を行うように構成することにより、商品に基づく特性を業務プログラムに記述する必要がなくなる。これにより、業務プログラムのメンテナンス性を向上させることができる。
4.第4の実施形態
第1〜3の実施形態においては、1つのトランザクションにおけるデータを取り扱う場合について説明したが、本実施形態においては、互いに関連する複数のトランザクションにおけるデータを取り扱う場合について説明する。
生命保険の分野においては、1の主契約に対して複数の特約が付加されたものを1つの保険商品として販売することが一般的である。主契約トランザクションと特約トランザクションを同一のデータベース上で管理する場合、あるトランザクションに契約内容データを格納するときには、同一保険商品に含まれる他のトランザクションにおける契約内容データとの整合性をとる必要がある。
(1)例えば、主契約が「定額年金」である場合において、「定期保険特約」を付加するときには、主契約に設定可能な年金種類は「確定年金」に限定され、同じく主契約に設定可能な年金支払期間は「10年」に取扱範囲が限定されることがある。
(2)例えば、主契約が「定額年金」である場合において、「3大疾病定期保険特約」を付加するときには、月額の合計保険料が「3000円」以上であることが条件とされることがある。
(3)例えば、主契約が「定額年金」である場合において、「定期保険特約」を付加するときには、保険商品名が「A年金」として取り扱われ、同じく「3大疾病定期保険特約」を付加するときには、保険商品名が「B年金」として取り扱われることがある。
本実施形態においても第1〜3の実施形態と同様に、生命保険の契約管理に関するトランザクションデータおよび生命保険商品に関するデータを管理するデータ管理装置の例について説明する。
なお、第1〜3の実施形態において説明した「商品定義データ」については、本実施形態においては「約款定義データ」と読み替えて説明する。すなわち、「約款定義体プログラム」がこれに該当する。生命保険商品についての商品特性は、約款によって定まるものであり、約款を定義することは商品の内容を定義することと同義であるためである。また、1つの主契約に対して複数の特約が付加された保険商品を定義するためのデータを「契約リバンドル定義データ」として説明する。すなわち、「契約リバンドル定義体プログラム」がこれに該当する。
したがって、本実施形態のデータ管理装置は、「約款定義データ」および「契約リバンドル定義データ」を管理するデータ管理装置である。
4−1.機能ブロック図
本発明にかかるデータ管理装置1の機能ブロック図を、図20に示す。この図は、第1の実施形態の図1に示したものにグループ定義部18を追加したものである。グループ定義部18は、複数の種類IDの組合せごとに、データ記録部に記録可能なデータ内容IDの組合せまたはデータ内容の組合せを記録する。例えば、保険商品の場合には、主契約に対する特約の組み合せパターンごとに、取扱可能な契約内容IDの組合せまたは契約内容の組合せを記録する。
4−2.ハードウェア構成
本発明にかかるデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例を図21に示す。この図は、基本的には第1の実施形態の図2に示したものと同様であるが、ハードディスク209は、業務プログラム2091、ラッパープログラムA2092a、ラッパープログラムB2092b、トランザクションデータベース2093、契約リバンドル定義体プログラム2095および約款定義体プログラム2096を記録している点が異なる。
4−3.処理詳細(1)
図22〜30を用いて、本実施形態における処理の詳細(1)を説明する。なお、本実施形態においても、業務プログラム2091は、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。図22に、業務プログラム2091、ラッパープログラムA2092a、ラッパープログラムB2092b、契約リバンドル定義体プログラム2095および約款定義体プログラム2096における機能ブロック図を示す。
業務プログラム2091は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部2111を備えている。
ラッパープログラムA2092aは、契約リバンドル定義体プログラム2095に処理プログラムを要求してこれを実行するための処理プログラム要求・実行部2131を備えている。
契約リバンドル定義体プログラム2095は、ラッパープログラムA2092aからの要求を受けて処理プログラムを生成するための処理プログラム生成部2151と、処理名ごとに処理コードを記録した処理コード記録部2153と、処理名ごとに所定のチェックデータを記録したチェックデータ記録部2155と、ラッパープログラムB2092bを介して約款定義体プログラム2096に記録されたデータを取得するためのデータ取得部2157を備えている(例えば、主たる約款IDが「11111」の場合。)。
本実施形態においては、第3の実施形態と同様に、証券番号によって特定されるトランザクションデータにおける年金種類を、「確定年金」から「保証期間付終身年金」に、年金支払期間を「5年」から「終身」に、それぞれ変更する指示をユーザが行う場合について説明する。図23は、上記の場合においてデータ管理装置1で実行される業務プログラム2091、ラッパープログラムB2092bおよび約款定義体プログラム2096のフローチャートの例である。
4−3−1.画面データの取得
図15に、業務プログラム2091におけるメイン処理部2111(図22)の実行によってディスプレイ201に表示される年金種類設定画面1501の例を示す。この画面においては、証券番号の入力欄1503、年金種類の設定用のラジオボタン1504および1505、年金支払期間の設定用のラジオボタン1506等が表示されており、データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、年金種類および年金支払期間の変更を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄1503に「00001」を入力し、年金種類に「保証期間付終身年金」を設定するためのラジオボタン1505および年金支払期間に「終身」を設定するためのラジオボタン1506を選択して、設定ボタン1507を押下することによって、データ管理装置1に対して年金種類および年金支払期間の変更を指示する。
設定ボタン1507の押下を受けて、メイン処理部2111を実行するCPU203は画面データを取得する(ステップS2201、図23)。例えば、CPU203は画面データとして、証券番号「00001」、年金種類「保証期間付終身年金」および年金支払期間「終身」を取得する。
4−3−2.レコードの取得
メイン処理部2111を実行するCPU203は、画面データとして入力された証券番号に基づいてトランザクションデータベース2093にアクセスして検索し、当該証券番号によって特定されるトランザクションレコードをメモリ205に作成されたワーク領域に取得する(ステップS2203)。
図28にトランザクションデータベース2093の例を示す。このデータベースには、生命保険の契約管理に関するトランザクションデータとして、証券番号601、枝番611、主特区分613、約款ID603、変数1_605、変数2_607、変数3_609、保険料615…等が記録されている。なお、上記ワーク領域のレコードフォーマットは、トランザクションデータベースのレコードフォーマットと同一である。
ここで、証券番号601はトランザクションレコードを特定するためのデータIDであり、枝番611は同一の証券番号によって管理される複数の約款を一意に特定するためのデータIDであり、主特区分613は保険契約が「主契約」であるか「特約」であるかを示すための区分データである。なお、ここでは、「主契約」を「1」、「特約」を「2」としている。また、同一の証券番号ごとに「主契約」は1つのみしか存在しないが、「特約」は複数存在してもよい。約款ID603は保険商品を特定するための識別IDであり、変数1_605、変数2_607、変数3_609…はそれぞれの契約内容を特定するための契約内容IDである。
例えば、CPU203は、証券番号「00001」によって特定されるトランザクションレコード281をトランザクションデータベース2093からワーク領域に取得する。
4−3−3.処理プログラムの要求
業務プログラム2091を実行するCPU203は、トランザクションレコード281に記録されている約款IDおよび、オペレータ指示に基づいて特定された処理名を、ラッパープログラムB2092bに引き渡す(ステップS2205)。例えば、上記においては、年金種類設定画面において年金種類を設定する指示がなされているため、CPU203はメイン処理部2111の実行によって取得した処理名である「年金種類設定」、「支払期間設定」および、「相関チェック」を引き渡す。すなわち、本実施形態においては、複数の処理コードが引き渡される。
4−3−4.ラッパープログラムの実行
ラッパープログラムB2092bを実行するCPU203は、処理プログラム要求・実行部2131において、業務プログラム2091から受け継いだ約款IDに基づいて約款定義体プログラムを特定し、特定した約款定義体プログラム2096にアクセスして処理名を引き渡す(ステップS2221)。
4−3−5.処理データおよび組合せデータの取得
以下、約款IDが「11111」の約款定義体プログラム2096に処理コードを引き渡した場合について説明する。引き渡しを受けてCPU203は、約款定義体プログラム2096の処理プログラム生成部2191を実行し、処理コード記録部2193を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS2241)。処理コード記録部2193には、処理名ごとに処理コードが記録されている。例えば、図7に示したように、CPU203は処理名が「年金種類設定」の処理コード7331、「支払期間設定」の処理コード7332および「相関チェック」の処理コード7333を取得する。
CPU203は、組合せデータ記録部を検索して受け継いだ処理名に対応した契約内容および契約内容IDの組合せデータを取得する(ステップS2243)。組合せデータ記録部2195には、契約条件ごとに組合せデータが記録されている。例えば、図7に示したように、CPU203は契約条件が「年金種類」である組合せデータ7351および「支払期間」である組合せデータ7352を取得する。
4−3−6.処理プログラムの生成
CPU203は、処理コード記録部から取得した処理コードと、組合せデータ記録部から取得した組合せデータに基づいて処理プログラムを生成する(ステップS2245)。図17に、生成した処理プログラムの構成例を示す。処理プログラム170は、「年金種類設定」の処理コード1701および組合せデータ1702、「支払期間設定」の処理コード1703および組合せデータ1704、「相関チェック」の処理コード1705およびチェックデータ1706から構成されている。
この場合において、チェックデータ1706は約款定義体プログラム2096において処理コード1705と同一領域に記録されているものとする。チェックデータは、設定可能な年金種類と支払期間の組合せをすべて記録したものであり、このデータの表現形式は、処理コードの実行時において判断できるものであればよい。例えば、配列形式やテーブル形式等の表現形式がこれに該当する。チェックデータに記録されるデータは契約内容IDまたは契約内容のいずれであってもよい。
なお、図17aに示すように、処理コードごとに処理プログラムを生成するように構成してもよい。例えば、「年金種類設定」の処理コードおよび組合せデータから生成される「年金種類設定」処理プログラム171、「支払期間設定」の処理コードおよび組合せデータから生成される「支払期間設定」処理プログラム173、「相関チェック」の処理コードおよびチェックデータから生成される「相関チェック」処理プログラム175をそれぞれ生成してもよい。
4−3−7.処理プログラムの引き渡し
約款定義体プログラム2096を実行するCPU203は、生成した処理プログラム170をラッパープログラムB2092bに引き渡す(ステップS2247)。これを受けて、ラッパープログラムB2092bを実行するCPU203は、さらに処理プログラム170を業務プログラム2091に引き渡す(ステップS2223)。
4−3−8.処理プログラムの実行
業務プログラム2091においてCPU203は、約款定義体プログラム2096から受け継いだ処理プログラム170を実行する(ステップS2207)。このとき実行される処理プログラム170のフローチャートは図14に示したものと同様である。
4−3−9.契約リバンドルチェック処理
処理プログラムの実行を終えると、CPU203は、更新可能フラグに基づいて、ワーク領域に記録されているデータに基づいてトランザクションレコードの更新が可能であるか否かを判断する(ステップS2209)。CPU203は、更新可能フラグがONであれば、更新可能であると判断して契約リバンドルチェック処理を実行する(ステップS2211)。
また、CPU203は、更新可能フラグがOFFであれば、更新不可能であると判断してディスプレイ201に更新が不可能である旨を示すエラーメッセージを出力し、オペレータにデータ入力値の変更を促す(ステップS2214)。
4−3−9−1.レコードの取得と引き渡し(業務プログラム)
図23のステップS2211に示す契約リバンドルチェック処理について、図24を用いて説明する。
業務プログラム2091においてCPU203は、同一契約のトランザクションレコードをすべて取得する(ステップS2401)。例えば、図28に示すトランザクションデータベース2093において、同一契約を示す、証券番号が「00001」であるレコード281およびレコード283をそれぞれ抽出する。ここで、レコード281とレコード283は、証券番号601が同一で枝番611が異なるレコードである。
すべてのレコードを取得すると、CPU203は、取得した全レコードデータおよび所定の処理名をラッパープログラムA2092aに引き渡す(ステップS2403)。例えば、上記においては、「年金種類設定」と「支払期間設定」についての処理がなされていることにより、これらの処理に対応した契約リバンドルチェック処理を実行するため、CPU203は「年金種類−支払期間の契約リバンドルチェック」を処理名として引き渡す。
4−3−9−2.契約リバンドル定義体の特定(ラッパープログラムA)
引き渡しを受けてラッパープログラムA2092aは、全レコードの主特区分613に基づいて主契約レコードを特定し、当該主契約レコードにかかる約款IDに基づいて特定した契約リバンドル定義体プログラム2095に、前記全レコードおよび処理名を引き渡す(ステップS2421)。
例えば、図28に示すレコード281においては、主特区分613が主契約(「1」)を示していることにより、当該レコード281にかかる約款ID603「11111」に基づいて、契約リバンドル定義体プログラム2095を特定する。また、CPU203は、上記「年金種類−支払期間の契約リバンドルチェック」を処理名として引き渡す。
4−3−9−3.処理プログラムの生成(契約リバンドル定義体プログラム)
契約リバンドル定義体プログラム2095を実行するCPU203は、処理プログラム生成部2151を実行し、処理コード記録部2153を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS2441)。処理コード記録部2153には、約款IDの組合せグループごとかつ処理名ごとに処理コードが記録されている。例えば、契約リバンドル定義体プログラム2095を実行するCPU203は、約款IDの組合せグループが「11111」と「22222」の組合せである処理コード群の中から、処理名が「年金種類−支払期間の契約リバンドルチェック」の処理コードを取得する。
次に、CPU203は、チェックデータ記録部2155を検索して受け継いだ処理名に対応したチェックデータを取得する(ステップS2443)。チェックデータ記録部2155には、処理名ごとかつ約款IDの組合せグループごとにチェックデータが記録されている。例えば、CPU203は、約款IDの組合せグループが「11111」と「22222」の組合せであるチェックデータ群の中から、「年金種類−支払期間の契約リバンドルチェックデータ」を取得する。
CPU203は、処理コード記録部2153から取得した処理コードと、チェックデータ記録部2155から取得したチェックデータに基づいて処理プログラムを生成する(ステップS2445)。
図29aに、生成した処理プログラムの構成例を示す。処理プログラム291は、約款IDの組合せグループが「11111−22222」の場合において、「年金種類−支払期間の契約リバンドルチェック」を行うための処理プログラムである。また、チェックデータは、年金種類が「保証期間付終身年金」、支払期間が「終身」であるデータに限り記録可能であることを意味している。つまり、約款ID「11111」と約款ID「22222」との関係においては、トランザクションデータベース2093に記録可能な年金種類および支払期間の組合せを、「保証期間付終身年金」および「終身」の組合せに制限されていることを表している。これにより、同一の保険商品として販売された他の契約(主契約または特約)との関係を考慮して、販売・保全取扱条件を適切に設定することができる。
4−3−9−4.チェック対象の契約内容の取得(契約リバンドル定義体プログラム)
契約リバンドル定義体プログラム2095を実行するCPU303は、データ取得部2157を実行することにより、ワーク領域に記録されているデータにおいて、チェック対象データとされている契約内容IDに対応する契約内容を取得する(ステップS2447)。例えば、上記ステップS2207においては、「年金種類」および「支払期間」についての設定処理を行っているため、「年金種類」および「支払期間」がチェック対象データとして認識され、これらが示す契約内容IDに基づいて契約内容を取得する処理が行われる。図25に契約内容取得処理のフローチャートの例を示す。
契約リバンドル定義体プログラム2095を実行するCPU203は、チェック対象の契約内容IDが含まれるレコードに記録された約款ID、処理名および契約内容IDをラッパープログラムBに引き渡す(ステップS2501)。例えば、約款ID「11111」、処理名「年金種類取得」および「支払期間取得」、契約内容ID「02(年金種類)」および「01(支払期間)」が引き渡される。
ラッパープログラムB2092bを実行するCPU203は、処理プログラム要求・実行部2171において、契約リバンドル定義体プログラム2095から受け継いだ約款IDに基づいて約款定義体プログラムを特定し、特定した約款定義体プログラム2096に対して処理名を引き渡す(ステップS2521)。例えば、約款ID「11111」に基づいて約款定義体プログラム2096を特定し、当該約款定義体プログラム2096に処理名「年金種類取得」および「支払期間取得」を引き渡す。
4−3−9−5.チェック対象の契約内容の取得(約款定義体プログラム)
引き渡しを受けてCPU203は、約款定義体プログラム2096の処理プログラム生成部2191を実行し、受け継いだ処理名に対応する処理コードを処理コード記録部2193から取得する(ステップS2541)。処理コード記録部2193には、処理名ごとに処理コードが記録されている。例えば、CPU203は処理名が「年金種類取得」の処理コードを取得する。
CPU203は、受け継いだ処理名に対応する契約内容および契約内容IDの組合せデータを組合せデータ記録部2195から取得する(ステップ2543)。組合せデータ記録部2195には、契約条件ごとに組合せデータが記録されている。例えば、CPU203は契約条件が「年金種類」である組合せデータを取得する。
4−3−9−6.処理プログラムの生成(約款定義体プログラム)
約款定義体プログラム2096を実行するCPU203は、取得した処理コードおよび組合せデータに基づいて処理プログラムを生成する(ステップS2545)。図30に、生成した処理プログラムの構成例を示す。処理プログラム300は、処理コード301および組合せデータ303から構成されている。例えば、処理コード301には、「年金種類取得」を処理するためのプログラムコードが記述されている。なお、このプログラムコードの表現形式は、ソースコードまたはオブジェクトコードのいずれであってもよい。
また、組合せデータ303には、「年金種類取得」を処理するためのプログラムコードが使用する契約内容IDおよび契約内容の組合せデータが記述されている。なお、この組合せデータの表現形式は、契約内容IDに対応する契約内容が上記プログラムコードの実行時において判断できるものであればよい。例えば、配列形式やテーブル形式等の表現形式がこれに該当する。
同様に、CPU203は、「支払期間取得」についても処理プログラムを生成する。
約款定義体プログラム2096を実行するCPU203は、生成した処理プログラム300をラッパープログラムB2092bに引き渡す(ステップS2547)。例えば、CPU203は、リダイレクト機能やパイプ機能等を用いて処理プログラム300を引き渡す処理を行う。
4−3−9−7.処理プログラムの実行(ラッパープログラムB)
ラッパープログラムB2092bにおいてCPU203は、約款定義体プログラム2096から受け継いだ処理プログラム300を実行し、ワーク領域から取得した契約内容IDに対応する契約内容を取得する(ステップS2523)。このとき実行される処理プログラム300のフローチャートを図26に示す。処理プログラム300の実行においてCPU203は、ワーク領域から契約内容IDを入力する(ステップS2601)。例えば、契約内容IDとして「02」を入力する。
CPU203は、処理プログラム300に格納されている組合せデータ303から、契約内容IDおよび契約内容の組合せデータを1件読み込む(ステップS2603)。例えば、図30に示した処理プログラム300の組合せデータから、契約内容ID「01」および契約内容「確定年金」の組合せデータ3031を読み込む。
CPU203は、入力した契約内容と、読み込んだ組合せデータにおける契約内容が一致するか否かを判断する(ステップS2605)。例えば、入力した契約内容ID「02」と、最初に読み込んだ組合せデータにおける契約内容ID「01」が一致するか否かを判断する。
ステップS2605において、契約内容IDが一致しなければステップS2603に戻って次の組合せデータを読み込み、ステップS2605を再実行する(ステップS2605、NO)。一致していれば、ステップS2607に進み、組合せデータの契約内容IDに対応づけて記録されている契約内容を取得する(ステップS2607)。例えば、契約内容ID「02」は、2番目に読み込んだ組合せデータ3032(契約内容ID「02」と契約内容「保証期間付終身年金」)の契約内容IDと一致するので、これに対応する契約内容「保証期間付終身年金」を取得する。
図25において、ラッパープログラムBを実行するCPU203は、取得した契約内容を、契約リバンドル定義体プログラム2095に引き渡す(ステップS2525)。例えば、年金種類の契約内容ID「02」に対して契約内容「保証期間付終身年金」を引き渡し、支払期間の契約内容ID「01」に対して契約内容「終身」を引き渡す。
図24において、契約リバンドル定義体プログラム2095を実行するCPU203は、上記契約内容を処理プログラムの一部としてに組み込むように設定する(ステップS2449)。例えば、図29aに示した処理プログラム291にチェック対象データにかかる契約内容を組み込み、図29bに示す処理プログラム293のようにする。これにより、処理プログラム293の実行時においてCPU203は、チェック対象データ2931を読み込んで、チェックデータ2933に一致するか否かを判断する処理を行うことができる。
契約リバンドル定義体プログラム2095を実行するCPU203は、生成した処理プログラム293をラッパープログラムA2092aに引き渡す(ステップS2451)。
4−3−9−8.処理プログラムの実行(ラッパープログラムA)
ラッパープログラムA2092aにおいてCPU203は、契約リバンドル定義体プログラム2095から受け継いだ処理プログラム293を実行し、ワーク領域のチェック対象データである契約内容IDに対応する契約内容が、チェックデータの契約内容に一致するか否かを判断する(ステップS2423、図24)。このとき実行される処理プログラム293のフローチャートの例を図27に示す。
処理プログラム293の実行においてCPU203は、処理プログラム内に組み込まれて設定されている年金種類と支払期間のチェック対象データを読み込む(ステップS2701)。例えば、年金種類「保証期間付終身年金」と支払期間「終身」の組合せデータ2931(図29b)を読み込む。
CPU203は、チェックデータの読み込みを判断し(ステップS2703、NO)、チェックデータ2933から、年金種類および支払期間の組合せデータを1件読み込む(ステップS2705)。例えば、図29bに示した処理プログラム293におけるチェックデータ2933から、年金種類「保証期間付終身年金」および支払期間「終身」の組合せデータ2933を読み込む。
CPU203は、チェック対象データから読み込んだ契約内容の組合せデータと、チェックデータ2931から読み込んだ契約内容の組合せデータが、一致するか否かを判断する(ステップS2707)。例えば、ステップS2701において読み込んだ契約内容の組合せデータ2931(年金種類「保証期間付終身年金」、支払期間「終身」)と、チェックデータの1件目の契約内容の組合せデータ2933(年金種類「保証期間付終身年金」、支払期間「終身」)が、一致するか否かを判断する。
ステップS2707において、契約内容の組合せデータが一致しなければステップS2703に戻って同様の処理を繰り返す(ステップS2707、NO)。一方、契約内容IDの組合せデータが一致していれば、ステップS2709に進み、更新可能フラグを立てる(ステップS2709)。例えば、上記チェック対象データにおける契約内容「保証期間付終身年金」および契約内容「終身」を示す契約内容の組合せデータ2931は、1番目に読み込んだ組合せデータ2933と一致するので、更新可能フラグをONにして当該処理を終了する。なお、実施形態においてはチェックデータとしての契約内容の組合せデータは1件しか存在していないが、複数存在する場合もあり得る。
なお、ステップS2703において、すべてのチェックデータ2933の組合せデータを読み込んだと判断した場合には、CPU203は更新可能フラグをOFFにする(ステップS2711)。すなわち、この場合にはチェック対象データにおける契約内容の組合せデータが、チェックデータにおける契約内容の組合せデータに存在しないため、ワーク領域に設定された年金種類と支払期間の契約内容IDの組合せが設定不可能であると判断する。
ラッパープログラムA2092aを実行するCPU203は、実行結果を業務プログラム2091に通知する(ステップS2425、図24)。例えば、更新可能フラグ「1(ON)」を、戻り値として業務プログラム2091のプログラムスレッドに返す処理を行う。
4−3−9−9.レコードの更新
図23において、契約リバンドルチェック処理(ステップS2211)の実行を終えると、業務プログラム2091を実行するCPU203は、更新可能フラグに基づいて、ワーク領域に記録されているデータに基づいてトランザクションレコードの更新が可能であるか否かを判断する(ステップS2213)。CPU203は、更新可能フラグがONであれば、更新可能であると判断してトランザクションデータベース2093のトランザクションレコードを更新する(ステップS2215)。
例えば、図28に示すトランザクションレコード281が、更新されてトランザクションレコード285のようになる。図28に示すように、レコード281の変数1_605「01」および変数2_607「02」が、レコード285の変数1_605「02」および変数2_607「01」に更新されている。
また、CPU203は、更新可能フラグがOFFであれば、更新不可能であると判断してディスプレイ201に更新が不可能である旨を示すエラーメッセージを出力し、オペレータにデータ入力値の変更を促す(ステップS2214)。
4−4.処理詳細(2)
上記処理詳細(1)においては、同一保険商品の他の契約との関係で設定可能な契約内容IDが限定される例について説明したが、処理詳細(2)においては、同一保険商品の他の契約との関係で設定可能なデータ値の範囲が限定される例について説明する。
図22a、図23a、図24a、図27a、図31および図32等を用いて、本実施形態における処理の詳細(2)を説明する。なお、本実施形態においても、業務プログラム2091は、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。図22aに、業務プログラム2091、ラッパープログラムA2092aおよび契約リバンドル定義体プログラム2095における機能ブロック図を示す。
業務プログラム2091は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部2111を備えている。
ラッパープログラムA2092aは、契約リバンドル定義体プログラム2095に処理プログラムを要求してこれを実行するための処理プログラム要求・実行部2131を備えている。
契約リバンドル定義体プログラム2095は、ラッパープログラムA2092aからの要求を受けて処理プログラムを生成するための処理プログラム生成部2151と、処理名ごとに処理コードを記録した処理コード記録部2153と、処理名ごとに所定のチェックデータを記録したチェックデータ記録部2155を備えている(例えば、主たる約款IDが「11111」の場合。)。
本実施形態においては、保険商品の保険金額を減額する指示をユーザが行った場合において、トランザクションデータ2093に記録されようとしているデータの保険料データが、所定のデータ範囲にあるか否かについてのチェックを行う例について説明する。
図23aは、上記の場合においてデータ管理装置1で実行される業務プログラム2091のフローチャートの例である。
4−4−1.画面データの取得
図31に、業務プログラム2091におけるメイン処理部2111(図22a)の実行によってディスプレイ201に表示される保険金額変更画面310の例を示す。この画面においては、証券番号の入力欄3101、保険名称表示欄3103、保険金額入力欄3105、月額保険料表示欄3107および合計保険料表示欄3109等が表示される。
データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、保険金額の変更を指示することができる。例えば、オペレータが、キーボード/マウス207を用いて証券番号の入力欄3101に「00002」を入力すると、業務プログラム2091を実行するCPU203は、トランザクションデータベース2093にアクセスして検索し、当該保険契約にかかる保険名称、保険金額、保険料および合計保険料等を保険金額変更画面310に表示させる。ここで、合計保険料は、CPU203が各保険契約の月額保険料を合算することによって算出したものである。
さらに、オペレータが、保険金額を変更する操作を行うと、業務プログラム2091を実行するCPU203は、これを検知して、月額保険料表示欄3107の保険料および合計保険料表示欄3109の合計保険料を自動的に再表示する。オペレータは、再表示された保険料を確認すると、設定ボタン3111を押下してトランザクションデータベース2093への更新を指示する。
設定ボタン3111の押下を受けると、メイン処理部2111を実行するCPU203は、画面データを所定のワーク領域に取得する(ステップS2301、図23a)。例えば、CPU203は画面データとして、証券番号「00002」、合計保険料「4500円」等を取得する。
4−4−2.契約リバンドルチェック処理
画面データを取得したCPU203は、契約リバンドルチェック処理を実行する(ステップS2303)。図23aのステップS2303に示す契約リバンドルチェック処理について、図24aを用いて説明する。図24aは、上記において説明した図24からステップS2447を除いたものであり、基本的には図24と同様の処理を行う。以下、図24と図24aの相違点について説明する。
4−4−2−1.ラッパープログラムの起動(業務プログラム)
業務プログラム2091においてCPU203は、同一契約のトランザクションレコードをすべて取得する(ステップS2401)。例えば、図32に示すトランザクションデータベース2093において、同一契約を示す、証券番号が「00002」であるレコード321およびレコード323をそれぞれ抽出する。ここで、レコード321とレコード323は、証券番号601が同一で枝番611が異なるレコードである。
すべてのレコードを取得すると、CPU203は、取得した全レコードデータおよび所定の処理名をラッパープログラムA2092aに引き渡す(ステップS2403)。例えば、上記においては、保険金額を変更する処理がなされており、これに連動して設定されるべき月額保険料が所定の条件に合致しているか否かをチェックするための契約リバンドルチェック処理を実行する。このため、CPU203は、ラッパープログラムA2092aに「保険料の契約リバンドルチェック」を処理名として引き渡す。
4−4−2−2.契約リバンドル定義体の特定(ラッパープログラムA)
引き渡しを受けてラッパープログラムA2092aは、全レコードの主特区分613に基づいて主契約レコードを特定し、当該主契約レコードにかかる約款IDに基づいて特定した契約リバンドル定義体プログラム2095に、前記全レコードおよび処理名を引き渡す(ステップS2421)。
例えば、図32に示すレコード321においては、主特区分613が主契約(「1」)を示していることにより、当該レコード321にかかる約款ID603「11111」に基づいて、契約リバンドル定義体プログラム2095を特定する。また、CPU203は、上記「保険料の契約リバンドルチェック」を処理名として引き渡す。
4−4−2−3.処理プログラムの生成(契約リバンドル定義体プログラム)
契約リバンドル定義体プログラム2095を実行するCPU203は、処理プログラム生成部2151を実行し、処理コード記録部2153を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS2441)。処理コード記録部2153には、約款IDの組合せグループごとかつ処理名ごとに処理コードが記録されている。例えば、契約リバンドル定義体プログラム2095を実行するCPU203は、約款IDの組合せグループが「11111」と「33333」の組合せである処理コード群の中から、処理名が「保険料の契約リバンドルチェック」の処理コードを取得する。
次に、CPU203は、チェックデータ記録部2155を検索して受け継いだ処理名に対応したチェックデータを取得する(ステップS2443)。チェックデータ記録部2155には、処理名ごとかつ約款IDの組合せグループごとにチェックデータが記録されている。例えば、CPU203は、約款IDの組合せグループが「11111」と「33333」の組合せであるチェックデータ群の中から、「保険料の契約リバンドルチェックデータ」を取得する。
CPU203は、処理コード記録部2153から取得した処理コードと、チェックデータ記録部2155から取得したチェックデータに基づいて処理プログラムを生成する(ステップS2445)。
図29cに、生成した処理プログラムの構成例を示す。処理プログラム295は、約款IDの組合せグループが「11111−33333」の場合において、「保険料の契約リバンドルチェック」を行うための処理プログラムである。また、チェックデータは、月額の合計保険料が「4000円」以上である保険料データに限り記録可能であることを意味している。これにより、同一の保険商品として販売された他の契約(主契約または特約)との関係を考慮して、販売・保全取扱条件の一部としての合計保険料を適切に設定することができる。
契約リバンドル定義体プログラム2095を実行するCPU203は、生成した処理プログラム295をラッパープログラムA2092aに引き渡す(ステップS2451)。
4−4−2−4.処理プログラムの実行(ラッパープログラムA)
ラッパープログラムA2092aにおいてCPU203は、契約リバンドル定義体プログラム2095から受け継いだ処理プログラム295を実行し、ワーク領域の保険料における月額の合計保険料が、所定の範囲内にあるか否かを判断する(ステップS2423、図24a)。このとき実行される処理プログラム295のフローチャートの例を図27aに示す。
処理プログラム295の実行においてCPU203は、処理プログラム内に組み込まれて設定されているチェックデータである「保険料≧4000円」を示すデータを読み込み(ステップS2721)。さらに、チェック対象のデータ値である合計保険料をワーク領域から読み込む(ステップS2723)。例えば、変更操作後の合計保険料「4500円」を読み込む。
CPU203は、チェックデータから読み込んだデータ範囲条件に基づいて、読み込んだチェック対象データがデータ範囲内にあるか否かを判断する(ステップS2725)。例えば、チェックデータから読み込んだデータ範囲条件である「保険料≧4000円」に基づいて、上記合計保険料「4500円」がデータ範囲にあるか否かを判断する。
ステップS2725において、チェック対象データが所定のデータ範囲内にあれば、ステップS2727に進み更新可能フラグを立てる(ステップS2727)。例えば、上記チェック対象データにおける合計保険料「4500円」は、読み込んだチェックデータ2951に示されたデータ範囲条件「保険料≧4000円」に合致するので、更新可能フラグをONにして当該処理を終了する。
なお、ステップS2725において、チェック対象データが所定のデータ範囲内になければ、ステップS2729に進み更新不可能フラグを立てる(ステップS2729)。例えば、合計保険料が「4000円」に満たない場合には、更新不可能フラグが立てられる。
図24aのステップS2423において、ラッパープログラムA2092aを実行するCPU203は、ステップS2423の実行結果を業務プログラム2091に通知する(ステップS2425、図24a)。例えば、更新可能フラグ「1(ON)」を、戻り値として業務プログラム2091のプログラムスレッドに返す処理を行う。
4−4−2−5.レコードの更新
図23aにおいて、契約リバンドルチェック処理(ステップS2303)の実行を終えると、業務プログラム2091を実行するCPU203は、更新可能フラグに基づいて、ワーク領域に記録されているデータに基づいてトランザクションレコードの更新が可能であるか否かを判断する(ステップS2305)。CPU203は、更新可能フラグがONであれば、更新可能であると判断してトランザクションデータベース2093のトランザクションレコードを更新する(ステップS2307)。
例えば、図32に示すトランザクションレコード321が、更新されてトランザクションレコード325のようになる。図32に示すように、レコード321の保険料615「4000円」が、レコード325の保険料615「3000円」に更新されている。
また、CPU203は、更新可能フラグがOFFであれば、更新不可能であると判断してディスプレイ201に更新が不可能である旨を示すエラーメッセージを出力し、オペレータにデータ入力値の変更を促す(ステップS2306)。
4−5.処理詳細(3)
上記処理詳細(1)においては、同一保険商品の他の契約との関係で設定可能な契約内容IDが限定される例について説明し、上記処理詳細(2)においては、同一保険商品の他の契約との関係で設定可能なデータ値の範囲が限定される例について説明したが、処理詳細(3)においては、同一保険商品の他の契約との関係で保険商品名を特定する例について説明する。
図22b、図23b、図24bおよび図31等を用いて、本実施形態における処理の詳細(3)を説明する。なお、本実施形態においても、業務プログラム2091は、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。図22bに、業務プログラム2091、ラッパープログラムA2092aおよび契約リバンドル定義体プログラム2095における機能ブロック図を示す。
業務プログラム2091は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部2111を備えている。
ラッパープログラムA2092aは、契約リバンドル定義体プログラム2095に処理プログラムを要求してこれを実行するための処理プログラム要求・実行部2131を備えている。
契約リバンドル定義体プログラム2095は、ラッパープログラムA2092aからの要求を受けて処理プログラムを生成するための処理プログラム生成部2151と、処理名ごとに所定の名称データを記録した名称データ記録部2157を備えている(例えば、主たる約款IDが「11111」の場合。)。
本実施形態においては、保険商品のディスプレイ表示を行う場合において、入力された証券番号によって関連付けられた契約データに基づいて特定される所定の保険商品名を示す名称データを、契約リバンドル定義体プログラムから取得する例について説明する。
図23bは、上記の場合においてデータ管理装置1で実行される業務プログラム2091のフローチャートの例である。
4−5−1.画面データの取得
図31に、業務プログラム2091におけるメイン処理部2111(図22b)の実行によってディスプレイ201に表示される保険金額変更画面310の例を示す。この画面においては、証券番号の入力欄3101、保険名称表示欄3103、保険金額入力欄3105、月額保険料表示欄3107および合計保険料表示欄3109等が表示される。
データ管理装置1のオペレータは、上記処理詳細(2)において説明した「保険金額の変更」を指示する前段階においては、証券番号の入力欄3101に所定の証券番号を入力して、当該生命保険契約にかかるトランザクションデータ等をディスプレイ表示させる。本実施形態においては、このとき同時に保険金額変更画面310の保険名称表示欄3103に表示される保険名称を取得する例について説明する。
例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄3101に「00002」を入力すると、業務プログラム2091を実行するCPU203は、これを検知して証券番号の入力欄3101から証券番号データを取得する(ステップS2301)。例えば、CPU203は画面データとして、証券番号「00002」を取得する。
4−5−2.契約リバンドルチェック処理
画面データを取得したCPU203は、契約リバンドルチェック処理を実行する(ステップS2303)。図23bのステップS2303に示す契約リバンドルチェック処理について、図24bを用いて説明する。
4−5−2−1.ラッパープログラムの起動(業務プログラム)
業務プログラム2091においてCPU203は、同一契約のトランザクションレコードをすべて取得する(ステップS2401)。例えば、図32に示すトランザクションデータベース2093において、同一契約を示す、証券番号が「00002」であるレコード321およびレコード323をそれぞれ抽出する。ここで、レコード321とレコード323は、証券番号601が同一で枝番611が異なるレコードである。
すべてのレコードを取得すると、CPU203は、取得した全レコードデータおよび所定の処理名をラッパープログラムA2092aに引き渡す(ステップS2403)。例えば、上記においては、証券番号に基づく保険商品情報をディスプレイ表示するための処理がなされており、これに連動して表示されるべき保険名称を取得するための契約リバンドルチェック処理を実行する。このため、CPU203は、ラッパープログラムA2092aに「保険名称」を処理名として引き渡す。
4−5−2−2.契約リバンドル定義体の特定(ラッパープログラムA)
引き渡しを受けてラッパープログラムA2092aは、全レコードの主特区分613に基づいて主契約レコードを特定し、当該主契約レコードにかかる約款IDに基づいて特定した契約リバンドル定義体プログラム2095に、前記全レコードおよび処理名を引き渡す(ステップS2421)。
例えば、図32に示すレコード321においては、主特区分613が主契約(「1」)を示していることにより、当該レコード321にかかる約款ID603「11111」に基づいて、契約リバンドル定義体プログラム2095を特定する。また、CPU203は、上記「保険名称」を処理名として引き渡す。
4−5−2−3.名称データの取得(契約リバンドル定義体プログラム)
契約リバンドル定義体プログラム2095を実行するCPU203は、処理プログラム生成部2151を実行し、名称データ記録部2157を検索して受け継いだ処理名に対応する名称データを取得する(ステップS2441)。名称データ記録部2157には、約款IDの組合せグループごとかつ処理名ごとに名称データが記録されている。
例えば、契約リバンドル定義体プログラム2095を実行するCPU203は、約款IDの組合せグループが「11111」と「33333」の組合せである名称データ群の中から、処理名が「保険名称」の名称データを取得する。なお、「保険名称」には、実データとして「B年金」という保険商品名が記録されている。
契約リバンドル定義体プログラム2095を実行するCPU203は、名称データ記録部2157から取得した名称データをラッパープログラムA2092aに引き渡す(ステップS2452)。さらに、ラッパープログラムA2092aを実行するCPU203は、契約リバンドル定義体プログラム2095から取得した名称データを業務プログラム2091に引き渡す(ステップS2426)。
4−5−2−4.名称データの表示
図23bにおいて、契約リバンドルチェック処理(ステップS2303)の実行を終えると、業務プログラム2091を実行するCPU203は、取得した名称データを、ステップS2301において取得した証券番号に対応する保険商品名としてディスプレイ201に表示する(ステップS2309)。
例えば、図31の保険金額変更画面310の保険名称表示欄3103に、保険商品名として「B年金」を表示する。
4−6.まとめ
以上説明したように、この発明によれば、互いに関連する複数のトランザクションにおけるデータを取り扱う場合において、当該データが所定の取り扱い条件に合致するか否かを判断することができる。また、互いに関連する複数のトランザクションにおけるデータを取り扱う場合において、当該データの組合せごとに保険名称などの所定データを設定して利用することができる。
したがって、特に、生命保険の分野において、1の主契約に対して複数の特約が付加されている場合であっても、主契約トランザクションと特約トランザクションとの整合性を考慮しながらトランザクションデータを取り扱うことができる。
さらに、保険契約の主契約レコードの約款IDに基づいて契約リバンドル定義体プログラムを特定し、さらに特定した約款定義体プログラム内においてチェックプログラムの処理コードとチェックデータを用いて生成した処理プログラムによってチェック対象データのチェック処理を行うように構成することにより、保険契約の商品性に基づくチェックロジックを業務プログラム側に記述する必要がなくなる。これにより、業務プログラムのメンテナンス性を向上させることができる。
なお、上記処理詳細(1)においては、契約リバンドル定義体プログラムに設定可能な契約内容ID(データ内容ID)に対応する契約内容(データ内容)を記録する構成としたが、設定可能な契約内容IDを記録する構成としてもよい。この場合、ワーク領域に記録した契約内容IDに基づいて、約款定義体プログラムから契約内容を取得する必要はなく、契約内容IDを直接比較することにより、ワーク領域のトランザクションデータの記録可否を判断することができる。
5.第5の実施形態
上述したように、生命保険の分野においては、1の主契約に対して複数の特約が付加されたものを1つの保険商品として販売することが一般的である。主契約トランザクションと特約トランザクションを同一のデータベース上で管理する場合において、主契約トランザクションが存在して、新たな特約トランザクションを付加するときには、データベースに記録するデータ項目によっては主契約トランザクションにかかる商品データの影響を受けることがある。
例えば、主契約が「終身保険」である場合において、「定期保険特約」を付加するときには、「定期保険特約」の契約年月日は、「責任開始年月日と同一」に設定しなければならない。また、主契約が「個人年金」である場合において、同じく「定期保険特約」を付加するときには、「定期保険特約」の契約年月日は、「責任開始年月日の4日後」に設定しなければならない。ここで、「契約年月日」とは、契約年齢や保険期間などの計算の基準日である。また、「責任開始年月日」とは、申し込まれた契約の保障が開始される日である。
このような状況において、「定期保険特約」を付加する処理について考えると、新商品の主契約が追加されるたびに、特約の約款定義体プログラムに主契約に基づいて契約年月日を設定する判断ロジックを組み込むことによって対応可能ではある。しかしながら、新商品の販売時の様に、主契約の種類が増加するケースが発生した場合は、新商品の主契約に付加可能な特約の約款定義体プログラムすべてに変更が生じるため、保守性が著しく低下する。
そこで、本実施形態においては、主契約を追加する場合であっても、判断ロジックを組み込むことを要せず、保守性を高めたデータ管理装置について説明する。
なお、第4の実施形態と同様に、第1〜3の実施形態において説明した「商品定義データ」については、本実施形態においては「約款定義データ」と読み替えて説明する。
5−1.機能ブロック図
本発明にかかるデータ管理装置1の機能ブロック図は、図1または図20に示したものと同様である。
5−2.ハードウェア構成
本発明にかかるデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例は、基本的には図2または図21に示したものと同様である。
5−3.処理詳細
図33〜38を用いて、本実施形態における処理の詳細を説明する。なお、本実施形態においても、業務プログラム3301は、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。図33に、業務プログラム3301、ラッパープログラムA3303、特約の約款定義体プログラム3305、…、ラッパープログラムB3307および主契約の約款定義体プログラム3309または3311、…における機能ブロック図を示す。
業務プログラム3301は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部3321および処理プログラムを実行する処理プログラム実行部3323を備えている。
ラッパープログラムA3303は、特約の約款定義体プログラム3305に処理プログラムを要求するための処理プログラム要求部3325を備えている。
約款定義体プログラム3305は、ラッパープログラムA3303からの要求を受けて処理プログラムを生成するための処理プログラム生成部3326と、処理名ごとに処理コードを記録した処理コード記録部3327と、ラッパープログラムB3307を介して他の約款IDにかかる約款定義体プログラム3309または3311等から処理プログラムを取得するための他約款定義体参照部3329を備えている(例えば、主たる約款IDが「55555」の場合。)。
本実施形態においては、証券番号によって特定される主契約「個人年金」に対して、特約「定期保険特約」を付加する指示をユーザが行う場合について説明する。図34は、上記の場合においてデータ管理装置1で実行される業務プログラム3301、ラッパープログラムA3303、特約の約款定義体プログラム3305、ラッパープログラムB3307および主契約の約款定義体プログラム3311のフローチャートの例である。
5−3−1.画面データの取得
図36に、業務プログラム3301におけるメイン処理部3321(図33)の実行によってディスプレイ201に表示される保険契約変更画面360の例を示す。この画面においては、証券番号の入力欄361、日付表示欄368、契約者名表示欄362、主契約表示欄363、特約1表示欄364、特約2表示欄365および特約3表示欄366および設定ボタン367等が表示されており、データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、特約を付加して保険契約の変更を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄361に「00003」を入力し、主契約表示欄363に「個人年金」を、特約1表示欄364に「災害入院特約」をそれぞれ表示させる。すなわち、この段階において、証券番号「00003」の保険契約は、主契約「個人年金」に対して、特約「災害入院特約」が付加されていることを示している。
その後、オペレータは、特約2表示欄365のドロップダウンリストから「定期保険特約」を選択入力して、設定ボタン367を押下することにより、証券番号「00003」の主契約に対して、特約「定期保険特約」を付加する処理の実行を指示する。
設定ボタン367の押下を受けて、メイン処理部3321を実行するCPU203は画面データを取得する(ステップS3401、図34)。例えば、CPU203は画面データとして、証券番号「00003」、特約「定期保険特約」を取得する。
5−3−2.ワークレコードの作成
メイン処理部3321を実行するCPU203は、画面データとして入力された証券番号や特約情報等に基づいて、トランザクションデータベース2093に特約レコードとして記録するためのワークレコードを作成する(ステップS3403)。
図35にワークレコードの例を示す。このワークレコードは、トランザクションデータベース2093と同一のレコードフォーマットから構成されており、証券番号351、枝番352、約款ID353、変数1〜3_355、主約款ID357、契約年月日359および責任開始年月日311…等が記録される。
ここで、証券番号351はトランザクションレコードを特定するためのデータIDであり、枝番352は同一の証券番号によって管理される同一の保険契約を特定するためのデータIDであり、変数1〜3_355はそれぞれの契約内容を特定するための契約内容IDであり、主約款ID357は証券番号によって管理される同一の保険契約における主契約に記録された約款IDであり、契約年月日359は上述した「契約年月日」を記録するためのものであり、責任開始年月日311は上述した「責任開始年月日」を記録するためのものである。
例えば、CPU203は、証券番号「00003」によって特定されるトランザクションレコードを記録するため、画面プログラム等から取得したデータに基づいて図35に示すようなワークレコード3501を作成する。図35において、証券番号351として「00003」が記録され、その枝番352として「003」が記録され、特約「定期保険特約」に対応する約款ID353として「55555」が記録され、データ内容IDを示す変数1〜3_355として「01」、「01」、「05」がそれぞれ記録され、主契約である「個人年金」を示す主約款IDとして「00005」が記録され、責任開始年月日311として日付表示欄368に基づいて「2005年9月27日」が記録される。
ここで、契約年月日359については、当該特約が付加される主契約の約款によってその設定条件が異なるため、約款定義体プログラム3305を参照してデータを設定する。例えば、約款ID「55555」の約款定義体プログラム3305を参照する。
5−3−3.処理プログラムの要求
業務プログラム3301を実行するCPU203は、約款IDを含むワークレコード3501および、オペレータ指示に基づいて特定された処理名を、ラッパープログラムA3303に引き渡す(ステップS3405)。例えば、上述したように、保険契約変更画面360において特約「定期保険特約」を付加する処理が指示されている場合、作成したワークレコード3501をトランザクションデータベース2093に書き込む処理を行わなければならない。したがって、CPU203は、ワークレコード3501の必要なすべてのデータ項目を設定するため、契約年月日359に記録するデータを取得する動作を行う。
例えば、CPU203は、ワークレコード3501およびメイン処理部3321の実行によって取得した処理名である「契約年月日計算」を引き渡す。
5−3−4.ラッパープログラムAの実行
ラッパープログラムA3303を実行するCPU203は、処理プログラム要求部3325において、業務プログラム3301から受け継いだワークレコード3501の約款ID353に基づいて約款定義体プログラムを特定し、特定した約款定義体プログラムに対して処理名を引き渡す(ステップS3421)。
例えば、約款ID353「55555」に基づいて約款定義体プログラム3305が特定され、処理名「契約年月日計算」が引き渡される。
5−3−5.約款定義プログラム(特約)の実行
以下、約款IDが「55555」の約款定義体プログラム3305に処理コードを引き渡した場合について説明する。引き渡しを受けてCPU203は、約款定義体プログラム3305の処理コード記録部3327を検索し、受け継いだ処理名に対応する処理コードがあるか否かを判断する(ステップS3441)。
約款定義体プログラム3305の処理コード記録部3327に受け継いだ処理名に対応する処理コードが存在せず主約款を参照する旨の記述がある場合には(ステップS3441、NO)、CPU203は他約款定義体参照部3329を実行し、ワークレコードの主約款IDおよび処理名をラッパープログラムB3307に引き渡す(ステップS3443)。例えば、図33に示すように、処理コード記録部3327に「主約款の規定に準ずる」記述がある場合には、主約款ID357「00005」および処理名「契約年月日計算」がラッパープログラムB3307に引き渡される。
なお、受け継いだ処理名に対応する処理コードがあれば(ステップS3441、YES)、処理プログラム生成部3326において処理プログラムを生成する(ステップS3445)。
5−3−6.ラッパープログラムBの実行
ラッパープログラムB3307を実行するCPU203は、処理プログラム要求部3331において、約款定義体プログラム3305から受け継いだ主約款IDに基づいて他の約款定義体プログラムを特定し、特定した約款定義体プログラムに対して処理名を引き渡す(ステップS3461)。
例えば、主約款ID357「00005」に基づいて約款定義体プログラム3311が特定され、処理名「契約年月日計算」が引き渡される。
5−3−7.約款定義プログラム(主契約)の実行
引き渡しを受けてCPU203は、約款定義体プログラムの処理プログラム生成部を実行し、処理コード記録部を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS3481)。例えば、約款定義体プログラム3311の処理コード記録部3335においては、契約年月日の計算方法を示す処理コードとして「責任開始年月日の4日後」から計算する旨が記述されている。
処理プログラム生成部3333を実行するCPU203は、処理コード記録部から取得した処理コードに基づいて処理プログラムを生成する(ステップS3483)。
図37に、生成した処理プログラムの構成例を示す。例えば、処理コード373には、「契約年月日計算」を処理するためのプログラムコードが記述されている。なお、このプログラムコードの表現形式は、ソースコードまたはオブジェクトコードのいずれであってもよい。
5−3−8.処理プログラムの引き渡し
約款定義体プログラムを実行するCPU203は、生成した処理プログラムをラッパープログラムB3307に引き渡す(ステップS3485)。例えば、約款定義体プログラム3311を実行するCPU203は、リダイレクト機能やパイプ機能等を用いて処理プログラム370(図37)を引き渡す処理を行う。
引き渡しを受けて、ラッパープログラムB3307を実行するCPU203は、受け継いだ処理プログラムを約款定義体プログラム3305に引き渡す(ステップS3463)。引き渡しを受けて、約款定義体プログラム3305を実行するCPU203は、受け継いだ処理プログラムをラッパープログラムA3303に引き渡す(ステップS3447)。引き渡しを受けて、ラッパープログラムA3303を実行するCPU203は、受け継いだ処理プログラムを業務プログラム3301に引き渡す(ステップS3423)。
5−3−9.処理プログラムの実行
業務プログラム3301においてCPU203は、ラッパープログラムA3303から受け継いだ処理プログラム370を実行し、画面データから取得した特約にかかるトランザクションデータを設定するための契約年月日を取得する(ステップS3407)。
このとき実行される処理プログラム370のフローチャートを図38に示す。処理プログラム370の実行においてCPU203は、業務プログラム3301において取得した画面データから責任開始年月日を読み込む(ステップS3701)。
例えば、図36の保険契約変更画面360における日付表示欄368の当日日付データ「2005年9月27日」を責任開始年月日として読み込む。次に、CPU203は、所定のカレンダー計算プログラムにより責任開始年月日の4日後の日付を算出する(ステップS3703)。例えば、「2005年9月27日」の4日後を算出して、「2005年10月01日」を取得する。さらに、CPU203は、算出した責任開始年月日の4日後の日付を出力する(ステップS3705)。例えば、「2005年10月01日」をワークエリア3501の契約年月日359に出力し、図35のワークレコード3503のようにする。
5−3−10.レコードの更新
処理プログラムの実行を終えると、CPU203は、ワークレコードに記録されたデータに基づいてトランザクションデータベース2093へレコードを追加する(ステップS3409)。例えば、図35に示すワークレコード3503が、追加される。
5−3−11.まとめ
以上説明したように、この発明によれば、特約を示す約款定義体プログラムにおいて、主契約の種類に基づいて設定データを判断するロジックを予め組み込んでおく必要がなくなる。このため、主契約の種類が追加された場合であっても、参照先の主契約を指定するだけで、特約のデータを適切に設定ことができる。これにより、保守性を高めたデータ管理装置を提供することができる。
なお、本実施形態の図33においては、処理プログラム実行部3323を業務プログラム3301内に位置付けた構成を説明したが、処理プログラム実行部3323は、ラッパープログラムA3303、約款定義体プログラム3305、ラッパープログラムB3307または約款定義体プログラム3311のいずれのプログラムに位置付けてもよい。すなわち、実行結果としての契約年月日を業務プログラム3301において取得することができれば、処理プログラムはいずれのプログラム内において実行されてもよい。
6.第6の実施形態
上記実施形態においては、トランザクションデータに記録するデータ項目を商品ごとに定義しておき、複数の契約条件にかかる契約内容を、すべての商品に共通なレコードフォーマットを用いて管理する例について説明したが、本実施形態においては、レコードフォーマットの汎用性をさらに高め、記録対象の各データごとにトランザクションデータに記録するデータ項目を任意に設定することのできるデータ管理システムについて説明する。
例えば、従来のデータ管理システムにおいては、保険契約の解約処理の可否を管理する場合には、トランザクションデータ中に解約処理のステータスを管理するデータ項目を設けておき、業務プログラムが当該データを直接参照することによって解約の可否を判断していた。
しかしながら、複数のステータスを管理する場合、トランザクションデータのデータ項目を設定する際には、すべてのステータスを網羅できるように設計しておかなければならない。このため、企業によって使用するステータスが異なることが前提のパッケージソフトの分野においては、汎用性の高いデータ管理の手法が求められていた。本実施形態では、上記の点に鑑みて、データの冗長性を排除した汎用性の高いデータ管理システムについて説明する。
6−1.機能ブロック図
本発明にかかるデータ管理装置1の機能ブロック図は、図1または図20に示したものと同様である。
6−2.ハードウェア構成
本発明にかかるデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例は、基本的には図2または図21に示したものと同様である。
6−3.処理詳細(1)
図39〜45を用いて、本実施形態における処理の詳細を説明する。なお、本実施形態においても、業務プログラムは、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。
図39に、業務プログラム3901、ラッパープログラム3903および処理ステータス定義体プログラム3905、…における機能ブロック図を示す。
業務プログラム3901は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部3921を備えている。
ラッパープログラム3903は、処理ステータス定義体プログラム3905において生成した処理プログラムの実行結果を取得するための処理プログラム実行結果取得部3925を備えている。
処理ステータス定義体プログラム3905は、ラッパープログラム3903からの要求を受けて処理プログラムを生成して実行するための処理プログラム生成・実行部3927と、処理名ごとに処理コードを記録した処理コード記録部3928と、処理コードに設定するために用いられるパターン変数データを記録したパターン変数データ記録部3929を備えている(例えば、企業IDが「01」の場合。)。ここで、パターン変数データとは、トランザクションデータに設定可能なパターン変数と変数の組合せを定義したものである。例えば、パターン変数「002(保全要注意区分)」と組合せ可能な変数は、「01(保全エラー)」、「02(保全ウォーニング)」または「99(要注意解決)」であることを示している。
本実施形態においては、保険証券の紛失によりシステム上において保険契約データの取扱注意を喚起するため、データ項目「保全要注意区分」にデータ内容「保全ウォーニング」を設定する指示をユーザが行う場合について説明する。
図41〜43は、上記の場合においてデータ管理装置1で実行される業務プログラム3901、ラッパープログラム3903および処理ステータス定義体プログラム3905のフローチャートの例である。
6−3−1.画面データの取得
図44に、業務プログラム3901におけるメイン処理部3921(図39)の実行によってディスプレイ201に表示される保全要注意区分設定画面440の例を示す。この画面においては、証券番号の入力欄441、契約者名表示欄443、…、「保全エラー」設定ラジオボタン444、「保全ウォーニング」設定ラジオボタン445、「要注意解決」設定ラジオボタン446および設定ボタン447等が表示される。
データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、「保全エラー」、「保全ウォーニング」または「要注意解決」等によって示される保全要注意区分の設定を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄441に「00001」を入力し、契約者名や保全要注意区分の設定状況を表示させる。トランザクションデータに何らの保全要注意区分も設定されていなければ、「保全エラー」設定ラジオボタン444、「保全ウォーニング」設定ラジオボタン445、「要注意解決」設定ラジオボタン446はすべて未選択である。
その後、オペレータは、「保全ウォーニング」設定ラジオボタン445を選択入力して、設定ボタン447を押下することにより、証券番号「00001」のトランザクションデータの保全要注意区分に「保全ウォーニング」を設定する処理の実行を指示する。
設定ボタン447の押下を受けて、メイン処理部3921を実行するCPU203は画面データを取得する(ステップS4101、図41)。例えば、CPU203は画面データとして、証券番号「00001」、処理名「保全要注意区分設定」および変数名「保全ウォーニング」を取得する。
6−3−2.パターン変数設定処理
画面データを取得したCPU203は、パターン変数設定処理を実行する(ステップS4103)。図41のステップS4103に示すパターン変数設定処理について、図42を用いて説明する。
6−3−2−1.ラッパープログラムの起動(業務プログラム)
業務プログラム3901においてCPU203は、保険契約のトランザクションレコードを取得し、所定のワークレコードに格納する(ステップS4201)。例えば、トランザクションデータベース2093から証券番号が「00001」であるレコードを抽出し、図40に示すワークレコード4001として取得する。
レコードを取得すると、CPU203は、取得したワークレコード、所定の処理名および所定の変数名をラッパープログラム3903に引き渡す(ステップS4203)。例えば、上記においては、「保全要注意区分」を設定する処理がなされており、これに連動して設定されるべきデータ内容「保全ウォーニング」に対応する変数をトランザクションデータに設定するためのパターン変数設定処理を実行する。このため、CPU203は、ラッパープログラム3903に「保全要注意区分設定」を処理名として、「保全ウォーニング」を変数名として引き渡す。
6−3−2−2.処理ステータス定義体の特定(ラッパープログラム)
引き渡しを受けてラッパープログラム3903は、レコードの企業IDに基づいて特定した処理ステータス定義体プログラム3905に、前記レコード、処理名および変数名を引き渡す(ステップS4221)。
例えば、図40に示すレコード4001においては、企業ID630「01」に基づいて、処理ステータス定義体プログラム3905を特定する。また、CPU203は、上記「保全要注意区分設定」を処理名として、「保全ウォーニング」を変数名として引き渡す。
6−3−2−3.処理プログラムの生成(処理ステータス定義体プログラム)
処理ステータス定義体プログラム3905を実行するCPU203は、処理プログラム生成・実行部3927において、パターン変数データ記録部3929を検索して受け継いだ処理名に対応するパターン変数を取得する(ステップS4241)。例えば、処理名「保全要注意区分設定」に基づくパターン変数名「保全要注意区分」に対応するパターン変数「002」3929aを取得する。
次に、CPU203は、パターン変数データ記録部3929を検索して受け継いだ変数名に対応する変数を取得する(ステップS4243)。例えば、パターン変数名「保全要注意区分」における変数名「保全ウォーニング」に対応する変数「02」3929bを取得する。
さらに、CPU203は、処理コード記録部3928を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS4244)。処理コード記録部3928には、企業IDごとに処理コードが記録されている。例えば、処理ステータス定義体プログラム3905を実行するCPU203は、処理名が「保全要注意区分設定」の処理コード3928aを取得する。
処理プログラム生成・実行部3927を実行するCPU203は、処理コード記録部3928から取得した処理コードと、パターン変数データ記録部3929から取得したパターン変数データに基づいて処理プログラムを生成する(ステップS4245)。
図45に、生成した処理プログラムの構成例を示す。処理プログラム451は、「保全要注意区分設定」を行うための処理プログラムである。また、パターン変数データ453は、このときトランザクションデータに設定されるべきパターン変数および変数の組合せデータである。すなわち、この処理プログラムを実行することにより、ワークレコード4001の所定位置にパターン変数名「保全要注意区分」および変数名「保全ウォーニング」に対応するパターン変数「002」および変数「02」を設定することができる。
6−3−2−4.処理プログラムの実行(処理ステータス定義体プログラム)
CPU203は、生成した処理プログラム451を実行する(ステップS4247)。このとき実行される処理プログラム451のフローチャートの例を図43に示す。
処理プログラム451の実行においてCPU203は、処理プログラム内に組み込まれて設定されているパターン変数データからパターン変数および変数を示すデータを読み込む(ステップS4301)。さらに、メモリ205に記憶しているワークレコードを読み込む(ステップS4303)。例えば、パターン変数「002」および変数「02」を読み込み、ワークレコード4001(図40)を読み込む。
CPU203は、パターン変数データから読み込んだパターン変数がワークレコードに存在するか否かを判断する(ステップS4305)。例えば、パターン変数「002」に基づいて、ワークレコードのパターン変数1、パターン変数2、パターン変数3…を順次検索し、同一のパターン変数が記録されているか否かを判断する。
ステップS4307において、ワークレコードのいずれのパターン変数にも読み込んだパターン変数と同一のデータが記録されていなければ、CPU203は、
パターン変数が未設定である最小のカラムインデックスを有するパターン変数のカラムに、上記において読み込んだパターン変数を設定する(ステップS4307)。ここで、カラムインデックスとは、ワークレコードのデータ項目であって、「パターン変数n」または「変数n」で示されるカラムnを特定するものであり、「パターン変数1」または「変数1」のカラムインデックスはそれぞれ「1」で表される。
例えば、ワークレコード4001において未設定のパターン変数は「000」で示されており、この場合の変数は「00」である。よって、CPU203は、ワークレコード4001において、「パターン変数1」631の位置に、読み込んだパターン変数「002」を設定する。
パターン変数を設定すると、CPU203は、設定したパターン変数と同一のカラムインデックスを有する変数カラムの位置に、上記において読み込んだ変数を設定する(ステップS4309)。
例えば、パターン変数1_631にパターン変数「002」を設定しているため、同一のカラムインデックス「1」を有する変数1_632に、変数「02」を設定し、ワークレコード4003のようにする。
なお、上記ステップS4305において、ワークレコードのいずれかのパターン変数に読み込んだパターン変数と同一のデータが記録されていれば、CPU203は、当該パターン変数と同一のカラムインデックスを有する変数カラムの位置に、上記において読み込んだ変数を設定する(ステップS4309)。
図42のステップS4249において、処理ステータス定義体プログラム3905を実行するCPU203は、上記ステップS4247の実行結果をラッパープログラム3903に通知する(ステップS4249、図42)。図42のステップS4223において、ラッパープログラム3903を実行するCPU203は、受け継いだ上記ステップS4247の実行結果を業務プログラム3901に通知する(ステップS4223、図42)。例えば、更新可能フラグ「1(ON)」を、戻り値として業務プログラム3901のプログラムスレッドに返す処理を行う。なお、処理プログラムの実行においてエラーが発生した場合には、更新可能フラグとして戻り値「0(OFF)」が返される。
6−3−2−5.レコードの更新
図41において、パターン変数設定処理(ステップS4103)の実行を終えると、業務プログラム3901を実行するCPU203は、更新可能フラグに基づいて、ワーク領域に記録されているデータに基づいてトランザクションレコードの更新が可能であるか否かを判断する(ステップS4105)。CPU203は、更新可能フラグがONであれば、更新可能であると判断してトランザクションデータベース2093のトランザクションレコードを更新する(ステップS4107)。
また、CPU203は、更新可能フラグがOFFであれば、更新不可能であると判断してディスプレイ201に更新が不可能である旨を示すエラーメッセージを出力する(ステップS4106)。
6−4.処理詳細(2)
上記処理詳細(1)においては、トランザクションデータにパターン変数および変数を設定する例について説明したが、処理詳細(2)においては、予めパターン変数および変数が設定されたトランザクションデータを取り扱う場合について説明する。
図41a、図42a、図43a、図44a、図45a、図39および図40等を用いて、本実施形態における処理の詳細(2)を説明する。なお、本実施形態においても、業務プログラムは、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。
本実施形態においては、保険契約の解約処理業務を行う際に、保全要注意区分を参照して、当該保険契約の解約処理が可能であるか否かをチェックする例について説明する。すなわち、証券番号によって特定されるトランザクションデータに設定されたパターン変数および変数に基づいて、パターン変数名「保全要注意区分」における変数名を取得する例について説明する。
図41a〜43aは、上記の場合においてデータ管理装置1で実行される業務プログラム3901、ラッパープログラム3903および処理ステータス定義体プログラム3905のフローチャートの例である。
6−4−1.画面データの取得
図44aに、業務プログラム3901におけるメイン処理部3921(図39)の実行によってディスプレイ201に表示される保険契約解約画面440aの例を示す。この画面においては、証券番号の入力欄441a、契約者名表示欄443a、…、および解約ボタン447a等が表示されており、データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、解約処理を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄441aに「00001」を入力し、契約者名等を表示させる。
その後、オペレータは、解約ボタン447aを押下することにより、証券番号「00001」のトランザクションデータに記録されたパターン変数および変数に基づいて保全要注意区分として設定されているデータを取得する。
解約ボタン447aの押下を受けて、メイン処理部3921を実行するCPU203は画面データを取得する(ステップS4121、図41a)。例えば、CPU203は画面データとして、証券番号「00001」を取得する。
6−4−2.パターン変数取得処理
画面データを取得したCPU203は、パターン変数取得処理を実行する(ステップS4123)。図41aのステップS4123に示すパターン変数取得処理について、図42aを用いて説明する。
6−4−2−1.ラッパープログラムの起動(業務プログラム)
業務プログラム3901においてCPU203は、保険契約のトランザクションレコードを取得し、所定のワークレコードに格納する(ステップS4211)。例えば、トランザクションデータベース2093から証券番号が「00001」であるレコードを抽出し、図40に示すワークレコード4003として取得する。
レコードを取得すると、CPU203は、取得したワークレコード、所定の処理名をラッパープログラム3903に引き渡す(ステップS4213)。例えば、上記においては、トランザクションデータに記録されたパターン変数および変数に基づいて「保全要注意区分」を取得するためのパターン変数取得処理を実行する。このため、CPU203は、ラッパープログラム3903に「保全要注意区分取得」を処理名として引き渡す。
6−4−2−2.処理ステータス定義体の特定(ラッパープログラム)
引き渡しを受けてラッパープログラム3903は、レコードの企業IDに基づいて特定した処理ステータス定義体プログラム3905に、前記レコードを引き渡す(ステップS4231)。
例えば、図40に示すレコード4003においては、企業ID630「01」に基づいて、処理ステータス定義体プログラム3905を特定する。また、CPU203は、上記「保全要注意区分取得」を処理名として引き渡す。
6−4−2−3.処理プログラムの生成(処理ステータス定義体プログラム)
処理ステータス定義体プログラム3905を実行するCPU203は、処理プログラム生成・実行部3927において、パターン変数データ記録部3929を検索して受け継いだ処理名に対応するパターン変数にかかるパターン変数データを取得する(ステップS4251)。例えば、処理名「保全要注意区分取得」に基づくパターン変数名「保全要注意区分」に対応するパターン変数「002」3929aにかかるパターン変数データを取得する。
次に、CPU203は、処理コード記録部3928を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS4254)。処理コード記録部3928には、企業IDごとに処理コードが記録されている。例えば、処理ステータス定義体プログラム3905を実行するCPU203は、処理名が「保全要注意区分取得」の処理コード3928bを取得する。
処理プログラム生成・実行部3927を実行するCPU203は、処理コード記録部3928から取得した処理コードと、パターン変数データ記録部3929から取得したパターン変数データに基づいて処理プログラムを生成する(ステップS4255)。
図45aに、生成した処理プログラムの構成例を示す。処理プログラム451aは、「保全要注意区分取得」を行うための処理プログラムである。また、パターン変数データ453aは、このときトランザクションデータに記録されたパターン変数および変数に基づいて取得されるべきパターン変数および変数の組合せデータである。すなわち、この処理プログラムを実行することにより、ワークレコード4003にパターン変数名「保全要注意区分」が記録されているか否か、および、記録されている場合には、これに対応する変数名を取得することができる。
6−4−2−4.処理プログラムの実行(処理ステータス定義体プログラム)
CPU203は、生成した処理プログラム451aを実行する(ステップS4257)。このとき実行される処理プログラム451aのフローチャートの例を図43aに示す。
処理プログラム451aの実行においてCPU203は、処理プログラム内に組み込まれて設定されているパターン変数データからパターン変数を示すデータを読み込む(ステップS4321)。さらに、メモリ205に記憶しているワークレコードを読み込む(ステップS4323)。例えば、パターン変数「002」を読み込み、ワークレコード4003(図40)を読み込む。
CPU203は、パターン変数データから読み込んだパターン変数と同一のパターン変数をワークレコードから探し当て、当該パターン変数のカラムインデックスと同一のカラムインデックスを有する変数を当該ワークレコードから取得する(ステップS4325)。
例えば、パターン変数「002」に基づいて、ワークレコードのパターン変数1、パターン変数2、パターン変数3…を順次検索し、同一のパターン変数が記録されているか否かを判断し、記録されている場合にはこのパターン変数のカラムインデックスを取得する。ワークレコード4003において、パターン変数1は「002」であることにより、カラムインデックス1を有する変数1「02」を取得する。
CPU203は、ワークレコードから取得した変数に基づいて、処理プログラムのパターン変数データ453aを検索してこれに対応する変数名を取得する(ステップS4327)。例えば、ワークレコードから変数1「02」を取得している場合には、パターン変数データ453aから変数「02」に対応する変数名「保全ウォーニング」455aを取得する。
図42aのステップS4259において、処理ステータス定義体プログラム3905を実行するCPU203は、上記ステップS4257の実行結果をラッパープログラム3903に通知する(ステップS4259、図42a)。図42aのステップS4233において、ラッパープログラム3903を実行するCPU203は、受け継いだ上記ステップS4257の実行結果を業務プログラム3901に通知する(ステップS4233)。
例えば、上記ステップS4257において取得した変数名「保全ウォーニング」を、戻り値として業務プログラム3901のプログラムスレッドに返す処理を行う。なお、処理プログラムの実行において保全要注意区分がトランザクションデータに設定されていないと判断された場合には、例外処理により戻り値「未設定」が返される。
6−4−2−5.レコードの更新
図41aにおいて、パターン変数取得処理(ステップS4123)の実行を終えると、業務プログラム3901を実行するCPU203は、戻り値に基づいて、トランザクションレコードについての解約処理が可能であるか否かを判断する(ステップS4125)。
例えば、CPU203は、戻り値が「未設定」または「要注意解決」であれば、解約処理が可能であると判断して解約処理を開始する(ステップS4127)。
一方、戻り値が「保全エラー」または「保全ウォーニング」であれば、エラーメッセージをディスプレイ201上に表示して処理を終了する(ステップS4126)。上記の場合、戻り値が「保全ウォーニング」であることにより、解約処理を行うことができないため、CPU203はその旨をオペレータに提示する。
6−5.まとめ
以上説明したように、この発明によれば、記録対象の各データごとにトランザクションデータに記録するデータ項目を任意に設定してデータ管理を行うことができる。これにより、トランザクションデータにおけるレコードフォーマットの汎用性をさらに高めることができるとともに、業務プログラムからデータ特性に基づく業務ロジックを排除してメンテナンス性をより一層向上させることができる。特に、パッケージソフトの分野において、業務プログラムのカスタマイズ作業を不要とし、レコードフォーマットのカスタマイズ作業だけでパッケージソフトを複数の企業について適用することができる。このため、開発コストや導入コストを大幅に低減することができる。
なお、上記においては、企業IDごとに処理ステータス定義体プログラムを作成する例について説明したが、他の要件に基づいて処理ステータス定義体プログラムを作成してもよい。例えば、商品コードや企業グループ単位に処理ステータス定義体プログラムを作成してもよい。
7.第7の実施形態
上記第6の実施形態においては、トランザクションデータにデータ項目IDおよびデータ内容IDを記録しておき、これに対応するデータ項目またはデータ内容を取得する例について説明したが、本実施形態においては、データ内容IDに代えてデータ内容をトランザクションデータに記録しておき、データ内容に対するデータ項目を任意に設定することのできるデータ管理システムについて説明する。
例えば、従来のデータ管理システムにおいては、複数種類の所定データ(例えば、金額データ、日付データ等。)を管理する場合、各データ項目をすべてトランザクションデータベースを構成するスキーマに定義しておく必要があった。しかしながら、必要と思われるすべてのデータ項目をスキーマに定義しておくことは、汎用性は高いが冗長なデータ構造となり、データベースの利用効率を低下させる原因となっていた。
このため、企業によって使用するデータ項目の種類が異なることが前提のパッケージソフトの分野においては、汎用性が高くかつ利用効率のよいデータ管理の手法が求められていた。本実施形態では、上記の点に鑑みて、データの冗長性を排除した汎用性の高いデータ管理システムについて説明する。
7−1.機能ブロック図
本発明にかかるデータ管理装置1の機能ブロック図は、図1または図20に示したものと同様である。
7−2.ハードウェア構成
本発明にかかるデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例は、基本的には図2または図21に示したものと同様である。
7−3.処理詳細(1)
図46〜52を用いて、本実施形態における処理の詳細を説明する。なお、本実施形態においても、業務プログラムは、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。
図46に、業務プログラム4601、ラッパープログラム4603およびデータ項目定義体プログラム4605、…における機能ブロック図を示す。
業務プログラム4601は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部4621を備えている。
ラッパープログラム4603は、データ項目定義体プログラム4605において生成した処理プログラムの実行結果を取得するための処理プログラム実行結果取得部4625を備えている。
データ項目定義体プログラム4605は、ラッパープログラム4603からの要求を受けて処理プログラムを生成して実行するための処理プログラム生成・実行部4627と、処理名ごとに処理コードを記録した処理コード記録部4628と、処理コードに設定するために用いられるパターン変数データを記録したパターン変数データ記録部4629を備えている(例えば、企業IDが「01」の場合。)。ここで、パターン変数データとは、トランザクションデータにおけるデータ項目を、パターン変数とこれに対応するパターン変数名を用いて定義するものである。例えば、パターン変数「002」に対応するデータ項目は、パターン変数名「利率基準日」に基づいて定義される。
本実施形態においては、保険契約の解約返戻金を計算する指示をユーザが行う場合について説明する。図48〜50は、上記の場合においてデータ管理装置1で実行される業務プログラム4601、ラッパープログラム4603およびデータ項目定義体プログラム4605のフローチャートの例である。
7−3−1.画面データの取得
図51に、業務プログラム4601におけるメイン処理部4621(図46)の実行によってディスプレイ201に表示される解約返戻金計算画面510の例を示す。この画面においては、証券番号の入力欄511、契約者名表示欄513、…、解約返戻金表示欄515および計算ボタン517等が表示される。
データ管理装置1のオペレータは、解約返戻金の計算対象となる証券番号を入力欄511に入力して計算ボタン517を押下することにより、解約返戻金の計算結果を解約返戻金表示欄515に表示させるための指示を行うことができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄511に「00001」を入力し、契約者名等を表示させる。
その後、オペレータは、計算ボタン517を押下することにより、証券番号「00001」についての解約返戻金計算の実行を指示する。
計算ボタン517の押下を受けて、メイン処理部4621を実行するCPU203は画面データを取得する(ステップS4801、図48)。例えば、CPU203は画面データとして、証券番号「00001」を取得する。
7−3−2.パターン変数名取得処理
画面データを取得したCPU203は、パターン変数名取得処理を実行する(ステップS4803)。図48のステップS4803に示すパターン変数名取得処理について、図49を用いて説明する。
7−3−2−1.ラッパープログラムの起動(業務プログラム)
業務プログラム4601においてCPU203は、保険契約のトランザクションレコードを取得し、所定のワークレコードに格納する(ステップS4901)。例えば、トランザクションデータベース2093から証券番号が「00001」であるレコードを抽出し、図47に示すワークレコード4701として取得する。
レコードを取得すると、CPU203は、取得したワークレコード、所定の処理名をラッパープログラム4603に引き渡す(ステップS4903)。例えば、上記においては、トランザクションデータに記録されたパターン変数およびデータに基づいて、解約返戻金計算処理に用いるデータである「利率基準日」および「積立金額」を特定するためのパターン変数名取得処理を実行する。このため、CPU203は、ラッパープログラム4603に「利率基準日取得」および「積立金額取得」を処理名としてそれぞれ引き渡す。
7−3−2−2.データ項目定義体の特定(ラッパープログラム)
引き渡しを受けてラッパープログラム4603は、レコードの企業IDに基づいて特定したデータ項目定義体プログラム4605に、前記レコードを引き渡す(ステップS4921)。
例えば、図47に示すレコード4701においては、企業ID630「01」に基づいて、データ項目定義体プログラム4605を特定する。また、CPU203は、上記「利率基準日取得」および「積立金額取得」を処理名として引き渡す。
7−3−2−3.処理プログラムの生成(データ項目定義体プログラム)
データ項目定義体プログラム4605を実行するCPU203は、処理プログラム生成・実行部4627において、パターン変数データ記録部4629を検索して受け継いだ処理名に対応するパターン変数にかかるパターン変数データを取得する(ステップS4941)。例えば、処理名「利率基準日取得」に基づくパターン変数名「利率基準日」に対応するパターン変数「002」4629aおよび、処理名「積立金額取得」に基づくパターン変数名「積立金額」に対応するパターン変数「010」4629bを取得する。
次に、CPU203は、処理コード記録部4628を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS4943)。処理コード記録部4628には、企業IDごとに処理コードが記録されている。例えば、データ項目定義体プログラム4605を実行するCPU203は、処理名が「利率基準日取得」の処理コード4628bおよび、処理名が「積立金額取得」の処理コード4628aを取得する。
処理プログラム生成・実行部4627を実行するCPU203は、処理コード記録部4628から取得した処理コードと、パターン変数データ記録部4629から取得したパターン変数データに基づいて処理プログラムを生成する(ステップS4945)。
図52に、生成した処理プログラムの構成例を示す。処理プログラム521は、「利率基準日取得」処理および「積立金額取得」処理を行うための処理プログラムから構成される。また、パターン変数データ523および525は、このときトランザクションデータに記録されたパターン変数に基づいて取得されるべきパターン変数およびパターン変数名の組合せデータである。すなわち、この処理プログラムを実行することにより、ワークレコード4701にパターン変数名「利率基準日」および「積立金額」が記録されているか否か、記録されている場合には、これらに対応するデータ自体を特定して取得することができる。
7−3−2−4.処理プログラムの実行(データ項目定義体プログラム)
CPU203は、生成した処理プログラム521を実行する(ステップS4947)。このとき実行される処理プログラム521のフローチャートの例を図50に示す。
処理プログラム521の実行においてCPU203は、処理プログラム内に組み込まれて設定されているパターン変数データからパターン変数を示すデータを読み込む(ステップS5021)。さらに、メモリ205に記憶しているワークレコードを読み込む(ステップS5023)。例えば、パターン変数1「002」を読み込み、ワークレコード4701(図47)を読み込む。
CPU203は、パターン変数データから読み込んだパターン変数と同一のパターン変数をワークレコードから探し当て、当該パターン変数のカラムインデックスを取得する(ステップS5025)。例えば、「利率基準日取得」にかかる処理プログラムを実行した場合、パターン変数「002」に基づいて、ワークレコードのパターン変数1、パターン変数2、パターン変数3…を順次検索し、同一のパターン変数が記録されているか否かを判断し、記録されている場合にはこのパターン変数のカラムインデックスを取得する。ワークレコード4701において、パターン変数1は「002」であることにより、カラムインデックス「1」を取得する。
さらに、CPU203は、取得したカラムインデックスを有するデータを当該ワークレコードから取得する(ステップS5027)。例えば、カラムインデックス1を有するデータ1「2005/09/01」を取得する。
同様に、「積立金額取得」にかかる処理プログラムを実行した場合、パターン変数「010」に基づいて、ワークレコードのパターン変数1、パターン変数2、パターン変数3…を順次検索し、同一のパターン変数が記録されているか否かを判断し、記録されている場合にはこのパターン変数のカラムインデックスを取得する。ワークレコード4701において、パターン変数2は「010」であることにより、カラムインデックス「2」を取得する。さらに、CPU203は、カラムインデックス2を有するデータ2「¥100,000」を取得する。
図49のステップS4949において、データ項目定義体プログラム4605を実行するCPU203は、上記ステップS4947の実行結果をラッパープログラム4603に通知する(ステップS4949)。図49のステップS4923において、ラッパープログラム4603を実行するCPU203は、受け継いだ上記ステップS4947の実行結果を業務プログラム4601に通知する(ステップS4923)。
例えば、上記ステップS4947において取得したデータ1「2005/09/01」を「利率基準日」として、また、データ2「¥100,000」を「積立金額」として、業務プログラム4601のプログラムスレッドに返す処理を行う。なお、処理プログラムの実行においてパターン変数がトランザクションデータに設定されていないと判断された場合には、例外処理により戻り値「未設定」が返される。
7−3−2−5.解約返戻金の計算
図48において、パターン変数名取得処理(ステップS4803)の実行を終えると、業務プログラム4601を実行するCPU203は、戻り値に基づいて、解約返戻金計算処理に必要なデータが取得できたか否かを判断し(ステップS4805)、取得できれば、当該データに基づいて解約返戻金計算処理を開始する(ステップS4807)。
例えば、CPU203は、戻り値として「利率基準日」および「積立金額」にかかるデータが取得できれば、上記データ1「2005/09/01」およびデータ2「¥100,000」に基づいて、証券番号「00001」の保険契約にかかる解約返戻金を計算し、その計算結果を解約返戻金計算画面510(図51)の解約返戻金表示欄515に表示する。
一方、CPU203は、戻り値が「未設定」であれば、解約処理が可能でないと判断して、エラーメッセージをディスプレイ201上に表示して処理を終了する(ステップS4806)。この場合、解約返戻金を計算する処理ができないため、その旨をオペレータに提示して当該処理を終了する。
7−4.その他
上記においては、トランザクションデータに記録された日付形式データ(利率基準日)または金額形式データ(積立金額)を例にして説明したが、他のデータ形式のデータに対しても本発明を適用することができる。例えば、テキスト形式データやバイナリ形式データであってもよい。図47においては、テキスト形式のデータ3「大阪市中央区…」のデータが記録されており、データ3はパターン変数3「100」に基づいて、データ項目を「住所」として取り扱われる。
7−5.まとめ
以上説明したように、この発明によれば、記録対象の各データごとにトランザクションデータに記録するデータ項目を任意に設定してデータ管理を行うことができる。これにより、トランザクションデータにおけるレコードフォーマットの冗長性を排除し、汎用性が高くかつ利用効率のよいデータ管理システムを提供することができる。
また、業務プログラムからデータ特性に基づく業務ロジックを排除して、メンテナンス性をより一層向上させることができる。特に、パッケージソフトの分野において、業務プログラムのカスタマイズ作業を不要とし、レコードフォーマットのカスタマイズ作業だけでパッケージソフトを複数の企業について適用することができる。このため、開発コストや導入コストを大幅に低減することができる。
なお、上記においては、企業IDごとにデータ項目定義体プログラムを作成する例について説明したが、他の要件に基づいてデータ項目定義体プログラムを作成してもよい。例えば、商品コードや企業グループ単位にデータ項目定義体プログラムを作成してもよい。
さらに、データ形式ごとにパターン変数のカラムインデックスを設定するようにしてもよい。これにより、同一のデータ形式をデータ項目をグループ化してスキーマ設計を行い、処理速度または処理効率をより向上させることができる。
8.第8の実施形態
上記実施形態においては、所定のデータ項目の所定のデータ内容に対応するデータ内容IDをトランザクションデータに設定する例について説明したが、本実施形態においては、トランザクションデータに記録されたデータ内容IDに基づいてデータ内容を取得し、これに基づいて所定の処理を行う例について説明する。
例えば、従来技術(1)に示したデータ管理システムにおいては、保険商品の解約時における源泉徴収税額を計算する場合、トランザクションデータが示す保険契約が「所定の年金保険」であるか否か、「所定の年金保険」である場合には年金種類が「確定年金」であるか否かを少なくとも判断する必要があった。
しかしながら、上記のような判断ロジックを各業務プログラム内に組み込んだ構成を採用している場合、計算対象となる年金保険の種類が追加されると、判断ロジックを修正する必要が生じ、修正にともなうシステムの動作確認作業が必要となる。このため、システム変更に対するメンテナンスコストが多大に発生することになる。特に、企業によって使用する保険商品や機能要件の異なることを前提とされる業務用パッケージソフト業界においては、運用時のメンテナンスコストのみならず、導入時におけるカスタマイズコストも抑えることのできる汎用性の高いデータ管理手法の採用が求められていた。
本実施形態では、上記の点に鑑みて、商品特性の違うデータを取り扱う場合であっても、判断ロジックの修正に対する影響範囲を最小限に抑えつつ汎用性や可用性を維持することのできるデータ管理システムについて説明する。
8−1.機能ブロック図
本発明にかかるデータ管理装置1の機能ブロック図は、図1または図20に示したものと同様である。
8−2.ハードウェア構成
本発明にかかるデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例は、基本的には図2または図21に示したものと同様である。
8−3.処理詳細(1)
図53〜59を用いて、本実施形態における処理の詳細を説明する。なお、本実施形態においても、業務プログラムは、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。
図53に、業務プログラム5301、ラッパープログラム5303、約款定義体プログラム5305、…およびワーク領域5307における機能ブロック図を示す。
業務プログラム5301は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部5321、所定計算処理ごとの計算条件を設定するための条件設定部であるI/F編集クラス5323および前記計算条件に基づいて所定の計算処理を行うための計算処理部である計算モデル5325を少なくとも1組備えている。なお、I/F編集クラスおよび計算モデルの組合せは、処理ごとに1つ作成されており、例えば、当該処理としては、源泉徴収税額計算処理、円転計算処理、遅延利息計算処理または支払額計算処理等が存在する。
ラッパープログラム5303は、約款定義体プログラム5305に処理プログラムを要求し、これを実行するための処理プログラム要求・実行部5327を備えている。
約款定義体プログラム5305は、ラッパープログラム5303からの要求を受けて処理プログラムを生成するための処理プログラム生成部5329と、処理名ごとに処理コードを記録した処理コード記録部5331と、処理コードに設定するために用いられる組合せデータを記録した組合せデータ記録部5333を備えている(例えば、約款IDが「55555」の場合。)。
ワーク領域5307は、各プログラムが取り扱う可能性のあるすべてのデータを包含したデータ格納オブジェクトであって、トランザクションレコードを格納するためのワークレコード5351、ユーザインタフェース画面において入力または表示されるデータを格納するための画面入力データ5353および各プログラムにおいて出力されたデータを格納するための計算結果データ5355から構成される。
本実施形態においては、年金に関する保険商品の解約返戻金額の計算処理時に、同時に処理される源泉徴収税額計算処理について説明する。
図54〜57は、上記の場合においてデータ管理装置1で実行される業務プログラム5301、ラッパープログラム5303および約款定義体プログラム5305のフローチャートの例である。
8−3−1.画面データの取得
図59に、業務プログラム5301におけるメイン処理部5321(図53)の実行によってディスプレイ201に表示される解約返戻金計算画面570の例を示す。この画面においては、日付表示欄578、証券番号の入力欄571、契約者名表示欄573、…、解約返戻金額表示欄574、既払い保険料表示欄575、源泉領収税額表示欄576および計算ボタン577等が表示される。
データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、解約返戻金額、既払い保険料および源泉徴収税額の計算を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄571に「00001」を入力し、契約者名等を表示させる。
その後、オペレータは、計算ボタン577を押下することにより、証券番号「00001」のトランザクションデータについての解約返戻金、既払い保険料および源泉徴収税額を計算する処理の実行を指示する。
計算ボタン577の押下を受けて、メイン処理部5321を実行するCPU203は画面入力データ5353を取得する(ステップS5401、図54)。上述したように、解約返戻金計算画面570に表示されるデータはすべてワーク領域5307の画面入力データ5353に格納される。
図58に、ワーク領域5307の構成例を示す。ワークレコード5351は、証券番号5811、約款ID5813、変数1_5815、…等から構成される。画面入力データ5353は、証券番号5821、解約年月日5823、…等から構成される。計算結果データ5355は、解約返戻金額5831、既払い保険料5833、源泉徴収税額5839、…等から構成される。
例えば、CPU203は、図58に示すワーク領域のレコード5801から証券番号5821「00001」および解約年月日5823「2005年10月1日」を取得する。なお、解約年月日5823「2005年10月1日」は、解約返戻金計算画面570の日付表示欄578から取得されたデータである。
8−3−2.解約返戻金計算処理および既払い保険料計算処理
画面入力データを取得したCPU203は、解約返戻金計算処理および既払い保険料計算処理を実行する(ステップS5403〜5405)。CPU203は、解約返戻金計算処理によって取得した解約返戻金額をワーク領域5307の計算結果データ5355に格納する。例えば、図58のレコード5801における解約返戻金額5831に「¥100,000」を格納する。
また、CPU203は、既払い保険料計算処理によって取得した既払い保険料をワーク領域5307の計算結果データ5355に格納する。例えば、図58のレコード5801における既払い保険料5833に「¥80,000」を格納する。
8−3−3.源泉徴収税額計算処理
解約返戻金計算処理および既払い保険料計算処理を終えると、業務プログラムを実行するCPU203は、源泉徴収税額計算処理を行う(ステップS5407)。この処理は、源泉徴収税額計算処理(I/F編集クラス)および源泉徴収税額計算処理(計算モデル)を順次実行することによって行われる(図55、S5421〜S5425)。
8−3−3−1.源泉徴収税額計算処理(I/F編集クラス)
図56に、源泉徴収税額計算処理(I/F編集クラス)のフローチャートを示す。
8−3−3−1−1.ワーク領域への設定
CPU203は、ワーク領域5307の計算結果データ5355から解約返戻金額5831を読み込み、モデル用ワーク領域5891における入力データの総所得額5835に設定する(ステップS5501、図56)。例えば、図58のレコード5803に示すように、解約返戻金5831「¥100,000」を総所得額5835「¥100,000」に設定する。
CPU203は、ワーク領域5307の計算結果データ5355から既払い保険料5833を読み込み、モデル用ワーク領域5891における入力データの必要経費5837に設定する(ステップS5503)。例えば、図58のレコード5803に示すように、払い保険料5833「¥80,000」を必要経費5837「¥80,000」に設定する。
8−3−3−1−2.ラッパープログラムの起動(業務プログラム)
CPU203は、ワーク領域5307のワークレコード5351を読み込んで当該保険契約にかかるトランザクションレコードを取得し、当該保険契約が「一時払いである」および「契約後5年以内の解約である」という条件を満たすか否かを判断する(ステップS5505〜5507)。上記条件を満たしていれば、I/F編集クラス5323を実行するCPU203は、ワーク領域5307に記録されている約款IDおよび所定の処理名を、ラッパープログラム5303に引き渡す(ステップS5509)。例えば、上記においては、解約返戻金計算処理にともなう源泉徴収税額を計算するため、CPU203は、ワーク領域5307の約款ID5813「55555」とともに、I/F編集クラス5323において設定された処理名である「年金種類取得」を引き渡す。
8−3−3−1−3.ラッパープログラム
ラッパープログラム5303を実行するCPU203は、処理プログラム要求・実行部5327において、業務プログラム5301から受け継いだ約款IDに基づいて約款定義体プログラム5305を特定し、特定した約款定義体プログラム5305にアクセスして処理名を引き渡す(ステップS5521)。
8−3−3−1−4.約款定義体プログラム
引き渡しを受けてCPU203は、約款定義体プログラム5305の処理プログラム生成部5329を実行し、受け継いだ処理名に対応する処理コードを処理コード記録部5331から取得するとともに、受け継いだ処理名に対応する契約内容および契約内容IDの組合せデータを組合せデータ記録部5333から取得する。さらに、約款定義体プログラム5305を実行するCPU203は、取得した処理コードおよび組合せデータに基づいて処理プログラムを生成し、生成した処理プログラムをラッパープログラム5303に引き渡す(ステップS5541)。なお、ステップS5541における処理は、図25に示した契約内容取得処理のフローチャートのステップS2541〜S2547の処理と同様である。
8−3−3−1−5.処理プログラムの実行(ラッパープログラム)
ラッパープログラム5303においてCPU203は、約款定義体プログラム2096から受け継いだ処理プログラムを実行する(ステップS5523)。このとき実行される処理プログラムのフローチャートは、図26に示したものと同様である。処理プログラムの実行によって、CPU203は、ワーク領域5307から入力した契約内容IDに対応する契約内容を取得する。例えば、図30に示した処理プログラムの組合せデータから、契約内容ID「01」に対応する契約内容「確定年金」を取得する。
ラッパープログラム5503を実行するCPU203は、実行結果を業務プログラム5301に通知する(ステップS5525、図55)。例えば、「年金種類=確定年金」を、戻り値として業務プログラム5301のI/F編集クラス5323にかかるプログラムスレッドに返す処理を行う。これにより、当該保険契約にかかる「年金種類」は「確定年金」であることが認識される。
8−3−3−1−6.源泉分離課税対象フラグの設定(I/F編集クラス)
I/F編集クラス5323を実行するCPU203は、ラッパープログラム5303からの通知を受けて、年金種類が確定年金であるか否かを判断する(ステップS5511)。上述したように、「年金種類=確定年金」が戻り値として返されている場合には、モデル用ワーク領域5891における入力データの源泉分離課税対象フラグ5841をONに設定する(ステップS5513)。
なお、年金種類が、「終身年金」等のように確定年金以外であった場合には、源泉分離課税対象フラグ5841は、初期値としてのOFFが設定されている状態となる。
8−3−3−2.源泉徴収税額計算処理(計算モデル)
解約返戻金計算処理(I/F編集クラス)の実行を終えると、業務プログラムを実行するCPU203は、源泉徴収税額計算処理(計算モデル)を実行する(図55、S5423)。図57において、CPU203は、モデル用ワーク領域5891から源泉分離課税対象フラグ5841を読み込み、源泉分離課税対象フラグがONであるか否かを判断し、ONであれば、ワーク領域5307から総所得額および必要経費を読み込む(ステップS5600〜S5603)。例えば、図58に示したレコード5803の総所得額5835「¥100,000」および必要経費5837「¥80,000」を読み込む。
総所得額および必要経費を読み込むと、CPU203は、所定の計算式に基づいて源泉徴収税額を計算する(ステップS5605)。例えば、計算式「 源泉徴収税額 = (総所得額−必要経費) × 0.2 」に基づいて、源泉分離課税対象の解約返戻金に対する税額を計算する。
CPU203は、算出した源泉徴収税額を、モデル用ワーク領域5891における出力データの源泉徴収税額5843に出力する(ステップS5607)。例えば、図58のレコード5803に示すように、算出した源泉徴収税額「¥4,000」を、源泉徴収税額5843に格納する。
なお、ステップS5601において、源泉分離課税対象フラグ5841がOFFに設定されている場合には、上記処理をスキップして当該処理を終了する。
8−3−3−3.源泉徴収税額の出力
源泉徴収税額計算処理(I/F編集クラス)および源泉徴収税額計算処理(計算モデル)を順次実行すると、CPU203は、モデル用ワーク領域5891に出力した源泉徴収税額5843を、ワーク領域5307における計算結果データ5355の源泉徴収税額5839に出力する(ステップS5425)。例えば、図58のレコード5801に示すように、源泉徴収税額5839に、レコード5803から読み込んだ源泉徴収税額5843「¥4,000」を格納する。
8−3−4.画面表示(業務プログラム)
業務プログラム5301のメイン処理部5321を実行するCPU203は、ワーク領域5307に格納した解約返戻金額、既払い保険料および源泉徴収税額を、解約返戻金計算画面570に表示する(ステップS5411)。例えば、図58に示すレコード5801の約返戻金額5831「¥100,000」、既払い保険料5833「¥80,000」および源泉徴収税額5839「¥4,000」を、図59に示す解約返戻金計算画面570の解約返戻金額表示欄574、既払い保険料表示欄575、源泉領収税額表示欄576にそれぞれ表示する。
8−3−5.まとめ
このように、I/F編集クラス5323において約款定義体プログラム5305にアクセスし、所望の約款IDにかかる所望の契約内容を取得することにより、業務アプリケーションのメイン処理部側で保険商品を判断する必要がなくなる。これにより、商品の契約条件の差異に影響を受けることなく、システムの可用性および汎用性を維持することができる。すなわち、保険商品が追加された場合であっても、判断ロジックの修正を行わずにシステムを利用し続けることができ、メンテナンスコストやカスタマイズコストを抑制することができる。
8−4.処理詳細(2)
上記処理詳細(1)においては、1つの計算処理について、条件設定を行う「I/F編集クラス」と計算処理を行う「計算モデル」を用いて構造的な処理を行うように構成している。これにより、「計算モデル」を普遍的な計算式のみで構成することができる。例えば、上記においては、源泉徴収税額計算についての「計算モデル」として、計算式「源泉徴収税額=(総所得額−必要経費)×0.2」を用いている。このような計算式は、法令等によって定められるものであって、いずれの企業においても普遍的に使用されるものである。
処理詳細(2)においては、異なる業務アプリケーション間において、上記源泉徴収税額計算に代表されるI/F編集クラスおよび計算モデルを共用する例について説明する。例えば、保険業界においては、支払開始日前に積立金の一部を引き出すことによって、一部のみを解約として取り扱う「減額」という処理が存在する。このような「減額」の場合にも、減額部分に対しての解約返戻金額が発生するため、源泉徴収税額計算が行われる。以下、減額処理にかかる業務アプリケーションを実行する例について説明する。
図54aおよび図59aをさらに用いて、本実施形態における処理の詳細を説明する。なお、本実施形態においても、業務プログラムは、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。図54aは、上述した減額の場合における業務プログラム5301のフローチャートの例である。
8−4−1.画面データの取得
図59aに、業務プログラム5301におけるメイン処理部5321(図53)の実行によってディスプレイ201に表示される減額分解約返戻金計算画面590の例を示す。この画面においては、日付表示欄598、証券番号の入力欄591、契約者名表示欄593、減額後積立金額表示欄598、…、減額分解約返戻金額表示欄594、減額分既払い保険料表示欄595、源泉領収税額表示欄596および計算ボタン597等が表示される。
データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、解約返戻金額、既払い保険料および源泉徴収税額の計算を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄591に「00001」を入力し、契約者名等を表示させる。
その後、オペレータは、計算ボタン597を押下することにより、証券番号「00001」のトランザクションデータについての減額分解約返戻金、減額分の既払い保険料および源泉徴収税額を計算する処理の実行を指示する。
計算ボタン597の押下を受けて、メイン処理部5321を実行するCPU203は画面入力データ5353を取得する(ステップS5401、図54a)。上述したように、減額分解約返戻金計算画面590に表示されるデータはすべてワーク領域5307の画面入力データ5353に格納される。
図58に、ワーク領域5307の構成例を示す。ワークレコード5351は、証券番号5811、約款ID5813、変数1_5815、…等から構成される。画面入力データ5353は、証券番号5821、解約年月日5823、…等から構成される。計算結果データ5355は、解約返戻金額5831、既払い保険料5833、源泉徴収税額5839…等から構成される。
例えば、CPU203は、図58に示すワーク領域のレコード5801から証券番号5821「00001」および解約年月日5823「2005年10月1日」を取得する。なお、解約年月日5823「2005年10月1日」は、解約返戻金計算画面590の日付表示欄598から取得されたデータである。
8−4−2.減額分解約返戻金計算処理および減額分既払い保険料計算処理
画面入力データを取得したCPU203は、減額後積立金額表示欄598に入力された減額後積立金額に基づいて、減額分解約返戻金計算処理および減額分既払い保険料計算処理を実行する(ステップS5404〜5406)。CPU203は、減額分解約返戻金計算処理によって取得した減額分解約返戻金額をワーク領域5307の計算結果データ5355に格納する。例えば、図58のレコード5801における解約返戻金額5831に「¥100,000」を格納する。
また、CPU203は、減額分既払い保険料計算処理によって取得した減額分既払い保険料をワーク領域5307の計算結果データ5355に格納する。例えば、図58のレコード5801における既払い保険料5833に「¥80,000」を格納する。
8−4−3.源泉徴収税額計算処理
解約返戻金計算処理および既払い保険料計算処理を終えると、業務プログラムを実行するCPU203は、源泉徴収税額計算処理を行う(ステップS5407、図54a)。この処理は、源泉徴収税額計算処理(I/F編集クラス)および源泉徴収税額計算処理(計算モデル)を順次実行することによって行われる(図55、S5421〜S5425)。ここで、源泉徴収税額計算処理(I/F編集クラス)および源泉徴収税額計算処理(計算モデル)を含む源泉徴収税額計算処理のフローチャートは、処理詳細(1)の図55〜57に示したものと同様である。
8−4−4.画面表示(業務プログラム)
業務プログラム5301のメイン処理部5321を実行するCPU203は、ワーク領域5307に格納した解約返戻金額、既払い保険料および源泉徴収税額を、減額分解約返戻金計算画面590に表示する(ステップS5411)。例えば、図58に示すレコード5801の約返戻金額5831「¥100,000」、既払い保険料5833「¥80,000」および源泉徴収税額5839「¥4,000」を、図59に示す減額分解約返戻金計算画面590の減額分解約返戻金額表示欄594、減額分既払い保険料表示欄595、源泉領収税額表示欄596にそれぞれ表示する。
8−4−5.まとめ
このように、通常の解約処理と上記減額処理においては、処理内容が異なるものであるが、各処理に共通して使用されるデータ格納オブジェクトであるワーク領域の計算結果データを使用することにより、解約処理と減額処理の計算処理を共通化することができる。すなわち、異なる業務アプリケーション間において、上記源泉徴収税額計算に代表されるI/F編集クラスおよび計算モデルを共用することができる。
これにより、業務アプリケーションのメイン処理部側で保険商品を判断する必要がなくなるとともに、処理機能部品の共通化を図ることができる。したがって、商品特性の差異のみならず、業務アプリケーションの機能要件の差異についての修正を行った場合であっても、修正に対する影響範囲を最小限に抑えることができ、汎用性や可用性を維持することのできるデータ管理システムを提供することができる。
8−5.処理詳細(3)
上記処理詳細(2)においては、1つの計算処理について、条件設定を行う「I/F編集クラス」と計算処理を行う「計算モデル」を用いて構造的な処理を行うように構成するとともに、データ格納オブジェクトであるワーク領域の同一エリアにI/F編集クラスおよび計算モデルの入出力データをセットすることにより、業務アプリケーションの機能要件の差異を吸収し、可用性および汎用性を維持している。
処理詳細(3)においては、さらにI/F編集クラスにおいても業務アプリケーションの機能要件の差異を吸収させる構成を採用して、より可用性および汎用性を高めることのできるデータ管理システムについて説明する。
図54b、図56a、図58aおよび図60〜図63をさらに用いて、本実施形態における処理の詳細を説明する。なお、本実施形態においても、業務プログラムは、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。
図54bは、「外貨年金保険」を取り扱う場合における業務プログラム5301のフローチャートの例である。なお、「外貨年金保険」とは、資金を米国債などで運用する外貨建ての個人年金保険等である。この場合の解約返戻金額や既払い保険料は外貨建てで計算されるが、源泉徴収税額は円転された解約返戻金額および既払い保険料に基づいて邦貨建てで計算される。
8−5−1.画面データの取得
図60に、業務プログラム5301におけるメイン処理部5321(図53)の実行によってディスプレイ201に表示される外貨年金解約返戻金計算画面600の例を示す。この画面においては、日付表示欄608、証券番号の入力欄601、契約者名表示欄603、…、解約返戻金額表示欄604、既払い保険料表示欄605、源泉領収税額表示欄606および計算ボタン607等が表示される。
データ管理装置1のオペレータは、所定の証券番号によって特定される生命保険契約にかかるトランザクションデータについて、外貨建ての解約返戻金額、外貨建ての既払い保険料および邦貨建ての源泉徴収税額の計算を指示することができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄601に「00001」を入力し、契約者名等を表示させる。
その後、オペレータは、計算ボタン607を押下することにより、証券番号「00001」のトランザクションデータについての解約返戻金、既払い保険料および源泉徴収税額を計算する処理の実行を指示する。
計算ボタン607の押下を受けて、メイン処理部5321を実行するCPU203は画面入力データ5353を取得する(ステップS5401、図54b)。上述したように、外貨年金解約返戻金計算画面600に表示されるデータはすべてワーク領域5307の画面入力データ5353に格納される。
図58aに、ワーク領域5307の構成例を示す。ワークレコード5351は、証券番号5811、約款ID5813、変数1_5815、…等から構成される。画面入力データ5353は、証券番号5821、解約年月日5823、…等から構成される。計算結果データ5355は、解約返戻金額5831、解約返戻金額(円相当額)5832、既払い保険料5833、既払い保険料(円相当額)5834、源泉徴収税額5839…等から構成される。
例えば、CPU203は、図58aに示すワーク領域のレコード5805から証券番号5821「00001」および解約年月日5823「2005年10月1日」を取得する。なお、解約年月日5823「2005年10月1日」は、外貨年金解約返戻金計算画面600の日付表示欄608から取得されたデータである。
8−5−2.解約返戻金計算処理および既払い保険料計算処理
画面入力データを取得したCPU203は、解約返戻金計算処理および既払い保険料計算処理を実行する(ステップS5403〜5405、図54b)。CPU203は、解約返戻金計算処理によって取得した解約返戻金額をワーク領域5307の計算結果データ5355に格納する。例えば、図58aのレコード5805における解約返戻金額5831に「$904」を格納する。
また、CPU203は、既払い保険料計算処理によって取得した既払い保険料をワーク領域5307の計算結果データ5355に格納する。例えば、図58aのレコード5805における既払い保険料5833に「$723」を格納する。
このように、米国ドル($)建てで運用を行う外貨年金の場合には、解約返戻金額および既払い保険料は、米国ドル($)で計算される。
8−5−3.円転計算処理
解約返戻金計算処理および既払い保険料計算処理を終えると、業務プログラムを実行するCPU203は、円転計算処理を行う(ステップS5408、図54b)。この処理は、円転計算処理(I/F編集クラス)および円転計算処理(計算モデル)を順次実行することによって行われる(図61、S6101〜S6105)。これらの処理は、上記において計算した外貨建ての解約返戻金額および既払い保険料を邦貨(円)に転換するための計算処理である。
8−5−3−1.円転計算処理(I/F編集クラス)
図62に、円転計算処理(I/F編集クラス)におけるフローチャートを示す。
8−5−3−1−1.ラッパープログラムの起動(業務プログラム)
円転計算処理を実行するCPU203は、ワーク領域5307のワークレコード5351を読み込んで当該保険契約にかかるトランザクションレコードを取得し、約款IDおよび所定の処理名を、ラッパープログラム5303に引き渡す(ステップS6201)。例えば、上記においては、円転計算処理にともなう約定通貨を判断するため、CPU203は、ワーク領域5307の約款ID5813「55555」とともに、円転計算処理にかかるI/F編集クラスにおいて設定された処理名である「約定通貨取得」を引き渡す。
8−5−3−1−2.ラッパープログラム
ラッパープログラム5303を実行するCPU203は、処理プログラム要求・実行部5327において、業務プログラム5301から受け継いだ約款IDに基づいて約款定義体プログラム5305を特定し、特定した約款定義体プログラム5305にアクセスして処理名を引き渡す(ステップS6221)。
8−5−3−1−3.約款定義体プログラム
引き渡しを受けてCPU203は、約款定義体プログラム5305の処理プログラム生成部5329を実行し、受け継いだ処理名に対応する処理コードを処理コード記録部5331から取得するとともに、受け継いだ処理名に対応する契約内容および契約内容IDの組合せデータを組合せデータ記録部5333から取得する。さらに、約款定義体プログラム5305を実行するCPU203は、取得した処理コードおよび組合せデータに基づいて処理プログラムを生成し、生成した処理プログラムをラッパープログラム5303に引き渡す(ステップS6241)。なお、ステップS6241における処理は、図25に示した契約内容取得処理のフローチャートのステップS2541〜S2547の処理と基本的に同様であるが、上記ステップS6241では契約内容として所定の約定通貨を記録している点が異なる。
8−5−3−1−4.処理プログラムの実行(ラッパープログラム)
ラッパープログラム5303においてCPU203は、約款定義体プログラム2096から受け継いだ処理プログラムを実行する(ステップS6223)。このとき実行される処理プログラムのフローチャートは、図26に示したものと基本的に同様である。
処理プログラムの実行によって、CPU203は、ワーク領域5307から入力した契約内容IDに対応する契約内容を取得する。例えば、処理プログラムの組合せデータから、契約内容ID「02」に対応する契約内容「米国ドル(USD)」を取得する。
ラッパープログラム5303を実行するCPU203は、実行結果を業務プログラム5301に通知する(ステップS6225)。例えば、「約定通貨=米国ドル(USD)」を、戻り値として業務プログラム5301のI/F編集クラス5323にかかるプログラムスレッドに返す処理を行う。これにより、当該保険契約にかかる「約定通貨」は「米国ドル(USD)」であることが認識される。
8−5−3−1−5.モデル用ワーク領域への設定
CPU203は、上記においてラッパープログラムから取得した約定通貨を、モデル用ワーク領域2_5892に設定する(ステップS6204、図62)。例えば、図58aのレコード5807に示すように、約定通貨5851に「米国ドル(USD)を設定する。
CPU203は、ワーク領域5307の計算結果データ5355から解約返戻金額5831を読み込み、モデル用ワーク領域2_5892における入力データの外貨金額1_5853に設定する(ステップS6205)。例えば、図58aのレコード5807に示すように、解約返戻金額5831「904」を外貨金額1_5853「904」に設定する。
CPU203は、ワーク領域5307の計算結果データ5355から既払い保険料5833を読み込み、モデル用ワーク領域2_5892における入力データの外貨金額2_5855に設定する(ステップS6207)。例えば、図58aのレコード5807に示すように、既払い保険料5833「723」を外貨金額2_5855「723」に設定する。
CPU203は、モデル用ワーク領域2_5892における入力データの円転対象フラグ5857をONに設定する(ステップS6209)。
なお、約定通貨が、「円」のように外貨でない場合には、円転対象フラグ5857は、初期値としてのOFFが設定されている状態となる。
8−5−3−2.円転計算処理(計算モデル)
円転計算処理(I/F編集クラス)の実行を終えると、業務プログラムを実行するCPU203は、円転計算処理(計算モデル)を実行する(図61、S6103)。図63に円転計算処理(計算モデル)のフローチャートを示す。この図において、CPU203は、モデル用ワーク領域2_5892から円転対象フラグを読み込み、円転対象フラグがONであるか否かを判断し、ONであれば、ワーク領域5307から外貨金額1および外貨金額2、…を読み込む(ステップS6301〜S6305)。例えば、図58aに示したレコード5807の外貨金額1_5853「904」および外貨金額2_5855「723」、…を読み込む。
外貨金額を読み込むと、CPU203は、さらにモデル用ワーク領域2_5892から約定通貨5851を読み込み、所定のテーブルから円換算レートを取得する(ステップS6307)。例えば、「米国ドル(USD)」に対応する円換算レートを読み込む。
次に、CPU203は、読み込んだ各外貨金額についての円相当額を計算し、モデル用ワーク領域に出力する(ステップS6309〜S6311)。例えば、外貨金額1にステップS6307で取得した円換算レートを乗じることにより、外貨金額1に対応する円相当額1を計算する。このように、CPU203は、解約返戻金額(外貨金額1)および既払い保険料(外貨金額2)に対する円相当額(円相当額1または円相当額2)を計算することができる。
なお、ステップS6303において、円転対象フラグ5857がOFFに設定されている場合には、上記処理をスキップして当該処理を終了する。
8−5−4.源泉徴収税額計算処理(円転対応)
円転計算処理を終えると、業務プログラムを実行するCPU203は、源泉徴収税額計算処理(円転対応)を行う(ステップS5409、図54b)。この処理は、処理詳細(1)の場合と同様に、源泉徴収税額計算処理(I/F編集クラス)および源泉徴収税額計算処理(計算モデル)を順次実行することによって行われる(図55、S5421〜S5425)。
8−5−4−1.源泉徴収税額計算処理(I/F編集クラス)
図56aに、処理詳細(3)における源泉徴収税額計算処理(I/F編集クラス)のフローチャートを示す。
8−5−4−1−1.約定通貨の取得
CPU203は、ワーク領域5307のワークレコード5351を読み込んで当該保険契約にかかるトランザクションレコードを取得し、約款IDおよび所定の処理名を、ラッパープログラム5303に引き渡すことにより、約定通貨を取得する処理を行う(ステップS5701、S5721〜S5725、S5741)。なお、これらの処理は、上記円転計算処理におけるステップS6201、S6221〜S6225、S6241(図62)に示したものと同様である。
例えば、円転計算処理(I/F編集クラス)を実行するCPU203は、約款ID5813「55555」および処理名である「約定通貨取得」をラッパープログラム5303に引き渡すことにより、「約定通貨=米国ドル(USD)」を、戻り値として取得する。
8−5−4−1−2.ワーク領域への設定
CPU203は、ラッパープログラム5303から取得した戻り値に基づいて、当該ワークレコード5351にかかる保険契約の約定通貨が外貨であるか否かを判定する(ステップS5703)。
S5703において、約定通貨が外貨であると判定した場合には、ワーク領域5307における計算結果データ5355の解約返戻金額(円相当額)5832を読み込み、モデル用ワーク領域5891における入力データの総所得額5835に設定する(ステップS5705、図56a)。例えば、図58aのレコード5803に示すように、解約返戻金(円相当額)5832「¥100,000」を総所得額5835「¥100,000」に設定する。
CPU203は、ワーク領域5307の計算結果データ5355から既払い保険料(円相当額)5834を読み込み、モデル用ワーク領域5891における入力データの必要経費5837に設定する(ステップS5707)。例えば、図58aのレコード5803に示すように、既払い保険料5833(円相当額)「¥8,000」を必要経費5837「¥8,000」に設定する。
一方、S5703において、約定通貨が外貨でないと判定した場合には、処理詳細(1)と同様に、ワーク領域5307における計算結果データ5355の解約返戻金額5831を読み込み、モデル用ワーク領域5891における入力データの総所得額5835に設定し、既払い保険料5833を読み込み、モデル用ワーク領域5891における入力データの必要経費5837に設定する(ステップS5706、S5708)。
8−5−4−1−3.ステップS5709〜S5717(図56a)
ステップS5709〜S5717の処理は、処理詳細(1)において説明した図56のS5505〜S5513の処理と同様である。すなわち、CPU203は、当該保険契約が「一時払いである」および「契約後5年以内の解約である」という条件を満たす場合には、さらに約款IDにかかる年金種類を取得して、年金種類が確定年金であれば、モデル用ワーク領域5891の源泉分離課税対象フラグ5841をONに設定する。
8−5−4−2.源泉徴収税額計算処理(計算モデル)
解約返戻金計算処理(I/F編集クラス)の実行を終えると、処理詳細(1)と同様に、業務プログラムを実行するCPU203は、源泉徴収税額計算処理(計算モデル)を実行する(図61、S6103)。
なお、源泉徴収税額計算処理(計算モデル)は、処理詳細(1)の図57に示したものと同様である。よって、CPU203は、算出した源泉徴収税額を、モデル用ワーク領域5891における出力データの源泉徴収税額5843に出力する(ステップS6105)。
8−5−5.画面表示(業務プログラム)
業務プログラム5301のメイン処理部5321を実行するCPU203は、ワーク領域5307に格納した解約返戻金額、既払い保険料および源泉徴収税額を、外貨年金解約返戻金計算画面600に表示する(ステップS5411、図54b)。例えば、図58aに示すレコード5805の約返戻金額5831「$904」、既払い保険料5833「$723」および源泉徴収税額5839「¥4,000」を、図60に示す解約返戻金計算画面600の解約返戻金額表示欄604、既払い保険料表示欄605、源泉領収税額表示欄606にそれぞれ表示する。
8−5−6.まとめ
このように、業務アプリケーションにおいて、特定の計算を行う処理機能をメイン処理部から独立させ、「I/F編集クラス」および「計算モデル」として構成することにより、商品特性の差異の吸収と機能要件の差異の吸収を局所化することができる。
これにより、商品特性の異なる商品を追加した場合であっても、また機能要件の異なる機能を追加した場合であっても、業務アプリケーション全体に影響を与えることなく修正作業を行うことができる。したがって、可用性および汎用性を高めることのできるデータ管理システムを提供することができる。
また、データ格納オブジェクトを用いて各業務アプリケーション間のインターフェイスを統一することにより、商品特性の差異の吸収と機能要件の差異の吸収をより階層的に制御することを可能としている。
9.第9の実施形態
上記第1〜8の実施形態においては、取り扱うデータ項目が互いに異なる複数の商品を含むトランザクションデータを管理する例について説明したが、本実施形態においては、このようなトランザクションデータを取り扱うアプリケーションプログラムについて説明する。
例えば、各トランザクションデータを個別に修正するための修正画面アプリケーションについて考える。上述したように、各トランザクションデータに記録される保険商品は約款IDによってその商品特性が決定付けられるものであるため、約款IDが異なると修正対象として画面表示させるべきデータ項目が異なる。このため、修正画面アプリケーションを作成する場合においては、各約款IDごとに修正画面を作成しておくか、すべての約款IDに共通して対応できるような修正画面を作成しておくといった方策が考えられる。
しかしながら、このような方策を採用した場合、取り扱う保険商品やそのデータ項目が変動すると、同時に修正画面の修正作業を行わなければならず煩雑である。このため、システム変更に対するメンテナンスコストが多大に発生する要因となり得る。特に、企業によって使用する保険商品や機能要件の異なることが前提のパッケージソフトの分野においては、運用時のメンテナンスコストのみならず、導入時におけるカスタマイズコストも抑えることのできる汎用性の高いデータ管理手法の採用が求められていた。
本実施形態では、上記の点に鑑みて、商品特性が異なる複数の保険商品やそのデータ項目の変動について容易に対応することのできるアプリケーションプログラムを備えたデータ管理装置について説明する。
なお、第4の実施形態と同様に、第1〜3の実施形態において説明した「商品定義データ」については、本実施形態においては「約款定義データ」と読み替えて説明する。
9−1.機能ブロック図
本発明にかかるデータ管理装置1の機能ブロック図を図1aに示す。この図において、データ管理装置1は、図1に示した入力手段11、データ記録部13、データ処理手段15、データ定義部17および表示手段19に加えて、表示形式定義部20を備えている。
表示形式定義部20は、データ処理手段15における処理結果であるデータ内容またはデータ内容IDについての表示形式を記録する。表示手段19は、表示形式定義部20に記録された表示形式に基づいてデータ内容またはデータ内容IDを表示する。
9−2.ハードウェア構成
本発明にかかるデータ管理装置1を、CPUを用いて実現したコンピュータ装置のハードウェア構成の一例を図2aに示す。この図において、データ管理装置1は、図2と同様に、ディスプレイ201、CPU203、メモリ205、キーボード/マウス207、ハードディスク209、CD−ROMドライブ211および通信回路215を備えている。
ハードディスク209は、図2に示した業務アプリケーションプログラム2091、トランザクションデータベース2093、約款定義体プログラム2094に加えて、表示形式テーブル2098を記録している。
9−3.処理詳細(1)
図64〜72を用いて、本実施形態における処理の詳細を説明する。なお、本実施形態においても、業務プログラムは、生命保険の契約データおよび商品データを管理するためのアプリケーションプログラムである。
図64に、業務プログラム6401、ラッパープログラムA6403、ラッパープログラムB6404、約款定義体プログラム6405、…および表示形式テーブル6407における機能ブロック図を示す。
業務プログラム6401は、画面処理などのユーザインタフェースやデータベースに関する処理を実行するためのメイン処理部6421を備えている。
ラッパープログラムA6403は、約款定義体プログラム6405に処理プログラムを要求し、これを実行するための処理プログラム要求・実行部6423を備えている。
約款定義体プログラム6405は、ラッパープログラムA6403からの要求を受けて処理プログラムを生成するための処理プログラム生成部6427と、処理名ごとに処理コードを記録した処理コード記録部6429と、処理コードに設定するために用いられる組合せデータを記録した組合せデータ記録部6430を備えている(例えば、約款IDが「11111」の場合。)。
ラッパープログラムB6404は、所定の契約条件を画面に表示させるための表示形式6423を表示形式テーブル6407から取得するための表示形式取得部6425を備えている。
本実施形態においては、所定の保険契約のトランザクションデータについて記録されている任意の契約条件をダイレクトに修正することのできる個別修正アプリケーションの画面表示処理について説明する。
図65〜図67および図72は、上記の場合においてデータ管理装置1で実行される業務プログラム6401、ラッパープログラムA6403、ラッパープログラムB6404または約款定義体プログラム6405のフローチャートの例である。
9−3−1.画面データの取得
図68に、業務プログラム6401におけるメイン処理部6421(図64)の実行によってディスプレイ201に表示される個別修正画面680の例を示す。この画面においては、第1エリア6801に証券番号の入力欄681が表示され、第2エリア6802に契約年月日表示欄683、年金種類表示欄684、年金支払期間表示欄685および告知年月日表示欄686、…等が表示される。なお、個別修正画面680の初期画面においては、第1エリア6801のみにデータが表示され、第2エリアにはいずれのデータも表示されない。
データ管理装置1のオペレータは、個別修正の対象となる証券番号を入力欄681に入力してデータ呼出ボタン682を押下することにより、入力した証券番号にかかるトランザクションデータに基づく個別修正データを表示させるための指示を行うことができる。例えば、オペレータはキーボード/マウス207を用いて、証券番号の入力欄681に「00001」を入力し、データ呼出ボタン682を押下することにより、証券番号「00001」についての個別修正データを呼び出すための処理の実行を指示する。
データ呼出ボタン682の押下を受けて、メイン処理部6421を実行するCPU203は画面データを取得する(ステップS6501、図65)。例えば、CPU203は画面データとして、証券番号「00001」を取得する。
9−3−2.ラッパープログラムAの起動(業務プログラム)
業務プログラム6401においてCPU203は、保険契約のトランザクションレコードを取得し、所定のワークレコードに格納する(ステップS6503)。例えば、トランザクションデータベース2093から証券番号が「00001」であるレコードを抽出し、図71に示すワークレコード7101として取得する。
レコードを取得すると、CPU203は、取得したワークレコードおよび所定の処理名をラッパープログラムA6403に引き渡す(ステップS6505)。例えば、上記においては、証券番号にかかる保険契約のトランザクションデータにおいて記録されたデータ項目(契約条件)についてのデータ(契約内容)の個別修正処理を実行する。このため、CPU203は、ラッパープログラムA6403に「データ項目取得」を処理名として引き渡す。
9−3−3.約款定義体の特定(ラッパープログラムA)
引き渡しを受けてラッパープログラムA6403は、約款IDに基づいて特定した約款定義体プログラムに、業務プログラム6401から取得した処理名を引き渡す(ステップS6521)。
例えば、図71に示すレコード7101においては、約款ID713「11111」に基づいて、約款定義体プログラム6405を特定する。また、CPU203は、上記「データ項目取得」を処理名として引き渡す。
9−3−4.処理コードおよび組合せデータの取得(約款定義体プログラム)
以下、約款IDが「11111」の約款定義体プログラム6405に処理コードを引き渡した場合について説明する。引き渡しを受けてCPU203は、約款定義体プログラム6405の処理プログラム生成部6427を実行し、処理コード記録部を検索して受け継いだ処理名に対応する処理コードを取得する(ステップS6541)。処理コード記録部6429には、処理名ごとに処理コードが記録されている。例えば、CPU203は処理名が「データ項目取得」の処理コード6429aをサーチ処理等により取得する。
CPU203は、処理コード6429内に記録されている「変数nと契約条件の関係テーブル」691a(図69)を参照して、当該処理コードの実行時に用いるすべての契約条件を取得し、取得した各契約条件にかかる契約内容および契約内容IDの組合せデータを、組合せデータ記録部6430から取得する(ステップS6543)。
組合せデータ記録部6430には、契約条件(データ項目)ごとに組合せデータが記録されている。例えば、CPU203は、当該約款IDにおいて設定可能なすべての契約条件(データ項目)についての組合せデータ「年金種類」6430a、「支払期間」6430b、…を取得する。
9−3−5.処理プログラムの生成(約款定義体プログラム)
CPU203は、処理コード記録部から取得した処理コードと、組合せデータ記録部から取得した組合せデータに基づいて処理プログラムを生成する(ステップS6545)。図69に、生成した処理プログラムの構成例を示す。処理プログラム690は、処理コード691、組合せデータ692および組合せデータ693、…から構成されている。例えば、処理コード691には、すべての契約条件(データ項目)について選択可能なすべての契約内容を取得するためのプログラムコードが記述されている。なお、このプログラムコードの表現形式は、ソースコードまたはオブジェクトコードのいずれであってもよい。
また、組合せデータ692および組合せデータ693、…には、すべての契約条件(データ項目)について選択可能なすべての契約内容を取得するためのプログラムコードが使用する契約内容IDおよび契約内容の組合せデータが記述されている。なお、この組合せデータの表現形式は、契約内容IDに対応する契約内容が上記プログラムコードの実行時において判断できるものであればよい。例えば、配列形式やテーブル形式等の表現形式がこれに該当する。
9−3−6.処理プログラムの引き渡し
約款定義体プログラム6405を実行するCPU203は、生成した処理プログラム690をラッパープログラムA6403に引き渡す(ステップS6547)。例えば、CPU203は、リダイレクト機能やパイプ機能等を用いて処理プログラム690を引き渡す処理を行う。
9−3−7.処理プログラムの実行
ラッパープログラムA6403の実行においてCPU203は、約款定義体プログラム6405から受け継いだ処理プログラム690を実行し、画面データから取得した証券番号によって特定される約款IDに設定可能なすべての契約条件および、当該契約条件において選択可能なすべての契約内容を取得する(ステップS6523)。
このとき実行される処理プログラム690のフローチャートを図67に示す。処理プログラム590の実行においてCPU203は、ローカル変数nに1を代入する(ステップS6701)。ここで、ローカル変数nとは、「変数n」というトランザクションデータのデータ項目を特定するための変数値である。例えば、ローカル変数nが1の場合には、「変数n」は「変数1」として取り扱われる。
CPU203は、処理プログラム690に格納されている「変数nと契約条件の関係テーブル」691aから「変数n」に対応する「契約条件」を読み込む(ステップS6703)。例えば、図69における処理コード691の関係テーブル691aの「変数1」に対応して記録されている「年金種類」を読み込む。
CPU203は、上記において読み込んだ契約条件にかかる組合せデータをすべて読み込む(ステップS6705)。例えば、図69における組合せデータ692の「年金種類」について記録されている契約内容IDと契約内容の組合せをすべて読み込む。
CPU203は、読み込んだ契約条件と契約内容を、「契約条件と契約内容の関係テーブル」に出力する。例えば、図67の「契約条件と契約内容の関係テーブル」670に示すように、契約条件が「年金種類」の場合には、契約内容として「確定年金」および「保証期間付終身年金」が出力される。
CPU203は、個別修正画面680の初期値を設定するため、ワークレコードにおける変数nに記録された契約内容IDに対応する契約内容を判断し、判断した契約内容と同一の契約内容を「契約条件と契約内容の関係テーブル」670上において検索し、当該契約内容に対応させて選択フラグを記録する。
例えば、図71に示したワークレコードのレコード7101において、「年金種類」の契約内容IDを記録する変数1_719は「01」であり、図69に示した「年金種類」の組合せデータ692において、契約内容IDが「01」の契約内容は「確定年金」であることにより、CPU203は、「契約条件と契約内容の関係テーブル」670において、契約内容「確定年金」に対応させて選択フラグを記録する。これにより、個別修正画面680における「年金種類」の初期値を「確定年金」として表示させることができる。
CPU203は、ローカル変数nにn+1を代入する(ステップS6711)。例えば、代入により「変数1」を「変数2」とする。
CPU203は、変数nについての契約条件が「変数nと契約条件の関係テーブル」691aに存在するか否かを判断し、存在すればステップS6703に戻って上記処理を繰り返す(ステップS6713、YES)。例えば、「変数2」は、「変数nと契約条件の関係テーブル」691aに存在しているため、「変数2」に対応する契約条件「支払期間」についてステップS6703から処理を行う。
契約条件「支払期間」についてステップS6707を行うことにより、図67の「契約条件と契約内容の関係テーブル」670に示すように、契約条件に「支払期間」が出力され、契約内容に「終身」、「5年」、「10年」、「15年」および「20年」が出力される。
契約条件「支払期間」についてステップS6709を行うことにより、図71に示したワークレコードのレコード7101において、「支払期間」の契約内容IDを記録する変数2_721は「02」であり、図69に示した「支払期間」の組合せデータ6923おいて、契約内容IDが「02」の契約内容は「5年」であることにより、CPU203は、「契約条件と契約内容の関係テーブル」670において、契約内容「5年」に対応させて選択フラグを記録する。
なお、変数nについての契約条件が存在しなくなれば、当該処理を終了する(ステップS6713、NO)。
9−3−8.実行結果の通知
ラッパープログラムA6403を実行するCPU203は、実行結果を業務プログラム6401に通知する(ステップS6525、図65)。例えば、上述した「契約条件と契約内容の関係テーブル」670を、戻り値として業務プログラム6401のプログラムスレッドに返す処理を行う。
9−3−9.表示形式の取得
「契約条件と契約内容の関係テーブル」670を受けて、メイン処理部6421を実行するCPU203は、ラッパープログラムB6404に「契約条件と契約内容の関係テーブル」670を引き渡す(ステップS6601、図66)。例えば、図70に示す「契約条件と契約内容の関係テーブル」670が引き渡される。
ラッパープログラムB6404を実行するCPU203は、受け継いだ「契約条件と契約内容の関係テーブル」670における各契約条件に基づいて、表示形式テーブル6407を参照し、当該契約条件に対応付けて記録されている表示形式を取得する(ステップS6621)。ここで、表示形式テーブル6407は、所定の契約条件についての契約内容を示すデータを画面に表示させるための表示形式を定義したテーブルである。
例えば、図70に示す「契約条件と契約内容の関係テーブル」670における契約条件「年金種類」701に基づいて、同表示形式テーブル6407を参照し、契約条件「年金種類」の契約内容を示すデータを表示させるための表示形式として「ドロップダウンメニュー」705を取得する。
CPU203は、受け継いだ「契約条件と契約内容の関係テーブル」670におけるすべての契約条件について表示形式を取得し、取得した各表示形式をデータ列として、「契約条件と契約内容の関係テーブル」670における各契約条件に対応させて追加する。例えば、図70のテーブル700に示すように、「契約条件と契約内容の関係テーブル」670の各契約条件ごとの表示形式を追加する。
ラッパープログラムB6404を実行するCPU203は、表示形式を追加した「契約条件と契約内容の関係テーブル」を、業務プログラム6401のメイン処理部6421に引き渡す(ステップS6623)。例えば、図70に示した「表示形式を追加した契約条件と契約内容の関係テーブル」700を、戻り値として業務プログラム6401のプログラムスレッドに返す処理を行う。
9−3−10.UI(User Interface)画面の生成
「表示形式を追加した契約条件と契約内容の関係テーブル」700を受けて、CPU203は、トランザクションデータにかかるUI画面を生成する(ステップS6603)。例えば、「表示形式を追加した契約条件と契約内容の関係テーブル」700に基づいて、個別修正画面の第2エリア6802を生成する。
UI画面の生成において、CPU203は、図71のトランザクションデータに示した変数n(n=1,2,…)のデータ項目については、下記に示すUI画面生成処理を実行することにより、画面生成を行う。なお、契約年月日715および告知年月日723等については、トランザクションデータのデータ項目名に基づいて表示形式テーブル6407から取得した表示形式に基づいて、データ値の画面出力を行う。例えば、契約年月日715(図71)のデータ値「2005/07/15」は、契約年月日の表示形式「YYYY年MM月DD」に基づいて編集され「2005年7月15日」として出力される。
図72に、ステップS6603におけるUI画面生成処理の詳細フローチャートを示す。CPU203は、「表示形式を追加した契約条件と契約内容の関係テーブル」700から契約条件を1件読み込む(ステップS7201)。例えば、契約条件「年金種類」を読み込む。
CPU203は、「表示形式を追加した契約条件と契約内容の関係テーブル」700から読み込んだ契約条件に対応して記録された表示形式を読み込む(ステップS7203)。例えば、「年金種類」にかかる表示形式「ドロップダウンメニュー」を読み込む。
CPU203は、「表示形式を追加した契約条件と契約内容の関係テーブル」700から読み込んだ契約条件にかかる契約内容をすべて読み込む(ステップS7205)。例えば、「年金種類」にかかる契約内容「確定年金」および「保証期間付終身年金」を読み込む。
CPU203は、読み込んだ契約条件および契約内容を、上記ステップS7203において読み込んだ表示形式に基づいて編集する(ステップS7207)。例えば、契約条件「年金種類」にかかる契約内容「確定年金」および「保証期間付終身年金」を、表示形式「ドロップダウンメニュー」に基づいて編集する。すなわち、「年金種類」を選択するためのドロップダウンメニューに、「確定年金」および「保証期間付終身年金」を選択項目としてセットする。
CPU203は、「表示形式を追加した契約条件と契約内容の関係テーブル」700から読み込んだ契約内容にかかる選択フラグを読み込み、選択フラグがセットされている契約内容を、表示形式に基づいて編集した選択項目の初期値としてセットする(ステップS7209)。例えば、「年金種類」にかかる契約内容「確定年金」に選択フラグがセットされていることにより、「年金種類」を選択するためのドロップダウンメニューにおける契約内容の初期値を「確定年金」とする。
CPU203は、上記において編集した契約条件および契約内容をUI生成画面にデータ出力する(ステップS7211)。例えば、図68の個別修正画面680の第2エリア6802の年金種類表示欄684に示すように、年金種類にかかるドロップダウンメニューの初期値を「確定年金」として出力する。
CPU203は、「表示形式を追加した契約条件と契約内容の関係テーブル」700に記録されたすべての契約条件について上記ステップS7201〜S7211を繰り返す(ステップS7213)。これにより、トランザクションデータにおける変数nにかかるすべてのデータ項目についてUI画面を生成する。
CPU203は、トランザクションデータのすべてのデータ項目についてのUI画面生成処理を終えると、生成したUI画面を個別修正画面としてディスプレイ201に出力する(図66、ステップS6605)。例えば、図68の個別修正画面680に示すように、契約年月日、年金種類、年金支払期間、告知年月日等を表示する。
9−4.処理詳細(2)
上記処理詳細(1)においては、証券番号「00001」のトランザクションデータに記録された約款ID「11111」にかかる保険商品(例えば、年金保険。)についての個別修正画面を生成する例について説明した。
処理詳細(2)においては、証券番号「00009」のトランザクションデータに記録された約款ID「99999」にかかる別の保険商品(例えば、終身保険。)についての個別修正画面を生成する例について説明する。なお、処理詳細(2)においては、基本的には処理詳細(1)と同様のプログラムを用いて処理を行うため、以下、処理詳細(1)と相違する点を明確にする意図をもって説明する。
9−4−1.画面データの取得
図68aに、業務プログラム6401におけるメイン処理部6421(図64)の実行によってディスプレイ201に表示される個別修正画面680の例を示す。この画面においては、第1エリア6801に証券番号の入力欄681が表示され、第2エリア6802に契約年月日表示欄683、リビングニーズ特約表示欄687、長期入院特約表示欄688および告知年月日表示欄686、…等が表示される。
データ管理装置1のオペレータは、キーボード/マウス207を用いて、証券番号の入力欄681に「00009」を入力し、データ呼出ボタン682を押下することにより、証券番号「00009」についての個別修正データを呼び出すための処理の実行を指示する。
9−4−2.ラッパープログラムAの起動(業務プログラム)
業務プログラム6401においてCPU203は、トランザクションデータベース2093から証券番号が「00009」であるレコードを抽出し、図71に示すワークレコード7102として取得し、ラッパープログラムA6403に、取得したワークレコード7102と処理名「データ項目取得」を引き渡す。
9−4−3.約款定義体の特定(ラッパープログラムA)
引き渡しを受けてラッパープログラムA6403は、レコード7102の約款ID713「99999」に基づいて、約款定義体プログラムを特定し、約款ID「99999」と処理名「データ項目取得」を特定した約款定義体プログラムに引き渡す。
9−4−4.処理コードおよび組合せデータの取得(約款定義体プログラム)
引き渡しを受けてCPU203は、約款ID「99999」にかかる約款定義体プログラムの処理プログラム生成部を実行し、処理コード記録部を検索して受け継いだ処理名「データ項目取得」に対応する処理コードを取得する。
CPU203は、処理コード内に記録されている「変数nと契約条件の関係テーブル」691b(図69a)を参照して、当該処理コードの実行時に用いるすべての契約条件を取得し、取得した各契約条件にかかる契約内容および契約内容IDの組合せデータを、組合せデータ記録部から取得する。例えば、CPU203は、当該約款IDにおいて設定可能なすべての契約条件(データ項目)についての組合せデータ「リビングニーズ特約」、「長期入院特約」、…を取得する。
9−4−5.処理プログラムの生成
CPU203は、処理コード記録部から取得した処理コードと、組合せデータ記録部から取得した組合せデータに基づいて、図69aにその構成を示す、処理プログラムを生成する。当該処理プログラムは、処理コード691と「リビングニーズ特約」の組合せデータ694および「長期入院特約」の組合せデータ695、…から構成される。
9−4−6.処理プログラムの引き渡し
約款定義体プログラムを実行するCPU203は、生成した処理プログラム690をラッパープログラムA6403に引き渡す。
9−4−7.処理プログラムの実行
ラッパープログラムA6403の実行においてCPU203は、約款定義体プログラムから受け継いだ処理プログラム690を実行し、画面データから取得した証券番号「00009」によって特定される約款ID「99999」に設定可能なすべての契約条件(「リビングニーズ特約」、「長期入院特約」、…)および、当該各契約条件において選択可能なすべての契約内容(「あり」、「なし」または「なし」、「50日以上」、「100日以上」)を取得する。
9−4−8.実行結果の通知
ラッパープログラムA6403を実行するCPU203は、「契約条件と契約内容の関係テーブル」を、戻り値として業務プログラム6401のプログラムスレッドに返す処理を行う。
9−4−9.表示形式の取得
「契約条件と契約内容の関係テーブル」を受けて、メイン処理部6421を実行するCPU203は、ラッパープログラムB6404に「契約条件と契約内容の関係テーブル」を引き渡し、各契約条件に基づいて、表示形式テーブル6407を参照し、当該契約条件に対応付けて記録されている表示形式を取得する。
例えば、「契約条件と契約内容の関係テーブル」における契約条件「リビングニーズ特約」に基づいて、表示形式テーブル6407を参照し、契約条件「リビングニーズ特約」の契約内容を示すデータを表示させるための表示形式として「ドロップダウンメニュー」を取得する。
ラッパープログラムB6404を実行するCPU203は、表示形式を追加した「契約条件と契約内容の関係テーブル」を、業務プログラム6401のメイン処理部6421に引き渡す。
9−4−10.UI(User Interface)画面の生成
「表示形式を追加した契約条件と契約内容の関係テーブル」を受けて、CPU203は、図68aに示す個別修正画面680の第2エリア6802を生成する。
UI画面の生成において、CPU203は、図71のトランザクションデータに示した変数n(n=1,2,…)のデータ項目については、処理詳細(1)において示したUI画面生成処理を実行することにより、画面生成を行う。
CPU203は、トランザクションデータのすべてのデータ項目についてのUI画面生成処理を終えると、生成したUI画面を個別修正画面としてディスプレイ201に出力し、図68aの個別修正画面680に示すように、契約年月日、リビングニーズ特約、長期入院特約、告知年月日等を表示する。
このように、証券番号によって特定される約款IDが異なる場合であっても、約款定義体において管理されている各契約条件(データ項目)についてのみを個別修正画面の表示データとして設定することができる。
9−5.まとめ
以上説明したように、この発明によれば、約款定義体プログラムに基づいたデータ主導型のUI画面生成処理が可能となる。これにより、取り扱う保険商品やそのデータ項目が変動する場合にあっても、修正画面アプリケーションに変更を加えることなく利用することができ、システム変更に対するメンテナンスコストを大幅に抑制することができる。
また、企業によって使用する保険商品や機能要件の異なることが前提のパッケージソフトの分野においても、運用時のメンテナンスコストのみならず、導入時におけるカスタマイズコストも抑えることのできる汎用性の高いデータ管理手法を提供することができる。
9−6.その他
上記においては、約款IDにかかるすべての契約条件を画面に表示するように構成したが、業務プログラム側で表示させるべき契約条件を取捨選択するようにしてもよい。
上記においては、約款IDにかかる契約条件についての選択可能な契約内容の初期値を、トランザクションデータに記録された変数データに基づいて設定するように構成したが、トランザクションデータが存在しない場合には、契約内容を表示せず契約条件のみを表示するようにしてもよい。例えば、データの新規登録時における入力画面がこれに該当する。なお、この場合、業務プログラムにおいて指定された所定の契約内容を初期値として採用してもよい。
上記においては、約款IDにかかる契約条件についての契約内容を画面に表示するように構成したが、契約内容IDのみ、または、契約内容IDと契約内容とを同時に表示するようにしてもよい。
上記においては、約款IDにかかる契約条件についての契約内容を画面に表示する例として、ドロップダウンメニューおよびラジオボタンを提示したが、他の入力表示フォームを用いてもよい。例えば、テキストボックス、チェックボックス等を用いてもよい。
上記においては、約款IDにかかる契約条件についての契約内容を画面に表示する例として、表示形式としてドロップダウンメニューまたはラジオボタン等を指定するように構成したが、表示形式の中に表示色、表示サイズ、表示桁数または表示位置等を含めてもよい。
上記においては、システム全体で1つの表示形式テーブルを用いる構成を示したが、企業IDごとに表示形式テーブルを作成しておき、トランザクションデータに記録された企業IDに基づいて表示形式を選択して使用するようにしてもよい。また、企業IDに代えて約款ID、ユーザIDまたはその他のIDを用いてもよい。
10.その他の実施形態
10−1.処理コードの共通化
上記第1の実施形態においては、データ項目ごとに作成された処理コードと組合せデータに基づいて処理プログラムを作成するように構成したが、処理コードを共通化して作成しておき、種類IDに対応するデータ項目および変数位置を処理コードに組み込んで、データ項目に対応する処理コードを生成するようにしてもよい。例えば、「年金種類設定」を行う場合には、処理名からデータ項目「年金種類」を特定するとともに変数位置「変数1」を特定し、これらの情報を設定用の処理コードに組み込むようにすればよい。
10−2.装置構成の分散化
上記第1の実施形態においては、データ管理装置1の内部においてインストールされた業務プログラム2091および商品定義体プログラム2094を用いて装置を構成したが、それぞれのプログラムを別のコンピュータ装置にインストールして構成してもよい。この場合、業務プログラム2091を実行するコンピュータ装置からの要求を受けて、商品定義体プログラム2094を実行するコンピュータ装置が処理プログラムを生成する。これにより、商品管理と処理プログラムの生成を行うコンピュータ装置によって分散処理を図ることができ、各コンピュータ装置における処理負荷を減らすことができる。
なお、商品定義体プログラム2094を実行するコンピュータ装置を構成する場合、データ内容IDとデータ内容の対応表を記録したデータ定義部は組合せデータ記録部735(図7)により、処理コードを記録した処理定義部は処理コード記録部733(図7)によりそれぞれ実現可能である。また、指定処理によって特定される対応表取得手段、処理コードを取得する処理コード取得手段および対応表と処理コードに基づいてプログラムを生成するプログラム生成手段は、処理プログラム生成部731(図7)によりそれぞれ実現可能である。
10−3.商品定義の階層化
上記第1の実施形態の図7および上記第2の実施形態の図9においては、約款ID(種類ID)ごとに作成された商品定義体プログラムを用いて装置を構成したが、すべての約款ID(種類ID)に共通する1つの商品定義体プログラムを用いてもよい。
この場合における商品定義体プログラムの機能ブロック図の例を図11に示す。図11に示すように、本発明の商品定義体プログラムは、処理プログラム生成部110および、第1階層111、第2階層112、第3階層113から構成される。第1階層は、商品カテゴリーごとに、処理コード記録部および組合せデータ記録部が記録され、第2階層は、約款種類ごとに、処理コード記録部および組合せデータ記録部が記録され、第3階層は、約款バージョンごとに、処理コード記録部および組合せデータ記録部が記録されている。
ここで、商品カテゴリー、約款種類および約款バージョンとは、約款IDに基づいて定まるものである。例えば、約款IDの上1桁目と2桁目は商品カテゴリーを示し、同上3桁目と4桁目は約款種類を示し、同5桁目と6桁目は約款バージョンを示す場合、約款ID「010101」は、商品カテゴリー「01」1111、約款種類「01」1121、約款バージョン「01」1131をそれぞれ特定することができる。
上記のような構成において、第3階層は第2階層を、第2階層は第1階層をそれぞれ継承できるようにオブジェクト指向言語を用いて作成しておく。すなわち、第1階層は第2階層の親オブジェクトであり、第2階層は第3階層の親オブジェクトとする。したがって、処理プログラム生成部110は、約款IDに基づいて、第3階層にアクセスすることにより、第2階層および第1階層のオブジェクトに定義されている処理コード記録部および組合せデータ記録部を取得することができる。
これにより、商品定義体プログラムにおいて記録する処理コードや組合せデータを各種類ID間で共通して記録することができ、商品定義体の構成を簡素化することができる。また、新たな商品を追加する場合であっても、既存商品との差異のみを所定階層に作成するだけでよいので、装置のメンテナンス性を向上させることができる。
特に、生命保険業界等においては、商品性格に僅かな差異しかない商品であっても、それぞれ別個の契約商品として取り扱わなければならず、しかもこのような契約商品を長期に亘って正確に管理する必要がある。このような状況において、契約商品の管理に本発明のデータ管理装置を適用することにより、約款の改定時には第3階層に約款バージョンを追加し、新商品の追加時には第1階層の商品カテゴリーや第2階層の約款種類を追加することで、商品データの管理のメンテナンス性を高めることができる。また商品を定義するための商品定義体プログラムと、業務アプリケーションを実行するための業務プログラムとを別々に構成しているため、商品の追加変更にともなって業務プログラムを修正する必要がない。
また、1つのシステム内において複数の企業(生命保険会社)についての保険商品を取り扱う場合には、所定の階層における処理コードおよび組合せデータを各企業ごとに作成しておけばよい。例えば、第2階層において各企業ごとに約款種類を設定する場合には、約款種類に企業の識別を示す情報を加えればよい。具体的には、約款種類(2桁)を企業コード(2桁)と約款コード(2桁)で構成し、それぞれに応じた処理コードおよび組合せデータを商品定義体に作成しておけばよい。
これにより、約款における契約条件や契約内容がそれぞれ異なる複数の企業データであっても、同一システム内にてデータ管理を行うことができる。特に、上記のように構成することにより、複数企業のデータ管理処理を一括して行うようなアウトソーシング業務やASP業務等に適している。
なお、本発明において「企業」とは、営利の目的で継続的・計画的に同種の経済行為を行う組織体としての企業だけでなく、複数の企業によって構成され共同して経済行為を行う企業グループおよび、1つの企業内において同種の経済行為を行う所定集団から形成された企業内グループを含む概念である。
10−4.他業界への応用例
上記実施形態においては、主に生命保険業界における保険商品のデータ管理に本発明を適用した場合について説明したが、データ管理項目に差異がある複数の種類のデータを管理する場合であれば、他業界におけるデータ管理にも適用可能である。図12に、生命保険業界における管理データ、データ種類およびデータ項目を他業界へ応用する場合の対応表を示す。
例えば、図12の121に示す生命保険業界では、管理データとして「保険契約」にかかるデータを管理し、データ種類として「年金保険」と「終身保険」に関するデータ項目を取り扱い、「年金保険」のデータ項目として「年金種類」「年金支払期間」にかかるデータ内容を記録し、「終身保険」のデータ項目として「ステップ払込年数、ステップ払込倍率」にかかるデータ内容を記録することができる。
同様に、124に示す銀行業界では、管理データとして「デリバティブ契約」にかかるデータを管理し、データ種類として「金利スワップ」と「オプション」に関するデータ項目を取り扱い、「金利スワップ」のデータ項目として「適用金利種類」「対象適用金利種類」にかかるデータ内容を記録し、「オプション」のデータ項目として「ストライクレート」にかかるデータ内容を記録することができる。
その他の業界および管理データについて本発明に適用する場合におけるデータ種類とデータ項目の例を、上記と同様に図12の122、123,125〜127に示す。このように本発明は、データ管理項目に差異がある複数の種類のデータを管理するあらゆる業界またはデータ管理業務において適用可能である。
10−5.実施形態の組合せ
上記第1〜9の実施形態をそれぞれ選択的に組み合わせてデータ管理装置1を構成してもよい。また、上記第1〜9の実施形態またはこれらの組合せと、上記「10−1.処理コードの共通化」、「10−2.装置構成の分散化」および「10−3.商品定義の階層化」をそれぞれ選択的に組み合わせた構成としてもよい。
例えば、アプリケーションプログラムからの契約内容の更新指示を受けると、保険契約データに記録された約款IDに基づいて、指示に対応した所定契約条件の契約内容IDおよび契約内容の組合せと更新処理プログラムを取得して、契約内容の更新処理をおこなうとともに(第1の実施形態)、2以上の契約内容についての論理チェックを行うためのチェックリストとチェック処理プログラムを取得して、チェック処理を行うよう(第3の実施形態)に構成してもよい。
また、この場合において、業務アプリケーションからの要求に応じて、上記更新処理およびチェック処理にかかるプログラムの生成とプログラムの実行を集中して実行するラッパープログラムを使用して構成してもよい(第2の実施形態)。
さらに、種類IDに対応するデータ項目および変数位置を処理コードに組み込んで更新処理を行うためのプログラム生成する構成(10−1.処理コードの共通化)、商品定義体プログラムを実行するコンピュータ装置を独立して構成(10−2.装置構成の分散化)または1つの商品定義体プログラムの中に階層構造を作成して商品定義を継承させる構成(10−3.商品定義の階層化)をそれぞれ選択的に組み合わせて構成してもよい。
10−6.その他
上記実施形態においては、商品定義体プログラムの中に処理コード記録部と組合せデータ記録部を設け、処理名に応じた処理コードおよび組合せデータを取得して処理プログラムを生成する構成を説明したが、商品定義体プログラムの中に組合せデータのみを記録しておき、業務プログラムまたはその他外部プログラムから処理コードを取得し、これらのプログラムにおいて所望の処理を実行するようにしてもよい。すなわち、商品定義体プログラムは、データ内容IDおよびデータ内容のみを、処理を実行するプログラムに引き渡すようにしてもよい。
上記実施形態においては、商品定義体プログラムまたは約款定義体プログラムにおいて生成した処理プログラムを外部プログラムに引き渡し、当該外部プログラムの処理プログラム実行部において処理プログラムを実行するように構成したが、商品定義体プログラムまたは約款定義体プログラムの中に設けた処理プログラム実行部において処理プログラムを実行するようにしてもよい。この場合、商品定義体プログラムまたは約款定義体プログラムは、外部プログラムからの要求に対して、処理プログラムの実行結果を戻り値として返すように構成することができる。例えば、商品定義体プログラムまたは約款定義体プログラムにおいて処理プログラムを実行させる構成は、比較的処理負荷の低い処理プログラムを実行する場合に有効である。
上記実施形態においては、図1に示す各機能を実現する為に、CPUを用いソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。なお、プログラムの一部の処理をさらに、オペレーティングシステム(OS)にさせるようにしてもよい。
以上、本発明の概要および本発明の好適な実施形態を説明したが、各用語は、限定のために用いたのではなく説明のために用いたのであって、本発明に関連する技術分野の当業者は、本発明の説明の範囲内でのシステム、装置、及び方法のその他の変形を認め実行することができる。したがって、そのような変形は、本発明の範囲内に入るものとみなされる。

Claims (60)

  1. 管理対象となるデータ項目がそれぞれ異なるデータを管理するためのデータ管理装置であって、
    少なくとも、データID、種類IDおよびデータ内容IDを含むデータ記録部と、
    データ項目ごとに、データ内容IDに対応するデータ内容を記録したデータ定義部と、
    前記データ記録部に記録されたデータ内容IDと一致する、前記データ定義部に記録されたデータ内容IDに基づいて、前記データIDによって特定されるデータの種類を示す種類IDの所定のデータ項目に対応するデータ内容を決定する処理を行うデータ処理手段と、
    を備えたことを特徴とするデータ管理装置。
  2. 管理対象となるデータ項目がそれぞれ異なるデータを管理するためのデータ管理装置をコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段(a)〜(c)を構成させることを特徴とするプログラム:
    (a)少なくとも、データID、種類IDおよびデータ内容IDを含むデータ記録部にアクセスする手段、
    (b)データ項目ごとに、データ内容IDに対応するデータ内容を記録したデータ定義部にアクセスする手段、
    (c)前記データ記録部に記録されたデータ内容IDと一致する、前記データ定義部に記録されたデータ内容IDに基づいて、前記データIDによって特定されるデータの種類を示す種類IDの所定のデータ項目に対応するデータ内容を決定する処理を行うデータ処理手段。
  3. 請求項1または2のデータ管理装置またはプログラムにおいて、
    前記データ定義部は、種類IDごとに、管理対象としているデータ項目を記録しており、前記データ処理手段は、前記種類IDに対応するデータ項目を特定することを特徴とするもの。
  4. 請求項3のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、データIDおよび種類IDの組合せごとに、複数のデータ内容IDを、各組合せに共通な複数のデータ項目番号にそれぞれ対応させて記録しており、
    前記データ定義部は、前記種類IDごとに、複数のデータ項目番号にそれぞれ対応するデータ項目を記録したことを特徴とするもの。
  5. 請求項4のデータ管理装置またはプログラムにおいて、
    前記データ定義部は、種類IDごとに記録したデータ項目番号に対応するデータ項目ごとに、前記データ内容IDに対応するデータ内容を少なくとも2以上記録したことを特徴とするもの。
  6. 請求項5のデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、前記データ定義部がデータ項目番号に対応するデータ項目について記録しているすべてのデータ内容IDおよびデータ内容の組合せを取得し、
    前記データ処理手段は、取得した前記データ内容IDおよびデータ内容の組合せに基づいて、所定のデータ内容IDに対応するデータ内容または所定のデータ内容に対応するデータ内容IDを決定することを特徴とするもの。
  7. 請求項5のデータ管理装置またはプログラムにおいて、
    前記データ定義部は、データ項目ごとに、データ内容IDおよびデータ内容の組合せとともに、データ内容IDまたはデータ内容を取り扱う処理を行うための処理コードを記述しており、
    前記データ処理手段は、データ内容IDおよびデータ内容の組合せとともに前記処理コードを前記データ定義部から取得し、
    前記データ処理手段は、取得した前記処理コードならびにデータ内容IDおよびデータ内容の組合せに基づいて、所定のデータ内容IDに対応するデータ内容または所定のデータ内容に対応するデータ内容IDを決定することを特徴とするもの。
  8. 請求項5のデータ管理装置またはプログラムにおいて、
    前記データ定義部は、2種類以上のデータ項目にそれぞれ対応するデータ内容の組合せをチェックするための処理コードを記述しており、
    前記データ処理手段は、データ内容IDおよびデータ内容の組合せとともに前記処理コードをデータ定義部から取得し、
    前記データ処理手段は、取得した前記処理コードおよびデータ内容IDとデータ内容の組合せに基づいて、2種類以上のデータ項目にそれぞれ対応するデータ内容の組合せが正しいか否かを判断することを特徴とするもの。
  9. 請求項7または8のデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、メイン処理部と、データ定義部に処理プログラムを要求して実行する処理プログラム要求・実行部と、処理コードおよび組合せデータに基づいて処理プログラムを生成する処理プログラム生成部と、を含んで構成されており、
    前記データ定義部は、データ内容IDおよびデータ内容を取り扱う処理を行うための処理コードを記録した処理コード記録部と、データ内容IDおよびデータ内容の組合せを記録した組合せデータ記録部とを含んで構成されていることを特徴とするもの。
  10. 請求項9のデータ管理装置またはプログラムにおいて、
    前記データ処理手段の処理プログラム要求・実行部は、前記処理プログラム生成部に処理プログラムを要求する処理プログラム要求部と、前記処理プログラム生成部から受けた処理プログラムを実行する処理プログラム実行部から構成されており、
    前記処理プログラム要求部をラッパープログラムとして構成したことを特徴とするもの。
  11. 請求項5のデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、
    前記データ定義部が所定の種類IDについて記録しているすべてのデータ項目におけるすべてのデータ内容IDおよびデータ内容の組合せを取得し、
    取得した前記データ内容IDおよびデータ内容の組合せに基づいて、前記所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容を出力することを特徴とするもの。
  12. 請求項5のデータ管理装置またはプログラムにおいて、
    前記データ定義部は、各データ項目について選択可能なデータ内容IDおよびデータ内容の組合せを記録するとともに、種類IDにかかるすべてのデータ項目について選択可能なデータ内容IDまたはデータ内容を取得する処理を行うための処理コードを記述しており、
    前記データ処理手段は、所定の種類IDにかかるすべてのデータ項目について記録しているすべての選択可能なデータ内容IDおよびデータ内容の組合せとともに、当該所定の種類IDにかかる前記処理コードを前記データ定義部から取得し、取得した前記選択可能なデータ内容IDおよびデータ内容の組合せならびに前記処理コードに基づいて、前記所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容を出力することを特徴とするもの。
  13. 請求項11または12のデータ管理装置またはプログラムにおいて、
    データ項目ごとに、データ内容IDまたはデータ内容についての表示形式を記録した表示形式定義部をさらに備え、
    前記データ処理手段は、前記表示形式定義部から取得した表示形式に基づいて、選択可能なデータ内容IDまたはデータ内容を出力することを特徴とするもの。
  14. 請求項11〜13のいずれかのデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、データ記録部に記録されている所定のデータIDにおける種類IDおよびデータ内容IDに基づいて、当該データIDにおける種類IDにかかるすべてのデータ項目に対応するデータ内容を取得し、取得したデータ内容を初期値として前記選択可能なデータ内容IDまたはデータ内容を出力することを特徴とするもの。
  15. 請求項1〜14のいずれかのデータ管理装置またはプログラムにおいて、
    前記データ定義部は、前記データ内容IDおよびデータ内容の組合せ、または、前記データ内容IDおよびデータ内容を取り扱う処理を行うための処理コードを種類IDに基づく階層に分けて記録していることを特徴とするもの。
  16. 請求項1〜15のいずれかのデータ管理装置またはプログラムにおいて、
    前記データ記録部は、商品データを含むトランザクションデータを記録するものであり、
    前記データ定義部は、商品の特徴を示すデータをデータ内容として記録するものであり、
    前記データ処理手段は、前記トランザクションデータに対する処理命令を受けて、商品データにかかる商品のデータ内容を決定することを特徴とするもの。
  17. 請求項16のデータ管理装置またはプログラムにおいて、
    前記商品データは、約款に基づいて定められた商品に関するデータであり、
    前記商品の特徴を示すデータは、前記約款に規定されている内容を示すものであることを特徴とするもの。
  18. 請求項17のデータ管理装置またはプログラムにおいて、
    前記データ定義部は、前記データ内容IDに対応するデータ内容、または、前記データ内容IDおよびデータ内容を取り扱う処理を行うための処理コードを、 約款に基づいて定められた商品の属する商品カテゴリ、約款種類および約款バージョンのそれぞれによって定められた階層に分けて記録していることを特徴とするもの。
  19. 請求項18のデータ管理装置またはプログラムにおいて、
    前記データ定義部における前記約款種類は、企業の種類を示す企業コードおよび当該企業における約款の種類を示す約款コードから構成されることを特徴とするもの。
  20. 請求項1〜19のいずれかのデータ管理装置またはプログラムにおいて、
    複数の種類IDを組合せたグループごとに、所定データの設定条件を記録したグループ定義部をさらに備えたことを特徴とするもの。
  21. 請求項20のデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、
    データIDに基づいて複数の種類IDを組合せたグループを特定し、
    前記グループ定義部に記録された所定データの設定条件に基づいて、
    前記データ記録部に記録されようとしているデータ内容IDが記録可能であるか否かを判断する処理を行うことを特徴とするもの。
  22. 請求項21のデータ管理装置またはプログラムにおいて、
    前記所定データの設定条件は、
    データ記録部に記録可能なデータ内容IDと、
    所定のデータ内容IDが前記データ記録部に記録可能なデータ内容IDであるか否かをチェックするための処理コードとを含むことを特徴とするもの。
  23. 請求項21のデータ管理装置またはプログラムにおいて、
    前記所定データの設定条件は、
    データ記録部に記録可能なデータ内容IDに対応するデータ内容と、
    所定のデータ内容が前記データ記録部に記録可能なデータ内容IDに対応するデータ内容であるか否かをチェックするための処理コードとを含むことを特徴とするもの。
  24. 請求項23のデータ管理装置またはプログラムにおいて、
    前記所定のデータ内容は、前記データ記録部に記録されようとしているデータ内容IDに基づいて前記データ定義部から取得したものであることを特徴とするもの。
  25. 請求項20のデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、
    データIDに基づいて複数の種類IDを組合せたグループを特定し、
    前記グループ定義部に記録された所定データの設定条件に基づいて、
    前記データ記録部に記録されようとしているデータ値が記録可能であるか否かを判断する処理を行うことを特徴とするもの。
  26. 請求項25のデータ管理装置またはプログラムにおいて、
    前記所定データの設定条件は、
    データ記録部に記録可能なデータ値の条件と、
    所定のデータ値が前記データ記録部に記録可能なデータ値の条件に合致するか否かをチェックするための処理コードとを含むものであることを特徴とするもの。
  27. 請求項20のデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、
    データIDに基づいて複数の種類IDを組合せたグループを特定し、
    前記グループ定義部に記録された所定データの設定条件に基づいて、
    前記グループにかかる名称を取得することを特徴とするもの。
  28. 請求項3〜27のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、データIDに基づく固有データ値を記録可能に構成されており、
    前記データ定義部は、種類IDごとに、前記固有データ値の設定方法を記述した処理コードを記録しており、
    前記データ処理手段は、前記データ記録部に記録されようとしている第1の種類IDに基づいて、当該第1の種類IDに関連する第2の種類IDを特定し、特定した当該第2の種類IDにかかる処理コードを前記データ定義部から取得し、
    前記データ処理手段は、取得した前記処理コードに基づいて、前記第1の種類IDにかかる固有データ値を設定することを特徴とするもの。
  29. 請求項28のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、約款に基づいて定められた保険商品データを含むトランザクションデータを記録するものであり、
    前記データ定義部は、特約を示す種類IDのトランザクションデータにかかる日付データを設定する際に、当該特約に対する主契約を示す種類IDのトランザクションデータにかかる日付データの設定方法を記述した処理コードを記録しており、
    前記データ処理手段は、前記データ定義部から取得した前記処理コードに基づいて、前記特約を示す種類IDのトランザクションデータにかかる日付データを設定することを特徴とするもの。
  30. 請求項1〜29のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、所定のデータ項目に対応するデータ項目IDを記録しており、
    前記データ定義部は、データ項目IDとデータ内容IDの組合せを、データ項目とデータ内容に対応付けて記録しており、
    前記データ処理手段は、前記データ記録部に記録されたデータ項目IDとデータ内容IDの組合せと一致する、前記データ定義部に記録されたデータ項目IDとデータ内容IDの組合せに基づいて、データ項目およびこれに対応するデータ内容を決定する処理を行うことを特徴とするもの。
  31. 請求項30のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、データ項目IDとデータ内容IDの組合せを複数記録していることを特徴とするもの。
  32. 請求項31のデータ管理装置またはプログラムにおいて、
    前記データ項目は、前記データ記録部において記録されるデータについての処理ステータスを示すものであることを特徴とするもの。
  33. 請求項30〜32のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、データIDによって特定されるデータの属性を示す属性IDを記録しており、
    前記データ定義部は、属性IDごとに、データ項目IDとデータ内容IDの組合せを記録しており、
    前記データ処理手段は、属性IDごとに、データ項目およびこれに対応するデータ内容を決定する処理を行うことを特徴とするもの。
  34. 請求項1〜33のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、所定のデータ項目に対応するデータ項目IDとデータ内容の組合せを記録しており、
    前記データ定義部は、データ項目IDとデータ項目の組合せを記録しており、
    前記データ処理手段は、前記データ記録部に記録されたデータ項目IDと一致する、前記データ定義部に記録されたデータ項目IDに基づいて、前記データ記録部に記録されたデータ内容に対応するデータ項目を決定する処理を行うことを特徴とするもの。
  35. 請求項34のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、データ項目IDとデータ内容の組合せを複数記録していることを特徴とするもの。
  36. 請求項35のデータ管理装置またはプログラムにおいて、
    前記データ定義部は、データ項目IDとデータ項目の組合せを、前記データ記録部に記録されるデータ内容におけるデータ型ごとに記録していることを特徴とするもの。
  37. 請求項36のデータ管理装置またはプログラムにおいて、
    前記データ型は、日付型、数値型、文字型またはバイナリ型のいずれかを含むものであることを特徴とするもの。
  38. 請求項34〜37のデータ管理装置またはプログラムにおいて、
    前記データ記録部は、データIDによって特定されるデータの属性を示す属性IDを記録しており、
    前記データ定義部は、属性IDごとに、データ項目IDとデータ項目の組合せを記録しており、
    前記データ処理手段は、属性IDごとに、データ項目を決定する処理を行うことを特徴とするもの。
  39. 請求項1〜38のデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、後記計算処理部において使用する計算条件を設定するための条件設定部と、前記計算条件に基づいて所定の計算処理を行うための計算処理部を含んで構成されており、前記条件設定部においてのみデータ定義部またはグループ定義部へのアクセスを行うことを特徴とするもの。
  40. 請求項39のデータ管理装置またはプログラムにおいて、
    前記データ処理手段は、前記条件設定部および前記計算処理部の組合せを、計算処理単位ごとに備えていることを特徴とするもの。
  41. 請求項39〜40のデータ管理装置またはプログラムにおいて、
    取り扱う可能性のあるすべてのデータを包含した処理データ格納部をさらに備えており、
    前記データ処理手段における条件設定部は、前記処理データ格納部に対してデータの入出力を行うことを特徴とするもの。
  42. 請求項41のデータ管理装置またはプログラムにおいて、
    前記処理データ格納部は、トランザクションデータ、画面入力データおよび計算結果データから構成されることを特徴とするもの。
  43. 管理対象となる契約条件が約款によってそれぞれ異なる保険契約データを管理するための保険契約データ管理装置であって、
    少なくとも、保険契約を特定するための証券ID、前記保険契約における約款を特定するための約款IDおよび前記約款における契約内容を特定するための契約内容IDを含むデータ記録部と、
    契約条件ごとに、契約内容IDに対応する契約内容を記録したデータ定義部と、
    前記データ記録部に記録された契約内容IDと一致する、前記データ定義部に記録された契約内容IDに基づいて、前記証券IDによって特定される保険契約データにおける、所定の契約条件に対応する契約内容を決定する処理を行うデータ処理手段と、
    を備えたことを特徴とするもの。
  44. 管理対象となる契約条件が約款によってそれぞれ異なる保険契約データを管理するための保険契約データ管理装置をコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段(a)〜(c)を構成させることを特徴とするもの:
    (a)少なくとも、保険契約を特定するための証券ID、前記保険契約における約款を特定するための約款IDおよび前記約款における契約内容を特定するための契約内容IDを含むデータ記録部にアクセスする手段、
    (b)契約条件ごとに、契約内容IDに対応する契約内容を記録したデータ定義部にアクセスする手段、
    (c)前記データ記録部に記録された契約内容IDと一致する、前記データ定義部に記録された契約内容IDに基づいて、前記証券IDによって特定される保険契約データにおける、所定の契約条件に対応する契約内容を決定する処理を行うデータ処理手段。
  45. 管理対象となるデータ項目がそれぞれ異なるデータを管理するためのデータ構造であって、
    少なくとも、データを識別するためのデータID、前記データIDによって特定されるデータ内容の種類を示す種類IDおよび前記種類IDにかかるデータ項目のデータ内容に対応するデータ内容IDを含むデータ記録部と、
    データ項目ごとに、データ内容IDに対応するデータ内容を記録したデータ定義部と、
    を備えたことを特徴とするもの。
  46. 請求項45のデータ構造において、
    前記データ定義部は、種類IDごとに、管理対象としているデータ項目を記録していることを特徴とするもの。
  47. 請求項46のデータ構造において、
    前記データ記録部は、データIDおよび種類IDの組合せごとに、複数のデータ内容IDを、各組合せに共通な複数のデータ項目番号にそれぞれ対応させて記録しており、
    前記データ定義部は、前記種類IDごとに、複数のデータ項目番号にそれぞれ対応するデータ項目を記録したことを特徴とするもの。
  48. 管理対象となる契約条件が約款によってそれぞれ異なる保険契約を管理するためのデータ構造であって、
    少なくとも、保険契約を特定するための証券ID、前記保険契約における約款を特定するための約款IDおよび前記約款における契約内容を特定するための契約内容IDを含むデータ記録部と、
    約款IDごとかつ契約条件ごとに、契約内容IDに対応する契約内容を記録したデータ定義部と、
    を備えたことを特徴とするもの。
  49. 請求項48のデータ構造において、
    前記データ記録部は、証券IDおよび約款IDの組合せごとに、複数の契約内容IDを、各組合せに共通な複数の契約条件番号にそれぞれ対応させて記録しており、
    前記データ定義部は、前記約款IDごとに、複数の契約条件番号にそれぞれ対応する契約条件を記録したことを特徴とするもの。
  50. 指定データに対しての指定処理を行うプログラムを生成するプログラム生成装置であって、
    データ項目ごとに、データ内容IDとデータ内容の対応表を記録したデータ定義部と、
    処理に対する処理コードを記録した処理定義部と、
    指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得する対応表取得手段と、
    前記指定処理に関する処理コードを、前記処理定義部から取得する処理コード取得手段と、
    取得した前記対応表および取得した前記処理コードに基づいてプログラムを生成するプログラム生成手段と、
    を備えたことを特徴とするプログラム生成装置。
  51. 指定データに対しての指定処理を行うプログラムを生成するプログラム生成装置をコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段(a)〜(e)を構成させることを特徴とするもの:
    (a)データ項目ごとに、データ内容IDとデータ内容の対応表を記録したデータ定義部にアクセスする手段、
    (b)処理に対する処理コードを記録した処理定義部にアクセスする手段、
    (c)指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得する対応表取得手段、
    (d)前記指定処理に関する処理コードを、前記処理定義部から取得する処理コード取得手段、
    (e)取得した前記対応表および取得した前記処理コードに基づいてプログラムを生成するプログラム生成手段。
  52. 請求項50または51のプログラム生成装置またはプログラムにおいて、
    前記指定データに含まれる種類IDは、管理対象となるデータ項目が種類IDによってそれぞれ異なるデータを管理するデータ記録部であって、少なくとも、データを識別するためのデータID、前記データIDによって特定される種類IDおよび前記種類IDにおけるデータ内容を特定するためのデータ内容IDを含むデータ記録部から抽出されたものであることを特徴とするもの。
  53. 請求項50〜52のいずれかのプログラム生成装置またはプログラムにおいて、
    前記データ定義部は、種類IDごとかつデータ項目ごとに、前記対応表を記録したことを特徴とするもの。
  54. 所定の種類IDにかかる指定処理を行うための表示画面を生成する画面生成装置であって、
    データ項目ごとに、データ内容IDとデータ内容の対応表を記録したデータ定義部と、
    処理に対する処理コードを記録した処理定義部と、
    指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得する対応表取得手段と、
    前記指定処理に関する処理コードを、前記処理定義部から取得する処理コード取得手段と、
    取得した前記対応表および取得した前記処理コードに基づいてプログラムを生成するプログラム生成手段とを備え、
    前記データ処理手段は、前記データ定義部が所定の種類IDについて記録しているすべてのデータ項目におけるすべてのデータ内容IDおよびデータ内容の組合せを取得し、取得した前記データ内容IDおよびデータ内容の組合せに基づいて、前記所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容を出力することによって表示画面を生成することを特徴とする画面生成装置。
  55. 所定の種類IDにかかる指定処理を行うための表示画面を生成する画面生成装置をコンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段(a)〜(d)を構成させ、:
    (a)データ項目ごとに、データ内容IDとデータ内容の対応表を記録したデータ定義部にアクセスする手段、
    (b)処理に対する処理コードを記録した処理定義部にアクセスする手段、
    (c)指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得する対応表取得手段と、
    前記指定処理に関する処理コードを、前記処理定義部から取得する処理コード取得手段、
    (d)取得した前記対応表および取得した前記処理コードに基づいてプログラムを生成するプログラム生成手段、
    前記データ処理手段は、前記データ定義部が所定の種類IDについて記録しているすべてのデータ項目におけるすべてのデータ内容IDおよびデータ内容の組合せを取得し、取得した前記データ内容IDおよびデータ内容の組合せに基づいて、前記所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容を出力することによって表示画面を生成することを特徴とするもの。
  56. 請求項54または55の画面生成装置またはプログラムにおいて、
    データ項目ごとに、データ内容IDまたはデータ内容についての表示形式を記録した表示形式定義部またはこれにアクセスする手段をさらに備え、
    前記データ処理手段は、前記表示形式定義部から取得した表示形式に基づいて、選択可能なデータ内容IDまたはデータ内容を出力することを特徴とするもの。
  57. 管理対象となるデータ項目がそれぞれ異なるデータを管理するためのデータ管理方法であって、
    少なくとも、データID、種類IDおよびデータ内容IDをデータ記録部に記録しておき、
    データ項目ごとに、データ内容IDに対応するデータ内容をデータ定義部に記録しておき、
    前記データ記録部に記録されたデータ内容IDと一致する、前記データ定義部に記録されたデータ内容IDに基づいて、前記データIDによって特定されるデータの種類を示す種類IDの所定のデータ項目に対応するデータ内容を決定することを特徴とするデータ管理方法。
  58. 管理対象となる契約条件が約款によってそれぞれ異なる保険契約データを管理するための保険契約データ管理方法であって、
    少なくとも、保険契約を特定するための証券ID、前記保険契約における約款を特定するための約款IDおよび前記約款における契約内容を特定するための契約内容IDをデータ記録部に記録しておき、
    契約条件ごとに、契約内容IDに対応する契約内容を記録したデータ定義部に記録しておき、
    前記データ記録部に記録された契約内容IDと一致する、前記データ定義部に記録された契約内容IDに基づいて、前記証券IDによって特定される保険契約データにおける、所定の契約条件に対応する契約内容を決定することを特徴とする保険契約データ管理方法。
  59. 指定データに対しての指定処理を行うプログラムを生成するプログラム生成方法であって、
    データ項目ごとに、データ内容IDとデータ内容の対応表をデータ定義部に記録しておき、
    処理に対する処理コードを処理定義部に記録しておき、
    指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得し、
    前記指定処理に関する処理コードを、前記処理定義部から取得し、
    取得した前記対応表および取得した前記処理コードに基づいてプログラムを生成することを特徴とするプログラム生成方法。
  60. 所定の種類IDにかかる指定処理を行うための表示画面を生成する画面生成方法であって、
    データ項目ごとに、データ内容IDとデータ内容の対応表をデータ定義部に記録しておき、
    処理に対する処理コードを処理定義部に記録しておき、
    指定データに含まれる種類IDおよび指定処理の内容によって特定されるデータ項目についての対応表を、前記データ定義部から取得する対応表取得手段と、
    前記指定処理に関する処理コードを、前記処理定義部から取得し、
    取得した前記対応表および取得した前記処理コードに基づいてプログラムを生成し、
    前記データ定義部が所定の種類IDについて記録しているすべてのデータ項目におけるすべてのデータ内容IDおよびデータ内容の組合せを取得し、取得した前記データ内容IDおよびデータ内容の組合せに基づいて、前記所定の種類IDにかかる各データ項目について選択可能なデータ内容IDまたはデータ内容を出力することによって表示画面を生成することを特徴とする画面生成方法。
JP2009203139A 2004-10-13 2009-09-02 データ管理装置およびその方法 Active JP5039760B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009203139A JP5039760B2 (ja) 2004-10-13 2009-09-02 データ管理装置およびその方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004299055 2004-10-13
JP2004299055 2004-10-13
JP2009203139A JP5039760B2 (ja) 2004-10-13 2009-09-02 データ管理装置およびその方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006540955A Division JP4516084B2 (ja) 2004-10-13 2005-10-12 データ管理装置およびその方法

Publications (3)

Publication Number Publication Date
JP2010015593A true JP2010015593A (ja) 2010-01-21
JP2010015593A5 JP2010015593A5 (ja) 2011-06-16
JP5039760B2 JP5039760B2 (ja) 2012-10-03

Family

ID=36148391

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2006540955A Active JP4516084B2 (ja) 2004-10-13 2005-10-12 データ管理装置およびその方法
JP2009203138A Active JP5039759B2 (ja) 2004-10-13 2009-09-02 データ管理装置およびその方法
JP2009203139A Active JP5039760B2 (ja) 2004-10-13 2009-09-02 データ管理装置およびその方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2006540955A Active JP4516084B2 (ja) 2004-10-13 2005-10-12 データ管理装置およびその方法
JP2009203138A Active JP5039759B2 (ja) 2004-10-13 2009-09-02 データ管理装置およびその方法

Country Status (4)

Country Link
US (4) US8554582B2 (ja)
JP (3) JP4516084B2 (ja)
CN (2) CN101040292A (ja)
WO (1) WO2006041104A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100318713A1 (en) * 2009-06-16 2010-12-16 Freescale Semiconductor, Inc. Flow Control Mechanisms for Avoidance of Retries and/or Deadlocks in an Interconnect
JP2019125107A (ja) * 2018-01-15 2019-07-25 株式会社オービック 源泉税関連業務支援装置、源泉税関連業務支援方法、および源泉税関連業務支援プログラム

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4516084B2 (ja) 2004-10-13 2010-08-04 ニッセイ情報テクノロジー株式会社 データ管理装置およびその方法
US8036979B1 (en) 2006-10-05 2011-10-11 Experian Information Solutions, Inc. System and method for generating a finance attribute from tradeline data
US8606626B1 (en) 2007-01-31 2013-12-10 Experian Information Solutions, Inc. Systems and methods for providing a direct marketing campaign planning environment
US8606666B1 (en) * 2007-01-31 2013-12-10 Experian Information Solutions, Inc. System and method for providing an aggregation tool
US8316318B2 (en) * 2007-03-30 2012-11-20 Oracle International Corporation Named calculations and configured columns
US8719119B1 (en) 2008-09-30 2014-05-06 Accenture Global Services Limited Post deployment query system
US8788295B1 (en) 2008-09-30 2014-07-22 Accenture Global Services Limited Reusable product system
US8595103B1 (en) 2008-09-30 2013-11-26 Accenture Global Services Limited Deployment and release component system
US8175900B2 (en) * 2009-03-02 2012-05-08 The Trustee and Successor Trustees of RGD 2006 Trust Life insurance strategic value
US8832144B2 (en) 2011-07-11 2014-09-09 International Business Machines Corporation Search optimization in a computing environment
US9043866B2 (en) 2011-11-14 2015-05-26 Wave Systems Corp. Security systems and methods for encoding and decoding digital content
US9015857B2 (en) 2011-11-14 2015-04-21 Wave Systems Corp. Security systems and methods for encoding and decoding digital content
US9047489B2 (en) * 2011-11-14 2015-06-02 Wave Systems Corp. Security systems and methods for social networking
US9122740B2 (en) * 2012-03-13 2015-09-01 Siemens Product Lifecycle Management Software Inc. Bulk traversal of large data structures
US8990205B2 (en) * 2013-01-28 2015-03-24 International Business Machines Corporation Data caveats for database tables
US8719063B1 (en) * 2013-05-07 2014-05-06 Marsh USA Inc. System and method for comparing information in a process for issuing insurance policies
JP5753217B2 (ja) * 2013-05-17 2015-07-22 株式会社アイディーズ 商品コード分析システム及び商品コード分析プログラム
CN104679443A (zh) * 2013-12-03 2015-06-03 昆达电脑科技(昆山)有限公司 数据自动写入装置及方法
JP6173896B2 (ja) * 2013-12-10 2017-08-02 株式会社日立製作所 データ処理方法およびデータ処理サーバ
US10262362B1 (en) 2014-02-14 2019-04-16 Experian Information Solutions, Inc. Automatic generation of code for attributes
US10445152B1 (en) 2014-12-19 2019-10-15 Experian Information Solutions, Inc. Systems and methods for dynamic report generation based on automatic modeling of complex data structures
US10698671B2 (en) 2015-03-30 2020-06-30 Arxan Technologies, Inc. Processing, modification, distribution of custom software installation packages
JP6674092B2 (ja) * 2016-02-10 2020-04-01 富士通株式会社 データ管理プログラム、データ管理装置、及びデータ管理方法
CN107103539A (zh) * 2016-02-22 2017-08-29 易保网络技术(上海)有限公司 一种计算机执行的计算保费的方法和系统
CN107861963B (zh) * 2017-02-20 2020-08-04 平安科技(深圳)有限公司 险种合约的生成方法和装置
CN109272226A (zh) * 2018-09-10 2019-01-25 上海嘉实(集团)有限公司 一种基于大数据和云平台的智能化安装工程质量检查系统
US11120894B2 (en) * 2018-10-17 2021-09-14 Accenture Global Solutions Limited Medical concierge
US12079851B2 (en) 2019-01-02 2024-09-03 Allstate Insurance Company Onboarding platform for performing dynamic mitigation analysis
US20220027380A1 (en) * 2020-07-21 2022-01-27 Berkley Insurance Company Data management system and method for general ledger
CN117252716B (zh) * 2023-09-11 2024-07-16 广东源恒软件科技有限公司 一种税务数据储存管理方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139130A (ja) * 1992-10-23 1994-05-20 Fujitsu Ltd オブジェクト指向データベースにおける問い合わせ処理方式
JPH09185542A (ja) * 1995-12-28 1997-07-15 Hitachi Ltd オブジェクト管理方法
JPH10301911A (ja) * 1997-04-30 1998-11-13 Fujitsu Ltd クライアント主導のネットワーク・コンピューティングシステムおよび方法
JP2000215063A (ja) * 1999-01-22 2000-08-04 Pfu Ltd 単一継承によるサブクラスを含むオブジェクトデ―タ格納方法および記録媒体
JP2000322463A (ja) * 1999-05-13 2000-11-24 Zuken:Kk 回路シンボル自動生成システム
WO2002097694A1 (en) * 2001-05-29 2002-12-05 Matsushita Electric Industrial Co., Ltd. Insurance system
JP2004185270A (ja) * 2002-12-03 2004-07-02 Fujitsu Ltd アンロードプログラム,ロードプログラム及びデータ移行方法
US20050203777A1 (en) * 1999-06-23 2005-09-15 Rosenfeld Brian A. System and method for accounting and billing patients in a hospital environment

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6429928A (en) 1987-07-24 1989-01-31 Nippon Telegraph & Telephone Knowledge base constituting method
JPS6464044A (en) 1987-09-04 1989-03-09 Fujitsu Ltd Logical file processing system
JP3144022B2 (ja) 1992-01-22 2001-03-07 富士ゼロックス株式会社 プログラムデータベースシステム
JPH06236315A (ja) 1992-10-07 1994-08-23 Akifumi Makinouchi オブジェクト指向データベース管理システム
JPH08272804A (ja) 1995-03-29 1996-10-18 Mitsubishi Electric Corp 情報表示システムにおける項目データ照会方式
JPH08329142A (ja) 1995-05-30 1996-12-13 Fujitsu Ltd 保険商品管理システム
JPH1029928A (ja) 1995-07-13 1998-02-03 Shiseido Co Ltd 皮膚外用剤
JP3489326B2 (ja) 1996-04-10 2004-01-19 株式会社日立製作所 テーブル生成方法
JP3552003B2 (ja) 1996-08-19 2004-08-11 戸田工業株式会社 磁気記録媒体
EP0863469A3 (en) 1997-02-10 2002-01-09 Nippon Telegraph And Telephone Corporation Scheme for automatic data conversion definition generation according to data feature in visual multidimensional data analysis tool
JPH1173431A (ja) 1997-02-10 1999-03-16 Nippon Telegr & Teleph Corp <Ntt> データの特徴に基づく定義生成支援装置、方法およびそのプログラムを格納した記憶媒体
JPH10283248A (ja) 1997-04-09 1998-10-23 Meidensha Corp 設備情報の管理システム
JPH10334160A (ja) 1997-06-02 1998-12-18 N T T Data:Kk 金融処理システム及び同システム用のプログラム記録媒体
JPH11143749A (ja) 1997-11-06 1999-05-28 Nec Miyagi Ltd リレーショナルデータベースマネジメントシステムおよびデータ管理方法
JPH11249952A (ja) 1998-03-05 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> データ入出力方法および装置とデータ入出力プログラムを記録した記録媒体
JPH11265395A (ja) 1998-03-18 1999-09-28 Hitachi Ltd データベースアクセスシステム
JP2000123038A (ja) 1998-10-15 2000-04-28 Mitsubishi Materials Corp データベース装置、データベースアクセス方法及びデータベースアクセスプログラムを記録した記録媒体
JP2000137735A (ja) 1998-10-29 2000-05-16 Casio Comput Co Ltd アクセス制御装置およびそのプログラム記録媒体
JP2000271826A (ja) 1999-03-24 2000-10-03 Mitsubishi Electric Corp 製品の構成要素組合せ判定装置
JP2001195297A (ja) 2000-01-17 2001-07-19 Pfu Ltd オブジェクト管理装置およびその制御プログラムを記録した記録媒体
JP2002163134A (ja) 2000-11-28 2002-06-07 Nec Corp データ管理方法
JP3730156B2 (ja) 2001-11-09 2005-12-21 有限会社築城ソフト研究所 関係付け情報管理システム、関係付け情報管理用プログラム、及び記録媒体
KR20020061119A (ko) 2001-01-12 2002-07-22 유겐가이샤 츠유키 소프트 겐큐쇼 관계 설정 정보 관리 시스템, 관계 설정 정보 관리용프로그램 및 기록 매체
JP2003108429A (ja) 2001-09-28 2003-04-11 Nec System Technologies Ltd Webシステムにおけるマスタ参照方式
JP2003228686A (ja) 2002-02-04 2003-08-15 Seiko Epson Corp 表形式データファイルの参照処理システムと表形式データファイルの参照処理方法と表形式データファイルの参照処理プログラム
JP4516084B2 (ja) 2004-10-13 2010-08-04 ニッセイ情報テクノロジー株式会社 データ管理装置およびその方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139130A (ja) * 1992-10-23 1994-05-20 Fujitsu Ltd オブジェクト指向データベースにおける問い合わせ処理方式
JPH09185542A (ja) * 1995-12-28 1997-07-15 Hitachi Ltd オブジェクト管理方法
JPH10301911A (ja) * 1997-04-30 1998-11-13 Fujitsu Ltd クライアント主導のネットワーク・コンピューティングシステムおよび方法
JP2000215063A (ja) * 1999-01-22 2000-08-04 Pfu Ltd 単一継承によるサブクラスを含むオブジェクトデ―タ格納方法および記録媒体
JP2000322463A (ja) * 1999-05-13 2000-11-24 Zuken:Kk 回路シンボル自動生成システム
US20050203777A1 (en) * 1999-06-23 2005-09-15 Rosenfeld Brian A. System and method for accounting and billing patients in a hospital environment
WO2002097694A1 (en) * 2001-05-29 2002-12-05 Matsushita Electric Industrial Co., Ltd. Insurance system
JP2004185270A (ja) * 2002-12-03 2004-07-02 Fujitsu Ltd アンロードプログラム,ロードプログラム及びデータ移行方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100318713A1 (en) * 2009-06-16 2010-12-16 Freescale Semiconductor, Inc. Flow Control Mechanisms for Avoidance of Retries and/or Deadlocks in an Interconnect
US8554967B2 (en) * 2009-06-16 2013-10-08 Freescale Semiconductor, Inc. Flow control mechanisms for avoidance of retries and/or deadlocks in an interconnect
JP2019125107A (ja) * 2018-01-15 2019-07-25 株式会社オービック 源泉税関連業務支援装置、源泉税関連業務支援方法、および源泉税関連業務支援プログラム

Also Published As

Publication number Publication date
US20140012845A1 (en) 2014-01-09
CN103258291A (zh) 2013-08-21
US20140012838A1 (en) 2014-01-09
US8694344B2 (en) 2014-04-08
US8554582B2 (en) 2013-10-08
JP5039759B2 (ja) 2012-10-03
WO2006041104A1 (ja) 2006-04-20
JP2010015592A (ja) 2010-01-21
JP4516084B2 (ja) 2010-08-04
US20080016099A1 (en) 2008-01-17
JP5039760B2 (ja) 2012-10-03
JPWO2006041104A1 (ja) 2008-05-15
US20140012844A1 (en) 2014-01-09
CN101040292A (zh) 2007-09-19

Similar Documents

Publication Publication Date Title
JP5039760B2 (ja) データ管理装置およびその方法
Ahmad et al. Banking sector performance, profitability, and efficiency: a citation‐based systematic literature review
Alt et al. The rise of customer-oriented banking-electronic markets are paving the way for change in the financial industry
AU2012200992B2 (en) Page designer with customization constraints
US20150154696A1 (en) Municipal bond tracking and evaluation system
US7680708B1 (en) Method and user interface for assigning a tax line item to a user transaction
Meyer et al. Activity-centric and artifact-centric process model roundtrip
Ergüven The political economy of housing financialization in Turkey: links with and contradictions to the accumulation model
US20150178851A1 (en) Insurance product model relationships
CN108256113A (zh) 数据血缘关系的挖掘方法及装置
US20130198109A1 (en) Municipal bond tracking and evaluation system
WO2015166973A1 (ja) 企業財務データを集約する集約サーバ、方法及びコンピュータプログラム
US7318200B2 (en) Master data framework
US11544266B1 (en) Methods and systems for efficiently and rapidly generating highly customized cloud-based enterprise software applications
Milberg Export processing zones, industrial upgrading and economic development: A survey
WO2005010658A2 (en) Logistics management method and system
JP7212511B2 (ja) 融資管理装置、融資管理方法、及び融資管理プログラム
US7467105B2 (en) Price calculator
Ryan et al. Package ‘quantmod’
CN114418444A (zh) 信用评级系统的生成方法、信用评级方法
Ullah et al. Government Accounting in Pakistan: transition from a Legacy system to the New Accounting Model
Liu et al. Business entities: An SOA approach to progressive core banking renovation
US20110196770A1 (en) System and Method for Visual and Interactive Determination of Optimal Financing and Refinancing Solutions
Rolli et al. Improvement of the compilation process of the Italian income certifications: an application on the tax model of the year 2016 (Part 2)
Arachchi et al. Comprehensive Marketplace and Factors Affecting the Budget of Enterprise Resource Planning (ERP) in Sri Lanka

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120611

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120709

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5039760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250