Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to view XLS attachment in gmail , send mail from ABAP program with XLS attachment

Former Member
0 Kudos

Hi All,

I have written logic for send an email with XLS attachment to external mail ids. I am able to send mails with XLS attachment but unable to view the document without downloading in gmail.

I am using function module  SO_DOCUMENT_SEND_API1 for sending email with XLS attachment.

Kindly help me to resolve this .

Message was edited by: Matthew Billingham - removed ASAP

5 REPLIES 5

Former Member
0 Kudos

Dear Jwaladeepa,

Can you try it below mentioned code:

*       Title

        CLEAR w_document_data.

        CONCATENATE text-001 i_belnr

        INTO w_document_data-obj_descr

        SEPARATED BY space.

        w_document_data-sensitivty = 'F'.

        w_document_data-obj_langu = sy-langu.

        w_document_data-no_change = 'X' .

        w_document_data-expiry_dat = sy-datum + 30.

*       Mail content

        CLEAR s_packing_list.

        s_packing_list-transf_bin = space.

        s_packing_list-head_start = 1.

        s_packing_list-head_num = 0.

        s_packing_list-body_start = 1.

        DESCRIBE TABLE  t_corps_mail LINES s_packing_list-body_num.

        s_packing_list-doc_type = 'RAW'.

        APPEND s_packing_list TO    t_packing_list

OPEN DATASET w_path

                FOR INPUT

                IN BINARY MODE

                MESSAGE msg.

          IF sy-subrc = 0.

    DO.

              CLEAR s_data.

              READ DATASET w_path INTO s_data.

              IF sy-subrc <> 0.

                EXIT.

              ENDIF.

              APPEND s_data TO t_data.

            ENDDO.

          ENDIF.

          CLOSE DATASET w_path.

        READ TABLE t_data INTO s_data INDEX 1.

        DATA : w_output_length TYPE i.

          CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'

            EXPORTING

              buffer                = s_data

           IMPORTING

             output_length         = w_output_length

            TABLES

              binary_tab            =  t_data_char

          IF sy-subrc = 0.

            APPEND LINES OF t_data_char TO t_contents_bin.

            s_packing_list-transf_bin = 'X'.

            s_packing_list-head_start = 1.

            s_packing_list-head_num   = 1.

            s_packing_list-body_start = 1.

            DESCRIBE TABLE t_data_char

            LINES s_packing_list-body_num.

            s_packing_list-doc_type   =  k_type_pdf.

            s_packing_list-obj_name = 'NAME'.

           s_packing_list-obj_descr = 'DESC'.

           s_packing_list-doc_size  = w_output_length.

          APPEND s_packing_list TO t_packing_list.

        CLEAR s_receivers.

        s_receivers-receiver = w_receiver.

        s_receivers-rec_type = 'U'.

        APPEND s_receivers TO t_receivers.

        CALL FUNCTION 'SO_DOCUMENT_SEND_API1'

        EXPORTING

          document_data              = w_document_data

          sender_address            =  w_sender 

          put_in_outbox              = 'X'

          commit_work                = 'X'

        TABLES

          packing_list               = t_packing_list

          contents_bin               = t_contents_bin    

          contents_txt               = t_corps_mail

          receivers                  = t_receivers

        EXCEPTIONS

          too_many_receivers         = 1

          document_not_sent          = 2

          document_type_not_exist    = 3

          operation_no_authorization = 4

          parameter_error            = 5

          x_error                    = 6

          enqueue_error              = 7

          OTHERS                     = 8.

if sy-subrc = 0.

endif.

Regards,

Akshath

matt
Active Contributor
0 Kudos

Don't use that function module. Use class CL_BCS and associated class. Search SCN for details on how to use it.

Your problem seems to be more to do with gmail or your browser than ABAP. The way attachments are handled depends upon the set up of the email reader.

(Note: using phrases like ASAP are contrary to the rules of engagement - I have edited your posting).

Former Member
0 Kudos

Your problem is related to browser try to open with internet explorer.From SAP end it is Fine.

0 Kudos

Please try xml format which are also open in excel format i am posting code for that

form process_xml_data .

* Creating a ixml Factory

   l_ixml = cl_ixml=>create( ).

* Creating the DOM Object Model

   l_document = l_ixml->create_document( ).

