|
Thanks Carel. The DS sounds like a good idea. As far as chaining, I'm not reading the same record six times, I'm reading six different input records to populate six fields in one output record. However, I think my problem is a little less advanced than I had thought. It seems that within the called procedure, I'm opening and closing the file every time, so I reckon I'll change that so it opens once then calls a cleanup routine at the end of my main program to close them. Greg >-----Original Message----- >From: rpg400-l-bounces@xxxxxxxxxxxx >[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Carel Teijgeler >Sent: Tuesday, November 08, 2005 5:11 PM >To: rpg400-l@xxxxxxxxxxxx >Subject: Re: Activation Group Issues ? > > >Greg, > >IMHO, you should not use get- or set-methods (procedures). You >can retrieve the whole record passing an externally defined DS >to the service programme. > >Now you call the same procedure 6 times for one record, using >the same key. I hope your procedure is not chaining to the >record each time; that is another performance hit in this case >(reading the same record 6 times, for what?). > >Regards, >Carel teijgeler > >*********** REPLY SEPARATOR *********** > >On 8-11-05 at 16:47 Fleming, Greg \(ED\) wrote: > >>We're still relatively wet behind the ears with ILE here, but we're >>moving forward with what we've been able to learn, and I think I may >>have run into an activation group issue. >> >>I have an RPG program which uses a procedure in a service program to >>populate fields in the output file based on a key passed to >the >>procedure. >> >>I may use the same procedure several times in a row to populate >>different flags based on various keys, like so: >> >>CallFlag = S_MKIUFD_getVerticalFlag(K#Comp:HLJYNB:HLFQNQ:'CAL'); >>EmailFlag = S_MKIUFD_getVerticalFlag(K#Comp:HLJYNB:HLFQNQ:'EML'); >>FaxFlag = S_MKIUFD_getVerticalFlag(K#Comp:HLJYNB:HLFQNQ:'FAX'); >>HTMLFlag = S_MKIUFD_getVerticalFlag(K#Comp:HLJYNB:HLFQNQ:'HTM'); >>MailFlag = S_MKIUFD_getVerticalFlag(K#Comp:HLJYNB:HLFQNQ:'MAI'); >>RentFlag = S_MKIUFD_getVerticalFlag(K#Comp:HLJYNB:HLFQNQ:'REN'); >> >>The program seems to be running significantly longer than it used to >>before I added this code. >> >>My service program has the Activation group set to *Caller, >and "Shared >>Activation Group" = *No. >> >>I've done some reading on Activation groups in the ILE Reference, but >>it's made my head go wobbly. I'm guessing maybe I should >>update my service program and change the shared activation >group attribute to *Yes. >> >>Or am I totally barking up the wrong tree, and maybe I should >scrap the >>service programs altogether and bind the procedures at >compile time ? >> > > > >-- >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 mailing list archive is Copyright 1997-2025 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.