You can use the Computer-Aided Test Tool (CATT) as an HR data upload tool that works as if you had a real user inputting the data into R/3 — except that CATT automates the task.
Key Concept
CATT stands for Computer-Aided Test Tool. It was originally developed as a testing tool. Both functional and technical consultants have been using CATT to create test data and automate reusable test cases for specific R/3 transactions. Organizations preparing to go live, upgrade their system, or install Support Packages need to test all applications before transporting them into their live systems. CATT was developed to enable businesses to record and play back applications as automated test scripts. The tool is part of the Basis component and is free of charge to R/3 customers.
You can use the Computer-Aided Test Tool (CATT) to upload HR objects and relationships. Rather than keying in the data manually, which can be time consuming, the CATT uploads the data for you. For example, you could use a CATT to upload your chief relationships within Organizational Management (OM) or to create multiple locations within Training and Events. The advantage of a CATT is that it is a standard SAP tool that does not require ABAP programming knowledge to use. A functional consultant can develop the CATT and have end users populate the spreadsheet that is read during the data upload.
CATT can run without any need for manual interaction. It can be run in the background. The results are logged in detail and reviewed later. I’m going to explain the process using an example test case.
Create and Execute a Test Case
Before you can start using CATT, make sure that CATT is actually enabled in your system. Using transaction SCC4, verify that the switch is set to E-CATT and CATT allowed. If you do not have access to SCC4, ask your system administrator to perform the task. Usually, CATTs are created in the development system first and then transported as a local object.
The data upload process via CATT has five main steps:
Step 1. Create the CATT.
Step 2. Record the transaction.
Step 3. Identify the import parameters.
Step 4: Prepare the upload file.
Step 5. Upload the data from the source file into R/3.
A Hands-On Example
The following example illustrates how you can use CATT to upload all your chief relationships within the organizational structure. A chief position is a position you designate to become the leader of a particular organizational unit. While it is not mandatory to designate leaders of organizational units, you need to create chief positions if you decide to implement workflow or Manager Self-Service (MSS). If you decide to designate leaders, you need to create a relationship infotype (1001) record between the organizational unit and the chief position via relationship A012.
If you were to create chief relationships manually, you would have to go via transaction PPOME and flag the Head of own organizational unit box for each position you want to designate as a chief position (Figure 1). Here, relationship A012 is created in the background.

Figure 1
Designate a chief position via the check box
Alternatively, you could go directly to transaction PP01 and link the position to the organizational unit by creating relationship A012 (Figure 2).

Figure 2
Position Manager Plant-A links to the organizational unit HQT- Quality Assurance – PLT via relationship A012 (manages). The creation of this relationship makes the position chief of the organizational unit.
Since either transaction is time consuming if you have hundreds of chief relationships to create, a CATT might prove helpful. Set it up as follows.
Step-by-Step Guide
Step 1. Create the CATT. Go to transaction SCAT and click on the create icon.
Give your CATT a name and a title and select the HR component for which it is applicable. In the chief relationship example, you would select PA-OS for organizational structure. Then you save the CATT. A pop-up window asks you to specify the development class. Consult with your system administration team on which development class should be assigned to the CATT. Since CATTs are part of ABAP Workbench, R/3 prompts you to assign it to a development class that describes the area that the object belongs to. The class also determines the transport layer that defines the transport attributes of an object.
Step 2. Record the transaction. Now you are ready to record the transaction (i.e., the creation of relationship A012 that the CATT will replicate). You will need to be in change mode to click on the Record button (Figure 3).

Figure 3
Click on the Record button to start recording the transaction
Once you click on the Record button, a pop-up window appears. Specify the transaction code of the transaction you want to record. In my example, it is PP01
. Record the transaction without omitting any data. When you have finished, save the last screen and click on the exit icon on your menu bar. This tells R/3 that the transaction is complete. The pop-up window shown in Figure 4 appears. Click on the end-recording icon.

Figure 4
Specify the transaction code to be recorded in the Transaction code field
Step 3. Identify import parameters. Identify those fields (within the transaction you just completed) that are variable. In other words, tell R/3 which fields need to be populated with new data. In my example, just two fields need to be identified as import parameters — the position ID field and the organizational unit ID field. All other values remain the same.
In transaction SCAT, double-click on the TCD (start transaction) line in the Maintain Functions screen. Click on the field list icon. Identify the fields for which you need to upload data and double-click in the column New field contents. This creates an import parameter.
You can overwrite the SAP parameter name and give it your own meaningful name — for example Position ID (Figure 5). On the next screen (Figure 6), make sure that the Default value field is empty.

Figure 5
You can overwrite the system parameter name here

Figure 6
Delete any Default value text
Repeat this for every field (in every screen) to be uploaded. Save your entries when you have finished.
Note
From Release 6.20 of the SAP Web Application Server (Web AS), you can use eCATT to test remotely in any system running R/3 Release 4.6C or higher. You need a single Web AS 6.20 to function as a central test server.
eCATT is available from Release 6.20 of the SAP Web AS, and is part of the standard delivery. This means that you can obtain it — with R/3 Enterprise Release 4.7 with SAP Solution Manager 2.2 or higher — as a standalone Web AS 6.20
You will still be able to use CATT in 6.20 systems to create and maintain CATT modules and procedures. However, maintenance of CATT is restricted to correcting serious errors, and no further functional development is taking place.
Step 4: Prepare the upload file. Having defined your import parameters for the test case, you now need to export those parameters to an external file where values can be added before being imported to the test case when it is run. Follow the menu path Goto>Variants>Export.
Choose a directory where you wish to save the file and make sure you save the CATT as a txt file. Now that you have created an external file with import parameters, you can add new values for the parameters. Open the txt file using Excel, manipulate the file, and save it again as a txt file.
Row 1 contains the field names, row 2 contains the field descriptions, and row 3 contains the default values. Make sure you only start populating at line 5. Do not delete lines 1 to 4! In the example shown in Figure 7, you can see that the position IDs and organizational unit IDs have been populated. When CATT is run, it reads those IDs to create the chief relationships.

Figure 7
Position and organizational ID fields populated
Step 5: Upload your data into R/3. Using transaction SCAT, click on the execute icon. On the screen in Figure 8, select your test case, select Background as the Processing mode, and click on the execute icon again.

Figure 8
Position and organizational ID fields populated
You can verify if all the data has been loaded correctly by using the standard SAP report “Structure Display Maintenance.” Using the object type Organizational Unit and evaluation path B012, R/3 outputs all the chief relationships it can find for the selected organizational units.
Kristin Schuster
Kristin Schuster has more than seven years of SAP expertise and has been involved in multiple global rollouts. She has also taught the module at the SAP HR academy in London. Her main areas of interest are PA, PD, OM, Recruitment and Training, and Event Management.
You may contact the author at kschuster@symphony-consulting.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.