Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

To execute REXX faster
Goto page 1, 2  Next
 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX
View previous topic :: :: View next topic  
Author Message
vidyaa

New User


Joined: 02 May 2008
Posts: 70
Location: chennai

PostPosted: Thu Jul 24, 2008 5:15 pm    Post subject: To execute REXX faster
Reply with quote

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
View user's profile Send private message

Craq Giegerich

Senior Member


Joined: 19 May 2007
Posts: 1512
Location: Virginia, USA

PostPosted: Thu Jul 24, 2008 5:17 pm    Post subject:
Reply with quote

Use something other than REXX.
Back to top
View user's profile Send private message
vidyaa

New User


Joined: 02 May 2008
Posts: 70
Location: chennai

PostPosted: Thu Jul 24, 2008 5:20 pm    Post subject:
Reply with quote

but i have created the REXX for this will not be able to change now.

so any other possibility in REXX?
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8593
Location: Back in jolly old England

PostPosted: Thu Jul 24, 2008 5:32 pm    Post subject:
Reply with quote

What do you mean reformat the input file ?
Just selecting various fields from the file ? Please give more details.
Back to top
View user's profile Send private message
vidyaa

New User


Joined: 02 May 2008
Posts: 70
Location: chennai

PostPosted: Thu Jul 24, 2008 5:48 pm    Post subject:
Reply with quote

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
View user's profile Send private message
PeD

Active User


Joined: 26 Nov 2005
Posts: 456
Location: Belgium

PostPosted: Thu Jul 24, 2008 5:52 pm    Post subject:
Reply with quote

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
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8593
Location: Back in jolly old England

PostPosted: Thu Jul 24, 2008 6:06 pm    Post subject:
Reply with quote

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 icon_biggrin.gif
Back to top
View user's profile Send private message
PeD

Active User


Joined: 26 Nov 2005
Posts: 456
Location: Belgium

PostPosted: Thu Jul 24, 2008 6:19 pm    Post subject:
Reply with quote

No Martin.

Coffee machine is out of order !! and no more biscuits !!!!

Where are you?
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8593
Location: Back in jolly old England

PostPosted: Thu Jul 24, 2008 6:31 pm    Post subject:
Reply with quote

PeD, have messaged you offline.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7913
Location: Bellevue, IA

PostPosted: Thu Jul 24, 2008 6:33 pm    Post subject:
Reply with quote

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
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Jul 25, 2008 4:24 am    Post subject: Reply to: To execute REXX faster
Reply with quote

if rexx is your only media,
swap the execio logic for allocate, get, put, (or whatever the read is) etc.....
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Fri Jul 25, 2008 4:30 am    Post subject:
Reply with quote

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
View user's profile Send private message
superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 4648
Location: Raleigh, NC, USA

PostPosted: Fri Jul 25, 2008 8:25 am    Post subject: Reply to: To execute REXX faster
Reply with quote

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
View user's profile Send private message
vidyaa

New User


Joined: 02 May 2008
Posts: 70
Location: chennai

PostPosted: Fri Jul 25, 2008 12:00 pm    Post subject:
Reply with quote

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
View user's profile Send private message
HappySrinu

Active User


Joined: 22 Jan 2008
Posts: 195
Location: India

PostPosted: Fri Jul 25, 2008 12:10 pm    Post subject: Reply to: To execute REXX faster
Reply with quote

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
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8593
Location: Back in jolly old England

PostPosted: Fri Jul 25, 2008 12:19 pm    Post subject:
Reply with quote

I would speak to your peers and see which job classes allow more CPU resource.

And if possible - perform some check to verify that the step is not looping before attempting to add TIME parameters in the JCL.
Back to top
View user's profile Send private message
vidyaa

New User


Joined: 02 May 2008
Posts: 70
Location: chennai

PostPosted: Fri Jul 25, 2008 12:21 pm    Post subject:
Reply with quote

yes ..let me try that
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 990
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Fri Jul 25, 2008 1:14 pm    Post subject:
Reply with quote

Just spotted this thread....

Curious - the files looks to me like a .CSV type file, delimited by percent signs?

DFSORT using PARSE and JFY might be the way to go....

https://www-304.ibm.com/systems/support/storage/software/sort/mvs/tricks/pdf/sorttrck.pdf

Garry.
Back to top
View user's profile Send private message
vidyaa

New User


Joined: 02 May 2008
Posts: 70
Location: chennai

PostPosted: Fri Jul 25, 2008 2:11 pm    Post subject:
Reply with quote

yes the input is delimted by % . am parsing those variables read the copybook to find the length of the varibale and if the length is same as specified in the copybook then writing it as it is else pad the difference in the length of the field and the copybook and fill it the remaining length with spaces and write to the output file.

my concerns is this runs fine online when i try with 50 to 100 records but am not able to run the same for 50,000 recordds and more. i tried with both online and batch it is taking hours and hours so wanted to make it fast
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 990
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Fri Jul 25, 2008 2:37 pm    Post subject:
Reply with quote

Try the following DFSORT batch job, I believe it will do what you want much more efficiently than REXX, and it's probably easier to maintain.

I assumed padding on the right for both fields (JUSTIFY=LEFT). You could alternatively specify JUSTIFY=RIGHT

Code:
//STEP01   EXEC PGM=ICEMAN                                 
//SYSOUT   DD SYSOUT=*                                     
//SORTIN   DD *                                           
123%rf%                                                   
1234%refgg%                                               
//SORTOUT  DD SYSOUT=*                                     
//SYSIN    DD *                                           
*                                                         
 OPTION COPY                                               
 INREC PARSE=(%01=(ENDBEFR=C'%',FIXLEN=10),               
              %02=(ENDBEFR=C'%',FIXLEN=5)),               
       BUILD=(%01,JFY=(SHIFT=LEFT),                       
              %02,JFY=(SHIFT=LEFT))                       
*                                                         


Regards,
Garry.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX All times are GMT + 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts What is the command to check MODE of ... rohanthengal CLIST & REXX 6 Fri Nov 18, 2016 1:48 pm
This topic is locked: you cannot edit posts or make replies. Rexx to create GDG by scanning JJ result krish.deepu CLIST & REXX 5 Tue Oct 25, 2016 5:32 pm
No new posts Replace repeated JCL with looping REXX prino CLIST & REXX 3 Thu Oct 13, 2016 5:30 am
This topic is locked: you cannot edit posts or make replies. Need to code a Rexx PGM sundaram.naveen CLIST & REXX 18 Thu Oct 06, 2016 6:45 pm
No new posts Need Rexx Program to Load in to DB2 T... Hareesh Verma CLIST & REXX 22 Tue Sep 20, 2016 2:59 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us