February 1998 Newsletter
IOFTech Maintenance Release8G Newsletters Doc FAQ Contact Home |
Increase Productivity with IOF/TSO Indexing
Topics
Shooting SYSUDUMPS Online Indexing CICS Transaction Dumps Indexing Production Reports Indexing a Report in Batch TSO
|
The IOF/TSO Build Index command simplifies shooting a SYSUDUMP online. This command automatically constructs an index to the most frequently used dump elements. The index increases your overall productivity by providing you with an easy and quick problem-solving tool.
First, SELECT a job for review that has a SYSUDUMP data set on SYSOUT. Then, from the Job Summary Panel, enter the BI line command for the SYSUDUMP data set as shown below.
------------------------------- IOF Job Summary ------------------------------- COMMAND ===> SCROLL ===> CURSOR --JOBNAME---JOBID--STATUS---RAN/RECEIVED------DAY--------DEST------------------ TESTRUN J09588 OUTPUT 9:40 2/09/1998 TODAY LOCAL --RC--PGM--------STEP-----PRSTEP---PROC-----COMMENTS--------------------------- ABND CMPRAX99 STEP01 GO TESTCMPR ABEND SYSTEM=0C4 USER=0000 --------DDNAME---STEP-----PRSTEP---STAT-ACT-C-GRP-D-SIZE-U--DEST--------------- _ 1 LOG * A 1 W 35 L LOCAL _ 2 JCL * A 1 W 15 L LOCAL _ 3 MESSAGES * A 1 W 42 L LOCAL _ 4 SYSTSPRT STEP01 GO A 1 W 38 L LOCAL bi 5 SYSUDUMP STEP01 GO HELD H 2 H 278K L LOCAL |
BI scans and analyzes each of the 278k lines of the SYSUDUMP data set to build and display an IOF Data Index such as the one shown below.
------------------------------- IOF DATA INDEX ------------------------------- COMMAND ===> SCROLL ===> CURSOR ------------------------------------------------------------------------------ _ 1 DUMP1 SYSTEM = 0C4 REASON CODE = 00000001 s 2 TCB at 008B0698 had CMP 940C4000 _ 3 PRB Chain _ 4 CDE Chain _ 5 TCB Summary _ 6 MVS RTM2 work area summary _ 7 PSW Pointer, PSW address is 05047E12 _ 8 Save Area Trace _ 9 Registers at entry to abend _ 10 LPA/JPA Module CMPRAX99 _ 11 LPA/JPA Module CMPRFA17 _ 12 Abend PSW area _ 13 LPA/JPA Module CMPRHA01 _ 14 LPA/JPA Module CMPRHA02 _ 15 User Subpool Storage _ 16 Start of system trace table _ 17 Dump Index |
The second line of the IOF Data Index in the example above is the index entry for the TCB that abended with code 0C4. To browse this TCB, enter the S line command to the left of this item as shown. This will be substantially quicker than searching for the TCB in error.
Press END to return to the IOF Data Index so that you can select other dump elements to browse.
Assume you scroll to the location pointed to by Register 1. From the
command line, enter:
When you redisplay the IOF Data Index by entering the INDEX
command, your comment will be shown along with the previous entries. This
becomes your online margin note. You can select your note from the
IOF Data Index to redisplay the area pointed to by R1. This
is your online bookmark.
jobname is the name of the job you are browsing
jobid is the job number of the job you are browsing
To restart the dump shooting session using the saved index, select the job
so that the Job Summary Panel is displayed. Enter VIEW (or
V) on the command line to restore the original browse session using
the saved index. Then, enter INDEX to redisplay the IOF Data
Index, including your comments.
See the Indexing Tutorial in Chapter 9 of the
IOF User Guide for a general discussion of indexing in IOF and for
the full syntax of the indexing commands.
The REXX exec will detect all data set names having your data set name
prefix and ending IOFINDEX. It will determine if a job with matching
jobname and job exists on the JES2 queue. If the job does not exist, the
index data set is deleted.
If you use the SI command, it is a good idea to enter the
IOFCLNDX command occasionally to clean up obsolete index data sets.
Adding Your Own Comments
When shooting a paper copy of a dump, bookmarks and margin notes often are
useful. The IOF Define Entry command provides these pen-and-paper
functions electronically. The command name is DEFENTRY, abbreviated
as "." (period).
. /DUMP1 Region Table Control Block pointed
to by R1
DUMP1 is the name of the index to which you want
your comment added. You determine this name from the top line of the index
panel above.
Region Table Control Block pointed to by R1 is your
comment. It can be a maximum of 68 characters long.
Saving the Index and Comments for Later Use
It sometimes is necessary to interrupt shooting a dump temporarily. The
Save Index command allows you to save the data index including any
comments you may have added for later use. Enter SI on the
Browse command line to save the index in data set name:
prefix.jobname.jobid.IOFINDEX
prefix is your session DSN prefix
Deleting Old Index Data Sets
The IOFCLNDX REXX exec will clean up old index data sets. From ISPF
Option 6, or from TSO READY enter:
IOFCLNDX
Indexing CICS Transaction Dumps
The IOF/TSO BI command also increases the productivity for CICS
programmers by building useful indices to CICS Transaction Dumps. First,
select a CICS Transaction Dump Utility job that has a transaction
dump queued to SYSOUT. Next, enter the BI line command on the
IOF Job Summary for the DFHPRINT data set as shown below.
IOF will analyze and build indices to important elements of the transaction
dumps.
------------------------------- IOF Job Summary ------------------------------- COMMAND ===> SCROLL ===> CURSOR --JOBNAME---JOBID--STATUS---RAN/RECEIVED------DAY--------DEST------------------ CICSDMPA J09793 OUTPUT 15:17 2/09/1998 TODAY LOCAL --RC--PGM--------STEP-----PRSTEP---PROC-----COMMENTS--------------------------- 0 DFHDU410 DMPA --------DDNAME---STEP-----PRSTEP---STAT-ACT-C-GRP-D-SIZE-U--DEST--------------- _ 1 LOG * HELD J 1 H 17 L LOCAL _ 2 JCL * HELD J 1 H 7 L LOCAL _ 3 MESSAGES * HELD J 1 H 18 L LOCAL _ 4 DFHTINDX DMPA HELD J 1 H 3 L LOCAL s 5 DFHPRINT DMPA HELD J 1 H 8257 L LOCAL |
Normally, there are multiple transaction dumps included in the sysout data set. When there is more than one transaction dump, each dump is indexed into a separate high-level index. The indices will be displayed for selection on the IOF Data Indices Menu. In the example below, the DUMP001 index has 21 entries and was written at 11:14 on 02/09/98.
--------------------------IOF-DATA-INDICES-MENU------------------------------- COMMAND ===> SCROLL ===> SCREEN ------- NAME --- COUNT ------- DESCRIPTION ----------------------------------- s 1 DUMP001 21 CICSPROD 02/09/98 11:14:02 CODE=I0C1 _ 2 DUMP002 27 CICSPROD 02/09/98 13:24:57 CODE=I804 |
The S line command is used to select the DUMP001 index as shown above. This displays the IOF Data Index for DUMP001.
-------------------------------- IOF DATA INDEX ------------------------------- COMMAND ===> SCROLL ===> CURSOR ------------------------------------------------------------------------------- _ 1 CICSPROD 02/09/98 11:14:02 CODE=I0C1 _ 2 SYMPTOMS= AB/UI0C1 PIDS/565501800 FLDS/DFHABAB RIDS/IOFCIC _ 3 REGISTERS AT LAST EXEC COMMAND _ 4 TASK CONTROL AREA (SYSTEM AREA) _ 5 TRANSACTION WORK AREA _ 6 SYSTEM EXEC INTERFACE BLOCK _ 7 EXEC INTERFACE USER STRUCTURE _ 8 EXEC INTERFACE BLOCK _ 9 COMMON SYSTEM AREA ADDR 00045570 : 00045773 (000204) _ 10 CSA OPTIONAL FEATURE LIST ADDR 00045980 : 00045E57 (0004D8) _ 11 COMMON WORK AREA _ 12 TRANSACTION STORAGE-CICS31 ADDR 0554A000 : 0554A12F (000130) _ 13 TRANSACTION STORAGE-USER24 ADDR 00200000 : 002001FF (000200) _ 14 TRANSACTION STORAGE-USER31 ADDR 05608AF0 : 0560B5CF (002AE0) _ 15 TERMINAL CONTROL TABLE ADDR 0551D228 : 0551D41F (0001F8) _ 16 PROGRAM INFORMATION FOR THE CURRENT TRANSACTION _ 17 PROGRAM STORAGE ADDR 05744000 : 05747DEF (003DF0) _ 18 PROGRAM TRANSACTION AREA _ 19 PPT ENTRIES FOR ACTIVE PROGRAMS _ 20 TASK LOAD LIST ELEMENTS _ 21 LOAD MODULE INDEX |
Select an indexed item to jump to the indexed transaction dump element. You may have to scroll the data index down to see all the indexed items. Pressing END returns you to the IOF Data Index .
You can add your own comments to the index, and save it for future use as described above.
Many reports have a title line that includes control break information in fixed columns. For example, a sales report might include the city on line 2 of the report in columns 25 through 40. The Build Index command can generate a useful index to this type of report. BI displays the prompt panel below when it can not determine the output type. The user tells BI how to build the index by answering the prompts.
To build an index of the sales report described above, overtype the LINE field on the panel with "2" to specify line 2 of the report, and overtype the COLUMNS fields with "25" and "40" as shown below.
------------------- IOF Index Build Interface Menu --------------------------- COMMAND ===> Select a type of index from the list below, or specify the line and column numbers to control indexing in the parm fields below. blank - Use LINE and COLUMNS fields below to define indexing A - Assembler listing C - CICS transaction dump D - SYSUDUMP dump P - General page mode data L - Local data TYPE ===> 1 Local indexing type Generate an index entry whenever data on line and cols below changes LINE ===> 2 Line number on the page COLUMNS ===> 25 through ===> 40 Columns on the above line nbr Select an option and/or parms and ENTER to continue or END to quit. |
Whenever the value in columns 25 through 40 changes or line 2 of a page changes, the data from columns 25-40 is used to build an index entry. An IOF Data Index panel similar to the one shown below will be displayed.
------------------------------- IOF DATA INDEX ------------------------------- COMMAND ===> SCROLL ===> CURSOR ------------------------------------------------------------------------------ _ 1 Albany _ 2 Binghamton _ 3 Bronx _ 4 Brooklyn _ 5 Buffalo _ 6 Long Island _ 7 Manhattan N 8 Poughkeepsie _ 9 Queens _ 10 Rochester _ 11 Staten Island _ 12 Syracuse _ 13 Utica _ 14 White Plains |
The index can be used to directly access the data for each of the listed cities. For many reports, this is exactly the type of index that is needed to provide quick access to imbedded sub-reports.
//REPORT JOB 1,'MARKETING',MSGLEVEL=0,CLASS=S //* //* Build the sales report //* //NYCITIES EXEC SALESRPT //SALESDTA DD DISP=SHR,DSN=MARKETNG.MONTHLY.SALES.FILE //SALES DD SYSOUT=A,HOLD=YES //* //* Build an index to the SALES report from the NYCITIES step //* //BLDINDEX EXEC PGM=IKJEFT01 Batch TSO //SYSTSPRT DD SYSOUT=A,HOLD=YES TSO output //SYSPROC DD DISP=SHR,DSN=MARKETNG.CLIST Marketing Clist lib // DD DISP=SHR,DSN=IOF.IOFT7D0.CLIST IOF Clist library //SYSTSIN DD * TSO input %SALESNDX /* |
The SALESNDX clist in the MARKETNG.CLIST library does the required processing. It invokes the IOF$BIB1 clist which is part of the distributed IOF Release 7D CLIST library to build the index. (If you are running Release 7C, you should change this name to INDEXBRK). The index is then saved with the SAVEINDX command. The SALESNDX clist is shown below.
/*----- Sales Report Indexing Clist ------------------------------*/ PROC 0 CONTROL END(ENDO) ASIS NOFLUSH /* This clist builds an index to the SALES report data set which */ /* must be part of the current job. Get the current job on the */ /* Job List Menu, then SELECT it. */ IOF * CURRENT CLIST 1 SELECT /* Exclude all output data sets except the SALES report from the */ /* NYCITIES step from the menu. Then select that report for IOF */ /* Browse. */ EXCL STEP NE NYCITIES EXCL DDNAME NE SALES /* There should only be one data set left on the menu. Select it.*/ 1 SELECT /* Invoke the IOF$BIB1 clist to build the index. Specify the ROW*/ /* and COLUMNS as parms. See IOF$BIB1 for a description of parms*/ %IOF$BIB1 LINE(2) BEGCOL(25) ENDCOL(40) /* Save the index. To use this index, use the VIEW line command */ /* (or just "V") on the IOF Job List Menu. The IOF index for the*/ /* SALES report will be automatically displayed. */ SAVEINDX CMD('INDEX') /* Exit from IOF and then from the Clist */ JUMP X EXITExecuting this clist as the last step of the REPORT job builds exactly the same IOF data index as the BI command example shown above. The index is saved under the REPORT job's high level prefix. From the IOF Job List Menu, enter the V line command to browse the sales report using the saved index.
There are many other ways to use the IOF Browse indexing facilities. See the IOF User Guide Chapter 9 for detailed information on using the IOF Browse facilities and Chapter 18 for a discussion of the REXX and Clist interface. Sophisticated applications can be easily developed by combining indexing with the powerful SCAN command of IOF Browse.