HPlogo E0300 MPE/iX Error Messages Manual Volume III > Chapter 6 TurboIMAGE/XL

Library Procedure Error Messages

MPE documents

Complete PDF
Table of Contents

E0701 Volume II

E0300 Volume I
E0300 Volume II
E0300 Volume III ♥

E0394 Volume I
E0796 Volume II
E0494 Volume III

The success of each call to a TurboIMAGE/XL library procedure is reflected upon return to the user by the condition code and the value of the return status in the first element of the status area.

If the procedure fails to execute properly, the condition code is set to CCL (Condition Code Less) and the return status is a negative integer. In this section, "Library Procedure File System and Memory Management" describes the negative integers resulting from file system and memory management failures, while "Library Procedure Calling Errors" describes the negative integers resulting from calling errors and communications errors respectively.

If the procedure operates properly but encounters an exceptional condition, such as end-of-file, the condition code is set to CCG (Condition Code Greater) and the return status is a positive integer. "Library Procedure Exceptional Conditions" describes the positive integers resulting from exceptional conditions. If the procedure operates properly and normally, the condition code is set to CCE (Condition Code Equal) and the return status is zero.

In addition to the return status, all TurboIMAGE/XL library procedures put information about the procedure call into the fifth through tenth elements of the status area. This information may be useful in debugging your programs, because it describes the conditions under which the particular results were obtained. This information is used by DBEXPLAIN and DBERROR when they are interpreting the results of TurboIMAGE/XL calls.

In a few cases this information is not returned by the TurboIMAGE/XL procedure because it uses the same locations in the status area for returning other data. Specifically, successful execution of DBFIND, DBGET, DBUPDATE, DBPUT, or DBDELETE puts other information here as described in Chapter 5 of this manual. For all other returns from a library procedure, the specified elements of the status area have the following contents:

Table 6-1 Status Area Changes for Native Applications

ELEMENT TurboIMAGE/V and Compatibility Mode TurboIMAGE/XL
5PB-relative address of the caller. 0
6Bits 6-15: Intrinsic number of called library procedure. Bits 0-3: Zero or access mode in which database is opened. No change.
716-bit address of the database. First 16 bits of the database address.
816-bit address of the data set name or qualifier.Second 16 bits of database address.
9Value of the mode parameter. No change.
10PB-relative address of the library procedure or the Compatibility Mode switch stub.0

Abort Conditions


In general, four types of error conditions can cause TurboIMAGE/XL to abort the calling process:
  1. A call from a Compatibility Mode user process with the hardware DB register not pointing to the process stack.

  2. A faulty calling sequence.

  3. An internal error in an MPE/iX file intrinsic which the calling procedure cannot correct.

  4. An internal inconsistency in the database or the DBG, DBB, or DBU discovered by a library procedure.

In case 1, the procedure prints the standard MPE/iX run-time abort message. In cases 2, 3, and 4, TurboIMAGE/XL prints additional information on the standard list device about the error prior to printing the standard MPE/iX abort message. The first line of this information is:

   ABORT: procedure name ON DATABASE name;

where procedure name is the name of the library procedure which caused the abort and name is the name of the database being accessed at the time of the abort. "Library Procedure Abort Condition Messages" describes additional lines of information which may appear prior to the standard MPE/iX abort message.

Some of the abort conditions are due to an error in one of the MPE/iX file intrinsics FOPEN, FREADLABEL, FREADDIR, FWRITELABEL, FWRITEDIR, or FCLOSE. Aborts of this type generally occur after the procedure has possibly altered the database so that the database structure has been damaged in some way. Each of the messages in the section entitled "Library Procedure Abort Condition Messages," which refer to a TurboIMAGE/XL data file, are followed by an MPE/iX file information display listing all of the characteristics of the MPE/iX data set or root file where the error occurred, along with an MPE/iX error number.

I and J Files


When TurboIMAGE/XL detects an internal inconsistency or other abnormal situation, it may create special "I" and "J" files before it terminates. The "I" file consists of the user's stack and procedure call trace markers; the "J" file consists of the TurboIMAGE/XL database control blocks. TurboIMAGE/XL only creates these "I" and "J" files if a database user has run DBUTIL and specified ENABLE FOR DUMPING. So, if you want "I" and "J" files, you must specifically request them through this DBUTIL command. Note that "I" and "J" files are useful for debugging only if the database is known to be structurally sound.

Library Procedure File System and Memory Management


For return status values -1 through -6, the second element of the calling program's status area is the data set number for which file error occurred (zero indicates root file). The third element is MPE/iX failure code returned by FCHECK intrinsic. Refer to MPE/iX documentation for meaning of this code.

Messages (-1) - (-10)

Library Procedure Calling Errors


Messages (-11) - (-1003)

Library Procedure Exceptional Conditions


Messages 10 - 999

Library Procedure Abort Condition Messages in I File


Messages




Schema Processor Error Messages


Chapter 7 TurboIMAGE/XL