Skip to Content

Attach files with save, retrieve and delete functionality in Web Dynpro ABAP – Part 1


Application for attaching files with save, retrieve & delete functionality in Webdynpro ABAP


I would like to explain the functionality of how to save,retrieve & delete files during attachments in Webdynpro ABAP application. It stores attached files in custom data base table.


Basic knowledge of Webdynpro ABAP,& OO ABAP

Step by step Process

The process is divided as below

  • Create a custom table YTR_ATTACH_FILES to store files
  • Create a WDA component with save, retrieve & delete function

In this document, just for demo purpose the business logic of saving & retrieving data from data base table has written in WDA component.

Strictly the business logic should be separated from WDA component by using a model i.e. class, function module, etc.

(Refer MVC architecture in Architecture of Webdynpro for ABAP)

Create a transparent table YTR_ATTACH_FILES

Step 1.

Go to transaction code SE11 and enter database table name YTR_ATTACH_FILES as below


Step 2:

Set the delivery & maintenance settings as below


Step 3:

Go to technical settings and maintain the entries as below 


Step 4:

Create the fields in table as below


Create a Webdynpro ABAP component


  Go to transaction code SE80 and create the Webdynpro ABAP component as below with a view V_MAIN as below


Step 2:

Go to the view context of view V_MAIN and create a node INPUT by using table name YTR_ATTACH_FILES as below



Create a node ATTACHMENT_LIST by using table name YTR_ATTACH_FILES as below


Step 4:

Create the layout by using context nodes INPUT & OUTPUT as below


Choose the editors for table columns as suggested below


Step 5:

Create a ui element FILE_UPLOAD and bind the properties as shown below


Step 6:

  Create a button BTN_ATTACH and attach an action ATTACH as below


Add the below code into event handler method ONACTIONATTACH   (to attach a file into table)


METHOD onactionattach .
  DATA lo_nd_input            TYPE REF TO if_wd_context_node.
  DATA lo_el_input            TYPE REF TO if_wd_context_element.
  DATA ls_input               TYPE wd_this->element_input.
  DATA lo_nd_attachment_list  TYPE REF TO if_wd_context_node.
  DATA lt_attachment_list     TYPE wd_this->elements_attachment_list.
  DATA ls_attachment_list     LIKE LINE OF lt_attachment_list.
  DATA lv_temp                TYPE string.

  ” Read the details of file chosen for attachment
  lo_nd_input =
  wd_context->get_child_node( name = wd_this->wdctx_input ).

* get element via lead selection
  lo_el_input = lo_nd_input->get_element( ).

* get all declared attributes
      static_attributes = ls_input ).

  ” return if nothing to do
  IF ls_input-file_data is INITIAL.
    ” Notify the user, please choose a file

  ” Read the attachment list
* navigate from <CONTEXT> to <ATTACHMENT_LIST> via lead selection
  lo_nd_attachment_list =
    wd_context->get_child_node( name = wd_this->wdctx_attachment_list ).

  IMPORTING table = lt_attachment_list ).

  ” Prepare data to save
  CLEAR ls_attachment_list.
  ls_attachment_list-mandt = sy-mandt.
  ls_attachment_list-uname = sy-uname.
  ” Generate Unique identifier
    ls_attachment_list-guid = cl_system_uuid=>create_uuid_c22_static( ).
    CATCH cx_uuid_error.  ” Error Class for UUID Processing Errors.

  ls_attachment_list-file_data = ls_input-file_data.

  ” get file name from path
  WHILE ls_input-file_name CA ‘\’.
    SPLIT ls_input-file_name AT ‘\’
    INTO lv_temp ls_input-file_name.
  ls_attachment_list-file_name = ls_input-file_name.

  ls_attachment_list-file_type = ls_input-file_type.
  ls_attachment_list-erdat = sy-datum.
  ls_attachment_list-erzet = sy-timlo.
  ls_attachment_list-status = abap_false.”attachment is new

  APPEND ls_attachment_list TO lt_attachment_list.

  ” Bind data to context
      new_items            =    lt_attachment_list




Attach files with save, retrieve and delete functionality in Web Dynpro ABAP – Part 2

You must be Logged on to comment or reply to a post.
  • When we are binding property "Data" to FILE_DATA of Input node on Upload UI. We get error that "Property Data is not type Compatible with context element FILE_DATA". The data type in table for this is RAWSTRING.Is that is the reason ?

        • Oh, there is an issue.

          It works fine in NW 7.31. I think you are not meeting this system requirement.

          Please change data type of your FILE_DATA to XSTRING in context node( don't use table field reference ).

          While saving data pass this data to your table field of type RAWSTRING.

          Hope this resolves your issue.



          • Hi Ramakrishna,

               Thanks for the Post,It helped me to solve one of my major requirement.

                        If I want to view the file again in the same format(means preview) how can i achieve this?

          • Hi Rohith,

            Good to hear that this document helped you.

            In the table there is file download ui element ( i.e. file name as hyper link ) click on that, so that you would be able to open it its original format.



          • Hi Ramakrishna,

               Thanks for your replies so far.the issue had resolved.

                   I had a requirement to call a Custom Report in Webdynpro and show the output in Webdynpro by passing some values as input to the report(eg: vendor).

                    Can u please help me on this.



    Hello Ramakrishna,

    Can you please advise what is the type of element you used for TC_INPUT. I am trying with LayoutContainer and it is giving different ICON and also tried with other types which could not help me.

    Thanking you in Anticipation