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
 

 

Compile JCL for REXX program

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX
View previous topic :: :: View next topic  
Author Message
bommerasrikanth

New User


Joined: 28 Nov 2005
Posts: 4

PostPosted: Mon Nov 28, 2005 8:33 pm    Post subject: Compile JCL for REXX program
Reply with quote

Dear All,

I need a JCL a to compile a REXX program which gives me Load module. I have to run that load module of REXX program in a Batch JCL.

ISPF Primary Menu > 4 > 14 option provides Compile facility for REXX program. It is working fine, But this is a foreground option. When iam trying to use the same functionality in Batch (ISPF menu > 5 > 14) option, its not working.

Can any one help me in this regard.

Thanks
Srikanth
Back to top
View user's profile Send private message

John_Deal

New User


Joined: 28 Nov 2005
Posts: 4
Location: Montgomery, AL, USA

PostPosted: Mon Nov 28, 2005 11:46 pm    Post subject:
Reply with quote

Why go to the trouble of compiling the REXX? Most people just use PGM=IKJEFT01 to execute the REXX... icon_smile.gif
icon_cool.gif
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Wed Nov 30, 2005 2:16 pm    Post subject:
Reply with quote

Try to visit this link:
http://ibmmainframes.com/viewtopic.php?t=6527
Mr John, I suppose that everyone have a reason to compile a rexx program: i.e. protect the source code, improve performances.
I suppose that the right thing is how many people know that rexx may be compiled?
Back to top
View user's profile Send private message
bommerasrikanth

New User


Joined: 28 Nov 2005
Posts: 4

PostPosted: Fri Dec 02, 2005 12:29 pm    Post subject:
Reply with quote

Hi MGIndaco,

Thanks, Compile JCL is working fine. But when iam trying to execute this rexx load module using PGM=IKJEFT1B in batch JCL, job is failing with MAX-RC=12.

The error message shown in SYSTSPRT of job is "Record format of exec load data set is not valid. RECFM must be fixed or variable, and spanned or track overflow records are not supported."

This problem may be due to the Record format of the Target PDS (LINKLIB). I think its not possible to execute Unformatted REXX load mudule using PGM=IKJEFT1B in batch JCL.

But while compile the rexx program i have given Target PDS (LINKLIB) record format as FB with length 80. After the compile job execution the Target PDS format was changed to 'U' (Unformatted).

Could you please tell me what was the problem.

Regards,
Srikanth.
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Wed Dec 07, 2005 11:07 pm    Post subject:
Reply with quote

Don't worry!
If you use compiled rexx you can avoid the sysexec(that allow only FB or VB)!
Try using the STEPLIB!
If you does not use tso command or external function within your source you can run your program without the IKJ* using instead PGM=MYREXX

If you have some problem I'm sure that we will find a solution.
Back to top
View user's profile Send private message
bommerasrikanth

New User


Joined: 28 Nov 2005
Posts: 4

PostPosted: Mon Dec 12, 2005 12:02 pm    Post subject:
Reply with quote

Hi MGIndaco,

I tried to execute a simple compiled rexx using STEPLIB and PGM=MYREXX. Its working fine. But when iam trying run same compiled rexx using STEPLIB and PGM=IKJEFT1B, iam getting 'COMMAND MYREXX NOT FOUND' message in sysout.

Plz help me bcaz i have to make use of IKJ*, Since i have some rexx codes which uses tso commands.

Thanks,
Srikanth
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Tue Dec 13, 2005 2:06 am    Post subject:
Reply with quote

mmm... usually a COMMAND NOT FOUND means that your module, compiled or not is not present both in STEPLIB and SYSEXEC.
I mean: there are some difference between IKJ* but this error reflect other problem.

Are you sure that your module is in the correct library?

If I'm wrong I'm really sorry.
Back to top
View user's profile Send private message
bommerasrikanth

New User


Joined: 28 Nov 2005
Posts: 4

PostPosted: Tue Dec 13, 2005 11:34 am    Post subject: Re: Compile JCL for REXX program
Reply with quote

MGIndaco,

Thanks a lot for your quick reply.

Yes, i double checked the Job. I have given the correct concatenation to STEPLIB. My rexx compiled module is present in the library which i have concertinaed ot STEPLIB.

Regards,
Srikanth.

-----------MY JCL------------------

