I (I/O) Errors


 

The following are file I/O errors that may be trapped using the IO TRAP Failure to trap these errors will result in a runtime error message and program termination. Additional O/S Error Subcodes information may available for each supported operating system.

 

Code

Description

I01

OS error occurred while locking the data file. This error should not occur unless the OS is failing.

I02

Unable to re-open file.

I03

Unable to access the file specified by the OPEN operation. File does not exist or is not located within a Logged On Drive or search path. File is already open in EXCLUSIVE mode by another program/process. May need to increase the number of files in CONFIG.SYS for MS-DOS. If subcode 05 is given under MS-DOS, a possible cause is insufficient SHARE buffer space. See the MS-DOS user's guide on how to allocate a larger SHARE buffer space. Also, the number of files specified in CONFIG.SYS may need to be increased or the .TXT portion of an .ISI or .AAM file could not be found in a search path.

 

For 5xx series subcodes, see the table below.

I04

Unable to access the ISAM file specified by the OPEN instruction. See 'I03' error above.

I05

I/O operation attempted on an unopened file.

I06

Insufficient file handles available to PREP/OPEN specified file.

I07

The path and filename size is too large to be placed into an AAM or ISI header during a PREPARE instruction. Valid subcodes that can occur with this error as follows:

 

20: A text file name without a path is larger than 47 characters. The text file name size must be less than 47 characters.

 

21: A text file name that may or may not include pathing information is larger than 47 characters that is too large to be placed into an AAM or ISI header. If pathing information is included, the user may want to use a NOPATH keyword on an AFILE/IFILE declaration to prevent the path information from being placed into an AAM or ISI header.

I08

Insufficient access rights or disk resources. During PREP, insufficient write or create privileges for the directory. During I/O, insufficient write privileges for the file/directory or file space full. May need to increase number of files in CONFIG.SYS in MS-DOS.

 

Also, this error can occur when the OS IO (network/file) is unstable resulting in unknown/unexpected OS errors. For this error, the user should note/report any additional information which includes error subcodes and/or OS Error codes like WINERR for the Windows OS.

I09

Unable to locate the file referenced by the CLOSE operation. Occurs if a file was deleted between the OPEN and CLOSE operations.

I10

Unable to PREP/OPEN the requested file. Insufficient memory available for requested file buffer size. Insufficient rights/privileges (write access) to the directory or file space full. Attempt to OPEN a read only file (444) in SHARE/EXCLUSIVE mode.

I11

Invalid file specification. Error subcodes further define the problem for OPEN and PREPARE instructions:

 

96: The OPEN operation for an IFILE is using the same file name for the ISI and TXT files.

 

97: The PREPARE operation for an IFILE is using the same file name for the ISI and TXT files.

 

98: The OPEN operation for an AFILE is using the same file name for the AAM and TXT files.

 

99: The PREPARE operation for an AFILE is using the same file name for the AAM and TXT files.

 

196: The Windows OS data was unreliable when checking for same files while performing a OPEN operation for an IFILE.

 

197: The Windows OS data was unreliable when checking for same files while performing a PREPARE operation for an IFILE.

 

198: The Windows OS data was unreliable when checking for same files while performing a OPEN operation for an AFILE.

 

199: The Windows OS data was unreliable when checking for same files while performing a PREPARE operation for an AFILE.

 

If an I11 with a subcode value of 196-199 are encountered, the user should consider using the PLBWIN_QNAME keyword for file validation as this error indicates that the OS API to verify file handle information either fails or is unreliable.

I12

Invalid sector number in WRITAB instruction. Either beyond End Of File or negative access number less than -4.

I13

Invalid record length for a PREP instruction. The record length is zero or greater than the maximum allowed record size. This error can also occur if a file variable BUFFER/FIXED/VAR keyword value is greater than the maximum allowed record size. The maximum allowed record size can not exceed 65533. The following subscodes further define the error:

 

20: File variable BUFFER keyword size is too large.

 

21: File variable FIXED keyword size is too large.

 

22: File variable VAR keyword size is too large.

 

23: The record size specified for an IFILE PREP is invalid.

 

24: The record size specified for an AFILE PREP is invalid.

I14

Invalid key length. Either zero, greater than the maximum, or greater than record length. Subcodes further define the error:

 

21: No key specifications defined.

 

22: Invalid key syntax.

 

23: Invalid key specification entry values.

 

24: Keys overlap.

 

25: Too many key specs used.

 

26: Invalid primary option syntax.

 

27: Invalid primary entry values.

 

28: Too many 'P' options.

I15

Obsolete file format. SUNINDEX or SUNAAMDX the file with the correct version of the utility.

I16

A NULL key is invalid for an ISAM WRITE/INSERT operation. This error can also occur for an Isam WRITE/INSERT operation when no key is specified and the IFILE being used does not have key location specifications identified.

I17

Key used in ISAM operation is longer than allowed for file.

I18

Invalid method variable in FILEIO operation.

I19

Invalid OPEN or PREP mode value further defined by the following subcodes:

 

30: The EOR type specified by the MODE={value} bitmap value indicates an end of record type that is not the same as the end of record that was found in the AFILE/IFILE/FILE text file being accessed.

 

31: The MODE={value} bitmap value contains an undefined open mode definition. This error occurs when the open mode bit mask specified is not one of the following definitions:

CMP_SHARE - 0x0
CMP_EXCLUSIVE - 0x10
CMP_SHARENF - 0x20
CMP_READ - 0x40 

 

