IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

More probs after SYSEXEC change


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
ramachandran_k2

New User


Joined: 08 Mar 2010
Posts: 1
Location: bangalore

PostPosted: Tue Mar 09, 2010 8:45 am
Reply with quote

I've coded an EDIT macro and trying to attach my rexx.exec to the SYSEXEC while TSO login. After refering to the various links in this forum, I tried using the ALTIB & ALLOCATE commands.But I'm not sucessful in doing that.

I have this code in this PDS:'TSO192B.TSOUTIL.CLIST(STARTUP)
Code:
/************************** REXX **********************************/           
"EXECUTIL SEARCHDD(YES)"                                                       
"ALLOC FILE(SYSEXEC) DATASET(TSO192B.REXX.EXEC,",                               
") SHR REUSE"                                                                   
IF RC = 0 THEN                                                                 
SAY 'ALLOCATION TO SYSEXEC COMPLETED.'                                         
ELSE                                                                           
SAY 'ALLOCATION TO SYSEXEC FAILED.'                                             
******************************** Bottom of Data ********************************
When i log in to TSO i am getting following error message.

Code:
 'TSO192B.TSOUTIL.CLIST(STARTUP)' WILL NOW BE EXECUTED AS YOUR STARTUP CLIST.   
  FILE SYSEXEC NOT UNALLOCATED, DECONCATENATION WOULD RESULT IN DUPLICATE FILENA
MES                                                                             
 ALLOCATION TO SYSEXEC FAILED.                                                 
 READY                                                                         
-------------------------------------------------------------------------------------


When I use ALTLIB in the same PDS, it gives the message "<UID>.REXX.EXEC" activated but I'm not able to execute the macro. There's no problem with the macro, it is executing fine if I manually execute TSO ALTLIB ACTIVATE command before running the macro.

Please help me out solve this issue.
Note:TSO ISRDDN doesn't work in my TSO environment
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2546
Location: Silicon Valley

PostPosted: Tue Mar 09, 2010 10:09 am
Reply with quote

Type:
Code:
PROFILE MSGID

and recreate the problem. And use LOOKAT to search for more information about the message.
Back to top
View user's profile Send private message
Kjeld

Active User


Joined: 15 Dec 2009
Posts: 365
Location: Denmark

PostPosted: Tue Mar 09, 2010 3:09 pm
Reply with quote

All installations have TSO startup rutines ($INITIAL) that will establish a concatenation of default system libraries in SYSEXEC and SYSPROC.
This concatenation can contain group libraries and personal libraries, in the way that the search order is personal libs->group libs->system libs.

The naming standards will vary from installation to installation.

If you allocate a dataset 'userid.ISPF.ISPCLIB' containing your REXX member, you might be able to execute the macro after a logoff/logon. It works at my site, and I think it is pretty much default for $INITIAL processing.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2546
Location: Silicon Valley

PostPosted: Tue Mar 09, 2010 8:22 pm
Reply with quote

I do not believe that '$INITIAL' is universal. Nor is the use of 'userid.ISPF.ISPCLIB'.
Back to top
View user's profile Send private message
Use Net

New User


Joined: 10 Feb 2010
Posts: 8
Location: Europe

PostPosted: Thu Mar 11, 2010 10:14 am
Reply with quote

ramachandran_k2 wrote:
I've coded an EDIT macro and trying to attach my rexx.exec to the SYSEXEC while TSO login. After refering to the various links in this forum, I tried using the ALTIB & ALLOCATE commands.But I'm not sucessful in doing that. ...


I suggest using the CONCAT exec which is available here: gsf-soft.com/Freeware/

This REXX exec allows TSO and ISPF users to add a data set at the beginning or the end of a concatenation without having to know what libraries are currently allocated to the specified ddname. It is particularly useful to add REXX libraries to SYSEXEC.
Back to top
View user's profile Send private message
Kjeld

Active User


Joined: 15 Dec 2009
Posts: 365
Location: Denmark

PostPosted: Thu Mar 11, 2010 3:10 pm
Reply with quote

Pedro wrote:
I do not believe that '$INITIAL' is universal. Nor is the use of 'userid.ISPF.ISPCLIB'.

Ok, Pedro I admit I haven't found documentation for that, either. I merely assume it was so because my installation executes '$INITIAL' members in the SYSPROC concatenation at ISPF startup, and I bet that name was not chosen locally 20 years ago, before internationalisation set in.

I have found a link to an IBM System Magazine article on the topic of initialising ISPF environment.

The point is that the OP could investigate what naming standards to use for user libraries to be included in SYSEXEC and SYSPROC conctenation on startup.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2546
Location: Silicon Valley

PostPosted: Thu Mar 11, 2010 8:14 pm
Reply with quote

Quote:
The point is that the OP could investigate what naming standards to use for user libraries to be included in SYSEXEC and SYSPROC conctenation on startup.

That is a good point.
Back to top
View user's profile Send private message
agkshirsagar

