[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 419f00f 1/4: Add several contractually-define
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 419f00f 1/4: Add several contractually-defined terms to product database |
Date: |
Wed, 7 Aug 2019 10:03:15 -0400 (EDT) |
branch: master
commit 419f00f81b0be33e9426ce842af8194357d10749
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Add several contractually-defined terms to product database
---
ledger_invariant.cpp | 12 ++++++++++++
ledger_invariant.hpp | 8 +++++++-
ledger_invariant_init.cpp | 6 ++++++
product_data.cpp | 12 ++++++++++++
product_data.hpp | 17 +++++++++++++++++
5 files changed, 54 insertions(+), 1 deletion(-)
diff --git a/ledger_invariant.cpp b/ledger_invariant.cpp
index fa9e544..542fda8 100644
--- a/ledger_invariant.cpp
+++ b/ledger_invariant.cpp
@@ -204,9 +204,15 @@ void LedgerInvariant::Alloc(int len)
Strings["CsvHeaderName" ] = &CsvHeaderName
;
Strings["NoLapseProvisionName" ] = &NoLapseProvisionName
;
Strings["ContractName" ] = &ContractName
;
+ Strings["DboName" ] = &DboName
;
Strings["DboNameLevel" ] = &DboNameLevel
;
Strings["DboNameIncreasing" ] = &DboNameIncreasing
;
Strings["DboNameMinDeathBenefit" ] = &DboNameMinDeathBenefit
;
+ Strings["GenAcctName" ] = &GenAcctName
;
+ Strings["GenAcctNameElaborated" ] = &GenAcctNameElaborated
;
+ Strings["SepAcctName" ] = &SepAcctName
;
+ Strings["SpecAmtName" ] = &SpecAmtName
;
+ Strings["SpecAmtNameElaborated" ] = &SpecAmtNameElaborated
;
Strings["AccountValueFootnote" ] = &AccountValueFootnote
;
Strings["AttainedAgeFootnote" ] = &AttainedAgeFootnote
;
@@ -565,9 +571,15 @@ LedgerInvariant& LedgerInvariant::PlusEq(LedgerInvariant
const& a_Addend)
CsvHeaderName = a_Addend.CsvHeaderName;
NoLapseProvisionName = a_Addend.NoLapseProvisionName;
ContractName = a_Addend.ContractName;
+ DboName = a_Addend.DboName;
DboNameLevel = a_Addend.DboNameLevel;
DboNameIncreasing = a_Addend.DboNameIncreasing;
DboNameMinDeathBenefit = a_Addend.DboNameMinDeathBenefit;
+ GenAcctName = a_Addend.GenAcctName;
+ GenAcctNameElaborated = a_Addend.GenAcctNameElaborated;
+ SepAcctName = a_Addend.SepAcctName;
+ SpecAmtName = a_Addend.SpecAmtName;
+ SpecAmtNameElaborated = a_Addend.SpecAmtNameElaborated;
AccountValueFootnote = a_Addend.AccountValueFootnote;
AttainedAgeFootnote = a_Addend.AttainedAgeFootnote;
diff --git a/ledger_invariant.hpp b/ledger_invariant.hpp
index fa74052..8e9bcd4 100644
--- a/ledger_invariant.hpp
+++ b/ledger_invariant.hpp
@@ -233,7 +233,8 @@ class LMI_SO LedgerInvariant final
std::string CsvHeaderName;
std::string NoLapseProvisionName;
std::string ContractName;
- // PDF !! 'DboName*' variables are used only to assemble DBO
+ std::string DboName;
+ // PDF !! 'DboName+' variables are used only to assemble DBO
// definitions for mce_ill_reg PDFs. Probably those definitions
// should be moved into '.policy' files instead, in which case
// the 'DboName*' variables here can be expunged. Incidentally,
@@ -244,6 +245,11 @@ class LMI_SO LedgerInvariant final
std::string DboNameIncreasing;
// std::string DboNameReturnOfPremium;
std::string DboNameMinDeathBenefit;
+ std::string GenAcctName;
+ std::string GenAcctNameElaborated;
+ std::string SepAcctName;
+ std::string SpecAmtName;
+ std::string SpecAmtNameElaborated;
// Ledger column definitions.
std::string AccountValueFootnote;
diff --git a/ledger_invariant_init.cpp b/ledger_invariant_init.cpp
index 088e9b6..989658c 100644
--- a/ledger_invariant_init.cpp
+++ b/ledger_invariant_init.cpp
@@ -316,11 +316,17 @@ void LedgerInvariant::Init(BasicValues const* b)
CsvHeaderName = p.datum("CsvHeaderName"
);
NoLapseProvisionName = p.datum("NoLapseProvisionName"
);
ContractName = p.datum("ContractName"
);
+ DboName = p.datum("DboName"
);
// PDF !! It is hoped that these local variables (which
// duplicate 'dbo_name_option1' etc. above) can be expunged.
DboNameLevel = p.datum("DboNameLevel"
);
DboNameIncreasing = p.datum("DboNameIncreasing"
);
DboNameMinDeathBenefit = p.datum("DboNameMinDeathBenefit"
);
+ GenAcctName = p.datum("GenAcctName"
);
+ GenAcctNameElaborated = p.datum("GenAcctNameElaborated"
);
+ SepAcctName = p.datum("SepAcctName"
);
+ SpecAmtName = p.datum("SpecAmtName"
);
+ SpecAmtNameElaborated = p.datum("SpecAmtNameElaborated"
);
AccountValueFootnote = p.datum("AccountValueFootnote"
);
AttainedAgeFootnote = p.datum("AttainedAgeFootnote"
);
diff --git a/product_data.cpp b/product_data.cpp
index f0507f3..55279d2 100644
--- a/product_data.cpp
+++ b/product_data.cpp
@@ -223,10 +223,16 @@ void product_data::ascribe_members()
ascribe("CsvHeaderName" , &product_data::CsvHeaderName
);
ascribe("NoLapseProvisionName" ,
&product_data::NoLapseProvisionName );
ascribe("ContractName" , &product_data::ContractName
);
+ ascribe("DboName" , &product_data::DboName
);
ascribe("DboNameLevel" , &product_data::DboNameLevel
);
ascribe("DboNameIncreasing" , &product_data::DboNameIncreasing
);
ascribe("DboNameReturnOfPremium" ,
&product_data::DboNameReturnOfPremium );
ascribe("DboNameMinDeathBenefit" ,
&product_data::DboNameMinDeathBenefit );
+ ascribe("GenAcctName" , &product_data::GenAcctName
);
+ ascribe("GenAcctNameElaborated" ,
&product_data::GenAcctNameElaborated );
+ ascribe("SepAcctName" , &product_data::SepAcctName
);
+ ascribe("SpecAmtName" , &product_data::SpecAmtName
);
+ ascribe("SpecAmtNameElaborated" ,
&product_data::SpecAmtNameElaborated );
ascribe("AccountValueFootnote" ,
&product_data::AccountValueFootnote );
ascribe("AttainedAgeFootnote" ,
&product_data::AttainedAgeFootnote );
ascribe("CashSurrValueFootnote" ,
&product_data::CashSurrValueFootnote );
@@ -508,10 +514,16 @@ sample::sample()
item("CsvHeaderName") = glossed_string("Cash Surr");
item("NoLapseProvisionName") = glossed_string("No-lapse Provision");
item("ContractName") = glossed_string("contract"); //
Alternatively, "policy" or "certificate".
+ item("DboName") = glossed_string("Death Benefit
Option");
item("DboNameLevel") = glossed_string("A");
item("DboNameIncreasing") = glossed_string("B");
item("DboNameReturnOfPremium") = glossed_string("ROP");
item("DboNameMinDeathBenefit") = glossed_string("MDB");
+ item("GenAcctName") = glossed_string("General Account");
+ item("GenAcctNameElaborated") = glossed_string("General Account
(GA)");
+ item("SepAcctName") = glossed_string("Separate Account");
+ item("SpecAmtName") = glossed_string("Specified Amount");
+ item("SpecAmtNameElaborated") = glossed_string("Specified (Face)
Amount");
item("MarketingNameFootnote") = glossed_string("Policy form
UL32768-NY is marketed as 'UL Supreme'.");
item("ADDTerseName") = glossed_string("Accident");
diff --git a/product_data.hpp b/product_data.hpp
index 70d14d5..e20e84b 100644
--- a/product_data.hpp
+++ b/product_data.hpp
@@ -189,10 +189,27 @@ class LMI_SO product_data
glossed_string CsvHeaderName;
glossed_string NoLapseProvisionName;
glossed_string ContractName;
+ glossed_string DboName;
glossed_string DboNameLevel;
glossed_string DboNameIncreasing;
glossed_string DboNameReturnOfPremium;
glossed_string DboNameMinDeathBenefit;
+ glossed_string GenAcctName;
+ glossed_string GenAcctNameElaborated;
+ glossed_string SepAcctName;
+ glossed_string SpecAmtName;
+ glossed_string SpecAmtNameElaborated;
+
+ // Underwriting terms.
+ glossed_string UwBasisMedical;
+ glossed_string UwBasisParamedical;
+ glossed_string UwBasisNonmedical;
+ glossed_string UwBasisSimplified;
+ glossed_string UwBasisGuaranteed;
+ glossed_string UwClassPreferred;
+ glossed_string UwClassStandard;
+ glossed_string UwClassRated;
+ glossed_string UwClassUltra;
// TODO ?? Most of the following are missing from the GUI.