In order to resolve this issue, the record needs to be dumped and deleted or modified so that it is no longer hitting the maxfield length.
1. Isolate the record in question
From the tablenumber and recid reported in the DBTOOL error
For example: "Unable to upgrade record 4/3901168"
- tableNum: 4
- recid: 3901168
Determine the tableNAME from the tableNUM:
FIND FIRST _file WHERE _file._file-number = 4 NO-LOCK.
DISPLAY _file-number _file-name.
For example: The tablename is Customer which will be used in the code examples below.
2. Dump the record:
Example: To dump recid: 3901168 from tablenum 4 (Customer)
OUTPUT TO './fixthisrecord.out'.
FIND FIRST customer WHERE RECID(customer) = 3901168.
EXPORT customer.
OUTPUT CLOSE.
3. Delete the record
Example: To delete recid: 3901168 from tablenum 4 (Customer)
FIND FIRST customer WHERE RECID(customer) = 3901168.
DELETE customer.
4. Review and Modify the record content generated in Step 2: "fixthisrecord.out", then reload the modified customer record < 32 KB
/* NOTE! fixthisrecord2.out is the modified export < 32K from fixthisrecord.out */
INPUT FROM VALUE ('./fixthisrecord2.out').
DO WHILE NOT ERROR-STATUS:ERROR TRANSACTION:
CREATE customer.
IMPORT CUSTOMER.
END.