Skip to Content

BusinessObjects and SAP – Publishing of Crystal Reports Part 1 of 3

In case you followed my blog series so far you should be in a situation where you have a running BusinessObjects Edge system with Crystal Reports, Xcelsius, Live Office and the SAP Integration Kit installed and you are able to logon to BusinessObjects Edge with your SAP credentials.

In the next step we will configure the publishing of a Crystal Reports where we first will save the report into the BI repository and then push it from the BI environment to the BusinessObjects Edge server.

 

In the last blog we did install all the required software so that we can no configure the BusinessObjects server to allow SAP accounts and SAP roles to leverage the software.

 

This image outlines the publishing process:

 

 

  • Step #1 :When a user attempts to publish one or more Crystal reports, BW looks for a Remote Function Call (RFC) destination (of type TCP/IP) that is configured to connect to this BW Publisher. The TCP/IP destination provides SAP BW with the name and port number of the SAP Gateway that the BW Publisher is registered with.

 

  • Step #2: SAP BW then communicates over TCP/IP with the BW Publisher Service, and sends the following information across the network:
    • The appropriate Crystal report file(s), with any required translated report strings.
    • A publishing command, if you are not using a local SAP Gateway.
    • The name of the appropriate Central Management Server (CMS).

     

 

  • Step #3: The BW Publisher Service responds by executing the publishing command, thereby invoking the BW Publisher. The BW Publisher logs onto the specified CMS as the user, and checks to see if the user has the appropriate permissions in BusinessObjects Enterprise to publish reports. If the user’s rights are sufficient, the CMS allows the reports to be added to the system.

 

When publishing a report from Crystal Reports the report is published with the language from the SAP Logon as “master-language”. Master-language in this case means that the string values from this report are stored in SAP translation tables with the configured language set as source language for the translation process.

  

 

Configuring the BW Publish service

As part of the installation of the SAP Integration Kit we did select to install the BW Publishing service. You can start the BW Publishing service via the Central Configuration Manager from BusinessObjects Edge.

 

The configuration of the service is done via the registry.

The path in the registry is:

HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12.0SAPBW Publisher Service

 

 

There are three values that you can configure

 

 

 

 

 

 

 

Program ID

 

 

Type a descriptive string to identify the BW Publisher   service. The Program ID can take any value, but must be 64 characters or   fewer, and may not contain spaces. The Program ID is case-sensitive.

 

 

Gateway Host

 

 

Type the name of your BW server. If you have a BW cluster,   enter the name of the central instance of BW.

 

 

Gateway Service

 

 

Type the port number that the Gateway Host is listening   on. For example, type 33##, where ## represents the instance number of your   SAP Gateway. Usually, the instance number is 00, and the value for this field   is 3300.
 
 

 

 

After you entered those items in the registry you should be able to start the Publishing service and the service should keep running.

In my case I entered the following:

Program ID : VMW010_PUBLISH

Gateway Host : vanpgsap05.sap.crystald.net (which is my SAP BI Application Server)

Gateway Service : 3300

 

In case you entered everything correct you should be able to start the BW Publishing Service and it should keep running.

 

The publishing can also be configured using a SAP Gateway as an alternative for the Publishing Service.

 

    

Creating an RFC destination

As next step we need to create a RFC Destination in transaction SM59 and configure it to leverage the BW Publishing service.

You logon to the SAP BI System and start transaction SM59

I select the option “Create”

 

… and provide a name for the RFC Destination. As Connection Type I select TCP/IP (T) and enter an description as well.

 

 

As Application Type I select “Registered Server Program” and enter the Program ID that I configured previously for my BW Publishing Service as the Program here. Important – this is case sensitive.

I also enter the Gateway options:

o  Gateway host
Type the name of your BW server. If you have a BW cluster, enter the name of the central instance of BW. You must use the same BW server name here that you specified when you configured the BW Publisher service.

o  Gateway service
Type the port number that the Gateway host is listening on. For example, type sapgw##, where ## represents the instance number of your SAP Gateway. Often, the instance number is 00, and the value for this field is sapgw00.

 

In my case I configured the destination as follows:

 

As final step I test my connection.

 

 

Create a BusinessObjects Enterprise server definition

So we created now the BW Publishing Service and the RFC Destination. In the next step we need to put the pieces together and define a definition of the BusinessObjects server in the transaction /CRYSTAL/RPTADMIN (part of the ABAP Transport from the Installation)

I start the transaction /CRYSTAL/RPTADMIN(Content Administration Workbench).

 

… and can use the “Add new System” icon in the Folder Enterprise System to create a new definition.

 

On the first tab “System” I can enter an Alias name for my system and I need to enter the CMS name (fully qualified) with port (in case you not using the default port).

The option “Default system” allows you to configure on BusinessObjects server landscape as the Default system for BI Roles that have not been assigned to a specific system.

 

