During a development of a SAP interactive form, I noticed it isn’t that easy to retrieve multiple lines of similar data (a.k.a. ‘a table’) from a webservice and dynamically populate a table from them on your Interactive form. I thought it would be worth sharing the solution I used with other Interactive forms developers.
The webservice I used was created from a remote enabled function module that uses multiple ‘tables’-parameters. When calling the webservice, the function module in the SAP back-end system is filling these tables with multiple records. On the interactive form, these records should automatically populate multiple lines in a table on the form.
This is where the problem occurs: only one record of each table is populated! Afterwards trying to read the rest of the data via scripting doesn’t work. All data is gone except for this one record per table. For populating listboxes, dropdown boxes etc, it is working fine if you bind them to the tables using the dynamic properties of these objects. However, a table on a form is build out of dynamically repeating subforms. Since subforms don’t have these dynamic properties, you cannot use this functionality.
After searching for a while on the internet, I ran into some documentation about an event I haven’t heard of before and which offered a solution to my problem: PostExecute. The strange thing about this event is that you cannot select it in the scripting editor. You can only implement it directly in the XML source. So you probably haven’t heard of it, unless you have studied the XFA reference, studied the Livecycle Designer help or already read this blog 🙂 .