32: The MODE={value} bitmap value contains an undefined EOR type definition. This error occurs when more than one EOR type is specified by the value.

I20

A Windows runtime attempted to open a Linux index file or a Linux runtime attempted to open a Windows index file. AAM and ISI index files can be created with a Windows or Linux OS Type. If the OS type is defined in the index file header, the file can only be opened by a compatible runtime.

I21

Attempt to tab across the sector boundary.

I22

Standard file open or prep dialog was canceled. (PLBCMP-GUI)

I23

FILELIST error further defined by the following subcodes:

 

30: FILELIST MFD type error. All files declared in a FILELIST must be opened either as a managed (MFD) file or opened as non-managed file. It is not valid to mix managed and non-managed files in the same FILELIST.

 

31: FILELIST MFD invalid for SUNDM. All of the files declared for a FILELIST must be under the control of the same SUNDM.

 

32: FILELIST requires same FIXED record length. When using FIXED length records, all files in a FILELIST must be declared or created with the same record length.

 

33: FILELIST file must be FIXED record type. All files in the FILELIST must be declared or created with FIXED length records specified. Mixing FIXED and VARIABLE length records in a FILELIST is not allowed.

 

34: FILELIST requires VARIABLE record type. All files in the FILELIST must be declared or created with VARIABLE length records specified. Mixing FIXED and VARIABLE length records in a FILELIST is not allowed.

 

35: FILELIST file record length is invalid. When using VARIABLE length records, the primary or first file in the FILELIST must have a record length less than or equal to any of the secondary files in the FILELIST.

 

36: FILELIST file requires valid key specifications. It is invalid to execute a FILELIST DELETE, UPDATE, or WRITE operation when using an AFILE/IFILE opened without key specification data available for an ISAM file.

 

37: FILELIST file key specifications not present in ISAM file. It is not possible to determine the key specifications from the ISAM file. The ISAM file must be re-indexed or prepared using valid key specifications.

 

38: FILELIST file invalid for direct operations. Individual AFILE/IFILE file variables for a FILELIST cannot be used in a DELETE, INSERT, UPDATE, or WRITE operation. The AFILE/IFILE file variables can only be used to DELETE, UDPATE, and WRITE using the FILELIST label reference.

 

39: FILELIST file text file mismatch detected. One of the files in a FILELIST is using a text data file that is different from the primary or first file in the FILELIST.

 

