Showing posts with label BOE XI. Show all posts
Showing posts with label BOE XI. Show all posts

Thursday, January 22, 2009

Authentication And Scheduling Problems

We have had strange issues in BusinessObjects Enterprise XI R2 and 3.0 where;

  1. Log in with AD Authentication stops working. A timeout occurs after a while. Users without AD aliases can log on without any problems.
  2. When scheduling reports the report job gets stuck in status Pending.

These two issues started at the same time but we interpreted them as separate issues. That was a wrong assumption.

After a lot of investigation and testing we isolated the problem to the BOE DB repository. The problem was due to changes in the availability of one of the AD groups that was registered under AD Authentication in CMC/Authentication. The same problem would occur if a NT group would be removed or made unavailable.

The solution for this problem was to remove the group that caused the system to hang. After that, it all worked again.

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!

Why does the scheduling stop working if there are verification problems against a domain? Well, when the CMS 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.

Does anyone else had similar issues?

Wednesday, January 7, 2009

Update Objects

When 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).



What does this step exactly do? Well, difficult to say, but what I know through documentation
and SAP Support is this:

  • Adds properties to the objects in the CMS that the new BOE version requires.
  • Updates the internal representation of the CMS if that has changed in the new BOE version.
  • All the pointers to reports will be created. If any pointers are corrupted they will be
    restored.
  • All server objects will be recreated and the communication is restored between servers.- The activity Universe will be loaded in the repository.
  • Updates the sample reports and Universes.

Have I missed something?

Wednesday, December 3, 2008

Platform Language In BusinessObjects Enterprise

This 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.



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
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.

  1. Change the Regional Options of the server OS to the language you want in the BOE platform.- Create a new CMS database.
  2. Migrate the old CMS database to the new one.
  3. Change the regional settings of the server back to the original language.
  4. Re point BOE to the new CMS database.

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.

Friday, November 7, 2008

Data Source Configuration In Crystal Reports

Here is a tip on how to troubleshoot an error in a Crystal Reports report when using files like Excel and Access.

The error that you get when trying to view the report in InfoView is Error: The database logon information for this report is either incomplete or incorrect.



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 //server/) or as an name of an DSN that exist on the server.

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.

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;

  • Scenario 1: The DSN exist on the BOE server with the same name and everything works!
  • 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!

But for the case with a data source file path it doesn't work.

Perhaps elementary for some but not for me. Why doesn't this work? It could work if you wanted to...

Monday, November 3, 2008

Assert Failure

We 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.

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.

I also asked if there was some way to turn that logging off and the answer was No.

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 http://en.wikipedia.org/wiki/Assertion_(computing).

Here are some examples of assert failures that we experienced in one of our BOXI 3.0 environments.

[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).

[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).

[Mon Oct 27 10:00:42 2008] 9288 9724 assert failure: (.\sessionmgr.cpp:271). (beforeAuthen != serverAuthen && afterAuthen == serverAuthen : no message).

[Thu Oct 02 14:41:43 2008] 7228 1864 assert failure: (.\secssoplugin_impl.cpp:62). (0 : UnInitializePlugin() -- Unexpected Exception!).

[Thu Oct 02 14:41:43 2008] 7228 1864 assert failure: (.\secssoplugin_impl.cpp:62). (0 : UnInitializePlugin() -- Unexpected Exception!).

[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.).

[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.).

[Wed Oct 01 10:47:51 2008] 7028 6824 assert failure: (.\ScheduleObject.cpp:199). (0 : no message).

[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].).

[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\wireob.cpp:749). (state == foundFlag : no message).

[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\wireob.cpp:775). (false : Error: Wrong number of parameters in URL ).

