lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 9ec9f44: Remove or suppress certain ledger fi


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 9ec9f44: Remove or suppress certain ledger fields [373]
Date: Mon, 8 Oct 2018 12:27:43 -0400 (EDT)

branch: master
commit 9ec9f440d6752417445efdb84e6fdffee5e7ecc9
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Remove or suppress certain ledger fields [373]
---
 ihs_acctval.cpp           |  1 -
 ledger_evaluator.cpp      | 15 ---------------
 ledger_invariant.cpp      |  3 ---
 ledger_invariant.hpp      |  9 +++------
 ledger_invariant_init.cpp |  9 +++------
 ledger_text_formats.cpp   |  3 ---
 ledger_xml_io.cpp         |  9 ---------
 7 files changed, 6 insertions(+), 43 deletions(-)

diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index aad477b..e23ad8f 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -1605,7 +1605,6 @@ void AccountValue::FinalizeYear()
 
 // SOMEDAY !! Not yet implemented.
 //        InvariantValues().NaarForceout[Year] = 
InvariantValues().ErGrossPmt[Year];
-//        InvariantValues().ProducerCompensation[Year] =
         }
 }
 
diff --git a/ledger_evaluator.cpp b/ledger_evaluator.cpp
index f585885..5e99bdf 100644
--- a/ledger_evaluator.cpp
+++ b/ledger_evaluator.cpp
@@ -200,13 +200,9 @@ title_map_t static_titles()
     ,{"EeGrossPmt"                      , "EE Gross\nPayment"}
     ,{"EeModalMinimumPremium"           , "EE Modal\nMinimum\nPremium"}
     ,{"EeMode"                          , "EE\nPayment\nMode"}
-// TODO ?? This can't be a mode. I don't know how it differs from 'EeGrossPmt' 
above.
-    ,{"EePmt"                           , "EE\nPayment\nMode"}
     ,{"ErGrossPmt"                      , "ER Gross\nPayment"}
     ,{"ErModalMinimumPremium"           , "ER Modal\nMinimum\nPremium"}
     ,{"ErMode"                          , "ER\nPayment\nMode"}
-// TODO ?? This can't be a mode. I don't know how it differs from 'ErGrossPmt' 
above.
-    ,{"ErPmt"                           , "ER\nPayment\nMode"}
     ,{"ExpenseCharges_Current"          , "Curr\nExpense\nCharge"}
     ,{"ExpenseCharges_Guaranteed"       , "Guar\nExpense\nCharge"}
     ,{"ExperienceReserve_Current"       , "Experience\nRating\nReserve"}
@@ -253,8 +249,6 @@ title_map_t static_titles()
     ,{"PrefLoanBalance_Guaranteed"      , "Guar\nPreferred\nLoan Bal"}
     ,{"PremTaxLoad_Current"             , "Curr\nPremium\nTax Load"}
     ,{"PremTaxLoad_Guaranteed"          , "Guar\nPremium\nTax Load"}
