Working on UWL with CL_GUI_FRONTEND_UTILITIES
Author : Rakesh Kumar Verma
Email : firstname.lastname@example.org
1. Document Objective. 3
Target Audience - : 3
2. Document Details. 4
a. CL_GUI_FRONTEND_UTILITIES - : 4
b. Universal Work List (UWL) - : 4
c. Problem description - : 4
d. Work around: 4
e. Solution - : 5
3. Details with screen shots: 6
4. Effort saved. 12
1. Document Objective
This document describes the solution for a problem with the use of CL_GUI_FRONTEND_UTILITIES class methods on UWL.
Target Audience - : This document is targeted for Technical and Functional resources developing the functionality of file upload from SAP Workflow Workitem on portal.
2. Document Details
- CL_GUI_FRONTEND_UTILITIES - : This is the SAP standard class that is provided for general uses like FIL_OPEN_DIALOG which supports the process (After it GUI_UPLOAD) of upload file from SAP Presentation server to any destinations (Whether it is UNIX server, Archive server etc). After ECC 4.6, SAP made WS_UPLOAD and similar FM’s obsolete and introduced new class with some static methods to use for similar functionalities.
- Universal Work List (UWL) - : Whenever we are using Portal with SAP Workflow, UWL is the general term that we come across. UWL is the only way to access SAP Inbox from the portal side. This is a standard sap functionality that provides interface for accessing and executing workitems from a single inbox in portal. It is a component of the portal exclusively provided for workflow messages as well as workitems.
- Problem description - : Workflow for functionality within SAP-Project System was already developed. It could be used from either SAP Inbox or from Portal worklist. A module pool screen was developed for this work item. User had a button on the module pool screen for uploading file/s as supporting evidences like JPEG, DOC and PDF etc. This functionality worked well from SAP Inbox as CL_GUI_FRONTEND_UTILITIES class was used along with its method FILE_OPEN_DIALOG for selection file from desktop (Presentation server). However when being accessed from UWKL, the system would hang and there would be no response.
Initial analysis including debugging did not reflect the root cause . All the custom developed methods for the workflow were working fine. It was clearly visible that CL_GUI_FRONTEND_UTILITIES methods are not supported for UWL because it was working successfully via SAP Inbox.
For translation of pages from SAP to Portal worklist, SAP uses ITS(Internet Transaction Server). This again used frontend interface for interacting with presentation servers. In such a scenario, the ITS server FM’s were creating an issue for portal by not displaying any pages and causing the system to hang or generate no response.
- Work around: As a workaround the development of a WebDynpro screen developed and using its file upload functionality was identified. This however would result in additional man hours of development since a WebDynpro screen had to be built for each of the 7 workflows that had a different module pool screen.
- Solution - : After subsequent research, it was found that whenever we use UWL for calling any frontend utilities, it uses ITS for translations. With the ITS, it was using Microsoft Virtual Machine (MVM) or Java Virtual Machine(JVM) to call external program to perform the task. But with release 6.20, Portal has stopped supporting MVM for these utilities and only JVM is supported henceforth.
Hence the issue of the system not responding or hanging when calling CL_GUI_FRONTEND_UTILITIES=>FILE_OPEN_DIALOG method, was because it required that JVM be installed in the system and it must be selected in default internet browser.
3. Details with screen shots:
- In SAP Inbox , a workitem with a module pool screen having the button to call for CL_GUI_FRONTEND_UTILITIES=>FILE_OPEN_DIALOG
As you can see above, file open dialog displayed. In the next step we will access this work item via the Portal
- Portal Worklist
After clicking on the button, when it call frontend utilities, the system either hangs or does not respond
- We need to check the settings that we have in our default browser for Virtual Machine.
Here you can see that JAVA is not enabled but Microsoft VM is enabled for Applets. We need to change the settings from MVM to JVM for JAVA applets as it is no longer supported by Portal.
- Now, again accessing the same work item from portal.
Now, instead of hanging/not responding, it will use JAVA and display the Applet window which will be same as File Open Dialog.
4. Effort saved
This solution reduced considerable effort since it avoided the development of any new WebDynpro application for the upload of the file.
No. of Workflow affected: 7
No. of man days of effort saved:
7(Workflow) X 10 mandays (For developing WebDynpro) X 3 man days (for changing workflows) = 210 man days of effort