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
 

 

Q: bpxwdyn in logon-script

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

New User


Joined: 06 Feb 2006
Posts: 97

PostPosted: Sun Feb 20, 2011 2:31 am    Post subject: Q: bpxwdyn in logon-script
Reply with quote

hello

my personal tso logon proc MYPROC EXECs MAINPROC.
MYPROC only contains various additional dd-statements (@SYSEXEC,@ISPPLIB etc.) with my personal datasets.

the logon-rexx makes a tiot-scan and adds datasets allocated to @ddname to ddname (eg recreates DD SYSEXEC in sequence @SYSEXEC+SYSEXEC)

this works ok

i want to do this without control-block navigation or an external asm-program.

bpxwdyn has a concat-option. i can concatenate a ddname to another ddname. bpxwdyn ddlist(dd1,dd2) creates dd1 with datasets from both dds (sequence fixed dd1,dd2)
this is useless in this case, because i need a function that created dd1 with sequence dd2,dd1

the only solution i see is to use "bpxwdyn info" function to get all dataset-names and "tso allocate reuse" them together. are there other solutions available?
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: Sun Feb 20, 2011 1:57 pm    Post subject:
Reply with quote

I usually use something like this
Code:
/* REXX *** INSERT PRIVATE ISPF LIBRARIES INTO CURRENT LOGON CONCAT  */
UID = STRIP(SYSVAR(SYSUID))

PRX = UID".REXX"
IF SYSDSN("'"STRIP(PRX)"'") <> "OK"
   THEN PRX=''
PCL = UID".CLIST"
IF SYSDSN("'"STRIP(PCL)"'") <> "OK"
   THEN PCL = ''
PPA = UID".PANELS"
IF SYSDSN("'"STRIP(PPA)"'") <> "OK"
   THEN PPA=''
PSK = UID".SKELS"
IF SYSDSN("'"STRIP(PSK)"'") <> "OK"
   THEN PSK=''

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

A = 1
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 = "'"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 = "'"STRIP(DSN)"'"
    END
    ELSE  STRRX = STRRX "'"STRIP(DSN)"'"
  END
  ELSE IF DD = "ISPPLIB" THEN DO
    IF PA0 = 0 THEN DO
      PA0 = 1
      IF PPA <> ""
         THEN  STRPA = "'"PPA"' '"STRIP(DSN)"'"
         ELSE  STRPA = "'"STRIP(DSN)"'"
    END
    ELSE  STRPA = STRPA "'"STRIP(DSN)"'"
  END
  ELSE IF DD = "ISPSLIB" THEN DO
    IF SK0 = 0 THEN DO
      SK0 = 1
      IF PSK <> ""
         THEN  STRSK = "'"PSK"' '"STRIP(DSN)"'"
         ELSE  STRSK = "'"STRIP(DSN)"'"
    END
    ELSE  STRSK = STRSK "'"STRIP(DSN)"'"
  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"

MENU
Which was set up for one particular site.

You may need to jiggle the code.

Executed from the main logon panel as 'EXEC mylib(member)'
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1027
Location: Oostende, Belgium

PostPosted: Mon Feb 21, 2011 3:49 pm    Post subject:
Reply with quote

expat wrote:
I usually use something like this
Code:
big snip
Which was set up for one particular site.

You may need to jiggle the code.

Executed from the main logon panel as 'EXEC mylib(member)'


If it's specific for one particular site, which in my case it is, I just do a
Code:
TSO ISRDDN
and add the required data sets to my exec that invokes ISPF with my libs in front of all the site-specific stuff.
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2435
Location: Netherlands, Amstelveen

PostPosted: Mon Feb 21, 2011 4:49 pm    Post subject:
Reply with quote

Maybe i missed something, but what is wrong with LIBDEF and ALTLIB ?
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1027
Location: Oostende, Belgium

PostPosted: Mon Feb 21, 2011 4:58 pm    Post subject:
Reply with quote

PeterHolland wrote:
Maybe i missed something, but what is wrong with LIBDEF and ALTLIB ?


That would be possible, but having your own libs available straight from the moment you get into ISPF is a lot easier.

Next to that, my exec also reallocates ISPLLIB before entering ISPF, which means that I can use my own ISPF configuration table, which is not possible using LIBDEF.
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2435
Location: Netherlands, Amstelveen

PostPosted: Mon Feb 21, 2011 5:19 pm    Post subject:
Reply with quote

As far as i know ISPLLIB is for load libraries, beside that its also possible to use the following in a logon script :

When the DATASET keyword is specified with the LIBDEF service, it causes the
newly defined application-level library to be searched before the allocated ISPF
library for a particular type. To allow the user to continue to define user-level
libraries that are to be searched first, these new ddnames must be specified in
ALLOCATE commands before ISPF is invoked:
ISPMUSR User message library
ISPPUSR User panel library
ISPSUSR User skeleton library
ISPTUSR User table library
ISPTABU User table output library
ISPFILU User file tailoring output library
ISPLUSR User link library
ISPIUSR User image library.
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1027
Location: Oostende, Belgium

PostPosted: Mon Feb 21, 2011 5:23 pm    Post subject:
Reply with quote

PeterHolland wrote:
As far as i know ISPLLIB is for load libraries, beside that its also possible to use the following in a logon script :

When the DATASET keyword is specified with the LIBDEF service, it causes the
newly defined application-level library to be searched before the allocated ISPF
library for a particular type. To allow the user to continue to define user-level
libraries that are to be searched first, these new ddnames must be specified in
ALLOCATE commands before ISPF is invoked
:
ISPMUSR User message library
ISPPUSR User panel library
ISPSUSR User skeleton library
ISPTUSR User table library
ISPTABU User table output library
ISPFILU User file tailoring output library
ISPLUSR User link library
ISPIUSR User image library.


And if you need to use ALLOCATE before invoking ISPF, why not just allocate your own libraries in front of the system defined ones icon_question.gif
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 Dynamic output file creation in cobol... smileheal COBOL Programming 7 Thu Jun 15, 2017 10:53 pm
No new posts Unable to create multiple files using... mbattu COBOL Programming 3 Fri May 05, 2017 5:35 pm
No new posts TSO Logon Failing - Acount Not matching SLNewton TSO/ISPF 1 Thu Aug 25, 2016 9:37 pm
No new posts USS Shell script:Convert hex to binar... RSR2015 All Other Mainframe Topics 0 Fri Sep 18, 2015 2:00 am
No new posts Execution of Macro at Command Line on... RahulG31 TSO/ISPF 9 Mon Dec 22, 2014 7:47 pm


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