I_oi_link_server

hI,
what is this i_oi_link_server interface,
how can i use it and what are the modes in start_link_server_meathod.
I am getting problem when macro execution.
plz help me.
regards,
Venkat.

The problem was in declaration of the test table. Here is the solution:
  DATA: BEGIN OF gt_test OCCURS 0,
  string(132),
  END OF gt_test.

Similar Messages

  • How to use i_oi_link_server- add_table_item2?

    Hello experts!
    I want to paste a table to word document using <b>DOI</b>. But it results in short dump while performing i_link_server->add_table_item2 with message 'System failure!'. Here is my code.
    REPORT zdoi_test.
    *** DECLARATION ***
    DATA: i_control  TYPE REF TO i_oi_container_control.
    DATA: i_document TYPE REF TO i_oi_document_proxy.
    DATA: gr_container TYPE REF TO cl_gui_custom_container.
    *** INITIALIZATION ***
    INITIALIZATION.
      CALL METHOD c_oi_container_control_creator=>get_container_control
        IMPORTING
          control = i_control.
      CALL METHOD i_control->init_control
        EXPORTING
          r3_application_name = 'R/3 application'
          parent              = gr_container
          inplace_enabled     = ' '
          no_flush            = 'X'.
      CALL METHOD i_control->get_document_proxy
        EXPORTING
          document_type      = 'Word.Document'
          register_container = 'X'
        IMPORTING
          document_proxy     = i_document.
    *** OPENING DOCUMENT ***
    START-OF-SELECTION.
      CALL METHOD i_document->open_document
        EXPORTING
          document_url = 'file://c:111.doc'
          open_inplace = ' '.
      DATA: i_link_server TYPE REF TO i_oi_link_server.
      CALL METHOD i_control->get_link_server
        IMPORTING
          link_server = i_link_server.
      CALL METHOD i_link_server->start_link_server.
    * Adding internal table to link server
      DATA gt_test TYPE TABLE OF string WITH HEADER LINE.
      gt_test = 'abcdefg'.
      APPEND gt_test.
      gt_test = 'hijklmn'.
      APPEND gt_test.
      CALL METHOD i_link_server->add_table_item2
        EXPORTING
          item_name  = 'gt_test'
        CHANGING
          data_table = gt_test[].
      CALL METHOD i_link_server->copy_link_item_to_clipboard
        EXPORTING
          item_name = 'gt_test'.
      CALL METHOD i_document->paste_clipboard.
    It is OK when I paste a string using i_oi_link_server->add_string_item. But what about a table? Maybe I should insert an empty table in the word document before I paste the table from sap... What do you suggest me?
    Thanks in advance,
    points for helpful answers will be awarded!
    Regards,
    Pavel Aleshko

    The problem was in declaration of the test table. Here is the solution:
      DATA: BEGIN OF gt_test OCCURS 0,
      string(132),
      END OF gt_test.

  • Where can we find the methods of the classes in OLE Interface

    Hi All,
    I am developing the code to download the file into multiple sheets of excel file.
    got many links and sample codes from this forum.
    but my doubt is where can we find the methods in applications.
    Example:
    add, cells, range etc are the methods in the object excel.application.
    I want to find all other methods in this same object.
    Please help me.
    thanks in adv.
    Eswar

    HE,
    see this demo program which is in DWDM
    *& Report  DEMOEXCELINTEGRATION                                        *
    INCLUDE rdemoexcelintegrationtop.
    DATA: control TYPE REF TO i_oi_ole_container_control.
    DATA: container TYPE REF TO cl_gui_custom_container.
    DATA: link_server TYPE REF TO i_oi_link_server.
    DATA: table_coll TYPE REF TO i_oi_table_collection.
    DATA: retcode TYPE t_oi_ret_string,
          document_type TYPE soi_document_type
                                           VALUE soi_doctype_excel_chart,
          document_format TYPE soi_document_type.
    DATA: doc_url TYPE t_url.
    DATA: usa_sales TYPE i VALUE 1000,
          europe_sales TYPE i VALUE 2000,
          japan_sales TYPE i VALUE 1000,
          asia_sales TYPE i VALUE 100,
          america_sales TYPE i VALUE 100,
          africa_sales TYPE i VALUE 100.
    DATA: total_sales TYPE i VALUE 0.
    DATA: BEGIN OF test_line, region(50), sales TYPE i, END OF test_line.
    DATA: test_table LIKE TABLE OF test_line.
    DATA: wa_test_table LIKE test_line.
          CLASS c_excel_document DEFINITION
    CLASS c_excel_document DEFINITION.
      PUBLIC SECTION.
        DATA: proxy TYPE REF TO i_oi_document_proxy.
        DATA: document_type TYPE soi_document_type.
        DATA: data_table TYPE sbdst_content,
              data_size TYPE i,
              doc_url TYPE t_url.
        METHODS: constructor
                  IMPORTING control TYPE REF TO i_oi_ole_container_control
                            document_type TYPE soi_document_type.
        METHODS: on_close_document
                  FOR EVENT on_close_document OF i_oi_document_proxy
                  IMPORTING document_proxy has_changed.
        METHODS: on_custom_event
                  FOR EVENT on_custom_event OF i_oi_document_proxy
                  IMPORTING document_proxy event_name param_count
                            param1 param2 param3.
        METHODS: create_document
                      IMPORTING open_inplace  TYPE c DEFAULT ' '
                      EXPORTING retcode TYPE t_oi_ret_string.
        METHODS: open_document
                      IMPORTING open_inplace  TYPE c DEFAULT ' '
                                open_readonly TYPE c DEFAULT ' '
                      EXPORTING retcode TYPE t_oi_ret_string.
        METHODS: open_document_url
                      IMPORTING open_inplace  TYPE c DEFAULT ' '
                                open_readonly TYPE c DEFAULT ' '
                                doc_url TYPE t_url DEFAULT ' '
                      EXPORTING retcode TYPE t_oi_ret_string.
        METHODS: retrieve_document
                     IMPORTING documents TYPE document_list
                     EXPORTING document_format TYPE soi_document_type
                               doc_url TYPE t_url.
        METHODS: close_document
                      IMPORTING do_save     TYPE c DEFAULT ' '
                      RETURNING value(retcode) TYPE t_oi_ret_string.
      PRIVATE SECTION.
        DATA: control  TYPE REF TO i_oi_ole_container_control.
    ENDCLASS.
    DATA: l_fcode LIKE fcode.
    DATA: document TYPE REF TO c_excel_document.
    DATA: bds_instance TYPE REF TO cl_bds_document_set.
    *&      Module  STATUS_0100  OUTPUT
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'MAIN0100'.
      SET TITLEBAR '001'.
      retcode = c_oi_errors=>ret_ok.
      IF control IS INITIAL.
        DATA: b_has_activex.
        CALL FUNCTION 'GUI_HAS_ACTIVEX'
             IMPORTING
                  return = b_has_activex.
        IF b_has_activex IS INITIAL. MESSAGE e007. ENDIF.
        CALL METHOD c_oi_ole_control_creator=>get_ole_container_control
                          IMPORTING control = control
                                    retcode = retcode.
        CALL METHOD c_oi_errors=>show_message
                                      EXPORTING type = 'E'.
        CREATE OBJECT container
                  EXPORTING container_name = 'CONTAINER'.
        CALL METHOD control->init_control
                            EXPORTING r3_application_name =
                                                  'Demo' "#EC NOTEXT
                                      inplace_enabled = 'X'
                                      inplace_scroll_documents = 'X'
                                      parent = container
                                      register_on_close_event = 'X'
                                      register_on_custom_event = 'X'
                            IMPORTING retcode = retcode.
        CALL METHOD c_oi_errors=>show_message
                                      EXPORTING type = 'E'.
        CALL METHOD control->get_link_server
                           IMPORTING link_server = link_server
                                     retcode = retcode.
        CALL METHOD c_oi_errors=>show_message
                                      EXPORTING type = 'E'.
        CALL METHOD link_server->start_link_server
                          IMPORTING retcode = retcode.
        CALL METHOD c_oi_errors=>show_message
                                      EXPORTING type = 'E'.
        CALL METHOD control->get_table_collection
                        IMPORTING table_collection = table_coll
                                  retcode = retcode.
        PERFORM refresh_sales.
        CREATE OBJECT document
                  EXPORTING control = control
                            document_type = document_type.
        CALL METHOD table_coll->add_table
                        EXPORTING table_name = 'SALES_IN'
                                  table_type = table_coll->table_type_input
                        IMPORTING retcode = retcode
                        CHANGING  data_table = test_table.
      ENDIF.
      IF bds_instance IS INITIAL.
        CREATE OBJECT bds_instance.
      ENDIF.
    ENDMODULE.                             " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    MODULE user_command_0100 INPUT.
      l_fcode = fcode.
      CLEAR fcode.
      CALL METHOD cl_gui_cfw=>dispatch.
      CASE l_fcode.
        WHEN 'EXIT'.                       "Zurück
          IF NOT document IS INITIAL.
            CALL METHOD document->close_document.
            FREE document.
          ENDIF.
          IF NOT link_server IS INITIAL.
            CALL METHOD link_server->stop_link_server
                                           IMPORTING retcode = retcode.
            FREE link_server.
          ENDIF.
          IF NOT table_coll IS INITIAL.
            FREE table_coll.
          ENDIF.
          IF NOT control IS INITIAL.
            CALL METHOD control->destroy_control
                                                IMPORTING retcode = retcode.
            FREE control.
          ENDIF.
          IF NOT bds_instance IS INITIAL.
            FREE bds_instance.
          ENDIF.
          LEAVE TO SCREEN 0.
        WHEN 'CREATE'.
          IF NOT control IS INITIAL.
            document->data_size = 0.
            CLEAR document->data_table.
            CALL METHOD document->create_document.
            CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
          ENDIF.
        WHEN 'SELECT'.
          IF NOT control IS INITIAL.
            DATA: documents TYPE document_list.
            DATA: descr TYPE document_descr.
            CLEAR documents.
            descr-document_name = 'Car Sales Chart'(do1).
            descr-document_id = 'DEMOEXCELCHART1'.
            APPEND descr TO documents.
            descr-document_name = 'Car Sales Chart 2'(do3).
            descr-document_id = 'DEMOEXCELCHART2'.
            APPEND descr TO documents.
            descr-document_name = 'Car Sales Sheet'(do2).
            descr-document_id = 'DEMOEXCELSHEET1'.
            APPEND descr TO documents.
            CLEAR doc_url.
            CALL METHOD document->retrieve_document
                        EXPORTING documents = documents
                        IMPORTING document_format = document_format
                                  doc_url = doc_url.
            IF NOT doc_url IS INITIAL.
              CALL METHOD document->close_document.
              CALL METHOD document->open_document_url
                                EXPORTING open_inplace = 'X'
                                          doc_url = doc_url
                                IMPORTING retcode = retcode.
              CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
            ELSE.
              MESSAGE e010.
            ENDIF.
          ENDIF.
        WHEN 'OPEN'.
          IF document->data_size NE 0.
            IF NOT control IS INITIAL.
              CALL METHOD document->open_document
                                IMPORTING retcode = retcode.
              CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
            ENDIF.
          ELSE.
            MESSAGE e005.
          ENDIF.
        WHEN 'INPLACE'.
          IF document->data_size NE 0.
            IF NOT control IS INITIAL.
              CALL METHOD document->open_document
                                EXPORTING open_inplace = 'X'
                                          open_readonly = 'X'
                                IMPORTING retcode = retcode.
              CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
            ENDIF.
          ELSE.
            MESSAGE e005.
          ENDIF.
        WHEN 'SAVEAS'.
          IF NOT document IS INITIAL AND NOT document->proxy IS INITIAL.
            CALL METHOD document->proxy->save_as
                              EXPORTING prompt_user = 'X'
                              IMPORTING retcode = retcode.
            CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
          ELSE.
            MESSAGE e000.
          ENDIF.
        WHEN 'CLOSE'.
          IF NOT document IS INITIAL.
            CALL METHOD document->close_document
                          EXPORTING do_save = 'X'.
            CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
          ELSE.
            MESSAGE e000.
          ENDIF.
        WHEN 'COPYLINK'.
          IF NOT link_server IS INITIAL.
            PERFORM refresh_sales.
            CALL METHOD link_server->execute_copy_link_dialog
                     IMPORTING retcode = retcode.
            CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
          ELSE.
            MESSAGE e004.
          ENDIF.
        WHEN 'REFRESH'.
          IF NOT link_server IS INITIAL.
            PERFORM refresh_sales.
          ELSE.
            MESSAGE e004.
          ENDIF.
          IF NOT document IS INITIAL AND NOT document->proxy IS INITIAL.
            CALL METHOD document->proxy->execute_macro
                          EXPORTING macro_string = 'R3StartupMacro'
                                    param_count = 1
                                    param1 = 10
                          IMPORTING retcode = retcode.
                         CHANGING  retvalue = usa_sales.
            CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
          ELSE.
            MESSAGE e000.
          ENDIF.
        WHEN 'PRINT'.
          IF NOT document IS INITIAL AND NOT document->proxy IS INITIAL.
            CALL METHOD document->proxy->print_document
                           EXPORTING prompt_user = 'X'
                           IMPORTING retcode = retcode.
            CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
          ELSE.
            MESSAGE e000.
          ENDIF.
      ENDCASE.
    ENDMODULE.                             " USER_COMMAND_0100  INPUT
    CLASS c_excel_document IMPLEMENTATION.
    CLASS c_excel_document IMPLEMENTATION.
      METHOD: constructor.
                 IMPORTING control TYPE REF TO i_oi_ole_container_control
                           document_type TYPE soi_document_type
        me->control = control.
        me->document_type = document_type.
      ENDMETHOD.
      METHOD create_document.
                    IMPORTING open_inplace  TYPE c DEFAULT ' '
                    RETURNING value(retcode) TYPE t_oi_ret_string.
        IF NOT proxy IS INITIAL.
          CALL METHOD me->close_document.
        ENDIF.
        CALL METHOD control->get_document_proxy
                 EXPORTING document_type = document_type
                 IMPORTING document_proxy = proxy
                           retcode = retcode.
        IF retcode NE c_oi_errors=>ret_ok.
          EXIT.
        ENDIF.
        CALL METHOD proxy->create_document
                            EXPORTING create_view_data = 'X'
                                      open_inplace = open_inplace
                            IMPORTING retcode = retcode.
        IF retcode NE c_oi_errors=>ret_ok.
          EXIT.
        ENDIF.
        SET HANDLER me->on_close_document FOR proxy.
        SET HANDLER me->on_custom_event FOR proxy.
      ENDMETHOD.
      METHOD open_document.
                    IMPORTING open_inplace  TYPE c DEFAULT ' '
                              open_readonly TYPE c DEFAULT ' '
                    RETURNING value(retcode) TYPE t_oi_ret_string.
        IF NOT proxy IS INITIAL.
          CALL METHOD me->close_document.
        ENDIF.
        CALL METHOD control->get_document_proxy
                 EXPORTING document_type = document_type
                 IMPORTING document_proxy = proxy
                           retcode = retcode.
        IF retcode NE c_oi_errors=>ret_ok.
          EXIT.
        ENDIF.
        CALL METHOD proxy->open_document_from_table
                               EXPORTING document_table = data_table
                                         document_size  = data_size
                                         open_inplace = open_inplace
                                         open_readonly = open_readonly
                               IMPORTING retcode = retcode.
        IF retcode NE c_oi_errors=>ret_ok.
          EXIT.
        ENDIF.
        SET HANDLER me->on_close_document FOR proxy.
        SET HANDLER me->on_custom_event FOR proxy.
        CALL METHOD proxy->update_document_links
                               EXPORTING update_manual_links = 'X'
                               IMPORTING retcode = retcode.
      ENDMETHOD.
      METHOD close_document.
                    IMPORTING do_save TYPE c DEFAULT ' '
                    RETURNING value(retcode) TYPE t_oi_ret_string.
        DATA: is_closed TYPE i, has_changed TYPE i.
        DATA: doc_url(256).
        IF NOT proxy IS INITIAL.
          CALL METHOD proxy->is_destroyed IMPORTING ret_value = is_closed.
          IF is_closed IS INITIAL.
            CALL METHOD proxy->close_document
                         EXPORTING do_save = do_save
                         IMPORTING has_changed = has_changed
                                   retcode = retcode.
            IF retcode NE c_oi_errors=>ret_ok.
              EXIT.
            ENDIF.
          ENDIF.
          IF NOT has_changed IS INITIAL.
            CALL METHOD proxy->save_document_to_table
                          IMPORTING retcode = retcode
                          CHANGING  document_table = data_table
                                    document_size = data_size.
            IF retcode NE c_oi_errors=>ret_ok.
              EXIT.
            ENDIF.
          ENDIF.
          CALL METHOD proxy->release_document
                                       IMPORTING retcode = retcode.
          SET HANDLER me->on_close_document FOR proxy ACTIVATION ' '.
          SET HANDLER me->on_custom_event FOR proxy ACTIVATION ' '.
        ELSE.
          retcode = c_oi_errors=>ret_document_not_open.
        ENDIF.
      ENDMETHOD.
      METHOD open_document_url.
                    IMPORTING open_inplace  TYPE c DEFAULT ' '
                              open_readonly TYPE c DEFAULT ' '
                              doc_url TYPE t_url DEFAULT ' '
                    RETURNING value(retcode) TYPE t_oi_ret_string.
        IF NOT proxy IS INITIAL.
          CALL METHOD me->close_document.
        ENDIF.
        CALL METHOD control->get_document_proxy
                 EXPORTING document_type = document_type
                 IMPORTING document_proxy = proxy
                           retcode = retcode.
        IF retcode NE c_oi_errors=>ret_ok.
          EXIT.
        ENDIF.
        me->doc_url = doc_url.
        CALL METHOD proxy->open_document
                               EXPORTING document_url = doc_url
                                         open_inplace = open_inplace
                                         open_readonly = open_readonly
                               IMPORTING retcode = retcode.
        IF retcode NE c_oi_errors=>ret_ok.
          EXIT.
        ENDIF.
      Document shall also be available in ITAB for respective operations:
        CALL METHOD proxy->save_document_to_table
                          IMPORTING retcode = retcode
                          CHANGING  document_table = data_table
                                    document_size = data_size.
        IF retcode NE c_oi_errors=>ret_ok.
          EXIT.
        ENDIF.
        SET HANDLER me->on_close_document FOR proxy.
        SET HANDLER me->on_custom_event FOR proxy.
        CALL METHOD proxy->update_document_links
                               EXPORTING update_manual_links = 'X'
                               IMPORTING retcode = retcode.
      ENDMETHOD.
      METHOD retrieve_document.
                 importing documents type document_list
                 exporting document_format type soi_document_format
                           doc_url type t_url.
    *----BDS-Data-Structures:--
    Tables and WAs:
        DATA: doc_signature TYPE sbdst_signature,
              wa_doc_signature LIKE LINE OF doc_signature,
              doc_components TYPE sbdst_components,
              wa_doc_components LIKE LINE OF doc_components,
              doc_properties TYPE sbdst_properties,
              wa_doc_properties LIKE LINE OF doc_properties,
              doc_uris TYPE sbdst_uri,
              wa_doc_uris LIKE LINE OF doc_uris.
    ID's:
        DATA: doc_classname TYPE sbdst_classname VALUE 'SOFFICEINTEGRATION',
              doc_classtype TYPE sbdst_classtype VALUE 'OT',
            doc_object_key TYPE sbdst_object_key VALUE 'SOFFICEINTEGRATION',
              doc_mimetype TYPE bapicompon-mimetype.
        DATA: field_desc TYPE TABLE OF rsvbfidesc.
        DATA: wa_field_desc TYPE rsvbfidesc.
        DATA: l_nr LIKE sy-tabix.
        CLEAR: field_desc, wa_field_desc.
        wa_field_desc-fieldnum = 1.
        wa_field_desc-display = 'X'.
        APPEND wa_field_desc TO field_desc.
        l_nr = 0.
        CALL FUNCTION 'RS_VALUES_BOX'
             EXPORTING
                  left_upper_col = 5
                  left_upper_row = 5
                  pagesize       = 10
                  title          = 'Select document'(sdc)
             IMPORTING
                  linenumber     = l_nr
             TABLES
                  field_desc     = field_desc
                  value_tab      = documents
             EXCEPTIONS
                  OTHERS         = 1.
        IF sy-subrc EQ 0 AND l_nr NE 0.
          READ TABLE documents INDEX l_nr INTO descr.
          IF sy-subrc EQ 0.
            CLEAR: wa_doc_signature, wa_doc_components, wa_doc_uris.
            CLEAR: doc_signature, doc_components, doc_uris.
            wa_doc_signature-prop_name = 'DESCRIPTION'.
            wa_doc_signature-prop_value = descr-document_id.
            APPEND wa_doc_signature TO doc_signature.
            CALL METHOD bds_instance->get_info
                          EXPORTING classname = doc_classname
                                    classtype = doc_classtype
                                    object_key = doc_object_key
                          CHANGING components = doc_components
                                   signature = doc_signature
                          EXCEPTIONS nothing_found = 1
                                     error_kpro = 2
                                     internal_error = 3
                                     parameter_error = 4
                                     not_authorized = 5
                                     not_allowed = 6.
            IF sy-subrc NE 0 AND sy-subrc NE 1.
              MESSAGE e016.
            ENDIF.
            IF sy-subrc = 1.
              MESSAGE e017.
            ENDIF.
            CALL METHOD bds_instance->get_with_url
                               EXPORTING classname = doc_classname
                                         classtype = doc_classtype
                                         object_key = doc_object_key
                               CHANGING uris = doc_uris
                                        signature = doc_signature
                          EXCEPTIONS nothing_found = 1
                                     error_kpro = 2
                                     internal_error = 3
                                     parameter_error = 4
                                     not_authorized = 5
                                     not_allowed = 6.
            IF sy-subrc NE 0 AND sy-subrc NE 1.
              MESSAGE e016.
            ENDIF.
            IF sy-subrc = 1.
              MESSAGE e017.
            ENDIF.
            READ TABLE doc_components INTO wa_doc_components INDEX 1.
            READ TABLE doc_uris INTO wa_doc_uris INDEX 1.
            doc_mimetype = wa_doc_components-mimetype.
            doc_url = wa_doc_uris-uri.
            CASE doc_mimetype.
              WHEN 'application/x-rtf' OR 'text/rtf'.
                document_format = soi_docformat_rtf.
              WHEN 'application/x-oleobject'.
                document_format = soi_docformat_compound.
              WHEN 'text/plain'.
                document_format = soi_docformat_text.
              WHEN OTHERS.
                document_format = soi_docformat_native.
            ENDCASE.
          ENDIF.
        ENDIF.
      ENDMETHOD.
      METHOD on_close_document.
                 FOR EVENT on_close_document OF c_oi_ole_container_control
                 IMPORTING document_proxy has_changed.
        DATA: answer, do_save.
        IF has_changed EQ 1.
          CALL FUNCTION 'POPUP_TO_CONFIRM'
               EXPORTING
                    titlebar              = 'Office Integration Demo'(oid)
                    text_question         = 'Save Document?'(sav)
                    display_cancel_button = ' '
               IMPORTING
                    answer                = answer.
          IF answer EQ '1'.
            do_save = 'X'.
          ELSE.
            do_save = ' '.
          ENDIF.
          CALL METHOD me->close_document
                        EXPORTING do_save = do_save.
          CALL METHOD c_oi_errors=>show_message
                                      EXPORTING type = 'E'.
        ENDIF.
      ENDMETHOD.
      METHOD on_custom_event.
                 FOR EVENT on_custom_event OF i_oi_document_proxy
                 IMPORTING document_proxy event_name param_count
                           param1 param2 param3.
        IF event_name EQ 'ON_SERIES_CHANGE'.
          CALL METHOD table_coll->get_table
                        EXPORTING table_name = 'SALES_IN'
                        IMPORTING retcode = retcode
                        CHANGING  data_table = test_table.
          CALL METHOD c_oi_errors=>show_message
                                      EXPORTING type = 'E'.
          CLEAR wa_test_table.
          READ TABLE test_table INTO wa_test_table INDEX 1.
          usa_sales = wa_test_table-sales.
          CLEAR wa_test_table.
          READ TABLE test_table INTO wa_test_table INDEX 2.
          europe_sales = wa_test_table-sales.
          CLEAR wa_test_table.
          READ TABLE test_table INTO wa_test_table INDEX 3.
          japan_sales = wa_test_table-sales.
          CLEAR wa_test_table.
          READ TABLE test_table INTO wa_test_table INDEX 4.
          asia_sales = wa_test_table-sales.
          CLEAR wa_test_table.
          READ TABLE test_table INTO wa_test_table INDEX 5.
          america_sales = wa_test_table-sales.
          CLEAR wa_test_table.
          READ TABLE test_table INTO wa_test_table INDEX 6.
          africa_sales = wa_test_table-sales.
          CLEAR wa_test_table.
        ENDIF.
        CALL METHOD control->set_focus.
      ENDMETHOD.
    ENDCLASS.
    FORM refresh_sales.
    FORM refresh_sales.
      DATA: BEGIN OF item_line,
                 region(60),
                 sales TYPE i,
                 date  TYPE d,
                 time  TYPE t,
                 weight TYPE f,
                 amount TYPE p DECIMALS 3,
                 id(10) TYPE n,
            END OF item_line.
      DATA: sales_table LIKE TABLE OF item_line.
      DATA: wa_sales_table LIKE item_line.
      DATA: fields_table TYPE TABLE OF rfc_fields.
      DATA: wa_fields_table TYPE rfc_fields.
      DATA: ind TYPE i.
      CALL FUNCTION 'DP_GET_FIELDS_FROM_TABLE'
           TABLES
                data   = sales_table
                fields = fields_table.
      READ TABLE fields_table INDEX 1 INTO wa_fields_table.
      wa_fields_table-fieldname = 'Region'."#EC NOTEXT
      MODIFY fields_table FROM wa_fields_table INDEX 1.
      CLEAR wa_fields_table.
      READ TABLE fields_table INDEX 2 INTO wa_fields_table.
      wa_fields_table-fieldname = 'Sales'. "#EC NOTEXT
      MODIFY fields_table FROM wa_fields_table INDEX 2.
      CLEAR: sales_table, wa_sales_table.
      wa_sales_table-region = 'USA'(usa).
      wa_sales_table-sales = usa_sales.
      APPEND wa_sales_table TO sales_table.
      CLEAR wa_sales_table.
      wa_sales_table-region = 'Europe'(eur).
      wa_sales_table-sales = europe_sales.
      APPEND wa_sales_table TO sales_table.
      CLEAR wa_sales_table.
      wa_sales_table-region = 'Japan'(jap).
      wa_sales_table-sales = japan_sales.
      APPEND wa_sales_table TO sales_table.
      CLEAR wa_sales_table.
      wa_sales_table-region = 'Asia'(asi).
      wa_sales_table-sales = asia_sales.
      APPEND wa_sales_table TO sales_table.
      CLEAR wa_sales_table.
      wa_sales_table-region = 'America'(ame).
      wa_sales_table-sales = america_sales.
      APPEND wa_sales_table TO sales_table.
      CLEAR wa_sales_table.
      wa_sales_table-region = 'Africa'(afr).
      wa_sales_table-sales = africa_sales.
      APPEND wa_sales_table TO sales_table.
      CLEAR wa_sales_table.
      LOOP AT sales_table INTO wa_sales_table.
        ind = sy-tabix.
        wa_sales_table-date = sy-datum + ind.
        wa_sales_table-time = sy-uzeit + ind.
        wa_sales_table-weight = 100000 * ind.
        wa_sales_table-amount = 11111 * ind.
        wa_sales_table-id = ind.
        MODIFY sales_table FROM wa_sales_table INDEX ind.
      ENDLOOP.
      CALL METHOD table_coll->add_table
                        EXPORTING table_name = 'SALES_OUT'
                                  table_type = table_coll->table_type_output
                        IMPORTING retcode = retcode
                        CHANGING  data_table = sales_table
                                  fields_table = fields_table.
      CALL METHOD link_server->add_table_item2
               EXPORTING item_name = 'Sales'    "#EC NOTEXT
                         item_title = 'Car Sales Figures'(sal)
               IMPORTING retcode = retcode
               CHANGING  data_table = sales_table
                         fields_table = fields_table.
      CALL METHOD link_server->add_string_item
               EXPORTING item_name   = 'ChartTitle'
                         item_title  = 'Chart Title'(ti0)
                         item_value  = 'Car Sales by Region'(ti1)
                         no_flush    = 'X'
               IMPORTING retcode = retcode.
      CALL METHOD link_server->add_string_item
               EXPORTING item_name   = 'ColumnTitle1'
                         item_title  = 'Column Title 1'(ti2)
                         item_value  = 'Region'(ti3)
                         no_flush    = 'X'
               IMPORTING retcode = retcode.
      CALL METHOD link_server->add_string_item
               EXPORTING item_name   = 'ColumnTitle2'
                         item_title  = 'Column Title 2'(ti4)
                         item_value  = 'Sold Cars'(ti5)
                         no_flush    = ' '
               IMPORTING retcode = retcode.
    ENDFORM.

  • Export Image into MS Word using SAP DESKTOP Integration

    Hello folks,
    I am trying to export an image from application server to MS Word document using METHOD ADD_BINARY_ITEM of I_OI_LINK_SERVER, I want to know what exactly i need to specify in EXPORTING parameter TABLE_URL?
    Kindly help, It is urgent.
    Thanks.

    Hi Ravinder,
    As I mentioned in my email to you, I wasn't able to reproduce the behavior your described.  The images appear properly.
    Please let me know if you have any questions.
    -David

Maybe you are looking for

  • I get a message saying my apple id has been disabled when i try to purchase a movie

    I get a message saying "my apple Id has been disabled. I've tried changing password, other things that was suggested, but still won't let me purchase a movie. I can go into my account and edit, but can't purchase? Any ideas?

  • JDK 1.6.0_12

    I Installed Jdk1.6.0_12 ,I also set d class path &the program is compiled but Not shown d Output but i have new doubt with java i.e D program is complied successfully, But don't display d output it raaises an error with C:\Program Files\prhms>javac E

  • Slow Performance During Folder Selection in Miggui

    I am trying to migrate some 30,000 folders from an NSS volume on NW 6.5 SP5 server to an NSS volume on a server running OES2 SP3 on SLES 10 SP4. Using the miggui from the OES server, I can authenticate to both servers, and select File System as the s

  • Email link - hot key?

    Hello: I use the File/EMAIL link feature very VERY often.... lii,e 30+ a day... is there a way i can assign a hot key to it? i am on mac 10.6x/Firefox 17.01 thankyou

  • Subforms across page breaks

    In LiveCycle, how do you keep subforms from being split across page breaks?  I'm working an a form in which several subforms can be added or deleted.  If I add enough of any of them, when they get to the bottom of the page, instead of getting a new p