[Wed Oct 01 20:00:12 2008] 8072 6944 assert failure: (.\infosessionmgr.cpp:913). (false : Couldn't get token).

[Fri Oct 24 08:27:55 2008] 8668 8504 assert failure: (.\DocumentConnectionRepository_common.cpp:78). (0 :
ReportSourceRepositoryCommon::getServerDisabled(): m_varSvrFactory is NULL).

Friday, April 25, 2008

Desktop Intelligence Permission Problem

Platform:
Desktop Intelligence
BusinessObjects XI, XI Release 2

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.

If you try to open that report in Desktop Intelligence you will get an error stating: You are not authorized to use this document. (FRM00008).



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.

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.

  1. Open Desktop Intelligence - check the Use in Offline Mode checkbox when logging in.


  2. Open the report.
  3. Save your report - check the Save for all users checkbox.


  4. Close Desktop Intelligence.
  5. Open Desktop Intelligence - login to your repository, not in offline mode.
  6. It should now be possible to open the report and publish it to the repository.

And, yes, a backup is also one way out of this...

Saturday, March 29, 2008

Report Destinations

In BusinessObjects Enterprise there are a number of alternatives to choose from if you want to place the report/report instance somewhere else than in your available folders in InfoView.

There are two ways to handle report objects from InfoView:

  1. Use the Send button in the toolbar. This option allows you to send a report/report instance.

    To use this function you select one report object and then you select one of the four options in the drop down of the Send button:
    To BusinessObjects Inbox This option sends the report object to a user Inbox inside BusinessObjects.
    To Email This option sends the report object to a email adress outside BusinessObjects.
    To FTP Location This option transfer the report object via FTP to a destionation server.
    To File Location This option saves the report object to disk.

  2. Schedule a report object. This option allows you to send a report instance.

    When you schedule a report you can choose a destination for your report instance. There are five different destinations to choose from:
    Enterprise location
    Inbox
    File location
    FTP server
    Email recipients
    Destination Enterprise location saves the finished report instance to Output File Repository Server (FRS) in BusinessObjects Enterprise. Destination Inbox, File location, FTP server and Email recipients have one Default option and one Specific option. The Default option of each destination copies the report instance to the default location specified in the respective Job Server and in the Enterprise location. The Specific option of each destination copies the report instance to a location specified by the user and in the Enterprise location.

To get all of this to work there are four destination plugins that has to be configured for each Job Server.

In the picture above two destinations are enabled and two are disabled.
If a user gets a error message that reads something like "Error Message: destination DLL disabled. CrystalEnterprise.DiskUnmanaged:" or something like "The destination plugin required for this action is disabled. If you require this functionality, please contact your system administrator." it probably means that the destination is not enabled for that Job Server.
To enable the destination you have to find out which report type (i.e. Job Server) and which destination the user tried to use. Logon to CMC and navigate Home -> Servers -> SERVER_NAME.JOB_SERVER -> Destinations tab. Mark the checkbox for the destination you want to enable and press button Enable. Select the same destination and configure it. Done.

Here are the different Job Servers available and which report type that uses them:
Web Intelligence: SERVER_NAME.Web_IntelligenceJobServer
Desktop Intelligence: SERVER_NAME.Desktop_IntelligenceJobServer
Crystal Reports: SERVER_NAME.reportjobserver
Send button in InfoView: SERVER_NAME.destinationjobserver
If you change settings in destinationjobserver you must restart that service for changes to take effect.

Which Job Server to configure and when to do it is not that complicated but it is alot of confusion about this from various sources. This KBase Article (ID 8010998) from Business Objects for example is wrong and confusing:
http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=8010998&sliceId=&dialogID=19218054&stateId=1%200%2019214535

Sunday, October 21, 2007

E-mail report hyperlink

When you create a scheduled report and you want to e-mail the hyperlink of the report in BOE you can configure this in the schedule settings. You include the Viewer Hyperlink by selecting that option in the drop down below the Message box. This selection adds %SI_VIEWER_URL% to the message field which later translates to a valid URL to that report using the openDocument method.



The resulting URL in the e-mail could look something like this (ASP platform):

http://xyz/businessobjects/enterprise115/infoview/scripts/openDocument.aspx?sIDType=CUID&iDocID=BUXpQ_n_fITEsTtHIPe_oXY

The %SI_VIEWER_URL% adds the URL that was specified in CMC->Objects->Object Settings...->Processing Settings->Default viewer URL and translates it to the hyperlink above.

But what if you manually wanted to specify the URL without changing it in the Object Settings? It's easy and it's possible. Just type the URL manually specifying the JSP or ASP path and the openDocument part. Based on settings above (CR document) you would type

'http://xyz/businessobjects/enterprise115/infoview/scripts/openDocument.aspx?sIDType=CUID&iDocID=%SI_CUID%'

in the Message field. The %SI_CUID% adds the unique object id of that document.

If you want to explore the openDocument parameters in detail, look at this document. It describes both the ASP and JSP version of the openDocument syntax.

Friday, October 19, 2007

SMTP Error

Scheduled reports with e-mail sending functionality fail with the error message specified below:

write error. CrystalEnterprise.Smtp: SMTP_E_EXCEEDED_STORAGE(552)

The error is not due to BOE. The error message (SMTP_E_EXCEEDED_STORAGE) is a standard SMTP error, in this case it's because the attachment hit the mail size limit. This limit is configured in the SMTP Service on the SMTP server.

Here is how to find the size limit of the SMTP server:

  1. Check which e-mail server you are using (CMC: Home > Servers > #SERVERNAME#.reportjobserver > Email (SMTP) Destination).
  2. Open a cmd.exe and type 'telnet <#SERVERNAME#> 25'.
  3. If you have entered the right server name you are now connected.
  4. Type 'EHLO'.
  5. Look at the SIZE value in the response from the server. In the example below the size has been set to ~8 MB.


Tuesday, July 31, 2007

Error starting CMS Service

If the CMS service won't start and there are one or both of the following error messages in the Event Viewer, it's most likely that you have a firewall somewhere that is blocking your traffic.

1) BusinessObjects_CMS: The root server reported an error Initialization Failure.
2) BusinessObjects_CMS: Failed to connect to name server XXXXXXX. Reason: Transport error: unable to retrieve the CMS factory.

