Crystal ActiveX Runtime Lib: Change text data source path at run time.

We have some PCs running Crystal Reports 10 and some running CR 9 and 8.5. For each PC, we set up a System DSN ODBC data source (in Control Panel - Administrative Tools) for pulling data from text files to
generate reports.
Recently we wrote some routines (see the Visual Basic example at the
end of this message) to change the path of the data files at runtime.
According to the Crystal Reports Technical Reference Guide, we may use
the method LogOnServer() of an Application object or an DatabaseTable
object. However, we find that this does not work: the PrintOut()
method only pulls data from the default path as configured for the
System DSN, not from the path passed as the third parameter of
LogOnServer(). It does not return any error message.
We have also tried to use SetTableLocation() method, and it still does
not work.
Would any experts examine our code below and advise what we are missing? Thanks.
For the following VB example, we have:
System DSN Name: AP_WORKSHEET
Driver: Microsoft Text Driver
Database Directory: D:\0ood2 (i.e. the default path)
Crystal Report Document: D:\3g\run\Vision\apcyto\Reports\crBlockWS.rpt
(Which specifies that the data source text file name is BlockWS.txt)
Purpose : We would like to read the data source text file from
D:\0ood1 instead of the default path.
Following is the code of the VB macro:
Sub test()
Rem In this version of the subroutine, we call
Rem DatabaseTable.LogOnServer() and "Rem"ed out
Rem Application.LogOnServer() and SetTableLocation().
Rem We have un"Rem"ed each of them and "Rem"ed others and try to run.
Rem In all runs, data are pulled from the default file
Rem D:\0ood2\BlockWS.txt instead of D:\0ood1\BlockWE.txt.
Dim crxapp As CRAXDRT.Application
Dim crxRep As CRAXDRT.Report
Dim crxDB As CRAXDRT.Database
Dim crxTab As CRAXDRT.DatabaseTable
Dim crxConnPs As CRAXDRT.ConnectionProperties
Dim crxConnP As CRAXDRT.ConnectionProperty
Dim apropSubLoc As String
Dim apropConnBufStr As String
Set crxapp = CreateObject("CrystalRuntime.Application")
Rem
crxapp.LogOnServer "p2sodbc.dll", "AP_WORKSHEET", "<CRWDC>DBQ=D:\0ood1",
Set crxRep = crxapp.OpenReport
("D:\3g\run\Vision\apcyto\Reports\crBlockWS.rpt")
Set crxDB = crxRep.Database
Set crxTab = crxRep.Database.Tables(1)
apropConnBufStr = crxTab.ConnectBufferString
apropSubLoc = crxTab.SubLocation
crxDB.LogOnServer "p2sodbc.dll", "AP_WORKSHEET", "<CRWDC>DBQ=D:\0ood1",
Rem crxTab.SetTableLocation "D:\0ood1\BlockWS.txt", apropSubLoc, "DSN="
Rem Set crxConnPs = crxTab.ConnectionProperties
Rem Set crxConnP = crxConnPs.Item("DSN")
Rem crxConnP.Value = "AP_WORKSHEET"
Rem Set crxConnP = crxConnPs.Item("Database")
Rem crxConnP.Value = "D:\0ood1\BlockWS.txt"
Rem crxTab.Location = "BlockWS.txt"
crxRep.DiscardSavedData
crxRep.PrinterSetup (0)
crxRep.PrintOut
End Sub
For VB macros, the problem exists in all of CR 8.5, 9 and 10. However,
for another platform we are using, Unify Vision 4GL, it works for CR
8.5 while not working for CR 9 and 10.
Following is the source code in Unify Vision 4GL. This language may
not be popular, but I thin you are about to see how it calls the
Runtime Library methods LogOnServer(), OpenReport(), PrinterSetup() and
PrintOut().
%gfPrintCrystalReport
BOOL FUNCTION gfPrintCrystalReport($reportName)
BEGIN
if NOTMKNOWN(GF:$oSeagateId) then
create service of activex
class 'CrystalRuntime.Application'
object_ref into GF:$oSeagateId;
if MKNOWN(GF:$oSeagateId) then
begin
/* TD23013: Database directories are dynamic to
accommodate multiple user requirement of Citrix */
send message LogOnServer to GF:$oSeagateId
using
( 'PDSODBC.DLL', 'AP_WORKSHEET', '<CRWDC>DBQ='+GF:$WinTempDir,'','')
identified by $msgHandle;
if $msgHandle:MSG_STATE 'RESPONSE_PROCESSED'
then
begin
display 'Crystal Reports cannot connect
to the datasource ' for fyi_message wait;
return (FALSE)
end
send message OpenReport to GF:$oSeagateId using
($reportName, 1)
identified by $msgHandle returning
$oCrystalReport
if MKNOWN($oCrystalReport) then
begin
if (NOTMKNOWN(GF:$printerName)) then
set GF:$printerName to
$oCrystalReport->PrinterName;
if GF:$printerName $oCrystalReport-
PrinterName then
send message SelectPrinter to
$oCrystalReport
using
(GF:$driverName,GF:$printerName,GF:$portName)
identified by $msgHandle;
set $oCrystalReport-
DisplayProgressDialog to FALSE;
while TRUE
begin
DISPLAY NOTICE 'Print to : ' +
GF:$printerName
LABELS 'Ok'
DEFAULT, 'Cancel', 'Printer Setup'
RESULT INTO $userOption
switch ($userOption)
begin
case 0 :
send
message PrintOut to $oCrystalReport
using
(PROMPT_USER, NUMBER_OF_COPIES, COLLATED, START_PAGE, STOP_PAGE)
identified by $msgHandle;
set
$oCrystalReport to UNDEFINED
return
(TRUE);
case 1:
set
$oCrystalReport to UNDEFINED
return
(FALSE);
case 2:
send
message PrinterSetup to $oCrystalReport
using
(0)
identified by $msgHandle;
if
GF:$printerName $oCrystalReport->PrinterName then
begin
set GF:$printerName to $oCrystalReport->PrinterName;
set GF:$driverName to $oCrystalReport->DriverName;
set GF:$portName to $oCrystalReport->PortName;
end
break;
end
end
end
end
return
(FALSE);
END