Active Member


Joined: 27 Feb 2007
Posts: 691
Location: Earth

PostPosted: Fri Mar 12, 2010 12:51 am
Reply with quote

OP could ask his peers in his shop if there is any user maintanable library in default SYSPROC/EXEC stack.
In my personal experience, most shops provide the developers with at least one library in SYSPROC or provide a way of adding user lib without having to change logon exec.
If needed ,additional libraries should be allocated using ALTLIB ACTIVATE.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Fri Mar 12, 2010 12:38 pm
Reply with quote

Must admit that using ALTLIB and LIBDEF always works for me.
But this is a really old piece of code that I sometimes use in the COMMAND field at logon.
Code:
Command   ===> EXEC 'My.Rexx.Library($LOGON)'

Code:
/* REXX *** INSERT PRIVATE ISPF LIBRARIES INTO CURRENT LOGON PROC    */

PRX = "My.REXX.Library"
PCL = "My.CLIST.Library"
PPA = "My.PANEL.Library"
PSK = "My.SKELETON.Library"

RX0 = 0
CL0 = 0
PA0 = 0
SK0 = 0

A = 1
UID = STRIP(SYSVAR(SYSUID))
Y = MSG('OFF')
X=OUTTRAP(LIST.)
"LISTA STATUS"
X=OUTTRAP(OFF)
"FREE    FI(TEST01)"
"ALLOC   FI(TEST01) RECFM(F B) LRECL(133)
         TRACKS SPACE(5 5) NEW "
DO FOREVER
   A = A + 1
   IF A > LIST.0 THEN LEAVE
   DSNAME = SUBSTR(LIST.A,1,44)
   IF SUBSTR(DSNAME,1,8) = 'TERMFILE' THEN ITERATE
   IF SUBSTR(DSNAME,1,8) = '--DDNAME' THEN ITERATE
   A = A + 1
   IF A > LIST.0 THEN LEAVE
   NEXTDD = SUBSTR(LIST.A,3,8)
   IF NEXTDD <> ' ' THEN DO
     DDNAME = NEXTDD
   END
   PUSH DDNAME DSNAME
   "EXECIO 1 DISKW TEST01"
END

"EXECIO 0 DISKW TEST01 ( FINIS"
"EXECIO * DISKR TEST01 ( STEM LIBS. FINIS"
"FREE    FI(TEST01)"
DO A = 1 TO LIBS.0
  PARSE VAR LIBS.A DD DSN
  IF DD = "SYSPROC" THEN DO
    IF CL0 = 0 THEN DO
      CL0 = 1
      IF PCL <> ""
         THEN  STRCL = "'"PCL"' '"STRIP(DSN)"'"
         ELSE  STRCL = STRCL "'"STRIP(DSN)"'"
    END
    ELSE  STRCL = STRCL "'"STRIP(DSN)"'"
  END
  ELSE IF DD = "SYSEXEC" THEN DO
    IF RX0 = 0 THEN DO
      RX0 = 1
      IF PRX <> ""
         THEN  STRRX = "'"PRX"' '"STRIP(DSN)"'"
         ELSE  STRRX = STRRX "'"STRIP(DSN)"'"
    END
    ELSE  STRRX = STRRX "'"STRIP(DSN)"'"
  END
  ELSE IF DD = "ISPPLIB" THEN DO
    IF PA0 = 0 THEN DO
      IF PPA <> ""
         THEN  STRPA = "'"PPA"' '"STRIP(DSN)"'"
         ELSE  STRPA = STRPN "'"STRIP(DSN)"'"
    END
    ELSE  STRPA = STRPA "'"STRIP(DSN)"'"
    PA0 = PA0 + 1
  END
  ELSE IF DD = "ISPSLIB" THEN DO
    IF SK0 = 0 THEN DO
      IF PSK <> ""
         THEN  STRSK = "'"PSK"' '"STRIP(DSN)"'"
         ELSE  STRSK = STRPN "'"STRIP(DSN)"'"
    END
    ELSE  STRSK = STRSK "'"STRIP(DSN)"'"
    SK0 = SK0 + 1
  END
END

"FREE FI(SYSPROC)"
"ALLOC FI(SYSPROC) DA("STRCL") SHR"

"FREE FI(SYSEXEC)"
"ALLOC FI(SYSEXEC) DA("STRRX") SHR"

"FREE FI(ISPPLIB)"
"ALLOC FI(ISPPLIB) DA("STRPA") SHR"

"FREE FI(ISPSLIB)"
"ALLOC FI(ISPSLIB) DA("STRSK") SHR"
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts 3270 personal communications. Can't c... TSO/ISPF 2
No new posts SELECT from data change table DB2 5
No new posts Trying to change copybook in online c... CICS 4
No new posts Change Default Scroll Setting TSO/ISPF 1
No new posts Change history of vsam file. JCL & VSAM 3
Search our Forums:

Back to Top