Comments on: How can I split job by determine no. of records ?http://itknowledgeexchange.techtarget.com/itanswers/how-can-i-split-job-by-determine-no-of-records/
Fri, 09 Dec 2016 16:23:18 +0000hourly1By: 200573http://itknowledgeexchange.techtarget.com/itanswers/how-can-i-split-job-by-determine-no-of-records/#comment-43129
Wed, 15 Feb 2006 09:00:25 +0000#comment-43129Yeah i agree with everyone here.check whether the program is creating this file everyday with new records or, if records exits then just updates the file. check that routine if you haven’t checked it as of now.
]]>By: maverick64http://itknowledgeexchange.techtarget.com/itanswers/how-can-i-split-job-by-determine-no-of-records/#comment-43130
Tue, 14 Feb 2006 10:19:43 +0000#comment-43130I agree with several others that you could be creating a bigger problem rather than speeding anything up. Knowing details about the machine (# of processors, disk, IOPs etc) and what you are trying to accomplish (just trying to speed up one job) as well as what the current program does would be helpful. Also, have you watch the job run and look at the call stack? Many programs can have bad coding from many ends and can speed things up quite a bit. (arrays vs. data structures, chaining for each record rather than at a higher level — indexed as opposed to record by record)
]]>By: jwebb901http://itknowledgeexchange.techtarget.com/itanswers/how-can-i-split-job-by-determine-no-of-records/#comment-43131
Tue, 14 Feb 2006 08:56:01 +0000#comment-43131Don’t bother splitting up your file, you should look elsewhere to solve your problem. 20k records isn’t a big file, so you must have another bottleneck you’re not aware of……
]]>By: hugosarmhttp://itknowledgeexchange.techtarget.com/itanswers/how-can-i-split-job-by-determine-no-of-records/#comment-43132
Tue, 14 Feb 2006 08:30:02 +0000#comment-43132Form my point of view you only need to fix your RPG Program and create a Cl to run it 4 times.

You could be can add a parameter in your RPG with one parameter (parameter gone have a value of time that is run).
‘1’, ‘2’, ‘3’, ‘4’ and include some logic in your program to manage position your relative record in 1, 5000, 10000 or 15000. some thing like this…

*** THIS SENTENCE POS SET UP YOUR FIRST RECORD TO PROCESS
The SETLL operation positions a file at the next record that has a relative record number The file must be a full procedural file (identified by an F in position 18 of the file description specifications).

you can include this instructions in your rutine *STRSR like this only run when RPG start.

***** QS36EVOKE it is a standar jobq that allow to run in batch many jobs at same time.

i hope this can help you…

]]>By: jburellehttp://itknowledgeexchange.techtarget.com/itanswers/how-can-i-split-job-by-determine-no-of-records/#comment-43133
Tue, 14 Feb 2006 07:34:47 +0000#comment-43133Maybe we are looking at this from the wrong angle. Are you looking to speed up your end-of-day job? Are users accessing this file during end-of-day? Does it run interactive or batch? Is there enough memory allocated to the subsystem that runs this job? How big is your machine? 20,000 isn’t a huge file, is it a big record?

Tell us more about the job itself.

]]>By: michlwhttp://itknowledgeexchange.techtarget.com/itanswers/how-can-i-split-job-by-determine-no-of-records/#comment-43134
Tue, 14 Feb 2006 07:00:06 +0000#comment-43134FDateiname+IPEASF…..L…..A.E/AEinh.Schlusselworter++++++++++++++++++++++Bemerkungen+++++++++
***************** Datenanfang *******************************************************************************************
0001.00 finput if e disk recno(rcd#) 060214
0001.01 drcd# s 9p 0 060214
0002.00 /free 060214
0004.00 read input; 060214
0005.00 if %eof(input) or rcd# > 103; 060214
0006.00 *inlr = *on; 060214
0007.00 return; 060214
0008.00 endif; 060214
0008.01 060214
0008.02 060214
0008.03 begsr *inzsr; 060214
0008.04 rcd# = 100; 060214
0008.05 chain rcd# input; 060214
0008.06 endsr; 060214
0009.00 /end-free 060214
******************Datenende *********************************************************************************************
]]>By: jadimahttp://itknowledgeexchange.techtarget.com/itanswers/how-can-i-split-job-by-determine-no-of-records/#comment-43135
Tue, 14 Feb 2006 06:19:24 +0000#comment-43135There are several possibilities :
1) do a cpyf from rcd 1 to 5000 to a file in qtemp, ovrdbf to this qtemp file in your pgm. in next job same but from rcd 5001 to 10000 etc.
2) use OPNQRYF to do the same thing as described above.
3) If your application run that long for only 20000 records, than maybe there is something wrong in the logic, or the process is to hard to perform.
Split the program into modules (ILE) to perform the I/O part and review the logic stream. Maybe you find out why it takes so long.
]]>