ABAP Keyword Documentation → ABAP - Reference → Data Interfaces and Communication Interfaces → ABAP and OLE
CREATE OBJECT - OLE
Other versions: 7.31 | 7.40 | 7.54
Syntax
CREATE OBJECT ole class [NO FLUSH] [QUEUE-ONLY].
Extras
1. ... NO FLUSH
2. ... QUEUE-ONLY
Effect
This statement creates the automation object ole
of the automation class
class
. The object ole
must be of type ole2_object
, which is defined in ABAP Dictionary in the
type group OLE2.
When specifying the automation class class
, a character-like data object is expected, which contains the name of the class.
The system automatically executes an authorization check if the column AUTH_CHK in the database table TOLE contains the value "X" for the class. The authorization status can be checked with the function module AUTHORITY_CHECK_OLE.
System Fields
sy-subrc | Meaning |
---|---|
0 | Automation object created. |
1 | Error in communication to the SAP GUI |
2 | Error in function call in the SAP GUI |
3 | Problems with memory allocation on the presentation server. |
Notes
-
For the declaration of
ole
, exactly the typeole2_object
must be specified. It is not sufficient to specify another type declared with a reference toole2_object
. -
An automation object
ole
created using CREATE OBJECT ole must also be released by usingFREE OBJECT ole
to avoid memory bottle necks and terminations of the application to be controlled. -
CREATE OBJECT
for OLE should not be confused with the statement of the same name in ABAP Objects.
Addition 1
... NO FLUSH
Effect
When using the addition NO FLUSH
, calls from automation methods are collected
in the automation buffer until the function module FLUSH (which is provided for this purpose) is called and the FREE OBJECT
statement is passed or, at the most, until a change of
screen. They are then passed
to the automation server on the current presentation server for asynchronous execution. Without this
addition, the flush is executed and the pass takes place as soon as a statement that does not belong
to the automation command set is reached. Note that in the ABAP Debugger, the return values of the individual automation statements are not available until after the pass to the presentation server.
Addition 2
... QUEUE-ONLY
Effect
The effect of the addition QUEUE-ONLY
is that during the flush, the created
object is not passed as a return value using methods called by CALL METHOD OF
to the specified ABAP data object rc
. In this case, the automation buffer
can only contain the statements CREATE OBJECT
, CALL METHOD
,
and GET PROPERTY
using the addition QUEUE-ONLY
. When executing the program in the ABAP Debugger, the return values are passed by default.
Example
In this example, the automation object app
is created, which has access to
all methods and attributes of the class APPLICATION in the MS ExcelLibrary. This class contains methods with which, for example, an Excel document can be opened or copied.
DATA app TYPE ole2_object.
CREATE OBJECT app 'Excel.Application' NO FLUSH.