SAP I Creating Modules

The creation of Modules is described in general in the Tosca Commanderâ„¢ Manual (see chapter "Scan classic Modules with Legacy Scan"). In the chapters below you will be provided with engine specific methods for identifying screens and controls as well as a list of properties and wildcards and their possible uses in the TechnicalID.

You can create SAP Modules with SAP Engine 3.0. For detailed information, see chapter "Create SAP Modules".

Screen identification

The SAP transaction code allows SAP screens to be uniquely identified, independent from the language setting. The SAP transaction code is entered into the toolbar in order to access the corresponding screen (see chapter "Main window").

When scanning SAP screens, Tosca Wizard identifies the SAP transaction code and writes its value to the ObjectMap under the property Systeminfo.Transaction.

The screen context required for control steering is stored in the property TechnicalID of the Module. Tosca Wizard will suggest a name in the Automation Properties tab under Context Info.

Example of a screen context; Tosca Wizard detail

Specifying the context information

The Context Info can be specified with two different information types:

  • Caption of the screen (business-based identification)

    This is the title of the screen which is written to the Context Info field. Some screens in SAP have different business-based names. Thus the Context Info can be generalized: the context to be steered is always searched starting from the left (with LeftMatch).

    The use of wildcard symbols enables generalizations to be extended. The Context Info of controls, which may occur on several screens (e.g. menu steering), can thus be set to *. This ensures that the first main screen is used for steering.

    If the caption contains at least one numeral only the first part of the caption is used for identification. If the numeral is located at the beginning, the whole caption is used.

  • SAP path of the screen (technical identification)

    The SAP path enables a screen to be precisely technically identified. In this case, the following ID is specified to identify the screen:

    ID:/app/con[0]/ses[0]/wnd[1] (see Illustration "Example of a screen context; Tosca Wizard detail").

    We recommend using this method only in exceptional cases.

Wildcards and regular expressions

Wildcards can be used in the TechnicalID of screens.

*eate ord* instead of Create order

Regular expressions can also be used in the TechnicalID.

{RegEx[Styleg.*: C.*box]}

instead of

Styleguide: Checkbox

Control identification

IDs are required for identifying the controls to be steered. They are automatically added as TechnicalID in Tosca Wizard.

Static IDs

All controls that exist in a SAP session at a particular point of time usually have static IDs. This means that the IDs of the controls do not change during runtime. The entire ID of the corresponding controls is scanned as a TechnicalID (default behavior of Tosca Wizard).

Dynamic IDs

In exceptional cases, dynamic IDs are assigned to containers which contain the controls to be steered. In these cases the dynamic part may be replaced by a wildcard (*), or a Body ID can be used for identification. Please note the following when using wildcards:

  • Wildcards can only be used for controls in the UserArea, i.e. the path must start from level /usr/...

  • Body IDs must not be used in paths.

  • Only one wildcard may be used per level.

Regular expressions can also be used for the entire ID expression. However, the dynamic part cannot be replaced with a regular expression.

Example with wildcard:

The absolute ID is:

/usr/ssubTABSTRIPCONTROL1SUB:SAPLMEVIEWS:1102/subSUB1:SAPLMEGUI:1319/ctxtMEPO1319-MATKL

The changeable part of the ID, e.g. 1102, can be replaced by the wildcard:

/usr/ssubTABSTRIPCONTROL1SUB:SAPLMEVIEWS:*/ subSUB1:SAPLMEGUI:1319/ctxtMEPO1319-MATKL

Example with a regular expression:

{RegEx[/usr/.*/txtF1]}

instead of

/usr/subSA_0100_1:SAPLEXAMPLE_ENTRY_SCREEN:0200/subSA_200_2:SAPLEXAMPLE_ENTRY_SCREEN:1200/txtF1

Example with Body ID:

The absolute ID is:

/usr/ssubTABSTRIPCONTROL1SUB:SAPLMEVIEWS:1102/subSUB1:SAPLMEGUI:1319/ctxtMEPO1319-MATKL

If the ID contains several changeable parts, it is sufficient to enter the ID part after the last slash (/):

/ctxtMEPO1319-MATKL

Using the absolute ID is highly recommended for steering in order to speed up control steering.