On the “RFC Destinations” tab I now need to add the RFC destination that I did create in transaction SM59 previously.

 

On the tab “HTTP” I need to provide the following details:

o  Protocol
Type http (unless the web server that is connected to BusinessObjects Enterprise is configured to use https).

o  Web server host and port
Type the fully qualified domain name or the IP address of the web server that hosts your BusinessObjects Enterprise InfoView or custom web application.

o  Path
This path is essentially the virtual path that your web server uses when referring to the SAP subfolder of your BusinessObjects Enterprise web content (or the path to any customer web application). Do not include a forward slash at the beginning or at the end of this entry.

o  Viewer application
Type the name of the viewer application.

 

On the tab “Languages” you can select the list of languages that will be leveraged for Crystal Reports. The system will take all string informations from the Crystal Reports and the text can be translated to those languages selected here and then there will be one report per language created automatically on the BusinessObjects Edge server.

 

On the Roles tab you need to select the list of roles that will publish the Crystal Report related content from their roles to the configured BusinessObjects Edge server. Based on this you can see that you could have on BI system pushing content to multiple BusinessObjects Edge system (example : one system separately for HR, one system for the rest).

On the “Layout” Tab you can define the base folder for the publishing and the security levels that you want to assign. These security settings will then be used as default settings in BusinessObjects Edge.

 

In regards to the folder structure the following explains how SAP Roles and Crystal Report objects in the SAP Roles are being created in the BusinessObjects Edge server.

 

 

 

When publishing, the top-level folder “SAP” and the folder underneath “3.0” (naming depends on the configuration in the Content Administration Workbench and the SAP Authentication in the Central Management Console) are created automatically.

Underneath the folder structure is created based on the values retrieved from SAP BW during the publishing process:

  • The Folder “SID” is replaced with the logical system name consisting of the SAP System ID and the SAP Client Number (for example, R37CLNT800).
  • The role folder is created based on the technical name and description of the role that has been used to store the Crystal Report object on the SAP BW system.
  • The report itself is saved to the actual role folder.
  • For each language the report is made available in, one report object is created.

     

 

For example, the following structure will appear on the BusinessObjects Enterprise system assuming the following values:

  • SAP system ID : R37
  • SAP client number : 800
  • SAP BW role name : Business Objects Training Role
  • Used languages : English, German (DE), and simplified Chinese (ZH)

     

 

We will continue in Part 2 with theconfiguration in the Content Administration Workbench and in Part 3 with the necessary security configurations.

 

For those that missed the installation parts, here are the links to the blogs:

BusinessObjects and SAP – Installation and Configuration Part 1 of 4

BusinessObjects and SAP – Installation and Configuration Part 2 of 4

BusinessObjects and SAP – Installation and Configuration Part 3 of 4

BusinessObjects and SAP – Installation and Configuration Part 4 of 4

BusinessObjects and SAP – Configure SAP Authentication

