|
|
| Author |
Message |
vidyaa
New User
Joined: 02 May 2008 Posts: 36 Location: chennai
|
|
|
|
I've created a rexx routine to format an input file and the input file have 300,000 records so make not able to excute all at once
if so it gives me error message as "Machine storage exceeded"
So I split it into 50,000 records each and trying to format it, but this takes me lot of time to save more than half an hour and even more to complete
is there any way that I can make it faster. |
|
| Back to top |
|
 |
References
|
Posted: Thu Jul 24, 2008 5:15 pm Post subject: Re: To execute REXX faster |
 |
|
|
 |
Craq Giegerich
Senior Member
Joined: 19 May 2007 Posts: 970 Location: Virginia, USA
|
|
|
|
| Use something other than REXX. |
|
| Back to top |
|
 |
vidyaa
New User
Joined: 02 May 2008 Posts: 36 Location: chennai
|
|
|
|
but i have created the REXX for this will not be able to change now.
so any other possibility in REXX? |
|
| Back to top |
|
 |
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 2955 Location: Brussels once more ...
|
|
|
|
What do you mean reformat the input file ?
Just selecting various fields from the file ? Please give more details. |
|
| Back to top |
|
 |
vidyaa
New User
Joined: 02 May 2008 Posts: 36 Location: chennai
|
|
|
|
i will have a copybook
A PIC x(10)
B PIC X(5)
my inout file will be
123%rf%
1234%refgg%
so i need to format this input file for the length specified in the copybook
and the output will be like
123 rf
1234 refgg
i did the rexx for this and its working fine my concerns is if i give more than 50000 records and try executing it online its taking more than a hour so is there any way to execute this fast |
|
| Back to top |
|
 |
PeD
Active User
Joined: 26 Nov 2005 Posts: 268 Location: Belgium
|
|
|
|
| Rexx is not very good for I/O,- I mean is very bad - but in any case execute that program in batch mode, execept you want to drink coffees and coffees in front of your SYSTEM screen. |
|
| Back to top |
|
 |
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 2955 Location: Brussels once more ...
|
|
|
|
| PeD wrote: |
| execept you want to drink coffees and coffees in front of your SYSTEM screen. |
Yes, batch is another option.
Hey Pierre, c'est que tu fais tous les temps ? moi aussi  |
|
| Back to top |
|
 |
PeD
Active User
Joined: 26 Nov 2005 Posts: 268 Location: Belgium
|
|
|
|
No Martin.
Coffee machine is out of order !! and no more biscuits !!!!
Where are you? |
|
| Back to top |
|
 |
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 2955 Location: Brussels once more ...
|
|
|
|
| PeD, have messaged you offline. |
|
| Back to top |
|
 |
Robert Sample
Senior Member
Joined: 06 Jun 2008 Posts: 354 Location: Atlanta, GA
|
|
|
|
| vidyaa, I think the consensus is that if you're concerned about performance, REXX is not the way to go. If you're forced to stick with REXX, be prepared to wait for the processing to complete. |
|
| Back to top |
|
 |
dbzTHEdinosauer
Senior Member
Joined: 20 Oct 2006 Posts: 1388 Location: germany
|
|
|
|
if rexx is your only media,
swap the execio logic for allocate, get, put, (or whatever the read is) etc..... |
|
| Back to top |
|
 |
dbzTHEdinosauer
Senior Member
Joined: 20 Oct 2006 Posts: 1388 Location: germany
|
|
|
|
you want a process that is not restricted to file size.
So, read them one at a time,
the execio when you start reading mannnny records
(like this silliness that you have)
ends up spending a lot of time finding memory to hog from other services.
With the allocate you can control how much 'buffer' is being used. |
|
| Back to top |
|
 |
superk
Moderator Team Head
Joined: 26 Apr 2004 Posts: 3096 Location: Charlotte,NC USA
|
|
|
|
| I'm curious, does anyone know? Would the file I/O times be better if you were to use the ISPF LMGET/LMPUT services instead of EXECIO? |
|
| Back to top |
|
 |
vidyaa
New User
Joined: 02 May 2008 Posts: 36 Location: chennai
|
|
|
|
Can any one please tell me how to execute this in the batch mode. i have 2 macro involved in the REXX
am using the below JCL but that gives me some abend like S322
| Code: |
//REXXRUN JOB (8200,4190),'REXXJCL',
// NOTIFY=&SYSUID,MSGCLASS=J,CLASS=A
//TSOBATCH EXEC PGM=IKJEFT01,DYNAMNBR=200
//SYSEXEC DD DSN=NE0123.REXX.EXEC,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
PROFILE PREFIX(NE0123)
%FORMAT2
|
|
|
| Back to top |
|
 |
HappySrinu
Active User
Joined: 22 Jan 2008 Posts: 176 Location: India
|
|
|
|
might help..
Add, Region, Time parms in your job card
just from quick reference...
322
Explanation: One of the following occurred:
o The system took a longer time to run a job, job step, or procedure
than the time specified in one of the following:
- The TIME parameter of the EXEC or JOB statement
- The standard time limit specified in the job entry subsystem
o For a started task under the master subsystem, the TIME parameter was
not specified on the PROC statement of the catalogued procedure, and
the PPT entry did not indicate a system task |
|
| Back to top |
|
 |
|
|