lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5285] Reflect 7702 and 7702A treatment of term rider in p


From: Greg Chicares
Subject: [lmi-commits] [5285] Reflect 7702 and 7702A treatment of term rider in payment strategies
Date: Tue, 13 Sep 2011 14:44:32 +0000

Revision: 5285
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5285
Author:   chicares
Date:     2011-09-13 14:44:31 +0000 (Tue, 13 Sep 2011)
Log Message:
-----------
Reflect 7702 and 7702A treatment of term rider in payment strategies

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/ihs_avstrtgy.cpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2011-09-13 12:19:27 UTC (rev 5284)
+++ lmi/trunk/ChangeLog 2011-09-13 14:44:31 UTC (rev 5285)
@@ -28476,3 +28476,23 @@
 confusingly, 'MinSpecAmt' was initialized with a value that was
 overridden before each use.
 
+20110913T1119Z <address@hidden> [613]
+
+  ihs_avmly.cpp
+Improve documentation.
+
+20110913T1139Z <address@hidden> [613]
+
+  ihs_avstrtgy.cpp
+Marshal switch-statement cases in enum-declaration order.
+
+20110913T1219Z <address@hidden> [613]
+
+  ihs_avstrtgy.cpp
+Refactor.
+
+20110913T1444Z <address@hidden> [610]
+
+  ihs_avstrtgy.cpp
+Reflect 7702 and 7702A treatment of term rider in payment strategies.
+

Modified: lmi/trunk/ihs_avstrtgy.cpp
===================================================================
--- lmi/trunk/ihs_avstrtgy.cpp  2011-09-13 12:19:27 UTC (rev 5284)
+++ lmi/trunk/ihs_avstrtgy.cpp  2011-09-13 14:44:31 UTC (rev 5285)
@@ -61,17 +61,10 @@
 /// The result of a salary-based strategy is constrained to be
 /// nonnegative, because if 'SalarySpecifiedAmountOffset' is
 /// sufficiently large, then specamt would be negative, which cannot
-/// make any sense. Other than that, no minimum is imposed. A case
-/// could be made for enforcing limits chosen from:
-///   DB_MinIssSpecAmt
-///   DB_MinRenlSpecAmt
-///   DB_MinRenlBaseSpecAmt
-///   DB_MaxIssSpecAmt
-///   DB_MaxRenlSpecAmt
-/// but that should be done unconditionally elsewhere; furthermore,
-/// either 'DB_MinRenlSpecAmt' or 'DB_MinRenlBaseSpecAmt' might apply,
-/// depending on whether the term rider remains in force--which can be
-/// ascertained only during monthiversary processing.
+/// make any sense. Other than that, no minimum is imposed here. The
+/// actual minimum, set elsewhere, is ascertainable only during
+/// monthiversary processing because, e.g., it may depend on whether
+/// cash value is sufficient to keep a term rider in force.
 
 double AccountValue::CalculateSpecAmtFromStrategy
     (int actual_year
@@ -247,38 +240,32 @@
             }
         case mce_pmt_mep:
             {
-// TODO ?? This assumes that the term rider continues to at least age 95.
-// We ought to have a database flag for that.
             double sa =
-                  InvariantValues().SpecAmt[0]
-                + InvariantValues().TermSpecAmt[0]
+                                      InvariantValues().SpecAmt    [0]
+                + (TermIsDbFor7702A ? InvariantValues().TermSpecAmt[0] : 0.0)
                 ;
             return GetModalPremMaxNonMec(0, a_InitialMode, sa);
             }
         case mce_pmt_glp:
             {
             double sa =
-                  InvariantValues().SpecAmt[0]
-                + InvariantValues().TermSpecAmt[0]
+                                     InvariantValues().SpecAmt    [0]
+                + (TermIsDbFor7702 ? InvariantValues().TermSpecAmt[0] : 0.0)
                 ;
             return GetModalPremGLP(0, a_InitialMode, sa, sa);
             }
         case mce_pmt_gsp:
             {
             double sa =
-                  InvariantValues().SpecAmt[0]
-                + InvariantValues().TermSpecAmt[0]
+                                     InvariantValues().SpecAmt    [0]
+                + (TermIsDbFor7702 ? InvariantValues().TermSpecAmt[0] : 0.0)
                 ;
             return GetModalPremGSP(0, a_InitialMode, sa, sa);
             }
         case mce_pmt_corridor:
             {
-// TODO ?? This assumes that the term rider continues to at least age 95.
-// We ought to have a database flag for that.
 // TODO ?? Shouldn't this be initial specified amount?
-            double sa = ActualSpecAmt;
-// TODO ?? This may be wanted for an 'integrated' term rider.
-//                ,ActualSpecAmt + TermSpecAmt
+            double sa = ActualSpecAmt + (TermIsDbFor7702 ? TermSpecAmt : 0.0);
             return GetModalPremCorridor(0, a_InitialMode, sa);
             }
         case mce_pmt_table:




reply via email to

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