<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-21797163</id><updated>2011-12-13T19:52:45.129-08:00</updated><title type='text'>Mainframe Documents</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://endwaymainframe.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://endwaymainframe.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Endway editor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-21797163.post-113878957215646963</id><published>2006-02-01T02:26:00.000-08:00</published><updated>2006-02-01T02:28:10.650-08:00</updated><title type='text'>Xpeditor Quick Sample Debugging</title><content type='html'>&lt;span style="font-family:Courier New;"&gt;Quick Sample Debugging Session&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     This chapter demonstrates the basic debugging features of XPEDITER/TSO,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    using the sample program TRIMAIN.  A quick overview shows you how to do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the following:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    *   Run and stop the program&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    *   Step through code&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    *   View and modify program variables&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    *   Debug called modules&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    *   Analyze data flow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    *   Trace logic flow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    *   Review execution in reverse direction&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 3.1 Preparing the Programs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     The source for the sample program TRIMAIN, which calls TRITST and TRIRPT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    by use of CALL literal, is contained in the SAMPLIB dataset on the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    XPEDITER/TSO product tape.  The sample programs can be found in the common&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    load module, SIR, and file list libraries that have been created and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    verified by your site installer.  If not found, compile the sample&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    programs TRITST, TRIRPT, and TRIMAIN with the SIR processor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Select option 2.1 (XPEDITER/TSO standard environment) from the XPEDITER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Primary Menu.  Review the SETUP screens that have been initialized by your&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    site installer by typing SETUP in the primary command line.  Following&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    this, type TRIMAIN in the Program field and the dataset name that contains&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the file list for TRIMAIN in the File Allocation List field.  The File&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Allocation List should contain the INFILE and OUTFILE, which are defined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    in the FD statements of TRIMAIN and must be preallocated when program&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    TRIMAIN is executed.  The input test data can be located in member TRIDATA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    of the SAMPLIB dataset.  Be sure to direct the program output to the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    terminal by specifying TERM for the OUTFILE DD.  The file list can be&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    created by accessing the File Allocation List screen (option 1 on the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    XPEDITER Primary Menu or through the use of the ALLOC command).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     To start the debugging session, press &amp;lt;ENTER&amp;gt;.  XPEDITER/TSO processes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the file list, allocates the necessary datasets, loads the program&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    TRIMAIN, and displays the COBOL source code.  You should be able to see&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the message "Before Breakpoint Encountered" with the execution arrow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    pointing to the PROCEDURE DIVISION statement.  This means that TRIMAIN is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    stopped before the start of the program.  An example of the source code&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    display is shown in Figure 3-1.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                       Before Breakpoint Encountered                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   ------------------------------------------------------ Before TRIMAIN --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt; B PROCEDURE DIVISION.                                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000035   MAIN-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000036       PERFORM INIT-PARA.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000037       PERFORM ANALYZE-NEXT-REC                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000038           UNTIL OUT-OF-RECS = 'Y'.                                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000039       PERFORM ENDING-PARA.                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000040  A    GOBACK.                                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000041   INIT-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000042       MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000043       OPEN INPUT INFILE.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000044       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000046       READ INFILE INTO WORK-REC                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000047          AT END                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000049       IF OUT-OF-RECS = 'N'                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000052          SET TX TO TRIANGLE-TYPE                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000053          ADD 1 TO N-CNTR (TX).                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-1. Debugging Screen Showing TRIMAIN Program&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     To access HELP, press the &amp;lt;PF1&amp;gt; key.  To terminate the debugging session&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    and return to the Standard screen, press the &amp;lt;PF4&amp;gt; (EXIT) key.  If you&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    need to reload the program and test again from the beginning, type the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    following command in the primary command line:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        RETEST&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The RETEST command resets all the breakpoints and data displays.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     RETEST is not valid in Dialog, BTS, or IMS environments, or with DB2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    databases.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 3.2 Setting Breakpoints&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     You can control program execution by setting breakpoints and running the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    program.  A breakpoint is a certain location in your program where you&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    want program execution to stop so you can inspect the data the program is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    processing and check the logic to make certain it is correct.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    A simple way to set a breakpoint is to enter it from the line command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    area.  Move the cursor to the compiler-generated statement number 43 at&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the OPEN verb, then type over the statement number with the B(efore) line&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    command, as shown in Part A of Figure 3-2, and press &amp;lt;ENTER&amp;gt;.  A "B"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    appears in column 9 on statement 43, as seen in Part B, indicating that a&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    BEFORE breakpoint has been set.  This breakpoint causes program execution&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    to pause before executing the OPEN statement.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |               Part A:  Entering B Line Command on Statement 43               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     =====&amp;gt; B PROCEDURE DIVISION.                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000035   MAIN-PARA.                                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000036       PERFORM INIT-PARA.                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000037       PERFORM ANALYZE-NEXT-REC                                    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000038           UNTIL OUT-OF-RECS = 'Y'.                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000039       PERFORM ENDING-PARA.                                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000040 A     GOBACK.                                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000041   INIT-PARA.                                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000042       MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     B  043       OPEN INPUT INFILE.                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000044       MOVE 'N' TO OUT-OF-RECS.                                    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |             Part B:  BEFORE Breakpoint Displayed for Statement 43            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     =====&amp;gt; B PROCEDURE DIVISION.                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000035   MAIN-PARA.                                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000036       PERFORM INIT-PARA.                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000037       PERFORM ANALYZE-NEXT-REC                                    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000038           UNTIL OUT-OF-RECS = 'Y'.                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000039       PERFORM ENDING-PARA.                                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000040 A     GOBACK.                                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000041   INIT-PARA.                                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000042       MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000043 B     OPEN INPUT INFILE.                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |     000044       MOVE 'N' TO OUT-OF-RECS.                                    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-2. Entering a BEFORE Breakpoint on Line 43&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Press &amp;lt;PF12&amp;gt; (GO) to execute TRIMAIN until the breakpoint is reached.  The&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    program stops at statement 43, where the execution arrow is pointing.  The&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    execution status field on the fourth line also shows that execution is at&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    "Before TRIMAIN.43," as shown in Figure 3-3.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                      Before Breakpoint Encountered                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   --------------------------------------------------- Before TRIMAIN.43 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000034 B PROCEDURE DIVISION.                                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000035   MAIN-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000036       PERFORM INIT-PARA.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000037       PERFORM ANALYZE-NEXT-REC                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000038           UNTIL OUT-OF-RECS = 'Y'.                                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000039       PERFORM ENDING-PARA.                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000040 A     GOBACK.                                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000041   INIT-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000042       MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt; B     OPEN INPUT INFILE.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000044       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000046       READ INFILE INTO WORK-REC                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000047          AT END                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000049       IF OUT-OF-RECS = 'N'                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000052          SET TX TO TRIANGLE-TYPE                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000053          ADD 1 TO N-CNTR (TX).                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 00054 ENDING-PARA.                                                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-3. BEFORE Breakpoint at Statement 43&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Press &amp;lt;PF9&amp;gt; (GO 1) to execute statements one-by-one.  The program stops at&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    statement 44 after the input file is opened and before the OUT-OF-RECS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    switch is set to "N."  Type the SHOW FILE command in the primary command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    line.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The DD names and DCB parameters that you generally specify in the JCL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    statements are listed, together with the file I/O status, as shown in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure 3-4.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------- XPEDITER/TSO - SHOW -----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PROGRAM:  TRIMAIN     MODULE: TRIMAIN   COMP DATE: 07/29/92  COMP TIME: 14.41.59 |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------------------------------------ Before TRIMAIN.44 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ******************************* TOP OF DATA **********************************   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ** FILE ATTRIBUTES FOR APPLICATION MODULE TRIMAIN  ***                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                        DSORG RECFM BLKSI LRECL   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | NON-VSAM FILE FOR DDNAME INFILE       OPEN         DCB = PS   FB   23440    80   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |   DSN=AXPTSO.QA.TSODATA.DATA                       JFCB= PO   FB   23440    80   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |   MBR=TRIDATA                                                                    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |   DATA SET ALLOCATED ON VOLUME AXP001              DSCB= PO   FB   23440    80   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |   ORGANIZATION = SEQUENTIAL         ACCESS MODE = SEQUENTIAL    RECFM = FB       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |   OPEN VERB OPTION = INPUT          LAST I/O STATEMENT = OPEN   STATUS = 00      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ** FILE ATTRIBUTES FOR APPLICATION MODULE TRIRPT   ***                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                        DSORG RECFM BLKSI LRECL   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | NON-VSAM FILE FOR DDNAME OUTFILE      CLOSED       DCB = PS   --       0    80   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |   DSN=*TERMINAL*                                   JFCB= PS   --       0     0   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |   ORGANIZATION = SEQUENTIAL         ACCESS MODE = SEQUENTIAL    RECFM = FB       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ** END OF FILE ATTRIBUTE DISPLAY ***                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ****************************** BOTTOM OF DATA ********************************   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-4. File Attributes Displayed by the SHOW FILE Command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Press &amp;lt;PF3&amp;gt; (END) to return to the Source screen.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    There are several variations of the breakpoint commands.  A B line command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    sets a BEFORE breakpoint.  An A line command sets an AFTER breakpoint.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    You may want to place an AFTER breakpoint on a conditional statement since&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    XPEDITER/TSO tells you what the next logical statement will be when the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    breakpoint is encountered.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     To remove breakpoints, enter the D(elete) line command on a line that has&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    a breakpoint and press &amp;lt;ENTER&amp;gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 3.3 Displaying Data Contents&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     In the TRIMAIN program, move the cursor to statement 42, where a table&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    would have been initialized with zeros, type over the statement number&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    with the P (PEEK) line command, and press &amp;lt;ENTER&amp;gt;.  The screen&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    automatically scrolls up to the DATA DIVISION statement and displays the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    data content of N-CNTR, as shown in Figure 3-5.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PROGRAM: TRIMAIN      MODULE: TRIMAIN   COMP DATE: 07/29/92  COMP TIME: 14.41.59 |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   --------------------------------------------------- Before TRIMAIN.44 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                               &amp;gt; 1                    OCCURRENCE  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000027           10  N-CNTR                   &amp;gt; 0000                    DECIMAL  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000028   01  OUT-OF-RECS             PIC X.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000029   01  TRIANGLE-TYPE           PIC 9.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000030   01  WORK-REC.                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000031       05  SIDE-A              PIC 9(01).                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000032       05  SIDE-B              PIC 9(01).                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000033       05  SIDE-C              PIC 9(01).                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000034 B PROCEDURE DIVISION.                                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000035   MAIN-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000036       PERFORM INIT-PARA.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000037       PERFORM ANALYZE-NEXT-REC                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000038           UNTIL OUT-OF-RECS = 'Y'.                                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000039       PERFORM ENDING-PARA.                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000040 A     GOBACK.                                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000041   INIT-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000042       MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000043 B     OPEN INPUT INFILE.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt;       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-5. Displaying the Data Content of N-CNTR&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Tab down to the arrow that shows the occurrence number and type over the 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    with a 2 and press &amp;lt;ENTER&amp;gt;.  Continue typing over the occurrence number,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    each time adding 1 to the previous number.  Eventually, XPEDITER/TSO&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    displays the warning shown in Figure 3-6, indicating that the index&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    boundary has been reached.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |               NUMBER EXCEEDS MAXIMUM OCCURRENCES FOR ITEM                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   --------------------------------------------------- Before TRIMAIN.44 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                            &amp;gt; 5                       OCCURRENCE  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000027           10  N-CNTR                &amp;gt; ????               INVALID DECIMAL  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000028   01  OUT-OF-RECS             PIC X.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000029   01  TRIANGLE-TYPE           PIC 9.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000030   01  WORK-REC.                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000031       05  SIDE-A              PIC 9(01).                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000032       05  SIDE-B              PIC 9(01).                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000033       05  SIDE-C              PIC 9(01).                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000034 B PROCEDURE DIVISION.                                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000035   MAIN-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000036       PERFORM INIT-PARA.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000037       PERFORM ANALYZE-NEXT-REC                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000038           UNTIL OUT-OF-RECS = 'Y'.                                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000039       PERFORM ENDING-PARA.                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000040 A     GOBACK.                                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000041     INIT-PARA.                                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000042       MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000043 B     OPEN INPUT INFILE.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt;       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-6. Message Indicating That the Index Boundary Has Been Reached&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Press &amp;lt;PF6&amp;gt; (LOCATE *) to scroll down to where the execution arrow is.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    See Figure 3-7.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PROGRAM: TRIMAIN      MODULE: TRIMAIN   COMP DATE: 07/29/92  COMP TIME: 14.41.59 |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   --------------------------------------------------- Before TRIMAIN.44 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt;       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000046       READ INFILE INTO WORK-REC                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000047          AT END                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000049       IF OUT-OF-RECS = 'N'                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000052          SET TX TO TRIANGLE-TYPE                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000053          ADD 1 TO N-CNTR (TX).                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000054   ENDING-PARA.                                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000055       CLOSE INFILE.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000056       CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ******   *********************** BOTTOM OF MODULE ***************************    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-7. TRIMAIN After Entering LOCATE * Command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Place an A line command on statement 46, setting an AFTER breakpoint at&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the READ statement.  Next, type the K2 line command on statement 46 to&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    open a Keep window at the top of the screen and display the contents of&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Working Storage item WORK-REC (the second variable identified on line 46).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The display is shown in Figure 3-8.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PROGRAM: TRIMAIN      MODULE: TRIMAIN   COMP DATE: 07/29/92  COMP TIME: 14.41.59 |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                  ---                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000030   01  WORK-REC                          &amp;gt; ...                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   --------------------------------------------------- Before TRIMAIN.44 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt;       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000046 A     READ INFILE INTO WORK-REC                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000047          AT END                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000049       IF OUT-OF-RECS = 'N'                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000052          SET TX TO TRIANGLE-TYPE                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000053          ADD 1 TO N-CNTR (TX).                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000054   ENDING-PARA.                                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000055       CLOSE INFILE.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000056       CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ******  ************************ BOTTOM OF MODULE *****************************  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-8. Opening Up a Keep Window for the Second Variable (WORK-REC)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                 on Line 46&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Press &amp;lt;PF12&amp;gt; (GO) to execute TRIMAIN.  As shown in Figure 3-9, you can&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    see that record '345' was read when the READ verb was executed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                  Next logical instruction is TRIMAIN.49                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                  ---                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000030   01  WORK-REC                          &amp;gt; 345                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   ---------------------------------------------------- After TRIMAIN.46 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000044       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ====&amp;gt;&amp;gt; A     READ INFILE INTO WORK-REC                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000047          AT END                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000049       IF OUT-OF-RECS = 'N'                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000052          SET TX TO TRIANGLE-TYPE                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000053          ADD 1 TO N-CNTR (TX).                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000054   ENDING-PARA.                                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000055       CLOSE INFILE.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000056       CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ***** ************************** BOTTOM OF MODULE *****************************  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-9. Displaying a Variable in a Keep Window&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Press &amp;lt;PF12&amp;gt; (GO) again.  Paragraph ANALYZE-NEXT-REC is performed until&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    EOF, and the next record '789' is read in the second time through the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    loop.  WORK-REC is updated to reflect the change.  As you execute your&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    program, XPEDITER/TSO updates the Keep window to reflect the current&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    values.  You can also type over the displayed fields and modify the data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    values as if the program had executed the MOVE statement.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 3.4 Debugging Subroutines&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Statement 51 shows that the program TRIMAIN calls TRITST and passes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    parameters WORK-REC and TRIANGLE-TYPE.  In order to examine how TRITST is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    processing these parameters, you might want to set a breakpoint at the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    beginning of TRITST to gain control of the execution.  Therefore, type the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    following command in the primary command line:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        BEFORE TRITST.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     The period (.) after the program name indicates that a module-level&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    breakpoint is requested.  Press &amp;lt;PF12&amp;gt; (GO) to execute the program.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    XPEDITER/TSO pauses execution at the PROCEDURE DIVISION USING statement.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Now, type the following command in the primary command line.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        PEEK LINKAGE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     The Linkage Section shows that the correct values, '789' for TST-REC and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    '0' for TYPE-OF-TRIANGLE were passed from the driver TRIMAIN.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PROGRAM: TRITST       MODULE: TRITST    COMP DATE: 07/29/92  COMP TIME: 14.41.59 |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   ------------------------------------------------------- Before TRITST --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                 ---                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000010   01  TST-REC                          &amp;gt; 789                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000011       05  A               PIC 9.                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000012       05  B               PIC 9.                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000013       05  C               PIC 9.                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000014   01  TYPE-OF-TRIANGLE                 &amp;gt; 0                       DECIMAL  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt; B PROCEDURE DIVISION   USING  TST-REC                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000016                           TYPE-OF-TRIANGLE.                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000017   VALIDATE-TRIANGLE.                                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000018       ADD A B GIVING A-N-B.                                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000019       ADD A C GIVING A-N-C.                                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000020       ADD B C GIVING B-N-C.                                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000021       IF (B-N-C NOT &amp;gt; A) OR (A-N-C NOT &amp;gt; B) OR (A-N-B NOT &amp;gt; C)            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000022          MOVE 4 TO TYPE-OF-TRIANGLE.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000023   DETERMINE-TYPE.                                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000024       IF TYPE-OF-TRIANGLE = 4                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000025           NEXT SENTENCE                                                   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000026       ELSE                                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000027           IF (A = B) AND (B = C)                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000028              MOVE 1 TO TYPE-OF-TRIANGLE                                   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-10. Displaying LINKAGE SECTION in the Called Module TRITST&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 3.5 Analyzing Data Flow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     To better understand how the parameters are processed in the subroutine,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    XPEDITER/TSO allows you to cross-reference data and to analyze the data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    flow in your program.  The 01 level for TST-REC has three 05 levels:  A,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    B, and C.  Essentially, the elementary items are the aliases of a group&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    item.  Type the following command in the primary command line:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        FIND TST-REC ALIAS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     XPEDITER/TSO highlights all the statements that reference (DEFine,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    MODify, USE) TST-REC and its aliases.  The message shown in Figure 3-11 is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    issued, which states how many data definitions were found.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |             24 DATA REFS:  4 DEFS, 20 USES FOUND FOR TST-REC                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   ------------------------------------------------------- Before TRITST --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                     ---                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000010   01  TST-REC                              &amp;gt; 789                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000011       05  A                   PIC 9.                                 DEF  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000012       05  B                   PIC 9.                                 DEF  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000013       05  C                   PIC 9.                                 DEF  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000014   01  TYPE-OF-TRIANGLE                     &amp;gt; 0                   DECIMAL  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt; B PROCEDURE DIVISION   USING  TST-REC                                USE  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000016                               TYPE-OF-TRIANGLE.                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000017   VALIDATE-TRIANGLE.                                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000018       ADD A B GIVING A-N-B.                                        2 USE  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000019       ADD A C GIVING A-N-C.                                        2 USE  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000020       ADD B C GIVING B-N-C.                                        2 USE  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000021       IF (B-N-C NOT &amp;gt; A) OR (A-N-C NOT &amp;gt; B) OR (A-N-B NOT &amp;gt; C)     3 USE  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000022          MOVE 4 TO TYPE-OF-TRIANGLE.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000023   DETERMINE-TYPE.                                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000024       IF TYPE-OF-TRIANGLE = 4                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000025           NEXT SENTENCE                                                   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000026       ELSE                                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000027           IF (A = B) AND (B = C)                                   4 USE  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000028              MOVE 1 TO TYPE-OF-TRIANGLE                                   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-11. Finding Statements That Reference TST-REC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The analysis concludes that parameter TST-REC is USEd, but never MODified&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    in the subroutine.  What about parameter TYPE-OF-TRIANGLE?  Type the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    following command in the primary command line:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        FIND TYPE-OF-TRIANGLE MOD&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The message "4 DATA MODS FOUND FOR TYPE-OF-TRIANGLE" is displayed in the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    message line, as shown in Figure 3-12, which means that the parameter is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    MODified four times.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                    4 DATA MODS FOUND FOR TYPE-OF-TRIANGLE                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   ------------------------------------------------------- Before TRITST --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                     ---                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000010   01  TST-REC                              &amp;gt; 345                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000011       05  A                   PIC 9.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000012       05  B                   PIC 9.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000013       05  C                   PIC 9.                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000014   01  TYPE-OF-TRIANGLE                     &amp;gt; 0                  DECIMAL   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt; B PROCEDURE DIVISION   USING  TST-REC                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000016                               TYPE-OF-TRIANGLE.                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000017   VALIDATE-TRIANGLE.                                                      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000018       ADD A B GIVING A-N-B.                                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000019       ADD A C GIVING A-N-C.                                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000020       ADD B C GIVING B-N-C.                                               |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000021       IF (B-N-C NOT &amp;gt; A) OR (A-N-C NOT &amp;gt; B) OR (A-N-B NOT &amp;gt; C)            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000022          MOVE 4 TO TYPE-OF-TRIANGLE.                                MOD   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000023   DETERMINE-TYPE.                                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000024       IF TYPE-OF-TRIANGLE = 4                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000025           NEXT SENTENCE                                                   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000026       ELSE                                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000027           IF (A = B) AND (B = C)                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000028              MOVE 1 TO TYPE-OF-TRIANGLE                             MOD   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-12. Result of Entering FIND TYPE-OF-TRIANGLE MOD Command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     The FIND command under XPEDITER/TSO is sensitive to COBOL-structure&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    keywords as well as data reference keywords.  For instance, you can use&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the FIND command to search conditional statements or I/O statements.  The&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    highlighting effect helps you capture the program logic and understand&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    what the program does.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 3.6 Tracing Logic Flow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Subroutine TRITST evaluates the type of triangle by using TST-REC and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    updates TYPE-OF-TRIANGLE.  Paragraph DETERMINE-TYPE (statement 23) has a&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    nested IF structure.  XPEDITER/TSO can automatically trace the logic flow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    to show which path was chosen.  Type the following command in the primary&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    command line:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        TRACE ALL STATEMENTS;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Tracing pauses when the AFTER breakpoint is reached when control is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    returned to the calling module TRIMAIN, as shown in Figure 3-13.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                  Next logical instruction is TRIMAIN.49                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                     ---                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000030   01  WORK-REC                             &amp;gt; 563                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   ---------------------------------------------------- After TRIMAIN.46 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000044       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ====&amp;gt;&amp;gt; A     READ INFILE INTO WORK-REC                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000047          AT END                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000049       IF OUT-OF-RECS = 'N'                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000052          SET TX TO TRIANGLE-TYPE                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000053          ADD 1 TO N-CNTR (TX).                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000054   ENDING-PARA.                                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000055       CLOSE INFILE.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000056       CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ******   *********************** BOTTOM OF MODULE *****************************  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-13. Tracing is Paused for the AFTER Breakpoint in the Calling&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                  Module TRIMAIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Press &amp;lt;PF12&amp;gt; (GO) to return to TRITST again.  If execution is too fast&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    for you to follow, type the following command in the primary command line&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    to control the tracing speed:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        SET DELAY 1;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Otherwise, press &amp;lt;PF12&amp;gt; (GO) to trace through TRITST.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 3.7 Review Mode&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Type the following command in the primary command line:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        MONITOR ALL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Press &amp;lt;PF12&amp;gt; (GO) to start execution, followed by another &amp;lt;PF12&amp;gt; (GO) to&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    continue execution.  When the AFTER breakpoint is reached in TRIMAIN, type&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the following command in the primary command line to change the direction&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    of execution processing:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        REVERSE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     The execution status line shows that XPEDITER/TSO is reviewing in the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    reverse direction.  See Figure 3-14.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |               Next logical instruction is RESUME EXECUTION                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                     ---                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000030   01  WORK-REC                             &amp;gt; 345                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   -------------------------------------------Reverse - After TRIMAIN.46 --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000044       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ====&amp;gt;&amp;gt; A     READ INFILE INTO WORK-REC                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000047          AT END                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000049       IF OUT-OF-RECS = 'N'                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000052          SET TX TO TRIANGLE-TYPE                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000053          ADD 1 TO N-CNTR (TX).                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000054   ENDING-PARA.                                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000055       CLOSE INFILE.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000056       CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ******   *********************** BOTTOM OF MODULE ****************************** |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  3-14. Review Mode Execution&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     Now step through each statement backwards by pressing &amp;lt;PF9&amp;gt; (GO 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    several times.  Data values in the Keep window reshow the original state&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    as the MOVE, ADD, and READ verbs are being "undone."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    You can remove the Keep window by typing the following command in the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    primary command line:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        DELETE KEEP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     If you want to remove a certain data item from the Keep window, enter the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    D line command on the appropriate line.  Press &amp;lt;PF4&amp;gt; (EXIT) to exit the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    debugging session and to return to the Standard screen.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21797163-113878957215646963?l=endwaymainframe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endwaymainframe.blogspot.com/feeds/113878957215646963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21797163&amp;postID=113878957215646963' title='41 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878957215646963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878957215646963'/><link rel='alternate' type='text/html' href='http://endwaymainframe.blogspot.com/2006/02/xpeditor-quick-sample-debugging.html' title='Xpeditor Quick Sample Debugging'/><author><name>Endway editor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21797163.post-113878945908987105</id><published>2006-02-01T02:24:00.000-08:00</published><updated>2006-02-01T02:23:35.696-08:00</updated><title type='text'>Xpeditor  Screen</title><content type='html'>&lt;span style="font-family:Courier New;"&gt;Xpeditor - Screen Format&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     XPEDITER/TSO uses ISPF/PDF-like screens.  Figure 2-1 shows the Source&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    screen.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | COMMAND ===&amp;gt;                                                     SCROLL===&amp;gt; CSR  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PROGRAM: TRIMAIN      MODULE: TRIMAIN   COMP DATE: 07/29/92  COMP TIME: 14.41.59 |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | ------   ------------------------------------------------------ Before TRIMAIN --|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | =====&amp;gt; B PROCEDURE DIVISION.                                                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000035   MAIN-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000036       PERFORM INIT-PARA.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000037       PERFORM ANALYZE-NEXT-REC                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000038           UNTIL OUT-OF-RECS = 'Y'.                                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000039       PERFORM ENDING-PARA.                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000040 A     GOBACK.                                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000041   INIT-PARA.                                                              |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000042       MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000043       OPEN INPUT INFILE.                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000044       MOVE 'N' TO OUT-OF-RECS.                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000045   ANALYZE-NEXT-REC.                                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000046       READ INFILE INTO WORK-REC                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000047          AT END                                                           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000049       IF OUT-OF-RECS = 'N'                                                |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000052          SET TX TO TRIANGLE-TYPE                                          |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | 000053          ADD 1 TO N-CNTR (TX).                                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Figure  2-1. XPEDITER/TSO Source Display Screen&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The first four lines of the XPEDITER/TSO screens are formatted as follows:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                  Title                                 |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |---------------------------------------------------------|--------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | Command Area                                            |       Scroll |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                         |       Amount |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------------|------------------|-----------------|--|--------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | Program         | Module           | Compile Date    | Compile Time    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------------|------------------|-----------------|-----------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |                                                       Execution Status |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |------------------------------------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    These areas are described as:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Title          (line 1)--Identifies the screen name: SOURCE, LOG, SHOW,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   MEMORY, etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Command Area   (line 2)--Primary command line, which can be increased to&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   three lines using the SET CMDSIZE command.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Scroll Amount  (line 2)--Indicates the current scroll amount.  You can&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   type over the current value with one of the following&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   values:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   1 to 9999  Specifies scrolling by the number of lines or&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                              columns.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   CSR or C   Specifies scrolling based on the current&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                              position of the cursor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   DATA or D  Specifies scrolling by one line or column less&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                              than PAGE.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   HALF or H  Specifies scrolling by a half page.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   MAX or M   Specifies scrolling to the top, bottom, left&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                              margin, or right margin.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   PAGE or P  Specifies scrolling by one page.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Program        (line 3)--Identifies the source program currently&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   displayed.  This is an unprotected field and can be typed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   over with another program name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Module         (line 3)--Displays the load module name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Compile Date   (line 3)--Displays the compile date.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Compile Time   (line 3)--Displays the compile time.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Message Area   (line 3)--Displays short or informational messages.  When a&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   message is issued, it overlays the program information in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   line 3.  Press &amp;lt;ENTER&amp;gt; to flush the message and display the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   Program field.  Additional information can be accessed by&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   pressing &amp;lt;PF1&amp;gt; (HELP).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Execution Status (line 4)--Identifies the current execution point in your&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   program.  In an Assembler program, an arrow is displayed at&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   the end of this line to indicate that the source can be&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   scrolled to the left and/or right.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   When a Keep window is present, the execution status line is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;                   displayed at the bottom of the Keep window.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 2.1.1 Source Area&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The source area begins on line 5 and displays 68 to 70 bytes of text on&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the screen at a time.  In Assembler, the screen can be scrolled RIGHT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    and/or LEFT to allow access to the full source.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The AFTER, BEFORE, KEEP, and SKIP indicators are displayed on the left&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    side of the screen in column 9.  A 7-digit counter set by the COUNT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    command is displayed on the right side beginning at column 74.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 2.2 PF Keys&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     The default settings for the 24 PF keys are listed below.  These values&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    are valid during the XPEDITER/TSO session.  ISPF PF keys are not affected.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The ISPF KEYS command or the SET PFn command can be used to override the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    default values.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |   PF Key  |    Default   |           Description of Function           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |    Setting   |                                             |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF1/PF13  | HELP         | Further elaborates an XPEDITER/TSO message  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | and invokes the context-sensitive tutorial  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | facility.                                   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF2       | PEEK CSR     | Displays the contents of the data name      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | defined by the current cursor position.     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | The cursor must be in the source window     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | under a valid data name.                    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF14      | FIND CSR     | Displays the data name located under the    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | cursor position.                            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF3/PF15  | END          | Returns you to the previous menu if you are |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | in the LOG, HELP, BROWSE, or SHOW           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | functions.                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF4/PF16  | EXIT         | Ends the current XPEDITER/TSO session.      |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF5       | FIND         | Repeats the action of the previous FIND     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | command.                                    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF17      | FIND IND     | Scrolls the source display to successive    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | levels of indirect references related to a  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | previously entered FIND INDIRECT command.   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF6/PF18  | LOCATE *     | Scrolls the source display to the current   |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | location where execution has been           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | suspended.                                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF7/PF19  | UP           | Scrolls the source display up, or toward    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | the top of the file.                        |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF8/PF20  | DOWN         | Scrolls the source display down, or toward  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | the bottom of the file.                     |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF9/PF21  | GO 1         | Executes the next logical instruction in    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | your program, then pauses.                  |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF10/PF22 | LEFT         | Scrolls the display to the left.            |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF11/PF23 | RIGHT        | Scrolls the display to the right.           |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    | PF12/PF24 | GO           | Starts or resumes execution of your         |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |           |              | program.                                    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    |-----------|--------------|---------------------------------------------|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Table  2-1. Program Function (PF) Keys&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 2.3 Command Processing&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     In interactive mode, the results of command execution are immediately&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    visible on the source display.  Additional commands can also be entered&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    dynamically.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    XPEDITER/TSO commands can be entered in three ways:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    1.  Enter the command in the primary command area and press &amp;lt;ENTER&amp;gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        Command stacking--delimited by a semicolon (;), the default--is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        allowed except in the DIALOG environment.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;         The primary command area can be extended up to three lines by using&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        the SET CMDSIZE command.  The previous primary command can be recalled&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        by entering a question mark (?).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    2.  Press the PF key that was assigned to the desired command.  See&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        Table 2-1 in topic 2.2 for a list of the PF key assignments.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    3.  Type over the 6-digit compiler-generated statement number with a valid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        line command and press &amp;lt;ENTER&amp;gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        XPEDITER/TSO records the line command in the log in the same manner as&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;        the primary command.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    By default, commands entered in lowercase are converted to uppercase.  To&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    override the default, use the SET CAPS OFF command.  Also, to display&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    lowercase data, use the SET LOWCASE ASIS command.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 2.4 HELP and Tutorial (Option T) Information&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     The HELP function provides you with access to general or specific&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    information regarding an XPEDITER/TSO command, panel, or message.  Use the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    END command to terminate the HELP function.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    The ISPF HELP function is supported from all menus within the XPEDITER/TSO&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    ISPF Interface.  To obtain information on any menu or message, press the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    HELP PF key, &amp;lt;PF1&amp;gt;, or enter HELP on the command line.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    Once you are in the Tutorial, you can continue to press &amp;lt;ENTER&amp;gt; to see&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    subsequent pages of the HELP text.  The UP, BACK, NEXT, INDEX, and HELP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    subcommands of the ISPF HELP function can be used to quickly locate a&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    particular topic.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    You can also select option T to gain access to the Tutorial directly from&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    the Primary Menu.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; 2.5 General Product Information (Option B)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;     The Bulletin screen contains updated information relevant to the new&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    release.  A similar version of this information is contained in the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;    "Changes for This Release" in topic 1.1.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21797163-113878945908987105?l=endwaymainframe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endwaymainframe.blogspot.com/feeds/113878945908987105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21797163&amp;postID=113878945908987105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878945908987105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878945908987105'/><link rel='alternate' type='text/html' href='http://endwaymainframe.blogspot.com/2006/02/xpeditor-screen_113878945908987105.html' title='Xpeditor  Screen'/><author><name>Endway editor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21797163.post-113878790236756797</id><published>2006-02-01T01:58:00.000-08:00</published><updated>2006-02-01T01:58:22.370-08:00</updated><title type='text'>XPEDITER TSO Overview</title><content type='html'>&lt;span style="font-family:Courier New;"&gt;XPEDITER/TSO Overview&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPEDITER/TSO is a debugging and testing tool that automates the tasks of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;identifying problems, applying solutions, analyzing the impacts of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;changes, and testing the fixes.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.1 Changes for This Release&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Batch Connect Facility Enhancements&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DB2 and DB2/DLI JCL statements that previously required manual changes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;are now automatically converted for submitting a job in batch connect&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mode.&amp;nbsp;&amp;nbsp;Three new commands have also been added to further enhance JCL&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;conversion, submitting the job, and connecting to the job.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Abend-AID Integration&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Enhances XPEDITER's fault diagnosis function by providing a direct&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection to Abend-AID during an XPEDITER/TSO test session.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Abend-AID analyzes the abend and XPEDITER/TSO displays the information&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;in a report formatted by Abend-AID.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; COBOL/370 Compatibility&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Provides support for IBM's newest COBOL release--COBOL/370.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Test Case Facility (TCF) Support&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Automatically collects the data read by the program during an&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO test session.&amp;nbsp;&amp;nbsp;With Compuware's File-AID/PC product, the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;collected data can be downloaded, browsed and edited, and used for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;testing on the workstation.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; User Interface Enhancements&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Further refinement of XPEDITER screens, commands, and functions.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Performance Improvement&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Access to the source code display is now faster than ever.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Documentation Changes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO and XPEDITER/IMS documentation has been updated to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include information about the installation and use of the above&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;features.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.2 Changes for the Previous Release&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Product Integration&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO has been integrated with File-AID for DB2, Compuware's&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;easy to use DB2 database management and SQL development and analysis&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tool.&amp;nbsp;&amp;nbsp;To use the integrated product, you must be licensed for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER for DB2 Extension and File-AID for DB2.&amp;nbsp;&amp;nbsp;The (FADB2) option&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;was added to the Primary Menu for direct access to File-AID for DB2.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You can also access File-AID for DB2 from within an XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugging session.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Batch Connect Facility&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With this feature, you can submit an XPEDITER/TSO debugging session as&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a Batch Connect job allowing you to interactively connect to a batch&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;job.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Sourceless Debugging&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO now allows you to test and debug programs that do not&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;have the source (no SIR records) available.&amp;nbsp;&amp;nbsp;The new AT command can be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;used to set breakpoints in sourceless programs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Profile Handling Enhancement&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This feature provides a flexible and easy to use method for using and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maintaining multiple profiles.&amp;nbsp;&amp;nbsp;Multiple profiles are useful since&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;some of the data you see during an XPEDITER/TSO debugging session&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;depends on the values in the current profile.&amp;nbsp;&amp;nbsp;This includes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installation defaults established by your system programming staff,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and most importantly, environment parameters and SETUP options for the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current debugging session.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Single Point of Entry&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This feature lets you access a CICS region from a Primary Menu option&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;without logging off the TSO session.&amp;nbsp;&amp;nbsp;Pressing a PF key returns you to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TSO.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Programmer Command Center Results Interface&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For Programmer Command Center customers, XPEDITER offers a results&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;interface that notifies you of the status of your Batch Connect jobs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Documentation Changes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The XPEDITER/TSO and XPEDITER/IMS documentation has been updated to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include information about the installation and use of XPEDITER for DB2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Extension and File-AID for DB2, Profile handling, and the VTAM Batch&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Connect facility.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.3 Overview&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When you run your program under interactive XPEDITER/TSO, the source code&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is displayed in a fully scrollable window where you can view the inner&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workings of the program as each statement is executed.&amp;nbsp;&amp;nbsp;For instance, you&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;can see the execution arrow moving from a PERFORM statement to the actual&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;out-of-line perform paragraph, or you can see a data identifier changing&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;its value as the MOVE, INITIALIZE, STRING, or COMPUTE statements are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executed.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Figure 1-1 shows the source display screen under XPEDITER/TSO.&amp;nbsp;&amp;nbsp;All&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugging and testing functions are accessible from this screen without&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;having to exit to a separate panel.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO does not require any source code or load module changes;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;however, you need to create a "symbolic" information dataset called the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shared Information Repository (SIR) to debug at the source level.&amp;nbsp;&amp;nbsp;The SIR&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;records are created during the compile step after the compiler generates&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the compiler listing.&amp;nbsp;&amp;nbsp;The SIR processor analyzes the listing information&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and outputs the SIR records into a PDS file.&amp;nbsp;&amp;nbsp;XPEDITER/TSO displays and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;processes the SIR source records during the testing session.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| COMMAND ===&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCROLL===&amp;gt; CSR&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Before Breakpoint Encountered&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| ------&amp;nbsp;&amp;nbsp; ------------------------------------------------------ Before TRIMAIN --|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| =====&amp;gt; B PROCEDURE DIVISION.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000035&amp;nbsp;&amp;nbsp; MAIN-PARA.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000036&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PERFORM INIT-PARA.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000037&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PERFORM ANALYZE-NEXT-REC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNTIL OUT-OF-RECS = 'Y'.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000039&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PERFORM ENDING-PARA.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000040 A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOBACK.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000041&amp;nbsp;&amp;nbsp; INIT-PARA.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000042&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000043&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN INPUT INFILE.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000044&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOVE 'N' TO OUT-OF-RECS.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000045&amp;nbsp;&amp;nbsp; ANALYZE-NEXT-REC.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000046&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ INFILE INTO WORK-REC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000047&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AT END&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000048&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MOVE 'Y' TO OUT-OF-RECS.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000049&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF OUT-OF-RECS = 'N'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000050&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MOVE ZERO TO TRIANGLE-TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000051&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000052&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET TX TO TRIANGLE-TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;| 000053&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADD 1 TO N-CNTR (TX).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|----------------------------------------------------------------------------------|&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Figure&amp;nbsp;&amp;nbsp;1-1. Source Display Screen Under XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.3.1 Major XPEDITER/TSO Debugging and Testing Features&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The capabilities of XPEDITER/TSO are extensive enough to assist the power&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;programmers' needs, and yet the implementation is simple and efficient to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curtail the learning curve that novice programmers generally experience.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The following list summarizes XPEDITER/TSO's major features:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Intercept application program abends.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPEDITER/TSO detects application abends before the offending&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instruction is executed and displays a diagnostic message.&amp;nbsp;&amp;nbsp;You can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;request an Abend-AID formatted report if you have Abend-AID Release&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.1.4 or higher or you can view the log for more information.&amp;nbsp;&amp;nbsp;If the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;problem is a recoverable error, you can fix the error dynamically and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resume execution.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Start or stop execution at any point.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can set conditional or unconditional breakpoints, so you can stop&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and figure out what the program has processed so far, and what the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;consequences of any changes could be.&amp;nbsp;&amp;nbsp;You can also step through code&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;line-by-line to understand how each statement affects the program.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Display and modify variable, register, and storage contents.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can view the variable contents and alter the values as if the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;program had actually moved in the value you requested.&amp;nbsp;&amp;nbsp;Tables can be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;displayed by dimension, and you can browse through each entry by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;incrementing and decrementing the index or subscript.&amp;nbsp;&amp;nbsp;General-purpose&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;registers and memory can be displayed in a Keep window to analyze the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;problem at the lower level.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Trace logic flow.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Statements can be highlighted to identify the execution path as&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO traces through the program.&amp;nbsp;&amp;nbsp;You can control the speed of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the execution so that you can follow the logic interactively at a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;speed that best suits you.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Logically review execution in the reverse direction.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPEDITER/TSO can display the execution history in the reverse&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;direction to allow you to review the execution path with associated&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data values.&amp;nbsp;&amp;nbsp;The execution arrow moves backwards, and the data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display shows the original values.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Monitor execution coverage.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can set counters on statements to test execution coverage or to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor loops and procedure calls for optimization.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Alter logic.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You can dynamically change the control flow by modifying the data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values or by forcing a wild branch to test an alternate path.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Bypass unwanted code.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A range of statements or programs can be skipped in lieu of providing&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;program stubs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Temporarily insert XPEDITER/TSO debugging statements.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can imbed XPEDITER/TSO commands to control debugging conditions&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;to take place at a certain location, and to force data and logic&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;changes.&amp;nbsp;&amp;nbsp;This feature lets you prototype some COBOL-like constructs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If you have XPEDITER for DB2 Extension and File-AID for DB2, you can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;also insert SQL statements.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Analyze program structure and data flow.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPEDITER/TSO identifies certain COBOL program structures&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(conditionals, branches, I/Os, statements that alter data values,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;etc.) by highlighting the applicable statements when requested.&amp;nbsp;&amp;nbsp;Also,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statements that make references (MODIFY or USE) to a particular data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item can be identified.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Display file status and DCBs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VSAM file status and last I/O operation can be retrieved through&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO.&amp;nbsp;&amp;nbsp;DCB information can also be checked in the case of I/O&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error.&amp;nbsp;&amp;nbsp;When a DD statement is not preallocated, XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intercepts execution and gives you an opportunity to allocate the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;missing files before resuming execution.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Display called module stacking.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The called module configuration such as the load address, entry&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point, size, attribute, AMODE, RMODE, and language can be retrieved.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Maintain multiple profiles.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO's Profile Handling facility provides a flexible and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;easy-to-use method for using and maintaining multiple profiles.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Multiple profiles are used because some of the data you see during an&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO debugging session depends on the current profile.&amp;nbsp;&amp;nbsp;This&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;includes installation defaults established by your system programming&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;staff, and most importantly, environment parameters and SETUP options&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for the debugging session.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Interactively connect to a batch job.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Batch Connect facility enables you to run an XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugging session in batch and interactively connect to the batch job.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Optionally run in unattended batch mode.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO can be submitted as a batch job to debug programs that&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;require large region size, a tape input, or multiple job steps that&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;process files.&amp;nbsp;&amp;nbsp;Command stream is read as input, and any functions&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;that require terminal interaction do not pause but write to the log&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indicating that the functions were performed.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.3.2 XPEDITER/TSO Execution Operating Modes&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPEDITER/TSO can be used in three ways:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.&amp;nbsp;&amp;nbsp;In interactive mode.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The chief advantage of using XPEDITER/TSO interactively is the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ability to "pause" and resume execution of your program throughout a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugging session.&amp;nbsp;&amp;nbsp;Interactive mode is preferable to batch mode&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;testing when you have a specific problem for which you want to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dynamically try out a solution.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;&amp;nbsp;In unattended batch mode.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; During a batch session, you cannot interact with the XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugging session from your terminal.&amp;nbsp;&amp;nbsp;In batch mode, XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;receives its input from a test script file and writes to the log file.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Some reasons for using batch mode testing are the following:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Uses less processor resources than debugging in interactive mode.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Allows testing of programs that require tape files.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Executes long running programs and programs that perform many I/O&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;operations in the background.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Tests a job stream that has multiple job steps.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Collects execution coverage and regression testing results.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;&amp;nbsp;In Batch Connect Mode.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You can submit an XPEDITER/TSO session through the Batch Connect&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;facility to run the job in batch and interactively connect to that&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;batch job.&amp;nbsp;&amp;nbsp;The source is displayed allowing you to interactively set&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;breakpoints, display and modify variables, etc..&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.3.3 Primary Input to XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The primary input to XPEDITER/TSO is the following:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.&amp;nbsp;&amp;nbsp;Shared Information Repository (SIR) data library.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;&amp;nbsp;Load libraries containing the module(s) to be tested and debugged.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Note:&amp;nbsp;&amp;nbsp; The SIR data library and your load libraries are the output of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the compile and link process discussed in "Compiling With the SIR&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Processor" in topic 4.2.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;&amp;nbsp;JCL, file list, or CLIST that can be processed to allocate the input&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;files or databases needed by your program.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.&amp;nbsp;&amp;nbsp;Optionally, a test script library.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.3.4 Output From the Execution of XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The primary output of the debugging session is:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.&amp;nbsp;&amp;nbsp;Data files generated by the execution of the program.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;&amp;nbsp;Session log.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPEDITER/TSO automatically records (to the log file) the commands&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;entered and the responses made to each command during a debugging&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session.&amp;nbsp;&amp;nbsp;The log dataset can have an LRECL of 133 or 80.&amp;nbsp;&amp;nbsp;The log&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;does not contain the interactive manipulation commands nor does it&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;contain the actual program displays.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; In batch mode, the log file shows the output of a batch test and is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;available after the completion of the debugging session.&amp;nbsp;&amp;nbsp;In&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;interactive mode, it is available at all times.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The log file can be kept as part of the documentation, to be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;referenced whenever maintenance is performed on the program.&amp;nbsp;&amp;nbsp;It can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;be viewed for further information in determining the cause and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;possible resolution of an abend.&amp;nbsp;&amp;nbsp;Chapter 8, "Handling Run-Time&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Errors" in topic 8.0 contains an example of the log display and shows&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;what is recorded in the log as a result of a S0C7 abend.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;&amp;nbsp;Session script, which can be saved as a member of a test script&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;library.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XPEDITER/TSO automatically records the commands entered to a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sequential test script file.&amp;nbsp;&amp;nbsp;After the session is terminated, you can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;save, copy, or move the generated test script to a member of a test&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;script library (INCLUDE dataset), which can then be used as input to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;another debugging session.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Test scripts can be used to set up, run, or rerun a session.&amp;nbsp;&amp;nbsp;They are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;used to gather information at the close of a session (a post script),&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and in batch mode, to specify a series of commands to be executed when&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;an abend occurs (abend script).&amp;nbsp;&amp;nbsp;It is also used to store any&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;customization made to XPEDITER/TSO or shop defaults.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.3.5 LOGON Region Size Requirements&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debugging with XPEDITER/TSO may require an increase to the default TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LOGON region size.&amp;nbsp;&amp;nbsp;This provides protection against abends caused by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;insufficient space.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO requires about 640K bytes minimum, in addition to the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;application programs to be tested and debugged.&amp;nbsp;&amp;nbsp;Additional storage could&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;be required, depending on the number and size of the programs that are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;referenced symbolically during the debugging session.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;It has been our experience that 2048K to 4096K (2M to 4M) is sufficient&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;size for debugging most applications.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 1.4 Restrictions and Warnings&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The following list explains some of the technical restrictions and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;questions related to the functioning of XPEDITER/TSO:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Attention (User Interrupt--PA1 Key) Processing:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Depending on the timing in your use of the PA1 key/user interrupt from&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;within XPEDITER/TSO, the result can be a recursive abend.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Multitasking Support:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Compuware does not support multitasking applications within XPEDITER/TSO,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except in the dialog environment, where single task testing is supported&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;within a multitasking environment.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Optimized Code:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO displays the source for optimized code as it was originally&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;written, but executes the code generated by the optimizer.&amp;nbsp;&amp;nbsp;As a result,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;depending on the optimizing algorithm applied to the code, the following&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;can occur:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Highlighting during execution of the trace of the optimized code can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;be misleading.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Abends can occur when you use XPEDITER/TSO commands that alter the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;program execution paths, such as GOTO and SKIP.&amp;nbsp;&amp;nbsp;These abends occur&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when the altered execution paths are in conflict with path&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dependencies generated by the optimizer.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; If you have used Copy Suppress in the Procedure Division you might not&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;be able to set a breakpoint on the first statement following the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;copied code.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IMS Testing:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Retention of breakpoints across IMS transactions is not supported.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Transactions specified on the test MPP screen are queued up to run in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the XPEDITER/TSO region regardless of where the transactions were&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initiated.&amp;nbsp;&amp;nbsp;XPEDITER/TSO assigns a unique class to each of the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;specified transaction codes and forces them to run only in your&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XPEDITER/TSO region.&amp;nbsp;&amp;nbsp;The transaction codes are not reassigned to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;their original class until you have completely finished testing in the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MPP region.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; If a DLI program uses the XRST facility, the first DLI call must be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the XRST call.&amp;nbsp;&amp;nbsp;Otherwise, you can cause an abend 04E with reason code&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;00D44054.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Within a BTS/DLI setup, recovery of DB2 tables and IMS databases are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uncoordinated.&amp;nbsp;&amp;nbsp;An SQL COMMIT/ROLLBACK call commits or rolls back&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;changes made to DB2 tables only, not your IMS databases.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp; Customers who are experiencing system abends while using the BTS TRACE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;to monitor DB2 activity should check with IBM for fixes available for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the BTS program product.&amp;nbsp;&amp;nbsp;Problems have occurred in MVS/XA IMS 1.3 and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BTS 1.3, as well as MVS/ESA IMS 3.1 and BTS 3.1.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MVS/ESA Support:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For assembler programs, all ESA instructions are supported except the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instructions that use the access registers.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Naming Convention:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Program names should not begin with IBM reserved prefixes such as IHO,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ILBO, IGZ, etc.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COBOL Ready Trace:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Unpredictable results can occur in XPEDITER/TSO when the COBOL READY TRACE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;command is used.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Memory Allocations:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User programs and other vendor packages that perform FREEMAINs on&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;subpool=0 or subpool=3 are not supported.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COBOL Declaratives Section:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Breakpoints or GOTOs in the Declaratives Section are not supported.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; 2.0 Chapter 2.&amp;nbsp;&amp;nbsp;User Interface to XPEDITER/TSO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This chapter describes how to interact with XPEDITER/TSO in general.&amp;nbsp;&amp;nbsp;The&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;screen format, PF key assignments, command processing, HELP, and tutorial&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;are discussed.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21797163-113878790236756797?l=endwaymainframe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endwaymainframe.blogspot.com/feeds/113878790236756797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21797163&amp;postID=113878790236756797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878790236756797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878790236756797'/><link rel='alternate' type='text/html' href='http://endwaymainframe.blogspot.com/2006/02/xpediter-tso-overview.html' title='XPEDITER TSO Overview'/><author><name>Endway editor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21797163.post-113878709644628042</id><published>2006-02-01T01:44:00.000-08:00</published><updated>2006-02-01T01:44:56.446-08:00</updated><title type='text'>Using EXPLAIN in DB2</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:Arial;font-size:180%;"&gt;Using EXPLAIN to improve SQL performance&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The information under this heading, up to the end of this chapter, is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Product-sensitive Programming Interface and Associated Guidance Information, as&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;defined in Appendix I, “Notices” on page 893.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Definitions and purpose: &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;EXPLAIN is a monitoring tool that produces information&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;about the following:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;A plan, package, or SQL statement when it is bound. The output appears in a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;table you create called PLAN_TABLE, which is called a plan table. For&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;experienced users, you can use PLAN_TABLE to give optimization hints to&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;An estimated cost of executing an SQL SELECT, INSERT, UPDATE, or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| DELETE statement. The output appears in a table you create called&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| DSN_STATEMNT_TABLE, which is called a statement table. For more&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| information about statement tables, see “Estimating a statement's cost” on&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| page 679.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;User-defined functions referred to in the statement, including the specific name&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| and schema. The output appears in a table you create called&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| DSN_FUNCTION_TABLE, which is called a function table. For more&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| information about function tables, see “Ensuring that DB2 executes the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| intended user-defined function” on page 294.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Other tools: &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Other tools that can help you tune SQL queries include:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 Visual Explain&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Visual Explain is a graphical workstation feature of DB2 that provides:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;– An easy-to-understand display of a selected access path&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;– Suggestions for changing an SQL statement&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;– An ability to invoke EXPLAIN for dynamic SQL statements&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;– An ability to provide DB2 catalog statistics for referenced objects of an&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;access path&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;– A subsystem parameter browser with keyword &lt;/span&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;'&lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Find&lt;/span&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;' &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;capabilities&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For information on using DB2 Visual Explain, which is a separately packaged&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;CD-ROM provided with your DB2 Version 6 license, see DB2 Visual Explain&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;online help.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 Performance Monitor (PM)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 PM is a performance monitoring tool that formats performance data. DB2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PM combines information from EXPLAIN and from the DB2 catalog. It displays&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;access paths, indexes, tables, table spaces, plans, packages, DBRMs, host&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;variable definitions, ordering, table access and join sequences, and lock types.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Output is presented in a dialog rather than as a table, making the information&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;easy to read and understand.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 Estimator&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| DB2 Estimator for Windows is an easy-to-use, stand-alone tool for estimating&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| the performance of DB2 for OS/390 applications. You can use it to predict the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| performance and cost of running the applications, transactions, SQL&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterSymbol-Regular;font-size:78%;"&gt;Ò &lt;/span&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Copyright IBM Corp. 1983, 1999 &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;637&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| statements, and utilities. For instance, you can use DB2 Estimator for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| estimating the impact of adding or dropping an index from a table, estimating&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| the change in response time from adding processor resources, and estimating&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| the amount of time a utility job will take to run.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Chapter overview: &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;This chapter includes the following topics:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Obtaining PLAN_TABLE information from EXPLAIN”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Estimating a statement's cost” on page 679&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“First questions about data access” on page 645&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Interpreting access to a single table” on page 655&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Interpreting access to two or more tables” on page 661&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Interpreting data prefetch” on page 669&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Determining sort activity” on page 674&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Processing for views and nested table expressions” on page 675&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“ Chapter 7-5. Parallel operations and query performance” on page 685&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;Obtaining PLAN_TABLE information from EXPLAIN&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The information in PLAN_TABLE can help you to:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Design databases, indexes, and application programs&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Determine when to rebind an application&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Determine the access path chosen for a query&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For each access to a single table, EXPLAIN tells you if an index access or table&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;space scan is used. If indexes are used, EXPLAIN tells you how many indexes and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;index columns are used and what I/O methods are used to read the pages. For&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;joins of tables, EXPLAIN tells you the join method and type, the order in which DB2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;joins the tables, and when and why it sorts any rows.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The primary use of EXPLAIN is to observe the access paths for the SELECT parts&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;of your statements. For UPDATE and DELETE WHERE CURRENT OF, and for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;INSERT, you receive somewhat less information in your plan table. And some&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| accesses EXPLAIN does not describe: for example, the access to LOB values,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| which are stored separately from the base table, and access to parent or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;dependent tables needed to enforce referential constraints.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The access paths shown for the example queries in this chapter are intended only&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;to illustrate those examples. If you execute the queries in this chapter on your&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;system, the access paths chosen can be different.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Steps to obtain PLAN_TABLE information: &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The summary of steps to obtain&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;information from EXPLAIN is as follows:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;1. Have appropriate access to a plan table. To create the table, see “Creating&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PLAN_TABLE” on page 639.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;2. Populate the table with the information you want. For instructions, see&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Populating and maintaining a plan table” on page 644.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;3. Select the information you want from the table. For instructions, see&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Reordering rows from a plan table” on page 645.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;638 &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Application Programming and SQL Guide&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;Creating PLAN_TABLE&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Before you can use EXPLAIN, you must create a table called PLAN_TABLE to hold&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the results of EXPLAIN. A copy of the statements needed to create the table are in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| the DB2 sample library, under the member name DSNTESC. (Unless you need the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| information they provide, it is not necessary to create a function table or statement&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| table to use EXPLAIN.)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Figure 168 shows the format of a plan table. Table 68 on page 640 shows the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;content of each column.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Your plan table can use many formats, but use the 49-column format because it&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;gives you the most information. If you alter an existing plan table to add new&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;columns, specify the columns as NOT NULL WITH DEFAULT, so that default&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;values are included for the rows already in the table. However, as you can see in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Figure 168, certain columns do allow nulls. Do not specify those columns as NOT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;NULL WITH DEFAULT.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;QUERYNO INTEGER NOT NULL PREFETCH CHAR(1) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;QBLOCKNO SMALLINT NOT NULL COLUMN_FN_EVAL CHAR(1) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;APPLNAME CHAR(8) NOT NULL MIXOPSEQ SMALLINT NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;PROGNAME CHAR(8) NOT NULL -------28 column format --------&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;PLANNO SMALLINT NOT NULL VERSION VARCHAR(64) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;METHOD SMALLINT NOT NULL COLLID CHAR(18) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;CREATOR CHAR(8) NOT NULL -------3ð column format --------&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;TNAME CHAR(18) NOT NULL ACCESS_DEGREE SMALLINT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;TABNO SMALLINT NOT NULL ACCESS_PGROUP_ID SMALLINT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;ACCESSTYPE CHAR(2) NOT NULL JOIN_DEGREE SMALLINT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;MATCHCOLS SMALLINT NOT NULL JOIN_PGROUP_ID SMALLINT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;ACCESSCREATOR CHAR(8) NOT NULL -------34 column format --------&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;ACCESSNAME CHAR(18) NOT NULL SORTC_PGROUP_ID SMALLINT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;INDEXONLY CHAR(1) NOT NULL SORTN_PGROUP_ID SMALLINT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SORTN_UNIQ CHAR(1) NOT NULL PARALLELISM_MODE CHAR(1)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SORTN_JOIN CHAR(1) NOT NULL MERGE_JOIN_COLS SMALLINT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SORTN_ORDERBY CHAR(1) NOT NULL CORRELATION_NAME CHAR(18)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SORTN_GROUPBY CHAR(1) NOT NULL PAGE_RANGE CHAR(1) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SORTC_UNIQ CHAR(1) NOT NULL JOIN_TYPE CHAR(1) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SORTC_JOIN CHAR(1) NOT NULL GROUP_MEMBER CHAR(8) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SORTC_ORDERBY CHAR(1) NOT NULL IBM_SERVICE_DATA VARCHAR(254) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SORTC_GROUPBY CHAR(1) NOT NULL ------43 column format --------&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;TSLOCKMODE CHAR(3) NOT NULL WHEN_OPTIMIZE CHAR(1) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;TIMESTAMP CHAR(16) NOT NULL QBLOCK_TYPE CHAR(6) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;REMARKS VARCHAR(254) NOT NULL BIND_TIME TIMESTAMP NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;-------25 column format -------- ------46 column format -----------&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;OPTHINT CHAR(8) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;HINT_USED CHAR(8) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;PRIMARY_ACCESSTYPE CHAR(1) NOT NULL WITH DEFAULT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;-------49 column format-----------&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Figure 168. Format of PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Chapter 7-4. Using EXPLAIN to improve SQL performance &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;639&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Table 68 (Page 1 of 4). Descriptions of columns in PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Column Name Description&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;QUERYNO &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;A number intended to identify the statement being explained. For a row produced by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;an EXPLAIN statement, you can specify the number in the SET QUERYNO clause.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For a row produced by non-EXPLAIN statements, you can specify the number using&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the SET QUERYNO clause, which is an optional part of the SELECT, INSERT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;UPDATE and DELETE statement syntax. Otherwise, DB2 assigns a number based&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;on the line number of the SQL statement in the source program.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;FETCH statements do not each have an individual QUERYNO assigned to them.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Instead, DB2 uses the QUERYNO of the DECLARE CURSOR statement for all&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;corresponding FETCH statements for that cursor.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;When the values of QUERYNO are based on the statement number in the source&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;program, values greater than 32767 are reported as 0. Hence, in a very long&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;program, the value is not guaranteed to be unique. If QUERYNO is not unique, the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;value of TIMESTAMP is unique.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;QBLOCKNO The position of the query in the statement being explained (1 for the outermost query,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;2 for the next query, and so forth). For better performance, DB2 might merge a query&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;block into another query block. When that happens, the position number of the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;merged query block will not be in QBLOCKNO.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;APPLNAME The name of the application plan for the row. Applies only to embedded EXPLAIN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;statements executed from a plan or to statements explained when binding a plan.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Blank if not applicable.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PROGNAME The name of the program or package containing the statement being explained.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Applies only to embedded EXPLAIN statements and to statements explained as the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;result of binding a plan or package. Blank if not applicable.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PLANNO The number of the step in which the query indicated in QBLOCKNO was processed.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;This column indicates the order in which the steps were executed.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;METHOD A number (0, 1, 2, 3, or 4) that indicates the join method used for the step:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;0 First table accessed, continuation of previous table accessed, or not used.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;1 Nested loop join. For each row of the present composite table, matching&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;rows of a new table are found and joined.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;2 Merge scan join. The present composite table and the new table are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;scanned in the order of the join columns, and matching rows are joined.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;3 Sorts needed by ORDER BY, GROUP BY, SELECT DISTINCT, UNION, a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;quantified predicate, or an IN predicate. This step does not access a new&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;table.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;4 Hybrid join. The current composite table is scanned in the order of the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;join-column rows of the new table. The new table is accessed using list&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;prefetch.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;CREATOR The creator of the new table accessed in this step; blank if METHOD is 3.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;TNAME The name of a table, temporary table, materialized view, table expression, or an&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;intermediate result table for an outer join that is accessed in this step; blank if&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;METHOD is 3.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For an outer join, this column contains the temporary table name of the work file in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the form DSNWFQB( qblockno). Merged views show the base table names and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;correlation names. A materialized view is another query block with its own&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;materialized views, tables, and so forth.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;TABNO Values are for IBM use only.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;640 &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Application Programming and SQL Guide&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Table 68 (Page 2 of 4). Descriptions of columns in PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Column Name Description&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESSTYPE The method of accessing the new table:&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;I &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;By an index (identified in ACCESSCREATOR and ACCESSNAME)&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;I1 &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;By a one-fetch index scan&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;N &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;By an index scan when the matching predicate contains the IN keyword&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;R &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;By a table space scan&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;M &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;By a multiple index scan; followed by MX, MI, or MU&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MX &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;By an index scan on the index named in ACCESSNAME&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MI &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;By an intersection of multiple indexes&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MU &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;By a union of multiple indexes&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;blank &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Not applicable to the current row.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MATCHCOLS For ACCESSTYPE I, I1, N, or MX, the number of index keys used in an index scan;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;otherwise, 0.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESSCREATOR For ACCESSTYPE I, I1, N, or MX, the creator of the index; otherwise, blank.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESSNAME For ACCESSTYPE I, I1, N, or MX, the name of the index; otherwise, blank.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;INDEXONLY Whether access to an index alone is enough to carry out the step, or whether data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;too must be accessed. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTN_UNIQ Whether the new table is sorted to remove duplicate rows. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTN_JOIN Whether the new table is sorted for join method 2 or 4. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTN_ORDERBY Whether the new table is sorted for ORDER BY. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTN_GROUPBY Whether the new table is sorted for GROUP BY. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTC_UNIQ Whether the composite table is sorted to remove duplicate rows. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTC_JOIN Whether the composite table is sorted for join method 1, 2 or 4. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTC_ORDERBY Whether the composite table is sorted for an ORDER BY clause or a quantified&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;predicate. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTC_GROUPBY Whether the composite table is sorted for a GROUP BY clause. Y=Yes; N=No.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;TSLOCKMODE An indication of the mode of lock to be acquired on either the new table, or its table&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;space or table space partitions. If the isolation can be determined at bind time, the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;values are:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;IS Intent share lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;IX Intent exclusive lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;S Share lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;U Update lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;X Exclusive lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SIX Share with intent exclusive lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;N UR isolation; no lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;If the isolation cannot be determined at bind time, then the lock mode determined by&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the isolation at run time is shown by the following values.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;NS For UR isolation, no lock; for CS, RS, or RR, an S lock.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;NIS For UR isolation, no lock; for CS, RS, or RR, an IS lock.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;NSS For UR isolation, no lock; for CS or RS, an IS lock; for RR, an S lock.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SS For UR, CS, or RS isolation, an IS lock; for RR, an S lock.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The data in this column is right justified. For example, IX appears as a blank followed&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;by I followed by X. If the column contains a blank, then no lock is acquired.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Chapter 7-4. Using EXPLAIN to improve SQL performance &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;641&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Table 68 (Page 3 of 4). Descriptions of columns in PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Column Name Description&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;TIMESTAMP Usually, the time at which the row is processed, to the last .01 second. If necessary,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 adds .01 second to the value to ensure that rows for two successive queries&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;have different values.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;REMARKS A field into which you can insert any character string of 254 or fewer characters.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PREFETCH Whether data pages are to be read in advance by prefetch. S = pure sequential&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;prefetch; L = prefetch through a page list; blank = unknown or no prefetch.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;COLUMN_FN_EVAL When an SQL column function is evaluated. R = while the data is being read from&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the table or index; S = while performing a sort to satisfy a GROUP BY clause; blank&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;= after data retrieval and after any sorts.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MIXOPSEQ The sequence number of a step in a multiple index operation.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;1, 2, ... n For the steps of the multiple index procedure (ACCESSTYPE is MX,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MI, or MU.)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;0 For any other rows (ACCESSTYPE is I, I1, M, N, R, or blank.)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;VERSION The version identifier for the package. Applies only to an embedded EXPLAIN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;statement executed from a package or to a statement that is explained when binding&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;a package. Blank if not applicable.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;COLLID The collection ID for the package. Applies only to an embedded EXPLAIN statement&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;executed from a package or to a statement that is explained when binding a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;package. Blank if not applicable.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Note: &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The following nine columns, from ACCESS_DEGREE through CORRELATION_NAME, contain the null value if&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the plan or package was bound using a plan table with fewer than 43 columns. Otherwise, each of them can&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;contain null if the method it refers to does not apply.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESS_DEGREE The number of parallel tasks or operations activated by a query. This value is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;determined at bind time; the actual number of parallel operations used at execution&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;time could be different. This column contains 0 if there is a host variable.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESS_PGROUP_ID The identifier of the parallel group for accessing the new table. A parallel group is a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;set of consecutive operations, executed in parallel, that have the same number of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;parallel tasks. This value is determined at bind time; it could change at execution&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;time.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;JOIN_DEGREE The number of parallel operations or tasks used in joining the composite table with&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the new table. This value is determined at bind time, and can be 0 if there is a host&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;variable. The actual number of parallel operations or tasks used at execution time&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;could be different.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;JOIN_PGROUP_ID The identifier of the parallel group for joining the composite table with the new table.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;This value is determined at bind time; it could change at execution time.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTC_PGROUP_ID The parallel group identifier for the parallel sort of the composite table.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SORTN_PGROUP_ID The parallel group identifier for the parallel sort of the new table.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PARALLELISM_MODE The kind of parallelism, if any, that is used at bind time:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;I Query I/O parallelism&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;C Query CP parallelism&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;X Sysplex query parallelism&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MERGE_JOIN_COLS The number of columns that are joined during a merge scan join (Method=2).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;CORRELATION_NAME The correlation name of a table or view that is specified in the statement. If there is&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;no correlation name then the column is blank.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PAGE_RANGE Whether the table qualifies for page range screening, so that plans scan only the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;partitions that are needed. Y = Yes; blank = No.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;642 &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Application Programming and SQL Guide&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Table 68 (Page 4 of 4). Descriptions of columns in PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Column Name Description&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;JOIN_TYPE The type of an outer join.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;F FULL OUTER JOIN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;L LEFT OUTER JOIN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;blank INNER JOIN or no join&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;RIGHT OUTER JOIN converts to a LEFT OUTER JOIN when you use it, so that&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;JOIN_TYPE contains L.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;GROUP_MEMBER The member name of the DB2 that executed EXPLAIN. The column is blank if the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 subsystem was not in a data sharing environment when EXPLAIN was&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;executed.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;IBM_SERVICE_DATA Values are for IBM use only.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;WHEN_OPTIMIZE When the access path was determined:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;blank At bind time, using a default filter factor for any host variables, parameter&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;markers, or special registers.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;B At bind time, using a default filter factor for any host variables, parameter&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;markers, or special registers; however the statement will be reoptimized at&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;run time using input variable values for input host variables, parameter&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;markers, or special registers. The bind option REOPT(VARS) must be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;specified for reoptimization to occur.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;R At run time, using input variables for any host variables, parameter markers,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;or special registers. The bind option REOPT(VARS) must be specified for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;this to occur.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;QBLOCK_TYPE For each query block, the type of SQL operation performed. For the outermost query,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;it identifies the statement type. Possible values:&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SELECT &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SELECT&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;INSERT &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;INSERT&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;UPDATE &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;UPDATE&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DELETE &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DELETE&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SELUPD &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;SELECT with FOR UPDATE OF&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DELCUR &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DELETE WHERE CURRENT OF CURSOR&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;UPDCUR &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;UPDATE WHERE CURRENT OF CURSOR&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;CORSUB &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Correlated subquery&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;NCOSUB &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Noncorrelated subquery&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;BIND_TIME The time at which the plan or package for this statement or query block was bound.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For static SQL statements, this is a full-precision timestamp value. For dynamic SQL&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;statements, this is the value contained in the TIMESTAMP column of PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;appended by 4 zeroes.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;OPTHINT A string that you use to identify this row as an optimization hint for DB2. DB2 uses&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;this row as input when choosing an access path.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;HINT_USED If DB2 used one of your optimization hints, it puts the identifier for that hint (the value&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;in OPTHINT) in this column.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PRIMARY_ACCESSTYPE Indicates whether direct row access will be attempted first:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;D &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 will try to use direct row access. If DB2 cannot use direct row access at&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;runtime, it uses the access path described in the ACCESSTYPE column of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PLAN_TABLE.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;blank &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 will not try to use direct row access.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Chapter 7-4. Using EXPLAIN to improve SQL performance &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;643&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;Populating and maintaining a plan table&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For the two distinct ways to populate a plan table, see:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Execute the SQL statement EXPLAIN”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Bind with the option EXPLAIN(YES)”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| When you populate the plan table through DB2's EXPLAIN, any INSERT triggers&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| on the table are not activated. If you insert rows yourself, then those triggers are&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| activated.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For tips on maintaining a growing plan table, see “Maintaining a plan table.”&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;Execute the SQL statement EXPLAIN&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;You can populate PLAN_TABLE by executing the SQL statement EXPLAIN. In the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;statement, specify a single explainable SQL statement in the FOR clause.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;You can execute EXPLAIN either statically from an application program, or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;dynamically, using QMF or SPUFI. For instructions and for details of the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;authorization you need on PLAN_TABLE, see DB2 SQL Reference.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;Bind with the option EXPLAIN(YES)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;You can populate a plan table when you bind or rebind a plan or package. Specify&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the option EXPLAIN(YES). EXPLAIN obtains information about the access paths for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;all explainable SQL statements in a package or the DBRMs of a plan. The&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;information appears in table package_owner.PLAN_TABLE or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;plan_owner.PLAN_TABLE. For dynamically prepared SQL, the qualifier of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PLAN_TABLE is the current SQLID.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Performance considerations: &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;EXPLAIN as a bind option should not be a&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;performance concern. The same processing for access path selection is performed,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;regardless of whether you use EXPLAIN(YES) or EXPLAIN (NO). With&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;EXPLAIN(YES), there is only a small amount of overhead processing to put the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;results in a plan table.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;If a plan or package that was previously bound with EXPLAIN(YES) is automatically&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;rebound, the value of field EXPLAIN PROCESSING on installation panel DSNTIPO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;determines whether EXPLAIN is run again during the automatic rebind. Again, there&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;is a small amount of overhead for inserting the results into a plan table.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;EXPLAIN for remote binds: &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;A remote requester that accesses DB2 can specify&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;EXPLAIN(YES) when binding a package at the DB2 server. The information&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;appears in a plan table at the server, not at the requester. If the requester does not&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;support the propagation of the option EXPLAIN(YES), rebind the package at the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;requester with that option to obtain access path information. You cannot get&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;information about access paths for SQL statements that use private protocol.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;Maintaining a plan table&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;DB2 adds rows to PLAN_TABLE as you choose; it does not automatically delete&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;rows. To clear the table of obsolete rows, use DELETE, just as you would for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;deleting rows from any table. You can also use DROP TABLE to drop a plan table&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;completely.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;644 &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Application Programming and SQL Guide&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;Reordering rows from a plan table&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Several processes can insert rows into the same plan table. To understand access&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;paths, you must retrieve the rows for a particular query in an appropriate order.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;Retrieving rows for a plan&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The rows for a particular plan are identified by the value of APPLNAME. The&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;following query to a plan table returns the rows for all the explainable statements in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;a plan in their logical order:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SELECT \ FROM JOE.PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;WHERE APPLNAME = 'APPL1'&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;ORDER BY TIMESTAMP, QUERYNO, QBLOCKNO, PLANNO, MIXOPSEQ;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The result of the ORDER BY clause shows whether there are:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Multiple QBLOCKNOs within a QUERYNO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Multiple PLANNOs within a QBLOCKNO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Multiple MIXOPSEQs within a PLANNO&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;All rows with the same non-zero value for QBLOCKNO and the same value for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;QUERYNO relate to a step within the query. QBLOCKNOs are not necessarily&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;executed in the order shown in PLAN_TABLE. But within a QBLOCKNO, the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PLANNO column gives the substeps in the order they execute.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;For each substep, the TNAME column identifies the table accessed. Sorts can be&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;shown as part of a table access or as a separate step.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;What if QUERYNO=0? &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;In a program with more than 32767 lines, all values of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;QUERYNO greater than 32767 are reported as 0. For entries containing&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;QUERYNO=0, use the timestamp, which is guaranteed to be unique, to distinguish&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;individual statements.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;Retrieving rows for a package&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The rows for a particular package are identified by the values of PROGNAME,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;COLLID, and VERSION. Those columns correspond to the following four-part&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;naming convention for packages:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;LOCATION.COLLECTION.PACKAGE_ID.VERSION&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;COLLID gives the COLLECTION name, and PROGNAME gives the PACKAGE_ID.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The following query to a plan table return the rows for all the explainable&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;statements in a package in their logical order:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SELECT \ FROM JOE.PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;WHERE PROGNAME = 'PACK1' AND COLLID = 'COLL1' AND VERSION = 'PROD1'&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;ORDER BY QUERYNO, QBLOCKNO, PLANNO, MIXOPSEQ;&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;First questions about data access&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;When you examine your EXPLAIN results, try to answer the following questions:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Is access through an index? (ACCESSTYPE is I, I1, N or MX)” on page 646&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Is access through more than one index? (ACCESSTYPE=M)” on page 646&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“How many columns of the index are used in matching? (MATCHCOLS=n)” on&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;page 647&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Is the query satisfied using only the index? (INDEXONLY=Y)” on page 648&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Chapter 7-4. Using EXPLAIN to improve SQL performance &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;645&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Is direct row access possible? (PRIMARY_ACCESSTYPE = D)” on page 648&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Is a view or nested table expression materialized?” on page 652&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Was a scan limited to certain partitions? (PAGE_RANGE=Y)” on page 652&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“What kind of prefetching is done? (PREFETCH = L, S, or blank)” on page 653&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Is data accessed or processed in parallel? (PARALLELISM_MODE is I, C, or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;X)” on page 653&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Are sorts performed?” on page 654&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“Is a subquery transformed into a join?” on page 654&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;“When are column functions evaluated? (COLUMN_FN_EVAL)” on page 654&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;As explained in this section, they can be answered in terms of values in columns of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;a plan table.&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;Is access through an index? (ACCESSTYPE is I, I1, N or MX)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;If the column ACCESSTYPE in the plan table has one of those values, DB2 uses&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;an index to access the table named in column TNAME. The columns&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESSCREATOR and ACCESSNAME identify the index. For a description of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;methods of using indexes, see “Index access paths” on page 656.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;Is access through more than one index? (ACCESSTYPE=M)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Those values indicate that DB2 uses a set of indexes to access a single table. A&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;set of rows in the plan table contain information about the multiple index access.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The rows are numbered in column MIXOPSEQ in the order of execution of steps in&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the multiple index access. (If you retrieve the rows in order by MIXOPSEQ, the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;result is similar to postfix arithmetic notation.)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The examples in Figure 169 and Figure 170 on page 647 have these indexes: IX1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;on T(C1) and IX2 on T(C2). DB2 processes the query in these steps:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| 1. Retrieve all the qualifying record identifiers (RIDs) where C1=1, using index&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| IX1.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;2. Retrieve all the qualifying RIDs where C2=1, using index IX2. The intersection&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;of those lists is the final set of RIDs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;3. Access the data pages needed to retrieve the qualified rows using the final RID&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;list.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SELECT \ FROM T&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;WHERE C1 = 1 AND C2 = 1;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Figure 169. PLAN_TABLE output for example with intersection (AND) operator&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;TNAME&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESSTYPE&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MATCHCOLS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESSNAME&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;INDEXONLY&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PREFETCH&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MIXOPSEQ&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;T M 0 N L 0&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;T MX 1 IX1 Y 1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;T MX 1 IX2 Y 2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;T MI 0 N 3&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;646 &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Application Programming and SQL Guide&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The same index can be used more than once in a multiple index access, because&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;more than one predicate could be matching, as in Figure 170 on page 647.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SELECT \ FROM T&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;WHERE C1 BETWEEN 1ðð AND 199 OR&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;C1 BETWEEN 5ðð AND 599;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Figure 170. PLAN_TABLE output for example with Union (OR) Operator&lt;/span&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;TNAME&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESSTYPE&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MATCHCOLS&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;ACCESSNAME&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;INDEXONLY&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;PREFETCH&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MIXOPSEQ&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;T M 0 N L 0&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;T MX 1 IX1 Y 1&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;T MX 1 IX1 Y 2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;T MU 0 N 3&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The steps are:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;1. Retrieve all RIDs where C1 is between 100 and 199, using index IX1.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;2. Retrieve all RIDs where C1 is between 500 and 599, again using IX1. The&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;union of those lists is the final set of RIDs.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;3. Retrieve the qualified rows using the final RID list.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;How many columns of the index are used in matching?&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;(MATCHCOLS=n)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;If MATCHCOLS is 0, the access method is called a nonmatching index scan. All&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the index keys and their RIDs are read.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;If MATCHCOLS is greater than 0, the access method is called a matching index&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;scan: the query uses predicates that match the index columns.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;In general, the matching predicates on the leading index columns are equal or IN&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;predicates. The predicate that matches the final index column can be an equal, IN,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;or range predicate (&lt;/span&gt;&lt;span style="font-family:BookMasterSymbol-Regular;font-size:85%;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;, &lt;/span&gt;&lt;span style="font-family:BookMasterSymbol-Regular;font-size:85%;"&gt;&amp;lt;=&lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;, &lt;/span&gt;&lt;span style="font-family:BookMasterSymbol-Regular;font-size:85%;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;, &lt;/span&gt;&lt;span style="font-family:BookMasterSymbol-Regular;font-size:85%;"&gt;&amp;gt;=&lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;, LIKE, or BETWEEN).&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The following example illustrates matching predicates:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;SELECT \ FROM EMP&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;WHERE JOBCODE = '5' AND SALARY &amp;gt; 6ðððð AND LOCATION = 'CA';&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:BookMasterGothic-Roman;font-size:85%;"&gt;INDEX XEMP5 on (JOBCODE, LOCATION, SALARY, AGE);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The index XEMP5 is the chosen access path for this query, with MATCHCOLS = 3.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;There are two equal predicates on the first two columns and a range predicate on&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the third column. Though there are four columns in the index, only three of them&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;can be considered matching columns.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;Chapter 7-4. Using EXPLAIN to improve SQL performance &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;647&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:130%;"&gt;Is the query satisfied using only the index? (INDEXONLY=Y)&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;In this case, the method is called index-only access. For a SELECT operation, all&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;the columns needed for the query can be found in the index and DB2 does not&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;access the table. For an UPDATE or DELETE operation, only the index is required&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;to read the selected row.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| Index-only access to data is not possible for any step that uses list prefetch&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| (described under “What kind of prefetching is done? (PREFETCH = L, S, or blank)”&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| on page 653. Index-only access is not possible when returning varying-length data&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| in the result set or a VARCHAR column has a LIKE predicate, unless the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| VARCHAR FROM INDEX field of installation panel DSNTIP4 is set to YES and&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| plan or packages have been rebound to pick up the change. See Section 2 of DB2&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| Installation Guide for more information.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;If access is by more than one index, INDEXONLY is Y for a step with access type&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;MX, because the data pages are not actually accessed until all the steps for&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;intersection (MI) or union (MU) take place.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| When an SQL application uses index-only access for a ROWID column, the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| application claims the table space or table space partition. As a result, contention&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| may occur between the SQL application and a utility that drains the table space or&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| partition. Index-only access to a table for a ROWID column is not possible if the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| associated table space or partition is in an incompatible restrictive state. For&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| example, an SQL application can make a read claim on the table space only if the&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;| restrictive state allows readers.&lt;/span&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21797163-113878709644628042?l=endwaymainframe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endwaymainframe.blogspot.com/feeds/113878709644628042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21797163&amp;postID=113878709644628042' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878709644628042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878709644628042'/><link rel='alternate' type='text/html' href='http://endwaymainframe.blogspot.com/2006/02/using-explain-in-db2.html' title='Using EXPLAIN in DB2'/><author><name>Endway editor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21797163.post-113878634556831491</id><published>2006-02-01T01:32:00.000-08:00</published><updated>2006-02-01T01:32:25.573-08:00</updated><title type='text'>CREATE PLAN TABLE</title><content type='html'>&lt;span style="font-size:85%;"&gt;CREATE TABLE XTRNBBA.PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;(&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;QUERYNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INTEGER NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;QBLOCKNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;APPLNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(8) NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;PROGNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(8)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;PLANNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; METHOD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;CREATOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(8)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; TNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(18)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; TABNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; ACCESSTYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(2)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;MATCHCOLS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; ACCESSCREATOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(8)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; ACCESSNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(18)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; INDEXONLY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTN_UNIQ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTN_JOIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTN_ORDERBY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTN_GROUPBY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTC_UNIQ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTC_JOIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTC_ORDERBY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTC_GROUPBY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; TSLOCKMODE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(3)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; TIMESTAMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(16)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; REMARKS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR(254)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; PREFETCH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL WITH DEFAULT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; COLUMN_FN_EVAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL WITH DEFAULT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; MIXOPSEQ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL WITH DEFAULT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; VERSION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR(64)&amp;nbsp;&amp;nbsp;NOT NULL WITH DEFAULT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; COLLID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(18)&amp;nbsp;&amp;nbsp;NOT NULL WITH DEFAULT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; ACCESS_DEGREE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; ACCESS_PGROUP_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; JOIN_DEGREE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; JOIN_PGROUP_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTC_PGROUP_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; SORTN_PGROUP_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; PARALLELISM_MODE&amp;nbsp;&amp;nbsp; CHAR(1),&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; MERGE_JOIN_COLS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SMALLINT,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; CORRELATION_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(18),&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; PAGE_RANGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; JOIN_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; GROUP_MEMBER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(8)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; IBM_SERVICE_DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR(254) NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; WHEN_OPTIMIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(1)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; QBLOCK_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CHAR(6)&amp;nbsp;&amp;nbsp;NOT NULL,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt; BIND_TIME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TIMESTAMP NOT NULL&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;)&amp;nbsp;&amp;nbsp;IN DATABASE.TABLESPACE;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;EXEC SQL &lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPLAIN ALL SET QUERYNO =&amp;nbsp;&amp;nbsp;n FOR&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SQL statement&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;end-exec.&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;SELECT&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;QUERYNO,&amp;nbsp;&amp;nbsp;QBLOCKNO, QBLOCK_TYPE,&amp;nbsp;&amp;nbsp;APPLNAME, PROGNAME,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;PLANNO, METHOD,&amp;nbsp;&amp;nbsp;CREATOR, TNAME, TABNO, ACCESSTYPE, JOIN_TYPE,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;MATCHCOLS, ACCESSNAME,&amp;nbsp;&amp;nbsp;INDEXONLY, SORTN_PGROUP_ID,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;SORTN_UNIQ, SORTN_JOIN, SORTN_ORDERBY,&amp;nbsp;&amp;nbsp;SORTN_GROUPBY,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;SORTC_PGROUP_ID, SORTC_UNIQ, SORTC_JOIN, SORTC_ORDERBY,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;SORTC_GROUPBY, TSLOCKMODE, TIMESTAMP,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;PREFETCH, COLUMN_FN_EVAL, MIXOPSEQ, COLLID, VERSION,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;ACCESS_DEGREE, ACCESS_PGROUP_ID, JOIN_DEGREE, JOIN_PGROUP_ID,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;PARALLELISM_MODE, MERGE_JOIN_COLS, CORRELATION_NAME,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;PAGE_RANGE, GROUP_MEMBER, WHEN_OPTIMIZE, BIND_TIME&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;FROM XTRNBBA.PLAN_TABLE&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;ORDER BY APPLNAME, COLLID, VERSION, PROGNAME,&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TIMESTAMP DESC, QUERYNO, QBLOCKNO, PLANNO;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Method &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;First table accessed&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Nested loop join&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Merge scan join&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Independent Sort&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hybrid join&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Accesstype&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Indexed access&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;One-fetch index scan&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tablespace scan&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Index access with an IN predicate&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Multiple index scan&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Specification of the index name for multiple index access&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Multiple index access by RID intersection&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MU&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Multiple index access by RID union&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Matchcols&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Contains number of index columns used in an index scan when accesstype is I, I1, N, or MX&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Accessname&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Indicates the name of the index used&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Indexonly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - access to index is suffcient to satisfy query&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;N - access to tablespace is required&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Sortn_uniq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - indicates that a sort must be performed on the new table to remove duplicates&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Sortn_join&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - indicates that a sort must be performed on the new table to accomplish a merge scan join or a sort is performed on the RID list and intermediate table of a hybrid join&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Sortn_orderby&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - indicates that a sort must be performed on the new table to order rows&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Sortn_groupby&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - indicates that a sort must be performed on the new table to group rows&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Sortc_uniq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - indicates that a sort must be performed on the composite table to remove duplicates&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Sortc_join&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - indicates that a sort must be performed on the composite table to accomplish a merge scan join or a sort is performed on the RID list and intermediate table of a hybrid join&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Sortc_orderby&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - indicates that a sort must be performed on the composite table to order rows&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Sortc_groupby&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y - indicates that a sort must be performed on the composite table to group rows&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Tslockmode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Lock level applied to the new table, its table space or partitions&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If isolation level can be determined at bind time:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intent share lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intent exclusive lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;share lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;U&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;update lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exclusive lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SIX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;share with intent exclusive lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;no lock&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If isolation level cannot be determined at bind time:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;share lock (CS, RR, RS)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NIS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Intent share lock (CS, RR, RS)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NSS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Intent share lock (CS, RS), share lock (RR)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Intent share lock (CS, RS, UR) share lock (RR)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Prefetch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sequential prefetch&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;L&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list prefetch&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blank&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prefetch not used initially&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Column_fn_eval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Indicates when the column function is evaluated&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data retrieval time&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort time&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Mixopseq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Indicates sequence of multiple index operation&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Access_degree&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Number of parallel tasks utilized by the query&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Access_pgroup_id&amp;nbsp;&amp;nbsp;A sequential number identifying the parallel group accessing the new table&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Parallelism_mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I - i/o parallelism&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;C- cpu parallelism&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X - Sysplex parallelism&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Merge_join_cols&amp;nbsp;&amp;nbsp; indicates the number of columns joined during a merge scan&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Join_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;full outer join&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;L&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Left outer join&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blank&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Inner join (or no join)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;When_optimize&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blank&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at bind time&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;At bind time, but will be re-optimised at run time&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;At run time&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Qblock_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Type of SQL operation&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selupd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select with for update of&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;insert&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;update&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delete&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;updcur&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;update where current of cursor&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delcur&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delete where current of cursor&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;corsub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;correlated sub-query&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ncosub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;non-correlated sub-query&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Most efficient access path when a limited number of rows are to be retrieved:&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Index only direct index look up&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Direct index look up with data access&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Index-only matching index scan&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Index-only non-matching index scan&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Matching clustered index access&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Matching non-clustered index access&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Non-Matching clustered index access&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Non-Matching non-clustered index access&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Partitioned tablespace scan skipping multiple partitions (partition scan)&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Segmented tablespace scan&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;Simple table scan&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;The above sequence is reversed if most of the rows in the table are being accessed&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21797163-113878634556831491?l=endwaymainframe.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endwaymainframe.blogspot.com/feeds/113878634556831491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21797163&amp;postID=113878634556831491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878634556831491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21797163/posts/default/113878634556831491'/><link rel='alternate' type='text/html' href='http://endwaymainframe.blogspot.com/2006/02/create-plan-table.html' title='CREATE PLAN TABLE'/><author><name>Endway editor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