40: An IFILE included in a FILELIST was generated using the alternate primary key specification ("P{type}"{col}{func}{'string'}") option. The user should re-index the ISI file and use the primary key specification (P{nn}{= | #}{c}) option.

 

41: The primary file of the FILELIST is an IFILE and it is declared to use the 'Pn=x' option. The primary file must not be a limited output file. This error insures that all data file records can be accessed by key for an IFILE primary file.

 

42: A file in a FILELIST is not opened with the same format as the primary file. All files in a FILELIST must either be opened using the 9.0x format or the 8.7x format.

 

43: It is invalid to have more than one file variable in a FILELIST opened to the same ISI/AAM file.

I24

CPU runtime running on a networked machine.

I25

File OPEN/PREP in EXCLUSIVE mode denied, file busy. Specified file is already in EXCLUSIVE mode use by another process.

I26

DELETE, INSERT, UPDATE, or WRITE operation attempted on a file opened in READ mode.

I27

A TRANSACTION error occurred. This error can occur during any file I/O statement under a transaction. Valid subcodes are:

 

101: Memory allocation failed

 

102: Unable to get an EOF

 

103: EOF has moved

 

104: Unable to lock for commit

 

105: Read verify failed

 

106: IO error on commit

 

107: Maximum read gaps seen

 

108: IO error on flush

 

109: 2GB file size violation

 

110: When a 'TRANSACTION START' transaction is active, the file variable(s) used in the I/O instruction encountering the I27 error must be included in the 'TRANSACTION START' list of file variables.

I28

A runtime dead lock time out has occurred. The runtime time has waited in an implied FILEPI lock longer than the number of seconds specified by the PLBWIN_DEADLOCKTIMEOUT keyword. The user applications should be evaluated to determine what files are being locked in one application versus what files are being locked in a second application at the point where the error has occurred.

I29

Error returned during a FPOSITA or REPOSITA instruction. The following subcodes further define the error:

 

20: The AAM index position data received from a SUNDM data manager is too large for the FPOSITA output variable. Under normal circumstances, this error should never occur.

 

21: The output index DIM variable is too small for the FPOSITA data.

 

40: Key data is required.

 

41: The input AAM index position data is too small and cannot restores the AAM index position.

 

42: Key data must be provided. This is an internal error and should not occur under normal circumstances.

 

43: The input AAM index position data variable cannot be a null variable.

 

51: The FPOSITA instruction is not supported when using a SQLIO native SQL table. A SQLIO native SQL table is any SQL table that is created\maintained via the SQL database engine and the SQLIO schema requires a SQL primary key to be configured. (9.6B)

 

99: The SUNDM data manager that is being accessed does not support the FPOSITA and REPOSITA instructions.

I30

Error returned while trying to delete a file during a CLOSE operation.

I31

Unable to perform requested ERASE or RENAME operation. The file to be renamed was not found. Illegal global/wildcard naming convention used (i.e., asterisks or question marks).

I32

WEOF statement was unable to set the file to the requested length.

I33

Error processing SNDFILE. The following subcodes further define the error:

 

40: Invalid for sound file.

 

41: Not enough memory to play sound.

I34

Update file position is invalid.

I35

Update of a compressed file is not allowed.

I36

An operating system file io function has caused an error while the runtime is attempting to validate a file size in support of the PLBWIN_XPIO keyword.

I37

ISAM tree data is invalid. Valid subcodes are:

 

90: Data for the ISI tree structure is invalid when an ISI key sector is being de-allocated and added to the free sector list. The ISI data structure may be corrupt.

 

91: A sector retrieved from the ISI free sector list has an invalid free sector ID. The ISI data structure may be corrupt.

 

92: An invalid DDR sector ID has been encountered while processing through the DDR sector list to remove a single Data Record Number.

 

93: An invalid DDR sector ID has been encountered while reading the next sequential sector in the DDR sector list.

I38

Valid READ or WRITE operation required prior to an INSERT operation. (Also see the PLBWIN_QNAME keyword.)

I39

Invalid data file for INSERT operation. Data file for the INSERT operation is not the same as the data file for the preceding READ or WRITE operation. (Also see the PLBWIN_QNAME keyword.)

I40

Valid READ required prior to an UPDATE, DELETE, READKG, or READKGP operation. Also occurs when a read current (a read with null key) is not preceded by a valid read.

I41

Internal AAM write error (system error).

I42

Invalid match criteria on AAM READ operation. Attempt to READ without the non-blank, non-wildcard minimum bytes required.

I43

Illegal key field on AAM READ operation. Key field number is greater than the number of keys specified at file creation. Verify that the field number in all key are valid.

I44

No corresponding record in text file for specified key. Either a text record was deleted without deleting all secondary indices or a file erroneously points to an Invalid portion of the data file (system error). An I44 error can also occur with a random read if the data has been deleted.

I45

This error occurs while accessing the .AAM key file for read, position, and write operations. This error can be caused by any of the following reasons:

 

A. An OS IO operation has failed with an error when accessing the AAM key file. The reason for such a failure could be:

 

Insufficient access rights to the AAM key file.

Disk resource issues causing OS IO errors caused by insufficient disk space.

Unexpected control of the AAM key file by third party applications for backup, virus scanning, etc.

 

B. If the AAM key file size is shorter than expected, the I45 error can occur if the AAM hash code file data does not exist where no data is read. Under normal operations the size of the AAM key file should exist as follows:

 

        AAM_File_Size = 768

            This size can exist for a newly created AAM file with no existing text records.

 

        AamFileSize = 768 + ( n * 65536 )

            After an AAM hash value is written for an AAM record block, the expected AAM file size is a multiple of 65536 plus the header of 768 bytes. .

I46

Insufficient information for a valid AAM READ. A READ using a free form key must contain three contiguous non-blank, non-wildcard characters.

I47

Record length exceeds the declared buffer size for the FILE. Record written larger than declared BUFFER/FIX/FIXED size (256 byte default). Also, INSERT attempted with an invalid associated data record length. The following subcodes further define the error:

 

101: The IFILE is declared for FIXED records and the record length being inserted is different than the IFILE fixed record length.

 

102: The IFILE is declared for VARIABLE or COMPRESSED records and the record length being inserted is greater than the buffer allocated for the IFILE.

 

103: The AFILE is declared for FIXED records and the record length being inserted is different than the AFILE fixed record length

 

104: The AFILE is declared for VARIABLE or COMPRESSED records and the record length being inserted is greater than the buffer allocated for the AFILE

I48

Null keys specified in AAM PREP operation.

I49

Key specification error in AAM PREPARE operation. Key specified was greater than the defined record length or the maximum key length.

I50

Inserted item overstored an existing record.

I51

Non-ISAM WRITE on ISAM file. Sequential write against an IFILE.

I52

An ISAM WRITE operation has failed because a DRN ( data record number ) could cause data in the text data file to be overwritten.

 

20: A data record number retrieved from an ISI deleted data record map is invalid.

 

21: A data record position, determined from the ISI file, points into the TXT data file before the actual end of file position.

I53

The file position for this INSERT or UPDATE operation points to a deleted record. MS-DOS SHARE utility has not been loaded.

I54

Too many AAM key specifications given for an AAM read operation.

I55

Attempt to write duplicate key to IFILE declared as NODUP.

I56

This error indicates that an ISI file size is invalid. Valid subcodes are:

90: AllocateSector EOF size invalid! The OS reported EOF size is shorter than the expected ISI file size.

If the subcode has a value of 90, the OS is reporting an EOF size for the ISI file that is smaller than the EOF size expected in the ISI header. This error indicates a problem where the OS is not properly tracking and reporting when the ISI file is being extended.

If the subcode has a value other than 90, the OS API function to retrieve the ISI EOF size has given an error. This is an OS system problem.

I57

The record data last READ for an AFILE/IFILE variable in the FILELIST has been changed before a FILELIST UPDATE/DELETE operation was performed. This failure indicates that multiple users are changing data records for a file without the use of FILEPI or record locking. Subcodes further define the error as follows:

 

21: The record to be read is past the end of file when attempting to sync the primary FILELIST file with a secondary file in the FILELIST that was last read.

 

22: The text file data record has been changed after the last read operation and before the DELETE/UPDATE FILELIST operation has been executed.

I59

The key required for the FILELIST file io operation can not be found.

I60

Unable to read ISAM sector. Possible hardware problem.

I61

Unable to write ISAM sector. Possible hardware problem.

I62

ISAM file structure fault. Reindex the file.

I63

ISAM tree stack underflow (system error).

I64

Invalid Data Record Number for ISAM DELETE.

I65

Attempt to UPDATE a compressed file.

I66

Invalid record number for Isam WRITE/INSERT. This error indicates a problem in the ISI file Deleted Data Record (DDR) sectors. The following subcode values describe the possible cause of the error:

 

30: Invalid DDR record pointer value.

 

31: Invalid number of pointers in current DDR sector.

 

32: Invalid number of pointers in next DDR sector

I67

Attempted to write record longer than specified record length.

I68

Invalid record number specified in FILE DELETE. User has specified a record number that does not exist. Also, occurs when a -1, -2, -3, or -4 is specified as record number or when the data items are shorter than the record length.

I69

Unable to lock record before operation.

I71

Record locking requested and runtime does not support record locking.

I72

Simple Syntax Form:

When using the simple syntax form, the error subcode is the OS error code values as described in the IO Error Subcodes section.

 

Enhanced Syntax Form:

When using the enhanced syntax form, error subcodes provide additional information as follows:

 

1: Unable to open the {source} file.

 

2: Unable to open/create the {dest} file.

 

3: COPYFILE is already active. The application must use the COPYNEXT or COPYCANCEL to finish the previous COPYFILE.

 

4: Out of memory.

 

5: COPYNEXT cannot be executed until an enhanced copy action is started using a COPYFILE instruction.

 

6: Unable to retrieve file attributes for the {source} file.

 

7: Unable to retrieve file attributes for the {dest} file.

 

8: An unexpected protocol message has been detected communicating with SUNDM or PLBSERVE.

 

9: Failure occurred while reading a data file.

 

10: Failure occurred while writing a data file.

 

11: A version for the client or data manager does not support enhanced COPYFILE.

 

12: Unable to log onto the SUNDM data manager for the {source} file.

 

13: Unable to log onto the SUNDM data manager for the {dest} file.

 

14: Communications error occurred on the {source} side.

 

15: Communications error occurred on the {dest} side.

 

18: Invalid $MACRO file name processed as a 'PLBENV_keyname' keyword.

 

19: Unresolved 'PLBENV_keyname' keyword in a $MACRO file name.

 

20: Runtime 'PLB_DPTFILENAME' keyword is set to off which prevents Datapoint file name formats from being used.

 

21: Datapoint file name format error processing PLBVOL keyword.

 

22: PLBVOL keyword not found.

 

23: Multiple '|' characters in resolved $MACRO file name is not allowed.

 

100: The client or SUNDM data manager does not support FINDDIR operations.

 

101: Unable to log onto the specified data manager.

 

102: Communications error communicating with the PLBCLIENT or SUNDM data manager.

 

103: An unexpected protocol message type was encountered while communicating with the PLBCLIENT or SUNDM data manager.

I76

The data file size larger than ( 2GB - 65535 ) is not allowed when Windows 98/ME OS types are being used. Subcodes further define the error:

20: 2GB file size error has been detected using IFILE header data when opened with fixed length records.

21: 2GB file size error has been detected using IFILE header data when opened with variable length records.

23: 2GB file size error has been detected for a file variable accessing the data file directly.

I77

WEOF attempted to shorten a file and the file could not be shortened. This error occurs if the PL/B runtime does not support the ability to truncate a data file. Contact the Sunbelt Technical Support if this error occurs.

I80

Inconsistent FCB parameters on text file seek (system error).

 

Also, this error can occur when the OS IO (network/file) is unstable resulting in unknown/unexpected OS errors. For this error, the user should note/report any additional information which includes error subcodes and/or OS Error codes like WINERR for the Windows OS.

I81

A problem occurred while communicating with the SUNDM server task. The following subcode values describe the possible cause of the error:

 

1: Insufficient memory to perform SUNDM server operations.

 

2: SUNDM unable to start child task.

 

3: Invalid SUNFHSYS.DLL version used.

 

4: Bad message type encountered.

 

5: SUNDM not found. Verify hostname, portnum, and IP addresses.

 

6: Failed to start socket.

 

7: Bad IP address.

 

8: Socket creation failure.

 

9: Socket communication failure.

 

10: SUNDM time expiration error.

 

11: SUNDM connection count has been exceeded.

 

12: The PL/B runtime and the SUNDM data manager being accessed have versions that are incompatible.

 

14: The PL/B runtime has lost a connection to SUNDM while receiving a message.

 

15: An error has occurred because the SUNDM NT Service has been been paused and logons are not allowed.

 

16: Data received for a TCP/IP message is larger than expected.

 

17: An error has occurred because the SUNDM server is shutting down and logons are not allowed.

 

18: A program attempted to open a managed file on a primary data manager in a replication network. This error and subcode occurs when the primary data manager is waiting to synchronize the data during the startup processing with secondary data managers in the replication network.

 

19: A program is attempting to logon to a secondary data manager.

I82

An error has been detected while trying to initiate or perform an operation for a managed file. The following subcode values describe the possible cause of a specific error:

 

1: The version found in a '.MFD' file is invalid for use with this runtime.

 

2: The file used for managed file redirection is not a valid '.MFD' file.

 

3: The 'SUNFHSYS.DLL' version is invalid when used for managed file support with this runtime.

 

10: The number of controls and parameters in a READ list exceeds the available buffer size used for managed file operations.

 

20: The number of controls and parameters in a WRITE list exceeds the available buffer size used for managed file operations.

 

21: The runtime does not use encryption while the SUNDM data manager requires encryption. Verify encryption setup provided by the runtime executing the PL/B program that received the I82 error.

 

22: The LOGON ID used by the runtime is invalid for the Logon Id list used by the SUNDM data manager. User should contact the administrator who can setup or verify the current logon ids allowing access to SUNDM.

 

23: The current IP address used by the client workstation connecting to SUNDM is identified to be invalid by existing on a non-approved IP address list. The user should contact the administrator who can setup or verify the current workstation IP addresses that may access SUNDM.

 

24: The current IP address used by the client workstation connecting to SUNDM is not valid to access the data manager. The user should contact the administrator who can setup or verify the current workstation IP addresses that can access SUNDM.

 

25: SUNDM section security error. Contact the system administrator.

 

26: SUNDM is unable to access IP filtering list. Contact the system administrator.

 

27: SUNDM does not use encryption while the runtime is specifying encryption keys. Contact the system administrator to verify runtime encryption requirements to access SUNDM.

 

30: Compression/Decompression error occurred while processing a message for SUNDM.

 

31: Either the runtime or SUNDM requires encryption and one of the connecting processes does not provide the encryption capability.

 

32: Encryption is enabled and the key specified by the runtime to access SUNDM is not valid.

 

33: SEARCHPATH operations at the Data Manager are not enabled. Enable this feature using the DM_ALLOWPATH=ON Data Manager keyword.

 

34: The runtime is shutting down the Data Manager socket connection and a socket error is being ignored.

 

35: A PLB runtime has detected a WRITE operation to a SunDM data manager where a single DIM variable in the WRITE variable list has a size larger than 65,535 bytes. All individual DIM variables written to the Data Manager must have a size less than 65,536 bytes. Otherwise, the write results would be indeterminate without this error.

 

36: The SunDM Data Manager has encountered an invalid WRITE data variable identifier. The intent of this error is to eliminate indeterminate write results if the write data stream has an invalid format. One scenario that can cause this error is when a 9.8 or earlier runtime version attempts to WRITE a DIM variable with a data size larger than 65,535 bytes.

 

37: A PLB runtime has detected a READ operation to a 9.8 or older SunDM Data Manager version where a single DIM variable in the READ variable list has a physical size larger than 65,535 bytes. All individual DIM variables being used for a READ from the Data Manager must have a size less than 65,536 bytes. Otherwise, the read results could be indeterminate without this error.

 

38: The SunDM Data Manager has encountered a READ operation where a single DIM variable in the READ variable list is larger than 65,535 bytes and the amount of data to be returned to the PLB runtime is larger than 65,535 bytes. All individual DIM variables being used for a READ from the Data Manager must have a size less than 65,536 bytes. Otherwise, the read results would be indeterminate without this error. Please note, a READ operation to a Data Manager 9.8A or new Data Manager can execute without this I82 error only if the data size to be returned is less than 65,535 bytes.

 

39: A PLB runtime has detected READ operation data as received from a Data Manager where the data size to be stored in a PLB INTEGER is too large and cannot be stored into the INTEGER without overflowing resulting in UDA corruption. The most likely cause of this error can be when a 9.8A or newer PLB runtime is accessing a 9.8 or older Data Manager and a DIM variable with a size larger than 65,535 is followed by an INTEGER in the READ variable list.

 

40: A PLB runtime has detected READ operation data as received from a Data Manager where the data size to be stored in a PLB FORM is too large and cannot be stored into the FORM without overflowing resulting in UDA corruption. The most likely cause of this error can be when a 9.8A or newer PLB runtime is accessing a 9.8 or older Data Manager and a DIM variable with a size larger than 65,535 is followed by an FORM in the READ variable list.

 

41: A PLB runtime has detected READ operation data as received from a Data Manager where the data size to be stored in a PLB DIM is too large and cannot be stored into the DIM without being truncated. If this error was not generated, the READ results could be wrong and\or indeterminate. The most likely cause of this error can be when a 9.8A or newer PLB runtime is accessing a 9.8 or older Data Manager and a DIM variable with a size larger than 65,535 is followed by an DIM in the READ variable list.

I83

A problem occurred during XML operations. The following subcode values describe the possible cause of the error:

 

1: No current record.

 

2: The field requested was not in the internal schema.

 

3: The requested recordset is not in the current record.

 

4: No current field.

 

5: The requested field is not in the current record.

 

6: Not enough memory to load the XML data.

 

7: The XML data does not match the schema structure.

 

8: The root element of the XML data is invalid

 

9: The data contained in a field is invalid.

 

10: A READKG or READKGP was performed with no valid filter.

 

11: The filter provided on a READ was invalid.

 

12: Unable to find the root element on a FLUSH operation.

 

13: Only one record allowed under the root element.

 

14: An XFILE field type conflict has been detected. The field type for an XFILE tag can not be used for both a XFILE element and a XFILE record set at the same time.

 

15: The filter provided on a READ was invalid because an XML tab in the filter expression was not found.

 

16: A XML tag name cannot be NULL.

 

2nn: XML data read error (where nn is the base XML handler error - see table below).

 

3nn: XML write error (where nn is the base XML handler error - see table below).

I84

A problem occurred during XML operations. The following subcode values describe the possible cause of the error:

 

1: Out of memory.

 

2: Unknown or unsupported tag found in the schema file.

 

3: Invalid facet for the type.

 

4: Duplicate facet found.

 

5: Invalid white space restriction.

 

6: Unknown facet type.

 

7: Facet has no value.

 

8: Base attribute missing.

 

9: Duplicate type definition.

 

10: Local type has name.

 

11: Duplicate attribute.

 

12: Attribute has no name and no reference.

 

13: Attribute has name and reference.

 

14: Attribute requires name.

 

15: Element contains an invalid occurs value.

 

16: Element has no name and no reference.

 

17: Element has name and reference.

 

18: Element requires name.

 

19: Duplicate element.

 

20: Unknown token.

 

21: First element not xs:schema.

 

22: Unsupported tag.

 

23: Unknown tag

 

24: Group has no name

 

25: No name allowed for group.

 

26: Group has duplicate name.

 

27: Group has name and reference

 

28: Missing forward reference.

 

29: Complex type has no name and no reference

 

30: Invalid base type

 

2nn: XML data read error (where nn is the base XML handler error - see table below)

 

3nn: XML write error (where nn is the base XML handler error - see table below)

I85

A problem occurred during schema operations. The following subcode values describe the possible cause of the error:

 

100: Column/field name not found.

 

101: Partial IO is not allowed.

 

102: Out of memory.

 

103: Filter expression is too large. A filter expression size must be less than 4097 characters.

 

104: The filter expression is invalid.

 

105: The Data Manager being accessed does not support PLB Schemas required for filtering or enhanced column/field name IO syntax.

 

106: Column name is missing.

 

107: Field size value is invalid.

 

108: Field offset value is invalid.

 

109: Field id value is invalid.

 

110: Field type value is invalid. The value must be one of the following:

0 - DIM

1 - FORM

2 - INTEGER

 

111: Field scale value is invalid.

 

112: Field array count value is invalid.

 

113: Field SQL Type value is invalid.

 

114: Field Primary value is invalid.

 

115: Field Nullable value is invalid.

 

116: Field ZeroFill value is invalid.

 

117: Field EmptyNull value is invalid.

 

118: Field Selectivity value is invalid.

 

119: Invalid schema name. The schema name string size is larger than 255.

 

120: Default value string is too large. The default value string size must be less than 1024.

 

121: Invalid or missing view name.

 

122: Unable to load/access a VIEW name in a schema database. Possible View Errors are:

80 - Unable to find schema database.

81 - Unable to get access to a schema database because a SQL 'Begin Transaction' error occurred.

82 - Unable to open a SQLite schema database.

83 - Schema database name not found in 'sun_databases' table. Or a schema database has been found more than once.

83a - nable to open/load a schema database for SQLIO.

84 - Unable to get access to a temporary schema database because a SQL 'Begin Transaction' error occurred.

90 - Unable to allocate memory.

91 - Same View name found in 'sun_views' table multiple times?

92 - View name not found in 'sun_views' table.

100 -Unable to add information for a VIEW field column.

     - Memory allocation error.

     - Missing column name.

     - Invalid Date, Tiime, or DateTime mask format detected.

     - Invalid view field configuration value detected.

101 - There are overlapping starting and ending positions for two view fields.

 

123: No VIEW is associated with a file variable.

 

124: Column was NULL on WRITE. A column defined in the current view has the Nullable state set to be zero. In this case, the column must be specified in the WRITE instructionor there must a Default value specified for the column in the schema column specifications.

 

125: Invalid view stream data has been encountered transferring view data to/from a Data Manager.

 

126: Unable to find a schema database.

 

127: It is invalid to overlap field offsets for columns defined in a view.

 

128: A duplicate view name has been encountered while adding a new view. The previous view must be removed before a new view can be added with the same view name.

 

129: Unable to insert view into the 'sun_views' table in a schema database.

 

130: Schema support is not available.

 

131: Invalid FILTER skipcount value. The skipcount must have a value between zero (0) and 65535.

 

132: Invalid file type for FILTER $SKIPKEYS$ operator. The $SKIPKEYS$ operator can only be used for an IFILE.

 

133: Invalid sql_type date, time, or datetime mask.

 

201: A write operation has already been started.

 

202: Unable to create specified XML file.

 

203: Unable to open specified XML file.

 

204: Unable to create XML parser.

 

205: Out of memory.

 

206: Attempt to write an attribute on an closed element.

 

207: Tag name too long.

 

208: Invalid tag name.

 

209: XML data too large.

 

210: XML file too large for memory area.

 

211: File write error.

 

212: Internal state error.

 

213: No element open.

 

214: Internal state error.

 

215: Attribute not open.

 

216: Error detected parsing XML data file.

I86

An error has occurred for a SQLIO operation. The following subcode values describe the possible cause of the error. For 5xx series subcodes, see the table below.

 

1: Insufficient memory for operation.

 

2: File not found for FILE variable.

 

3: File not found for AFILE variable.

 

4: File not found for IFILE variable.

 

5: A error has occurred executing the SQL statement for a SQLIO operation.

 

7: Partial IO not allowed for SQLIO WRITE operation.

 

8: The SQLIO file name is too large. The SQLIO file name size cannot be larger than 255 characters.

 

9: The '>' closing character is missing from the '<sql>' tag.

 

10: The text name for a SQLIO prepare operation for an AFILE or IFILE does not match the schema definition.

 

11: The SQLIO <sql> template name is too large. The template name size cannot be larger than 255 characters.

 

12: The SQLIO <sql> DATABASE name is too large. The name cannot be larger than 255 characters.

 

13: The <sql> tag keyword name is unknown.

 

14: Unable to connect to the SQLIO database source. Also occurs when the SQL_IDENTITY type is specified for <sql_type> and the <unique_co> is not set to be unique in the Sun_Sqlio_Columns system table. This insures proper operation when a user is specifying a data column used in place of the 'sun_recno' column that must be unique.

 

15: Missing alias name. Name was not found in the Sun_Sqlio_Alias system table.

 

16: Unable to insert a file name into the Sun_Sqlio_File system table.

 

17: The database name could not be found in the Sun_Sqlio_Databases system table.

 

18: The column name could not be loaded into the Sun_Sqlio_Columns system table.

 

19: The file name could not be added to the Sun_Sqlio_File system table because the same file already exists.

 

20: A column name could not be found in the Sun_Sqlio_Columns system table during a SQLIO operation.

 

21: An invalid column id number has been encountered in the Sun_Sqlio_Columns system table. The id number must be greater than or equal to zero.

 

22: An invalid column offset value has been encountered in the Sun_Sqlio_Columns system table. The offset must be a value in the range of ( 0 <= value <= 65534 ).

 

23: An invalid PLB column type value has been encountered in the Sun_Sqlio_Columns system table. The type must be a value defined as 0=DIM, 1=FORM, or 2=INTEGER.

 

24: An invalid PLB column size value has been encountered in the Sun_Sqlio_Columns system table. The field length must be defined as follows: DIM ( size <= 65534 ), FORM ( size <= 32 ), or INTEGER ( size <= 8 ). Also occurs when the SQL_IDENTITY type is specified for <sql_type> and the <unique_co> is not set to be unique in the Sun_Sqlio_Columns system table. The field size of a SQL_NCHAR or SQL_NCHAR_T column is not a multiple of 2 when the schema column is created.

 

25: An invalid PLB scale value has been encountered in the Sun_Sqlio_Columns system table. The PLB field scale value must in the range of ( -1 <= scale <= 32 ).

 

26: An invalid SQL column type has been encountered in the Sun_Sqlio_Columns system table. The SQL column type value cannot be less than zero and cannot be greater than the maximum number of SQL types support for SQLIO operations

 

27: An invalid zero fill value has been encountered in the Sun_Sqlio_Columns system table. The zero file value cannot be less than zero.

 

28: A column offset value encountered in the Sun_Sqlio_Columns system table overlaps with another column offset value. Column offsets may not overlap.

 

29: The SQLIO <sql> 'file_name' is too large. The name cannot be larger than 255 characters.

 

30: The SQLIO <sql> 'index_name' is too large. The name cannot be larger than 255 characters.

 

31: The SQLIO <sql> 'table_name' is too large. The name cannot be larger than 255 characters.

 

32: Unable to connect to a SQL database source during a SCHEMA instruction IMPORT operation.

 

33: Unable to find/get information about an existing SQL database connection.

 

34: The SQLIO schema version found in the Sun_Sqlio_Version system table is invalid.

 

35: The WRITE IFILE key does not match the key data found in the record data. The WRITE IFILE key specified must match the record data key field for SQLIO.

 

36: The runtime has detected a SQL language syntax error. This is caused by a SQL type mismatch caused by a SQLIO misconfiguration. The probable cause is the PLB_SQLIO_SQLTYPE keyword value is incorrect for the SQL database engine being used. If the PLB_SQLIO_SQLTYPE being used is correct, the end user should gather the following information and send to Sunbelt Support for evaluation evaluated:

 

Use the PLB_SQLIO_DEBUG_LOG={LogFileName} keyword and capture a debug log file that contains the SQL statements that are executed when th error occurs.

 

2. Send the PLB_SQLIO_DEBUG_LOG file that was captured.

 

3. Send the .PLC and .SDB of the failing program.

 

4. Send the a SQLIO schema that contains the schema definitions of the failing file or table.

 

5. Provide a basic description of the error encountered.

 

 

37: Invalid key column specified in SQLIO schema.

 

38: Missing File_Name in SQLIO schema.

 

39: Missing key specification in SQLIO schema.

 

40: Invalid sql_type date, time, or datetime mask.

 

41: Invalid to define more than one primary key column to be used for SQLIO operations.

 

42: Direct PLB IO operations are not allowed for SQLIO when a user defined primary column is being used and a sun_recno column is not being used.

 

43: Invalid data content for a PLB FORM data type.

 

44: A file with a SQL_NCHAR_T or SQL_NCHAR column is opened or prepared on an unsupported driver. The National character set support is not available on all database engines.

 

45: An AAM file with a SQL_NCHAR_T or SQL_NCHAR column in the key specification is opened or prepared. The AAM key specifications can not include a field/column using these data types.

 

46: The SQL_IDENTITY type is specified for <sql_type> and the <unique_co> is not set to be unique in the Sun_Sqlio_Columns system table.

 

47: Invalid multi-part key defined in schema.

 

48: Host can not be null for SQLIO database connection.

 

49: Unable to open SQLite database.

 

50: Error occurred retrieving SQLIO IFILE information from schema.

 

51: Error occurred retrieving SQLIO AFILE information from schema.

 

52: Error occurred retrieving SQLIO FILE information from schema.

 

53: The runtime has detected a SQL error creating a user SQL table. Two possible causes for this SQLIO error are described as follows:

 

1. There is a SQL statement syntax error.

 

2. This error can also occur if the SQL statement encountered a SQL Database Engine limitation issue or unexpected error.

 

When this error occurs, the end-user should gather the following information and send it to Sunbelt Support for evaluation:

 

1. Use the PLB_SQLIO_DEBUG_LOG={LogFileName} keyword and capture a debug log file that contains the SQL statements that are executed when the error occurs.

 

2. Send the PLB_SQLIO_DEBUG_LOG file that was captured.

 

3. Send the .PLC and .SDB of the failing program.

 

4. Send the SQLIO schema that contains the schema definitions of the failing file or table.

 

5. Provide a basic description of the error encountered.

 

I90

An error has occurred in a PL/B Linux runtime file variable opened when using the 'SETMODE *LINUXREADLOCK=1' mode. This error can only occur when a file variable is opened with record locking enabled. This indicates that an error condition has been encountered when the Linux OS 'read locks' are being used. The following subcode values are described as follows:

 

99: An unrecoverable error has been encountered where the Linux OS file handle is invalid.

 

100+nnn: A locking error has been encountered where the 'nnn' value is 'errno' returned by the Linux OS. The Linux OS errno values can be found in the 'Unix/Linux Error Codes' section.

I97

COMFILE not open. The following subcode values describe the possible cause of a specific error:

 

00: NULL comopen parameters.

 

01: Bad or missing first parameter or unable to initialize windows socket interface.

 

02: Bad or missing second parameter.

 

03: Bad or missing third parameter.

 

04: Bad or missing fourth parameter.

 

05: Bad or missing fifth parameter.

 

06: Bad or missing sixth parameter. When opening a local serial communications port under Windows, the sixth parameter is optional and this subcode indicates a bad parameter value.

 

07: Bad or missing seventh parameter when opening a Socket connection. When opening a local serial communications port under Windows, this subcode value indicates that the local serial port number is invalid or that the local serial port can not be opened.

 

08: When opening a local serial communications port under Windows, this subcode value indicates that an error occurred trying to configure the local serial port after it was opened.

 

09: Linux runtimes only support the socket interface initialization parameters in a COMOPEN statement.

 

10: Comfile not open.

 

11: Invalid COMCHECK mask.

 

12: Invalid COMCHECK mask.

 

13: Invalid COMCHECK return status dim size.

 

20: Unable to resolve host address.

 

21: Unable to get socket.

 

22: Unable to bind socket.

 

23: Unable to listen on socket.

 

24: Unable to initialize windows async operations.

 

26: Unable to connect to host.

 

27: Unable to initialize windows async operations.

 

31: Unable to load WSOCK32.DLL.

 

40: COMFILE is not opened for a socket connection.

 

41: COMFILE is not configured or initialized as a listening socket port.

 

42: Socket error occurring when accepting an incoming connection attempt on a listening socket.

I98

External call routine returned an error condition. The exact interpretation depends on the user logic executed for the EXTCALL statement.

I99

A WRITE IFILE instruction would cause the TXT file size to be greater than 4GB and the IFILE has been opened for COMPRESSED or VARIABLE length records or a WRITE FILELIST with an IFILE causing the same 4GB failure is detected.

 

The XML base handler subcodes are as follows:

 

Code

Description

1

A write operation has already been started.

2

Unable to create specified XML file.

3

Unable to open specified XML file.

4

Unable to create XML parser.

5

Out of memory.

6

Attempt to write an attribute on an closed element.

7

Tag name too long.

8

Invalid tag name.

9

XML data too large.

10

XML file too large for memory area. If this subcode occurs when 'GETFILE XFILE, XMLDATA={svar}' is executed, the {svar} is too small to receive all of the XFILE XML data.

11

File write error.

12

Internal state error.

13

No element open.

14

Internal state error.

15

Attribute not open.

16

Error detected parsing XML data file.

 

Subcodes for SQLite IO operations when a subcode value of 5xx is reported. These subcode values may occur on I03, I86, and D2xx IO errors related to SQLite IO operations:

 

Code

SQLite Error Definition

Description

501

SQLITE_ERROR

SQL error or missing database

502

SQLITE_INTERNAL

Internal logic error in SQLite

503

SQLITE_PERM

Access permission denied

504

SQLITE_ABORT

Callback routine requested an abort

505

SQLITE_BUSY

The database file is locked

506

SQLITE_LOCKED

A table in the database is locked

507

SQLITE_NOMEM

A malloc() failed

508

SQLITE_READONLY

Attempt to write a readonly database

509

SQLITE_INTERRUPT

Operation terminated by sqlite3_interrupt()

510

 SQLITE_IOERR

Some kind of disk I/O error occurred

511

SQLITE_CORRUPT

The database disk image is malformed

512

SQLITE_NOTFOUND

Unknown opcode in sqlite3_file_control()

513

SQLITE_FULL

Insertion failed because database is full

514

SQLITE_CANTOPEN

Unable to open the database file

515

SQLITE_PROTOCOL

Database lock protocol error

516

SQLITE_EMPTY

Database is empty

517

SQLITE_SCHEMA

The database schema changed

518

SQLITE_TOOBIG

String or BLOB exceeds size limit

519

SQLITE_CONSTRAINT

Abort due to constraint violation

520

SQLITE_MISMATCH

Data type mismatch

521

SQLITE_MISUSE

Library used incorrectly

522

SQLITE_NOLFS

Uses OS features not supported on host

523

SQLITE_AUTH

Authorization denied

524

SQLITE_FORMAT

Auxiliary database format error

525

SQLITE_RANGE

second parameter to sqlite3_bind out of range

526

SQLITE_NOTADB

File opened that is not a database file

527

SQLITE_NOTICE

Notifications from sqlite3_log()

528

SQLITE_WARNING

Warnings from sqlite3_log()

 

 

See Also: PL/B Errors

 



Compiler and Runtime Options F (Format) Errors M (MailSend) Errors