Adobe Interactive Forms vs. Microsoft Infopath in SAP
Please note, these are all my own personal views and are not in any way representative of the company I work for.
At Whirlpool, I have been working with two form building utilities for SAP. I was looking at these solutions for creating an offline expense reporting tool for SAP’s Travel Management module. One of them is Adobe Interactive Forms and the other is Microsoft Infopath. Both of these are extremely powerful tools that allow you to quickly create forms. What’s even better, is that given a web service, both of them can create a form that molds to it in a matter of a few clicks.
The Scenario
A tool is needed to be developed to allow for an employee to create an expense report while traveling on the plane. Like e-mail, this tool should be able to synchronize all data when it is first launched. When offline, the traveler should be able to fill out the expense report as if at the office, connected to the network. When the traveler comes back online, the report would synchronize again and submit the data that has been changed. We believed that the best solution for our scenario was to create web services that would allow us to accomplish all of the synchronizing calls to the back end system.
Adobe Interactive Forms
Adobe Interactive Forms seemed to be the most widely used method by companies that use SAP. When looking online and through documentation, creating them to use web services didn’t seem to be used at all. I investigated and poked and prodded until I was able to find that you can access Adobe LIveCycle Designer directly from: “C:\Program Files\Adobe\Designer 7.1\FormDesigner.exe” without having to go through SAP NetWeaver. From here I was able to bind it to a WSDL file, but for some reason it would never submit the data, or receive anything back. Clicking a button did nothing. It was like an HTML input button w/o a form surrounding it. After a few attempts to get it to work, I noticed that if I click on the button, go over to the “Execute” tab, then tell it to post to server, and not the client, then it appears to do something.
Then I went and tried to submit the form and this is the result that I got
I was never able to find a solution to this error, as descriptive as it is.
Microsoft Infopath
Using Microsoft Infopath, File->Design a form
You want to send and receive data from this web service
Then manually type in the address to your WSDL file.
Click next a few times until you get to this screen, and choose to send the entire XML file.
Now, expand all your fields and drag the queryFilter folder into the top box, and choose the relevant selection. I was using BAPI_GET_USER_DETAILS
Do the same with the lower field.
Preview the form and you should have a fancy web service running with Microsoft Infopath.
Near the time we were going to get into the thick of the tools, we had the web services take a dump on us. I was investigating how we were going to create web services for our travel expense solution when our project stopped. It was a shame as it was interesting to see how such powerful functionality can be built in a relatively short amount of time.