* Create Root Node 'Workbook'

   l_element_root  = l_document->create_simple_element( name = 'Workbook'  parent = l_document ).

   l_element_root->set_attribute( name = 'xmlns'  value = 'urn:schemas-microsoft-com:office:spreadsheet' ).

   ns_attribute = l_document->create_namespace_decl( name = 'ss'  prefix = 'xmlns'  uri = 'urn:schemas-microsoft-com:office:spreadsheet' ).

   l_element_root->set_attribute_node( ns_attribute ).

   ns_attribute = l_document->create_namespace_decl( name = 'x'  prefix = 'xmlns'  uri = 'urn:schemas-microsoft-com:office:excel' ).

   l_element_root->set_attribute_node( ns_attribute ).

* Create node for document properties.

   r_element_properties = l_document->create_simple_element( name = 'TEST_REPORT'  parent = l_element_root ).

   l_value = sy-uname.

   l_document->create_simple_element( name = 'Author'  value = l_value  parent = r_element_properties  ).

* Styles

   r_styles = l_document->create_simple_element( name = 'Styles'  parent = l_element_root  ).

* Style for Header

   r_style  = l_document->create_simple_element( name = 'Style'   parent = r_styles  ).

   r_style->set_attribute_ns( name = 'ID'  prefix = 'ss'  value = 'Header' ).

   r_format  = l_document->create_simple_element( name = 'Font'  parent = r_style  ).

   r_format->set_attribute_ns( name = 'Bold'  prefix = 'ss'  value = '1' ).

   r_format  = l_document->create_simple_element( name = 'Interior' parent = r_style  ).

   r_format->set_attribute_ns( name = 'Color'   prefix = 'ss'  value = '#60bce5' ).  "#92D050

   r_format->set_attribute_ns( name = 'Pattern' prefix = 'ss'  value = 'Solid' ).

   r_format  = l_document->create_simple_element( name = 'Alignment'  parent = r_style  ).

   r_format->set_attribute_ns( name = 'Vertical'  prefix = 'ss'  value = 'Center' ).

   r_format->set_attribute_ns( name = 'WrapText'  prefix = 'ss'  value = '1' ).

   r_border  = l_document->create_simple_element( name = 'Borders'  parent = r_style ).

   r_format  = l_document->create_simple_element( name = 'Border'   parent = r_border  ).

   r_format->set_attribute_ns( name = 'Position'  prefix = 'ss'  value = 'Bottom' ).

   r_format->set_attribute_ns( name = 'LineStyle'  prefix = 'ss'  value = 'Continuous' ).

   r_format->set_attribute_ns( name = 'Weight'  prefix = 'ss'  value = '1' ).

   r_format  = l_document->create_simple_element( name = 'Border'   parent = r_border  ).

   r_format->set_attribute_ns( name = 'Position'  prefix = 'ss'  value = 'Left' ).

   r_format->set_attribute_ns( name = 'LineStyle'  prefix = 'ss'  value = 'Continuous' ).

   r_format->set_attribute_ns( name = 'Weight'  prefix = 'ss'  value = '1' ).

   r_format  = l_document->create_simple_element( name = 'Border'   parent = r_border  ).

   r_format->set_attribute_ns( name = 'Position'  prefix = 'ss'  value = 'Top' ).

   r_format->set_attribute_ns( name = 'LineStyle'  prefix = 'ss'  value = 'Continuous' ).

   r_format->set_attribute_ns( name = 'Weight'  prefix = 'ss'  value = '1' ).

   r_format  = l_document->create_simple_element( name = 'Border'   parent = r_border  ).

   r_format->set_attribute_ns( name = 'Position'  prefix = 'ss'  value = 'Right' ).

   r_format->set_attribute_ns( name = 'LineStyle'  prefix = 'ss'  value = 'Continuous' ).

   r_format->set_attribute_ns( name = 'Weight'  prefix = 'ss'  value = '1' ).

