lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5537] Enable recently-added inforce controls only when th


From: Greg Chicares
Subject: [lmi-commits] [5537] Enable recently-added inforce controls only when they're relevant
Date: Mon, 06 Aug 2012 10:59:20 +0000

Revision: 5537
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5537
Author:   chicares
Date:     2012-08-06 10:59:19 +0000 (Mon, 06 Aug 2012)
Log Message:
-----------
Enable recently-added inforce controls only when they're relevant

Modified Paths:
--------------
    lmi/trunk/input_harmonization.cpp

Modified: lmi/trunk/input_harmonization.cpp
===================================================================
--- lmi/trunk/input_harmonization.cpp   2012-08-05 09:36:21 UTC (rev 5536)
+++ lmi/trunk/input_harmonization.cpp   2012-08-06 10:59:19 UTC (rev 5537)
@@ -289,9 +289,10 @@
         ,std::max(InforceAsOfDate.value(), InforceAsOfDate.minimum())
         );
 
-    InforceGlp          .enable(mce_gpt == DefinitionOfLifeInsurance);
-    InforceCumulativeGlp.enable(mce_gpt == DefinitionOfLifeInsurance);
-    InforceGsp          .enable(mce_gpt == DefinitionOfLifeInsurance);
+    InforceGlp                      .enable(mce_gpt == 
DefinitionOfLifeInsurance);
+    InforceCumulativeGlp            .enable(mce_gpt == 
DefinitionOfLifeInsurance);
+    InforceGsp                      .enable(mce_gpt == 
DefinitionOfLifeInsurance);
+    InforceCumulativeGptPremiumsPaid.enable(mce_gpt == 
DefinitionOfLifeInsurance);
 
     bool non_mec = mce_no == InforceIsMec;
 
@@ -307,6 +308,26 @@
     InforceContractYear .enable(false);
     InforceContractMonth.enable(false);
 
+    bool no_lapse_offered =
+           0 != database_->Query(DB_NoLapseMinDur)
+        || 0 != database_->Query(DB_NoLapseMinAge)
+        ;
+    InforceNoLapseActive            .enable(no_lapse_offered);
+    InforceMonthlyNoLapsePremium    .enable(no_lapse_offered && mce_yes == 
InforceNoLapseActive);
+    InforceCumulativeNoLapsePremium .enable(no_lapse_offered && mce_yes == 
InforceNoLapseActive);
+    InforceCumulativePayments       .enable(no_lapse_offered && mce_yes == 
InforceNoLapseActive);
+
+    InforceCumulativeRopPayments.enable(database_->Query(DB_AllowDbo3));
+
+    // It would be possible to enable 'InforceCumulativeSalesLoad' iff
+    // 'DB_LoadRfdProportion' is nonzero in the inforce year. However,
+    // analysis of database vector quantities is generally avoided in
+    // this function, in the interest of simplicity and speed.
+    //
+    // Selectively enabling 'InforceSpecAmtLoadBase' would be even
+    // more complicated: it would require inspecting not only the
+    // database, but also a rate table.
+
 // TODO ?? Nomen est omen.
 if(!egregious_kludge)
   {




reply via email to

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