Dave, whenever you use RPG math expressions that create intermediate results, it's really good to review Scott Klement's outstanding explanation of the "Maximum digits rule". You'll find that in the archives... Use Google to search for:

midrange.com klement Maximum Digits rule

(Thanks Scott!)
-- Michael

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Dave
Sent: Thursday, April 12, 2012 6:56 AM
To: RPG programming on the IBM i / System i
Subject: RPG math

Hi all,

I recently asked how to access an EXCEL formula from an RPG program but here I am now having to reproduce the EXCEL PMT function in RPG.
Maybe someone has already done this?
Anyway, I've been given a formula to code and an EXCEL spreadsheet to control my results.

Which I've coded like this :

MonthlyRate = interestRate /12;
     MonthlyPayment = ( LoanAmount / MonthlyRate ) *  ( 1 - ( 1 + MonthlyRate ) ** ( -1  * numberOfPayments ));

LoanRemaining =
12 * MonthlyPayment *
1 - ( 1 + MonthlyRate ) ** ( -1 * numberOfPayments - numberOfPaymentsMade ) /interestRate ;

My fields are defined so (imposed) :

LoanAmount, MonthlyPayment, LoanRemaining 13S2 numberOfPayments, numberOfPaymentsMade 3 I 0

I've very little experience with RPG math and I'm worried about errors from intermediate calculations How should I define the rates MonthlyRate and interestRate so I don't get any loss of information after the divisions?

This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].