`CVTMONEY        CONVERT MONEY                          TAAMBRI`
```
The  Convert  Money  tool  allows  a  CL   program  to  calculate  such
functions as  how much money is  owed each month on  a typical mortgage
calculation.    Use DSPMONEY  for  an interactive  interface.   Several
commands are provided.

CVTMONGROW    How much  will  an  initial  amount grow  to  that  is
invested for a certain number of years?

CVTMONLOAN    What  is  the periodic  payment  amount  if a  certain
amount  is borrowed  for a  specific number  of years?
This is the typical mortgage calculation.

CVTMONPV      What  is  the  present  value  of  money?    You  will
receive an amount  in the future.   What would someone
pay  you today  for the  promise  to receive  the full
amount in the future.

CVTMONLVL     How much money will be  accumulated if you make  level
payments for a certain number of years?

CVTMONANU     How much money  will you need to establish  an annuity
that  will pay  you  a level  income for  a  period of
years?

CVTMONFUND    You  want to accumulate  a certain amount  of money at
a specific date in  the future.  How much do  you need
to invest each period?

CVTMONDIST    You have a  sum of money today and  want to distribute
it   with  fixed  amount  distributions.     How  many

The  DSPMONEY  tool  provides  an  interactive  display  for  the  same
corresponding  functions.    It  also   provides  listings.    CVTMONEY
provides return variables for the important values.

A typical CVTMONGROW command would be:

DCL        RTNAMT *DEC LEN(15 2)
.
CVTMONGROW INLAMT(100000) INTRATE(3.25) RTNAMT(&RTNAMT)

The  defaults for CVTMONGROW  are to  compound interest monthly  for 10
years.  The return amount would be 138,342.22.

Escape messages you can monitor for
-----------------------------------

None.  Escape messages from based on functions will be re-sent.

CVTMONGROW Command parameters                         *CMD
-----------------------------

INLAMT        The initial amount of money to be invested.

INTRATE       The interest  rate to  be earned.   Six  and one  half
percent should be entered as 6.5.

COMPOUND      The  frequency   in   which  the   interest  will   be
compounded.    The  default  is  *MTHLY.    The  other
values  which  may  be  entered  are  *DAILY, *WEEKLY,
*QTRLY, *SEMIAN, and *ANN.

YEARS         The number of years  that the money is to  accumulate.
Only full  years are considered.   The default  is 10.

STRYEAR       The  year  to start.    The  default is  *CUR  for the
current year.

TAXRATE       The  tax  rate  to   be  considered  for  the   earned
interest.   The default  is 0.   Entering  a tax  rate
lets   you  see  the   net  interest   that  is  being
accumulated.

RTNAMT        A   required   return   parameter   for   the   amount
accumulated.   The  return variable  must be  declared
as *DEC LEN(15 2).

CVTMONLOAN Command parameters                         *CMD
-----------------------------

LOANAMT       The amount to be loaned.

INTRATE       The  interest rate to  be charged.   Six and  one half
percent should be entered as 6.5.

YEARS         The  number of  years to repay.   Only  full years are
used.  The default is 10.

STRYEAR       The year to  start.  The  default is *CUR which  means
the current year.

STRMTH        The  month to  start.   The  default is  *CUR for  the
current month.

PAYFREQ       The  payment   frequency.    The  default  is  *MTHLY.
Other  values  which  may   be  entered  are   *BIMTH,
*QTRLY, *SEMIAN, and *ANN.

This amount  does not reduce the  regular payment.  It
allows you to  pay off  the loan earlier  by paying  a
fixed  amount  every   period  (in  addition   to  the
regular  payment) to reduce  the principal.   This has
the  effect of reducing the  number of pay periods and
causing the last  payment to be  less than the  normal
amount.    For example,  if  your  monthly payment  is
312.45,  you can  pay an  additional 100.00  per month
to help  reduce the  principal and  thus  pay off  the
loan earlier.

PAYAMT        The  amount  to  be  paid each  period.    This  is  a
required  return parameter  that must be  specified as
*DEC LEN(15 2).

LSTPAY        The amount to be paid for  the last period.  This  may
be meaningful if  additional principal is  being paid.
This  is an  optional  return parameter  that  must be
specified as *DEC LEN(15 2).

NBRPAY        The   total  number   of  payments.     This   may  be
meaningful  if additional  principal  is  being  paid.
This  is an  optional  return parameter  that must  be
specified as *DEC LEN(7 0).

CVTMONPV Command parameters                           *CMD
---------------------------

AMT           The  amount of money to be received  at the end of the
period.

INTRATE       The interest  rate  to be  used.    Six and  one  half
percent should be entered as 6.5.

COMPOUND      The   frequency  in   which  the   interest  will   be
compounded.    The  default  is  *MTHLY.    The  other
values which  may  be  entered  are  *DAILY,  *WEEKLY,
*QTRLY, *SEMIAN, and *ANN.

YEARS         The  number  of   years  that  the  money  is   to  be
discounted.   Only  full  years are  considered.   The
default is 10.

RTNAMT        The  present value of  the money.   This is a required
return  parameter  that  must  be  specified  as  *DEC
LEN(15 2).

CVTMONLVL Command parameters                          *CMD
----------------------------

LVLAMT        The amount you plan to invest per period.

INTRATE       The  interest rate  to be  earned.   Six and  one half
percent should be entered as 6.5.

LVLFREQ       The  frequency  in  which you  plan  to  invest.   The
default is  *MTHLY.   The other  values  which may  be
entered  are  *QTRLY,  *SEMIAN,   and  *ANN.    It  is
assumed  that the interest  will be  compounded at the

YEARS         The number of years that  the money is to  accumulate.
Only full  years are considered.   The default  is 10.

STRYEAR       The  year  to start.    The default  is  *CUR for  the
current year.

STRMTH        The  month  to start.   The  default  is *CUR  for the
current month.

INLAMT        The initial amount  of money (if  any) to begin  with.
The default is 0 meaning no initial amount.

TAXRATE       The  tax   rate  to  be  considered   for  the  earned
interest.   The  default is  0.   Entering a  tax rate
lets  you  see   the  net   interest  that  is   being
accumulated.

RTNAMT        The   return   amount   of   money   that   has   been
accumulated.    This is  a  required  return parameter
that must be specified as *DEC LEN(15 2).

CVTMONANU Command parameters                          *CMD
----------------------------

AMTRCV        This is  the  amount  you  want  to  receive  at  each
period.

INTRATE       The interest  rate to  be earned.   Six  and one  half
percent should be entered as 6.5.

RCVFREQ       The  frequency in  which you  will receive  the money.
The  default is  *MTHLY.   The other  values which may
be  entered  are  *QTRLY,  *SEMIAN,  and  *ANN.    The
frequency you  receive the money is assumed  to be the
same   as   the  frequency   that   the   interest  is
compounded.

YEARS         The number  of years  that  the money  is to  be  paid
out.   Only full  years are  considered.   The default
is 10.

RTNAMT        The  total amount  of money that  must be  invested to
achieve the  annuity.    This  is  a  required  return
parameter that  must be specified  as *DEC  LEN(15 2).

CVTMONFUND Command parameters                         *CMD
-----------------------------

TOTAMT        The total amount of money to be accumulated.

INTRATE       The  interest rate  to be  earned.   Six and  one half
percent should be entered as 6.5.

YEARS         The  number  of  years  to pay  into  the  fund.   The
default is 10.

STRYEAR       The year  to  start.   The  default  is *CUR  for  the
current year.

STRMTH        The  month to  start.   The  default is  *CUR for  the
current month.

PAYFREQ       The  payment   frequency.    The  default  is  *MTHLY.
Other  values  which  may   be  entered  are   *QTRLY,
*SEMIAN, and *ANN.

TAXRATE       The  tax  rate   to  be  considered  for   the  earned
interest.   The  default is  0.   Entering a  tax rate
lets you  see  the  impact  of  paying  taxes  on  the
earned interest.

PAYAMT        The periodic amount  that must be paid to  achieve the
fund  level.   This  is  a  required return  parameter
that must be specified as *DEC LEN(15 2).

PAYNBR        The  number of  payments from  the fund.   This  is an
optional return  parameter that must  be specified  as
*DEC LEN(7 0).

CVTMONDIST Command parameters                         *CMD
-----------------------------

INLAMT        The  initial  amount  of   money  that  exists  to  be
distributed.

DSTAMT        The  distribution amount for  each period.   This is a
level amount for each period.

INTRATE       The interest  rate to  be earned.   Six  and one  half
percent should be entered as 6.5.

DSTFREQ       The  distribution  frequency.    How  often  will  the
distribution  amount be  distributed.  The  default is
*MTHLY.    Other  values  which  may  be  entered  are
*QTRLY, *SEMIAN, and *ANN.

STRYEAR       The  year to  start.   The  default  is *CUR  for  the
current year.

STRMTH        The  month to  start.   The  default is  *CUR  for the
current month.

TAXRATE       The   tax  rate  to  be   considered  for  the  earned
interest.   The default  is 0.   Entering  a tax  rate
lets  you  see  the  impact  of paying  taxes  on  the
earned  interest.   It is  assumed the  initial amount
is tax free.

PAYNBR        The number of payments that  will be made.  This is  a
required return  parameter that  must be  specified as
*DEC LEN(7 2).

LSTPAY        The amount  of the last payment.   This is an optional
return  parameter  that  must  be  specified  as  *DEC
LEN(15 2).

Restrictions
------------

None.

Prerequisites
-------------

The following TAA Tools must be on your system:

EDTVAR          Edit variable
RSNLSTMSG       Resend last message
RTVDAT          Retrieve date
RTVSYSVAL3      Retrieve system value 3
SNDCOMPMSG      Send completion message
SNDESCINF       Send escape information
SNDESCMSG       Send escape message
SNDSTSMSG       Send status message

Implementation
--------------

None, the tool is ready to use.

Objects used by the tool
------------------------

Object        Type    Attribute      Src member    Src file
------        ----    ---------      ----------    ----------

CVTMONGROW    *CMD                   TAAMONB       QATTCMD
CVTMONLOAN    *CMD                   TAAMONB2      QATTCMD
CVTMONPV      *CMD                   TAAMONB3      QATTCMD
CVTMONLVL     *CMD                   TAAMONB4      QATTCMD
CVTMONANU     *CMD                   TAAMONB5      QATTCMD
CVTMONFUND    *CMD                   TAAMONB6      QATTCMD
CVTMONDIST    *CMD                   TAAMONB7      QATTCMD
TAAMONBC      *PGM       CLP         TAAMONBC      QATTCL
TAAMONBC2     *PGM       CLP         TAAMONBC2     QATTCL
TAAMONBC3     *PGM       CLP         TAAMONBC3     QATTCL
TAAMONBC4     *PGM       CLP         TAAMONBC4     QATTCL
TAAMONBC5     *PGM       CLP         TAAMONBC5     QATTCL
TAAMONBC6     *PGM       CLP         TAAMONBC6     QATTCL
TAAMONBC7     *PGM       CLP         TAAMONBC7     QATTCL
TAAMONBR      *PGM       RPG         TAAMONBR      QATTRPG
TAAMONBR2     *PGM       RPG         TAAMONBR2     QATTRPG
TAAMONBR3     *PGM       RPG         TAAMONBR3     QATTRPG
TAAMONBR4     *PGM       RPG         TAAMONBR4     QATTRPG
TAAMONBR5     *PGM       RPG         TAAMONBR5     QATTRPG
TAAMONBR6     *PGM       RPG         TAAMONBR6     QATTRPG
TAAMONBR7     *PGM       RPG         TAAMONBR7     QATTRPG

Structure
---------

CVTMONGROW Cmd
TAAMONBC   CL
TAAMONBR   RPG

CVTMONLOAN  Cmd
TAAMONBC2  CL
TAAMONBR2  RPG

CVTMONPV   Cmd
TAAMONBC3  CL
TAAMONBR3  RPG

CVTMONLVL   Cmd
TAAMONBC4  CL
TAAMONBR4  RPG

CVTMONANU   Cmd
TAAMONBC5  CL
TAAMONBR5  RPG

CVTMONFUND Cmd
TAAMONBC6  CL
TAAMONBR6  RPG

CVTMONDIST  Cmd
TAAMONBC7  CL
TAAMONBR7  RPG
```

Added to TAA Productivity tools October 15, 2013