BusinessObjects Board

Connections and Xml Connection

Hi guys,

I wondering if Xcelsius connections works with trial version or not. I’m trying to do XML connection but it fails.

Thanks in advanced


edumen (BOB member since 2013-04-23)

Hi,

Xcelsius connections works with trial version .

To enable XML connection in Xcelsius you will have to sincronize all products - BO, Live Office and Xcelsius.
For e.g., if you have BO XI R3 SP5 then your live office & Xcelsius must be SP5. Then only the XML connection will be displayed in the Xcelsius.

Thanks and Regards
Dilip Mhatre


assist (BOB member since 2006-04-17)

But I dont have anything more, I just have got Xcelsius in trial version.

By the way, I get to know following information:

SAP Crystal Dashboard Design is delivered in three editions:

SAP Crystal Dashboard Design, personal edition:
Licensed per named user. Unlimited viewing license for live data sources.

SAP Crystal Dashboard Design, departmental edition:
Licensed per named user. Additional data connectivity and platform integration options, but no viewing license for live data sources.

SAP Crystal Dashboard Design starter package:
Licensed per named user. Includes 10 viewing licenses for live data sources.

Its been very difficult to know details about Xcelsius product. I wondering if I can work with Xcelsius without BI Platform and get live datas with XMl connections.

Mission impossible!!


edumen (BOB member since 2013-04-23)

Yes, you can. I’m using Xcelsius 2008 just like that - completely outside of Business Objects. I run SQL scripts to query the database, store the results in XML files and Xcelsius pickes them up via an XML connection.

No idea if the XML connection is available in the trial version though. You might need to speak to your SAP sales person.

Debbie


Debbie :uk: (BOB member since 2005-03-01)

Thanks Debbie!

I began to work with Xcelsius 7 years ago (with BO source) but today we need build Finance dashboard in my department, Im working in other companny

I had been searching in your old post something about code.aspx for to get data in Xml over just one connection in Xcelsius is it right?

But Im BI Analyst I dont know nothing about aspx

Could be possible to make that connection against to aspx code?? I mean when you define this gate data where do you drive from Xcelsius to code.aspx? on XML mode? What kind of connection you have to choose inside Xcelsius to bring data in this way (aspx)??

If the answer is Yes it is smart idea because you just need one xml connection to bring diferents goups of data.

I would like to show you the code, can you explain me what i can see here? maybe a way to get xml dynamic??

<%@ Page Language=“VB” aspcompat=“true” Debug=“true” validateRequest=“false” %>
<%@ Import Namespace=“System.IO” %>
<%@ Import Namespace=“System.XML” %>
<%@ Import Namespace=“System.XML.XPath” %>
<%@ Import Namespace=“System.Data” %>
<%@ Import Namespace=“System.Data.SqlClient” %>
<%@ Import Namespace=“System.Web” %>
<%@ Import Namespace=“System.Web.HttpContext” %>

<%

'### -------------------- Update Section ------------------------------- ###

Dim sharedConn As New SqlClient.SqlConnection("Data Source=Server;Initial Catalog=Database;User Id=XXXX;Password=XXXX;") 
Dim cmdUpdate As System.Data.SqlClient.SqlCommand = sharedConn.CreateCommand() 
Dim strUpdateCommand As String 
sharedConn.Open() 

'### Declare Variables for XML Parsing 
Dim sXMLString As String = "" 
Dim sFormitem As String 
Dim sRPath As String 
Dim sPath As String 
Dim iRangeLength As Integer 
Dim iRowLength As Integer 
Dim iRangeCounter As Integer 
Dim iCounter As Integer 
Dim oXML As Object 
Dim oRNodeList As Object 
Dim oRNode As Object 
Dim oNodeList As Object 
Dim oNode As Object 

  
'### Get XML that was sent from SWF file 
For Each sFormitem In Request.Form 
    sXMLString = sXMLString &amp; sFormitem &amp; " = " &amp; Request.Form(sFormitem) 
Next 

'### Load XML into object 
oXML = Server.CreateObject("MSXML2.DOMDocument") 
oXML.async = False 
oXML.validateOnParse = False 
oXML.loadXML(sXMLString) 
'oXML.load(sXMLString) 

'### Declare the Variables needed to load XML values then use in SQL update command 
Dim pID AS Integer 
Dim strMetric AS String 
Dim strComm AS String 

