Skip to Content

eCATT Scripts Creation – SAPGUI Mode (PART III)

The Part I of eCATT Introduction gives the basic details about usage of eCATT & features involved. In Part II, the creation of eCATT scripts using TCD mode of recording is explained in detail. In the Part III, the creation of eCATT Scripts using SAPGUI mode is explained in detail. In the subsequent Parts, Management of eCATT scripts via Test Workbench and other details of eCATT will be covered.
Steps Involved In Creation Of eCATT Test Scripts:
  • Test script is generally series of steps (transactions) involving a business scenario. Identification of right transactions for this script, which prepares the input data for the script and also covers the planned business scenario, should be done.
  • Recording of test script by selecting proper recording mode.
  • Execution of test script immediately after recording without parameterization to confirm the errorless recording.
  • Parameterization of the import, export & variable parameters.
  • Preparing variants using Test Data Container.
  • Linking Test Script (TS) & Test Data Container (TD) by Test Configuration (TC).
  • Execution of TS using TC for different Variants.
How To Identify Any Transaction For SAPGUI Recording Mode:
  • If the transaction runs under SAP GUI for Windows or SAP GUI for Java, it can be recorded by either TCD or SAP GUI mode.
  • If the transaction doesn’t have any activex controls then TCD recording mode should be used. Here SAPGUI mode can also work.
  • If the transaction has activex controls and these controls ARE MANDATORY for the functionality of the transaction, then only SAPGUI mode can be used as recording mode.
Key Features Of SAPGUI Recording Mode:
  • It is suitable for the transactions having activex controls, so it requires GUI playback mode.
  • It is slow comparative to TCD recording mode.
  • It is not suitable for load testing.
Steps For Recording Using SAPGUI Mode:
  • Transaction SECATT.
  • Give the name of the test script (TS) in Test Script input box. The Version input by default is with value 1.
  • In the Attributes ->General Data Tab, the value of the component will be BC-TWB-TST-ECA for eCATT.
  • In the Attributes ->General Data Tab, the values of the SystemDataContainer should be given which contains all target systems with RFCs on which the script will be either executed or recorded & in the TargetSystem the name of target system (e.g. recording R/3 server) should be mentioned.
  • In the test script editor, choose the Editor tab.
  • From the Application Toolbar, click on Record Test Script (Ctrl+F5).
  • image
  • One window appears with title ‘Record SAP GUI Command’, select each check box of the Automatic Generation section. Click On Start Recording button.
  • image
  • Login in to Target System from SAP Logon or either create a new session on target system.
  • One window appears on the newly created session of target system as ‘Record SAP GUI Command’. Click on Yes for recording.
  • image
  • One window with title ‘Recording Running’ will appear. In the section of Record initial state for value check, select the Record with inactive checks radio button. Below the radio buttons, one table control with the record/ types for GUI elements is mentioned along with check boxes. Select all the check boxes. Select the check box of Closed Recorded GUIs and click finally the Continue (Enter) button. This recording window exists till recording ends. Lots of data of initial state for the mentioned screen element types will be generated. So one can be selective in selecting the checkboxes.
  • image
  • Recording can be started with the transaction working as normal on the newly generated session.
  • Once the transaction is complete with the functionality, from the Recording Running window, click on End Recording button. This will take the recorded details of the transaction to SECATT transaction in the test script editor.
  • A SAPGUI command and its associated Command Interface will be inserted in test script editor of SECATT.
  • image
Execution of Recorded SAPGUI script:
  • Once the recording of the transaction is done and the details of recording are taken back to the test script editor, script can be executed.
  • First of all without parameterization the script should be executed to confirm the errorless recording. At the runtime, a Start Options window appears. Give the following values on this window:
    • Error Behavior S No termination, continue with next script.
    • System Data – Name of the system data container, which contains the Target System.
    • Target System – Name of the server on which the execution will happen.
    • Select the Log Display check box.
    • In SAPGUI section of window, select following options:
      • Procg Mode SAPGUI – S Synchronous GUI Control
      • Error Mode for SAPGUI – C Continue (Continue on Any Error)
      • Stop When – N Do Not Stop
      • Close GUIs – R Close Generated Sessions After REF
    • Click on Execute button.
  • image
  • Transaction will start executing, by creating a new session. This requires GUI for playback.
  • If the recording is error free, then success log will appear. And if there is any error in recording of the transaction and its replay then error log with details will appear.
  • After the confirmation of error free recording, one can go ahead with parameterization of the import, export & variables.
  • In SECATT transaction using Test Data (TD), variants can be prepared for the recorded test script. In the Parameters tab, add all the parameters from the test script. This will appear as ECATTDEFAULT in the Variants tab. Add multiple variants, as per requirement in the Variants tab. Test Data is independent of test script. Hence can be reused wherever required.
  • In SECATT transaction using Test Configuration (TC), the TD & TS can be linked together on the Configuration tab. On the Variants tab, using Variant Maintenance Assistant required variants values from TD could be linked to TC.
  • Finally the TC can be executed from SECATT directly by giving the required variant name at runtime.
  • The TC is used in managing the scripts in plans/packages using SCAT transaction.
