AcfUpDownload
The AcfUpDownload enables large files to be uploaded and downloaded when parameter WDLIGHTSPEED is activated. Files up to 5GB can be sent and received by AcfUpDownload.

In the back end (content server) the file size is restricted. Presently, the content server supports files up to a size of 2 GB.

The integration of AcfUpDownload in Web Dynpro ABAP dialog boxes (popups) is not supported.
The upload/download takes place from a KPro content server to the local file system. The actual data exchange between the content server and Web Dynpro takes place using the ACF protocol.
More information:
●
Knowledge
Provider (KPro)
Like for OfficeControl methods can be executed; the CL_WDR_ACFUPDOWNLOAD_HNDL ACF method handler is required for this.
Unlike other Web Dynpro ABAP UI elements, AcfUpDownload is implemented in a way that means the action can only be triggered by a method call. For AcfUpDownload, an upload/download only takes place with one of the following method calls:
IF_WD_ACFUPDOWNLOAD_SCMS~HTTP_PUT
IF_WD_ACFUPDOWNLOAD_SCMS~HTTP_GET

Currently, the upload/download of large files from the application server without KPro is not possible.
The following prerequisites must be fulfilled to enable AcfUpDownload to function smoothly on a client:
● Installation of a Sun Java plug-in (Java 5 or higher)
More information: SAP note 1178747.
●
Presence of a valid
white list XML file.
For Microsoft Windows this is %APPDATA%\SAP
Since rendered pages are normally displayed in a Web browser connected to the Internet in Web Dynpro, security aspects must be considered for UI elements like AcfUpDownload. This is especially important due to the generic structure of AcfUpDownload.
There are therefore the following security measures for AcfUpDownload:
● AcfUpDownload only communicates with authorized servers.
● Data can only be stored in authorized directories.
● Data can only be read from authorized directories.
The authorized servers and directories are listed in a white list (an administrator stores this information locally using transactions WDR_ACF_WLIST and ACF_WHITELIST_SETUP). If requests for access to directories or communication with servers are sent using HTTP or HTTPS, the control first checks whether this is allowed at all. It then compares the directories or servers in question with the data in the local white list file. It only executes the relevant methods if the authorization is set in the white list.
For more information see the SAP Implementation Guide (IMG). In transaction SPRO, choose Display SAP Reference IMG. The path in the Implementation Guide for SAP NetWeaver is: Application Server ® Web Dynpro ABAP ® Set Up Whitelist for Active Controls and Activate Whitelist for Active Controls.
Note the following if the application calls ‘get’ for AcfUpDownload and the file is already available on the client:
● For each method, a large number of files can be downloaded; for each file, another error could occur.
However, there is only one error string with one error code. This means that only the first error is ever returned and written to the context.
● There are two different types of ‘get’ method: With and without an override flag.
● There is an onCompleted event for which an application can register (or not) with an action.
The application calls ‘get’ without an override flag and has not registered for onCompleted.
● In this case, the value 210 (FILE_PRESENT) is contained in the error string of the context, followed by a space and a comma-separated list of existing files.
● If another error occurs beforehand, this other error is in the context instead.
The application calls ‘get’ without an override flag and has registered for onCompleted.
● In this case, the value 210 (FILE_PRESENT) is contained in the error string of the context, followed by a space and a comma-separated list of existing files.
In addition, the application receives an event with status 210 plus the comma-separated list as a statusMessage.
● If another error occurs beforehand, this other error is in the event instead.
The application calls ‘get’ with override flag = true.
● The local file is replaced by a newly downloaded file.
● This does not influence the error string for the context or the event value.
The application calls ‘get’ with override flag = false.
● The existing local file is retained.
● This does not influence the error string for the context or the event value.
Runtime Class |
CL_WD_ACF_UP_DOWNLOAD |
Properties in the View Designer
Name |
Type |
Initial Value |
Bindable |
ID |
STRING |
(automatic) |
No |
STRING |
|
Yes |
|
STRING |
|
Yes |
|
WDUI_CONTEXT_MENU_BEHAVIOUR |
inherit |
No |
|
WDY_MD_UI_ELEMENT_REFERENCE |
|
No |
|
WDY_BOOLEAN |
true |
Yes |
|
STRING |
|
Yes |
|
Translatable text |
|
Yes |
|
WDUI_VISIBILITY |
visible |
Yes |
|
STRING |
|
Yes |
Events in the View Designer
Name |

Other properties that can be inherited are defined in the associated higher-level classes. The associated UI elements are:
● UIElements
● ViewElements
For dynamic programming, the same properties, events, and aggregations as in the View Designer are available. Bear in mind the different spellings.
Dynamic Programming of Properties
View Designer Name |
Runtime Name |
Type |
ARCHIVES |
STRING |
|
CLASS |
STRING |
|
CONTEXT_MENU_BEHAVIOUR |
WDUI_CONTEXT_MENU_BEHAVIOUR |
|
contextMenuBehaviour: inherit |
CL_WD_ACF_UP_DOWNLOAD=>E_CONTEXT_MENU_BEHAVIOUR-INHERIT |
|
contextMenuBehaviour: provide |
CL_WD_ACF_UP_DOWNLOAD=>E_CONTEXT_MENU_BEHAVIOUR-PROVIDE |
|
contextMenuBehaviour: suppress |
CL_WD_ACF_UP_DOWNLOAD=>E_CONTEXT_MENU_BEHAVIOUR-SUPPRESS |
|
CONTEXT_MENU_ID |
WDY_MD_UI_ELEMENT_REFERENCE |
|
ENABLED |
WDY_BOOLEAN |
|
HEIGHT |
STRING |
|
TOOLTIP |
WDY_MD_TRANSLATABLE_TEXT |
|
VISIBLE |
WDUI_VISIBILITY |
|
visible: none |
CL_WD_ACF_UP_DOWNLOAD=>E_VISIBLE-NONE |
|
visible: visible |
CL_WD_ACF_UP_DOWNLOAD=>E_VISIBLE-VISIBLE |
|
WIDTH |
STRING |
|
Dynamic Programming of Events
View Designer Name |
Runtime Name |
ON_COMPLETED |
You can find an example of this UI element in the system in the SWDP_TEST_ACTIVE_COMPONENT package in the WD_TEST_APPL_ACFUPDOWN component.