Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Data Interfaces and Communication Interfaces →  ABAP and OLE 

CALL METHOD - OLE

Quick Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


 CALL METHOD OF ole meth [= rc] 
               [EXPORTING p1 = f1 p2 = f2 ...]
               [NO FLUSH] [QUEUE-ONLY].

Extras

1.... EXPORTING p1 = f1 p2 = f2 ...

2.... NO FLUSH
3.... QUEUE-ONLY

Effect

This statement calls the method meth of the automation object ole. The automation object must have been created using the special statement CREATE OBJECT for automation objects. The name of the method has to be specified in a character-like data object meth.

The return value of the external method meth can be stored in a data object rc. This data object expects, in accordance with the called method, a character-like data type of length 8 or a data type of type ole2_object from the type group OLE2 to be able to accept the addressed object.

Addition 1

... EXPORTING p1 = f1 p2 = f2 ...

Effect

The addition EXPORTING can be used to assign actual parameters f1 f2 ... to the input parameters p1 p2 ... of the automation method. The data type of the data objects f1 f2 ... depends on the requirements of the automation method.

Addition 2

... NO FLUSH

Addition 3

... QUEUE-ONLY

Effect

The additions NO FLUSH and QUEUE-ONLY are described in the statement CREATE OBJECT.

System Fields

sy-subrc Meaning
0 Method meth executed successfully.
1 Error in communication with SAP GUI.
2 Error when calling the method meth.
3 Error when setting an attribute.
4 Error when reading an attribute.


Example

Depending on the selection on the selection screen, this source code can be used to open the Excel file Table.xls in directory C:\temp, start the application Word, and then close both applications again. The automation methods used are listed in the following table.

Application Method Parameter Function
Excel Open File name and path Open
Excel Quit - Exit
Word AppShow - Start
Word AppClose - Exit
TABLES sscrfields. 

DATA: excel TYPE ole2_object, 
      word  TYPE ole2_object, 
      book  TYPE ole2_object, 
      rc    TYPE c LENGTH 8. 

SELECTION-SCREEN: 
  BEGIN OF SCREEN 100 AS WINDOW TITLE title, 
    BEGIN OF LINE, 
      PUSHBUTTON  2(12) button_1 
                 USER-COMMAND word_start, 
      PUSHBUTTON  20(12) button_2 
                 USER-COMMAND excel_start, 
    END OF LINE, 
    BEGIN OF LINE, 
      PUSHBUTTON  2(12) button_3 
                  USER-COMMAND word_stop, 
      PUSHBUTTON  20(12) button_4 
                 USER-COMMAND excel_stop, 
    END OF LINE, 
  END OF SCREEN 100. 

START-OF-SELECTION. 
  button_1 = 'Start Word'. 
  button_2 = 'Start Excel'. 
  button_3 = 'Stop  Word'. 
  button_4 = 'Stop  Excel'. 
  CALL SELECTION-SCREEN 100 STARTING AT 10 10. 

AT SELECTION-SCREEN. 
  CASE sscrfields-ucomm. 
    WHEN 'WORD_START'. 
      CHECK word-handle <> -1. 
      CHECK word-header = space. 
      CREATE OBJECT   word  'Word.Basic'. 
      CALL METHOD  OF word  'AppShow'. 
    WHEN 'EXCEL_START'. 
      CHECK excel-handle = 0. 
      CHECK excel-header = space. 
      CREATE OBJECT   excel 'Excel.Application'. 
      SET PROPERTY OF excel 'Visible' = 1. 
      GET PROPERTY OF excel 'Workbooks' = book. 
      CALL METHOD  OF book  'Open' = rc 
        EXPORTING #1 = 'C:\temp\Table.xls'. 
    WHEN 'WORD_STOP'. 
      CALL METHOD OF word 'AppClose'. 
      FREE OBJECT word. 
      CLEAR: word-handle, word-header. 
    WHEN 'EXCEL_STOP'. 
      CALL METHOD OF  excel 'Quit'. 
      FREE OBJECT excel. 
      CLEAR: excel-handle, excel-header. 
    WHEN OTHERS. 
      LEAVE PROGRAM. 
  ENDCASE.