View previous topic :: View next topic |
Author |
Message |
edkir98 Beginner
Joined: 27 Aug 2007 Posts: 102 Topics: 42 Location: Chennai
|
Posted: Tue May 12, 2009 12:33 pm Post subject: CLIST and REXX Tools |
|
|
i've written some REXX utilities in my previous organization and was using it. We had a <USERNAME>.CLIST library and a member called initial. Whenever i logged in into mainframe, this "initial" member would execute first and i would allocate the datasets where i had my REXX code.
So this was how i was using it. I had a member called 'bdelete' to do a bulk delete, which i would call by saying "TSO BDELETE", this rexx member would be executed.
Now in my new organization i dont have a CLIST. I want to use those REXX tools, can someone give me a idea about where else can i put my REXX members and execute them.
I tried creating a PDS called <USERNAME>.CLIST and i created a member called initial. But its not executing when i start up. Can anyone help.
Hope i made it clear. _________________ Thanks |
|
Back to top |
|
|
superk Advanced
Joined: 19 Dec 2002 Posts: 684 Topics: 5
|
Posted: Tue May 12, 2009 12:36 pm Post subject: |
|
|
Well, every site is unique. What do your site's standards require? What do your Sysprog's have to say? |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12369 Topics: 75 Location: San Jose
|
Posted: Tue May 12, 2009 1:15 pm Post subject: Re: CLIST and REXX Tools |
|
|
edkir98 wrote: | I tried creating a PDS called <USERNAME>.CLIST and i created a member called initial. But its not executing when i start up. Can anyone help. Hope i made it clear. |
what are the contents of the member initial?
Kolusu |
|
Back to top |
|
|
edkir98 Beginner
Joined: 27 Aug 2007 Posts: 102 Topics: 42 Location: Chennai
|
Posted: Tue May 12, 2009 1:18 pm Post subject: |
|
|
honestly i've never had a chance to speak to any of them.. is there a place/command where i can get some parameters so that i quote that for you here in the forum to analyse on what could be done? _________________ Thanks |
|
Back to top |
|
|
edkir98 Beginner
Joined: 27 Aug 2007 Posts: 102 Topics: 42 Location: Chennai
|
Posted: Tue May 12, 2009 1:21 pm Post subject: Re |
|
|
hi Kolusu,
This is the content of the CLIST we used in my previous site
Code: | /*REXX*/
" ALLOCATE F(SYSEXEC1) DSN('T.INDIA.REXX') SHR REUS "
" ALLOCATE F(SYSEXEC2) DSN('T.INDIA2.REXX') SHR REUS "
" ALLOCATE F(SYSEXEC3) DSN('T.INDIA.REXX.BACKUP') SHR REUS "
" ALLOCATE F(SYSEXEC4) DSN('T.AUTO.REXX') SHR REUS "
" ALLOCATE F(SYSPROC1) DSN('T.INDIA.CLIST') SHR REUS "
" ALLOCATE F(SYSPROC2) DSN('T.INDIA.CLIST') SHR REUS "
" ALLOCATE F(ISPPLIB1) DSN('T.INDIA.ISPPLIB') SHR REUS "
" ALLOCATE F(ISPPLIB2) DSN('T.INDIA.PANEL') SHR REUS "
" ALLOCATE F(ISPPLIB3) DSN('T.AUTO.PANEL') SHR REUS "
" ALLOCATE F(ISPMLIB1) DSN('T.INDIA.ISPMLIB') SHR REUS "
" ALLOCATE F(ISPMLIB2) DSN('T.INDIA.MESSAGE') SHR REUS "
" ALLOCATE F(ISPMLIB3) DSN('T.AUTO.MESSAGE') SHR REUS "
" ALLOCATE F(ISPSLIB1) DSN('T.INDIA.ISPSLIB') SHR REUS "
" ALLOCATE F(ISPSLIB2) DSN('T.INDIA.SKELS') SHR REUS "
" ALLOCATE F(ISPSLIB3) DSN('T.PTGDOC.TOOLS.ISPSLIB') SHR REUS "
" ALLOCATE F(ISPTLIB1) DSN('T.INDIA.ISPTLIB') SHR REUS "
" ALLOCATE F(ISPTLIB2) DSN('T.PTGDOC.TOOLS.ISPTLIB') SHR REUS "
" ALLOCATE F(ISPTABL1) DSN('T.INDIA.ISPTABL') SHR REUS "
" ALLOCATE F(ISPTABL2) DSN('T.PTGDOC.TOOLS.ISPTABL') SHR REUS "
" CONCAT (SYSEXEC SYSEXEC1 SYSEXEC2 SYSEXEC3 SYSEXEC4) "
" CONCAT (SYSPROC SYSPROC1 SYSPROC2 ) "
" CONCAT (ISPPLIB ISPPLIB1 ISPPLIB2 ISPPLIB3 ) "
" CONCAT (ISPMLIB ISPMLIB1 ISPMLIB2 ISPMLIB3 ) "
" CONCAT (ISPSLIB ISPSLIB1 ISPSLIB2 ISPSLIB3 ) "
" CONCAT (ISPTLIB ISPTLIB1 ISPTLIB2 ) "
" CONCAT (ISPTABL ISPTABL1 ISPTABL2 ) "
IF RC=0 THEN
DO
CLEAR SCREEN
RECEIVE
END
ELSE
DO
SAY "NOT ALLOCATED"
END
"ISPF"
EXIT(0) |
_________________ Thanks |
|
Back to top |
|
|
edkir98 Beginner
Joined: 27 Aug 2007 Posts: 102 Topics: 42 Location: Chennai
|
Posted: Tue May 12, 2009 1:26 pm Post subject: |
|
|
hi Kolusu..i'm sorry.. these were the contents of the member "initial" in the PDS CLIST _________________ Thanks |
|
Back to top |
|
|
dbzTHEdinosauer Supermod
Joined: 20 Oct 2006 Posts: 1411 Topics: 26 Location: germany
|
Posted: Tue May 12, 2009 3:01 pm Post subject: |
|
|
That is a REXX exec (or script) by the way. A CLIST is composed of CLIST commands. _________________ Dick Brenholtz
American living in Varel, Germany |
|
Back to top |
|
|
taltyman JCL Forum Moderator
Joined: 02 Dec 2002 Posts: 310 Topics: 8 Location: Texas
|
Posted: Tue May 12, 2009 3:15 pm Post subject: |
|
|
When you logon to TSO you probably will see a field called 'procedure'. That will be the logon proc that is set up for you. Now see if you can find that member in your site's proclib concatenation. (A very useful rexx is called lstproc and written by Lionel B. Dyck that can be found on the internet and downloaded.) At any rate that procedure that you are executing when your TSO session starts up may call an initial clist/rexx. You may want to view that clist/rexx member (you can find it by using DDLIST or the previously mentioned lstproc). When you view that code see if it does a check for any personal clist PDS's and if it finds them it may allocate them at the top of sysproc. That's how a lot of shops handle users clist libraries. |
|
Back to top |
|
|
taltyman JCL Forum Moderator
Joined: 02 Dec 2002 Posts: 310 Topics: 8 Location: Texas
|
Posted: Tue May 12, 2009 3:37 pm Post subject: |
|
|
Also in the code you posted, CONCAT and CLEAR aren't IBM supplied programs/code that I'm aware of, although a lot of shops have them. |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Tue May 12, 2009 6:32 pm Post subject: |
|
|
Your logon screen may have a COMMAND ===> line to put an initial command too Code: | Enter LOGON parameters below:
Userid ===> ELVIS
Password ===>
Procedure ===> HEARTBRK
Acct Nmbr ===> (SEQUIN,12345)
Size ===> REALLY FAT
Perform ===> NOT ANYMORE
Command ===> exec 'ELVIS.CLIST(INITIAL)' |
_________________ New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html. |
|
Back to top |
|
|
Terry_Heinze Supermod
Joined: 31 May 2004 Posts: 391 Topics: 4 Location: Richfield, MN, USA
|
Posted: Tue May 12, 2009 10:32 pm Post subject: |
|
|
I use ALTLIB to put my CLISTs and Edit Macros in. _________________ ....Terry |
|
Back to top |
|
|
edkir98 Beginner
Joined: 27 Aug 2007 Posts: 102 Topics: 42 Location: Chennai
|
Posted: Wed May 13, 2009 8:56 am Post subject: Re |
|
|
hi Taltyman,
The proc which is used while login is IKJSPFD. i found this proc in SYS1.LOGPROC library. Since this is the common proc for the entire firm, if i would change this, then it would affect everyone!!. One way i could do this is to copy this proc and put it under a new name in the same library and change the procedure name while logon. But again i'm putting a new member in SYS1.LOGPROC which is common for the firm. What i wanted to know is, is there a place where i could change the logon PDS library from SYS1.LOGPROC to something like TSOID.LOGPROC so that i could execute this startup procedure from my PDS.
Also i also have the LSTPROC from Lionel's website, but i'm not sure how to use it.. can you please help.
hi Semiqeezer,
This is the logon screen which is displayed.
Code: | ------------------------------- TSO/E LOGON -----------------------------------
Enter LOGON parameters below: RACF LOGON parameters:
Userid ===> TSOID
Password ===> New Password ===>
Procedure ===> IKJSPFD Group Ident ===>
Acct Nmbr ===> XYZABC
Size ===>
Perform ===>
Command ===> EX 'TSOID.CLIST(INITIAL)'
Enter an 'S' before each option desired below:
-Nomail -Nonotice -Reconnect -OIDcard
PF1/PF13 ==> Help PF3/PF15 ==> Logoff PA1 ==> Attention PA2 ==> Reshow
You may request specific help information by entering a '?' in any entry field |
inside the member initial i put the following.
Code: | /*REXX*/
" ALLOCATE F(SYSEXEC) DSN('TSOID.MY.REXX') SHR REUS "
IF RC=0 THEN
DO
CLEAR SCREEN
RECEIVE
END
ELSE
DO
SAY "NOT ALLOCATED"
END
"ISPF"
EXIT(0) |
inside TSOID.MY.REXX i have a simple REXX code called PULL, which just has the following content
Code: | /*REXX*/
SAY 'HI EDWARD' |
When i tried to use TSO PULL from the command line, it says command PULL not found.
hi Terry,
How do i do that? Can you please throw some light on that? _________________ Thanks |
|
Back to top |
|
|
taltyman JCL Forum Moderator
Joined: 02 Dec 2002 Posts: 310 Topics: 8 Location: Texas
|
Posted: Wed May 13, 2009 9:39 am Post subject: Re: Re |
|
|
edkir98 wrote: | hi Taltyman,
The proc which is used while login is IKJSPFD. i found this proc in SYS1.LOGPROC library. Since this is the common proc for the entire firm, if i would change this, then it would affect everyone!!. One way i could do this is to copy this proc and put it under a new name in the same library and change the procedure name while logon. But again i'm putting a new member in SYS1.LOGPROC which is common for the firm. What i wanted to know is, is there a place where i could change the logon PDS library from SYS1.LOGPROC to something like TSOID.LOGPROC so that i could execute this startup procedure from my PDS.
Also i also have the LSTPROC from Lionel's website, but i'm not sure how to use it.. can you please help.
|
No don't attempt to change any of your sites production datasets. I was just suggesting that you browse IKJSPFD and see if that proc calls code that allocates a personal clist/rexx library if it finds one.
Also only your sysprogs can change your sites proclib search order for TSO.
To use lstproc, just try tso ex 'where.did.you.put.it(lstproc)'
When you put the 'ex xxxx.xxx(x)' in your tso logon screen I think it runs after any code that your logon proc may call. So if your sites proc calls code that ends up calling ispf then your clist won't run until you exit ispf. |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Wed May 13, 2009 12:47 pm Post subject: |
|
|
IT may be that the site logon exec is going into ISPF before yours gets called. In my site, I actually have to leave ISPF once before my COMMAND===> program gets run. 2 things that might help you see what is happening. Put a TRACE A in the INITIAL program to see if it is even being run, and if yoyu think it is, once you are in ISPF, type TSO ISRDDN and look at SYSEXEC to see if it has been reallocated. Beyond that, you may need to talk with your system admins because there are a number of things they can customize and restrict. Once you get the basic program to run, be sure to change the allocation of SYSEXEC to include the system libraries if there are any. Use the ISRDDN command SAVE to get you started there. _________________ New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html. |
|
Back to top |
|
|
Terry_Heinze Supermod
Joined: 31 May 2004 Posts: 391 Topics: 4 Location: Richfield, MN, USA
|
|
Back to top |
|
|
|
|