Apache OpenOffice (AOO) Bugzilla – Issue 123344
Corrupted script.xlb fle
Last modified: 2020-03-21 12:48:58 UTC
I have a medical records application with 17 tables and several reports. The reports are written in BASIC modules, executed by button execute events. After installation of version 4.0.0 I find that if a report is deleted by right-click on its tab in the BASIC UI, all reports are then inoperable. What occurs on a button push for any report is a message from a print statement located in a test module TBARSRCH - which isn't even accessed from a report. I've tracked dowm the problem to what appears to be a corrupted .xlb file in the user\basic\REPORTS\ folder. Although a text printout of the file looks OK, before and after deleting a report, copying an old .xlb file into the location corrects the problem. This problem has been duplicated on 2 different modern desktops, both running Win 7 x64. I did not experience the problem on 3.4.1. Attached are a BEFORE and AFTER text print of the script.xlb file: BEFORE: - Note the PATIENT_RECORD entry, this is the report that will be deleted... <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd"> <library:library xmlns:library="http://openoffice.org/2000/library" library:name="REPORTS" library:readonly="false" library:passwordprotected="false"> <library:element library:name="BLANK_INTAKE"/> <library:element library:name="PATIENT_RECORD"/> <library:element library:name="PATIENT_INTAKE_APPTS"/> <library:element library:name="PATIENT_INTAKE_INDIV"/> <library:element library:name="REPORTS_MGR"/> <library:element library:name="TBAR"/> <library:element library:name="DUPES"/> <library:element library:name="BIRTHSRCH"/> <library:element library:name="TBARSRCH"/> </library:library> AFTER: Note the slot that was PATIENT_RECORD is now TBARSRCH the incorrectly executed report... <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd"> <library:library xmlns:library="http://openoffice.org/2000/library" library:name="REPORTS" library:readonly="false" library:passwordprotected="false"> <library:element library:name="BLANK_INTAKE"/> <library:element library:name="TBARSRCH"/> <library:element library:name="PATIENT_INTAKE_APPTS"/> <library:element library:name="PATIENT_INTAKE_INDIV"/> <library:element library:name="REPORTS_MGR"/> <library:element library:name="TBAR"/> <library:element library:name="DUPES"/> <library:element library:name="BIRTHSRCH"/> </library:library> However when executing ANY of the reports from the BASIC UI causes execution now of TBARSRCH. I hope this explanation is understandable, I am willing to share additional code or time to explain it further. One thing is certain, the problem is corrected by replacing the .xlb file, which I've had to do after several report editing sessions. The BASIC source for the reports is intact in the corrupted .xlb file, just can't be executed...
Update: This has happened to me so many times that I investigated further - if I edit the script.xlb file using WordPad in win7 x64 I can correct the problem. How? By moving the line entries until they match the sequence of the reports in the library, everything will work properly, so to summarize this bug: 1. If I delete a report module, then log totally off as a user and then log in and start my application - the problem exists - no reports can be run. script.xlb looks like AFTER version below. 2. If I edit the .xlb file so the entries match the sequence of reports on the module - presto problem resolved! Conclusion - When exiting OpenOffice after deleting a report in REPORTS module, the .xlb file is saved incorrectly.
This report has been open since a long time ago. We encourage you to retest your bug against the latest release.