Pointing a Crystal Report at a Different Universe

We have a Crystal Report which sources its data from a universe.  Is there a way (using the SDK) to point the
Crystal Report at a different but functionally equivalent universe?  My current strategy is to get the table objects
in the top level report and subreports, and replace their ConnectionInfo objects.  This seems to work fine, but
when I save the report out to Enterprise I'm not seeing my changes reflected in the resulting report.  Is there a
better way to go about this?
Thanks in advance!
-m 
            foreach (ISCRTable t in reportClientDocument.Database.Tables)
                t.ConnectionInfo = newConnectionInfo;
            // replace the connections in the subreports
            foreach (string subreportName in reportClientDocument.SubreportController.GetSubreportNames())
                SubreportClientDocument scd = reportClientDocument.SubreportController.GetSubreport(subreportName);              
                foreach (ISCRTable st in scd.DatabaseController.Database.Tables)
                    Console.WriteLine("Subreport Table Name: " + st.Name);
                    st.ConnectionInfo = newConnectionInfo;
            Object folderId = (Object)1234;
            reportClientDocument.SaveAs(
                "TEST",
                ref folderId,
                (int)CdReportClientDocumentSaveAsOptionsEnum.cdReportClientDocumentSaveAsOverwriteExisting

No way currently using the SDK.
You need to go through the Crystal Reports Designer, that has the internal magic.
Sincerely,
Ted Ueda

Similar Messages

  • One Crystal Report portable to different databases (same database design)

    Good day,
    I apologize first off, as I am NOT a programmer, just a user.
    In summary:
    Crystal Report for data from Sql database.
    Currently using ODBC connection and linking to database.
    However, we have multiple databases, all with the same table structure etc, just different data.
    Right now we change the datasource for each database.
    The crystal report is run from an in house program
    Is there a way we can have the report set so that it will pull the datasource at runtime, and not be hard coded into the crystal report.
    Our goal is to take the one report and have our users of each database be able to access their own data without creating multiple copies of the report with each dataset.
    Thanks,
    RY

    Hi Ryan,
    As per my understanding you have multiple databases with the same database schema however with the different data. You would like to create reports where the user should be able to select which database to use and this should not be hard coded.
    In this case you can use the Business View wherein you have the feature of Dynamic data connection which basically is a pointer to different Data Connections
    A Dynamic Data Connection is a collection of pointers to various Data Connections. An administrator or user is able to select which Data Connection to use through a parameter.
    When users refresh reports that are based on a Dynamic Data Connection, they are prompted to specify which of the available Data Connections to use.
    Note that each of the data sources that a Dynamic Data Connection points to must have similar schemas
    When a Business View designer creates a Data Foundation that is based on a Dynamic Data Connection, this user is prompted to specify which Data Connection to use. Similarly, when a user refreshes a report based on a Dynamic Data Connection, that user is prompted to specify which Data Connection to use. In the usage scenario, you would create one Dynamic Data Connection composed of the three ORACLE sales databases: Sales Development, Sales Testing, and Sales Production. A typical name for such a Dynamic Data Connection would be Dynamic Sales.
    I hope this information helps you and let me know if this works for you.
    Regards,
    Prashant

  • Generated Crystal Report PDFs are different on Windows server

    Post Author: present
    CA Forum: .NET
    Hi,
    I created Crystal Report template (with two columns on one
    page) inside VS 2005 on my Windows XP Professional machine.
    But there are formating problems on both XP and Windows
    Server machines:
    1) On Windows XP machine, I have to overlap the two columns
    on the page inside VS 2005 editor in order to generate
    correct PDF file (without overlap). How to fix the the
    overlapping problem in editor?
    2) On Windows 2003 server: After I put the template on
    Windows 2003 server that has no VS 2005 installed (only
    CRRedist2005_x86.msi was installed), the generated PDF has
    different font size and layout (such as page size, column
    overlap, etc).
    Do I have to install VS 2005 on server too? It is really
    frustrating that I have to print document generated on the
    server before I know if the template works fine or not.
    Any help is highly appreciated!

    Typically when you are seeing page formatting issues on different machines, it could be because of printer drivers (or lack of).  The reporting engine relies on the printer driver configured on the machine to provide information so that a page can be properly rendered.  If you designed the report on your dev machine which is using PrinterA and then deploy to another machine using PrinterB, the formatting could be off.  So make sure that the exact same printer driver is being used on these machines.  If your deployments are expected to go to different machines where you don't know what printer will be installed, then you will need to design the report such that it can be rendered as best as possible.  Another option is to check the "No Printer" option and this should render the report the same on any machine with any printer, but then you'll need to make sure you handle any scenarios where the user wants to print to the printer.
    If this is an ASP.NET application then permissions could play a part if the printer drivers cannot be accessed.  There are whitepapers on the BOBJ support site that have information on to configure CR to print reports in ASP.NET apps.
    -MJ

  • Error creating Crystal Report using Stored Proc Universe

    Hi,
    I have created a stored procedure Universe, using the new feature available in XI R3.
    This connects to an Oracle database, executing a PL/SQL procedure returning ref cursor.
    I have created a WebI report using this Universe, which works fine and functions as expected.
    So there are no problems with either my Oracle stored proc or the Universe.
    However, I would like to create a Crystal report (2008) using the same Universe.
    I can create the report ok - using the SP Universe.
    When I attempt to refresh the data I get an error:
    Failed to retrieve data from the database.
    Details: ORA-06550: line 1, column 7:
    PLS-00103: Encountered the symbol "." when expecting one of the following:
    begin case declare etc etc
    .................................My Procedure ...................
    CREATE OR REPLACE PROCEDURE BIADM.Bo_Test_Report_R
    (Deposit_Cursor IN OUT SYS_REFCURSOR)
    IS
    BEGIN
    OPEN Deposit_Cursor FOR
    SELECT DISTINCT foracid "A/C"
    , acct_name "A/C Name", acct_opn_date "OP/Date", schm_code "SchmCode"
    FROM gam@finrpt
    WHERE acct_cls_flg ='N'
    AND foracid ='2252020145001';
    --AND cust_id ='CB2020145'
    END Bo_Test_Report_R;
    Please Give me solution as early as possible.
    Masud Iqubal

    Moved to Universe Design forum.

  • Crystal Reports 2008 with Database / Universes (BOE 3.1 SP2) Questions

    Hello
    I have a few questions related to options that i can use when i connect to a database like sql server or oracle and i cannot use these options when i connect the report from a universe.
    1) When building a Crystal report that connects to the database through a universe i cant change the option Optional Prompt from False to True this option is disabled. This does not happen when the report is constructed by connecting directly to the database, this functionality is useful when you have multiple parameters in one report.
    2) For cases of reports with multiple parameters (where you can choose more of a list available), under the scenario of the bd direct connection is possible to configure the Crystal Available Values list shows dimensions that have at least some value in Fact Table, through the choice of parameter settings, where you can indicate where you take the value and description separately.Under the scenario universe connection these options are disabled because they are based on the query of the universe, there is an alternative perhaps from the universe to achieve this behavior in Crystal?
    Thanks

    Moved to Universe Designer Forum

  • Crystal reports 2008 connection to universe

    Hi ,
    I am trying to create Crystal Reports using universe as a data source. I am able to logon BOE, select universe and then select the objects that I need to build a query. As soon as I click OK button I am getting "Logon Failed".
    If i use SAP BW MDX Query as the connection it works fine.
    i am able to run a webi report based on the same universe.
    we are using BO XI 3.1 sp2
    thanks

    Hi BO-Experts,
    I have exactly the same problem. However, it seems to be unrelated to the authorizations. The connection works perfectly with one of the sample universes (efashion) which has exactly the same authorizations:
    administrator and universe designer-user have full rights, all has no rights
    I am a comlete novice in BO and very grateful for suggestions.
    Thanks,
    Claudia

  • Crystal Reports for Enterprise and universe connections

    Hi, I have noticed an issue with Crystal Reports for Enterprise that may give many administrators a headache.
    If a BOBJ user has access to a sensitive universe (eg HR or Finance data) to run pre-built WebI reports from  (but not create new ones or edit the universe) then they must have been give data-access to that universe's connection object. Security on the universe and folder could prevent them from accessing information from the universe they shouldn't see or editing the reports and creating new ones.
    However if the same user is given access to Crystal Reports for Enterprise in order to access other data sources, then the fact that they have data-access to the above universe connection object now creates a security problem.
    Crystal for Enterprise allows a user to open a universe connection object as a data-source. If the user opened the connection for the above 'sensitive' universe they could see all the data in the database - avoiding any universe level restrictions in the process.
    What is the suggested way around this? There doesn't appear to be granular enough security to prevent users with data access on a connection object also using that object to create new reports in Crystal for Enterprise.
    The only way around it I can see is to deny the user access to the sensitive universe output altogether, but this changes the whole business process for the team involved.
    thanks
    Keith

    I have a couple of thoughts:
    1.  Create a special reporting user in the database that only has access to a set of views that don't include the sensitive information.  Then create a universe based on those views which uses a connecting that logs in as that special user.  Give the folks who don't have access to the sensitive data access to this connection and universe instead of the universe and connection that include the sensitive data.
    2.  Since you have BO, you should have a support contract.  I would report this as a bug.  However, SAP may tell you that it is "working as designed", in which case you could go to IdeaPlace (https://ideas.sap.com/) and add this as a requested enhancement.
    -Dell

  • Reuse Crystal report Viewer For different reports - unload cache

    So I am migrating from crystal reports basic to crystal reports 2008. I have hit a stumbling block. Rather than have a new page and report viewer for each report I decided it would be easier to have one report viewer and send to it in session variables the report I wish to run and appropriate parameters. This seemed to work fine in CR basic.
    Now I have upgraded the viewer works fine for the first report I run however it then caches this report and doesn't seem to clear it down, if the new report has different parameters I will get a parameter error. If I run a report requiring the same parameters I will get the original report not an updated one.
    I believe I need to leave the CrystalReportSource cache on in order to page the report (correct me if I am wrong)
    I have taken a few snippets of code, is this possibly running too late in page life cycle have I missed something or is there a way to force a cache clear:
    protected override void OnLoad(EventArgs e) {
    //setup report in viewer with correct db logon
                    CrystalRepSource.Report.FileName = report;
                    SetupLogonInfo(CrystalRepSource);
                    //add parameters
                    AddParam(paramFields, pfItem1, dcItem1, "@year", year);
                    AddParam(paramFields, pfItem2, dcItem2, "@school", school);
                    AddParam(paramFields, pfItem3, dcItem3, "@division", division);
                    AddParam(paramFields, pfItem4, dcItem4, "@progArea", progArea);
                    AddParam(paramFields, pfItem5, dcItem5, "@type", SessionHandler.record_type);
                    AddParam(paramFields, pfItem6, dcItem6, "@filterText", "School = \'" + school +
                                                            "\' Division = \'" + division
                                                            + "\' Programme Area = \'" + progArea
                                                            + "\' Record Type = \'" + SessionHandler.record_type_text + "\'");
    CrystalViewer.ParameterFieldInfo = paramFields;
    private void SetupLogonInfo(CrystalReportSource CrystalRepSource)
            TableLogOnInfo logOnInfo = new TableLogOnInfo();
            logOnInfo = CrystalRepSource.ReportDocument.Database.Tables[0].LogOnInfo;
            ConnectionInfo connectionInfo = new ConnectionInfo();
            connectionInfo = logOnInfo.ConnectionInfo;
            connectionInfo.DatabaseName = Application["db"].ToString();
            connectionInfo.ServerName = Application["server"].ToString();
            connectionInfo.Password = Application["pass"].ToString();
            connectionInfo.UserID = Application["user"].ToString();
            CrystalRepSource.ReportDocument.Database.Tables[0].ApplyLogOnInfo(logOnInfo);
        private void AddParam(ParameterFields paramFields, ParameterField pfItem, ParameterDiscreteValue dcItem, string fieldName, string value)
            pfItem.ParameterFieldName = fieldName;
            dcItem.Value = value;
            pfItem.CurrentValues.Add(dcItem);
            paramFields.Add(pfItem);

    ok so I have tried changing the code to:
    CrystalRepSource.ReportDocument.SetParameterValue("@year", year);
                    CrystalRepSource.ReportDocument.SetParameterValue("@school", school);
                    CrystalRepSource.ReportDocument.SetParameterValue("@division", division);
                    CrystalRepSource.ReportDocument.SetParameterValue("@progArea", progArea);
                    CrystalRepSource.ReportDocument.SetParameterValue("@type", SessionHandler.record_type);
                    CrystalRepSource.ReportDocument.SetParameterValue("@filterText", "School = \'" + school +
                                                            "\' Division = \'" + division
                                                            + "\' Programme Area = \'" + progArea
                                                            + "\' Record Type = \'" + SessionHandler.record_type_text + "\'");
    private void Page_Unload(object sender, EventArgs e)
            try
                    CrystalRepSource.Report.DataSources.Clear();
                    CrystalRepSource.Report.Parameters.Clear();
                    //CrystalRepSource.ReportDocument.Close();
                    //CrystalRepSource.ReportDocument.Dispose();
                    CrystalRepSource.Dispose();
                    CrystalViewer.Dispose();
                    GC.Collect();
            catch { }
    I experimented with various bits in the page unload as you can see I have commented a bit out at present as it was throwing an exception. The SetParametersValue while handy (will clean the code up a bit) didn't make any difference I am still getting the same issue.

  • Crystal Reports grouping limits different then tree or tab menu limits...

    <p>Hi,</p><p>This may not be the forum for this, but I figured that if I am trying to make a treemenu function as a replacement for the group tree in CR that it is somewhat relevant...</p><p>I got a production system to run a test and it seems that the Crystal reports group tree control can easily display 3000+ items, no errors, warnings or any other abnormal behaviours. Why would it be possible for this to work, and not have that many elements in a treemenu or tabmenu without the page size limits? I&#39;ve already discovered that in my case I need to break up the levels into smaller strings, but the page size becomes an issue. There are no ways that i have found to duplicate the group tree functionality with that many levels. Even the largest page size cannot display 3000+ items that I have been able to find.</p><p>Thanks for any help you can give. </p><p>&#160;</p><p>&#160;</p>

    <p>this will work for viewing only in boe or in the crystal reports designer...</p><li>In Enterprise (CMC), navigate to the report you&#39;ve just uploaded </li><li>From the process tab, select &#39;Print Setup&#39; </li><li>In the &#39;Set the report&#39;s page layout&#39; section, select the &#39;Custom Settings&#39; option. </li><li>Choose a Height and Width for the report (for example - 40inches width, 10 inches high). </li><li>Click Update. </li><li>Go to the History tab and Click Run Now (assuming the report you&#39;ve built doesn&#39;t have a massive quantity of data) </li><li>You should now be viewing your report with the screenspace chosen (40 inchs wide) - <em>From the viewer</em>, export the report to RPT and save it to your desktop. </li><li>Open the report in Crystal Reports and you will have the report with custom page settings to work with. </li>

  • Transporting a Crystal Report to a different SAP landscape

    I have developed a Crystal Report in our development SAP landscape.  I have published it and am able to view it in Infoview.  I would now like to transport that report to our test SAP landscape.  How do I transport my Crystal Report?  I have looked in the SAP Integration Kit Users Guide, Installation Guide and the Admininistration Guide with no luck.  I have also searched the Knowledge Base.  Any help would be greatly appreciated.  Thanks.

    Hi Dennis,
    in case you saved the report to the BW system via the SAP menus in the CR Designer then you can use the standard transport mechnism from the SAP system
    Ingo

  • How do we refer a report to a different universe

    Hi All,
    I am facing a different issue. There are two universes with the same universe file name but in different folders in our BO XI 3.1. When I try to refer the proper universe for the report [from the right folder] from the Data Manager in BO XI Desktop Intelligence, there is an error that pops up saying
    "Some obsolete objects have been removed from the query (QP0027)"
    and on clicking OK on the error message window, I get to select the right universe yet there is another error message saying
    "Some of the objects from the <<UNIVERSE_NAME>> are missing or ambigious. You cannot run the query on this universe(DA0010)"
    Then the incorrect universe is being referred and the objects are all being replaced by the incorrect universe objects.
    Has anybody faced this kind of issue before?
    Please let me know.
    Thanks a lot
    Avinash Murali

    You got to use web-services to do the bursting..
    Be it Apex or any other interface other than BIP, use web-services.

  • Repointing webi reports to a different universe

    Hi,
    I need to clone a set of webi reports (~35 of them) along with the 1 universe they all use for the purpose of migrating only a set of users with a newer version of the universe and reports. The remaining users need to be using the old universe and the old reports for a few months. I have an easy way to control access to the reports/universe via permissions so that's not a big deal, but the biggest unknown for me is once I copy the universe (or save as) and the reports, how do I repoint the cloned reports to reference the cloned universe?
    I am on XIR2 and migrating "in place" (not to a new repository).
    Thanks in advance.
    Gennady

    Hi -
    While universe re-mapping isn't completely trivial, the API that supports it is thorough enough.  You'll just have to maneuver your way through the work flow a bit and be cautious of the various ways in which it works (eg. change object source by dsobjID, dso class path, etc)
    For example  - from ReportEngine SDK documentation on the DataProviders.changeUniverse(...) method:
    Changes old universe by the new one in the document. It means that all occurrences of a data source object will be replaced by another one of new universe. When applyMapping is true, this call provides a ChangeUniverseMapping containing all old data source object to be replaced with a possible new data source object default mapping. This mapping needs to be validated (so mustFillChangeUniverseMapping() will return true). After that, possibly DocumentInstance.getMustFillContexts() will return true, indicating at least a context must be resolved.
    You'll first want to understand the platform SDK and how to manage objects within the Enterprise:
    http://help.sap.com/businessobject/product_guides/boexir31/en/boesdk_java_dg_12_en.zip
    Then dig deeper into the specifics of ReportEngine API (known as REBEAN sometimes)
    http://help.sap.com/businessobject/product_guides/boexir31/en/resdk_java_dg_12_en.zip

  • KBase ID 344488: Logon failed when connecting to universe in Crystal Report

    My question is related to  [KBase Article ID:344488|http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=344488&sliceId=&dialogID=24618166&stateId=1%200%2024614949]
    Article refers to: Crystal Reports XI
    Symptom
    When attempting to create a connection to a universe in Crystal Reports, after clicking OK in the Database Expert Query Panel, the following error message appears:  "Logon failed".
    The query is not generated. In the Universe folder of Database Expert, the following message appears: "u2026no items found".
    I'm running BOE XI and Crystal Report XI R2 with MS SQL Server 2005 using ODBC.
    The resolution psoted in the KBase Article ID:344488 does not resolve the issue in my case.  Does anyone have any ideas on what to look at next?

    Hello Donald,
    I'll describe the process flow when Crystal Report reports off of a Universe, in hopes the info will help narrow down your issue.
    When you create a Crystal Report and open an Universe, it connects to the Enterprise system and uses a Report Server on Enterprise to generate the SQL Statement.   After you create the Query in the Query Panel, and add the Query to the report, the SQL Statement is sent to the Crystal Report Designer. 
    The Crystal Report Designer makes a local connection to the database and sends the SQL Statement to retrieve data.
    You're using ODBC connectivity.  If the defined ODBC isn't identical between the server where the Report Server is running, and the client where the Crystal Report Designer is running, then you'd get the Logon failed error.
    Other than checking the drivers, I'd recommend that the ODBC connection on both server and client point to the same database, and allow use of the same database logon credentials.
    Sincerely,
    Ted Ueda

  • Single Crystal Report based on Five different SAP BEx Quries.

    Hi,
    I need to create 5 different Charts (in a single report)  based on five different SAP BW BEx Queries. These are charts with 3- axes i.e. X,Y,Z.
    The example requirement is to create Line charts (Vertical Mixed Line Charts) and deatils are as follows: The chart should show CPU Utilization % for different servers (eg. Servers1,2,3,4,5) for each day in a particular month.
    Axes details:
    X- Axis - Date eg: 01 /09/2010 to 30/09/2010
    Y-Axis - CPU Utilisation Percent
    Z-Axis - Servers from 1 to 5
    The above detailed chart comes from a BEx Query . In this way there are four more BEx queries which should give four other charts.
    My queries are:
    1. Is this possible to create a single report using five different BEx queries and Create 5 different charts(one chart from each BEx Query) in a single tab as in the current manual report.(All the five Line charts should be downloadable to a single sheet in Excel)
    2. One more, should I use Crystal Reports only? The charts are of high format natute so Web Intelligence will not produce the same.  Is any other tool that helps for this requirement.
    3. I can create five different Universes based on BEx Queries. Is this possible to create a single report from five different Universes.
    Please advise.
    Nanda Kishore.
    Edited by: Nanda Kishore B on Oct 21, 2010 8:05 AM

    To start with you cannot use SAP BW universes in Crystal Reports., YOu have to use the BW MDX driver.
    For performance reasons I would suggest to add 4 subreports into your main reports containing each on of the 4 remaining charts.
    Regards,
    Stratos

  • Crystal Report on Universe with MySQL ODBC

    Hi
    I created a report with Crystal reports by using a Universe based on MySQL ODBC. In my local (Windows XP) installed Report Designer everything is running fine. I'm also able to publish this report to my BOE, based on RHEL.
    If I will refresh my report on InfoView, database credential are required, but my credential are not accepted. I only become a error message: Failed to open the connection
    If I use Webi with the same universe and the same connection, everything is fine.
    I have also change the ODBC version, but no other result.
    Any idea, where I can trace this connection?
    Versions:
    Crystal Reports 2008 (12.0.0.683)
    Business Objects Enterprise 3.0 (12.0.0.683)
    MySQL ODBC 3.51.27 and 5.1.5
    Thanks a lot
    Christoph

    Hi,
    thank you very much for reply.
    I think you got it. We have the goal to create a report that can be printed and is top-gloss-report for management ; ) One query would not be able to include all that stuff. It is very different.
    So we created 7 different queries in SAP BW Query Designer and we want to put them together in BO Crystal Reports.
    All Queries work with input variable for period and year. These input variables are used in the columns of the queries for calculating the key figures.
    So, if we put these queries together into Crystal Reports, we should actually use "replacement path" for variables. But the sap.help says, that isn't doable.

Maybe you are looking for

  • My touchpad no longer controls font size in foxfire, which means I can't read some of my emails, WHY?

    How can I change font size on my email? I used to be able to use the touch-pad on my laptop. It no longer works in firefox but still works on document files, so it's YOUR FAULT!! It always worked until I installed firefox 4.

  • Dual Monitor Problem - Context Menus are in the wrong place

    Hey there, I've been looking all over google to try to find a solution to this problem, but to no avail. I'm currently using a second monitor together with my macbook pro on leopard. When ever i open up a context menu, the menu appears on the first s

  • Help With wscompile On A config.xml

    Hello, I'm a newbie to Jax-rpc, so please bear with I'm having difficulties compiling this config.xml: <?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <service name="GetTenQService" targetNa

  • Pending Sales Order

    hello sir plz send me table for that fieild open quantity ,schedule quantity,balance quaty total value... thanks

  • Vintela on unix cluster

    Hello I need to install Vintela on unix cluster. I have 1 virtual cluster name and 2 server name ,in the sap system I have the central system and 4 appl system. Do I need to write all parameters in all instance profile or just in the default or centr