Receiving iDOCs from SAP in Ignition SCADA

Hi is there an existing adapter in Ignition SCADA that can receive the iDOCs from SAP?

Nothing built in, but maybe this means something to you? IDOC Integration from SAP to Ignition for MES Implementation - #2 by MESConsultant

Sounds like maybe they set up an endpoint in Ignition using the WebDev module that SAP could HTTP POST to?

1 Like

Yes, we used the SAP to WEBDEV to Ignition database.

1 Like

Yes, this sounds right, Setup WebDev module that SAP could HTTP Post to and then I could parse the XML payload in ignition and insert into database or do whatever I want with the data.

Alternative is to develop bespoke service in Visual Studio that implements interface which parses the data and saves it in the database.

would you be able to provide some high level examples with the parser? Obviously not sharing any business sensitive data.

Honestly, after receiving the XML, we haven’t completed the rest yet. Other tasks came up, but we aimed to do it using the Python XML library.

As MESConsultant said:

Honestly, after receiving the XML, we haven’t completed the rest yet. Other tasks came up, but we aimed to do it using the Python XML library.

Go this route use the Python XML library it's what we did from there I've converted data to JSON, as well as moving it into other tables.

Another note: Currently what I have through webdev is the data is received and stored as VARBINARY in a cache table with another column called process_time a script then runs to process the XML --> JSON/Moved to a table then process_time is updated instead of NULL. This script helps to always keep the newest data processing and it wont reprocess older data.

When converted to JSON I use the markdown tool to display the data.

You really shouldn't, especially if there's any international characters in your traffic. Use java's XML libraries instead. Some functions to get you started:

https://www.automation-pros.com/ignition/xml.py

2 Likes