Anyone in the business of supporting software will know that not every error and exception are captured elegantly, which makes some errors quite hard to investigate and resolve. After spending hours looking for a solution for a couple of errors I found while working with Live Office, this is my small contribution to hopefully save my peers some time which they can better employ cursing Developers for bugs.
After creating a few report pages on the same WebI report (BI Platform and Live Office on 4.1 SP05), we proceeded to import the tables on those pages into a Live Office Powerpoint document. No issues – all working fine. Later on, we created additional tables in the report pages and also added them to the same Live Office Powerpoint document. That is when the errors start to happen. The errors were the following:
– “Index was outside the bounds of the array”
– “Attempted to read or write protected memory”
The errors happened when the new objects were introduced, and removing and adding them again did not resolve. Adding the previously created tables worked fine. The Live Office logs (located in %APPDATA%\\Roaming\SAP BusinessObjects\Live Office\) read as below:
ERROR 2015-04-28 18:27:48,352 : Index was outside the bounds of the array.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
ERROR 2015-04-29 09:34:06,940 : Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
We could not find references to said error in the SAP Portal or on the BOB Forum (or anywhere else, really), so we re-traced our steps and it turns out that the problem is caused when you copy a table and paste it into a different report page. Copying and pasting a table from and to the same report page is OK, but when one pastes a table from another report page, you find the problem described above.
The solution is simply not to do it. If you need a table from another report page one should duplicate the report page and use that as a starting point. That action does not trigger the error.