Back to SDK Support...

Different Transaction XML between IMan 3 and 4 (assumption) (5 replies)

Randy
1 year ago
Randy 1 year ago

In my connector code, when iterating over the Transaction objects, I export the XML of the Transaction (accessed via Transaction.Data.OuterXml).  When I look at the output on my local machine (where the connector development happens) AND on one of our test machines (both on IMan 3.2 PU1), I see an XML structure which includes a RECORD node, FIELD nodes, VALUES nodes, and VALUE nodes.

<RECORD timestamp="12:33:38:938"><FIELD name="sku"><VALUES><VALUE>A11050</VALUE></VALUES></FIELD></RECORD>

When I look at the same output from a machine where IMan 4.0 is installed, the XML is quite different.  The export of this data looks like this

<RECORD><WCHY>11104</WCHY><PLMT>4</PLMT></RECORD>

. Unfortunately, this breaks my recent update to the RAPID Web Sync, as I cannot parse this XML in the same way as before.

Is there a reason why the XML is so different now?  Is it possible to bring back the old XML with RECORD, FIELD, VALUES, and VALUE nodes?

Support
1 year ago
Support 1 year ago

Hi Randy,

We won't be going back to the old data structure I'm afraid.

These changes were all part of the performance improvements in V4.0, as you can see, even with this small example, the new data structure is far more efficient.

Drop me an email on why you needed the XML and I'll see if we can find a better way for you to get what you need, accessing the XML directly doesn't seem like a good solution.

Nick

Support
1 year ago
Support 1 year ago

Randy, why are you even trying to parse our internal data structure? In another forthcoming version you won't be able to access any Xml.

ITransformProcess.Initialise takes as one argument an TransactionIterator.

You need to use that and not the underlying data structure. 

Thanks

 

Support
1 year ago
Support 1 year ago

Please also note that the TransactionIterator (and close cousin TransactionSelector) are the only means we use to iterate and transform data.

Randy
1 year ago
Randy 1 year ago

I’m looking for a way to look at the data INSIDE of an individual Transaction object.

The TransactionIterator appears to only iterator OVER the Transaction objects.

Additionally, the Transaction object itself appears to only allow querying of individual fields.  Is it possible to pull data from a Transaction object without knowing the fieldnames in advance?  In the first iteration of the RAPIDWebSync I used Transaction.Definition to get a collection of TransformRecordField objects.  Is that functionality safe to keep using?

Support
1 year ago
Support 1 year ago

Randy, correct the TransactionIterator does only iterate over Transaction objects.

Yes, the Transaction.Definition is still safe to use; we won't ever break this functionality. 

You may notice BulkGetValue in v4, but you won't be able to use this since it requires a call to a parent object (TransactionFactory) prior to the creation of the TransactionIterator (which is too late for you).

You also have Transaction.Definition.FieldIds() which will return a list of the field ids (and is supremely quick since it returns the index cache).

I hope this helps.

Contact

Realisable Software Ltd provides code-free, cost-effective applications integration solutions for SMEs. Our core IMan product is designed to integrate almost any application with a number of Sage solutions and online payment processors.

Looking to purchase IMan, please see our resellers here.

Realisable Software
Ph: +44 (0) 208 123 1017

Copyright © Realisable. All rights reserved.
Realisable is a registered trademark

Close

Request Demo

Realisable Software Ltd provides code-free, cost-effective applications integration solutions for SMEs. Our core IMan product is designed to integrate almost any application with a number of Sage solutions and online payment processors.

Looking to purchase IMan, please see our resellers here.

Realisable Software
Ph: +44 (0) 208 123 1017

Copyright © Realisable. All rights reserved.
Realisable is a registered trademark

Close

Access Downloads

Realisable Software Ltd provides code-free, cost-effective applications integration solutions for SMEs. Our core IMan product is designed to integrate almost any application with a number of Sage solutions and online payment processors.

Looking to purchase IMan, please see our resellers here.

Realisable Software
Ph: +44 (0) 208 123 1017

Copyright © Realisable. All rights reserved.
Realisable is a registered trademark

Close