× 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.



Again, SORT to the rescue. If you define the array over a data structure,
each element of which has both fields. then you can sort the array
descending once by the first field (cost),
and elements 1 - 10 will have the 10 top costs. Then sort the array a
second time by the quantity descending, and elements 1-10 will have the 10 top
quantities.

Which leads to a revision in my previous min/max strategy. Sort the array
ascending, and element 1 will be the min. Sort the array descending, and
element 1 will be the max. You just need to make sure you specify number of
elements in the %SORTA BIF so you don't erroneously get 0 as the max if all
the values are negative or 0 as the min if all the values are positive.


In a message dated 4/24/2009 1:18:46 A.M. Jerusalem Daylight Time,
shc@xxxxxxxxxxxxxxxxx writes:


On 24/04/2009, at 2:16 AM, Loyd Goodbar wrote:

For a report I'm developing, I need to track the top ten quantity
and cost
for a department, as well as for the entire report. I have two
identical-in-kind arrays, but I have to process each of them twice
(once for
cost, again for quantity). Since the arrays are defined identically,
I want
to halve the code: process cost or process quantity, regardless of
which
array it is. I feel like there is a solution involving basing the
arrays on
a pointer but haven't wrapped my head around it.

For your immediate question you'll need a third array. This will have
an identical layout to the existing arrays but be BASED on a pointer.
Load the data arrays as normal (you still need somewhere to hold the
data) and then set the basing pointer to the %ADDR of the array you
actually intend to process. Your code only refers to the based array.

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------



--
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.



**************Access 350+ FREE radio stations anytime from anywhere on the
web. Get the Radio Toolbar!
(http://toolbar.aol.com/aolradio/download.html?ncid=emlcntusdown00000003)

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.