Communication between the applications server and the frontend is via the RFC interface. The SAPGUI contains special OLE functions which you can address from ABAP programs with normal RFC calls (destination ‘SAPGUI’).

The implementation is realized by means of the ABAP key words CREATE OBJECT and FREE OBJECT (which call the function modules CREATE_OBJECT and FREE_OBJECT) and C functions which are written as RFC Server programs.

In CREATE OBJECT, the ABAP processor reads the relevant entry in the table TOLE and uses the found OLE class-ID to call the function OLE_CREATE_OBJECT at the frontend via RFC. Then the functions that are necessary for generating an OLE object are called from the Windows OLE library and an object handle is returned to the ABAP processor. From an OLE point of view, the SAPGUI represents the actual OLE client.

The commands CALL METHOD, GET PROPERTY and SET PROPERTY are bundled on the application server and passed to the SAPGUI function OLE_FLUSH_CALL in the form of an internal table.

FREE OBJECT calls the SAPGUI function OLE_RELEASE_OBJECT which, besides the OLE call, also releases all resources retrieved for this object at the frontend.

Reading the Typeinfo is also implemented via an RFC call to the SAPGUI.