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



Scott,

Yeah, sometimes these vertical files do seem to be a blessing and a
curse.  

And I've actually simplified things a little for the sake of discussion.
We actually have two different vertical files here, fetching a dozen
values from each of them.  Since we are a Business to Business shop, our
customers are businesses, and each business may have several individuals
who place orders with us, as well as several ship to locations, so the
main program is actually populating three output files; the Customer
(business) file, the individual file, and the ship to location file.
There is a vertical file built into our third party O/E application for
the Customers, and we've built our own to append some information at the
individual level.

Anyhow, there are a million three hundred thousand or so customers, and
I think we average one and a half to two individuals per location, so
there's even more individuals.

I think what I'm going to do is keep my service program out there for
the reports and screens that need to grab a quick piece of info, but
change the data warehouse program to just setLL by the customer and read
through all the values, populating the fields as I go.  I think that
will be faster than chains.  Sometimes simple is better.  

I'll keep an eye out for your article. I hope it'll have a nifty title
like "Activation groups for dummies".  Where is it being published ?  I
get the feeling AG's are just another one of those things that will turn
out to be fairly simple once I "get the picture".  

Thanks

Greg

>-----Original Message-----
>From: rpg400-l-bounces@xxxxxxxxxxxx 
>[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Scott Klement
>Sent: Wednesday, November 09, 2005 3:15 AM
>To: RPG programming on the AS400 / iSeries
>Subject: RE: Activation Group Issues ?
>
>
>
>> Thanks.  You hit the nail on the had, as I mentioned to 
>Carel.  Turns 
>> out I was opening and closing the file every time.
>
>Yeah, sorry... I read your message to Carel only after I had already 
>replied.
>
>> only suspected activation groups because they are the bit I 
>understand 
>> least, and which as I mentioned, my reading to date has left 
>me a bit 
>> confused, but I will dig in and try some more.  Hence the question 
>> mark in the subject line.  Perhaps a more overt subject line would 
>> have been "could this possibly be an activation group issue?"
>
>Actually, as luck would have it I'm writing an article about 
>activation 
>groups as we speak.
>
>I understood that you weren't sure if it was an activation 
>group issue or 
>not, but in the body of your message you were talking about giving up 
>service programs, and you didn't seem to be considering any other 
>possibilities.
>
>I guess I was wondering how you jumped to the conclusion that 
>the actgrp 
>was the problem in the first place, it didn't make sense to me to even 
>suspect it.  Sorry if I pushed that a little too far.
>
>> The subproc just does a chain using the imput parms to fetch 
>a value, 
>> and if it doesn't find it in file1, it goes to another file to fetch 
>> the default value.  The info is just appended demographic type info 
>> for our customer file, like employee size or whether it's a female 
>> owned business, or whether they can accept HTML emails, or whether 
>> they allow us to rent their address to business partners, 
>etc.  It's a 
>> vertical file appended to the customer file in our third party 
>> order/entry package, so we can add new "fields" by making up a new 
>> code to identify the new information.
>
>That's probably a big part of the performance problem, as 
>well.  Now you 
>have to do a non-sequential database look up for every single field of 
>every single customer.  Vertical files may be flexible, but 
>they're awful 
>for performance.
>
>In this case, I really doubt that passing a DS would help much if you 
>still have to do 6 different CHAIN operations. The disk 
>operations will be 
>your biggest bottleneck.
>
>( If you change the file to be, uhh, less vertical, then 
>passing a data 
>structure might help performance at the expense of flexibility. )
>
>Is the file small enough that you could load all of the fields into an 
>array or even a dynamic memory allocation, and perform your lookups in 
>that?  I suspect that this would improve performance without 
>you needing 
>to change the service program's interface.
>-- 
>This is the RPG programming on the AS400 / iSeries (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.
>
>


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.