//REXXJCL JOB (X,XXX,XXXX),
// 'REXX SENMAIL ',CLASS=I,
// MSGCLASS=T,NOTIFY=&SYSUID,
// TIME=1
/*JOBPARM LINES=999999,PAGES=999999
//*
//*-------------------------------*
//* BATCH JCL TO SUMBIT REXX TOOL
//*-------------------------------*
//*
//RUNREXX EXEC PGM=IKJEFT1B,DYNAMNBR=30
//STEPLIB DD DSN=XXX.XXXXX.REXXCOMP,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//RPTFILE DD SYSOUT=*
//SYSTSIN DD *
%TINFO
/*

Here:
TINFO ---- my rexx tool
XXX.XXXX.REXXCOMP --- PDS library where my load is present.

Message in SYSTSPRT:
READY
%TINFO
COMMAND TINFO NOT FOUND
Back to top
View user's profile Send private message
nikyns

New User


Joined: 24 Aug 2005
Posts: 1
Location: Bangalore

PostPosted: Tue Dec 13, 2005 12:40 pm    Post subject: Re: Compile JCL for REXX program
Reply with quote

I guess STEPLIB is only for the programs that are coded in "PGM=". To find TINFO it should have a SYSEXEC pointing to the right DSN.
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Tue Dec 13, 2005 7:07 pm    Post subject:
Reply with quote

Try to use this method:

Code:
//REXXJCL JOB (X,TTT,XXXX),
// 'REXX SENMAIL ',CLASS=I,
// MSGCLASS=T,NOTIFY=&SYSUID,
// TIME=1
/*JOBPARM LINES=999999,PAGES=999999
//*
//*-------------------------------*
//* BATCH JCL TO SUMBIT REXX TOOL
//*-------------------------------*
//*
//RUNREXX  EXEC PGM=IKJEFT1B,DYNAMNBR=30,PARM=TINFO
//STEPLIB  DD DSN=TTT.XXXXX.REXXCOMP,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//RPTFILE  DD SYSOUT=*
//SYSTSIN  DD DUMMY
/*

SYSTSIN is valid to have a tso batch environment or to pass input parameter to a Rexx exec that is "usually" called from PARM.

I hope in this suggest.
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Thu Dec 15, 2005 7:36 pm    Post subject:
Reply with quote

This is from the TSO/E Command Reference so, it's clear why your command is not found. Using the percent symbol you use the Extended Implicit Form that will search for your command only in procedure library.

Quote:
EXEC Command
Use the EXEC command to execute a CLIST or REXX exec.
You can specify the EXEC command or the EXEC subcommand of EDIT and TEST
in three ways:
Explicit form: Enter EXEC or EX followed by the name of the data set that
contains the CLIST or REXX exec. If you need prompting you should invoke
EXEC explicitly with the PROMPT option.
Implicit form: Do not enter EXEC or EX; enter only the name of the member
to be found in a procedure library such as SYSEXEC or SYSPROC. A
procedure library consists of partitioned data sets allocated to the specific file
(SYSPROC or SYSEXEC) either dynamically by the ALLOCATE command or
as part of the LOGON procedure. TSO/E determines if the member name is a
system command before it searches the libraries.
Extended implicit form: Enter a percent sign followed by the member name.
TSO/E only searches the procedure library for the specified name. This form is
faster because the system doesn't search for commands.
Some of the commands in a CLIST might have symbolic variables for operands.
When you specify the EXEC command, you can supply actual values for the
system to use in place of the symbolic variables. In addition, when you invoke a
REXX exec you can pass arguments on the EXEC command. Specify the
arguments in single quotes.


I hope in this suggest.
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
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Executing OO COBOL program invoking J... Virendra Shambharkar COBOL Programming 2 Tue Jan 10, 2017 6:37 pm
No new posts OO COBOL compile error Virendra Shambharkar COBOL Programming 3 Tue Jan 10, 2017 6:05 pm
No new posts Need Suggestion on COBOL program vickey_dw COBOL Programming 5 Thu Jan 05, 2017 10:55 pm
This topic is locked: you cannot edit posts or make replies. Calling REXX code from ISPF panel sanchita dey TSO/ISPF 4 Mon Jan 02, 2017 5:13 pm
No new posts REXX DB2: Dynamic allocation of DB2.D... BHAS CLIST & REXX 3 Mon Dec 19, 2016 8:26 pm


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