The solution is to adjust the firewall settings.

Friday, July 27, 2007

More on patches

There are discussions about the frequency of Fix Packs and Critical Hot Fixes. In a short period of time there have been 3 FPs released. Is the product filled with bugs?

Let’s take it from the top.
MHFs are supposed to be released once a month or so. That has not been the case recently. There is only one MHF (MHF1) available, and that patch was released in September 2006. That is almost a year ago.
CHFs and FPs are supposed to be released every week. They are replacements for Weekly Hot Fixes that existed earlier. These patches have not been released every week but almost every month.
Is CHFs/FPs replacing MHFs? The answer is no. There is no information from Business Objects stating that this system has changed. Read my previous posts about patches for more information.

If you look at the patches and compare them with SPs you will see that it's not that many CHFs/FPs that has not been included in any SP.

I did a little study of my own (with reservation of my accuracy!).
We begin with CHFs. CHF13 to CHF16 are included in SP2. That leaves us with CHF17 and CHF18. Two CHFs are not that much.
If we look at FPs I did a comparison of the ADAPT numbers in CHFs and ADAPT numbers in FPs and it shows that FP2.1 and FP2.2 is pretty much a CHF17 and CHF18 but for the SP2 environment. If we look at numbers there were 16 ADAPTs in CHF17 and CHF18 that were not included in any of the FPs. And in reverse there were 159 ADAPTs in FP2.1, FP2.2 and FP2.3 that I didn't find in CHF17 or CHF18. Most of the 159 differences where found in FP2.3 which could mean that it solves issues isolated in the SP2 environment (e.g. new features in Productivity Pack). There may also be a CHF19 soon that corresponds fairly against FP2.3.

The patching system that Business Objects is using is not that different from other software vendors. The other companies may have different terms for their patch packages but the system is almost the same. It's very common that you only see the SPs and not any fixes/patches/updates on those companies web sites. But if you have an issue and call their support you will discover that hot fixes exist very much indeed.

I will leave the answer to the question I asked earlier in the post open... Perhaps someone else has a comment on this?

Thursday, July 26, 2007

Patches Explained

UPDATED: 24 march 2008

I have tried to compile a complete, but short, description of all different patch levels and dependencies that exist between them.

This post is only referring to BOXIr2 on the Windows platform and of the updates that where available as of march 2008. Patches for the Unix platform differs slightly. See Fig. 1 below for a complete flowchart of available paths.



Fig. 1


This is a maintenance update which has gone through a full test before release.

SPs could, and probably should, be installed in every environment. Read the Release Notes carefully.

SP2 includes MHF1 and CHF13, CHF14, CHF15 and CHF16. Note: SPs, beginning from SP2, will be cumulative with one exception: none of the cumulative SPs will include SP1. SP1 must always be installed first!

Installation of SPs on top of a CHF will overwrite some fixes solved in the CHF.


This is a maintenance update which has gone through a full test before release.

MHFs could, and probably should, be installed in every environment. Read the Release Notes carefully.

MHF1 requires SP1 to be installed first.


This update has had a limited amount of testing before release.

CHF/FP should ONLY be installed into a production environment if you have an issue that is only solved by applying the fix.

All CHF requires MHF1 to be installed first. CHF can only be installed on top of SP1; it’s not intended for higher SP environments.
All FP have a number prefix that says which SP it belongs to, e.g. FP 2.1 can only be installed on top of SP2 and FP 3.2 can only be installed on top of SP3. FP can only be installed on top of SP2 or higher; it’s not intended for SP1 environments.

You can install one or many of the CHF/FP independently of each other.