|
If you are reading through all records in a file, you are probably already specifying BLOCK(*YES) on the f-spec (this usually happens by default, IIRC). But you might also override the file to increase the block size. I usually issue the override as follows: OVRDBF FILE(LMEMBR4) SEQONLY(*YES 5957) I base the number of records using the following formula: (128000/RecLength) This fills up the 128K buffer with records on each read, rather than sticking to the default buffer size (4K? 8K?). This will help if the job is running in a subsystem that has adequate memory, and few enough jobs so that there are minimum page faults in the pool. On Tue, 1 Mar 2005 15:49:18 +0530, Dwarakanath, Srikanth (Cognizant) <Srikanth.Dwarakanath@xxxxxxxxxxxxx> wrote: > I have following scenario. > > Control program reads through a control file (control file has list of > transactions to be processed) and calls programs as below: > CREATE_TRAN_INFO -> this program writes record in CREATE_TRAN_INFO phy. file > per transaction > CREATE_CASH_INFO -> this program writes record in CREATE_CASH_INFO phy. file > per transaction > CREATE_COLLAERAL_INFO -> this program writes record in CREATE_COLLAERAL_INFO > phy. file per transaction > (Lets call these as work programs) > If all work programs run successfully, control program flags transaction as > processed and commits. > > This is taking about 20 min. to process around 40,000 transactions. I need to > reduce this by 40% to meet SLA specified. Can I get some ideas on how best > can this be achieved. > > I could think of creating IN and OUT data queues for each work program. Take > them out (from inline call) to a separate job that runs in batch. Control > program feeds these programs through IN data queue and picks the processed > part from OUT and also writes to the respective phy. file. > I am of the opinion that there would be too many dynamic calls to QSNDDTAQ > and QRCVDTAQ, not sure if the objective would be achieved. > Just for note, all work programs can run independently at the same time. > > Any help is greatly appreciated. > > Best rgds., > Srikanth D > > > -- > 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. > > > > -- "Enter any 11-digit prime number to continue..."
As an Amazon Associate we earn from qualifying purchases.
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.