Tool

Error & Code Decoder

Type a number you hit in a log or a program, or a keyword, to decode it. Covers D3 error / log codes, SYSTEM(n) function codes, and ACCESS(n) function codes. Every entry links to its reference page.

Error & log codes 33

errors file →

Codes the system logs to the errors file (attribute 1) when something goes wrong.

00 Opcode
01 phantom read
02 rtn full
03 zero fid
04 frm lmt
05 fwd link
06 bck link
07 priv op
08 bad fid
09 disk err R0001 remote file/item missing 0a break R0002 remote item locked 0b stk fmt R0003 remote command not supported 0c lvl push R0004 remote operation failed 0e end off R0005 incorrect remote command 0f trace R0006 server did not respond
11 file inconsistency count R0007 remote file incorrect
12 file inconsistency link R0008 invalid remote driver
13 file inconsistency body R0009 no more remote groups
14 File inconsistency hash R000A cannot get remote FD
15 B-tree index R000B remote permission denied
16 ovf mul rel R000C no remote service
17 b-tree index mismatch R000D no remote host
18 rcount
19 logoff R000E no remote protocol 1a overflow runaway R000F cannot create remote connection 1b overflow range R0010 cannot bind remote connection 1c corrupt internal structure R0011 cannot set remote passive
20 ovf signature error R0012 cannot connect to remote
21 ovf link error R0013 disconnect from remote
22 fcb corruption R0014 remote transmission error
23 clear-file R0015 interrupt
24 delete-file s log-msg 2 user The user of the error logging process. Warning: For Windows: if D3 is started as a service on Windows or the USERNAME environment is not set, then the user-ID cannot be determined. In this case, the user-ID will show as "<service or unknown">. 3 r Register triggering the error. 4 mode-addr Contains the error message and the mode address when the error occurred. 5 abs-fid Base FID of the ABS area executed by the process. 6 pgm-ctr Program counter when the error occurred. 7 abs-date Creation date of the ABS where the error occurred. 8 abs-imp Implementation type of the ABS where the error occurred.
26 update protection on
27 update protection off
28 index inconsistent
29 remote file error
30 transaction error
31 reclaim-ovf error
33 time changed
34 reset user
35 pointer item-id mismatch

SYSTEM(n) function codes 63

system() function →

What SYSTEM(n) returns for each numeric argument, from page width to the locked item-ID.

