Infor LN & BaanFree referencePDF, Excel, Word exportBaan IV / Infor LNAll Infor LN and Baan tools

Infor LN Enterprise Server Error Codes and Log Files Reference

This reference decodes the error numbers that the LN and Baan Enterprise Server bshell and database drivers report, with the usual cause, what to check first and the fix. It also shows which log file to read in $BSE/log and $BSE_TMP.

Download:
Code or fileTypeMeaningTypical causeFirst thing to checkFix
100-899
Range rule
Usually database errors raised by the bshell or a database driver
Table, lock, data dictionary, reference or driver problem
The exact number in the message, then the log of the program that failed
Look up the number below
Outside 100-899
Range rule
System or operating system dependent; numbers 1-32 are standard POSIX errors
File permissions, missing files, OS resources
OS error text for the number on that platform; Event Viewer on Windows
Fix the OS-level cause (permissions, disk, file path)
Above 1000
Range rule
Native error of the database or OS passed through the driver: subtract 1000
RDBMS error, e.g. 1979 - 1000 = 979 on Oracle
Subtract 1000 and look up the result in the RDBMS documentation
Fix the database-side cause
100 EDUPL
Database error
A duplicate value exists
Insert with an existing key, or replace import hitting a secondary key
Which key the program wrote
Use update instead of insert, or clean the duplicate
107 ELOCKED
Database error
The record is locked
Another session or job holds the row
Who holds the lock
Wait for or release the lock
110 EENDFILE
Database error
End of file reached
Read past the last record
Loop logic in the program
Normal in many reads; handle it in code
111 ENOREC
Database error
No record matches the query
Missing master data or wrong key
The key values used
Create the record or correct the key
113 EFLOCKED
Database error
The table is locked
Exclusive table lock by a utility or job
Running reorganization, conversion or import jobs
Wait for or remove the lock
123 ENOSHMEM
Database error
No shared memory is initialized
Environment not started after reboot
Whether rc.start (UNIX) or the shared memory service ran
Initialize shared memory, e.g. via rc.start
136 ENOSPACE
Database error
No space available in shared memory
Shared memory too small for the loaded dictionary
Shared memory parameters
Reinitialize or enlarge shared memory
201 EROWCHANGED
Database error
The record was changed after a delayed lock
Two users or jobs updated the same row
Whether the code uses db.retry with a retry point
Retry the transaction; in code use db.retry.point() and db.retry
202 EDBLOCKED
Database error
The database is locked
Database-level lock by maintenance
Running admin processes
Wait for or remove the lock
205 ENOTINRANGE
Database error
Field value is out of range for its domain
Interface or import writing an invalid value
The field and its domain definition
Correct the value at the source
301 ESQLQUERY
Database error
General SQL error, often a syntax problem
Bad query in a script or query session
The query text; 302 ESQLSYNTAX and 303 ESQLREFER give more detail
Correct the query
305 ESQLWRONGROW
Database error
An incorrect record was returned
Corrupt index, or RDBMS sort order differs from Enterprise Server
Database collation and index health
Rebuild the index or align the sort order
505 ENOSERVER
Database error
No server in tabledef6.2, or the server cannot start
Database driver missing or misconfigured
$BSE/lib/tabledef6.2 and the driver log
Correct the driver entry or start the driver
506 ENOTABLE
Database error
The table does not exist
Table not created in this company
Company number and whether the table exists in the database
Create the table or correct the company
510 EDBNOTON
Database error
The database is not on
RDBMS down or not reachable
Database service status
Start the database
511 EWRONGVERSION
Database error
Client version differs from the server version
Mixed porting set or driver versions
Versions of bshell and driver binaries
Align the porting set versions
512 EDDCORRUPT
Database error
The data dictionary is corrupt
Interrupted reconfiguration or dictionary mismatch for the table
Recent conversions or reconfigurations of that table
Repair with bdbpre and bdbpost as the Technical Manual advises, then rerun the dictionary conversion
513 ENODD
Database error
The data dictionary was not found
Runtime dictionary missing for the package combination
Package combination and dictionary files
Convert to the runtime data dictionary
519 ENOCOMPNR
Database error
No or illegal company number
User data or job without a valid company (0-999)
The user's default company
Set a valid company number
522 EBDBDBCONNECTIONLOST
Database error
Connection between driver and database lost
Network break or database restart
Database and network logs at that time
Restore the connection and restart the session
523 E_BDB_FULL
Database error
Required space is not available in the database
Tablespace or file group full
Database free space
DBA extends or reorganizes space
605 EREFEXISTS
Database error
Record cannot be deleted while a reference exists
Delete of a master that is still used
Referencing tables in the log message
Remove the references first
607 ENOREFTBL
Database error
The reference table was not found
Data dictionary may be incorrect
The log file for the table name
Correct the dictionary or create the table
$BSE/log
Log file
Directory for program logs
n/a
Porting set 9.0b and later: <program>.log, or <program>-<sequence>.log with rotation; older sets: log.<program>
Size and rotation via log_size and log_rotation_count in $BSE/lib/defaults/all
Log.bdbpost
Log file
Fatal errors of bdbpost, named after the program
Failed imports or table creation
Last lines for the table and error number
Correct the cause and rerun the import
$BSE_TMP/bshell.<pid>
Log file
Output of a running bshell
n/a
Removed when the bshell exits normally; start it with -keeplog to keep it
Use bshcmd to change debug levels on a running bshell

