× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



How are you wanting to incorporate your formula?  Via SQL or an IF clause?

Apart from the maths error that others have pointed out, you're not using
the YEAR value in your formula which you would need to use for the selection
to work correctly when you go back past period one.

Making the assumptions that you have two values "EndYr" and "EndPd" you
could use either of the following:

a) Using SQL

  SELECT * FROM file
   WHERE (EndPd = 12 AND Year = EndYr)
      OR (EndPd <> 12 AND ((Year = EndYr AND 
                                Period Between 1 AND EndPd) OR
                               (Year = EndYr - 1 AND 
                                Period >= EndPd + 1)))

b) Using RPG

C                   IF        (EndPd = 12 and Year = EndYr) OR    
C                             (EndPd <> 12 and ((Year = EndYr and 
C                             ((Period >= 1 and Period <= EndPd) or
C                             (Year = EndYr - 1 and               
C                               Period >= EndPd + 1)))))          

Hope it helps

All the best

Jonathan

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Mike Wills
Sent: 04 January 2006 23:32
To: RPG programming on the AS400 / iSeries
Subject: Formula Question

Okay, this may be a difficult one. I have a simple table layout like this.

Company (4,0)
Year(4,0)
Period(2,0)
Amount(15,2)

I want to be able to take an ending period and determine 12 months back from
the ending date and select records in the DB via a select statement. We are
really close with the following formula: ( ( ( (period-12) / (period-12) ) *
12 ) - 11 )+period. A co-worker of mine got this far. If it wasn't for the
whole divide by zero bit as this portion ( (period-12)/(period-12) ) would
for period 12, it would work great. Short of a case statement is there a
better way to handle divide by zero? Or is the a better formula that we
aren't seeing?

--
Mike Wills
koldark@xxxxxxxxx
http://mikewills.name
Want Gmail? Email koldark+gmail@xxxxxxxxx to get on my waiting list.

"There are 10 types of people in the world: those who understand binary, and
those who don't." -Unknown

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2024 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].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.