I got introduced to ISR Form (Adobe Interactive forms) development few months back and it was a learning curve to exploit and experiment with the functionalities provided by Adobe. I would like to share an experience that I found really exciting and the lessons learnt from it.
One of the many advantages of integrating Adobe with SAP is that it automates the processes in a format that is user friendly – paper format.
In the venture of shifting the processes of data entering and updation to interactive forms, the user must be comfortable with value helps and other guidelines, similar to what we find in any standard format for data entry and updation processes.
One of the problems which I faced was the need to populate the drop downs with huge no: of entries. This need arises when the user has to enter a numeric value (say a numeric code), which can be filled if he is given a value help with adjoining descriptions for each code. It will be easier for the user to select the code from a list of few codes with descriptions. What if, there are thousands of similar codes in the system. Then obviously, we have to provide the user help (the drop down in Adobe forms) with so many codes.
The basic search help which Adobe forms provide for interactive forms is the drop down box. This drop down has a limit of possessing 256 values only. On applying the note – 554644, you can add up the entries to 2000000000. But this may be a bit difficult for the user to select from a huge list.
For interactive forms, if one has to develop the search help for fields that may contain say, 4000 entries, it would be impossible. The solution which I found is to filter the values as per the basic parameters that are used to categorize the basic field.
This will involve some interesting scripts and the very result which you get in the end is truly motivating for you to play with scripts and form designing.
Challenge 😉 -> To provide a help for a Adobe form field that needs to have more than 1000 entries. These requirements are bound to arise if we are automating/ simulating the usual R/3 screens to Forms for user friendly methods and to exploit the advantages provided by both technologies.
If the users are familiar with the search helps that we have in the R/3 side, they expect a similar one in the case of the form search helps too. The solution which I approached is to filter the huge no: as per the criterions that categorizes it basically. The advantage we get through this is that the search help can be designed as per our needs and it can be approached as a a standard for the customized applications.
The solution, which I found is-
1. To provide a button named “Find”.
2. On click of the button open up a sub screen with the options providing for the filter values.
3. On selecting the required parameters, the drop downs are filled accordingly.
4. Thus achieved the filtering of drop down entries from 5000 to few.
For better user friendly options, you can provide the descriptions along with the numeric codes (say personnel area text along with the personnel area code).
The drop downs in the sub screen will not be active as long as the previous drop down values in the search help screen is selected. For eg: D3 and D2 will remain inactive as long as the first drop down D1 is not selected.
Thus the no: of values in the drop down are reduced largely and the requirement is achieved.
I have used another button “Select” to close this search help screen.
Create a sub form with position parameters equal to the position where you need to place the search help screen. Add the elements which you need to display or as per your requirement. Here I have added three drop downs and a button to close the window.
Step 1: Create a button next to the text/Numeric field for which you need the search help.
Step2: Write the Form calc Scripting for the Button as below.
$.parent.SearchHelpScreen.presence = “visible”
$.parent.parent..presence = “visible”;
The scripting followed are simple scripts and the result obtained is too encouraging for a beginner.
The simple Formcalc scripts adopted above are based on the hierarchy level shown below. On making visible the search help screen, I have done a small trick 😉 which the user is not going to notice. The fields present in the main layout, which the search help sub form is overlapping, are made hidden/ invisible so that the fields in the search help sub form and the main layout get overlapped.
Point to be noted:
Once I designed this in the form level and without populating the dropdowns in the help screen and assigning events for the respective drop downs, the help was found to be working fine. But once the drop downs were populated and the events for each drop down were assigned for populating D2 and D3 as per the values entered in the previous drop downs (D1 and D2 respectively), there arise a problem.
The problem was – once you click D1 and the corresponding event was triggered, the control goes to R/3 to fetch the data for D2. Once D2 got populated, the search help screen disappears. If you click the “Find” button again, the D2 is populated as per the value previously selected in D1. The problem was the control does not come back to where the event is triggered i.e. the script editor. I would like the readers, interested, to provide solutions if you can find any. I tried scripting on controlling the appearance as per the event value.
What I did in the end, was to provide a single drop down (based on a parameter that will reduce the list to the minimum number or the parameter D2 here) in the help screen so that the filtered values get populated to a permanent field in the form (D3 in the main form). Thus the target was accomplished. Even though, I faced some troubles, the net result to make a screen appear on the click of a button, within a form, is really inspiring.
Pros and cons:
1. High user dependency. Providing innovative features like freedom to set up the screen as per the user needs and buttons. Freedom to change the colors of the screen and make the appearance exciting.
2. Exploiting the appearance and layout of the buttons and screens as to the user needs.
1. Extensive scripting may affect the performance of the forms.
2. Too many hidden screens with in a form may make the layout difficult to comprehend.
This is just an idea that clicked, to provide a search help by hiding a subform with in a form, which got realized by simple scripting. I request the readers to put more ideas which you have implemented or that can be materialized.
I also expect the readers to provide suggestions on ways to do better.
Thanks and Warm regards,