Summary
Symptom
The dictionary and nametab length values of a table pool are incorrect.
The checks for dictionary versus runtime object, and runtime object versus database object, return length or type inconsistencies.
When you check such a table pool with transaction SE11, the system issues message DDACT023:
"Length of data is larger than maximum data length ... "
Transaction SE16 terminates with exception DBIF_RSQL_INVALID_RSQL for a logical pool table in the relevant table pool .
The system log contains messages such as:
SE16 AB0 Run-time error "DBIF_RSQL_INVALID_RSQL" occurred
BTC SAPSYS F6H Database error: TemSe->XRTAB(0)->4 for table TST05 key
The client copy log displays pool tables as incorrect: DDIC Error (See SE14).
These table pools have an inconsistent database object in field VARDATA in transaction SE14.
The following pools may be affected: ATAB, GLSP, GLTP, DVPOOLTEXT, KAPOL
Other terms
RADPOCNV, Unicode migration, table pool conversion
Reason and Prerequisites
As part of the Unicode migration or the new installation using UNICODE, the program UMG_POOL_TABLE is to be executed, which executes the report RADPOCNV.
The report sets the dictionary length for table pools that have to be converted during the Unicode migration due to the extension of the VARDATA field.
If you run the report repeatedly, the length values of the nametab and dictionary are also extended repeatedly.
Every time the RADPOCNV program is executed, a log writes to the database with the name TPOCNV*.
You can use the report RADPROTA to display the log.
Solution
You can use report RATPONTC to reset the dictionary and nametab length values to the correct values.
If this report is missing, you must import the report from the attached archive into your system.
The archive contains the data and co files. Copy the files to your local harddisk and import them with R3trans.
You can only use the RATPONTC report on Unicode systems. Execute it with F8.
Since the length information in the VARDATA field is no longer correct for the relevant table pool, you must reenter the length values.
Determine the length of the VARDATA field for the relevant table pool in a non-Unicode system or a Unicode system, and specify it in the Length field of the report.
You can use transaction SE11 to display the relevant table pool in every system.
In addition, you should specify if the length value comes from a non-Unicode system or a Unicode system.
Keep the default setting if the length comes from a non-Unicode system.
The report will then determine the correct length.
Other additional input parameters are not required.
Execute the report and check the tables in transaction SE14:
<F6> - Runtime Object <-> Database
<F7> - Dictionary <-> Runtime Object
Inconsistencies should no longer be displayed.