* Style for Data

   r_style1  = l_document->create_simple_element( name = 'Style'   parent = r_styles  ).

   r_style1->set_attribute_ns( name = 'ID'  prefix = 'ss'  value = 'Data' ).

   r_border  = l_document->create_simple_element( name = 'Borders'  parent = r_style1 ).

   r_format  = l_document->create_simple_element( name = 'Border'   parent = r_border  ).

   r_format->set_attribute_ns( name = 'Position'  prefix = 'ss'  value = 'Bottom' ).

   r_format->set_attribute_ns( name = 'LineStyle'  prefix = 'ss'  value = 'Continuous' ).

   r_format->set_attribute_ns( name = 'Weight'  prefix = 'ss'  value = '1' ).

   r_format  = l_document->create_simple_element( name = 'Border'   parent = r_border  ).

   r_format->set_attribute_ns( name = 'Position'  prefix = 'ss'  value = 'Left' ).

   r_format->set_attribute_ns( name = 'LineStyle'  prefix = 'ss'  value = 'Continuous' ).

   r_format->set_attribute_ns( name = 'Weight'  prefix = 'ss'  value = '1' ).

   r_format  = l_document->create_simple_element( name = 'Border'   parent = r_border  ).

   r_format->set_attribute_ns( name = 'Position'  prefix = 'ss'  value = 'Top' ).

   r_format->set_attribute_ns( name = 'LineStyle'  prefix = 'ss'  value = 'Continuous' ).

   r_format->set_attribute_ns( name = 'Weight'  prefix = 'ss'  value = '1' ).

   r_format  = l_document->create_simple_element( name = 'Border'   parent = r_border  ).

   r_format->set_attribute_ns( name = 'Position'  prefix = 'ss'  value = 'Right' ).

   r_format->set_attribute_ns( name = 'LineStyle'  prefix = 'ss'  value = 'Continuous' ).

   r_format->set_attribute_ns( name = 'Weight'  prefix = 'ss'  value = '1' ).

* Worksheet

   r_worksheet = l_document->create_simple_element( name = 'Worksheet'  parent = l_element_root ).

   r_worksheet->set_attribute_ns( name = 'Name'  prefix = 'ss'  value = '  ' ).

* Table

   r_table = l_document->create_simple_element( name = 'Table'  parent = r_worksheet ).

*  r_table = l_document->create_simple_element( name = 'Data' Value = ' ' parent = l_element_root ).

   r_table->set_attribute_ns( name = 'FullColumns'  prefix = 'x'  value = '1' ).

   r_table->set_attribute_ns( name = 'FullRows'     prefix = 'x'  value = '1' ).

*  r_table->set_attribute_ns( name = 'ExpandedRowCount'     prefix = 'x'  value = '1' ).

* Column Formatting

   r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

   r_column->set_attribute_ns( name = 'Width'  prefix = 'ss'  value = '70' ).

   r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

   r_column->set_attribute_ns( name = 'Width'  prefix = 'ss'  value = '90' ).

   r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

   r_column->set_attribute_ns( name = 'Width'  prefix = 'ss'  value = '140' ).

   r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

   r_column->set_attribute_ns( name = 'Width'  prefix = 'ss'  value = '100' ).

   r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

   r_column->set_attribute_ns( name = 'Width'  prefix = 'ss'  value = '90' ).

   r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

   r_column->set_attribute_ns( name = 'Width'  prefix = 'ss'  value = '80' ).

   r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

   r_column->set_attribute_ns( name = 'Width'  prefix = 'ss'  value = '70' ).

    r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

   r_column->set_attribute_ns( name = 'Width'  prefix = 'ss'  value = '50' ).

* Column Headers Row

*  r_row = l_document->create_simple_element( name = 'Row'  parent = r_table ).

*  r_column = l_document->create_simple_element( name = 'Column'  parent = r_table ).

*  r_column->set_attribute_ns( name = 'AutoFitHeight'  prefix = 'ss'  value = '90' ).

*

*

*  r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_column ).

*  r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

*  r_data = l_document->create_simple_element( name = 'Data'  value = ' ' parent = r_cell ).

*  r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Column Headers Row

   r_row = l_document->create_simple_element( name = 'Row'  parent = r_table ).

*  r_row->set_attribute_ns( name = 'AutoFitHight'  prefix = 'ss'  value = '1' ).

* Sr. No.

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* User Name

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Full Name

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Blank Row

   r_row = l_document->create_simple_element( name = 'Row'  parent = r_table ).

