cancel
Showing results for 
Search instead for 
Did you mean: 

Passing BLS Transaction Results Back to an Xacute Query

Former Member
0 Kudos

I'm trying to pass results from a BLS transaction back to the Xacute query that called the transaction. When 'Test'ing my query template, I get the correct column headings but no data. When I reference my query template in my display template it returns the correct column headings.

The last action in my BLS transaction is an XML Document where the incoming links transfer the results from previous calculation actions to the appropriate rows in the OutputXML. The outgoing link transfers the OutputXML to a transaction property called 'OutputXML' whose datatype is 'xml' and is flagged as a output parameter.

Why am I not returning any values from my transaction?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Does your XML document have the correct values after you execute the transaction manually from the BLS?

Former Member
0 Kudos

Ram - I'm not sure where to find the XML document that's created. My query and display templates seemed to "know" where the document is. Where would I look for it?

Former Member
0 Kudos

Sounds like youre not doing an Assign Action to assign your Illum Doc output to your Output XML.

If you are, put a trace action after that assignment and set your Message to the Success of that assignment and hit F6

Former Member
0 Kudos

David,

When you said your last action in your BLS is a XML Document,are you not talking about an XML Saver action?So when you configure an XML Saver, you specify a physical location.You could check if this xml document has the correct values.Ignore this if you did not use a XML Saver.

Thanks and Regards,

Ram

Message was edited by:

Ram

jcgood25
Active Contributor
0 Kudos

Make sure the link type is Assign XML and that you've linked from the root XML icon to root XML icon and not the blue diamonds within.

Regards,

Jeremy

Former Member
0 Kudos

Some great ideas here!

Brian, I'm using 'Assign Value' links for my incoming links to link the previous calculation action outputs to the appropriate rows in my Illum Doc action. I'm using 'Assign XML' for the outgoing link to pass the results to the transaction property.

Ram, I'm only using the Illum Doc action block and it doesn't ask for an XML file name. How would I use the OutputXMLSaver transaction call? I've seen it in transaction templates I've downloaded off service marketplace but I wasn't sure what it did.

Jeremy - the link type is 'Assign XML' for my outgoing link and I'm linking the root XML icons

Former Member
0 Kudos

In your BLS, add a new sequence and add the XmlSaver Action.When you click on configure object, it would ask you for a physical location where the XML has to be stored.In the incoming tab link,map the outputXML from IllumDoc.You can now check output XML.

Check if this helps,

Ram

jcgood25
Active Contributor
0 Kudos

Your description of your efforts to map from the calculation action to the rows in the IllumDoc seems suspicious to me.

If your IllumDoc has all the columns defined and nothing valid happens to create actual rows in the document this would be demonstrated by your symptoms of just the column headings coming back from the XacuteQuery test and the column names showing up in the data mapping of your applet (they are essentially the same thing - only column names).

If the final output of the Calculated Columns is what you want then just map that to your OutputXML transaction property, but if you need certain elements from the calc block add a Row action to your document and link the values into it accordingly. This would then create a row in your output.

Regards,

Jeremy

Former Member
0 Kudos

I just confirmed the OutputXML doesn't have any row data - just columns (I got the XML Saver action working).

Jeremy - I agree with you - the linking of my calculation actions is where the problem is. Here's an example of one of my incoming links (for my IllumDoc action) - I have 14 such links - one for each calculation result:

Object: SaveXMLResults

Property: Output

XPath: SaveXMLResults.Output{/Rowsets/Rowset/Row/xCircuit1kA}

Expression: Circuit1kA.Result

My outgoing link is:

Object: SaveXMLResults

Property: Output

XPath: SaveXMLResults.Output

Expression: Transaction.OutputXML

Any more thoughts?

David

jcgood25
Active Contributor
0 Kudos

David,

Eliminate the unecessary xml saver action (useless disk I/O that is better served by running a Tracer action so you can see the desired intermediate Document building or calculation steps). Tracer actions only get processed when you run a TRX from the editor, so they don't create any overhead.

What actually creates the Row in your IllumDoc - are you using the Row action block? If you are not, just add a Row action that is configured to your Document action. Then do your calculation assignment links to the corresponding elements within the Row.

Regards,

Jeremy

Former Member
0 Kudos

David, a followup to Jeremy's recomendation to use the Tracer Action block.

Sometimes the long line of xml can be difficult to read in the Transaction Execution window.

Here's a tip to make it more readable (got this from Sam Castro):

Copy the [INFO ]: line and paste into a text editor

Delete the [INFO ]: portion (the line should now start with <?xml version="1.0" encoding="UTF-8"?>)

Save the file as <i>filename</i>.XML

open the file using your web browser.

Former Member
0 Kudos

A major step forward there, Jeremy! I'm getting rows and data now - the XML looks like this:

<?xml version="1.0" encoding="UTF-8" ?>

- <Rowsets DateCreated="2007-06-01T11:31:49" EndDate="2007-05-31T13:00:54" StartDate="2007-05-31T13:00:54" Version="11.5.3">

- <Rowset>

- <Columns>

<Column Description="Pounds production" MaxRange="100000" MinRange="0" Name="Production" SQLDataType="8" SourceColumn="Production" />

</Columns>

- <Row>

<Production>1612.67990269166</Production>

</Row>

</Rowset>

</Rowsets>

But now I'm not getting anything being returned to my Xacute query, neither columns or rows. I'm awfully close here but not quite there.

I really appreciate your help with this.

David

jcgood25
Active Contributor
0 Kudos

David,

Just make sure to do all of your document building (original creation and row adding) efforts on the same object and then in the final sequence add an Assignment action that maps the document to your Transaction's OutputXML property.

You may have some leftovers from your troubleshooting and xml saver efforts.

Regards,

Jeremy

Former Member
0 Kudos

So I'm left with a Document action that creates the XML rowset and column descriptions (no incoming or outgoing links but configured with the column names) followed by a Row action that links the calculation action results to individual rows in the XML and last, an Assignment action that links the XML from the Rows action to the Transaction's OutputXML property - each of the three actions is in it's own sequence.

My assignment action outgoing link is:

Object: AddRows

Property: IlluminatorDocument

Expression: Transaction.OutputXML

I've deleted the OutputXML Saver action.

I'm not getting anything back to my query, though.

erik_schrampf
Active Participant
0 Kudos

Jeremy asked me to tell you to change your link from the Illuminator Document to the OutputXML (not the Row).

Former Member
0 Kudos

It works! It's a Friday afternoon, the weekend looks great, my BLS transaction issues are resolved. Can life get any better?!

Thanks to everyone for all the help!

Former Member
0 Kudos

The assignment to OutputXML should be from the Document.Output not the Row action.

One other place to check is on the Property Detail dialog, confirm that the OutputXML property is configured as Datatype XML and that you have the Output Parameter? checked.

Answers (0)