A Detailed Look at How to Submit Your Job and Correct Errors

  1. Type in your program in the editor (option 2 from the main menu).
  2. Move the cursor to the middle of the screen and press F2 to split the scren:
    
     -------------------------------------------------------------------------------
     EDIT       BZ5112.FALL98.COBOL(EXMPL1)                     Columns 00001 00072
     Command ===>                                                  Scroll ===> CSR
     000039
     000040        FD EXAMPLE-PRINT
     000041            RECORD CONTAINS 133 CHARACTERS
     000042            DATA RECORD IS PRINT-RECORD.
     000043
     000044        01  PRINT-RECORD          PIC X(133).
     000045
     000046        WORKING-STORAGE SECTION.
     000047
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
       Menu  Utilities  Compilers  Options  Status  Help
     ------------------------------------------------------------------------------
                                ISPF Primary Option Menu
     Option ===>
                                                More:     +
     0  Settings      Terminal and user parameters            User ID . :  BZ5112
     1   View          Display source data or listings         Time. . . :  12:56
     2   Edit          Create or change source data            Terminal. :  3278
     3   Utilities     Perform ISPF utility functions          Screen. . :  2
     4   Foreground    Interactive language processing         Language. :  ENGLISH
    
  3. At the top half of the screen's command ===> prompt, type SUB and press enter. This submits your job and compiles it.
  4. The screen will be cleared and the system will give you a message that your job has been submitted. Press enter to clear this message.
    
     -------------------------------------------------------------------------------
     EDIT       BZ5112.FALL98.COBOL(EXMPL1)                     Columns 00001 00072
     Command ===>                                                  Scroll ===> CSR
     000039
     000040        FD EXAMPLE-PRINT
     000041            RECORD CONTAINS 133 CHARACTERS
     000042            DATA RECORD IS PRINT-RECORD.
     000043
     JOB SAMPLERR(JOB01094) SUBMITTED
     ***
    
  5. In a few seconds, another message will appear informing you that the job is completed. It will not appear until you hit enter (The system only updates the screen when you hit enter). There is no need to wait for it. You can go on to the next step and just clear the message when it comes (by pressing enter). The MAXXCC=12 message below tells you that your job had one or more errors (not necessarily 12). You job ran correctly without any errors or warnings if you got the message MAXXCC=0.
    
    13.17.34 JOB01107 $HASP165 SAMPLERR ENDED AT UOKMVSA  MAXCC=12 CN(INTERNAL)
     ***
    
  6. Move your cursor to the lower half of the screen and type IOF and hit enter on the command line there.
    
     -------------------------------------------------------------------------------
     EDIT       BZ5112.FALL98.COBOL(EXMPL1)                     Columns 00001 00072
     Command ===>                                                  Scroll ===> CSR
     000039
     000040        FD EXAMPLE-PRINT
     000041            RECORD CONTAINS 133 CHARACTERS
     000042            DATA RECORD IS PRINT-RECORD.
     000043
     000044        01  PRINT-RECORD          PIC X(133).
     000045
     000046        WORKING-STORAGE SECTION.
     000047
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
       Menu  Utilities  Compilers  Options  Status  Help
     ------------------------------------------------------------------------------
                                ISPF Primary Option Menu
     Option ===> IOF
                                                More:     +
     0  Settings      Terminal and user parameters            User ID . :  BZ5112
     1   View          Display source data or listings         Time. . . :  12:56
     2   Edit          Create or change source data            Terminal. :  3278
     3   Utilities     Perform ISPF utility functions          Screen. . :  2
     4   Foreground    Interactive language processing         Language. :  ENGLISH
    
  7. IOF (the input output facility) now appears. Hit enter to get a list of your jobs (programs which you have submitted).
    
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     ------------------------------- IOF Option Menu -------------------------------
     COMMAND ===>
     
    Select an option.  To get a detailed option menu, follow the option with "?".
     
     blank - Your jobs       G   - Output Groups           M    - System Monitor
       I   - Input jobs      H   - Jobs with held output   INIT - Initiators
       R   - Running jobs    L   - System Log              Q    - Input Queue
       O   - Output jobs     PR  - Printers                P    - Profile
       J   - All jobs menu   D   - Device Option Menu      CMDS - Global Commands
    
    (Bottom half of the screen only) IOF OPTION MENU
  8. A listing of your jobs appeared. The last job submitted may appear at the beginning, middle, or end. To be sure you are looking at your latest job, check the day and time in the right-most columns and select the job with the latest day and latest time. Type the number of the job and hit enter to view the parts of that job. Below, job 2 has the latest time (12:27), so I would type 2 and hit enter.
    
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     ------------------------------ IOF Job List Menu -------------( 2 )------------
     COMMAND ===>   2                                                SCROLL ===> SCREEN
     --------------------------------- Output Jobs ---------------------------------
     -------JOBNAME--JOBID--ACT-STA-OWNER----DEST/DEVICE--------RECS-HELD-DAY--TIME-
     _    1 SAMPLERR J00918         BZ5112   ADAMS                    666 049 12:11
     _    2 SAMPLERR J00951         BZ5112   ADAMS                    462 049 12:27
     
     
    (Bottom half of the screen only)
  9. Your job summary, a listing of the parts of your job, appears. Use the page down key to see the other parts of your job. Most likely, you are in one of these situations:
    1. Your program had errors. See the next steps to correct errors.
      • You get the message, NOT EXECUTED, at the top of your job summary, as below.
      • You have 5 parts to your listing.
    2. Your program ran properly. You can skip to the printing section below.
      • You do not get the message JOB NOT EXECUTED or ABEND at the top of your job summary.
      • You have 12 parts in your listing.
      • This only means that your program ran properly. It does not necessarily mean that your program did do what you wanted it to. You must check your code and the output to know if the program really worked.
    3. Your program abnormally ended. See the Fixing Errors Guide, run-time section.
      • You get a message like ABEND SYSTEM=000 USER=1020 at the top of your job summary.
      • You have all 12 parts to your listing, but the output (part 12) is empty or incomplete.
      • This means your program compiled correctly but did something illegal, like dividing by zero or reading past the end of a file.
    4. Your program was never compiled because of a JCL error. See the Fixing Errors Guide, JCL errors, or the pre-compilation section.
      • You get the message, job terminated prior to JCL Conversion, at the top of your job summary.
      • You have 4 or less parts of output.
    
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     ------------------------------- IOF Job Summary -------------------------------
     COMMAND ===>                                                 SCROLL ===> SCREEN
     --JOBNAME---JOBID--STATUS---RAN/RECEIVED----DAY--------DEST--------------------
       SAMPLERR J00951  OUTPUT   12:27   2/18/99 TODAY      ADAMS
     --RC--PGM--------STEP-----PRSTEP---PROC-----COMMENTS---------------------------
        8  IGYCRCTL   COB2              COBV2CLG
        *  IEWL       LKED              COBV2CLG NOT EXECUTED
        *  COBV2CLG   GO                COBV2CLG NOT EXECUTED
     --------DDNAME---STEP-----PRSTEP---STAT-ACT-C-GRP-D-SIZE-U--DEST---------------
     _    1  LOG      *                 HELD     C   1 H   44 L  ADAMS
    
    (Bottom half of the screen only)
  10. If you have compilation errors, listing number 4 (you may need to hit page down to see it) should be SYSPRINT COB2. This is a listing of your code and errors. Type 4 and hit enter at the command ===> prompt to get to it. You get the following screen. On the command ===> prompt, type F ==> and hit enter. This finds the text arrow (==>) which the compiler puts at the beginning of each error.
    
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     BROWSE - SYSPRINT          COB2     - Page  1     Line  1      Cols 1-80
     COMMAND ===> F ==>                                          SCROLL ===> SCREEN
    ******************************** TOP OF DATA ***********************************
    PP 5668-958 IBM VS COBOL II Release 4.0 09/15/92                           Date
     
    Invocation parameters:
    LIB,NOSEQ,ADV
     
    Options in effect:
          ADV
    
    (Bottom half of the screen only)
  11. You will now see your first error. An explanation will appear after an error code. To see all of the error message, press F11 to move the screen to the right and then F10 to move it back to the left.

    The error message may be an accurate description of the error (unlikely) or it may just be a cue that something is wrong in the area of the line on which the error was reported. See the Fixing Errors Guide, Compile Errors section, for help. The error message comes after the line on which it occured. Hit PAGE UP to see the line that caused the error. Notice that the line numbers in your error listing (bottom half of the screen) do not match up exactly with the line numbers in your code (top half of the screen).
    
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     BROWSE - SYSPRINT          COB2     - Page  2     Line  45     Cols 1-80
     COMMAND ===>                                                SCROLL ===> SCREEN
     
    ==000041==> IGYDS1082-E A period was required.  A period was assumed before "WOR
     
      000042
      000043                77  EOF-FLAG           PIC X(1) VALUE 'N'.
      000044                88  END-OF-STUDENTS   VALUE 'Y'.
      000045                88  MORE-STUDENTS     VALUE 'N'.
      000046
    
    (Bottom half of the screen only)Example error message

  12. To fix an error, use the mouse or arrow keys to move to the top half of the screen and find the line in your code that matches the line in the error print (remember line numbers do not match up exactly). (You cannot correct the code directly in the bottom window; it is just a printout of your errors and code, not the actual code). Now correct the code. In the example below, a period is missing from line 42 in the code. I added the period (shown in green below for emphasis).
    
    
       File  Edit  Confirm  Menu  Utilities  Compilers  Test  Help
     -------------------------------------------------------------------------------
     VIEW       BZ5112.FALL98.COBOL(EXMPL1)                     Columns 00001 00072
     Command ===>                                                  Scroll ===> CSR
     000041            RECORD CONTAINS 133 CHARACTERS
     000042            DATA RECORD IS PRINT-RECORD.
     000043
     000044        01  PRINT-RECORD          PIC X(133).
     000045
     000046        WORKING-STORAGE SECTION.
     000047
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     BROWSE - SYSPRINT          COB2     - Page  2     Line  40     Cols 1-80
     COMMAND ===>                                                SCROLL ===> CURSOR
      000037                    DATA RECORD IS PRINT-RECORD.
      000038
      000039                01  PRINT-RECORD          PIC X(133)
      000040
      000041                WORKING-STORAGE SECTION.
     
    ==000041==> IGYDS1082-E A period was required.  A period was assumed before "WOR
     
      000042
      000043                77  EOF-FLAG           PIC X(1) VALUE 'N'.
    
    
    (Bottom half of the screen only)Example error message
  13. You can now go back to IOF by clicking on the bottom half of the screen. Then search for more errors by hitting F5 to contintue the search(which you already started using f ==>) Then correct those errors by returning to the top of the screen (as in the previous step). Remember that one mistake can generate several error messages.
  14. It is a good idea to save your work often (every five minutes at least). Just type SAVE and hit enter at the command ===> prompt.

    After correcting a few error messages, resubmit your program by typing SUB and hitting enter at the command ===> prompt from the top half of the screen. Hit enter to clear the messages telling you that your job has been submitted and completed (just like as in steps 4 and 5).

  15. Click on the bottom half of the screen. You are currently viewing the old list of errors. Hit F3 to exit back to your job summary and then hit F3 again to go back to the IOF Job List Menu. This time select the latest job and type in its number (as in step 8).
  16. You will see your new job summary as in step 9. Repeat the process for finding and correcting your errors and re-SUBmitting your program until you have no more errors and have the correct output.
  17. When have eliminated all of your errors and your job summary displays all 12 sections of output (and you get no ABEND messages), your program has compiled and ran succsessfully. This means that your program did something, not necessarily what you wanted it do. The complier does not check for correct program design. You must make sure that your program actually does what you wanted it to do. When, you are ready to print. Press F3 until you return to the IOF Job Listing Menu.
  18. Select the job you want to print (usually the one with the latest time) and type its number with an R (which means release to the printer) afterward. For example, to release the job with ID J00951, I would type 2 and then R (below). Your output will print to the printer that you specified on the line /*ROUTE PRINT R15, which is usually in or near the third line in your program. Changing R15 to another value will use other printers on the campus of OU:

    Printer Code Destination
    R15 Adams Hall, Basement Copy Room
    R9 Dale Hall Tower, Old Student Assistant Room
    R3 Physical Sciences Center, Computer Lab (By student assistant desk)
    
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     ------------------------------ IOF Job List Menu -------------( 2 )------------
     COMMAND ===>   2R                                                SCROLL ===> SCREEN
     --------------------------------- Output Jobs ---------------------------------
     -------JOBNAME--JOBID--ACT-STA-OWNER----DEST/DEVICE--------RECS-HELD-DAY--TIME-
     _    1 SAMPLERR J00918         BZ5112   ADAMS                    666 049 12:11
     _    2 SAMPLERR J00951         BZ5112   ADAMS                    462 049 12:27
     
     
    (Bottom half of the screen only)

  19. The screen now reflects that the job has been printed.
    
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     ------------------------------ IOF Job List Menu -------------( 2 )------------
     COMMAND ===>                                                 SCROLL ===> SCREEN
     --------------------------------- Output Jobs ---------------------------------
     -------JOBNAME--JOBID--ACT-STA-OWNER----DEST/DEVICE--------RECS-HELD-DAY--TIME-
     _    1 SAMPLERR J00918         BZ5112   ADAMS                    666 049 12:11
     _    2 SAMPLERR J00951 REL     BZ5112   R15.PR1             462      049 12:27
    
    (Bottom half of the screen only)
  20. Now is a good time to clean old output (other jobs that you did not print). Erasing them will not affect your program; the output is separate. To erase old jobs, type the number of the job (for example 1) or a range (for example 1-5) and then C and then hit enter. You do not need to erase printed jobs; the system automatically removes them.
    
     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
     ------------------------------ IOF Job List Menu -------------( 2 )------------
     COMMAND ===>   1C                                              SCROLL ===> SCREEN
     --------------------------------- Output Jobs ---------------------------------
     -------JOBNAME--JOBID--ACT-STA-OWNER----DEST/DEVICE--------RECS-HELD-DAY--TIME-
     _    1 SAMPLERR J00918         BZ5112   ADAMS                    666 049 12:11
     _    2 SAMPLERR J00951 REL     BZ5112   R15.PR1             462      049 12:27
    
    Erasing Old Output(Bottom half of the screen only)
  21. When you have finished your project, be sure to exit out of your program by hitting F3 in the top window. This automatically saves your program.
  22. Be sure to log off from TSO. Simply logging off from the business network by clicking on the logout icon does not log you off of the mainframe. If you do this without logging off from TSO, you will not be able to log on again for the next 20-30 minutes because the mainframe still thinks you are logged on and will not let you log on again while you are still on.

    To log out correctly, type = off from the command ====> prompt and hit enter. IF you split the screen you may have to do this twice.
    
    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
       Menu  Utilities  Compilers  Options  Status  Help
     ------------------------------------------------------------------------------
                                ISPF Primary Option Menu
     Option ===> =off
                                                More:     +
     0  Settings      Terminal and user parameters            User ID . :  BZ5112
     1   View          Display source data or listings         Time. . . :  12:56
     2   Edit          Create or change source data            Terminal. :  3278
     3   Utilities     Perform ISPF utility functions          Screen. . :  2
     4   Foreground    Interactive language processing         Language. :  ENGLISH
    
    Logging Off