tag:blogger.com,1999:blog-11023631174404174682024-03-13T11:08:09.239+01:00Business Objects In ShortNews and experiences working as a BI consultantUnknownnoreply@blogger.comBlogger70125tag:blogger.com,1999:blog-1102363117440417468.post-61359678690738646102009-08-06T14:33:00.001+02:002009-08-06T14:36:39.919+02:00Confusing Error MessagesThere are many types of error messages in BusinessObjects Enterprise and other Business Objects products that are misleading. Misleading in a way that when you read the error message you start searching at the wrong place for an solution.<br /><br />One example of such an error message in Crystal Reports is: "<span style="font-family:courier new;font-size:85%;">The report could not be opened from BusinessObjects Enterprise.</span>", "<span style="font-family:courier new;font-size:85%;">Possibly the report is on a different BusinessObjects Enterprise system than the one you are currently logged onto. If the problem persists, please contact your administrator.</span>".<br /><br /><a href="http://4.bp.blogspot.com/_LDKro0bYDVk/SnrNrG-Ps5I/AAAAAAAAAGw/MnT-s9ZpKU0/s1600-h/can+not+open+cr+report+-+security+issue.bmp"><img id="BLOGGER_PHOTO_ID_5366828046455124882" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 71px" alt="" src="http://4.bp.blogspot.com/_LDKro0bYDVk/SnrNrG-Ps5I/AAAAAAAAAGw/MnT-s9ZpKU0/s400/can+not+open+cr+report+-+security+issue.bmp" border="0" /></a><br /><br />It also depends which version of Crystal Reports you are using. The error message above is for version 11, 11.5 and 12. If you are using version 10 you get another error message. That message is much better at describing the cause of the error.<br /><br />The cause for this error message was that the user lacked a security permission for Crystal Reports report objects. Not that obvious when you study the error message, or what do you think?!?Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-1102363117440417468.post-85932459162224219032009-07-15T14:49:00.002+02:002009-07-15T14:54:26.922+02:00.NET SDK Development ErrorI have a strange issue while developing a .NET application with the BusinessObjects Enterprise XI 3.1 SDK/API.<br /><br />I am trying to delete users from the repository which is a fairly straightforward task. The problem is that I receive an error message with the following text:<br /><br /><span style="font-family:courier new;font-size:85%;color:#cc0000;">ERROR: User.RemoveUsers():System.Runtime.InteropServices.COMException (0x80041E09):Failed to commit objects to server :Delete operation failed.</span><br /><span style="font-family:courier new;font-size:85%;color:#cc0000;"> at CrystalDecisions.Enterprise.ISInfoStore.Commit(ISInfoObjects InfoObjects)</span><br /><span style="font-family:courier new;font-size:85%;color:#cc0000;"> at CrystalDecisions.Enterprise.InfoStore.Commit(InfoObjects infoObjects)</span><br /><span style="font-family:courier new;font-size:85%;color:#cc0000;"> ...</span><br /><br />Here are an excerpt of the C# source code lines causing the error:<br /><br /><span style="font-family:courier new;font-size:85%;">...</span><br /><span style="font-family:courier new;font-size:85%;">IObjects.Delete(IObject);</span><br /><span style="font-family:courier new;font-size:85%;">IStore.Commit(IObjects);</span><br /><span style="font-family:courier new;font-size:85%;">//IObject.DeleteNow();</span><br /><span style="font-family:courier new;font-size:85%;">...</span><br /><br />First you make an delete of the InfoObject (which is a User object in this case) by using the Delete() method of the InfoObjects collection. The next source code line commits the deletion back to the repository (database) using the Commit() method of the InfoStore object. The error occurs when trying to commit.<br /><br />I have also tried to use the commented source code line, the DeleteNow() method of the InfoObject object, but with the exact same problem.<br /><br />For the fun of it I translated the source code to VBScript using COM SDK in WSH instead with the exact same source code lines. This worked without any problem. VBScript source code excerpt shown below:<br /><br /><span style="font-family:courier new;font-size:85%;">...</span><br /><span style="font-family:courier new;font-size:85%;">oInfoObjects.Delete(oUser)</span><br /><span style="font-family:courier new;font-size:85%;">oInfoStore.Commit(oInfoObjects)</span><br /><span style="font-family:courier new;font-size:85%;">...</span><br /><br />To make it even more interesting I translated the code to Java. The code for deleting users in Java is the very same. And it also worked without any issues. Java source code excerpt shown below:<br /><br /><span style="font-family:courier new;font-size:85%;">...</span><br /><span style="font-family:courier new;font-size:85%;">infoObjects.delete(infoObject);</span><br /><span style="font-family:courier new;font-size:85%;">infoStore.commit(infoObjects);</span><br /><span style="font-family:courier new;font-size:85%;">...</span><br /><br />I have also tried to compile and run the .NET version of my application in a BOE XI R2 environment but with no luck, the same error message occured.<br /><br /><strong>So my question is:</strong> There must be something I am missing here - can someone explain what I am doing wrong?Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1102363117440417468.post-18863059924153390812009-06-02T10:59:00.001+02:002009-06-02T11:02:01.387+02:00BOE XI R2 Version Numbers - UpdateVersion number for FP3.4 has been added to the list.<br /><br /><a href="http://boinshort.blogspot.com/2007/05/boxir2-version-numbers.html">http://boinshort.blogspot.com/2007/05/boxir2-version-numbers.html</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-65041389616656481992009-01-22T19:33:00.007+01:002009-01-22T19:42:12.514+01:00Authentication And Scheduling ProblemsWe have had strange issues in <span class="blsp-spelling-error" id="SPELLING_ERROR_0">BusinessObjects</span> Enterprise XI R2 and 3.0 where;<br /><br /><ol><li>Log in with AD Authentication stops working. A timeout occurs after a while. Users without AD aliases can log on without any problems.</li><li>When scheduling reports the report job gets stuck in status Pending.</li></ol><p>These two issues started at the same time but we interpreted them as separate issues. That was a wrong assumption.</p><p>After a lot of investigation and testing we isolated the problem to the <span class="blsp-spelling-error" id="SPELLING_ERROR_1">BOE</span> DB repository. The problem was due to changes in the availability of one of the AD groups that was registered under AD Authentication in <span class="blsp-spelling-error" id="SPELLING_ERROR_2">CMC</span>/Authentication. The same problem would occur if a NT group would be removed or made unavailable.</p><p>The solution for this problem was to remove the group that caused the system to hang. After that, it all worked again.</p><p>We have had these issues a number of times now in different systems and it's mind-boggling how the functionality in the system can be designed in this way. This function is a core part of the system and should not have this behavior!</p><p>Why does the scheduling stop working if there are verification problems against a domain? Well, when the <span class="blsp-spelling-error" id="SPELLING_ERROR_3">CMS</span> starts a scheduled job it checks to see if the user has the rights to run the report. At that point the system does a verification against the group and if that group are unavailable the session is hung until timed out.</p><p>Does anyone else had similar issues?</p>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1102363117440417468.post-54904532459821763732009-01-19T21:52:00.000+01:002009-01-19T21:54:57.083+01:00BOXIr2 Version Numbers - UpdateVersion number for FP3.5 has been added to the list.<br /><br /><a href="http://boinshort.blogspot.com/2007/05/boxir2-version-numbers.html">http://boinshort.blogspot.com/2007/05/boxir2-version-numbers.html</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-33807199843011228542009-01-07T17:23:00.000+01:002009-01-07T17:24:32.200+01:00BOXIr2 Version Numbers - UpdateVersion number for SP5 has been added to the list.<br /><br /><a href="http://boinshort.blogspot.com/2007/05/boxir2-version-numbers.html">http://boinshort.blogspot.com/2007/05/boxir2-version-numbers.html</a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1102363117440417468.post-71764377397483017642009-01-07T17:05:00.003+01:002009-01-07T17:22:17.577+01:00Update ObjectsWhen migrating from one BusinessObjects Enterprise XI version to another you need to perform an update of the CMS repository. This step is started via the Update Objects button in Central Configuration Manager (CCM).<br /><br /><a href="http://1.bp.blogspot.com/_LDKro0bYDVk/SWTTsaDVkkI/AAAAAAAAAGk/zARyVRXjA14/s1600-h/update+objects.bmp"><img id="BLOGGER_PHOTO_ID_5288584622300828226" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 83px" alt="" src="http://1.bp.blogspot.com/_LDKro0bYDVk/SWTTsaDVkkI/AAAAAAAAAGk/zARyVRXjA14/s400/update+objects.bmp" border="0" /></a><br /><br />What does this step exactly do? Well, difficult to say, but what I know through documentation<br />and SAP Support is this:<br /><ul><li>Adds properties to the objects in the CMS that the new BOE version requires.</li><li>Updates the internal representation of the CMS if that has changed in the new BOE version.</li><li>All the pointers to reports will be created. If any pointers are corrupted they will be<br />restored.</li><li>All server objects will be recreated and the communication is restored between servers.- The activity Universe will be loaded in the repository.</li><li>Updates the sample reports and Universes.</li></ul><p>Have I missed something?</p>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-1102363117440417468.post-69725717136712779562008-12-03T10:47:00.005+01:002008-12-03T10:52:13.498+01:00Platform Language In BusinessObjects EnterpriseThis post is a clarification about the language settings in the platform when installing BusinessObjects Enterprise (BOE). When installing the Enterprise platform you get an dialog box at the very beginning that asks about the language that is to be used during installation (Please Choose Setup Language). This is the language that the Central Management Server (CMS) will use.<br /><br /><a href="http://4.bp.blogspot.com/_LDKro0bYDVk/STZV2cuK4kI/AAAAAAAAAEs/hYB1MGXj7F4/s1600-h/installation+language+selection.bmp"><img id="BLOGGER_PHOTO_ID_5275498407422255682" style="WIDTH: 353px; CURSOR: hand; HEIGHT: 184px" alt="" src="http://4.bp.blogspot.com/_LDKro0bYDVk/STZV2cuK4kI/AAAAAAAAAEs/hYB1MGXj7F4/s400/installation+language+selection.bmp" border="0" /></a><br /><br />The default language selected in the dialog box is based on the Regional Options of the operating system. You can change this to any language you want. But be aware! The selection you make here is pretty permanent. The only way to change this is to create a new CMS database and migrate the old database over to the new database. But as you don't have any option to choose which language to be used when you create a new CMS database you can do the language selection through the Regional Options. When you create a new CMS database it uses<br />the language in the Regional Options as the CMS language. Here are a short summary of the steps needed to change language in an already installed environment.<br /><ol><li>Change the Regional Options of the server OS to the language you want in the BOE platform.- Create a new CMS database.</li><li>Migrate the old CMS database to the new one.</li><li>Change the regional settings of the server back to the original language.</li><li>Re point BOE to the new CMS database.</li></ol><p>Why is this important? For a couple of reasons. I have used the above method to change language to English when the BOE platform has been installed in a country specific language. When you have a country specific language set in the CMS much of the error messages and log entries are in that language. When you want to use the error message it could be difficult to translate it to English. It is much more difficult to find a solution when you don't have the exact error message to go by. If you must create a case with SAP Support it is impossible for them to read some of the error messages. And in that case you must translate all error messages to English manually.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-34488179878921311912008-11-25T11:33:00.004+01:002008-11-25T11:42:16.138+01:00Upgrading BOE XI 3.0 To BOE XI 3.1There exists two ways of upgrading a BusinessObjects Enterprise XI 3.0 environment to version 3.1.<br /><br /><ol><li>Upgrade patch. Business Objects has an upgrade patch available. This patch will upgrade your BOE XI 3.0 environment to BOE BI 3.1. One important thing to remember is that with this option you will not get the .NET platform installed. If you are interested in the .NET platform you should go with option 2.</li><li>Full installation. This option consists of two steps; first you uninstall the BOE XI 3.0 environment and then perform a new BOE XI 3.1 installation. This option is your only choice if you want the .NET platform.</li></ol><p>If you try to do a simple installation (option 2) and you got BOE XI 3.0 installed the installation program will halt with an error message and exit.</p><p>As always, perform backups of the CMS and Audit databases as well as the File Repository Servers.</p><p>For more information, read the following documents from Business Objects:</p><ul><li>BusinessObjects XI 3.1 Update Installation and Deployment Guide</li><li>BusinessObjects Enterprise 3.1 Upgrade Guide</li></ul>Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-1102363117440417468.post-50016907105979130422008-11-11T15:40:00.001+01:002008-11-11T15:45:02.698+01:00Migration to BusinessObjects Enterprise XI 3.0 - part 5?The question mark in the heading above states that I am not completely sure at this time that the issue described below is due to the migration phase.<br /><br />We have noticed a strange behaviour in one of our Universes in the BOE XI 3.0 environment. The Universe has been migrated from BOE XI R2. The Universe has a last modified date that is newer than the date in BOE XI R2 environment. Ok, that is not very strange. The strange thing is that the revision number is identical! And we know for sure that the Universe has been changed. One inner join (BOE XI R2) has suddenly become an outer join (BOE XI 3.0). One more observation is that the last modified by user also has changed. As no one (as far as we know) has changed the Universe these questions arises:<br /><ul><li>Why has the join changed if no one has altered the Universe?</li><li>If no one has changed the Universe and the join has been altered due to an migration bug, why has the date and user changed?</li><li>If someone has changed the Universe, why is the revision number identical between the systems?</li></ul><p>The new date in the Universe is not the migration date.</p><p>Strange stuff is an understatement. Do anyone have an reasonable explanation for this?</p>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1102363117440417468.post-45380093381112603512008-11-07T17:08:00.004+01:002008-11-07T22:25:22.476+01:00Data Source Configuration In Crystal ReportsHere is a tip on how to troubleshoot an error in a Crystal Reports report when using files like Excel and Access.<br /><br />The error that you get when trying to view the report in InfoView is <em>Error: The database logon information for this report is either incomplete or incorrect.</em><br /><br /><a href="http://2.bp.blogspot.com/_LDKro0bYDVk/SRRn_XiOL1I/AAAAAAAAAEk/8OJQRBi-Nnc/s1600-h/database+logon+error.bmp"><img id="BLOGGER_PHOTO_ID_5265948202649923410" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 43px" alt="" src="http://2.bp.blogspot.com/_LDKro0bYDVk/SRRn_XiOL1I/AAAAAAAAAEk/8OJQRBi-Nnc/s400/database+logon+error.bmp" border="0" /></a><br /><br />This is due to the configuration made in Crystal Reports when creating the report against an Excel file. When you create the report you often point your data source against a file through a mapped drive. This setup doesn't work when publishing the report to the repository on the BusinessObjects Enterprise server. You must specifiy the data source name as an UNC path (like <a href="file://server/">//server/</a>) or as an name of an DSN that exist on the server.<br /><br />If you have entered a path for a mapped drive and you try to reconfigure that setting in Central Management Console (CMC) it will not work. I don't know why this doesn't work for this data source setting.<br /><br />Example, if you make a report with a local DSN with name DSN_A against a database server named DB_A and publish it to the repository server there are two scenarios;<br /><ul><li>Scenario 1: The DSN exist on the BOE server with the same name and everything works!</li><li>Scenario 2: A DSN with name DSN_A doesn't exist on the BOE server but another DSN against DB_A exist with the name DSN_B. In this case you can open up Database Configuration on the report and remap data source DSN_A to the local DSN (DSN_B) on the BOE server. And now everything works!</li></ul><p>But for the case with a data source file path it doesn't work.</p><p>Perhaps elementary for some but not for me. Why doesn't this work? It could work if you wanted to...</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-64448890169090236642008-11-04T17:04:00.002+01:002008-11-07T22:25:22.477+01:00BOE XI 3.1 Version NumbersI never remember the version numbers for the different patch levels. This post will help me in the future!<br /><br />To determine the exact version of your installation: Open Central Configuration Manager (CCM) and choose About BusinessObjects Enterprise. In the following dialog box you will see the Product Version.<br /><br />12.1.0.882 --> RTM<br /><br />This list is only valid for BusinessObjects Enterprise XI 3.1.<br /><br />SP = Service Pack.<br />FP = Fix Pack.<br />RTM = Release To Market (first release, without any patches).<br /><br />Does anyone have the numbers for the patches missing in my list?Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-1102363117440417468.post-58103283875762158752008-11-03T10:37:00.002+01:002008-11-07T22:25:22.478+01:00Assert FailureWe have had alot of logging about assert failures in the log files for our different BusinessObjects Enterprise systems. I contacted Business Objects support to try to get an explanation of these messages and if we should act on any of them.<br /><br />The answer is that the log files with assert failures are only interesting when there are some specific issues with the system. When a certain problem arises the support goes through the assert failure log files to try to get an explanation. And as you can see in the examples below the source code file name and line number is logged to ease up the trace.<br /><br />I also asked if there was some way to turn that logging off and the answer was No.<br /><br />Assertion generally stops the execution of code but Business Objects said that their assertion doesn't. If you don't know what assertion is you can take a minute or two and read this article from Wikipedia <a href="http://en.wikipedia.org/wiki/Assertion_(computing">http://en.wikipedia.org/wiki/Assertion_(computing</a>).<br /><br />Here are some examples of assert failures that we experienced in one of our BOXI 3.0 environments.<br /><br /><span style="font-family:courier new;font-size:85%;">[Mon Oct 13 08:30:39 2008] 304 7312 assert failure: (.\frsresmgr.cpp:1242). (false : FileResourceMgr::unlockFile: Cannot find entry for file E:\Business Objects\BusinessObjects Enterprise 12.0\FileStore\Input\a_049\017\036\2363697\~fc_23f0568ca38e233.xls).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Mon Oct 20 06:36:24 2008] 12112 3684 assert failure: (d:\titan_rtm\src\framework\servers\cpp\cms\include\infoobj.h:787). (GetPropString( id, ret, bSearchWireObj ) : no message).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Mon Oct 27 10:00:42 2008] 9288 9724 assert failure: (.\sessionmgr.cpp:271). (beforeAuthen != serverAuthen && afterAuthen == serverAuthen : no message).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Thu Oct 02 14:41:43 2008] 7228 1864 assert failure: (.\secssoplugin_impl.cpp:62). (0 : UnInitializePlugin() -- Unexpected Exception!).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Thu Oct 02 14:41:43 2008] 7228 1864 assert failure: (.\secssoplugin_impl.cpp:62). (0 : UnInitializePlugin() -- Unexpected Exception!).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Tue Sep 23 19:52:26 2008] 2444 2440 assert failure: (.\auditsubsystem_impl.cpp:1233). (cuidToIdMap.Lookup( auditCUID, auditId ) : Auditor::CreateRecordsForServer - the AuditingService seems to be missing from this deployment.).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Wed Oct 01 10:46:49 2008] 7028 3824 assert failure: (.\auditsubsystem_impl.cpp:1233). (cuidToIdMap.Lookup( auditCUID, auditId ) : Auditor::CreateRecordsForServer - the AuditingService seems to be missing from this deployment.).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Wed Oct 01 10:47:51 2008] 7028 6824 assert failure: (.\ScheduleObject.cpp:199). (0 : no message).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Wed Oct 01 10:47:51 2008] 7028 6824 assert failure: (.\ScheduleObject.cpp:253). (0 : objectId[2278305] is missing SI_NEXTRUNTIME property; isRunnable[true], hasScheduleStatus[false]=[9], hasProgress[false]=[0], hasOutcome[false]=[0].).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\wireob.cpp:749). (state == foundFlag : no message).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\wireob.cpp:775). (false : Error: Wrong number of parameters in URL ).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\infosessionmgr.cpp:913). (false : Couldn't get token).</span><br /><br /><span style="font-family:courier new;font-size:85%;">[Fri Oct 24 08:27:55 2008] 8668 8504 assert failure: (.\DocumentConnectionRepository_common.cpp:78). (0 :<br />ReportSourceRepositoryCommon::getServerDisabled(): m_varSvrFactory is NULL).</span>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1102363117440417468.post-22098397972002691782008-10-21T13:47:00.002+02:002008-11-03T10:26:41.430+01:00BOXI 3.0 Version NumbersI never remember the version numbers for the different patch levels. This post will help me in the future!<br /><br />To determine the exact version of your installation: Open Central Configuration Manager (CCM) and choose About BusinessObjects Enterprise. In the following dialog box you will see the Product Version.<br /><br />12.0.0.683 --> RTM<br /><br />This list is only valid for BusinessObjects Enterprise XI 3.0.<br /><br />SP = Service Pack.<br />FP = Fix Pack.<br />RTM = Release To Market (first release, without any patches).<br /><br />Does anyone have the numbers for the patches missing in my list?Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1102363117440417468.post-92229679724863080692008-10-20T14:07:00.007+02:002008-12-03T08:01:17.578+01:00Migration to BusinessObjects Enterprise XI 3.0 - part 4One of the more serious issues after the migration from XI R2 was that all (about 640) schedules where missing! Not a single one had been migrated. This was clearly a problem with the migration tool.<br />The explanation from Business Objects was that the permissions where incorrect applied in the old environment and because of that all schedules where lost. I don't buy that at all. All other reports with instances were there and working but only the reports with scheduling where erratic. The schedules where created by a huge amount of different users and rights. The fact that exactly all schedules are missing points to the fact that it must be due to a bug in the migration tool.<br /><br />The error is occurring when viewing history on a scheduled report or if you try to schedule it again. The error messages are different depending on the report type.<br /><p><strong>Crystal Reports error message</strong></p><p>HTTP Status 500</p><p><a href="http://1.bp.blogspot.com/_LDKro0bYDVk/SPx03DuyKEI/AAAAAAAAAEU/ovMkc-GwHwU/s1600-h/schedule+error+cr+history.bmp"><img id="BLOGGER_PHOTO_ID_5259206954105055298" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_LDKro0bYDVk/SPx03DuyKEI/AAAAAAAAAEU/ovMkc-GwHwU/s400/schedule+error+cr+history.bmp" border="0" /></a><br /><br /><span style="font-family:courier new;font-size:85%;">HTTP Status 500 -<br />--------------------------------------------------------------------------------<br />type Exception report<br />message<br />description The server encountered an internal error () that prevented it from fulfilling this request.<br />exception<br />org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)<br />root cause<br />java.lang.NullPointerException com.businessobjects.clientaction.crystalreport.history.SendToAbleCustomColumn.render(SendToAbleCustomColumn.java:75) com.businessobjects.components.explorer.model.impl.ColumnWrapper.render(ColumnWrapper.java:113) com.businessobjects.jsf.explorer.renderkit.ResizableContentListViewRenderer.displayNode2(ResizableContentListViewRenderer.java:447) com.businessobjects.jsf.explorer.renderkit.ResizableContentListViewRenderer.displayNode(ResizableContentListViewRenderer.java:380) com.businessobjects.jsf.explorer.renderkit.ResizableContentListViewRenderer.renderHtml(ResizableContentListViewRenderer.java:994) com.businessobjects.jsf.explorer.renderkit.ResizableContentListViewRenderer.encodeBegin(ResizableContentListViewRenderer.java:112) javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:703) javax.faces.render.Renderer.encodeChildren(Renderer.java:136) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:721) javax.faces.render.Renderer.encodeChildren(Renderer.java:138) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:721) javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:629) javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:566) org.apache.jsp.jsp.CrystalReport_005fHistory.history_jsp._jspx_meth_ure_explorer_0(history_jsp.java:1694) org.apache.jsp.jsp.CrystalReport_005fHistory.history_jsp._jspService(history_jsp.java:492) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)<br />note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.<br />--------------------------------------------------------------------------------<br />Apache Tomcat/5.5.20 </p></span><p><strong>Web Intelligence error message</strong></p><p>The page cannot be found</p><p><a href="http://1.bp.blogspot.com/_LDKro0bYDVk/SPx0998rK1I/AAAAAAAAAEc/XefmQxizfKw/s1600-h/schedule+error+webi+history.bmp"><img id="BLOGGER_PHOTO_ID_5259207072811789138" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_LDKro0bYDVk/SPx0998rK1I/AAAAAAAAAEc/XefmQxizfKw/s400/schedule+error+webi+history.bmp" border="0" /></a></p><p>The workaround for this type of issue is to save the report with new name and reschedule it. We didn't get a fix from Business Objects for this problem.</p>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-1102363117440417468.post-3544363192869759812008-10-10T14:02:00.008+02:002008-11-03T10:35:18.709+01:00Migration to BusinessObjects Enterprise XI 3.0 - part 3One issue that we encountered immediately was that you need to set permissions on the top folder in the folder hierarchy. In BOXI R2 the top folder (Public Folders) acted as a default node just to build the folder hierarchy, you didn't need to set any rights on that folder. In BOXI 3.0 you do. The top folder All Folders need to be configured.<br /><br />What I did was to first create a new Access Level named View Top Folder. That Access Level have only View Folder objects right set.<br /><br /><img id="BLOGGER_PHOTO_ID_5255494697197701858" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_LDKro0bYDVk/SO9ElRFrCuI/AAAAAAAAAEE/F5ILidmG0bY/s400/new+access+type+view+top+folder.bmp" border="0" /><br /><br />I then edited the security for the All Folders root folder and added the newly created Access Level to the group Everyone.<br /><br /><a href="http://1.bp.blogspot.com/_LDKro0bYDVk/SO9E0cKa4DI/AAAAAAAAAEM/QKNyo4RczWg/s1600-h/all+folders+security.bmp"><img id="BLOGGER_PHOTO_ID_5255494957868441650" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_LDKro0bYDVk/SO9E0cKa4DI/AAAAAAAAAEM/QKNyo4RczWg/s400/all+folders+security.bmp" border="0" /></a><br /><br />The word 'Rotmapp' is Swedish and stands for Root Folder (All Folders). The language settings get messed up here and there and that is very confusing and annoying.<br /><br />The folders below All Folders have inheritance activated but they don't inherit that right. That is strange. The Administrators group gets it's inheritance right so why doesn't the Everyone group? Does anyone have an answer to this?<br /><br />More about this change in the security model can be read in the following post I found on BOB:<br /><a href="http://www.forumtopics.com/busobj/viewtopic.php?t=112156&start=0&postdays=0&postorder=asc&sid=ed14a5c0dff35d169a6052ea7bf070f4">http://www.forumtopics.com/busobj/viewtopic.php?t=112156&start=0&postdays=0&postorder=asc&sid=ed14a5c0dff35d169a6052ea7bf070f4</a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1102363117440417468.post-35753191712679784682008-10-07T21:39:00.003+02:002008-11-03T10:35:18.710+01:00Migration to BusinessObjects Enterprise XI 3.0 - part 2As I mentioned in my previous post the migration process went fine and all the system tests we performed afterwards did not show any strange behaviour or irregularities.<br /><br />But... As the users started using the system a number of strange things have emerged. Some of the issues are very serious!<br /><br />I will post back shortly some of our findings and how we solved them and some that we probably won't solve. As it looks right now we will probably start up the BOXI R2 environment again until all issues have been solved in the new environment.<br /><br />The case has been reported to SAP/Business Objects and their technicians are currently trying to find a solution.<br /><br />My opinion is that there are a problem with the migration tool... Time will tell if I am right...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-50481358166228931642008-10-04T16:20:00.003+02:002008-11-03T10:35:26.692+01:00Migration to BusinessObjects Enterprise XI 3.0We have now migrated our first customer to BOXI 3.0! And surprisingly it all went smoothly. The whole migration process took about 9 hours which included manual system configuring of settings transferred from the old system.<br /><br />This is the work flow we used:<br /><ol><li>Stop all services for BOXI R2.</li><li>Stop the SIA in BOXI 3.0.</li><li>Remove the BOXI 3.0 File Repository Server (FRS) filestore folders under <install>\BusinessObjects Enterprise 12.0\FileStore.</li><li>Copy the Central Management Server (CMS) repository via Central Configuration Manager (CCM) from BOXI R2 to BOXI 3.0.</li><li>Copy the Input and Output file repository folders from BOXI R2 to BOXI 3.0.</li><li>Perform Update Objects throgh the CCM. This step was by far the most time demanding one, it took over four hours.</li></ol><p>When the migration process was completed and the system was up and running I did system tests by two tools provided by Business Objects; Deployment Diagnostic Tool and Repository Diagnostic Tool.</p><p><strong>Deployment Diagnostic Tool</strong></p><p>The Deployment Diagnostic Tool (DDT) is a java-based application that is designed to verify basic operating functionality of a BusinessObjects Enterprise XI 3.0 installation.</p><p>The tool is located with the other tools for BOXI 3.0. The XML log file is stored in <em><install></em>\c<em>ommon\4.0\java\lib\log\TestResults.xml</em>. The tool creates a directory containing a test report in the CMS with the name Diagnostic Test Folder. That folder must be removed manually.</p><a href="http://3.bp.blogspot.com/_LDKro0bYDVk/SOewg00mBXI/AAAAAAAAAD8/wtLnlt8j7mU/s1600-h/deplyment+diagnostic+tool.bmp"><img id="BLOGGER_PHOTO_ID_5253361568332514674" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_LDKro0bYDVk/SOewg00mBXI/AAAAAAAAAD8/wtLnlt8j7mU/s400/deplyment+diagnostic+tool.bmp" border="0" /></a><br /><br /><pic>The following tests are performed by DDT:<br /><ul><li>Log On/Off - tests logging on and off BOE.</li><li>InfoView Test - test logging on and logging off through InfoView.</li><li>Web Intelligence Tier - tests creating, viewing, and scheduling a simple Web Intelligence document.</li><li>Crystal Reports Tier - tests creating and scheduling a simple Crystal Reports document.</li><li>Start/Stop Servers - connects to a CMS and queries for all available servers associated with it, then proceeds to stop and start each one.</li></ul><p><strong>Repository Diagnostic Tool</strong></p><p>The Repository Diagnostic Tool (RDT) is new for BusinessObjects Enterprise XI 3.0. This command line tool scans, diagnoses, and repairs inconsistencies that may occur between the CMS system database and the FRS filestore.</p><p>What does that exactly mean? RDT find inconsistencies;</p><ol><li>when a object exist but no file or</li><li>when a file exist but no object. </li></ol><p>How the inconsistency have occured in the first place is another story. </p><p>RDT doesn't repair the inconsistencies by default, it only gives a report. The report log is stored in a xml file named <em>Repo_Scan_yyyy_mm_dd_hh_mm.xml</em> under <em><install><install>\BusinessObjects Enterprise 12.0\reposcan\</em>. The tool is found in <em><install><install>\BusinessObjects Enterprise 12.0\win32_x86\reposcan.exe</em>. For a list of parameters see your Business Objects manual.</p><p><u>Note:</u> It is highly recommended that you do a backup of your system before doing a automatic repair via the tool.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-72675379525580020932008-09-02T09:21:00.001+02:002009-06-20T09:27:41.623+02:00.NET API For BOXI 3.0I have asked SAP support for a definitive date when the .NET <span class="blsp-spelling-error" id="SPELLING_ERROR_0">API</span> will be released for <span class="blsp-spelling-error" id="SPELLING_ERROR_1">BOXI</span> 3.0. The answer I got is that they don't have an exact date, only that the release is scheduled for 08Q3.<br /><br />This is very frustrating as some of our customers have custom developed applications using the .NET <span class="blsp-spelling-error" id="SPELLING_ERROR_2">API</span> for <span class="blsp-spelling-error" id="SPELLING_ERROR_3">BOXI</span> R2. What to do, wait or convert applications to Java?Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-1102363117440417468.post-14588077792151350842008-08-27T08:30:00.005+02:002008-08-27T22:08:21.205+02:00Change Server Settings LiveHighly critical systems that must have the highest availability possible share one problem: when can I do adjustment in the server settings? A change in a setting for a server often requires a restart of that particular service. This type of manoeuvre is often scheduled at night or weekends, once a quarter perhaps.<br /><br /><br />But if you want to change many of the settings in the different servers you can accomplish this without restarting the service. I don't know it this is a technique that is supported from Business Objects. But I can't really see why you couldn't do it this way!<br /><br />Here is how you do it:<br /><br /><strong>One server scenario</strong><br /><br /><ol><li>Create another server with the correct settings.</li><li>Enable and start the new server.</li><li>Disable the old server.</li><li>Wait until no one is connected to the old server.</li><li>Shut the old server down.</li><li>Remove the old server.</li></ol><p><strong>Multiple servers scenario</strong></p><ol><li>Disable one server.</li><li>Wait until no one is connected to the disabled server.</li><li>Shut the disabled server down.</li><li>Change the setting for the stopped server.</li><li>Start the stopped server and enable it.</li><li>Repeat from step 1 with the next server.</li></ol><p>Why is this working? When you disable a server it still operates with the requests it currently working with but it will not accept any new ones. When the server has served all requests and is idle it can be shut down.</p><p>One thing that could be interesting to clarify is how you determine if the server is busy or idle before shutting it down. This depends on which server to shut down. In this example I show how to determine this for Web Intelligence Report Server. For other servers it differs slightly but the base procedure is the same.</p><p>For Web Intelligence Report Server:</p><p>Goto Home > Servers > #SERVERNAME#.Web_IntelligenceReportServer > Tab Metrics. At the bottom of that page there is a value to observe, <em>Current Requests</em>. When this number is zero it is OK to shut the server down.</p><p><a href="http://4.bp.blogspot.com/_LDKro0bYDVk/SLT1f9eiNwI/AAAAAAAAAD0/8T8Np9aau7o/s1600-h/change_settings_live.bmp"><img id="BLOGGER_PHOTO_ID_5239082195966113538" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_LDKro0bYDVk/SLT1f9eiNwI/AAAAAAAAAD0/8T8Np9aau7o/s400/change_settings_live.bmp" border="0" /></a></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-51520682147014209742008-07-10T08:41:00.003+02:002008-11-03T10:35:41.604+01:00BOXIr2 Version Numbers - UpdateI have updated the BusinessObjects Enterprise XI Release 2 version number list again.<br /><br />Check it out here:<br /><a href="http://boinshort.blogspot.com/2007/05/boxir2-version-numbers.html">http://boinshort.blogspot.com/2007/05/boxir2-version-numbers.html</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-85986191911158137432008-06-24T09:12:00.001+02:002008-06-24T09:13:15.449+02:00Product End Of Life DatesHere you can find the end of life dates for your Business Objects products:<br /><br /><a href="http://support.businessobjects.com/programs_and_lifecycle/lifecycle/product_eol_dates.asp">http://support.businessobjects.com/programs_and_lifecycle/lifecycle/product_eol_dates.asp</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-45594310158156067062008-06-09T16:10:00.004+02:002008-06-09T16:14:38.182+02:00Web Intelligence And Tomcat ErrorPlatform:<br />BusinessObjects XI<br /><br />If you receive the error "<span style="font-family:courier new;">Could not get an output file for the document.</span>" with error code <span style="font-family:courier new;">RWI 00134</span> there is a problem with Tomcat.<br /><br /><a href="http://4.bp.blogspot.com/_LDKro0bYDVk/SE06bh2WsRI/AAAAAAAAADs/ioZpsek6X3M/s1600-h/could+not+get+an+output+file+for+the+document.bmp"><img id="BLOGGER_PHOTO_ID_5209884588554760466" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_LDKro0bYDVk/SE06bh2WsRI/AAAAAAAAADs/ioZpsek6X3M/s400/could+not+get+an+output+file+for+the+document.bmp" border="0" /></a><br /><br />The error source are unknown to me but if there are anyone knowing this it would be interesting to learn. As this problem is isolated to Tomcat the problem is only visible in the Java platform. The code <span style="font-family:courier new;">RWI</span> stands for <span style="font-family:courier new;">ReportEngine Web Intelligence</span> which means that the problem is only affecting Web Intelligence reports.<br /><br />The solution is to restart Tomcat.<br /><br />There exist an error description from Business Objects but it doesn't give much information other that it could be a memory related problem:<br /><br /><strong>Cause</strong><br />While serializing a document state, an error occurred. This might be due to insufficient memory or an I/O error.<br /><strong>Action</strong><br />Ensure that there is sufficient memory available. Also, check for any we bi.properties customization.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1102363117440417468.post-30236302572369358702008-04-25T11:43:00.009+02:002008-11-03T10:36:09.301+01:00Desktop Intelligence Permission ProblemPlatform:<br />Desktop Intelligence<br />BusinessObjects XI, XI Release 2<br /><br />A common problem is when you delete a report from the repository and then realises that it was a mistake removing it. Even though you have a local copy of the report you can't open it. This is because BOE is validating the rights against the repository and when the report does not exist there it can't be opened.<br /><br />If you try to open that report in Desktop Intelligence you will get an error stating: <span style="font-family:courier new;">You are not authorized to use this document. (FRM00008)</span>.<br /><br /><a href="http://4.bp.blogspot.com/_LDKro0bYDVk/SBGohksuDVI/AAAAAAAAADU/go3tTtVQAZI/s1600-h/you+are+not+authorized.bmp"><img id="BLOGGER_PHOTO_ID_5193117140075285842" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_LDKro0bYDVk/SBGohksuDVI/AAAAAAAAADU/go3tTtVQAZI/s400/you+are+not+authorized.bmp" border="0" /></a><br /><br />There are a number of possible workarounds for this problem, one being that you create a dummy report in the repository with the same name as the report you just deleted. Then you find out the path and file name through Central Management Console. Browse to the report folder in Input File Repositry Server and delete the file (remember the file name). Add the original report to the same place and change it's name to the same as the deleted file. Now you are able to import it into Desktop Intelligence.<br /><br />This solution doesn't work in all situations and it's not a supported method. Manually deleting files from FRS is NOT a good idea in most cases. With this particual problem there exist a different solution that will solve this.<br /><ol><li>Open Desktop Intelligence - check the <span style="font-family:courier new;">Use in Offline Mode</span> checkbox when logging in.<br /><br /><a href="http://1.bp.blogspot.com/_LDKro0bYDVk/SBGoh0suDXI/AAAAAAAAADk/T2FyeGLmN8I/s1600-h/Desktop+Intelligence+Login.bmp"><img id="BLOGGER_PHOTO_ID_5193117144370253170" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_LDKro0bYDVk/SBGoh0suDXI/AAAAAAAAADk/T2FyeGLmN8I/s400/Desktop+Intelligence+Login.bmp" border="0" /></a><br /></li><li><pic>Open the report.</li><li>Save your report - check the <span style="font-family:courier new;">Save for all users</span> checkbox.<br /><pic><br /><a href="http://1.bp.blogspot.com/_LDKro0bYDVk/SBGoh0suDWI/AAAAAAAAADc/FAP3b1IPbfw/s1600-h/Desktop+Intelligence+Save+As.bmp"><img id="BLOGGER_PHOTO_ID_5193117144370253154" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_LDKro0bYDVk/SBGoh0suDWI/AAAAAAAAADc/FAP3b1IPbfw/s400/Desktop+Intelligence+Save+As.bmp" border="0" /></a><br /></li><li>Close Desktop Intelligence.</li><li>Open Desktop Intelligence - login to your repository, not in offline mode.</li><li>It should now be possible to open the report and publish it to the repository.</li></ol><p>And, yes, a backup is also one way out of this...</p>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-1102363117440417468.post-57400452337239288832008-04-23T11:40:00.005+02:002008-04-23T11:54:58.902+02:00Tracing in BusinessObjectsPlatform:<br />Windows<br />BusinessObjects XI, XI Release 2<br />Crystal Enterprise 8.5, 9, 10<br /><br />Tracing to log files on the server is an effective method to get more information for a possible problem. All server trace files are located in the logging folder, for BusinessObjects XIR2 the path is <span style="font-family:courier new;">\Business Objects\BusinessObjects Enterprise 11.5\Logging\</span>. For Crystal Enterprise the path is a bit different.<br /><br />Default there are some tracing going on in the log folder but you can enable extended logging for every BusinessObjects server installed.<br /><br />To enable tracing for a server, follow these steps:<br /><br /><ol><li>Open Central Configuration Manager (CCM).</li><li>Choose the server you want to trace and stop that service.</li><li>Open properties for the service.</li><li>Add <span style="font-family:courier new;">-trace</span> as a parameter switch to the command line.</li><li>Start the service.</li><li>A new trace file with the same name as the server EXE is now located in the logging folder.</li></ol><p>Business Objects KBase article for Unix trace instructions:<br /><a href="http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=c2016966&sliceId=&dialogID=20798617&stateId=1%200%2020800000">http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=c2016966&sliceId=&dialogID=20798617&stateId=1%200%2020800000</a></p><p>But wait! There is more!</p><p>There is another way to get even more trace information from the Desktop Intelligence and Web Intelligence servers. This is only valid for BusinessObjects XI and XIR2 platforms. The extra logging creates a number of XML files with extensive information about the context of the report that is being run. These files are placed in a folder specified in a INI file.</p><p>This is what you have to do:</p><ol><li>Create three environment variables (the path can be different):<br /><span style="font-family:courier new;">BO_TRACE_CONFIGDIR = C:\Temp<br />BO_TRACE_CONFIGFILE = C:\Temp\BO_Trace.ini<br />BO_TRACE_LOGDIR = C:\Temp</span></li><li>Create the INI file specified above with the following content:<br /><span style="font-family:courier new;">active = true;<br />importance = xs;<br />size = 1000000;<br />keep = true;</span></li><li>Restart the servers.</li></ol><p>After you run a report there will be a number of trace files in a subfolder in the folder specified in <span style="font-family:courier new;">BO_TRACE_LOGDIR</span>. I double checked on Business Objects site about this last tracing setup, and it should work for both Web Intelligence and Desktop Intelligence. I never got it to work for Desktop Intelligence though, neither for Job or Report Server.</p><p><strong>IMPORTANT:</strong> Remember to remove all tracing when debugging is done. All trace activities to log files requires extra resources from the server.</p>Unknownnoreply@blogger.com3