SAP NetWeaver CE 7.1 (CE) enhancement package 1 is currently available for download as beta software on SDN. The new SAP NetWeaver Business Process Management and Business Rules Management are certainly the most prominent and biggest changes in enhancement package 1. They has received their fair chair of well deserved coverage on SDN. With the spotlight on the new BPM functionality it’s easy to forget and overlook the other enhancements that are being made to CE. One of those, and the focus of this blog, will be the new Ajax capabilities in Web Dynpro Java.
But wait, you may say. Isn’t Web Dynpro already using Ajax? No, although I always refer to WD features such as flicker free refreshes and table paging and on demand loading as ‘Ajax like’, it was all SAP developed technology under the covers to accomplish these things. With CE 7.1 enhancement package 1 we are adding Ajax to the mix – namely using the XMLHttpRequest Object as the communication mechanism between the client and the server.
Drap & Drop
What does that buy you? For starters, the much requested capability for drag & drop! Yes, drag and drop is now fully supported allowing you to drag images representing business objects onto drop targets which are highlighted in the selection color while dragging an object. Furthermore, a ‘browse and collect’ pattern is supported – allowing you, for example, to select multiple rows in a table and insert them before or after a node in another table. The item listbox as well as the tree UI control also support the browse & collect pattern. The concept of runtime authoring, the ability to re-arrange the UI elements on the screen takes the concept of drag & drop one step further. The end user has the capability to rearrange UI elements on the screen to suit their personal taste though at this point it only works in single column layout mode.
Rather than having to know the correct value for an entry in a list box, suggestion support, also known as ‘type-ahead’, will display all entries matching the pattern entered so far. The value set of the data type has to support suggestion and can include (1) static value sets defined in a dictionary simple type as well as (2) dynamic value sets combined with the OVS valuehelp service. There are certain performance considerations that have to be kept in mind with dynamic OVS help – server round trips based on the client calling the server to receive a list of matching suggestions on-demand.
Asynchronous input validation
No more waiting for input validation of numeric fields. After entering data into a simple numeric field the user can proceed to the next entry field without being blocked by any input validation which now runs asynchronously on the server. This is especially helpful for applications running over slow/high latency network connections since it speeds up the user’s data entry, not interrupting the workflow unless there’s an error. In line with input validation the new ‘onChange’ event for InputField, FormattedTextEdit, TextEdit, and ToolBarInputField will now fire only when the UI element losses focus and the value has changed
In place editing and input prompt
A new element property for input fields allows you to display descriptive text that will morph into a standard input field when it receives focus. These prompts can make the UI more self explanatory and is especially useful if no label text is displayed. This is harder to describe than to show so here’s a a brief video that shows it in action. Very cool.
As you can see, significant work goes into and effort is spent on continuously improving Web Dynpro in CE. Enjoy the new Web Dynpro for Java, a statefull UI, with all the usability and look and feel your users have come to expect from web applications these days.