Run ISREDIT in Batch



TSO Programming, ISPF, SDF, SDSF and PDF, FTP, TCP/IP Concepts, SNA & SNA/IP etc...

Re: Run ISREDIT in Batch

Postby storage » Mon Mar 14, 2011 6:57 pm

Hi NicC...
I tried to run the below....but it fails and I am not quite sure what shld be given for some of the dd names..

For ISPPLIB,MLIB etc....how to find them? Are they the same dsn's which we get thru ISRDDN?
ALso ISPSTART CMD(%TBUPDATE) what is TBUPDATE?? the member where I have the macro? or something else and how do I submit if I want first my rexx to run and then from there the ISREDIT macro to run...

Also since I have given the profile library each time I submit the job,I have to logoff and login is there any way out for that??

//ISPFBACK EXEC PGM=IKJEFT01,DYNAMNBR=25,REGION=1024K
//*- - ALLOCATE PROFILE, PANELS, MSGS, PROCS, AND TABLES -*/
//ISPPROF DD DSN=USERAA.ISPF.PROFILE,DISP=OLD
//ISPPLIB DD DSN=ISP.SISPPENU,DISP=SHR
//ISPMLIB DD DSN=ISP.SISPMENU,DISP=SHR
//ISPSLIB DD DSN=ISP.SISPSENU,DISP=SHR
// DD DSN=ISP.SISPSLIB,DISP=SHR
//ISPTLIB DD DSN=USERAA.ISPF.TABLES,DISP=SHR
// DD DSN=ISP.SISPTENU,DISP=SHR
// DD DSN=ISP.SISPTLIB,DISP=SHR
//ISPTABL DD DSN=USERAA.ISPF.TABLES,DISP=SHR
//*
//*- - ALLOCATE ISPF LOG DATA SET - - - - - - - - - - - -*/
//ISPLOG DD DSN=USERAA.ISPF.LOG,DISP=SHR
//*
//*- - ALLOCATE DIALOG PROGRAM AND TSO COMMAND LIBRARIES -*/
//ISPLLIB DD DSN=USERAA.ISPF.LOAD,DISP=SHR
//SYSEXEC DD DSN=ISP.SISPEXEC,DISP=SHR
//SYSPROC DD DSN=ISP.SISPCLIB,DISP=SHR
//*
//*- - ALLOCATE TSO BACKGROUND OUTPUT AND INPUT DS - - - -*/
//SYSTSPRT DD DSNAME=USERAA.ISPF.ISPFPRNT,DISP=SHR
//SYSTSIN DD *
PROFILE PREFIX(USERAA) /* ESTABLISH PREFIX */
ISPSTART CMD(%TBUPDATE) /* INVOKE CLIST DIALOG */

If anyone who has worked on this before and is from IBM kindly let me know....Sametime would be an easy option I think...

Thanks
storage
 
Posts: 28
Joined: Tue Nov 11, 2008 3:48 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Run ISREDIT in Batch

Postby prino » Mon Mar 14, 2011 9:22 pm

First of all, please use
[code][/code]
around your code.

  1. ISPxLIBs are the same as those you see after the command ISRDDN. Normally it's enough to use the IBM ones, and dispense with everything that's site-specific.
  2. For ISPPROF you should use:
    //ISPPROF   DD DSN=&&PROFILE,
    //             DISP=(,DELETE,DELETE),
    //             UNIT=SYSDA,
    //             SPACE=(TRK,(1,1,1),RLSE),
    //             DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
  3. The %TBUPDATE command is obviously a command that starts ISPF and does what needs to be done.

I use these members:

JCL

//PRINOISP JOB (wahtever),
//             'ISPF BATCH',
//             CLASS=whatever,
//             MSGCLASS=whatever,
//             MSGLEVEL=(2,0),
//             NOTIFY=&SYSUID
//*********************************************************************
//         SET REXX='PRINO.EXEC'                                 
//*
//         SET OUTC='*'
//         SET OUTD='*'
//*********************************************************************
//PROCS JCLLIB ORDER=(&REXX)
//*********************************************************************
//ISPFBAT EXEC PGM=IKJEFT01,
//             DYNAMNBR=50,
//             PARM='%ISPFBAT B&SYSUID'
//*
//     INCLUDE MEMBER=ISPF@ICI


INCLUDE MEMBER, ISPF@ICI

//ISPPROF   DD DSN=&&PROFILE,
//             DISP=(,DELETE,DELETE),
//             UNIT=SYSDA,
//             SPACE=(TRK,(1,1,1),RLSE),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//*
//SYSEXEC   DD DSN=&REXX,DISP=SHR
//          DD DSN=whatever,DISP=SHR system exec lib
//ISPEXEC   DD DSN=whatever,DISP=SHR
//SYSPROC   DD DSN=whatever,DISP=SHR
//ISPLLIB   DD DSN=whatever,DISP=SHR
//ISPPLIB   DD DSN=whatever,DISP=SHR
//ISPMLIB   DD DSN=whatever,DISP=SHR
//ISPSLIB   DD DSN=whatever,DISP=SHR
//ISPTLIB   DD DSN=whatever,DISP=SHR
//ISPTABL   DD DUMMY
//ISPLOG    DD SYSOUT=&OUTC,
//             DCB=(RECFM=FBA,LRECL=121,BLKSIZE=0)
//*
//SYSTSPRT  DD SYSOUT=&OUTC
//SYSPRINT  DD SYSOUT=&OUTC
//*
//SYSTSIN   DD DDNAME=SYSIN
//SYSIN     DD DUMMY,
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//*
//SYSUDUMP  DD SYSOUT=&OUTD,
//             HOLD=YES


STARTUP MEMBER, ISPFBAT

/* REXX exec to set up batch ISPF environment */
arg cmd

if arg(1, 'E') then
  "ispstart cmd(%"cmd") bdispmax(1)"


Don't bother starting ISPF if there is no command, and you cannot display panels in batch, so bomb out if you try even 1.

And a sample of the code that might be in member B%SYSUID:

/* REXX exec to do things in batch */
"exec 'prino.exec(this)'"
"exec 'prino.exec(andthat)'"
exit


with the 'this' and 'that' exec's that you can dry-test on-line, e.g.

/* REXX */
"ispexec edit dataset('whatever(mem)') macro(mymacro)"


Now go away and don't come back unless you have a real problem.
Robert AH Prins
robert.ah.prins @ the.17+Gb.Google thingy
User avatar
prino
 
Posts: 640
Joined: Wed Mar 11, 2009 12:22 am
Location: Vilnius, Lithuania
Has thanked: 3 times
Been thanked: 29 times

Previous

Return to TSO & ISPF

 


  • Related topics
    Replies
    Views
    Last post