HP 3000 Manuals

Handling Execution Errors [ HP RPG/XL Programmer's Guide ] MPE/iX 5.0 Documentation


HP RPG/XL Programmer's Guide

Handling Execution Errors 

If an error occurs while you're executing an RPG program, an error
message (and often an error number) is displayed.  If the error is a file
error, the File Information Display is produced automatically along with
an Error Dump (you can request error dumps independently, if you wish).
The sections which follow in this chapter discuss error messages, Error
Dumps and the File Information Display in detail.

If you're executing a program in session mode, the error message and File
Information Display are shown on your terminal.  In job mode, error
messages are displayed on the operator's console and the File Information
Display is saved with the job listing.  It is a good idea, when running
in job mode, to capture the messages and file information in a disc file.
This gives you more flexibility in scheduling your jobs and lets you
examine results at a later time.  The following RUN command executes the
program GL50 and redirects error information to the existing disc file,
MESSFL:

     :RUN GL50;STDLIST=MESSFL

Error Messages 

There are four types of error messages:  RPG, IMAGE, USWITCH and BUFCHK.
RPG errors are general errors such as arithmetic overflow and matching
record sequence errors.  TurboIMAGE errors originate in the TurboIMAGE
subsystem and you may see these errors if you're using an IMAGE database
in your program.  You may see USWITCH and BUFCHK errors if you're using
the USWITCH Source or the BUFCHK features of RPG, respectively.

Each type of error message has a different format and is documented
separately.  RPG, USWITCH and BUFCHK errors are documented in Appendix B
of the HP RPG Reference Manual.  TurboIMAGE errors are explained in the
TurboIMAGE/XL Database Management System manual.  It is important,
therefore, to learn to recognize these three types of message formats so
that you will know where to find explanations and remedial procedures for
them.

RPG Errors.  Most of the error messages you see when running an RPG
program are RPG error messages.  RPG errors are detected by the software
that performs the basic RPG processing.  They also include errors
occurring in software that RPG interfaces with, such as VPLUS, RSI, and
KSAM.

Appendix B of the HP RPG Reference Manual contains a complete description
of the RPG errors and actions that you can take to correct the errors.

Identifying RPG Errors 

Figure 7-3 shows a typical RPG error message.  Lines relating to RPG
errors are shaded.  You identify an RPG error by the line,

     *** RPG ERROR ***

You identify the specific error by the error number line,

     1.    FATAL FILE ERROR,  FILENAME=DACCOUNT

	       Click here to view figure.
          Figure 7-3.  An RPG Execution Error 

Changing the Way RPG Errors Are Handled 

Normally, when an RPG error occurs, a message is displayed and the user
(or console operator) selects a particular action to take.  The operator
can ignore the error and continue, skip the line in error and continue or
terminate the program.  If you do not want the operator or user to make
these choices for specific error situations, you can enter the actions to
take within your program.  You can do this using either (or both) the
Header Specification or the *ERROR field.

Use the Header Specification to enter the responses you want RPG to make
when an error occurs.  For instance, you might want the operator to
handle errors except when an input file sequence error occurs.  When
input sequence errors occur, you want to continue processing and use your
own error handling instead.  (Use the *ERROR field to find out the error
number, then code your own RPG operations to handle the error.)  Figure
7-4 shows a Header Specification that suppresses normal RPG processing
for input file sequence errors (the program includes code to handle these
errors).

	       Click here to view figure.
          Figure 7-4.  Providing a Response to RPG Errors Using the Header Specification 

            Comments 

 1       This Header Specification changes the default error handling for
         input file sequence errors.

         Column 55 contains N to specify that the error message for
         sequence errors be suppressed.  Instead of the normal response
         to sequence errors, take the action entered in column 58.

         Column 58 contains 0 to ignore input file sequence errors and to
         continue program execution.

TurboIMAGE Errors.  If you're using an TurboIMAGE database, you may see
TurboIMAGE errors.  To find the explanation and remedies for TurboIMAGE
errors, see the TurboIMAGE/XL Database Management System manual.

Figure 7-5 shows what an TurboIMAGE read error message looks like.

	       Click here to view figure.
          Figure 7-5.  An TurboIMAGE Error 

USWITCH Errors.  USWITCH errors may occur when you use the USWITCH Source
feature (column 16 in the Header Specification).  Appendix B of the HP 
RPG Reference Manual contains a complete description of the USWITCH
errors and recovery procedures for them.

These are the USWITCH error messages you may encounter:

     I/O ERROR ON $STDLIST

     I/O ERROR ON $STDIN

     INVALID INPUT DATA

     UNEXPECTED END OF FILE

Figure 7-6 shows what a typical USWITCH error display looks like.

	       Click here to view figure.
          Figure 7-6.  A USWITCH Error 

BUFCHK Errors.  BUFCHK errors are data buffer handling errors that may
occur when you use the BUFCHK Defaults feature (column 28 in the Header
Specification).  Appendix B of the HP RPG Reference Manual contains a
complete description of the BUFCHK errors and recovery procedures for
them.

These are the BUFCHK error messages you may encounter:

     INTERNAL OR INTRINSIC ERROR

     ATTEMPTED UPDATE BEFORE INPUT OF FIRST RECORD.

     ATTEMPTED UPDATE ON SAME RECORD OR ON AN INTERVENING "ADD" RECORD.
     ATTEMPTED LOCKING FILE AT BOTH RECORD-LEVEL AND FILE-LEVEL

Figure 7-7 shows what a typical BUFCHK error display looks like.

	       Click here to view figure.
          Figure 7-7.  A BUFCHK -4 Error 

The File Information Display 

You see the File Information Display (often referred to as "tombstone")
when an error occurs that involves a file.  File Information Displays
give additional information about the error.  File Information Displays
are discussed in the operating system intrinsics and error messages
manuals.

The File Information Display is shown in short form when the file cannot
be opened for processing.  This happens, for example, when the file does
not exist in the group or account specified.  The shaded portion of
Figure 7-8 shows what the short form looks like.

	       Click here to view figure.
          Figure 7-8.  Short Form of the File Information Display 

Once a file is opened for processing and an error occurs, additional file
information is given in the File Information Display.  This information
should help in clarifying the exact cause of the error.  In Figure 7-9,
for example, RPG error number 1 occurred for the file, DACCOUNT. The File
Information Display gives detailed information about DACCOUNT.

	       Click here to view figure.
          Figure 7-9.  Long Form of the File Information Display 

The Error Dump 

The Error Dump shows the contents of certain areas in memory when a
program terminates due to execution errors.  For example, the Error Dump
shows fields and their contents and the settings of indicators.
Executable program code is not listed in the Error Dump.

You get the Error Dump automatically when file errors occur.  Otherwise,
you must specifically request it.  You should always request dumps for
production programs.  The next four sections explain how to request an
Error Dump and the information it contains.

Creating an Error Dump File.  It is usually more convenient to write the
Error Dump to a disc file rather than display it.  Before executing the
program, create an empty disc file for the Error Dump.

The following operating system command creates the disc file, DUMPRPG,
that is in a format that can be used to save Error Dumps,

     :BUILD DUMPRPG;REC=-80,16,F,ASCII;DISC=512,8

Requesting an Error Dump.  You can get an Error Dump automatically by
entering an S in the Error Log Field (column 55) of the Header
Specification.  The dump is produced whenever an RPG error occurs.  If
you only want certain errors to trigger a dump, put an N in column 55 or
leave it blank.  Then enter an error response for those errors (which
include a dump) into the Error Response Field (columns 56-71).
(Alternatively, if you leave the Error Log Field blank and an error
occurs, the operator can select response 5.  Response 5 terminates the
program and produces a dump.)

This figure shows a Header Specification that requests an Error Dump
whenever an RPG error occurs.

	       Click here to view figure.
          Figure 7-10.  Requesting an Error Dump 

            Comments 

 1       This Header Specification requests an Error Dump and directs it
         to a disc file.

         Columns 7-14 name the disc file, DUMPRPG, that contains the
         Error Dump.

         Column 55 is S to request an Error Dump if an error occurs.  The
         program terminates immediately.  When you use S, you cannot use
         the Response Field (columns 56-71) to enter error responses.

Parts of the Error Dump.  Program information is shown in the Error Dump
in logical groupings with appropriate titles.  The dump is easy to read.
Figure 7-11 (spread over several pages) shows an Error Dump of the
program in Figure 4-23 (see the compiler listing for this program in
Figure 6-11 through Figure 6-16).

The first part of the dump, LIBRARY POINTERS, shows the addresses of the
pointers to various tables and storage areas used by the program.  Each
pointer contains the address of the first word of the table or storage
area.

     *** LIBRARY POINTERS ***
     lib_pointer pointer = 40200010
     run-time globals pointer = 40200078
     indicators pointer = 40200170
     work area pointer = 40200230
     alpha field pointer = 4020025C
     numeric field pointer = 40200AC4
     LDA buffer pointer = 00000000
     UDATE field pointer = 40200ACA
     UDAY field pointer = 40200ADD
     UMONTH field pointer = 40200AEA
     UYEAR field pointer = 40200AE4
     ERROR field pointer = 40200AA5
     alt collating seq tbl pointer = 00000000
     file translation tables pointer = 00000000
     file extension tables pointer = 40200DF4
     workstation table pointer = 40200AF8
     first file table pointer = 40200ED0
     first record buffer pointer = 402010F0
     level info pointer = 00000000
     matching record info pointer = 00000000
     first chain table pointer = 00000000
     table/array tables pointer = 402012D0
     first RLABL pointer = 00000000
     terminal control table pointer = 00000000
     current input proc. pointer = 40100081
     get_rec() proc. pointer = 401000A1

          Figure 7-11.  The Error Dump - LIBRARY POINTERS 

After the LIBRARY POINTERS section, the RUN-TIME GLOBALS DATA AREA is
displayed.  This area contains run-time control and status information.
For example, one piece of information is the file number for a message
file used in the program.  The first part of the globals area for the
program in Figure 4-11 is shown below.

     *** RUN-TIME GLOBALS DATA AREA ***
     H Col 16: user switch source = 0
     H Col 17: UDATE source = 0
     H Col 49: message control on record length error = 0
     Date and number format: 0
     Packed Decimal -1: OOOOOO1D
     Packed Decimal +0: OOOOOOOC
     Packed Decimal +1: OOOOOO1C
     Run-time File Table count: 2
     Run-time File Table size (bytes): 260
     Table/Array Table count: 2
     Table/Array Table size (bytes): 68
     local data area size (bytes): 0
     $STDLIST output record length (bytes): 81
     User Message File number: 0
     Current Line number: 504
     Loop Counter: 0
     Min size: 0
     H Col 41: Request Page Alignment = 0
     H Col 47: Don't skip to new page = 0
     H Col 44: OK to move spec. chars = 0
     in RPG logic cycle: 1
     Match Descending in record matching: 2
     Match Primary in record selection: 0
     Match Records in record selection: 0
     OK to end program: 0
     In block mode: 1
     Running Interactively: 1
     NLS Catalog opened: 0
     DS move done: 0
     perform numeric validation: 1
     uswitches used flag: 0
     error parameter: 0
     temporary storage: 0
     $CONTROL EXCQUIT flag: 0
     LDA file number: 0
     $CONTROL NEWSAVE flag: 0
               .
               .
               .
          Figure 7-11.  The Error Dump - RUN-TIME GLOBALS DATA AREA 

The next two figures show the contents of the File Table Areas for each
file processed in the program.  The first file shown is TERMINAL and the
second is DACCOUNT (these names are shaded in the figures).

The first section of each figure shows general information about the
file.  For example, TERMINAL is a WORKSTN file whose designation is
DEMAND. Following the general information is the contents of the file
buffer (RECORD BUFFER (ASCII)). Then, the contents of the FILE TABLE are
listed in hexadecimal notation.  The FILE TABLE contains all of the
control information used to process the file and may prove helpful in
determining the cause of file errors.  The WORKSTATION EXTENSION TABLE
follows the FILE TABLE if the file is a WORKSTN file; the IMAGE EXTENSION
TABLE follows if the file is a TurboIMAGE file.  They give information
relevant to those file types.

Refer to Table 7-1 through Table 7-3 for descriptions of positions in the
FILE, IMAGE EXTENSION and WORKSTATION EXTENSION TABLES. (A "word" in
Table 7-1 through Table 7-3 is 32 bits long.)

     *** FILE TABLE AREA ***
     FILE NAME = TERMINAL 

     MPEXL FILE NUMBER = -1         DEVTYPE = WORKSTN (ACTUAL = DISC)

     FILE TYPE   UPDATE             FILE DESIGNATION   DEMAND
     RECORD FORMAT        256B, IR/B, VARIABLE SEQUENTIAL

     RECORD BUFFER (ASCII)

     FILE TABLE
     40200ED0:   FFFFFFFF   5445524D   494E414C   574F524B   53544E20
     40200EE4:   00000000   00000000   00000000   00000002   00000006
     40200EF8:   00000000   00000000   00000000   00000000   00000000
     40200F0C:   00000000   00000000   00000000   00000001   00000000
     40200F20:   00000000   00000000   00000100   00000001   00000000
     40200F34:   402010F0   00000000   00000000   00000000   00000000
     40200F48:   00000000   00000000   00000000   00000000   00000000
     40200F5C:   40200AF8   00000000   00000000   00000000   00000000
     40200F70:   00000000   00000000   00000000   00000000   00000000
     40200F84:   00000000   00000000   00000000   00000001   01000000
     40200F98:   00000000   00000000   00000000   00000000   00000000
     4O2OOFAC:   00000000   00000000   00000000   00000000   00000000
     40200FC0:   00000000   00000000   00000000   00000000   00000000

     WORKSTATION EXTENSION TABLE
     40200AF8:   00000000   00000000   00000000   00000000   00000000
     40200B0C:   00000001   00000000   00000000   00000001   00000001
     40200B20:   00000001   00000000   00000000   00000000   00000000
     40200B34:   00000000   00000000   0000000B   00000000   FFFFFFF7
     40200B48:   00000000   40A00000   40200ED0   00000000   00000000
                    .
                    .
                    .
          Figure 7-11.  The Error Dump - TERMINAL File and Workstation Tables 

     FILE NAME = DACCOUNT 

     MPEXL FILE NUMBER = 1          DEVTYPE = DISC     (ACTUAL = DISC)

     FILE TYPE   UPDATE             FILE DESIGNATION    CHAINING
     RECORD FORMAT        200B, IR/B, FIXED RANDOM

     RECORD BUFFER (ASCII)

     FILE TABLE
     40200FD4:   00000001   44414343   4F554E54   44495343   20202000
     40200FE8:   00000000   00000000   00000000   00000002   00000004
     4O2OOFFC:   0000000F   00000001   00000000   00000000   00000006
     40201010:   00000000   00000002   00000000   00000000   00000000
     40201024:   00000000   00000000   000000C8   00000001   00000000
     40201038:   40201208   00010100   00000001   00000001   00000000
     4020104C:   00000000   00000000   00000000   00000000   00000000
     40201060:   00000000   40200DF4   00000000   00000000   00000000
     40201074:   00000000   00000000   00000000   00000000   00000000
     40201088:   00000000   00000000   00000000   00000101   01000000
     4020109C:   00000000   00000000   00000000   00000000   00000000
     402010B0:   00000000   00000000   00000000   00000000   00000000
     402010C4:   00000000   00000000   00000000   00000000   00000000

     IMAGE EXTENSION TABLE
     40200DF4:   00014D41   524B4554   20202020   57524954   45522020
     40200E08:   4143434F   554E542D   4E4F2020   20202020   20202020
     40200E1C:   20202020   442D4143   434F554E   54532020   20202020
     40200E30:   00000011   3CAElOOO   00004192   40200DF4   00CA0000
     40200E44:   00000000   00000000   00000000   00000000   00000000
     40200E58:   00000004   00000005   00000040   00000001   00000000
     40200E6C:   00000000   00000000   00000000   00000000   00000000
     40200E80:   00000000   00000001   00000003   00000000   00000000
     40200E94:   00000000   00000000   00000000   00000000   00000000
     40200EA8:   40200EC4   40200ECA   00000000   00000000   00000000
     4O2OOEBC:   00000000   00000000   00000000   00000000   00000000
     40200ED0:   FFFFFFFF   5445524D   494E414C   574F524B   53544E20
     40200EE4:   00000000   00000000   00000000   00000002   00000006
     40200EF8:   00000000   00000000   00000000   00000000   00000000
                    .
                    .
                    .
          Figure 7-11.  The Error Dump - DACCOUNT File and Extension Tables 

After the File Table area, all indicator settings are listed as shown in
this figure.

     ***  LEVEL  INDICATORS  ***

     LO   =   ON    Ll   =   OFF   L2   =   OFF   L3   =   OFF   L4   =   OFF
     LS   =   OFF   L6   =   OFF   L7   =   OFF   L8   =   OFF   L9   =   OFF

     ***  FUNCTION  KEY  INDICATORS  ***

     FO   =   OFF   Fl   =   OFF   F2   =   OFF   F3   =   OFF   F4   =   OFF
     FS   =   OFF   F6   =   OFF   F7   =   OFF   F8   =   OFF   F9   =   OFF

     ***  COMMAND  KEY  INDICATORS  ***

     KA   =   OFF   KB   =   OFF   KC   =   OFF   KD   =   OFF   KE   =   OFF
     KF   =   OFF   KG   =   OFF   KH   =   OFF   KI   =   OFF   KJ   =   OFF
     KK   =   OFF   KL   =   OFF   KM   =   OFF   KN   =   OFF   KP   =   OFF
     KQ   =   OFF   KR   =   OFF   KS   =   OFF   KT   =   OFF   KU   =   OFF
     KV   =   OFF   KW   =   OFF   KX   =   OFF   KY   =   OFF

     ***  HALT  INDICATORS  ***

     HO   =   OFF   Hl   =   OFF   H2   =   OFF   H3   =   OFF   H4   =   OFF
     H5   =   OFF   H6   =   OFF   H7   =   OFF   H8   =   OFF   H9   =   OFF

     ***  OVERFLOW  INDICATORS  ***

     OA   =   OFF   OB   =   OFF   OC   =   OFF   OD   =   OFF
     OE   =   OFF   OF   =   OFF   OG   =   OFF   OV   =   OFF
     LR   =   OFF   MR   =   OFF   IP   =   OFF

     ***   USER INDICATORS ***

     Ul   =   OFF   U2   =   OFF   U3   =   OFF   U4   =   OFF   U5   =   OFF
     U6   =   OFF   U7   =   OFF   U8   =   OFF

     ***   OTHER   INDICATORS ***

                    01   =   OFF   02   =   OFF   03   =   OFF   04   =   OFF
     OS   =   OFF   06   =   OFF   07   =   OFF   08   =   OFF   09   =   OFF
          Figure 7-11.  The Error Dump - INDICATORS 

The contents of alphanumeric and numeric fields are listed next, as shown
in the following figure.  To see the contents of a particular field, find
the field's address in the compiler Symbol Table listing, then locate
that address using the address column at the left margin.  For example,
the ADDR column in the Symbol Table listing for the field ACTION contains
000002a4 (in hexadecimal).  Adding the offset address (40200010) of
lib_pointer in the LIBRARY POINTERS section of the Error Dump, the actual
address for ACTION is 402002B4.  Since ACTION is an alphanumeric field,
it takes up six bytes.  The shaded area in the Alphanumeric Fields
section shows the contents of ACTION (it is blank).

     *** ALPHANUMERIC FIELDS ***

     4020025C:
     4020029D:                                
     402002DE:
     4020031F:                                                 ADD     MODE      CH
     40200360: ANGE   MODE    INQUIRY MODE                     DELETE  MODE
     402003A1:                               EXIT
     402003E2:                                                              SELECT
     40200423: MODE WITH FUNCTION KEY
     40200464: MAKE CHANGES AND HIT ENTER (F7 TO CANCEL CHANGE)
     402004A5:
     402004E6:                                      YOU MAY NOT CHANGE ACCOUNT NUM
     40200527: BER OR LAST NAME    (F7 TO CLEAR)                   INVALID KEY (F7
     40200568: TO CLEAR)                                                         EX
     402005A9: ISTING ACCOUNT NUMBER
     402005EA:               INVALID ACCOUNT NUMBER
     4020062B:                             PRESS F5 AGAIN TO CONFIRM DELETE (F7 TO
     4020066C:   CANCEL DELETE)
     402006AD:
     402006EE:
     4020072F:
         .
         .
         .

     *** NUMERIC FIELDS ***

     40200AC4: 0000000000000030988F00000000000000000000000000000000009F0000000000
     40200AE4: 088F00000000003F00000000000000000000000
          Figure 7-11.  The Error Dump - ALPHANUMERIC and NUMERIC FIELDS 

The last part of the formatted dump lists table and array information.
Each table and array is listed in the order in which it appears in the
program.  For each table and array, control information is printed first
followed by an ASCII dump of the table or array's contents.  In the
following figure, the arrays MSG and LBL are printed (they are defined in
lines 25 and 26 of the source program).

     ** TABLES AND ARRAYS ***

     ARRAY DEFINED ON LINE NUMBER = 25 
     COMPILE TIME ARRAY, NO SEQUENCE, ALPHAMERIC, NOT ALTERNATING
     ENTRY LENGTH 79           POINTER TO ARRAY =   4020041C    NO. OF ENTRIES = 20

     HEX DUMP OF T/A CONTROL INFORMATION
     402012D0:  403BBC08  00000002  00000000  00000000  00000000
     402012E4:  00000000  00000000  00000001  00000001  0000004F
     402012F8:  00000014  0000004F  00000019  4020041C  00000000
     4020130C:  00000000  00000000

     ASCII DUMP OF ARRAY
     4020041C :
     SELECT MODE WITH FUNCTION KEY
     4020045D :
                    MAKE CHANGES AND HIT ENTER (F7 TO CANCEL CHANGE)
     4020049E :
         .
         .
         .

     ARRAY DEFINED ON LINE NUMBER = 26 
     COMPILE TIME ARRAY, NO SEQUENCE, ALPHAMERIC, NOT ALTERNATING
     ENTRY LENGTH 16           POINTER TO ARRAY =   4020034E     NO. OF ENTRIES = 8

     HEX DUMP OF T/A CONTROL INFORMATION
     40201314:  00000000  00000002  00000000  00000000  00000000
     40201328:  00000000  00000000  00000000  00000001  00000010
     4020133C:  00000008  00000010  0000001A  4020034E  00000000
     40201350:  00000000  00000000

     ASCII DUMP OF ARRAY
     4020034E :
     ADD MODE         CHANGE  MODE     INQUIRY MODE                     D
     4020038F :
     ELETE MODE                                       EXIT
          Figure 7-11.  The Error Dump - TABLES AND ARRAYS 

          Table 7-1.  The File Table 

-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 0        |          | Number returned by FOPEN intrinsic                                    |
|          |          |                                                                       |
| 1-2      |          | File name                                                             |
|          |          |                                                                       |
| 3-4      |          | Device type name                                                      |
|          |          |                                                                       |
| 5-7      |          | Line number for line printer channel control                          |
|          |          |                                                                       |
| 8        |          | File type:                                                            |
|          |          |      0 = Input file                                                   |
|          |          |      1 = Output file                                                  |
|          |          |      2 = Update file                                                  |
|          |          |      3 = Display file                                                 |
|          |          |      4 = Combined file                                                |
|          |          |                                                                       |
| 9        |          | File designation:                                                     |
|          |          |      0 = Secondary input file                                         |
|          |          |      1 = Blank                                                        |
|          |          |      2 = Primary input file                                           |
|          |          |      3 = Record address file                                          |
|          |          |      4 = Chaining file                                                |
|          |          |      5 = Table or array file                                          |
|          |          |      6 = Demand file                                                  |
|          |          |                                                                       |
| 10       |          | File organization:                                                    |
|          |          |      1-7 = Sequential or direct access file (allocate 1-7 buffers)    |
|          |          |      8-9 = Sequential or direct access file (allocate 2 buffers)      |
|          |          |      00 = Neither an ADDROUT nor a direct-access file                 |
|          |          |      10 = An ADDROUT file                                             |
|          |          |      11 = A direct-access file                                        |
|          |          |      13 = A KSAM file                                                 |
|          |          |      14 = An ISAM file                                                |
|          |          |      15 = A TurboIMAGE file                                           |
|          |          |                                                                       |
| 11       |          | Processing mode:                                                      |
|          |          |      0 = A sequential file                                            |
|          |          |      1 = A random-access file                                         |
|          |          |      2 = An indexed file processed sequentially between limits        |
|          |          |                                                                       |
| 12       |          | Overflow indicator (if this is a printer file):                       |
|          |          |      122-128 = OA-OG                                                  |
|          |          |      129 = OV                                                         |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------

          Table 7-1.  The File Table (Continued) 

-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 13       |          | File conditioner:                                                     |
|          |          |      0 = File can be used unconditionally                             |
|          |          |      179-186 = U1-U8                                                  |
|          |          |                                                                       |
| 14       |          | The key length (in bytes) of a RAF or TurboIMAGE file                 |
|          |          |                                                                       |
| 15       |          | Line printer carriage control                                         |
|          |          |                                                                       |
| 16       |          | Record address type:                                                  |
|          |          |      0 = A sequential file or a direct access file not processed by ch|ining
|          |          |        or a RAF                                                       |
|          |          |      1 = A file processed by chaining or a RAF                        |
|          |          |      2 = A KSAM, ISAM or TurboIMAGE file processed by alphanumeric key|
|          |          |      3 = A KSAM, ISAM or TurboIMAGE file processed by packed numeric k|y
|          |          |                                                                       |
| 17       |          | Number of user labels:                                                |
|          |          |      0 = Standard label only                                          |
|          |          |      1-9 = Standard label with 1-9 user labels                        |
|          |          |                                                                       |
| 18       |          | File format:                                                          |
|          |          |      0 = Fixed length records                                         |
|          |          |      1 = Variable length records                                      |
|          |          |                                                                       |
| 19       |          | Number of extents                                                     |
|          |          |                                                                       |
| 20       |          | Type of file translation table:                                       |
|          |          |      0 = None                                                         |
|          |          |      1 = User-defined                                                 |
|          |          |      2 = EBCDIC                                                       |
|          |          |      3 = EBCDIK                                                       |
|          |          |                                                                       |
| 21       |          | New page starting line number for line printer files; or record number|
|          |          | adjust for direct file                                                |
|          |          |                                                                       |
| 22       |          | Record length in bytes                                                |
|          |          |                                                                       |
| 23       |          | Block length in bytes                                                 |
|          |          |                                                                       |
| 24       |          | Pointer to translation table                                          |
|          |          |                                                                       |
| 25       |          | Pointer to file record buffer                                         |
|          |          |                                                                       |
| 26       | 0        | Enable current data check flag                                        |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------

          Table 7-1.  The File Table (Continued) 
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 26       | 1        | Enable new record check flag                                          |
|          |          |                                                                       |
| 26       | 2        | Enable update record check                                            |
|          |          |                                                                       |
| 26       | 3        | Look-ahead file flag:                                                 |
|          |          |      0 = Not used as a look-ahead file                                |
|          |          |      1 = Used as a look-ahead file                                    |
|          |          |                                                                       |
| 27       | 0        | Terminate method flag:                                                |
|          |          |      0 = End-of-file field in File Description Specification is blank |
|          |          |      1 = End-of-file field in File Description Specification contains |
|          |          |       (all records must be processed before program termination)      |
|          |          |                                                                       |
| 27       | 1        | Run-time SPECIAL file flag:                                           |
|          |          |      0 = Not a SPECIAL file                                           |
|          |          |      1 = A SPECIAL file                                               |
|          |          |                                                                       |
| 27       | 2        | Overflow line passed flag                                             |
|          |          |                                                                       |
| 27       | 3        | Append to end-of-file flag                                            |
|          |          |                                                                       |
| 28       | 0        | NOLOCK Continuation line flag                                         |
|          |          |                                                                       |
| 28       | 1        | Lock/unlock option flag                                               |
|          |          |                                                                       |
| 28       | 2        | Printing mode flag                                                    |
|          |          |                                                                       |
| 29       |          | Pointer to label exit name or SPECIAL file processing routine         |
|          |          |                                                                       |
| 30       |          | Pointer to error exit subroutine                                      |
|          |          |                                                                       |
| 31       |          | Pointer to BYPASS field name                                          |
|          |          |                                                                       |
| 32       |          | Pointer to RDEXIT routine name                                        |
|          |          |                                                                       |
| 33       |          | Pointer to *CONTD field for RAF                                       |
|          |          |                                                                       |
| 34       |          | Pointer to RAF chain table                                            |
|          |          |                                                                       |
| 35       |          | Pointer to WORKSTN Extension Table (Table 7-3)                        |
|          |          |                                                                       |
| 36       |          | Pointer to TurboIMAGE Extension Table (Table 7-2)                     |
|          |          |                                                                       |
| 37       |          | Pointer to control level table or overflow line number (if this is a p|inter file)
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------

          Table 7-1.  The File Table (Continued) 

-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 38       |          | Matching Field table pointer or form length (number of lines) if      |
|          |          | this is a printer file                                                |
|          |          |                                                                       |
| 39       |          | Matching or control level field in current record:                    |
| thru     |          |      For control level fields:                                        |
| 41       |          |           Word 39, byte 1 = 1 (Level 1 is present)                    |
|          |          |           Word 39, byte 2 = 1 (Level 2 is present)                    |
|          |          |           Word 39, byte 3 = 1 (Level 3 is present)                    |
|          |          |           Word 40, byte 0 = 1 (Level 4 is present)                    |
|          |          |           Word 40, byte 1 = 1 (Level 5 is present)                    |
|          |          |           Word 40, byte 2 = 1 (Level 6 is present)                    |
|          |          |           Word 40, byte 3 = 1 (Level 7 is present)                    |
|          |          |           Word 41, byte 0 = 1 (Level 8 is present)                    |
|          |          |           Word 41, byte 1 = 1 (Level 9 is present)                    |
|          |          |      For matching fields:                                             |
|          |          |           Word 39, byte 0 = 1 (match fields are present)              |
|          |          |           Word 39, bytes 1-3 = Unused                                 |
|          |          |                                                                       |
| 42       | 0        | ISAM flag:                                                            |
|          |          |      0 = File opened is not a ISAM file                               |
|          |          |      1 = File opened is an ISAM file                                  |
|          |          |                                                                       |
| 42       | 1        | KSAM flag:                                                            |
|          |          |      0 = File opened is not a KSAM file                               |
|          |          |      1 = File opened is a KSAM file                                   |
|          |          |                                                                       |
| 42       | 2        | Print file flag                                                       |
|          |          |                                                                       |
| 42       | 3        | Other file open flag (equals 1 if this file references another opened |ile)
|          |          |                                                                       |
| 43       | 0        | Run-time end-of-file flag (equals 1 when end-of-file detected)        |
|          |          |                                                                       |
| 43       | 1        | KSAM file open flag (equals 1 if file currently opened is a KSAM file)|
|          |          |                                                                       |
| 43       | 2        | Record number flag (equals 1 when the first record number is 1)       |
|          |          |                                                                       |
| 43       | 3        | OK-to-use flag (equals 1 when the file is not inhibited by U1-U8)     |
|          |          |                                                                       |
| 44       | 0,1      | Multiname file usage flag                                             |
|          |          |                                                                       |
| 44       | 2        | Locking flag (equals 1 when locking specified)                        |
|          |          |                                                                       |
| 45       |          | Binary key for KSAM or TurboIMAGE file                                |
|          |          |                                                                       |
| 46       |          | Record-identifying indicator                                          |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------

          Table 7-1.  The File Table (Continued) 

-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 47       |          | Sequence number from Input Specification (columns 15-16)              |
|          |          |                                                                       |
| 48       |          | Start of first trailer field                                          |
|          |          |                                                                       |
| 49       |          | Offset from header to current trailer field                           |
|          |          |                                                                       |
| 50       |          | Trailer field length                                                  |
|          |          |                                                                       |
| 51       |          | File parameters                                                       |
|          |          |                                                                       |
| 52       |          | File access options                                                   |
|          |          |                                                                       |
| 53       |          | Pointer to move-fields routine                                        |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------

          Table 7-2.  The TurboIMAGE Extension Table 

-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 0-2      |          | TurboIMAGE database name                                              |
|          |          |                                                                       |
| 3-4      |          | Password (LEVEL) identification (8 bytes)                             |
|          |          |                                                                       |
| 5-8      |          | First (ITEM) key name (16 bytes)                                      |
|          |          |                                                                       |
| 9-10     |          | New key file (KEYFL) name                                             |
|          |          |                                                                       |
| 11-14    |          | Data set name (16 bytes)                                              |
|          |          |                                                                       |
| 15-24    |          | TurboIMAGE communication area (10 STATUS words)                       |
|          |          |                                                                       |
| 25       |          | Open mode:                                                            |
|          |          |     1 = Read/Write Shared mode                                        |
|          |          |     2 = Update Shared mode                                            |
|          |          |     3 = Exclusive mode                                                |
|          |          |                                                                       |
| 26       |          | I/O mode:                                                             |
|          |          |      2 = Serial read                                                  |
|          |          |      3 = Backward serial read                                         |
|          |          |      4 = Directed read                                                |
|          |          |      5 = Chained read                                                 |
|          |          |      6 = Backward chained read                                        |
|          |          |      7 = Associative read                                             |
|          |          |      8 = Primary associative read                                     |
|          |          |      9 = Sequential read                                              |
|          |          |     10 = Backward sequential read                                     |
|          |          |     11 = Chained sequential read                                      |
|          |          |     12 = Backward chained sequential read                             |
|          |          |                                                                       |
| 27       | 0        | First record flag (blank, zero or 1)                                  |
|          |          |                                                                       |
| 27       | 1        | Duplicate flag (blank or zero)                                        |
|          |          |                                                                       |
| 27       | 2        | Random flag (blank, C or R)                                           |
|          |          |                                                                       |
| 28       |          | Database check (equals 1 if database is open)                         |
|          |          |                                                                       |
|          |          | The next seven items (words 29-35) are used with the BUFCHK option:   |
|          |          |                                                                       |
| 29       |          | BUFCHK specification                                                  |
|          |          |                                                                       |
| 30       |          | CDC response                                                          |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------

          Table 7-2.  The TurboIMAGE Extension Table (Continued) 
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 31       |          | NRC response                                                          |
|          |          |                                                                       |
| 32       |          | UPC response                                                          |
|          |          |                                                                       |
| 33       |          | Must repoint                                                          |
|          |          |                                                                       |
| 34       |          | Dirty here                                                            |
|          |          |                                                                       |
| 35       |          | Needs reset                                                           |
|          |          |                                                                       |
| 36       |          | TurboIMAGE type:                                                      |
|          |          |     0 = Non-TurboIMAGE                                                |
|          |          |     1 = TurboIMAGE                                                    |
|          |          |     2 = HP                                                            |
|          |          |                                                                       |
| 37       |          | Starting location of key field                                        |
|          |          |                                                                       |
| 38       |          | Dslock duration                                                       |
|          |          |                                                                       |
| 39       |          | Generic key length (in bytes)                                         |
|          |          |                                                                       |
| 40       |          | Generic relation:                                                     |
|          |          |     0 = Equal                                                         |
|          |          |     1 = Greater than                                                  |
|          |          |     2 = Greater than or equal to                                      |
|          |          |                                                                       |
| 41       |          | Indicator index for generic relation                                  |
|          |          |                                                                       |
| 42       |          | BUFCHK record number                                                  |
|          |          |                                                                       |
| 43       |          | BUFCHK address                                                        |
|          |          |                                                                       |
| 44       |          | Unused                                                                |
|          |          |                                                                       |
| 45       |          | Unused                                                                |
|          |          |                                                                       |
| 46       |          | Pointer to user status array                                          |
|          |          |                                                                       |
| 47       |          | Pointer to current key value                                          |
|          |          |                                                                       |
| 48       |          | Pointer to previous key value                                         |
|          |          |                                                                       |
| 49       |          | Pointer to File Table                                                 |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------

          Table 7-3.  The WORKSTN Extension Table 

-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 0        |          | Forms file used                                                       |
|          |          |                                                                       |
| 1        |          | Batch file used                                                       |
|          |          |                                                                       |
| 2        |          | Trace file used                                                       |
|          |          |                                                                       |
| 3        |          | Block mode flag (equals 1 when block mode is in effect)               |
|          |          |                                                                       |
| 4        |          | Function key labels flag (equals 1 when function keys are enabled)    |
|          |          |                                                                       |
| 5        |          | BREAK key flag (equals 1 when BREAK key enabled)                      |
|          |          |                                                                       |
| 6        |          | Batch search direction:                                               |
|          |          |     0 = Reverse                                                       |
|          |          |     2 = Forward                                                       |
|          |          |                                                                       |
| 7        |          | Auto-read done flag (equals 1 when auto-read is finished)             |
|          |          |                                                                       |
| 8        |          | Release WORKSTN flag                                                  |
|          |          |                                                                       |
| 9        |          | WORKSTN type:                                                         |
|          |          |     0 = VPLUS                                                         |
|          |          |     1 = RSI                                                           |
|          |          |     2 = CONSOLE                                                       |
|          |          |                                                                       |
| 10       |          | Number of forms to download                                           |
|          |          |                                                                       |
| 11       |          | Trace file open number                                                |
|          |          |                                                                       |
| 12       |          | Input event number (less than or equal to 12)                         |
|          |          |                                                                       |
| 13       |          | Form field number                                                     |
|          |          |                                                                       |
| 14       |          | Form field length                                                     |
|          |          |                                                                       |
| 15       |          | Activity or event number                                              |
|          |          |                                                                       |
| 16       |          | Previous batch record number                                          |
|          |          |                                                                       |
| 17       |          | Error message display interval                                        |
|          |          |                                                                       |
| 18       |          | Pointer to user status array                                          |
|          |          |                                                                       |
| 19       |          | Pointer to RSI start field                                            |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------

          Table 7-3.  The WORKSTN Extension Table (Continued) 

-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
|   Word   |   Byte   | Meaning                                                               |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------
|          |          |                                                                       |
| 20       |          | Pointer to terminal identification field                              |
|          |          |                                                                       |
| 21       |          | Pointer to main File Table for WORKSTN                                |
|          |          |                                                                       |
| 22-25    |          | Saved file name                                                       |
|          |          |                                                                       |
| 26-29    |          | Forms file name                                                       |
|          |          |                                                                       |
| 30-33    |          | Batch file name                                                       |
|          |          |                                                                       |
| 34-37    |          | Trac file name                                                        |
|          |          |                                                                       |
| 38-57    |          | Error message array                                                   |
|          |          |                                                                       |
| 58       |          | VPLUS communications area                                             |
| thru     |          |                                                                       |
| 157      |          |                                                                       |
|          |          |                                                                       |
-----------------------------------------------------------------------------------------------



MPE/iX 5.0 Documentation