MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

How to concatenate datasets to SYSEXEC at startup?

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF
View previous topic :: View next topic  
Author Message
karavi2000
Beginner


Joined: 17 Aug 2003
Posts: 51
Topics: 26
Location: Chennai

PostPosted: Sat Mar 20, 2004 9:49 am    Post subject: How to concatenate datasets to SYSEXEC at startup? Reply with quote

Hi,

We are using Client mainframes. We have some REXX routines to automate some of our tasks. The problem is we need to concatenate our CLIST library to SYSEXEC before running our REXX routine, since it does not append itself to SYSEXEC at startup. We dont have the privileage to change the contents of SYS1.CLIST which is executed at startup.

Is there any other way by which we can append our CLIST library to SYSEXEC at startup? Please let us know.

Thanks & Regards,
Ravishankar
Back to top
View user's profile Send private message
Maton_Man
Beginner


Joined: 30 Jan 2004
Posts: 123
Topics: 0

PostPosted: Sun Mar 21, 2004 7:33 pm    Post subject: Reply with quote

First of all you allocate CLISTs to SYSPROC and REXXs to either SYSPROC (in which case your REXX must have /*rexx*/ on the first line or it will think it's a CLIST) or to SYSEXEC. Do not allocate CLISTs to SYSEXEC, they will be executed as REXXs and won't work.

As to your question, it really depends how you log on. There are a number of possibilities:-

1. If you are presented with a screen like this at startup:-
------------------------------- TSO/E LOGON -----------------------------------


Enter LOGON parameters below: RACF LOGON parameters:

Userid ===> NCONJPJ

Password ===> New Password ===>

Procedure ===> $TSUSER Group Ident ===>

Acct Nmbr ===> TS-7164

Size ===> 2096128

Perform ===>

Command ===> ex 'techtst.logon($nconjpj)'

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

Then you can change the default command to be one that you create. Copy the CLIST from SYS1.CLIST and modify it to allocate as you need.

2. Annoying but still an option, get out of ISPF and run a REALLOC REXX to add the library to your concatenation. You can get REALLOC REXXs/CLISTs from the CBT tape.

3. You could ALTLIB your REXX library (not the best approach)

4. At some sites if you following a particular naming standard for your REXX, CLIST and ISPF libraries they get allocated at logon time. You will need to read the SYS1.CLIST logon CLIST to determine whether they do this.
_________________
My opinions are exactly that.
Back to top
View user's profile Send private message
karavi2000
Beginner


Joined: 17 Aug 2003
Posts: 51
Topics: 26
Location: Chennai

PostPosted: Sun Mar 21, 2004 11:30 pm    Post subject: Reply with quote

Hi Malton,

It was great to have your response.

We dont get the screen like to explained in your Possibility No. 1. It just asks for Username and Password and gets into ISPF.

I would like to know more about the REALLOC REXX you were talking about. I couldn't get it by doing a search in cbttape.org. Please let me know where can I find the detailed description of REALLOC and how can I use to concatenate my REXX routines to SYSEXEC.

Thanks a lot for sharing your time for the topic. Appreciated.

Thanks & Regards,
Ravishankar
Back to top
View user's profile Send private message
Maton_Man
Beginner


Joined: 30 Jan 2004
Posts: 123
Topics: 0

PostPosted: Mon Mar 22, 2004 1:38 am    Post subject: Reply with quote

I will paste a CLIST which will do what you want (I can't be bothered rewriting it in Rexx). I didn't write this and I accept no responsibility for it working or otherwise. I hoped I pasted it all correctly Smile
[code:1:24c9958335]
PROC 0 DEBUG DD(SYSPROC) DSN('&SYSUID..JCL.CNTL') POS(HEAD) HELP
CONTROL NOMSG NOPROMPT NOLIST NOCONLIST NOSYMLIST NOFLUSH ASIS
/*-------------------------------------------------------------------*/
/* REFER : PROG.PROD.ISPCLIB(REALLOC) */
/* COMPID: SYSP */
/* DOC : THIS CLIST WILL PLACE A USER SPECIFIED DATASET OR LIST OF */
/* DATASETS AT THE HEAD OR TAIL OF THE CONCATENATION OF */
/* DATASETS CURRENTLY ALLOCATED TO A USER SPECIFIED DDNAME. */
/* ALTERNATELY, THE DATASET MAY BE REMOVED FROM THE */
/* CONCATENATION. */
/*-------------------------------------------------------------------*/
IF &DEBUG EQ DEBUG THEN -
DO
CONTROL MSG NOPROMPT LIST CONLIST SYMLIST NOFLUSH ASIS
END
/*-------------------------------------------------------------------*/
/* THIS CODE IS EXECUTED IF THE HELP KEYWORD IS ENTERED. */
/* IT DISPLAYS THE MESSAGE BELOW AND EXITS. */
/*-------------------------------------------------------------------*/
IF &HELP = HELP THEN +
DO
WRITE
WRITE FUNCTION:
WRITE The REALLOC clist will place a user specified dataset (or
WRITE list of datasets) at the head or the tail of the concatenation
WRITE of datasets currently allocated to a user specified ddname.
WRITE Alternately, the dataset may be deleted from the concatenation.
WRITE
WRITE ENVIRONMENT:
WRITE Execute the REALLOC clist in native TSO only. The REALLOC
WRITE clist can be invoked from within a higher level clist.
WRITE
WRITE SYNTAX:
WRITE %REALLOC DD(ddname) DSN('dsname'|'list-of-dsnames')
WRITE POS(HEAD|TAIL|DEL)
WRITE HELP DEBUG
WRITE
WRITE OPERANDS:
WRITE HELP - Use the HELP keyword to display this information
WRITE text, then exit.
WRITE
WRITE DD(ddname) - Specifies the DDNAME the user wishes to
WRITE reallocate.
WRITE
WRITE DSN('dsname'|'list-of-dsnames')
WRITE
WRITE - DSNAME is the fully qualified name of the
WRITE dataset to be placed at the head or tail of the
WRITE concatenation of datasets currently allocated
WRITE to the ddname specified by the DD operand.
WRITE Note that use of single quotes is mandatory.
WRITE
WRITE - Similarly for LIST-OF-DSNAMES. Separate each
WRITE fully qualified dataset name with a blank or
WRITE comma, and enclose the entire list in single
WRITE quotes.
WRITE
WRITE POS(HEAD|TAIL|DEL)
WRITE
WRITE - Specifies whether the dataset(s) are to be
WRITE concatenated to the head or the tail of the
WRITE current allocation, or removed from it.
WRITE
WRITE DEBUG - Use the DEBUG keyword if you wish to view the
WRITE TSO commands and CLIST statements as they are
WRITE executed.
WRITE
WRITE Required operands - none.
WRITE
WRITE Default operands - DD(SYSPROC)
WRITE DSN('&SYSUID..JCL.CNTL')
WRITE POS(HEAD)
WRITE
WRITE EXAMPLE OF USE:
WRITE Consider an existing allocation to the ddname ISPPLIB as
WRITE provided by the standard TSO logon procedure. When you
WRITE logon to TSO, the following concatenation of datasets will
WRITE be allocated to ddname ISPPLIB...
WRITE
WRITE SYS1.SYSPLIB
WRITE SOME.OTHER.ISPPLIB
WRITE
WRITE Executing the REALLOC clist as follows...
WRITE
WRITE %REALLOC DD(ISPPLIB) DSN('&SYSUID..PANELS')
WRITE
WRITE ...will result in the following concatenation of datasets
WRITE being allocated to ddname ISPPLIB...
WRITE
WRITE &SYSUID..PANELS
WRITE SYS1.SYSPLIB
WRITE SOME.OTHER.ISPPLIB
WRITE
GOTO THEEXIT
END
/*-------------------------------------------------------------------*/
/* INITIALIZE FLAGS AND VARIABLES. */
/*-------------------------------------------------------------------*/
SET ERRORPOINT = INIT
SET CONCATDSETS = &STR()
/*-------------------------------------------------------------------*/
/* THIS ERROR ROUTINE IS EXECUTED IF AN ERROR OCCURS DURING */
/* PROCESSING. THE FLAGS 'TESTALLOCATE' AND 'REALALLOCATE' */
/* ARE EXAMINED AND THE APPROPRIATE ERROR PROCESSING IS DONE.*/
/*-------------------------------------------------------------------*/
ERROR +
DO
IF &ERRORPOINT = INIT THEN +
EXIT
IF &ERRORPOINT = TESTALLOCATE THEN +
DO
WRITE UNABLE TO ALLOCATE &ALLOCDS TO &DD..
WRITE &DD ALLOCATION NOT ALTERED.
EXIT
END
IF &ERRORPOINT = FREE THEN +
DO
WRITE UNABLE TO ALLOCATE &ALLOCDS TO &DD.. &DD ALLOCATION NOT ALTERED.
WRITE CHECK TO SEE THAT NO DATASETS IN THE &DD CONCATENATION ARE OPEN.
EXIT
END
IF &ERRORPOINT = REALALLOCATE THEN +
DO
WRITE AN ERROR HAS BEEN ENCOUNTERED IN THE &DD CONCATENATION.
WRITE PLEASE LOG OFF, THEN LOG ON AGAIN. IF DESIRED, RE-ISSUE
WRITE THIS COMMAND. IF THE PROBLEM PERSISTS, CONTACT SYSTEMS
WRITE PROGRAMMING.
EXIT
END
END
/*-------------------------------------------------------------------*/
/* MAKE AN ASSIGNMENT OF THE DATASETS TO BE ALLOCATED (I.E. */
/* &DSN) TO THE SYSTEM VARIABLE &SYSDVAL. THIS ENABLES THE */
/* INDIVIDUAL DATASETS TO BE EXTRACTED BY THE &READDVAL */
/* STATEMENT INTO THE VARIABLES &DS1, &DS2,... &DS10. THE */
/* MAXIMUM NUMBER OF DATASETS WHICH CAN BE ADDED TO A */
/* CONCATENATION IS TEN. TO INCREASE THIS, FURTHER &DS */
/* VARIABLES CAN BE ADDED. EG DS11, DS12 ETC. */
/*-------------------------------------------------------------------*/
SET SYSDVAL = &DSN
READDVAL DS1,DS2,DS3,DS4,DS5,DS6,DS7,DS8,DS9,DS10,DS11,DS12,DS13, +
DS14,DS15,DS16,DS17,DS18,DS19,DS20,DS21,DS22,DS23,DS24,DS25
/*-------------------------------------------------------------------*/
/* ENCLOSE EACH DATASET TO BE CONCATENATED IN QUOTES AND */
/* STRING ALL THE DATA SETS TO BE CONCATENATED TOGETHER */
/* IN THE VARIABLE &ALLOCDS, ALSO COUNT THE NUMBER OF DATA */
/* SETS. */
/*-------------------------------------------------------------------*/
SET ALLOCDS= '&DS1'
SET DSCNT = 2
SET BLANK = &STR()
SET DSET = &&DS&DSCNT
DO WHILE &DSET
_________________
My opinions are exactly that.
Back to top
View user's profile Send private message
karavi2000
Beginner


Joined: 17 Aug 2003
Posts: 51
Topics: 26
Location: Chennai

PostPosted: Tue Mar 23, 2004 2:23 am    Post subject: Reply with quote

Hi Maton (Hope I am right this time Laughing )
I got your CLIST and I am fine with that. Thanks.

I got a doubt when trying using that.

1. How to make this CLIST execute during Logon, since we do not have access to change the sytem logon procedure SYS1.CLIST? I want this execution to take place automatically without any user intervention. Is there any other USER specific way to do this?

Please let us know.

Thanks & Regards,
Ravishankar
Back to top
View user's profile Send private message
taltyman
JCL Forum Moderator
JCL Forum Moderator


Joined: 02 Dec 2002
Posts: 310
Topics: 8
Location: Texas

PostPosted: Tue Mar 23, 2004 8:17 am    Post subject: Reply with quote

It sounds like you have a session manager like tpx,super session or nvas that is auto logging you on to tso.
Can you get to the tso ready prompt and type LOGON YOURUSERID to get to the TSO logon screen? If you can then you can add the ex statement there and the system will remember it.
If that fails then see if there are help panels with the session manager that allow you to 'walk' through the autolog process and get to the tso logon screen.
If that fails, then when you totally exit the session manager do you get the vtam uss msg10 screen? If so then try LOGON APPLID=tso where tso is the vtam applid of your tso. Note that you may need to use the systax of LOGON APPLID(tso)
Back to top
View user's profile Send private message
Maton_Man
Beginner


Joined: 30 Jan 2004
Posts: 123
Topics: 0

PostPosted: Tue Mar 23, 2004 11:05 pm    Post subject: Reply with quote

Can you please post:

1. The CLIST that runs when you log on

and

2. A copy of your TSO Logon Procedure (ie. the JCL and any PROCs that are your TSO session)

Ta.
_________________
My opinions are exactly that.
Back to top
View user's profile Send private message
karavi2000
Beginner


Joined: 17 Aug 2003
Posts: 51
Topics: 26
Location: Chennai

PostPosted: Thu Mar 25, 2004 3:56 am    Post subject: Reply with quote

Hi Maton,

I am just pasting the Logon Procedure that gets executed at Logon.

Code:

//LOGON1   EXEC PGM=IKJEFT01,ROLL=(NO,NO),     
//         DYNAMNBR=80,PARM='%PRELOGON'       
//*                                           
//SYSPROC   DD  DSN=SYS1.ISP.SISPCLIB,DISP=SHR
//          DD  DSN=SYS1.CLIST,DISP=SHR       
//          DD  DSN=SYS2.CLIST,DISP=SHR       
//          DD  DSN=SYS3.CLIST,DISP=SHR       
//*                                           
//SYSHELP   DD  DSN=SYS1.HELP,DISP=SHR         
//          DD  DSN=SYS1.ISP.SISPHELP,DISP=SHR
//          DD  DSN=SYS2.HELP,DISP=SHR         
//*                                           
//ISPMLIB   DD  DSN=SYS1.ISP.SISPMENU,DISP=SHR
//          DD  DSN=SYS1.ISF.SISFMLIB,DISP=SHR
//          DD  DSN=SYS2.ISPF.PP.MLIB,DISP=SHR
//*                                           
//ISPPLIB   DD  DSN=SYS1.ISP.SISPPENU,DISP=SHR
//          DD  DSN=SYS1.ISF.SISFPLIB,DISP=SHR
//          DD  DSN=SYS2.ISPF.PP.PLIB,DISP=SHR     
//*                                                 
//ISPSLIB   DD  DSN=SYS1.ISP.SISPSLIB,DISP=SHR     
//          DD  DSN=SYS1.ISP.SISPSENU,DISP=SHR     
//          DD  DSN=SYS1.ISF.SISFSLIB,DISP=SHR     
//          DD  DSN=SYS2.ISPF.PP.SLIB,DISP=SHR     
//*                                                 
//EDCHKDD   DD  DSN=SYS2.JCLCHECK.EDCHEKDD,DISP=SHR
//*                                                 
//*                                                 
//ISPCTL1   DD  DISP=NEW,UNIT=VIO,SPACE=(CYL,(5)), 
//          DCB=(LRECL=80,BLKSIZE=9040,RECFM=FB)   
//ISPCTL2   DD  DISP=NEW,UNIT=VIO,SPACE=(CYL,(5)), 
//          DCB=(LRECL=80,BLKSIZE=9040,RECFM=FB)   
//*                                                 
//ISPLST1   DD  DISP=NEW,UNIT=VIO,SPACE=(CYL,(5)), 
//          DCB=(LRECL=121,BLKSIZE=4719,RECFM=FBA) 
//ISPLST2   DD  DISP=NEW,UNIT=VIO,SPACE=(CYL,(5)), 
//          DCB=(LRECL=121,BLKSIZE=4719,RECFM=FBA) 
//*                                                 
//SYSPRINT  DD  TERM=TS,SYSOUT=Z                   
//SYSTERM   DD  TERM=TS,SYSOUT=Z                   
//SYSIN     DD  TERM=TS                             
//*                                                 

The CLIST that gets executed SYS1.CLIST.


Talty,
Yeah. You are right. We are using session manager like 'NVAS' for logging into TSO. Can you please help me in how to have a 'walk through' in the autolog process and get to the tso logon screen. And what is that 'vtam uss msg10' screen you are takking about. Can you brief me on that. Thanks.

Thanks & Regards,
Ravishankar
Back to top
View user's profile Send private message
taltyman
JCL Forum Moderator
JCL Forum Moderator


Joined: 02 Dec 2002
Posts: 310
Topics: 8
Location: Texas

PostPosted: Thu Mar 25, 2004 8:22 am    Post subject: Reply with quote

If it is nvas then from the nvas menu screen you can enter TR name on the command line where name is the name short name of the application. Use F1 for help.
The uss msg10 screen is the welcome screen displayed by vtam when you are not logged on to any application. Try entering LOGOFF from the nvas menu screen and see if you get it displayed. If the nvas logon screen returns then you shop has you locked into your session manager.
Back to top
View user's profile Send private message
Venkata Ramana Reddy
Beginner


Joined: 02 Dec 2002
Posts: 70
Topics: 19
Location: California

PostPosted: Thu Mar 25, 2004 4:51 pm    Post subject: Reply with quote

Ravishankar,

Create a PDS as follows
XXXX.PDS.REXX(where XXXX is your TSO ID).
In that PDS create a member with name LOGONCMD with the following code

Code:

 /*  REXX */                                     
"CONCAT DD(SYSEXEC) DS('XXXXX.REXXUTIL.ROUTINES')"


Change XXXXX.REXXUTIL.ROUTINES to your PDS where you have Rexx Routines


Hope this helps........
_________________
Venkataramana
-- Good judgement comes from experience, and often experience comes from bad judgement.
Back to top
View user's profile Send private message
Cogito-Ergo-Sum
Advanced


Joined: 15 Dec 2002
Posts: 637
Topics: 43
Location: Bengaluru, INDIA

PostPosted: Thu Mar 25, 2004 5:38 pm    Post subject: Reply with quote

CONCAT is not universal. It may not be available at the original poster's site.
_________________
ALL opinions are welcome.

Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes.
Back to top
View user's profile Send private message
Maton_Man
Beginner


Joined: 30 Jan 2004
Posts: 123
Topics: 0

PostPosted: Thu Mar 25, 2004 7:14 pm    Post subject: Reply with quote

Thanks for posting the LOGON PROC but I also really need to see what the PRELOGON CLIST is doing. You should be able to copy it from SYS1.CLIST.
_________________
My opinions are exactly that.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group