You must be Logged on to comment or reply to a post.
  • Hi,
    Sapna, it seems that you have studied the ecatt in details.Good Efforts to make others take the advantage & learn the same easily.

    Balaji Shinde

  • Sincere and dedicated efforts!!! This article is very informative and useful. Even a layman can use this article to understand eCATT. The flow of the information throughout the article is very nice. The author has taken lot of efforts to explain difficult concept in a simple manner.

    Thanks for such a nice article…Keep it up!!!

    Mangesh Vingkar

  • Hello Sapna,

    I also think your article is a very good starting point for a beginner in the SAPGUI command, because it supplies a step-by-step description through the SAPGUI command.

    Let me nevertheless comment on three issues:
    1. If the tester uses a system data container, I would recommend to use the “Pattern Dialog” instead of the “Start Recording” button. The advantage of the start with the “Pattern Dialog” is, that you can supply the target system name in this dialog and this target system is then started by the SAPGUI command.
    2. Furthermore, if the tester uses a system data container, he should also check if the data on the dialog with the question “Do you want to record this new session?” is correct and correct the data if necessary. The background for this is that the data is coming from the GUI and is sometimes not correct (because the GUI sometimes does not have all the necessary information about the backend). Incorrect data in this popup leads to the creation of a new target system in the system data container together with the creation of a new RFC destination in transaction SM59. Not only that this target system is not necessary, it’s sometimes even wrong (because the data used for the creation was wrong).
    3. I wuold not recommend to use the option “Record with Inactive Checks” in the “InitialState” area, especially not with all checkboxes switched on. The InitialState area is used for reading data from the screen and/or checking these data. Most of the time you do not need this, because you do not want to read data from the screen. The disadvantage of this option is that it creates a lot of data (e.g. if you switch it on for menues, the complete menu is recorded for every screen). And this high amount of data makes your script much slower in the maintenance (e.g. when opening the script or when opening the command interface) as well as in the execution (all the data has to be read and parsed during the execution). I would recommend that you only switch on this option before you get to a screen where you really want to read or check data – and switch it off afterwards.

    I hope you didn’t mind me commenting on this. I didn’t want to criticize, I just wanted to give you some hints how you could improve this WebLog. If I had had your e-mail address, I would have sent the information directyl to you.

    Thanks and best regards,
    Markus Dinkel

    • Thanks Markus for the comments.
      1. Regarding Pattern button for SAPGUI recording mode, I didnt try but I found it really useful due to the input option of Target system.

      2. The System Data(SD) container usage & the information one recording confirmatin window, what I found is the details coming from the SD are in display mode. There are quiet a few input enabled field. The values in some of them is either system defaulted (e.g. Application server or system number) or blank. Are these fields you are talking about to veirfy before recording.

      If so then my query is they have system generated values, won’t be they correct.

      3. The details mentioned in your third point are covered in blog.
      Only the switch on option during the recording for screen fields is not mentioned in this blog. As thi is not possible due to SAPGUI 6.20. This feature is from SAPGUI 6.40. And the article is prepared by referring WAS6.20, SAPGUI 6.20, Solution Manager 3.20 & SAP R/3 Enterprize 4.7.

      Will appreicate your valuable comments on my all blogs. My email id

      Thanks & Regards
      Sapna Modi

      • Hi Sapna,

        Very useful article. I have one query regarding Data container. I have recorded mb1c transaction, it is working fine. My requirement is that if i have created 10 variants , it should post only one single material document and not 10 different document. How to achieve this.?

        Thanks & Regards,

        • Hello Giridhar,

          The screen where these 10 values are supposed to be given, use any of the loop statements from the Pattern dropdown. Create local variables for these values & assign them to the actual parameter of variants. Finally use these variables in the loop statement.

          With this, you will be able to give multiple values with single document posted.

          Hope this helps.

          Sapna N. Modi

      • Hello Sapana,
        I was going through some of your blogs on ECatt.They are really good and very informative.
        I need to use the tool for data migration. I  need to massage the legacy data a little before putting it in my SAP system.
        I would appreciate if you have any input/advise on this.

        Thanks ,

  • I am using eCATT on ECC5 system for the first time,  I recorded a very simple MM02 transaction using TCD.
    The first time I run it after a system restart, it takes 30-60 seconds to run.  There is obviously a large overhead loading something into memory.   Even after this, it takes 7 seconds to process each MM02 transaction, which is unacceptably slow.   Reported to SAP but they say it is not designed for mass processing.  Even so, unless you are doing very basic tests, the performance is terrible.   Unless I am doing something wrong …. ?
  • Hi Sapna,

    Very helpful document.

    I am getting an error while working with eCATT in one of our test servers.

    I am getting some errors while executing the Test Script (for creating multiple users).

    Error Messages –
    Error in eCATT command TCD SU01
    No batch input data for screen SAPLSUU5 0050

    I have done all the pre-requisites needed for eCATT script enabling.

    The user is getting created through the script.. but the log shows errors. So before recording multiple users, I need to correct the log & then procedd with recording.

    Please suggest as soon as possible.


  • Hi Sapna,

        Your article is very helpful.But can You help me in running eCATT as background job,i have made the test script and attached it with the Test configuration and set the parameter for background Processing in the Start up option but then also the script is not running in background.

    very thankful, if you could help me.

    Shweta Gupta

  • Hi Sapna,

    Very helpful document.

    I need small information regarding the ECATT script integration with the SAP GRC 5.3 ERM.Is there any possibilities that we can integrate with SAP GRC?

    If you could provide me any information, that will be very helpfull.