Error numbers and meanings follow the Infor Enterprise Server Technical Manual (error chapter). Driver-specific messages and native database errors appear in the log of the driver program, not only in the bshell log. A message such as 'unable to create a session' is a symptom; find the error number in the log first, then look it up here.

Stuck on an LN error you cannot place?

Send us the error number and the log extract and we will tell you where to look next.

Optional. The tool and every export work without this. No spam.

Was this tool useful?

How to read an error number

Numbers from 100 to 899 are usually database errors raised by the bshell or the driver; the table lists the common ones by name, such as 512 EDDCORRUPT. Other numbers are system or operating system dependent, and only 1 to 32 are standard POSIX values. When a number above 1000 appears, the driver is passing on a native database error: subtract 1000 and look up the result in the RDBMS documentation, so 1979 on Oracle becomes 979. Always note the table and program named in the message, because the same number can have different causes in different tables.

Worked example: error 201 and error 512

Error 201 EROWCHANGED means a record was changed after a delayed lock: two processes updated the same row. In a session the user can simply try again; in a custom program the fix is to use db.retry.point() and db.retry so the transaction restarts. Error 512 EDDCORRUPT means the data dictionary for the table is corrupt, often after an interrupted reconfiguration. Check what changed on that table, repair it with bdbpre and bdbpost as the Technical Manual advises, and regenerate the runtime data dictionary before users retry. Do not let users keep retrying 512, it will not clear on its own.

  • 201: concurrency, retry in code
  • 510: start the database
  • 512 and 513: data dictionary, repair and convert

Which log to read

Program logs are in $BSE/log. Porting set 9.0b and later write <program name>.log, or <program>-<sequence>.log when rotation is enabled, with a default size of 512 KB; older porting sets use log.<program name>. Fatal bdbpost errors go to Log.bdbpost. A running bshell writes its output to $BSE_TMP/bshell.<pid>, which is deleted on a normal exit unless you start the bshell with -keeplog. For driver and native database errors, read the driver's own log and the RDBMS log for the same time. Log size and rotation are set with the log_size and log_rotation_count resources in $BSE/lib/defaults/all, so raise them before you try to catch an intermittent error.

Common mistakes

Restarting services before reading the log loses the evidence for intermittent errors. Treating every error as a database problem misses OS causes such as permissions on $BSE/lib files. Deleting locks without knowing who holds them can leave a half-finished job. And editing files in $BSE/lib by hand, such as tabledef6.2, is discouraged in the manual because many are generated or maintained by Infor tools. Finally, raise the error with the exact number, the program and the time when you log a support case: those three facts let anyone match it to the right log line.

Frequently Asked Questions

What is error 512 in Infor LN?

512 is EDDCORRUPT: the data dictionary is corrupt for the table being opened. The Technical Manual says to repair it with the bdbpre and bdbpost tools. In practice, check whether the table was being reconfigured or converted when it broke, finish or redo that step, and regenerate the runtime data dictionary.

What does error 201 mean in Infor LN?

201 is EROWCHANGED: the record was changed by someone else after a delayed lock. It is a concurrency error, not corruption. Users can retry the action. Programs should set db.retry.point() at the start of the transaction and call db.update or db.delete with db.retry so the bshell retries automatically.

How do I troubleshoot 'unable to create a session'?

That message is a symptom. Find the error number in the bshell output or in $BSE/log for the time of the failure. Common underlying causes are 510 database not on, 505 no server in tabledef6.2, 513 data dictionary not found, 519 invalid company number or a native database error above 1000.

What does an error number above 1000 mean?

It is a native error from the database or operating system passed through the driver. Subtract 1000 to get the original number. The Technical Manual gives the example 1979 on Oracle, which becomes Oracle error 979, 'not a GROUP BY expression', so the fix is in the query or the database.

If your team spends hours reading bshell and driver logs, we can set up a private AI assistant on your own servers that reads them and points to the likely cause.

ArchRay builder
Design the on-prem AI stack for Infor LN and Baan: model, GPUs, RAG pipeline, guardrails
See memory, speed and cost as you swap parts, then export the diagram. Free, in your browser.
Open the builder

Keep exploring

Free tools

ERP fixes and how-tos

Guides

AI on your ERP

Integrations

Comparisons

Software