21 Comments
You must be Logged on to comment or reply to a post.
  • Hello Ingo,
    first of all, I would like to thank you for doing this Blog – it’s really helpful!

    Now my question(s):

    I am using CR2008 with SAP BW.
    I want to know if I can use the SAP BW Repository for my CR-Reports. If so, how?

    How does the technical side work?
    Which possibilities do i have for the scheduling?
    Can I use the Broadcaster? or do I need a special server?

    Thanks in advance!

    Kind regards,
    Andreas

  • Hello Ingo,

    We are using XI 3.0 along with BI 7.0.

    We transport Cyrstal Reports (CRWB objects within SAP BI transport) using standard SAP transport system from DEV to QA to Prod.

    While transporting we noticed during the Post import process of the Crystal reports to the QA SAP BI system the function module RSCR_CE_PUBLISH_REPORT is called which uses the RFC destination “CRYSTAL_PUBLISHER”, this is hard coded within the Func module code. Looks like the transport is failing because it could not find the RFC destination on BI.

    My question is in addition to the RFC mentioned within your blog do we need to create CRYSTAL_PUBLISHER RFC dest also?

    Thanks!

    -Deepu

    • Hi,
      you shouldn’t have to do that. You should be able to transport the reports and then use the Content Adminsitration workbench to publish the reports (transaction /CRYSTAL/RPTADMIN)

      Ingo

      • Ingo,

        But the transport fails because this destination does not exist and the destination name is hardcoded within the SAP BI Func Module RSCR_CE_PUBLISH_REPORT. Is this a bug in the system? We are on BI 7.0 SP 16.

        The documentation also suggested “Do not use the name CRYSTAL_PUBLISHER unless you do not have
        the Content Administration Workbench.”

        Any insights you can provide will be helpful!

        Thanks.

        -Deepu

      • Yes, we have the Content Administration transport and access to tcode /CRYSTAL/RPTADMIN.

        Our issue is getting the objects in to the system before we can publish them to Crystal. The transport fails because of the RFC issue.

  • Hello Ingo,

    thank you very much for your exiting blogs – they’ve always helped me quite a bit. Hopefully you can also help with the following question.

    Your blog describes how to setup the BW publisher service on windows server using the registry. Unfortnuately we’ve installed BOE XI 3.1 on SuSe Linux. Could you please tell me, where I can set up the publisher on LINUX. During the installation process I was not asked to enter any data regarding the publisher service – this is a big difference between installation on windows and Linux.

    Thanks in advance for your help.

    Regards, Marc.

    • Hi Marc,

      you can find the details in the installation guide for the SAP Integration Kit as well.

      ——
      Run the following script to start a publisher instance:
      businessobjects/bwcepub.sh num -aPROGID -gGWHOST -xGWSERVICE
      where:

      • businessobjects is the root Business Objects directory where you
      installed BusinessObjects Enterprise and BusinessObjects XI
      Integration for SAP Solutions.

      • num is the number of publisher instances to start.

      • PROGID is the Program ID of the RFC Destination for the BW Publisher. The Program ID is
      case-sensitive.

      • GWHOST is the name of your Gateway Host.
      • GWSERVICE is the port number of the Gateway Service.
      ————————

      ingo

  • Hello Ingo,

    Thanks once again for the wonderful post.

    In this post, I am stuck right after the first step: I have installed the BO IK along with the Publisher(Instead of BO Edge, I am using BO XI 3.0) but I am unable to see it.

    In this case, I presume Publisher would be visible in Central Management Console, right ? Do I have to look under any specific sub heading ?

    Any suggestions as to why it is not working out ?

    Then I would go forward with the Registry and RFC steps.

    Thanks once again.

    Supriya.

    P.S: My last problem was resolved through a re-installation of  SAP GUI.

    • Hi Supriya,

      the BW Publisher Service is a service available in The Central Configuration Manager. The service is not available in the CMC (Central Management Console).

      See the part “Configuring the BW Publish service” of this blog.

      Ingo

      • Thanks Ingo.

        Yep, I am missing Documentation and The Central Configuration Manager.

        Here starts another round of failure analysis (-:.

        Thanks once again,

        Supriya

    • working on it. You can get a lot of information already from the installation guide for the SAP Integration Kit and there are several forum entries around this as well in the BusinessObjects SAP Integration Kit forum

      regards
      Ingo

  • Hi Ingo,

    first of thanks for the blog, it really helps !
    However now we are stuck: we have one BO server for dev/qa and would like to connect it to both BW dev and BW Q. The problem we face is that how can we configure BW publisher to work with both servers ?
    Currently we cannot transport Crystals from BW dev to BW Q and have them published to BO automatically.

    thanks
    Tamas

    • Hi,
      BW Publisher can only point to a single BW server. if you want to have multiple BW systems you either need to have multiple Publishing Services or use a SAP Gateway.

      regards
      Ingo Hilgefort

  • Thank you very much for this informative blog.  We followed your step-by-step instructions but we receive the following error when we try to publish a report from our BW system to Business Objects:
    Unable to commit the changes to Enterprise. Reason: Report object does not have an associated .rpt file

    We are running Business Objects on HPUX.  Are there any logs we can look at to determine the source of the problem?

    Thanks,
    Joe

    • Hi Joseph,
      I would suggest you post you problem into the forum for the SAP Integration Kit and I am sure we will be able to help

      regards
      Ingo Hilgefort

  • Hi Ingo,

    I am trying to implement this using BusinessObjects 4.0 SP02 and ECC 6.0 EhP6.

    The two products are installed on different virtual machines without a firewall between them.

    The BW publishing service has the program ID defined as BW_PUBLISHING.  The gateway host is defined using the ECC 6.0 hostname.  And the gateway service is sapgw00.  The service can be started succesfully.

    When I created the TCP/IP RFC connection in the ECC system, I made sure that I have the “Registered Server Program” selected.  The program ID is identical to the program ID that I defined for the BW publishing service.  The gateway host and the gateway service are also identical to what I have for the BW publishing service.

    When I perform the connection test, I have the error saying “ERROR: program BW_PUBLISHING not registered”.

    I am wondering if I am missing anything crucial here.

    Thanks in advance.

    Regards,

    Verono

    • Hello Verono,

      the publishing integration with Crystal Reports is available for the integration with SAP NetWeaver BW and not for the integration with SAP ERP.

      You mentioning in the beginning that you are running ECC6 – so that integration is not there for ECC 6

      regards

      Ingo Hilgefort

      • Hi Ingo,

        I’m trying to implement the embedded analytics on the ECC6 EhP6.  Does it mean the publishing integration with Crystal Reports should be available?

        Regards,

        Verono