Hi Sydney,
If you search the Developers help file you'll find info on using the method:
How to change the data source
This example demonstrates how to change the data source from native Access to an OLEDB (ADO) data source by using the ConnectionProperty Object, as well as how to change the table name by using the Location property of the DatabaseTable Object. CrystalReport1 is connected to the xtreme.mdb database found in the \Program Files\Crystal Decisions\Crystal Reports 10\Samples\En\Databases folder. The report is using the Customer table. A copy of the Customer table is added to the pubs database on Microsoft SQL Server.
' Create a new instance of the report.
Dim Report As New CrystalReport1
Private Sub Form_Load()
' Declare a ConnectionProperties collection.
Dim CPProperties As CRAXDRT.ConnectionProperties
' Declare a DatabaseTable object.
Dim DBTable As CRAXDRT.DatabaseTable
' Get the first table in the report.
Set DBTable = Report.Database.Tables(1)
' Get the collection of connection properties.
Set CPProperties = DBTable.ConnectionProperties
' Change the database DLL used by the report from
' native Access (crdb_dao.dll) to ADO/OLEDB (crdb_ado.dll).
DBTable.DllName = "crdb_ado.dll"
'  The connection property bags contain the name and value
' pairs for the native Access DLL (crdb_dao.dll). So we need
' to clear them, and then add the name and value pairs that
' are required to connect to the OLEDB data source.
' Clear all the ConnectioProperty objects from the collection.
CPProperties.DeleteAll
' Add the name value pair for the provider.
CPProperties.Add "Provider", "SQLOLEDB"
' Add the name value pair for the data source (server).
CPProperties.Add "Data Source", "ServerA"
' Add the name value pair for the database.
CPProperties.Add "Initial Catalog", "pubs"
' Add the name value pair for the user name.
CPProperties.Add "User ID", "UserName"
' Add the name value pair for the password.
CPProperties.Add "Password", "password"
' Set the table name. ' for SQL types it would be "database.dbo.table"
DBTable.Location = "Customer"
Screen.MousePointer = vbHourglass
' Set the report source of the viewer and view the report.
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub

