MVS TOOLS AND TRICKS OF THE TRADE October 1989 Sam Golob MVS Systems Programmer sbgolob@cbttape.org VIEW JOBS AND OUTPUT DIRECTLY FROM SPOOL--QUEUE & SDF Note: This article is largely superseded by the usefulness of IBM's spool-browsing products for JES2 and JES3 called SDSF. At the time of this writing, SDSF was not widespread in its use, but nowadays, its use is widespread and almost universal. This month, I am very pleased to talk about one of my favorite topics. Our subject concerns how nearly every MVS shop can be equipped to VIEW JOBS AND PRINTOUT DIRECTLY FROM SPOOL. It does not matter whether your shop has JES2 or JES3. The equipment is there, and SOME VERY GOOD SOFTWARE IS FREE, TOO! I'll hopefully show you what the appropriate software products are, how to get them, and some of the things they can do. The time-honored means of viewing job output from a TSO session is the use of the TSO "OUTPUT" command, which can be used for looking ONLY at completed jobs, and ONLY output which has been queued to special "TSO-held" output classes. The "ISPF 3.8 option" is merely a formalization and packaging of the results of the OUTPUT command, with the printout being written to an allocated file, and the file ISPF-browsed. Running jobs cannot be viewed at all. Neither can jobs whose output was not initially queued to a "held" output class. In all cases using this method, "REAL SYSOUT" sitting on the spool is not seen; only COPIED IMAGES WRITTEN FROM SPOOL to either an allocated file, or to the terminal, are what can be accessed by the user. Fortunately for us in a more "modern" era, there are better ways of looking at your jobs. IBM's contribution to "spool-viewing" and "spool-handling" is called SDSF, which (depending on release) stands for "Spool Display and Search Facility", or "System Display and Search Facility". SDSF works only for JES2, and is supported for all of the recent JES2 release levels. It affords a great deal of control and usability in looking at spool files, and it offers very considerable power for rerouting output, changing classes and altering other parameters of output jobs. SDSF can also be used for VIEWING RECENT CONSOLE MESSAGE OUTPUT of the hardcopy syslog. It offers the nice feature of splicing buffered SYSLOG material WHICH HAS NOT YET BEEN WRITTEN TO SPOOL to the end of the actual files on spool, SO THAT UP-TO-DATE, SEAMLESS AND CURRENT CONSOLE IMAGES ARE ALWAYS AVAILABLE TO THE VIEWER. The TSO user can thus view the current console screens and enter MVS and JES2 commands. SDSF is not cheap, however, so that many shops have either gotten another vendor product called "IOF" (Interactive Output Facility from Triangle Systems Inc. in Research Triangle Park, NC) which is somewhat less expensive, or have chosen the course of "doing without". Since IBM and (to my knowledge) other vendors have pretty much neglected to supply similar equipment for JES3, we have the lower-budget JES2 shops and most JES3 shops doing nothing at all to further assist their programmers. THIS LATTER COURSE OF NON-ACTION IS COMPLETELY UNNECESSARY, as we shall show, and I'm fairly sure that just about every MVS shop can help itself to "view spool from spool", even for JES3. The JES2 "freebie" programs for viewing spool are varieties of a program called "QUEUE". Several flavors and variations of QUEUE exist, and are readily available to the public. As for all programs of this type, a different version of the program must be installed depending on the release level of JES2 which you have. That's because internal format of SPOOL and checkpoint files varies considerably from release to release. As of the present writing, versions of QUEUE for supported, old, and new levels of JES2 (including the ESA version 3.1) can be found on either the JES2 SHARE Mods Tape (Skip Robinson - (818) 507-3358) or on the CBT MVS Mods Tape (Arnold Casinghino - (203) 244-5495). There is even a JES2 tape (that was obtainable from the now defunct "SPLA") which has mods for "ancient" (non-SP) JES2 releases. The JES3 product, called "SDF" or Spool Display Facility, runs under ISPF. It is a very sophisticated product with large capabilities, and IT IS FREE SOFTWARE. SDF is supported by Bruce Engle in the San Francisco area of California, and it can be found (two versions) on the JES3 SHARE Mods tape (Alan Field - (314) 839-9440). YOU DO NOT HAVE TO BE A "SHARE" OR "GUIDE" MEMBER to obtain any of these tapes. FILE15 of that tape has an older, non-XA version of SDF, while FILE21 contains the fully supported, modern XA version that has gone through nine release levels in the past two and a half years. QUEUE, for JES2, was largely originated by Robert Jinkins, formerly of the Oak Ridge National Laboratory, and now of IBM. Its versions have had many contributors and modifiers (including me). In our discussion, we shall use people's names to refer to the different versions, even though this is somewhat unusual. However, this is actually the way that many people think of the product. Plain "garden variety" QUEUE is known as "Jack Schudel QUEUE", after good old (not so old) Jack Schudel of the University of Florida, who is one of the premier knowledgeable non-IBM JES2 people. It is largely this version that I'll talk about here. There is a somewhat extra-featured variety known as "Leonard Woren QUEUE" (or USC QUEUE, because Leonard Woren is at USC in California). Leonard Woren's QUEUE is a transformation of the older program, made to look and act more ISPF-like in its appearance and help features. Guy Albertelli of B.F. Goodrich in Akron, Ohio has made ISPF-ized versions of both "Jack Schudel QUEUE" and "Leonard Woren QUEUE". Albertelli's versions use ISPF browse facilities to display output, and can be run in one split-screen of an ISPF session. The other varieties send their displays directly to the full terminal, and are completely independent of ISPF. QUEUE is designed to be cognizant of different levels of user authorization. Most users can only view their own output (jobname = userid + one character). More privileged users can get access to other jobs (started tasks and TSO users included) and their associated spool files. Installers can readily customize authorization levels, whose programming is quite obvious in the source code of all varieties. If QUEUE is run as an APF authorized program, it has more power (to requeue, cancel, and delete jobs) than if it is running non-authorized (purely "looking" functions only). Now let's look and get an overview of how these programs work. JES output (for both JES2 and JES3) is broken up into units called "datasets". Each "dataset" corresponds roughly to one DDNAME directed to SYSOUT, or to an output produced by the operating system for JES itself. QUEUE and SDF both, concentrate on displaying individual JES datasets, one at a time, rather than concatenating them together, as do paper printouts and ISPF option 3.8. This is about the only flaw in QUEUE, that it cannot display all the JES2 datasets for a job, concatenated together. BUT IT CAN ALLOW THE VIEWING OF JUST ABOUT ANY PART OF A JOB THAT IS SITTING ON A SPOOL FILE, EVEN IF THE JOB IS NOT COMPLETE, AND IT DOES NOT MATTER WHETHER OR NOT THE SYSOUT IS IN A "HELD" CLASS. ANYTHING ON SPOOL CAN BE VIEWED (even JES2 control blocks) if it is there. That is the advantage of the programs of this type. We shall first discuss the JES2 products called QUEUE, and then we'll mention some features and capabilites of the JES3 product, SDF. I myself run a JES2 shop, so that the JES3 readers should endeavor to fill in more of the details about SDF for themselves. The standard QUEUE TSO-command has four HELP screens, which have been presented in Figure 3. The word HELP, or ANY INVALID COMMAND, will invoke the first HELP screen. Successive ENTER commands will step the user through the rest of the screens in a cycle. These screens contain the commands to exploit the considerable capabilities of the program. My aim here is to lead the user through some of the everyday commands for normal use, just so you see some of what QUEUE will let you do. The finer details can largely be discovered from the commands in the help figures. The "starter" commands, from the first help screen, are STAT (or ST), LIST (or L), and PDDB. With these three commands, you can begin looking at jobs. STAT lists all jobs, TSO users, and started tasks beginning with the letters you supply. For example, "ST TS" would show all jobs, STCs and TSO users whose names begin with the letters "TS". From this list, JOB NUMBERS are displayed, and if you are interested in looking at a certain job (if the name is not unique), the job number can be used. PDDB displays ALL JES2 DATASETS CONNECTED WITH A GIVEN JOB. For example, the command "PDDB 3438" would yield a list of output datasets connected with JOB 3438 (or TSO 3438, or STC 3438) if such a job, STC, or TSO user exists in that JES2 system. Figure 1 will illustrate the result of a PDDB command. From the figure, it is clear that dataset id (or DSID) 102 contains the main output of the program that has run. To see this output, we enter "LIST 3438 102", or "L * 102", where "*" means 'the current job'. Since we had previously entered the "PDDB 3438" command, QUEUE 'knows' that 3438 is the current job. Now suppose we wanted to check the condition code of the job steps. We enter a LIST command for DSID 4, the "substitution JCL and run messages" dataset id. The command would be: "L 3438 4". Having obtained this dataset id, we could issue a FIND command for the word "CODE", which will usually show a line containing a step condition code. An even better means of using QUEUE to display all the step condition codes is with the 'find all' command called "FALL". If we issue "FALL CODE", we obtain ONLY THE OUTPUT LINES CONTAINING THE STRING "CODE". See Figure 2 for an example illustrating a multi-step job. QUEUE can display all non-held OUTPUT with the command "DO", which means 'display output'. HELD OUTPUT is displayed with the command "HO". Current jobs running in initiators are shown with the command "XI". Jobs either running, or awaiting an initiator, are shown by the command "DI" (or 'display input'). Any dataset id currently being displayed by QUEUE can be hardcopy printed with the command "SPIN" (to spin off output to a local printer). The currently displayed dataset id can be written to a disk dataset with the "SAVE" command. The SAVE command needs operands. For example, "SAVE AB CD" would write the DSID being displayed to a new dataset (on a STORAGE volume) called 'userid.AB.CD'. If only one operand is supplied to the SAVE command, the second operand is assumed to be 'DATA'. Therefore, "SAVE AB" would save the DSID to the new dataset: 'userid.AB.DATA'. If that dataset name is already cataloged, or exists on the storage volume, the message: " *** UNABLE TO ALLOCATE DATASET *** will appear. The user need only to enter another SAVE command, this time specifying a completely new dataset name, and that DSID will be saved to the new name. (In Leonard Woren QUEUE and in the JES3 product SDF, "COPY" is the command equivalent to "SAVE".) Besides doing ordinary displays, QUEUE can do other things. The recent system console messages residing on JES2 spool can be shown using the command: "SLOG". This command will display the contents of the current DSID for the SYSLOG task. Most recent messages from the console, which are still in buffers in memory, and which have not yet "made it" to the spool, will not be shown by the QUEUE program; QUEUE can list only data on the JES2 spool. IBM's SDSF WILL show that data, as I mentioned before. More esoteric things that QUEUE will show are JES2 control blocks, for example: the JQEs, IOT, JCT, JOEs, and HCT save area for a job. Any block from SYS1.HASPACE can be displayed in hex and EBCDIC, with the command "XB", if you know its location. Some of these locations are shown in the PDDB display (Figure 1). Thus, the command, "XB 02052305" will display the block on spool, containing the original JCL of the job 3438 shown in the figure. QUEUE can be invoked to look at spool belonging to a different active JES2 system or belonging to a system that is down. We have an MVS TEST system that runs VIRTUAL=VIRTUAL under VM. Most of the time, that system is down. Even when it is up, I often don't even have to bring up TSO under that Test System. What I do is, I edit the jobs I want to submit using my regular MVS system's TSO, and save those jobs to disk. Then I submit the jobs from the Test System by using TSSO (Time Sharing Subsystem Option - Version 4.3 from the CBT MVS Mods tape - file 401) using the Test System OPERATOR CONSOLE. To look at the jobs, I run QUEUE from MY NORMAL TSO, but POINTED TO THE CHECKPOINT FROM THE TEST VOLUME SPOOL. It works fine. I can't requeue or delete any jobs from there, but then, I have the Test System Console to do that from. I once solved a tough JES2 routing problem by using QUEUE to display a job's JCT. Since the routing information for the job is contained in that JES2 control block (not to be confused with MVS's JCT control block), I could figure out the ultimate destination of the output without actually letting it fly over the network. People trying to write a JES2 EXIT 6 routine (internal text scan) will gain invaluable help from QUEUE, which displays internal text for a job (it is DSID number 5 for every job). This internal text can be written to a disk dataset with the SAVE command, and studied, for the purpose of writing the exit. I have to conclude my treatment of QUEUE here, because of space considerations. The version we have described is Jack Schudel's QUEUE, which is available for many different releases of JES2, and which is probably the most clean and standard version. In Jack Schudel QUEUE, you can literally "go from anywhere to anywhere" with one command, since there is no hierarchy structure defined. Leonard Woren tried to introduce an ISPF-like appearance to QUEUE, and he optionally preserves quite a bit of what you are currently doing, so that the user can explore the structure of a job by stages, first looking at the DSIDs (Leonard changed the PDDB command to just "DD") and then LISTing them directly with LINE COMMANDS from the "DD" screen. Leonard also changed the HELP structure to consist of a full screen of tutorial for each separate command. I really don't have more space to devote to QUEUE here. I can only implore our esteemed readership to obtain the tapes, install the QUEUEs, and explore. It will be rewarding. Now for the JES3 people. SDF is a marvelous product that does for JES3 users, something equivalent to what SDSF and QUEUE combined, do for JES2 users. For the XA version (the really sophisticated one), Bruce Engle has gone through nine releases in the past two and a half years! I am including (Figure 5) a list of some of his upgrades throughout the nine releases. This will give the JES3 people some material to look at, that will show them what SDF can do. I must apologize again that I cannot run SDF at my (JES2) shop, but I'll make an attempt to mention some of its capabilities. SDF is a TSO command processor which runs as an ISPF dialog. As its primary dialog menu (Figure 4) shows, SDF contains complete queue search, job display, and output display facilities. It has the ability to display a copy of the JES3/MVS consoles and enter console commands, and it has an interface to the TSO/E TRANSMIT/RECEIVE functions. In addition, it has access to the JES3 Job Zero output, which is produced by internal JES3 functions, and which is unique to JES3. ISPF browse facilities are used throughout SDF operation. Output requeue, cancel, transmit, and copy (or save to disk or sysout) are conveniently done, and are easily available. The facilities are very extensive, and users have told me that SDF is very easy to use, besides having such full function. Space is limited for me here to further enumerate details of SDF operation. I will include a list of some of the recent enhancements to the product, so that a JES3 user, who is involved in the details, can get an idea of what has been added, and can learn more particulars of what the product can do. This material is shown in Figure 5. Good luck with trying these helpful products. If you don't have some "spool-browse" software of this type installed, I'm absolutely certain that an investigation of these products will yield much reward for your shop, and the gratitude of many users. * * * * * * * * * * * * * * * * * * * * * * Figure 1. DISPLAYING THE JES2 DATASETS FOR A JOB QUEUE COMMAND - PDDB 3438 DSID F1 RECORDS C MTTR PROCNAME STEPNAME DDNAME 1 6A 20 T 02052305 $JCL (Original JCL) 2 23 17 T 02052407 JES2 $JES2LOG (JES2 Log ) 3 03 20 T 02052304 JES2 $JCLIMG (Expanded JCL) 4 03 43 T 02052401 JES2 $SYSMSGS (Run Messages) 5 08 0 A 02052404 JES2 $INTTEXT (Internal Text) 6 08 0 A 02052408 $JOURNAL (Internal Jrnl) 101 08 4 T 02052307 STEP1 SYSIN (SYSIN dataset) 102 03 658 T 02052501 STEP1 SYSPRINT (SYSPRINT DD) 103 00 0 A 00000000 SYSUDUMP (SYSUDUMP DD (unopened)) REPLY - * * * * * * * * * * * * * * * * * * * * * * Figure 2. DISPLAYING CONDITION CODES FOR A MULTI-STEP JOB QUEUE COMMAND - FALL CODE JOB 2029 , DSID 4, REC # 369, END OF DATA. LAST REC # 382 IEF142I TSTBMP2S CLEARSYS - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01COPY CNTL - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01CMPRS CNTL - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01COPY DATA - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01CMPRS DATA - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01COPY PROFILE - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01CMPRS PROFILE - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01COPY COBOL - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01CMPRS COBOL - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01COPY ASM - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01CMPRS ASM - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01COPY BCOBOL - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01CMPRS BCOBOL - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01COPY NSRSCNTL - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01CMPRS NSRSCNTL - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01COPY PUTPDS - STEP WAS EXECUTED - COND CODE 0000 IEF142I TSTBMP2S S01CMPRS PUTPDS - STEP WAS EXECUTED - COND CODE 0000 REPLY - * * * * * * * * * * * * * * * * * * * * * * Figure 3. STANDARD QUEUE PROGRAM CAPABILITIES (from Albertelli version of Schudel QUEUE) QUEUE HELP - Screen 1: QUEUE COMMAND - HELP C= 078 D= 007 THE FOLLOWING SUBCOMMANDS ARE SUPPORTED: END - EXIT QUEUE COMMAND STAT LEVEL - DISPLAY ALL JOBS BEGINNING WITH LEVEL DJ JOBNAME - DISPLAY JOB BY JOBNAME JCL JOBNAME - LIST JCL FOR A JOB JLOG JOBNAME - LIST JOBLOG FOR A JOB JMSG JOBNAME - LIST SYSTEM MESSAGES FOR A JOB JHIS JOBNAME - LIST JOB HISTORY INFORMATION DD JOBNAME - LIST SYSIN/SYSOUT DATASETS FOR A JOB PDDB JOBNAME - LIST PDDB'S FOR A JOB LIST JOBNAME DSID - LIST A SYSIN OR SYSOUT DATASET LIST * +/-N - LIST NEXT OR PREVIOUS N'TH DATASET SAVE DSN - COPY CURRENT DATASET TO DISK SPIN CLASS - SEND COPY OF CURRENT DATASET TO SYSOUT PRINT ON CLASS DEST - OPEN SCREEN LOG PRINT - PRINT CURRENT SCREEN PRINT OFF - CLOSE SCREEN LOG MODEL # - SET 3270 MODEL 2, 3, 4, OR 5 NOTES: (1) DEFAULT FOR LEVEL IS LOGON ID (2) JOBNAME CAN BE JOBNAME, NUMBER, OR "*" FOR CURRENT JOB (3) DSID CAN BE DETERMINED BY USING SUBCOMMAND DD OR PDDB (4) DSN WILL BE EXPANDED TO PREFIX.DSNAME.DATA REPLY - - - - - - - - - - - - - - - - - - - - - - - QUEUE HELP - Screen 2: QUEUE COMMAND - HELP C= 078 D= 007 THE FOLLOWING SUBCOMMANDS ARE SUPPORTED: PFK - LIST PROGRAM FUNCTION KEYS PFK NN TEXT - REDEFINE PROGRAM FUNCTION KEYS SBSY TEXT - SWITCH TO SUBSYSTEM NAMED 'TEXT' FIND 'STRING' COL(SS,EE) - FIND CHARACTER STRING FALL 'STRING' COL(SS,EE) - FIND ALL OCCURRENCES OF STRING (COL DEFAULTS TO ALL) COL # - REPOSITION HORIZONTALLY TO COLUMN NUMBER @/MD # - REPOSITION TO SPECIFIC RECORD NUMBER +/D # - REPOSITION FORWARD IN DATASET # RECORDS -/UP # - REPOSITION BACKWARD IN DATASET # RECORDS T/TOP - REPOSITION TO TOP OF DATASET B/BOTTOM - REPOSITION TO BOTTOM OF DATASET HF/HB # - FORWARD/BACKWARD # HALF PAGES PF/PB # - FORWARD/BACKWARD # PAGES NOTES: (1) STRING SPECIFICATION FOR FIND MAY BE DELIMITED WITH BLANKS, SINGLE QUOTES, OR DOUBLE QUOTES. REPLY - - - - - - - - - - - - - - - - - - - - - - - QUEUE HELP - Screen 3: QUEUE COMMAND - HELP C= 078 D= 007 THE FOLLOWING SUBCOMMANDS ARE SUPPORTED: DA - DISPLAY ALL JOBS IN EXECUTION DT - DISPLAY TSO USERS DS - DISPLAY SYSTEM TASKS DC TYPE - DISPLAY CPU BATCH/STC/TSO (BLANK,B/J/S/T) DQ - DISPLAY INPUT QUEUES DI CLASS - DISPLAY ALL JOBS IN INPUT CLASS AI CLASS - DISPLAY JOBS AVAILABLE FOR PROCESSING HI CLASS - DISPLAY HELD JOBS IN INPUT CLASS DF - DISPLAY OUTPUT QUEUES DO CLASS - DISPLAY ALL JOBS IN OUTPUT CLASS WO - DISPLAY ONLY OUTPUT JOBS WITH WRITER NAME SPECIFIED AO CLASS - DISPLAY AVAILABLE OUTPUT HO CLASS - DISPLAY HELD OUTPUT NJ - DISPLAY NJE INPUT AND OUTPUT QUEUES DEFAULT FOR CLASS IS ALL CLASSES CAN JOBNAME

- CANCEL JOB ("P" OPTION FOR PURGE) DEL JOBNAME - DELETE JOB REQ JOBNAME - RELEASE JOB'S HELD OUTPUT REPLY - - - - - - - - - - - - - - - - - - - - - - - QUEUE HELP - Screen 4: QUEUE COMMAND - HELP C= 078 D= 007 THE FOLLOWING SUBCOMMANDS ARE SUPPORTED: SLOG ID - LIST THE SYSTEM LOG DATASET FTIME HH.MM.SS - REPOSITION SYSTEM LOG TO GIVEN TIME ID MAY BE A JOB# DETERMINED BY STATUS SYSLOG, OR IT MAY SPECIFY THE SYSTEM ID OF THE DESIRED SYSTEM (A NULL FIELD WILL LIST THE ACTIVE SYSTEM'S LOG) DEFAULT FOR SEQ IS 0 (THE CURRENT SYSLOG DATASET) (USE A VALUE OF 1, 2, ... TO OBTAIN PREVIOUS DATASETS) TSO CMD PRMS - ISSUE ANY TSO COMMAND W/OPTIONAL PARMS XB MTTR - DISPLAY BLOCK FROM SYS1.HASPACE USE "*" TO RE-SHOW AND "+" TO CHAIN XC - DISPLAY MASTER CONSOLE AND WEQS XD JOBNAME DSID - UNRESTRICTED DISPLAY OF DATASETS XI - DISPLAY ACTIVE INITIATORS XJ JOBNAME - DISPLAY UNINTERPRETED JQES AND JOES JQE JOBNAME - DISPLAY JQE IN HEX/EBCDIC JCT JOBNAME - DISPLAY JCT IN HEX/EBCDIC IOT JOBNAME - DISPLAY IOTS IN HEX/EBCDIC JOE JOBNAME - DISPLAY JOES IN HEX/EBCDIC HCT - DISPLAY HCT $SAVE AREA TGPS - LIST HIGH TRACK GROUP USERS REPLY - - - - - - - - - - - - - - - - - - - - - - - Figure 4. SDF PRIMARY OPTION PANEL ------------ SPOOL DISPLAY FACILITY 2.8 - PRIMARY OPTION MENU ------------------ OPTION ===> J JOBS - Job queue search O OUTPUT - Output queue search N NUMBER - Search by job number L LOG - System Log display (also LB for browse or LL for list) R RECEIVE - Receive data sets Z ZERO - Display JES3 job zero B BROWSE - Browse hexadecimal spool data C CONSOLE - Console display P PARMS - Set SDF parameter defaults K KEYS - Set PF key definitions for SDF T TUTORIAL - Display information about Spool Display Facility U UPDATES - Summary of changes to Spool Display Facility Enter the END command to return to the previous panel - - - - - - - - - - - - - - - - - - - - - - Figure 5. SOME SDF RELEASE ENHANCEMENTS (a partial list) VERSION 2.8 - 04/89 o TRANSMIT option enhanced to support Interactive Data Transmission Format (IDTF). o SDF now supports spanned records on spool (PSF data sets). o Reprint (copy to SYSOUT) option now allows user to specify an OUTPUT statement reference and character set. o COPY (to data set) option now allows user to specify "ANY" for data set disposition. This will replace a data set if it exists or automatically create one if it does not exist. o New option on RECEIVE function which allows user to copy a data set waiting to be received into a DASD data set. VERSION 2.7 - 12/88 o New function (primary option O) for searching JES3 output queue. o New function (primary option Z) to display JES3 job zero. o New options which allow user to bypass SYSLOG selection list and browse active SYSLOG data set directly. o Changed to support 5-digit job numbers. VERSION 2.6 - 07/88 o New RECEIVE function to search, browse, receive, and delete data sets waiting to be received. o Support added for copying data into partitioned data sets. o User may now copy into existing data sets with either fixed or variable length records and can have any record length and block size. o New "confirm delete" field in the SDF parameter options panel will allow the user to optionally prompted with a confirmation panel whenever a request is issued to delete all output or cancel a job. o User may now specify 'STC' in userid field to search for started tasks or 'JES3' in userid field to search for JES3 DSP jobs. o New MAP parameter and MAP command to display a storage map of SDF entry points and data areas. Enables SDF execution to be traced under VM using CP TRACE command. o SDF now supports record lengths greater than 255. o Performance and buffer handling improvements. QSAM I/O has been converted to BSAM. o Support included for JES3 2.2.1. VERSION 2.5 - 01/88 o New option 'L' to list all step completion codes and summary messages for job from the job selection list. o User may now specify a print class for the 'P' print option on the job selection list by entering 'Pc' where 'c' is the output class. o New SKIP command which allows the user to skip between data sets from within ISPF browse. o New FORMAT field on job selection list and data set selection list panels to specify display format. o Data set selection list now has three formats: SHORT/LONG/XLONG. SHORT form includes SYSOUT data sets only. o SORT command now allows specification of either ascending or descending sequence. VERSION 2.4 - 10/87 o New UPDATE command to update status of all jobs on the current job selection list without rereading the entire JCT. o Changed to retain purged jobs on job selection list (in *PURGED status) until UPDATE or REFRESH command is issued. o New SNAP command to take a snap dump for diagnostic purposes from any panel while in SDF. o New TUTORIAL command to access the SDF tutorial from any panel while in SDF. o Copy, transmit, and reprint functions now allow the user to copy selected portions of a data set by line number. o Copy, transmit, and reprint functions now allow the user to copy data from one job to multiple locations. It is no longer necessary to exit from the data set selection list and enter it again. o RACF and ACF2 versions of user exits combined into common source members. o New expanded parameter lists passed to security exits. o SDF now checks the security user id for a job as well as the submitting TSO user id for access authorization. o SDF now requires a Type 3 SVC (SDFSVC). VERSION 2.3 - 07/87 o Added ISPF REFRESH command to refresh data set contents from within ISPF browse. o Esoteric unit name for temporary browse data set may be specified by the user on the SDF Parms panel. o Improved formatting of JCT in control blocks display. o Added FRP, JVT, DJST, and dynamic allocation JST to control blocks display. o SDF may now be called recursively from within SDF. VERSION 2.2 - 04/87 o Added new console display function which dynamically displays SYSLOG messages in a scrollable area and allows authorized users to enter JES3 commands. o New RETRIEVE function for recalling up to 8 previous JES3 commands to the command line as in VM. o New AUTO command to set automatic scrolling on console display. o New FIND command which allows user to search for character strings in the console display buffer. o New LOCATE command which allows user to scroll to a specified time location within the console display buffer. o Added new options to place jobs on hold and to release jobs from hold. o Improved format for control blocks display. Each control block section is now displayed separately. o Modified the spool I/O interface to operate in key 1 to prevent conflicts with writer FSS address spaces. o SDF now validates all spool data being read to ensure that it still belongs to the job being accessed. VERSION 2.1 - 03/87 o New option which allows the user to cancel jobs in DJC net hold. o New option to browse SRF/MRF spool files from main selection panel. o Allow specification of default destinations for PRINT and FICHE requeue options. o Changed to use subtask for all requeue/delete/cancel/purge functions instead of generating TSO commands. VERSION 2.0 - 01/87 o SDF now disallows some options/commands when accessing spool from another JES3 complex. o Output processing options are now available directly from the job selection list (options O, DH, DW, MH, and MW). o The SDF main selection panel is now displayed from within the SDF program. This allows access to all SDF functions by issuing the TSO SDF command. o All load modules are now reentrant and are linked as REFR,RENT,REUS. o All load modules can now reside above the 16mb line and are linked as AMODE=31,RMODE=ANY. o SDF now correctly handles spool volumes that have been removed without a JES3 cold start, both when accessing the user's JES3 complex and when accessing another JES3 complex. o When accessing spool on the user's system, I/O is performed by the subtask using the JES3 block I/O service. The I/O subtask performs an asynchronous read-ahead of spool data sets into chained buffers. This results in a marked speed improvement. o SDFCOPY now calculates BLKSIZE and BUFNO values for the temporary data set. For devices with track sizes less than 32K, full-track blocking is used. Half-track blocking is used for other devices. o New internal trace table for debugging purposes. Trace table is activated by the TRACE parameter.