I have experienced problems reporting ~400 columns. In particular, when I tried to create a SQL report and later modify its parameters I would receive the following error message:
ORA-20505: Error in DML: p_rowid=4556014883360673, p_alt_rowid=ID, p_rowid2=994324116441574, p_alt_rowid2=SECURITY_GROUP_ID. ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "EE3D54593890D86AD05465D77CE37E19" application checksum = "0"
Even though it was not possible to overcome the problem completely, I have found the following solution to create the SQL report anyway.
After initial creation of the report, I had to return to the Region-> Region Definitions tab-> Source of the report.
Under the Region Source I have changed to "Use Generic Column Names (parse query at runtime only)" to activate "Maximum number of generic report columns:" and changed it to 400.