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 

Can I run TSO in batch? What about ISPF?

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


Joined: 03 Jan 2003
Posts: 1014
Topics: 13
Location: Atlantis

PostPosted: Thu Nov 24, 2005 1:08 am    Post subject: Can I run TSO in batch? What about ISPF? Reply with quote

Since TSO is just a command line environment, it is easy to understand what running TSO in batch means; you can run TSO commands, including CLISTs and Rexx execs in batch. TSO in batch is just the invocation of IKJEFT01 or one of its variants.

ISPF, on the other hand, is usually a 3270 full screen interactive program with panels and messages. So what does it mean for ISPF to run in batch? Well there is no terminal. So ISPF formats panels, but never displays them. Instead, in batch, ISPF always simulates an ENTER key after logically displaying the panel. That means that if you run an ISPF program in batch, it must be able to complete using only ENTER keys as input. There is no way to fill in panel fields, no way to navigate around in an application and no way to press PF keys or enter commands on screens.

You run ISPF in batch to run your programs that use ISPF services in batch. You do not run ISPF in batch to simulate using screens. You can't use batch to automate typing at the terminal.

Usually people run edit macros in batch. That means the macro must exit with an END or CANCEL command.

If you get an error referring to BDISPMAX, it means that your program got into a loop where pressing the ENTER key was not enough to end the program. BDISPMAX errors usually mean that an ISPF error panel (sometimes called a "flower box") was displayed. When the virtual enter key was pressed, the message screen was displayed again. And so on.

To run ISPF in batch you must allocate the ISPF data sets to the appropriate ddnames. You can find these ddnames using the TSO ISRDDN command. Unless you are using variables from your TSO session (very rare and not trivial to do), you do not need to allocate your ISPF profile library to the job. Use a temporary data set. If you must use your profile library, copy it to a temporary data set in a previous job step.

You can automatically create a JCL sample that will run in your environment using a Rexx exec called BATCHPDF which was written by an end user (me) and is not supported by IBM or anyone else.
JCL for ISPF in batch will look something like this:
Code:
//GENER0   EXEC PGM=IEBGENER              Create temp clist and profile
//SYSUT1   DD *                                                         
 SET ZISPFRC = 0                                                       
 ISPEXEC VPUT (ZISPFRC) SHARED     /* set step return code */           
//SYSUT2   DD DISP=(NEW,PASS),DSN=&&CLIST0(TEMPNAME),                   
//            SPACE=(TRK,(1,1,2),RLSE),UNIT=SYSALLDA,                   
//            DCB=(LRECL=80,BLKSIZE=0,DSORG=PO,RECFM=FB)               
//PROFILE  DD DISP=(NEW,CATLG),DSN=USER1.T120481.ISPPROF,               
//            SPACE=(TRK,(10,10,5)),UNIT=SYSALLDA,                     
//            DCB=(LRECL=80,BLKSIZE=0,DSORG=PO,RECFM=FB)               
//SYSPRINT DD DUMMY                                                     
//SYSIN    DD DUMMY                                                     
//BATCHPDF EXEC PGM=IKJEFT01,DYNAMNBR=128  Invoke TSO                   
//ISPPLIB  DD DISP=SHR,DSN=ISP.SISPPENU                                 
//ISPSLIB  DD DISP=SHR,DSN=ISP.SISPSLIB                                 
//         DD DISP=SHR,DSN=ISP.SISPSENU                                 
//ISPMLIB  DD DISP=SHR,DSN=ISP.SISPMENU                                 
//ISPPROF  DD DISP=(OLD,PASS),DSN=USER1.T120481.ISPPROF                 
//ISPTABL  DD DISP=(OLD,PASS),DSN=USER1.T120481.ISPPROF                 
//ISPTLIB  DD DISP=(OLD,PASS),DSN=USER1.T120481.ISPPROF                 
//         DD DISP=SHR,DSN=ISP.SISPTENU                                 
//ISPCTL0  DD DISP=(NEW,DELETE),SPACE=(TRK,(10,10)),UNIT=VIO,           
//            DCB=(LRECL=80,BLKSIZE=0,DSORG=PS,RECFM=FB)               
//ISPCTL1  DD DISP=(NEW,DELETE),SPACE=(TRK,(10,10)),UNIT=VIO,           
//            DCB=(LRECL=80,BLKSIZE=0,DSORG=PS,RECFM=FB)               
//ISPWRK1  DD DISP=(NEW,DELETE),SPACE=(TRK,(10,10)),UNIT=VIO,           
//            DCB=(LRECL=80,BLKSIZE=0,DSORG=PS,RECFM=FB)               
//ISPLST1  DD DISP=(NEW,DELETE),SPACE=(TRK,(10,10)),                   
//            DCB=(LRECL=133,BLKSIZE=0,DSORG=PS,RECFM=VB)               
//ISPLOG   DD SYSOUT=*,                                                 
//            DCB=(LRECL=120,BLKSIZE=2400,DSORG=PS,RECFM=FB)           
//ISPLIST  DD SYSOUT=*,DCB=(LRECL=121,BLKSIZE=1210,RECFM=FBA)           
//SYSTSPRT DD SYSOUT=*                                                 
//SYSTSIN  DD *                                                         
 PROFILE PREFIX(USER1)                                                 
 ISPSTART CMD(%TEMPNAME) NEWAPPL(ISR)                                   
//SYSEXEC  DD DISP=SHR,DSN=ISP.SISPEXEC                                 
//SYSPROC  DD DSN=&&CLIST0,DISP=(OLD,DELETE)                           
//         DD DISP=SHR,DSN=ISP.SISPCLIB                                 
//DELPROF  EXEC PGM=IEFBR14        Delete temporary profile data set   
//DELETEDD DD DSN=USER1.T120481.ISPPROF,DISP=(OLD,DELETE) 
Back to top
View user's profile Send private message Visit poster's website
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