Before you can find the name corresponding to a number, you need to know the name of the database that is causing the error. If the number is 4096 or above then the number is an application database table field or role number. Typically DP4 installations either use one application database, or two databases with the same structure, so this is unlikely to be a problem in practice.
If the number is less than 4096 then the number corresponds to something in the base dictionary, so it does not matter which database you use because this is the same on every database. A particularly important case is if the table number is 102 (this may show up as fail 6 0 20 error). This means that either your system database or your application database are 4.5xx series databases but you are using 4.6xx software to access them.
Either:
Inspect the list of tables on the database that PRINTDB can produce and look for the table number shown in the error message.
Or, if the database has too many tables to do this easily:
From a command prompt, or using the Run command option on the DP4 menu (logging on as DP4), run browser -basedict
Select the appropriate database, then press the Table button and then enter @name_table for the table name.If you cannot access the @name_table table then either you forgot to use -basedict, or you do not have the correct read and write access levels to see the @name_table table. In the latter case you need to use the User Preferences/ Colours and Miscellaneous option DFSETUP to boost your read and write access levels to 99 or above.
Press the Index button, and then select the @NR_INDEX index.
Press the Keys button, and enter the number shown in the error message
Depending on your userdata.sys settings you may or may not need to press Enter a couple of times. Assuming the number corresponds to something on the database Browser will display "Existing Record" in the Record status field, and the name will be displayed as the first field in the list of fields.
If Browser shows "No matching Record" then the number does not match anything in the data dictionary. Either:
You have selected the wrong database.
The database is corrupt. Try repeating the procedure using a known good copy of the database, and if the name should exist run a Database Integrity Check against the database reporting the problem.
The program is referencing something that does not exist on the database. This can happen if an application is running against a version of the database that is too old or too new for the application, or an application is running against the wrong database entirely.
Some memory in the application that should contain a table number is corrupted, perhaps because of a program bug. Two very common cases are when the number shown is 0 or 8224. In the first case a program has incorrectly filled an area of memory with binary 0. In the second it has incorrectly filled the area with ' ' (space) characters.