Architecture 

The Standard SAPGUI

On Windows systems, the R/3 SAPGUI interface consists primarily of two executable files: FRONT.EXE and SAPGUI.EXE. There is one SAPGUI process for each R/3 system connection. As the following diagram illustrates, SAPGUI.EXE starts one FRONT.EXE for each R/3 session.

The R/3 SAPGUI communicates with the R/3 application server through a terminal-like protocol.

The GUILib.DLL

The GUILibrary DLL interface provides a rich set of API calls that can be used to manipulate GUI screens in transactions and drive them programmatically. This API is rich enough that SAP has used it to develop GUI component and the macro recorder on top of it.

The GUILib.dll is a shared or dynamic link library that runs in the same memory space as the client process. Since it runs in the same memory space, the GUILib can pass information conveniently through the memory buffer.

Internal Architecture of the GUI Library

SAP Automation GUI application programs can communicate with the R/3 application server by making GUI Library API calls. Internally, the GUI Library uses either the SAPGUI protocol or the RFC protocol as needed to communicate with the R/3 application server.

With the IT_StartSAPGui or the IT_NewConnection methods, the SAP Automation GUI application program can connect to SAPGUI. Internally, the GUI Library connects to the SAPGUI using Port number 3200.

The following diagram shows the internal parts of the GUI Library along with their role in the connection to R/3.