-// Excluded because it's unimplemented:
-//  ,{"ProducerCompensation"            , "Producer\nCompensation"}
     ,{"ProjectedCoiCharge_Current"      , "Experience\nRating\nProjected\nCOI 
Charge"}
     ,{"RefundableSalesLoad"             , "Refundable\nSales\nLoad"}
     ,{"RiderCharges_Current"            , "Curr Rider\nCharges"}
@@ -343,13 +337,9 @@ mask_map_t static_masks()
     ,{"EeGrossPmt"                      , "999,999,999"}
     ,{"EeModalMinimumPremium"           , "999,999,999"}
     ,{"EeMode"                          ,  "Semiannual"}
-// This can't be a mode. I don't know how it differs from 'EeGrossPmt' above.
-    ,{"EePmt"                           , "999,999,999"}
     ,{"ErGrossPmt"                      , "999,999,999"}
     ,{"ErModalMinimumPremium"           , "999,999,999"}
     ,{"ErMode"                          ,  "Semiannual"}
-// This can't be a mode. I don't know how it differs from 'ErGrossPmt' above.
-    ,{"ErPmt"                           , "999,999,999"}
     ,{"ExpenseCharges_Current"          , "999,999,999"}
     ,{"ExpenseCharges_Guaranteed"       , "999,999,999"}
     ,{"ExperienceReserve_Current"       , "999,999,999"}
@@ -396,8 +386,6 @@ mask_map_t static_masks()
     ,{"PrefLoanBalance_Guaranteed"      , "999,999,999"}
     ,{"PremTaxLoad_Current"             , "999,999,999"}
     ,{"PremTaxLoad_Guaranteed"          , "999,999,999"}
-// Excluded because it's unimplemented:
-//  ,{"ProducerCompensation"            , "999,999,999"}
     ,{"ProjectedCoiCharge_Current"      , "999,999,999"}
     ,{"RefundableSalesLoad"             , "999,999,999"}
     ,{"RiderCharges_Current"            , "999,999,999"}
@@ -631,12 +619,10 @@ format_map_t static_formats()
     ,{"EeGrossPmt"                      , f1}
     ,{"EeModalMinimumPremium"           , f1}
 //  ,{"EeMode"                          , f1} // Not numeric.
-    ,{"EePmt"                           , f1}
     ,{"EOYDeathBft"                     , f1}
     ,{"ErGrossPmt"                      , f1}
     ,{"ErModalMinimumPremium"           , f1}
 //  ,{"ErMode"                          , f1} // Not numeric.
-    ,{"ErPmt"                           , f1}
     ,{"ExpenseCharges"                  , f1}
     ,{"ExperienceReserve"               , f1}
     ,{"FundNumbers"                     , f1}
@@ -658,7 +644,6 @@ format_map_t static_formats()
     ,{"PolicyFee"                       , f1}
     ,{"PrefLoanBalance"                 , f1}
     ,{"PremTaxLoad"                     , f1}
-    ,{"ProducerCompensation"            , f1}
     ,{"ProjectedCoiCharge"              , f1}
     ,{"RefundableSalesLoad"             , f1}
     ,{"RiderCharges"                    , f1}
diff --git a/ledger_invariant.cpp b/ledger_invariant.cpp
index 26f542f..add211a 100644
--- a/ledger_invariant.cpp
+++ b/ledger_invariant.cpp
@@ -78,8 +78,6 @@ void LedgerInvariant::Alloc(int len)
 {
     Length  = len;
 
-    BegYearVectors  ["EePmt"                 ] = &EePmt                  ;
-    BegYearVectors  ["ErPmt"                 ] = &ErPmt                  ;
     BegYearVectors  ["TgtPrem"               ] = &TgtPrem                ;
     BegYearVectors  ["GrossPmt"              ] = &GrossPmt               ;
     BegYearVectors  ["EeGrossPmt"            ] = &EeGrossPmt             ;
@@ -95,7 +93,6 @@ void LedgerInvariant::Alloc(int len)
 
     EndYearVectors  ["TermSpecAmt"           ] = &TermSpecAmt            ;
     EndYearVectors  ["SpecAmt"               ] = &SpecAmt                ;
-    EndYearVectors  ["ProducerCompensation"  ] = &ProducerCompensation   ;
 
     OtherVectors    ["IndvTaxBracket"        ] = &IndvTaxBracket         ;
     OtherVectors    ["CorpTaxBracket"        ] = &CorpTaxBracket         ;
diff --git a/ledger_invariant.hpp b/ledger_invariant.hpp
index 0e1ab11..a436c07 100644
--- a/ledger_invariant.hpp
+++ b/ledger_invariant.hpp
@@ -69,8 +69,6 @@ class LMI_SO LedgerInvariant
 // (e.g., outlay) could be calculated dynamically instead of stored.
 
     // BOY vectors.
-    std::vector<double> EePmt;
-    std::vector<double> ErPmt;
     std::vector<double> TgtPrem;    // Not currently used?
     std::vector<double> GrossPmt;   // TODO ?? Why "gross"?
     std::vector<double> EeGrossPmt;
@@ -87,10 +85,6 @@ class LMI_SO LedgerInvariant
     // EOY vectors.
     std::vector<double> TermSpecAmt;
     std::vector<double> SpecAmt;
-    // Compensation is treated as an EOY vector because it must
-    // reflect between-anniversary processing: premium may be
-    // limited, and assets are certain to vary during the year.
-    std::vector<double> ProducerCompensation;
 
     // Other vectors.
     std::vector<double> IndvTaxBracket;
@@ -111,6 +105,9 @@ class LMI_SO LedgerInvariant
     // any tiered component, but in that case it would vary by basis.
     std::vector<double> TotalIMF;
     std::vector<double> RefundableSalesLoad;
+    // These two are used only for a payment-strategy kludge:
+    std::vector<double> EePmt;
+    std::vector<double> ErPmt;
 
     // Special-case vectors (not <double>, or different length than others).
     std::vector<mce_mode> EeMode;
diff --git a/ledger_invariant_init.cpp b/ledger_invariant_init.cpp
index 0cdfda5..d1c253c 100644
--- a/ledger_invariant_init.cpp
+++ b/ledger_invariant_init.cpp
@@ -50,11 +50,9 @@ void LedgerInvariant::Init(BasicValues const* b)
 
     irr_precision_ = b->round_irr().decimals();
 
-// TODO ?? These names are confusing. EePmt and ErPmt are *input* values.
-// If they're entered as $1000 for all years, then they have that value
-// every year, even after lapse. Variables whose names end in -'GrossPmt'
-// hold the results of transaction processing, e.g. $0 after lapse.
-// EePmt and ErPmt are used e.g. in premium-strategy calculations.
+// EePmt and ErPmt are *input* values, used only as a kludge, e.g. in
+// premium-strategy calculations. Use E[er]GrossPmt for illustrations:
+// they're *output* values that result from transaction processing.
 
     EePmt           = b->Outlay_->ee_modal_premiums();
     ErPmt           = b->Outlay_->er_modal_premiums();
@@ -87,7 +85,6 @@ void LedgerInvariant::Init(BasicValues const* b)
 //    ModalMinimumPremium   =
 //    EeModalMinimumPremium =
 //    ErModalMinimumPremium =
-//    ProducerCompensation  =
 
     HasSupplSpecAmt = false;
     if(b->yare_input_.TermRider)
diff --git a/ledger_text_formats.cpp b/ledger_text_formats.cpp
index 3d67ef8..781ac0c 100644
--- a/ledger_text_formats.cpp
+++ b/ledger_text_formats.cpp
@@ -555,7 +555,6 @@ void PrintCellTabDelimited
         ,"ExperienceReserve0Int"
         ,"ProjectedMortalityCharge0Int"
         ,"KFactor0Int"
-        ,"ProducerCompensation"
         };
 
     for(auto const& i : sheaders)
@@ -648,8 +647,6 @@ void PrintCellTabDelimited
             alarum() << "Three-rate illustrations not supported." << LMI_FLUSH;
             }
 
