Skip to end of metadata
Go to start of metadata

RPA Express 2.3.0 enables you to automate the SAP GUI client like any standard desktop application, inspecting UI elements, locating their selectors, and using them in your scripts.  

For environment setup and further automation, we recommend to use SAP GUI v. 7.40 and and SAP GUI v. 7.50.

The SAP GUI desktop client internal structure is seen as any other Windows application. SAP GUI is automated using the Inspector tool, which is available in WorkFusion Studio.


SAP GUI Setup

Before you start working with SAP GUI, make sure to enable scripting and set up the application server.

We recommend to use either Blue Crystal or Classical UI themes for better SAP GUI automation when using the Window action.

Enabling Scripting

By default, when you run a recorded script, the following pop-up appears, that blocks script execution and must be switched off.

Editing Scripting Setttings

To disable the pop-up warning that a script is attempting to access SAP GUI, do as follows.

  1. Open SAP GUI Settings > Options.
  2. Select Accessibility & Scripting > Scripting.
  3. If the warning message is thrown, the option Notify when a script attaches to SAP GUI is checked. Uncheck the following options:

    1. Notify when a script attaches to SAP GUI

    2. Notify when a script opens a connection.

  4. Click Apply followed by OK.

Enabling Connection by Command Line

To allow connection by command line, do as follows.

  1. Open SAP GUI Settings > Options.
  2. Select Security and click on the Open Security Configuration button.

  3. Specify Allow for Default Action.

  4. Click Apply to save the changes.

Application Server Setup

Open SAP GUI and check if scripting is turned on.

If the appropriate menu item is grayed out, perform the following steps.

  1. Start the rz11 transaction. Enter the transaction code rz11 into the OK Code field and press Enter.

  2. Open the sapgui/user_scripting parameter. Enter the parameter name into the related field and either click Display or press Enter.

  3. To edit the current value, click on the Change Value button.

  4. In the window that follows, enter TRUE in the New Value field and press Save.

  5. Re-log into the system to view the changes.

Supported UI Controls

In the table below, we collected SAP UI controls that a WorkFusion Bot can interact with and their typical selectors (here Object selectors).

UI ControlSelector

Tool bar

  • Tool bar – [CLASS:GuiToolbar;NAME:tbar[1]]
  • Tool bar button – [CLASS:GuiButton;NAME:btn[17]]

Title bar

[CLASS:GuiTitlebar]

Status bar

  • Status bar – [CLASS:GuiStatusbar]
  • Status bar message – [CLASS:GuiStatusPane;NAME:pane[0]]

Checkbox button

[CLASS:GuiCheckBox;NAME:P_LAY04]

Push button

[CLASS:GuiButton;NAME:btn[17]]

Radio button

[CLASS:GuiRadioButton;NAME:RS38M-FUNC_EDIT]

Label

[CLASS:GuiLabel;TEXT:Vessel ID is;INSTANCE:3]

Text field

[CLASS:GuiTextField;NAME:SOURCE_ID]

Text field with search help

[CLASS:GuiCTextField]

Ok code field

[CLASS:GuiOkCodeField]

Combobox

[CLASS:GuiComboBox;NAME:BUS_LOCA_SRCH01-SEARCH_ID]

ALV grid (fullscreen)

[CLASS:Normal;NAME:PRICE:1]

ALV grid (embedded)

  • Grid cell– [CLASS:Normal;NAME:PRICE:3]
  • Grid button – [CLASS:Button;INSTANCE:30]

ALV list

[CLASS:GuiLabel;CELL:2,3]

ALV hierarchical list

[CLASS:GuiLabel;CELL:5,12]

Table control

[CLASS:GuiTextField;NAME:Column 1:1]

Easy tree

[CLASS:TreeItem;NAME:New1:2]

List tree

[CLASS:TreeNode;NAME:Child1]

Column tree

[CLASS:TreeItem;NAME:Child1:3]

Tabstrip control

[CLASS:GuiTab;NAME:BUS_LOCATOR_TAB_01]

SAP GUI Restrictions

When automating the SAP GUI client, there are certain restrictions to be aware of. In the table below, there are UI controls that either are not supported, or can be automated in case additional settings are performed.

UI Control

Restrictions

Search help window

Search help windows are recognized only in the Dialog (modal) mode. To enable usage of search help windows, do as follows.

  1. Go to Help > Settings.

  2. Select the F4 Help tab and check Dialog (modal).

  3. To save the changes, press Enter / the OK button.

Scrollbar and scrollbar button

Scrollbars and scrollbar buttons are not supported. To automate, use the Scroll Mouse action or arrow keys (for example, PgUp and PgDn) in the Keyboard action.

Menu bar

The top menu bar items are not supported. To automate, use shortcuts. Click on each of the top menu bar buttons to see available variants.

Context menu

To automate the context menu, refer to one of the following workarounds:

  • the Keyboard action to apply function keys (e.g., F1, F3, F4, etc.)
  • arrow keys, for example, the order of actions in the script will look like this: Mouse Click (right click) + Enter Keystrokes (Down) + Enter Keystrokes (Down) + Enter Keystrokes (Enter)

Calendar picker

The calendar picker option is not supported.

Object recording is performed in the beta mode and not supported for all of the SAP GUI controls. To report an unsupported control, reach out to our support team or post on the forum.

Tips and Tricks

Navigating to Hidden Elements

To grab a selector of an element not visible on the SAP GUI screen, use Inspector. Thus, you open hidden tree elements or tabs.

  1. Right click on any hidden element within the tree and select Focus.

  2. On expanding the element, copy its selector to use in your script.

Automation of Complex Grids

Available from RPA Express 2.3.2.

If automation of complex trees or tables with a large number of elements takes much time for both inspecting and executing scripts, use the following SAP UI controls attributes:

  • native_id
  • row
  • column

The native_id attribute immediately interacts with a selected element, e.g., a table cell of the Nth column in a complex grid, without waiting for information from the whole list of elements.

  1. Open SAP GUI desktop client and select the screen you need to automate. Open Inspector and click Capture.
  2. Hover over the needed element and press Escape.

  3. Build up your selector manually.
    1. Copy native_id in the native_id field and paste it after NATIVE_ID in the Selector field.
    2. After theNATIVE_IDblock, addCELL and specify the cell coordinates using thecolumnandrowvalues.

      Your selector will look as follows:

      [NATIVE_ID:wnd[0]/usr/cntlGRID1/shellcont/shell/shellcont[1]/shell; CELL:10,3]

Using native_id, you can build selectors for the following UI elements:

  • table cells: use native_id + cell: row, column

    Table cell example
    [NATIVE_ID:wnd[0]/usr/tabsTAXI_TVERVIEW/tblSAPMV45ATCTRL_U_ERF_AUFTRAG; CELL:1,38]


  • tree items: use native_idname (refer to the name attribute in the element data)

    Tree item example
    [NATIVE_ID:wnd[0]/usr/cntlTREE_CONTAINER/shellcont/shell; NAME: Root:0]


  • SAP UI controls, e.g., buttons: use native_id only

    UI control example
    [NATIVE_ID:wnd[0]/usr/btnNEW]

SAP GUI Commands

The below mentioned commands are entered into the OK Code field, allowing to perform some actions quicker.

CommandDescription
/nused together with a transaction name, navigates to a transaction from the existing transaction window
/odisplays a list of open SAP GUI sessions; all your sessions will be displayed in a dialog box with the options to create and end sessions
/iused together with a transaction name, closes the specified transaction window

/nend

logs out prompting to confirm that you want to close all the sessions
/nexcloses all the sessions and exits the SAP GUI desktop client without prompting
  • No labels