00 No interrupt has occurred.
1 Returns a code number specifying the destination of the output. Returns 1 when output is sent to the system printer. This indicates that a printer on statement was issued or that the program was activated with the p option. Returns 0 when output is sent to the terminal.
2 Returns the current output device page width, as defined by the TCL term command. Note: The update processor decrements the output page width by 1 when used internally and the TCL command prompt uses the update processor. Therefore, getting this value for a line sitting at TCL will show one less than if you are running a BASIC program.
3 Returns the current output device page length, as defined by the TCL term command.
03 Another process sent a message to the current line.
4 Returns the number of lines remaining to print on the current page, based on the current terminal characteristics previously defined with the TCL term command. Note: Use of the @(row,col) function does not change this value.
5 Returns the current page number. Note: Use of the @(row,col) function does not change this value.
6 Returns the current line number (not the port number, but the actual print line number). Note: Use of the @(row,col) function does not change this value.
7 Returns the terminal type code, as defined by the TCL term command.
8 Returns the block size at which the tape was last attached.
9 Returns the current CPU millisecond count.
10 Checks the current stack ( ston ) condition. Returns 1 if the stack is on. Returns 0 if the stack is off.
11 Checks for an externally-generated active list. For D3: Returns 0 if there is no active list. Returns n (the actual number of items selected) if an active list exists. This is not related to the internal FlashBASIC or BASIC select statement, which requires a readnext command to determine if any items were selected.
12 Returns the system time in milliseconds.
13 D3 : Forces an rqm (terminates timeslice) and returns a 1. Deactivates the process in the scheduling queue until its next turn. mvBase : Returns the number of characters waiting in the user’s type-ahead buffer.
14 D3 : Returns the number of bytes in the type-ahead input buffer of the current process. Warning: A tight CPU loop condition might occur with inappropriate use of system(14) as a control element. mvBase : Returns the number of characters waiting in the active type-ahead buffer.
15 D3 : Returns the TCL command options that are in effect. Note: TCL command options are set independently. When system(15) returns options, they are returned in alphabetical order. Thus, run bp myprog (xam would return AMX . This means that numeric options do not make sense within this scheme and are therefore not returned in any discernible manner. For example, using this function where the options are (f2000 , would return 02f . We recommend instead using tclread to extract numeric options. mvBase : Returns options used to invoke execution of the current program in the form: options ^ n ^ m where: ^ is an attribute mark (CHAR(254)) options are the letter options used n is the first number specified m is the second number specified
16 D3 : Returns the current process level (push-level). mvBase : Not applicable
17 D3 : Returns the message numbers (item-IDs) returned by the previous execute statement, separated by attribute marks. mvBase : Not applicable
18 D3 : Returns the number of ports on the system. mvBase : Returns the user’s process number.
19 D3 : Returns a unique item-ID consisting of the current system date in internal format, followed immediately by the current system time in seconds. If more than one item-ID is generated in a second, an alpha character is appended to the item-ID. Note: There is nothing to prevent duplicate values if the system time is changed, such as when Daylight Saving Time is rolled back. mvBase : Returns the account name on which the user is logged in, taken from the SYSTEM Dictionary.
20 D3 : Returns the most recent spooler entry number generated by the current process. mvBase : Not applicable
21 D3 : Returns today’s date, in internal format, with a sequential numeric suffix. mvBase : Returns the current process privilege level.
22 D3 : Returns the port number of the current process. mvBase : Returns the current SP-ASSIGN options, forms queue, and number of copies (separated by attribute marks).
23 D3 : Returns the current process privilege level. mvBase : Returns the system serial number (if supported).
24 D3 : Returns 1 if the current process is a phantom. Returns 0 if the current process is not a phantom. mvBase : Returns the maximum frame number on the system.
25 D3 : Checks for an active secondary list. Returns the number of items in the secondary list. Returns 0 if no secondary list is active. mvBase : Returns the total number of frames in the overflow table.
26 D3 : Returns 1 if capturing on is in effect. Returns 0 if capturing on is not in effect. mvBase : Returns the number of linked frames in the overflow table.
27 D3 : Returns 1 if TCL case-sensitivity is in effect for the current process. Returns 0 if TCL case-sensitivity is not in effect for the current process. mvBase : Returns the number of lines configured.
28 D3 : Returns 1 if the current FlashBASIC or BASIC program is data case-sensitive. Returns 0 if the current FlashBASIC or BASIC program is not data case-sensitive The first time a FlashBASIC or BASIC program is entered, the FlashBASIC or BASIC case flag is set to the current process’ case flag. Any subsequent casing statement modifies the FlashBASIC or BASIC flag, but not the current process’ flag. Only the flag from the current process is passed between levels. mvBase : Returns 1 if this is a Phantom process. Returns 0 if this is not a Phantom process.
29 D3 : Returns 0 if D3-format is in effect (port.num, user-ID, account name). mvBase : Returns the process number of the SAVE process. Returns 0 if there is no complete SAVE currently active.
30 D3 : Provided for compatibility purposes only. Use system(0) instead to return the pib number. mvBase : Always returns 0.
31 D3 : Returns the current spooler form queue number most recently assigned with an sp-assign . mvBase : Returns Null.
32 D3 : Returns the data frame size for the system. mvBase : Returns Status bits from last tape command (8-digit binary number): WRITE PROT : EOT : BOT : EOF : PARITY : NO DATA : NO MEDIA : READY
33 D3 : Returns the name of the FlashBASIC or BASIC program that called the subroutine. mvBase : Returns 0 if the BREAK key is enabled. Returns 1 if the BREAK key is disabled from BASIC. Returns 2 if the BREAK key is disabled from TCL. Returns 3 if the BREAK key is disabled from both BASIC and TCL.
34 D3 : Currently not supported and should not be used. mvBase : Returns 0 if RETURN will abort. Returns 1 if RETURN will satisfy a CALL. Returns 2 if RETURN will satisfy a GOSUB.
35 D3 : Returns the total number of physical ports on the system, excluding phantom ports. Only applicable to the current process. mvBase : Returns the current program line number.
36 D3 : Returns a nonzero if running a FlashBASIC program. Returns 0 if not running a FlashBASIC program mvBase : Returns the name of the calling program if it is in a subroutine.
37 D3 : Custom Interrupt Handling in FlashBASIC or BASIC. A generalized method is provided by which FlashBASIC or BASIC applications can handle the BREAK key or any other type of interrupt in a special manner. This function returns the value of an internal location indicating the last interrupt processed, and then clears that location. Note: Although the only way to poll this value is with the system(37) function in FlashBASIC or BASIC, the internal value is always set, even if the application is not in FlashBASIC The following numbers are valid return codes:
38 D3 : Returns the system identification and options. A string with four attributes as follows is returned: host ^ chip ^ imp ^ opt host Underlying host operating system (decimal). chip processor chip code (decimal). imp Implementation code (decimal). opt Option string (one character per option) The values of each field are defined in the include dm,bp,includes sysid.inc , which should be included in programs using this function. mvBase : Always returns 0.
39 D3 : Returns a nonzero (usually 1) if the spelling checker is enabled. Returns 0 if the spelling checker is not enabled. mvBase : Returns 1 if HEADING/FOOTING is currently active
40 D3 : Returns the current tape reel number. Returns -1 if not attached. Only applicable to the current process. mvBase : Returns the name of the program that is currently executing.
41 D3 : Returns the UNIX errno variable. mvBase : Returns the file system’s base frame.
42 D3 : Returns error code in decimal. mvBase : Returns the first workspace frame for process zero.
43 D3 : Returns 0 for an error. mvBase : Returns the first extended workspace frame for process zero.
44 D3 : Not applicable; returns 0. mvBase : Returns the size of each extended workspace (in frames).
45 D3 : Returns the name of the currently executing program or subroutine. mvBase : Always returns 0.
48 D3 : Not applicable. mvBase : Returns the name of the network node.
50 D3 : Not applicable. mvBase : Returns the version number of this copy of the operating system.
55 D3 : Not applicable. mvBase : Returns the number of execute levels that can be pushed by this program.
57 D3 : Not applicable. mvBase : Returns the console process#. Returns -1 is none active.
58 D3 : Not applicable. mvBase : Returns the foreign language code for this process (E = English).
59 Returns 2 when running as an mvBase program. Returns 3 when running as a D3 program.
60 D3 : Not applicable; returns 0. mvBase : Returns the idle time in seconds of the specified process. The syntax is SYSTEM(60, <process> ), where <process> is the target process number.
100 D3 : Returns the system identification. For UNIX : system; o/s name; filename:name; release; version; hardware; boot monitor version; date system System name, which can contain spaces. o/s name AIX, Windows, and so on. filename Configuration file name. name Contents of the name command in the configuration file. release UNIX system release. version UNIX system version. hardware Machine hardware name, or serial number. boot monitor version Release level of the monitor. date Boot monitor date. For Windows : system;o/s name;vme name;o/s version;o/s release;boot monitor version; date system System name, which can contain spaces. o/s name AIX, Windows, and so on. vme name Contents of the name command in the configuration file. o/s release Current release level. o/s version Current version level. boot monitor version Type of hardware. date Date of the release. mvBase : Not applicable.
101 D3 : Not applicable. mvBase : Returns the line number of the line linked to the current process. Returns -1 if no line is linked. Note: Tandem will not have any effect.
102 D3 : Not applicable. mvBase : Returns the current open Spooler print file numbers, in the form: n1 ^ n2 ^ n3 ^ ... where ^ is an attribute mark (CHAR(254)) and: n1 Spooler entry number for print file 0. n2 Spooler entry number for print file 1. n3 Spooler entry number for print file 2. and so on. A null entry number (determined by two adjacent attribute marks) signifies that the corresponding print file is available for the current program.
103 D3 : Not applicable. mvBase : Returns the current Execution level.
116 D3 : Not applicable. mvBase : Returns 1 if the program was invoked by a Proc. Returns 0 if the program was not invoked by a Proc.
117 D3 : Not applicable. mvBase : Returns the current system privilege level. Returns 0 if SYS0 (no privileges). Returns 1 if SYS1. Returns 2 if SYS2. Returns 3 if SYS3.
120 D3 : Not applicable. D3 does not distinguish between cataloged and non-cataloged programs. mvBase : Returns 1 if the current program is cataloged. Returns 0 if the current program is not cataloged.
121 Returns the current sp-assign options, in the form: options ^f^c where ^ is an attribute mark (CHAR(254)) and: options Spooler options currently set. f Current form queue number. c Current number of copies set.
126 D3 : Not applicable. mvBase : Returns the system identification number. The output comes from config item in messages.

ACCESS(n) function codes 28

access() function →

What ACCESS(n) returns inside dictionary and Update-processor subroutines.

1 File variable for data portion of file.
2 File variable for dictionary portion of file.
3 When used from a file-time subroutine, this is the working version of the item. When used from an attribute definition call, this is the item from the associated file. In either case, the item is in dynamic array format. Note that when used from a file-time subroutine, this dynamic array has the same contents as the argument that is passed to the subroutine.
4 Item counter (the number of items processed to the current point).
5 Attribute counter (the number of attributes processed).
6 Value counter (the number of values processed).
7 Subvalue counter (the number of subvalues processed).
8 Detail line counter (the number of lines processed). Valid only when a roll-on clause has been specified.
9 Break-on level counter in AQL reports.
10 Item-ID.
11 Dictionary and data file names. Note: If the dict and data file names are identical, only the data filename is returned.
12 Item delete bit. Returns 1 if the item is being deleted.
13 Root variable.
14 Returns current cursor column position (in the Update processor).
15 Returns current cursor row position (in the Update processor).
16 New item bit. Returns 1 if item is new.
17 Returns 1 if performing input-conversion.
18 Used in the input-conversion attribute of the file D-pointer to specify which value of attribute 15 (macro attribute) to use.
19 Returns the character that ended the last input, usually an Enter, CTRL+U, and so on.
20 Item changed bit. 0=item not changed 1=item changed This is valid only when called from the Update processor using a call correlative.
21 Used from a FlashBASIC subroutine called by the Update processor to place characters in the Update processor command string. For example, access(21) = "xe" in a subroutine called from the input-conversion causes the Update processor to exit after the attribute calling the subroutine is re-entered.
22 Returns a nonzero (usually 1) if the spelling checker is enabled, or 0 if it is not. access(22) can be assigned a 1 in a subroutine called by the input conversion of a file-defining item. Even if the spelling checker is disabled for the user session, this invokes the speller for the editing of this item or list of items. The speller only works on attributes with an attribute type of w .
23 Returns the calling environment. 0 if the function was called from BASIC. 1 if the function was called from a callx or from an index. 2 if the function was called from the Update processor (except for a callx or index). 3 if the function was called from AQL. 4 if the function was called from the D3 File Manager. 5 if the function was called from d3flash.exe or Python. 6 if the function was called from ODBC. 99 if the function was called from an unknown client.
24 Returns the actual attribute number of the attribute definition. Available only within the Update processor.
25 Returns the left margin from the Update processor.
26 Returns 1 if a callx was initiated from a clear-file operation. If the program sets access(26) to zero during a clear-file , then the callx is not called for any of the other items during that clear-file operation. This can lead to significant performance gains in certain situations.
27 Returns the name of the account containing the D-pointer for the file from which the BASIC program was called via a trigger or a call from a correlative.
50 Returns 1 if the item was in UNICODE. NOTE— FlashBASIC does not currently support UNICODE, therefore the item is converted to ANSI and back to UNICODE after the trigger completes.

Sourced from the D3 reference. Numbered runtime STOP / ABORT messages (for example STOP 201) live in the errors file on a running system and are not part of the manual, so they are not listed here.