'### Use XPath to get the data 
'### Find the number of ranges or variables to be exported 
sRPath = "/data/variable" 
oRNodeList = oXML.documentElement.selectNodes(sRPath) 

iRangeLength = oRNodeList.Length 

For iRangeCounter = 0 To iRangeLength - 1 
    oRNode = oXML.documentElement.selectSingleNode("/data/variable[" + CType(iRangeCounter, String) + "]/row") 
    
    '### Write out the data set for the range 
    sPath = "/data/variable[" + CType(iRangeCounter, String) + "]/row" 
          
    '### Find the number of rows for the range              
    oNodeList = oXML.documentElement.selectNodes(sPath) 
    iRowLength = oNodeList.Length 
    
    For iCounter = 0 To iRowLength - 1 
        oNode = oXML.documentElement.selectSingleNode("/data/variable[" + CType(iRangeCounter, String) + "]/row[" + CType(iCounter, String) + "]/column") 
        
    pID = oNode.text 'Get the value of the first field 
    oNode = oNode.nextSibling 'Move to the next field 
    strMetric = oNode.text 'Get the value of the second field 
    oNode = oNode.nextSibling 'Move to the next field 
    strComm = oNode.text 'Get the value of the third field 

        
        strUpdateCommand = "Update TableName Set Metric = '" &amp; strMetric &amp; "' " &amp; "Comment = '" &amp; strComm &amp; "' " &amp; "Where ID = " &amp; pID 
        'Response.Write(strUpdateCommand &amp; "<br>") 
        
        cmdUpdate.CommandText = strUpdateCommand 
        cmdUpdate.ExecuteNonQuery() 
    Next 'Write a blank line befor the next range starts 
Next 

sharedConn.Close() 
sharedConn = Nothing 
cmdUpdate = Nothing 

%>


edumen (BOB member since 2013-04-23)

Neither do I! I make it up as I go along, so no way I can unpick your script, I’m afraid. There’s a basic code example in one of my posts from a few years back that simply pushes select sysdate from dual at an oracle database as an example.

I store this script on a webserver and put the path to it in a cell in xcelsius. Then I create an XML connection that picks up that path and map the results onto another cell. Stick a single cell component over the mapped sysdate cell and when you preview the XLF (or export to SWF/HTML), it will fire up the aspx, run the SQL inside it, and you should see today’s date on the screen.

Debbie

ETA: alternatively, I run the aspx script overnight, store the results as XML and then pick up the XML file via an XML connection.

But if you’re not getting results from a database query, what you might need is an XML MAP connection instead - where you generate an XML map in the excel bit of xcelsius. There are some good posts via Google on this.

ETA2: and yes - you can make it dynamic. I pass user parameters out of xcelsius and basically build my SQL by string concatenation.


Debbie :uk: (BOB member since 2005-03-01)

Also remember that Xcelsius is real picky on the XML format. I have a standalone dashboard that is feed from an XML source. It took a few trial and errors for the XML to be accepted by Xcelsius.


kevlray :us: (BOB member since 2010-06-23)

Thanks both!

As well you know the unique reason to work with xml connections in Xcelsius is because we want to get datas from sql database. There are several companies is selling after market solutions like XML connectors

Even now I try to figure how many xml connections can I made inside SAP Dashboard wherever versions…I think it is limited a couple connections but Im not sure and My partner of SAP dont inspire me confident about this.

Many times to know information/prices over SAP products can be a big secret.

Again, thank you so much!

PD: It should be more forums like this but perhaps we are doing the same like SAP with his products. Everything is a big secret


edumen (BOB member since 2013-04-23)

You can have as many XML connections as you want. I make the database do the work and have lots of small highly-aggregated data sets. I’ve had 30 or more separate XML connections (over several different databases) - some fire on opening the dashboard and others only fire on some kind of user interaction.

The trial versions of xcelsius may limit these, however.

If I was you, I’d start off small. Find my old post that gives you the aspx code. Change the connection string to connect to your database and change the SQL to pull something simple that gives you a few rows at most of data. Store the aspx on a web server and open via a web browser to check it works. Then try to connect to it with xcelsius. Once you’ve got that working, you can build on that.

Debbie


Debbie :uk: (BOB member since 2005-03-01)

Debbie, you’re right!

Jesus christ!! It must be more than 20 post about xml connections!!

I dont feel alone…

i’ve enough information so I know that I’ll made it.

Regards. :yesnod:


edumen (BOB member since 2013-04-23)