-        os << Invar.value_str("ProducerCompensation"  ,j) << '\t';
-
         os << '\n';
         }
     if(!os)
diff --git a/ledger_xml_io.cpp b/ledger_xml_io.cpp
index 27246d9..10e58f1 100644
--- a/ledger_xml_io.cpp
+++ b/ledger_xml_io.cpp
@@ -210,13 +210,9 @@ void Ledger::write(xml::element& x) const
     title_map["EeGrossPmt"                      ] = " _____________ ______ EE 
Gross Payment";
     title_map["EeModalMinimumPremium"           ] = "EE Modal Minimum Premium";
     title_map["EeMode"                          ] = "EE Payment Mode";
-// TODO ?? This can't be a mode. I don't know how it differs from 'EeGrossPmt' 
above.
-    title_map["EePmt"                           ] = "EE Payment Mode";
     title_map["ErGrossPmt"                      ] = " _____________ ______ ER 
Gross Payment";
     title_map["ErModalMinimumPremium"           ] = "ER Modal Minimum Premium";
     title_map["ErMode"                          ] = "ER Payment Mode";
-// TODO ?? This can't be a mode. I don't know how it differs from 'ErGrossPmt' 
above.
-    title_map["ErPmt"                           ] = "ER Payment Mode";
     title_map["ExpenseCharges_Current"          ] = "Curr Expense Charge";
     title_map["ExpenseCharges_Guaranteed"       ] = "Guar Expense Charge";
     title_map["ExperienceReserve_Current"       ] = " _____________ Experience 
Rating Reserve";
@@ -263,8 +259,6 @@ void Ledger::write(xml::element& x) const
     title_map["PrefLoanBalance_Guaranteed"      ] = "Guar Preferred Loan Bal";
     title_map["PremTaxLoad_Current"             ] = "Curr Premium Tax Load";
     title_map["PremTaxLoad_Guaranteed"          ] = "Guar Premium Tax Load";
-// Excluded because it's unimplemented:
-//    title_map["ProducerCompensation"            ] = " _____________ Producer 
Compensation";
     title_map["ProjectedCoiCharge_Current"      ] = "Experience Rating 
Projected COI Charge";
     title_map["RefundableSalesLoad"             ] = " _____________ Refundable 
Sales Load";
     title_map["RiderCharges_Current"            ] = " _____________ 
_____________ Curr Rider Charges";
@@ -503,12 +497,10 @@ void Ledger::write(xml::element& x) const
     format_map["EeGrossPmt"                        ] = f1;
     format_map["EeModalMinimumPremium"             ] = f1;
 //    format_map["EeMode"                            ] = f1; // Not numeric.
-    format_map["EePmt"                             ] = f1;
     format_map["EOYDeathBft"                       ] = f1;
     format_map["ErGrossPmt"                        ] = f1;
     format_map["ErModalMinimumPremium"             ] = f1;
 //    format_map["ErMode"                            ] = f1; // Not numeric.
-    format_map["ErPmt"                             ] = f1;
     format_map["ExpenseCharges"                    ] = f1;
     format_map["ExperienceReserve"                 ] = f1;
     format_map["FundNumbers"                       ] = f1;
@@ -530,7 +522,6 @@ void Ledger::write(xml::element& x) const
     format_map["PolicyFee"                         ] = f1;
     format_map["PrefLoanBalance"                   ] = f1;
     format_map["PremTaxLoad"                       ] = f1;
-    format_map["ProducerCompensation"              ] = f1;
     format_map["ProjectedCoiCharge"                ] = f1;
     format_map["RefundableSalesLoad"               ] = f1;
     format_map["RiderCharges"                      ] = f1;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]