Solution to use XML with Navision

I want to replace an Edifact-connection with XML. That is why, I am looking for a solution how to use XML with Navision. This can be a some kind of tool or converter, which can create or convert oders respectivly avails from Navision into XML. If you have experience or tips concerning this topic, feel free to tell me.

Use Commerce Gateway (BizTalk). I guess it will be released around the end of February 2001. I base this guess on the fact that NavisionDamgaard has promised that they will release Commerce Gateway one month after Microsoft releases their Biztalk 2000 Server. Now, BizTalk 2000 Server was released to production ust before Christmas 2000, which normally means that GA (General Availability) is around one month later. From those pieces of information, it is my gest guess that Commerce Gateway is being released around the end of February 2001. Lars Strøm Valsted Head of Project and Analysis Columbus IT Partner A/S

The NAS (Navision application Server) who comes with User Portal have XML support in the dataport object. When I check if this futures was include in NS3.0 (Beta) could I not find it, so I asked Navision about it. There answere was that it will not be includet in NS3.0, but in a comming release…

nas server is still a bit unstable now , i think we must wait for a newer one , btw where do we get 3.0b ,. is it out yet ?

quote:


Originally posted by ashram: nas server is still a bit unstable now…


In what sense is NAS unstable? This is not my experience. What have you seen? Jim Hollcraft NCSD, NCSP, MCSE, CNE, MCP, MST aka Skater http://drilldot.com Unauthorized Navision News

nas will auto shutdown suddenly when you touch dataports and even worse will shut down ie or automatically reboot/shutdown the whole system. alot of sweat developing version D/E man …

I agree the NAS is slow and unstable but I’m sure Navision will sort it out. Actually the issue is more of the fact that NAS isn’t sufficiently broad enough to support many possible XML interfaces. Aston in the UK have developed COM and COM+ based components which use XML to connect via an Interface layer to connect any device anywhere, to replace Biztalk servers and integrate seamlessly with the likes of SAP and Oracle all within a very short time period and an implementation requirement which is about 3rd of NAS. The solutions have been implemented in several commercial applications. If you would like to discuss, please let me know. Regards Alexander Pappas Head of Technology Aston UK +44 (0) 7775 777764 alexander.pappas@astonitgroup.co.uk

Why not use the microsoft XML 3.0 Automation server. This makes it very easy to read and write XML with Navision. To show what I mean the following example read http://slashdot.org/slashdot.xml into a navision table. Navigating and writting XML files are just as easy. With Navision 2.65 it should be possible to work with XML streams. CREATE(xmldoc); xmldoc.async:=FALSE; IF NOT(xmldoc.load(‘http://www.slashdot.org/slashdot.xml’)) THEN ERROR(‘help’); XMLNodelist := xmldoc.getElementsByTagName(‘story’); FOR counter := 0 TO XMLNodelist.length-1 DO BEGIN XMLNode:=XMLNodelist.item(counter); XMLNodeChildlist:=XMLNode.childNodes; xmltable.title := XMLNodeChildlist.item(0).text; xmltable.url := XMLNodeChildlist.item(1).text; xmltable.time := XMLNodeChildlist.item(2).text; xmltable.author := XMLNodeChildlist.item(3).text; xmltable.department:= XMLNodeChildlist.item(4).text; xmltable.topic := XMLNodeChildlist.item(5).text; xmltable.comments := XMLNodeChildlist.item(6).text; xmltable.section := XMLNodeChildlist.item(7).text; xmltable.image := XMLNodeChildlist.item(8).text; IF NOT(xmltable.INSERT) THEN xmltable.MODIFY; END; CLEAR(xmldoc);

quote:


With Navision 2.65 it should be possible to work with XML streams.


Tried it and - - - it works perfectly! ------- With best regards from Switzerland Marcus Fabian

Quote: Why not use the microsoft XML 3.0 Automation server. ?? Tried also – really it works perfectly. Thank’s Paul. Best regards, Hermann Netzer

Yes msxml 3.0 automation server will produce xml format, but what about mapping that may be required for application integration? The easiest way is using Commerce Gateway. Here we also use msxml 3.0 Automation Server to send XML data to NAS and then used Biztalk Server to map the schemas. Commerce Gateway is available now for 2.60 (well with CG 2.65 objects of course)database. Mario Kresnadi goodname

How can I export data from Navision into XML file? Is there any way of not using Commerce Gateway? Thanks in advance.

By the way, I realise that User Portal 2.60 has some new features in Dataport that supports XML. Will Attain 3.10 comes with it? If not, how can I just install those new features in Attain 3.01? TQ.

Hi ‘How do you write an xml file!’ Its very easy using MSXML 4.0 Automation server its just as easy as reading it in, see my slashdot code. The only thing is you must think about the structure of the XML file. There is a lot of talk about how XML is going to change the world and it is just a lot of hype it is just a method of encoding databases into text streams or files. Thats all nothing more nothing less. Read the MSXML SDK to find out all you need to know. Paul Baxter

Thanks Paul. I really need a constructive critic. I was too troubled by the problem on writing to XML from Navision and I couldn’t get any help that I overlooked your solution on this problem. Sorry about that but I really appreciate your help. :wink: Thanks again and I hope to have everyone as helpful as you’re. :wink:

quote:


Originally posted by goodmario: Yes msxml 3.0 automation server will produce xml format, but what about mapping that may be required for application integration? … Mario Kresnadi goodname


You can use the msxml component for xslt-transformation too. To create the mapping, the BizTalk Mapper is usefull tool. example: XMLTransform.async := FALSE; XMLTransform.load(‘c:\mapping.xsl’); XMLDOMDocument.transformNodeToObject(XMLTransform, XMLResult); IF XMLDOMDocument.parseError.errorCode <> 0 THEN BEGIN Temp := 'XML-Error: '+XMLDOMDocument.parseError.reason; Temp += ’ Zeile: '+FORMAT(XMLDOMDocument.parseError.line); ERROR(Temp); END; XMLResult.save(‘c:\newdoc.xml’);