Similar Messages

  • Trying to change the data source for a Crystal Report.

    <p>The method below represents my best attempt to programatically change the data source of a Crystal Report. The goal is to have a routine that will update the data source for reports after they have been distributed to production servers. So far I have not been successful in saving the report back to the CMS. No exceptions are thrown, but when I view the Database Configuration of the report in the CMC nothing has changed.
    </p>
    <p>
    Am I missing a step, or is there another way to accomplish this?
    </p>
    <p>
    Thank you.
    </p>
    <hr />
    <pre>
    private void test(String reportName)
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects;
       IInfoObject reportObj;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dc;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB; //0;
       Fields connFields = null;
       String queryStr = "Select * From CI_INFOOBJECTS " +
          "Where SI_NAME='wfr.rpt' AND SI_KIND='CrystalReport' AND SI_INSTANCE=0";
       newInfoObjects = getCms().executeQuery(queryStr);
       if(newInfoObjects.size() > 0)
          reportObj = (IInfoObject)newInfoObjects.get(0);
          try
             clientDoc = getCms().getReportAppFactory().openDocument(
                reportObj
                , OpenReportOptions._refreshRepositoryObjects
                , java.util.Locale.US);
             dc = clientDoc.getDatabaseController();
             conInfos = dc.getConnectionInfos(null);
             for(int i = 0; i < conInfos.size(); ++i)
                oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(i);
                newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                pBag = newConInfo.getAttributes();
                pBag.putStringValue("QE_ServerDescription", "alio");
                logonProps = new PropertyBag();
                logonProps.putStringValue("Trusted_Connection", "false");
                logonProps.putStringValue("Server", "alio");
                pBag.put("QE_LogonProperties", logonProps);
                newConInfo.setUserName("admin");
                newConInfo.setPassword("password");
                dc.replaceConnection(
                   oldConInfo
                   , newConInfo
                   , connFields
                   , connOptions);
          catch(ReportSDKServerException Ex)
             String msg = "A server error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          catch(Exception Ex)
             String msg = "An error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          finally
             clientDoc.save();
             getCms().commitToInfoStore(newInfoObjects);
             clientDoc.close();
    </pre>
    Edited by: Mark Young on Sep 10, 2009 2:16 PM

    <style type="text/css">
    /<![CDATA[/
        body
            font-size: 1.125em;
              font-family: helvetica,arial,"sans-serif";
          .code{font-family: "courier new",courier,mono,monospace}
          .bi{font-style: italic; font-weight: bold;}
    /]]>/
    </style>
    <p>Justin,</p>
    <p>
    Thank you for the reply. Time constraints have not allowed me to post back to this tread
    till now. I will try your suggestion. My assumption is that <i>Save the report back to the
    info store</i> refers to <span class="code">IInfoStore.commit(IInfoObjects)</span>.
    </p>
    <p>
    I'm afraid that I do not understand why I don't want to change the report client document,
    or why <i>successfully exporting the report with the new login/password</i> is not what I
    want to do. Any explanation on that statement would be appreciated.
    </p>
    <p>
    I did find a way to accomplish my goal. It involved adding the SSOKEY property to the
    logon property bag. Below you'll see my revised code which modifies the report logon and
    server. I have no idea what
    this does, and SAP support has not been able to tell me why it works. However, what I
    discovered is that if I changed the report option, <b>Database Configuration -> When
    viewing report:</b>, in the CMS to <span class="bi">Use same database logon as when report
    is run</span> from <span class="bi">Prompt the user for database logon</span>, then the
    SSOKEY property had been added to the logon property bag having an empty string as its
    value. This allowed me to successfullyupdate and save the modified logon back to the CMS.
    </p>
    <p>
    So I took a chance and added code to always add the SSOKEY property with an empty string
    as its value, and I could then successfully modify and save the report's logon info
    and server. Again, I don't know what this means, but it has worked so far. If anyone has
    some insight or comments, either are welcome. Thank you in advance.
    </p>
    <br />
    <hr />
    <pre>
    private void changeDataSourceOfAWFCrystalReports()
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects = null;
       IInfoObject reportObj = null;
       IReport curReport = null;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dbController;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
       Fields connFields = null;
       String outputStr;
       int numOfReports;
       int numOfQueryPages;
       double progressIncrementPerPage = 30;
       int progressIncrementPerReport = 0;
       // Path query to reports is in a .properties file.
       String queryStr = getAppSettingsFile().getWscAwfCrystalReportPathQuery();
       try
          // Executes IInfoStore.getPageingQuery() and generates a list of queries.
          getCms().setPathQueryQueries(queryStr, 100);
          numOfQueryPages = 0;
          // Gets a List&lt;String&gt; of the IPageResult returned from IInfoStore.getPageingQuery().
          if(getCms().getPathQueryQueries() != null)
             numOfQueryPages = getCms().getPathQueryQueries().size();
          if(numOfQueryPages &gt; 0)
             // Use 30% of progress bar for the following loop.
             progressIncrementPerPage = Math.floor(30.0/(double)numOfQueryPages);
          for(int queryPageIndex = 0; queryPageIndex &lt; numOfQueryPages; ++queryPageIndex)
             // Gets the IInfoObjects returned from the current page query
             newInfoObjects = getCms().getPathQueryResultSetPage(queryPageIndex);
             numOfReports = newInfoObjects.size();
             if(newInfoObjects != null && numOfReports &gt; 0)
                progressIncrementPerReport =
                   Math.round((float)Math.floor(progressIncrementPerPage/(double)numOfReports));
                for(int reportIndex = 0; reportIndex &lt; numOfReports; ++reportIndex)
                   reportObj = (IInfoObject)newInfoObjects.get(reportIndex);
                   curReport = (IReport)reportObj;
                   clientDoc = getCms().getReportAppFactory().openDocument(
                      reportObj
                      , OpenReportOptions._refreshRepositoryObjects
                      , java.util.Locale.US);
                   dbController = clientDoc.getDatabaseController();
                   conInfos = dbController.getConnectionInfos(null);
                   for(int conInfosIndex = 0; conInfosIndex &lt; conInfos.size(); ++conInfosIndex)
                      oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                      newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                      pBag = newConInfo.getAttributes();
                      pBag.putStringValue(
                         "QE_ServerDescription"
                         ,getConfigFile().getDBDataSourceConnections());
                      logonProps = new PropertyBag();
                      logonProps.putStringValue("Trusted_Connection", "false");
                      <b>logonProps.putStringValue("SSOKEY", "");</b>
                      logonProps.putStringValue(
                         "Server"
                         ,getConfigFile().getDBDataSourceConnections());
                      pBag.put("QE_LogonProperties", logonProps);
                      newConInfo.setUserName(getConfigFile().getUNVConnectionUserName());
                      newConInfo.setPassword(getConfigFile().getUNVConnectionPasswordDecrypted());
                      dbController.replaceConnection(
                         oldConInfo
                         , newConInfo
                         , connFields
                         , connOptions);
                      newConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                   } // end for on conInfosIndex
                   clientDoc.save();
                } // end for on reportIndex
             } // end if on newInfoObjects
          } // end for on queryPageIndex
       } // end try
       catch(ReportSDKServerException Ex)
          // handle...
       catch(Exception Ex)
          // handle...
       finally
          getCms().commitToInfoStore(newInfoObjects);
          if(clientDoc != null)
             clientDoc.close();
    </pre>

  • Problem changing SQL data source at runtime with VB6 and CR XI

    Hello All,
    We have several VB6 programs using CR XI and are able to pass a DSN to change data source with Access DB that works just fine.
    We are using similar code in another program to change the data source in an SQL DB and get an error... Failed to Open the Connection.
    This is a sample of what works with Access but not SQL DB:
    Dim crxApplication As New CRAXDRT.Application
    Public Report As CRAXDRT.Report
    Global DSN_STRING
    DSN_STRING = "DSN = JC Crystal Reports"
    Dim crxDatabaseTable As CRAXDRT.DatabaseTable
    Set Report = crxApplication.OpenReport(App.Path & "\Test11.rpt", 1)
    'change location of each table in report
    For Each crxDatabaseTable In Report.Database.Tables
            crxDatabaseTable.Location = DSN_STRING
    Next crxDatabaseTable
    FormCrystal.Show vbModal
    We have tried other things from the web, still get error.
    Any help would be greatly appreciated.
    C Reid

    Hi Carole,
    When using SQL types you need more than just the DSN name. CR does keep the password in the report file and all SQL types are usually password protected.
    Try this simple code:
    First log onto the server:
    rpt.database.LogOnServerEx("crdb_odbc.dll, pServerName, [pDatabaseName], [pUserID], [pPassword], [pServerType], [pConnectionString])
    The ConnectionString is the complete line. Run in debug mode and display what the reprot is using and you can see the format it requires.
    Once logged on now you can set the location for each table:
    'report connection properties
            With rpt.Database.Tables(1)
                .ConnectionProperties("User ID").Value = "sa"
                .ConnectionProperties("Password").Value = "YourPassword"
                .ConnectionProperties("Data Source Name").Value = "Your DSN Name"
                '.ConnectionProperties("Data Source Name").Value = "ServerName" ' can be used if specifying a new connection
                .ConnectionProperties("Database").Value = "Northwind"
            End With
            Set rpt.Database.Tables(1).Location = "Northwind.dbo.CustOrderHist"
    I'm only using one table so easy enough to create the loop or use for all...
    Thank you
    Don

  • Changing the data source of a Crystal Report

    Post Author: starmizzle
    CA Forum: Crystal Reports
    We're running a trial of BusinessObjects XI Release 2 to see if it fits our needs.
    We were told that we could import and publish our existing Crystal Reports and then later on go back and change their data sources to point to new universes as they're built.
    So I've published a simple Crystal Report that I can run and modify through Infoview. And I've created a universe with the appropriate fields and calculations that it needs. So how do I force my published report to use the new universe as its data source instead of the system DSN it had when it was made?

    Post Author: starmizzle
    CA Forum: Crystal Reports
    We're running a trial of BusinessObjects XI Release 2 to see if it fits our needs.
    We were told that we could import and publish our existing Crystal Reports and then later on go back and change their data sources to point to new universes as they're built.
    So I've published a simple Crystal Report that I can run and modify through Infoview. And I've created a universe with the appropriate fields and calculations that it needs. So how do I force my published report to use the new universe as its data source instead of the system DSN it had when it was made?

  • Changing the Data source in Business Objects XI

    Hi,
      Is it possible to change the data source(not universe) in runtime to generate business objects reports. I am using BOXI 3.1.
    Below is the code I am using to change the universe in runtime. I would like to change this so that i can change the data source instead of changing the universe. My intention is to generate report from multipple database using same universe. Right now I am using multipple universes connected to multiple datasources to achieve this. I am using Report Engine SDK(Java).
               if("Webi".equals(mDocKind))
                   // Added for multiple database support
                   DataProviders dataProvs = documentInstance.getDataProviders();
                try{
                    //To support multiple queries in BO reports
                 for(int count=0;count<dataProvs.getCount(); count++){
                   DataProvider dp=dataProvs.getItem(count);
                   DataSource ds= dp.getDataSource();
                   infoUniverseObjects = getUniverseObject(infoStore,NewUniverseName);
                   infoUniverseObject = (IInfoObject)infoUniverseObjects.get(0);
                   String newDsCuid = infoUniverseObject.getCUID();
                   dataProvs.changeDataSource(ds.getID(), "UnivCUID=" + newDsCuid, true);
                   if(dataProvs.mustFillChangeDataSourceMapping())
                        // Re-map data source to target Universe objects
                        ChangeDataSourceMapping mapping = dataProvs.getChangeDataSourceMapping();
                        ChangeDataSourceObjectMapping[] maps = mapping.getAllMappings();
                        dataProvs.setChangeDataSourceMapping();
                    }//for dataProvs.getCount()
                }catch(Exception e)
                      mLogger.info("BOReportObject","createReport","Inside multiple data providers loop"+e.getMessage());
    Thanks in advance
    Shameer
    Edited by: Shameertaj on May 20, 2009 3:08 AM

    Hi Shameer,
    I think this is only possible with the Universe Designer SDK (which is only available in COM).
    Please kindly refer to the API reference for the Universe Designer SDK for more details:
    http://help.sap.com/businessobject/product_guides/boexir31/en/bodessdk.chm
    Also, please note that changing the universe connection when viewing a document on-demand is not recommended because this could lead to possible issues.
    For example:
    Two users trying to view documents that uses the same universe at approximately the same time.
    But user A wants to use connection X and user B wants to use connection Y.
    This could lead to an error while openning the document or while refreshing/retrieving the the data.
    Hope this helps.
    Regards,
    Dan

  • Need to change report data source on reports in a copied universe

    We are setting up a new testing environment.  So I made a copy of our BO universe so we could have two different testing universes.  I then created a copy of the data source database that will be used as the data source for the reports in the copied universe.  The two different databases have the exact same tables, columns and indexes as the development database.   The only difference will be the data inside the tables. 
    I now need to change the reports to use the new universe since the reports were written using the universe instead of using the database.  I am not changing anything else in the reports.  I just need them to run against a different Oracle database. 
    So I go into Crystal Reports version 11.5.0.313 and open the report up.  I then go into Database fields in Field Explorer to change the data source.  I then go to the Set Datasource Location screen.  I open up the universe label by clicking on the plus sign and I select the copied universe.  When I do that, the Business Objects Query panel screen opens up.  Because I have switched universes, Crystal Reports wants me to reselect the columns and rebuild the query.
    We have over three thousand reports so we are trying to avoid rebuilding them.  I am looking for a better way to change what database a report runs against. 
    Note: All of the reports will be run ion demand.  Nothing will be scheduled.
    Any suggestions and information will be greatly appreciated. 
    Has anyone run into this?   What was your solution to this problem?

    Hi Joe,
    Moved your post to the Universe Forum.
    First you are using the original release of XI R2. You need to upgrade to Service Pack 6 by:
    Run License Manager first to get the keycode if you don't have it on paper somewhere.
    Then download these and uninstall then run full build first:
    https://smpdl.sap-ag.de/~sapidp/012002523100011802732008E/crxir2_sp4_full_build.exe
    https://smpdl.sap-ag.de/~sapidp/012002523100013876392008E/crxir2win_sp5.exe
    https://smpdl.sap-ag.de/~sapidp/012002523100015859952009E/crxir2win_sp6.exe
    Try again
    Don

  • Can we change the Data source in AO ?

    Hi Folks,
    Environment: SAP HANA on AO
    I have the following scenario , Am creating a report on one Calculation View: CV and have done some analysis where I have pulled in some dimensions and kept some background filters.
    Now I have to generate the same report on another Calculation View: CV2 ( Similar to structure of CV ) and compare the reports. Is there any way to edit copy the previous report and change the data source? Can you guide me on that?
    Regards,
    Krishna Tangudu

    Hi,
    You can exchange the calc view by clicking on the button next to the data source name in the tab "components", but when you do this, the new data source will overwrite the settings and filters from the previous data source. So no, there is not a supported way of exchanging the datasource and keeping the filters of the previous data source.
    Best regards,
    Victor

  • Change the data source connection of existing reports in web analysis

    Hi
    I have developed certain reports in web analysis 9.3.1, now I need to point these reports to a new cube with same layout. Can anyone let me know how to change this data source. There are lot many reports so it will take lot of time for me to recreate them.
    Please suggest any good approach
    ---xat

    You can edit the Database connection from Web Analysis. Perform the below tasks to edit the database connection..
    1) Login to Web Analysis
    2) Select the Database Connection which needs to be modified.
    3) Right Click then Edit..
    Hope this helps you..
    Regards,
    Manmohan Sharma

  • Data Source path in Pivot Table changes to absolute on its own

    Hello.
    I have a .XLSX file, that was created long time ago (I don't even know in which Office version, but definitely not 2013), and maybe even was a .XLS file at first.
    So it's a 4 MB file with 16 Sheets and 8 Pivot Tables.
    All of the Pivot Tables use other sheets from the same file as Data Source.
    Data Source for some of them look like this: 'Sheet3'!$A:$E
    Everything is fine when I save the file, and open it from saved file. 
    But as soon as I try to move the file elsewhere, or rename it, or email it - all Data Source paths change to something like this: '\Users\Sergii_Litnevskyi\Desktop\New folder\[FileName.xlsx]Sheet3'!$A:$E
    And it happens with all Pivot Tables. The problem is that it links to an old file path, where the file does not exist anymore. And it links to an external file, which is not what I want.
    If I Save As and select different path and filename - then it works fine. So it's a workaround for renaming and moving files, but not for sending them to other persons.
    I've read some threads, and people recommend disabling "Save external link values", but it does not help. It is already turned off in my office, but it keeps acting weird. 
    So what I need is: Save the file, close it, rename it, move it to other place, send it over email as attachment. And then I want to have the same Data Source path in my PivotTables as I had before I saved the file. How can I do it?
    My Office version: Microsoft Excel 2013 (15.0.4454.1503) MSO (15.0.4517.1005) 32-bit

    Hi,
    According to your description, I suppose the issue may be caused by some reason.
    Do you link the outside data source?
    I think if the file moves the file elsewhere, or renames, or email,
    data source paths can’t be change.
    But, your data source paths add the absolute path.
    Do you link the outside data source?
    I recommend you zip the file and send it as Email attachment.
    If the issue exists, you may save as it in a new name and test it in another computer.
    Regards,
    George Zhao
    TechNet Community Support
    I am pretty sure that I don't have any external links in the document.
    However, even if I did - why would it change Data Source path for all of the Pivot Tables, when I did not request it?
    I tried zipping it and sending to other person over email, but he got the file with changed data source paths.
    I can even record a short video to show what happens.
    Actually, I just did it. You can see the video here: http://screencast.com/t/qMBild3ck9b
    It is rather big - 23.8 MB.
    Let me explain what I showed there:
    I opened my original file. I showed that there are Pivot Tables, whose Data Sources are in the same file, on various other sheets.
    I showed this for all of the Pivot Tables in the document.
    I saved the file using Save As in a different folder and under a different name (TEST.xlsx).
    I then opened that saved file to show you that it is fine, and the Data Source path for one of the Pivot Tables is the same as it was in original file. It is the same for all of the other Pivot Tables.
    Then I closed, and simply renamed the file to TEST123.xlsx.
    Opened it, and first thing wrong - Security warning.
    Then I got ‘Cannot open PivotTable source file ….’ messages. And, as I showed, now all Data Source paths have been changed to full paths of the file, that was created by Save As (TEST.xlsx) from original file.

  • Text data source and Info object?

    Hi I have created Texts data source in R/3 and our onsite folks have asked me to create relavant info objects in BW as well.I need to validate against the data source created in R/ 3for use short med or long text all should support mulilang.Can any body please explain how can I proceed with this ?
    Points will be definitley assigned.
    Thanks,
    Hari.

    It is the other way. Once u tick in the master data tab -what kind of text u want-short,long,medium-then that will appear in your transformation.And u can map any char field from ur data source for these based on the length.
    So u can check the datasource definition in rsa2 and determine the length of text field in which ur text data will data.
    Based on that select in teh info object, then u will get that to map in transformation.
    Hope it helps
    Regards,
    Rathy

  • How to change the Data sources after deploying the application ??

    Hi All,
    i want to know how to change the Data sources after deploying the application to the application server ???
    I'm using Oracle Application Server 10g Release 3 (10.1.3.1.0)

    Can you access the Enrprise Manager website of the target Application Server from your location? If so, you can change the datasource in it. If not, yo can bundle the datasource definition in your archive and use that one instead of the one configured in the target OC4J container. Or this will just be the responsability of your customer: whenever you send a new WAR file, they have to modify the datasource if needed and deploy the application?

  • Who last changed a data source

    Hello all,
    Could you please tell me how can I find out who last changed a data source in a R/3 system.
    Thank you
    Ramona

    Hi,
    in your R/3 customizing client, execute RSA2 with you DSource; you'll see the last changed by and when....
    or
    table ROOSOURCE fields TSTPNM, TSTPDAT, TSTPTIM...
    hope this helps...
    Olivier.

  • Creating the text data source for 0OI_LIFNR(TD: Carrier (Number of vendor a

    Hi
    Have to create the text data source for this characteristic. Basically it is the same as 0Vendor here.
    I want to make it delta enabled.
    Am creating it on the view BIW_LFA1T(same as 0vendor)
    Can anyone advise what can I use to make it delta enabled without any code.
    Can I use numeric pointer like the 0Vendor_text.
    Many Thanks and regards,
    Kate.

    when defining a data source through the admin web page, don't add '!' in front of the password.
    ! is needed only when configuring a data source in the mapViewerConfig.xml file.

  • To assign text data source

    Hi
    I have a scenario where I have to extract the text for a customised infoobject like zrsk_cat which is similar to the standard info-object 0risk_categ. How can i use the data source which is used to extract the text of 0risk_categ to extract the text of Zrsk_cat.
    Also the infoobject 0risk_categ is compunded to 0c_ctr_area(credit control area). does that mean we need to make our (zrsk_cat) compounded to 0c_ctr_area for us to extract the text even though we do need this in any other way.
    Please advise.
    Thanks in advance.
    kate.

    Hi BWer
    Thanks for the answer.
    Thats what I have done but when I do assign data source that data source(0risk_categ) is not found as I think its already been assigned to the std infoobject 0risk_categ and I think we cannot use the same data source to assign to two data targets.
    What can I do to make use of this text data source to upload the text to the my new info-object.DO i need to do flexible update....and is it possible for text ?
    Thanks in advance.
    Kate
    Message was edited by: Kate Smith

  • Changing the data source for PLD_ITEMS

    When you convert a PLD report to Crystal, it uses a table called PLD_ITEMS.
    First, where is this table located? I can't find it anywhere in our database.
    The reason is that this report now uses a data source called PLDReportSource. I need to change this report back to OLE DB ADO if at all possible, and at that point, i will most likely need the answer to the first question.
    Thanks all!
    dante

    I have this question too

Maybe you are looking for

  • My older iPod is not recognized by cars with a newer iPod interface

    And my new iPod Classic is not recognized by cars with the older interface.  I purchased a new iPod when I realized my new car wouldn't wouldn't recognize my older iPod.  Now I find my two older cars won't recognize the new device.  Is there an inter

  • An unhandled exception has been thrown in the ESB system-400 Bad request

    Hi, When i try to call a ESB Routing Service in a BPEL Flow, i am getting the error below, An unhandled exception has been thrown in the ESB system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: exception on JaxRpc inv

  • Attribute key cannot be found : Data present but not processed

    Hi there, I know this question has been ask several time and I went through a lot of proposed solution but none were successful in my case. My cube processed successfully for month but now I have the following error : Errors in the OLAP storage engin

  • Problem restoring my library from backup DVD's

    Here is my situation. . . . I recently had an internal hard drive crash that contained all of my 45 GB of music. . . The hard drive that crashed was my secondary, internal hard drive (F drive). Luckily, I created a back-up DVD of my entire library la

  • "The disk inserted cannot be read by this computer"

    I have a LaCie Big Disk Extreme (1TB), which has worked fine for me for a few months now, but after trying to get it to work in Windows, I think I might have accidentally reformatted the drive, but I'm not certain. Right now, Windows is telling me th