|Applies To||RSA Product Set: Identity Management and Governance|
RSA Version/Condition: 6.9.1, 7.0
Product Name: RSA Via Lifecycle and Governance
|Issue||When attempting to run a report for RSA Via Lifecycle and Governance, the following error is generated in the console:|
"Caught Exception in Report fill(): 0"
The aveksaServer.log file, available through the UI when logged in as the AveksaAdmin under Admin > System > Server Nodes > aveksaServer.log, shows the following exception:
2016-06-09 13:33:46,723 ERROR [com.aveksa.server.report.Report] Error in fillReport
Further in the same exception, the exception Caused by clause indicates that the original exception occurs in the jasperreports shared library indicating that there is a problem with a tab stop.
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
|Cause||This error may occur if the data in the report contains the non printable TAB character (ASCII value of 9). The report fails when attempting to fill the columns of the report with data because the tab character is interpreted as a new column. Note that the report only fails if the position of the tab character in the data causes the contents of the column to extend past the next column in the report.|
|Resolution||Update the report query with a custom SQL SELECT statement that uses the REPLACE command that replaces any instance of the non printable TAB character in the data of the problem field with a printable character of your choice such as a space. |
Edit the report and select the Query tab. Update or add a FROM Clause:
For example, if the problem data is in the field CUS_ATTR_USER_CAS_2, you can add this field specifically to the Reports From clause. Edit the report and then on the Query tab of the report, add a select statement to the FROM clause entry of the report. This statement takes the value of the CAS2 attribute and replaces any instances of the ASCII character 9 with a space.
(SELECT REPLACE (CUS_ATTR_USER_CAS_2,chr(9), ' ') AS DEPARTMENT, FIRST_NAME, LAST_NAME FROM V_USERS)
|Workaround||Move the problem column to the far right of the report data. If this is the last column on the report the tab character may not collide with other columns.|
|Notes||In order to identify what rows in the database have the problem data, you can use the following SQL query in Oracle SQL Developer. |
SELECT CUS_ATTR_USER_CAS_2, FIRST_NAME,LAST_NAME FROM V_USERS WHERE CUS_ATTR_USER_CAS_2 LIKE '%'||chr(9)||'%';