* Column Headers Row

   r_row = l_document->create_simple_element( name = 'Row'  parent = r_table ).

   r_row->set_attribute_ns( name = 'AutoFitHeight'  prefix = 'ss'  value = '1' ).

* Sr. No.

*  r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

*  r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

*  r_data = l_document->create_simple_element( name = 'Data'  value = 'Sr. No.'  parent = r_cell ).

*  r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* User Name

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Vendor Code'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Full Name

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Vendor Name'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Department

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Cheque No'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Department

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Cheque Date'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Department

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Document No'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Department

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Invoice No'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Department

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Invoice Date'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Department

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Amount'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

** Login

*  r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

*  r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

**  CONCATENATE 'Login - ' lv_date+6(2) '/' lv_date+4(2) '/' lv_date+0(4) INTO l_value.

*  r_data = l_document->create_simple_element( name = 'Data'  value = l_value  parent = r_cell ).

*  r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Blank Row after Column Headers

*  r_row = l_document->create_simple_element( name = 'Row'  parent = r_table ).

*  r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

*  r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

*

*  r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

*  r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

*

*  r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

*  r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

*

*  r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

*  r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

*

*  r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

*  r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

* Data Table

   loop at it_payr into wa_payr.

     r_row = l_document->create_simple_element( name = 'Row'  parent = r_table ).

* Sr. No.

*    r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

*    r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

*    l_value = sy-tabix.

*    CONDENSE l_value NO-GAPS.

*    r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).           " Data

*    r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'Number' ).                               " Cell format

* User Name

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

     l_value = wa_payr-lifnr.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).           " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                               " Cell format

* Full Name

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

     l_value = wa_payr-znme1.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).           " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                               " Cell format

* Department

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

     l_value = wa_payr-chect.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).           " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                               " Cell format

* Login

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

     l_value = wa_payr-pridt.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).          " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                              " Cell format

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

     l_value = wa_payr-vblnr.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).          " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                              " Cell format

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

     l_value = wa_payr-xblnr.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).          " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                              " Cell format

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

     l_value = wa_payr-budat.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).          " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                              " Cell format

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

*    on change of wa_payr-vblnr.

       l_value = wa_payr-rwbtr.

*    endon.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).          " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                              " Cell format

on change of wa_payr-vblnr.

     total = total + wa_payr-rwbtr.

endon.

   endloop.

* Column Headers Row

   r_row = l_document->create_simple_element( name = 'Row'  parent = r_table ).

   r_row->set_attribute_ns( name = 'AutoFitHeight'  prefix = 'ss'  value = '1' ).

* Sr. No.

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'Total'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

     r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

     r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Data' ).

     l_value = total.

     r_data = l_document->create_simple_element( name = 'Data'  value = l_value   parent = r_cell ).          " Data

     r_data->set_attribute_ns( name = 'Type'  prefix = 'ss'  value = 'String' ).                              " Cell format

* Column Headers Row

   r_row = l_document->create_simple_element( name = 'Row'  parent = r_table ).

   r_row->set_attribute_ns( name = 'AutoFitHeight'  prefix = 'ss'  value = '1' ).

* Sr. No.

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* User Name

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = ' '  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = ' '  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Full Name

   r_cell = l_document->create_simple_element( name = 'Cell'  parent = r_row ).

   r_cell->set_attribute_ns( name = 'StyleID'  prefix = 'ss'  value = 'Header' ).

   r_data = l_document->create_simple_element( name = 'Data'  value = 'This is a computer generated reittance advice.'  parent = r_cell ).

   r_data->set_attribute_ns( name = 'Type'  prefix = 'ss' value = 'String' ).

* Creating a Stream Factory

   l_streamfactory = l_ixml->create_stream_factory( ).

* Connect Internal XML Table to Stream Factory

   l_ostream = l_streamfactory->create_ostream_itable( table = l_xml_table ).

* Rendering the Document

   l_renderer = l_ixml->create_renderer( ostream  = l_ostream  document = l_document ).

   l_rc = l_renderer->render( ).

* Saving the XML Document

   l_xml_size = l_ostream->get_num_written_raw( ).

endform.                    " process_xml_data

0 Kudos

If you want to use xlsx format, don't code all these things for yourself - use abap2xlsx

http://wiki.sdn.sap.com/wiki/display/ABAP/abap2xlsx