Saturday, December 31, 2011

SAP Security Tasks


Creating a user role
The easiest way to create a new user role is to copy an already existing user role, either one of your own or one of the ones provided to you in the installation of SAP. So let’s assume that you have none of your own and use one of the SAP role templates provided. It might assist you with picking one of these roles if you have someone dump the appropriate information into a spreadsheet containing the Role Name, Role Description, Transactions contained in the Role, and the Transaction description. The SQL query would be something like this:
SELECT AGR_TEXTS.AGR_NAME, AGR_TEXTS.TEXT, AGR_TCODES.TCODE, TSTCT.TTEXT
FROM AGR_TEXTS, AGR_TCODES, TSTCT
WHERE AGR_TEXTS.MANDT = ‘000′ AND
AGR_TEXTS.SPRAS = ‘E’ AND
AGR_TEXTS.LINE = 0 AND
AGR_TCODES.MANDT = ‘000′ AND
AGR_TCODES.AGR_NAME = AGR_TEXTS.AGR_NAME AND
TSTCT.SPRSL = ‘E’ AND
TSTCT.TCODE = AGR_TCODES.TCODE
ORDER BY AGR_TEXTS.AGR_NAME, AGR_TCODES.TCODE;
This query should be changed based on the details of your SAP instance. Identify the roles(s) to be used as the source for your role copy.
1. Log on to client needing the role.
2. Go to transaction PFCG.
3. On the Role Maintenance screen, either type in the role name to be copied or select it from a dropdown. Press Enter to confirm that the role exists.
4. Click the Copy role button or press Shift+F11.
5. One the Query popup box, fill in the to role field with the name to be given the new role. Come up with a standard that everyone follows so the base original role is designated in some way so you don’t forget where you got the original. The name must begin with Z or Y. Most people will add a Z- in the first two characters of the role name. If you want to only select specific roles from a Composite role, you would click the Copy selectively button, otherwise click the Copy all button.
6. Once the role has been copied, you will be taken back to the original PFCG screen where you will see the name of your new role. Change you Role description and save the new role before working with it any further
Modifying a user role
1. Log on to client needing the role change.
2. Go to transaction PFCG.
3. On the Role Maintenance screen, either type in the role name to be changed or select it from a dropdown. Press Enter to confirm that the role is found.
4. Click the Change Role little yellow pencil button role button or press F6.
5. Click the Authorizations tab and then the Change Authorization Data button.
6. On the Change Role: Authorizations screen, expand and change the authorizations you need to adjust. When finished click first the Save button and then the Generate button – looks like a little red and white beachball.
7. Back out to the Change Roles screen and click the User tab. Click on User Comparison and then Complete Comparison. Once the comparision is done, click Save one more time and you are done!
Deleting a user role.
1. Log on to client needing the role deletion.
2. Go to transaction PFCG.
3. On the Role Maintenance screen, either type in the role name to be changed or select it from a dropdown. Press Enter to confirm that the role is found.
4. Click the Role Delete button or Shift+F2.
5. On the Delete Role popup, confirm that you wish to delete the deletion. If you get an Information popup, confirm it also.
6. Your deletion will return a successful message in the bottom status bar.
(Transport System Method)
Transporting user roles between clients
When a modification is made to a role in the 100 client, the roles must be transported to the 800 client. One role, several roles, or all roles can be done if needed. They can all be added to the same transport change request. After the roles have been moved to other clients, you will need to log on to each of those clients and do a user comparison. You will also need to do a text comparison in client 100 of the appropriate SAP system.
1. Log on to client 100 of the appropriate SAP system.
2. Go to transaction PFCG.
3. On the Role maintenance screen, type in the Role name of the first role to be transported. Click the Truck picture-icon.
4. You will see an Information popup. Click the green √ picture-icon.
5. In the Choose objects popup, unclick the □s beside User assignment and Personalization. If you want to transport the users along with the role, profiles, and authorizations, you can √ the □ to the left of User assignment. Click the green √ picture-icon.
6. On the Prompt for Customizing request popup, click the blank page picture-icon to create a new change request. On the Create Request popup, fill in the Short description and click the Save picture-icon. You will be returned to the Prompt for Customizing request popup which contains the generated change request number for this system change. Click the green √ to continue.
7. You will see a Data entered in change request message in the status bar at the bottom of the screen. Now enter the name of the next role to be transported and click the Truck picture-icon.
8. You will see an Information popup. Click the green √ picture-icon.
9. In the Choose objects popup, unclick the □s beside User assignment and Personalization. If you want to transport the users along with the role, profiles, and authorizations, you can √ the □ to the left of User assignment. Click the green √ picture-icon.
10. On the Prompt for Customizing request popup, continue to use the same transport you created in step 6. Click the green √ to continue.
11. Continue to perform steps 7 through 10 until all the roles you need to transport have been attached to the transport change request.
12. The generated transport can now be released and transported into the clients needing the modified roles.
13. You may now leave the PFCG transaction.
Transporting User Roles between Clients (Upload/Download Method)
Central User Administration distributes clients and their information to the other clients connected to the Distribution Model. It does not, however, do the same for roles and role authorizations. So when a modification is made to a role in the 100 client, the roles must be transported to the 800 client. One role, several roles, or all roles can be done if needed. They can all be added to the same transport change request. After the roles have been moved to other clients, you will need to log on to each of those clients and do a user comparison. You will also need to do a text comparison in client 100 of the appropriate SAP system.
1. Log on to client 100 of the appropriate SAP system.
2. Go to transaction PFCG.
3. On the Role maintenance screen, type in the Role name of the first role to be transported. Click the Truck picture-icon.
4. You will see an Information popup. Click the green √ picture-icon.
5. In the Choose objects popup, unclick the □s beside User assignment and Personalization. If you want to transport the users along with the role, profiles, and authorizations, you can √ the □ to the left of User assignment. Click the green √ picture-icon.
6. On the Prompt for Customizing request popup, click the blank page picture-icon to create a new change request. On the Create Request popup, fill in the Short description and click the Save picture-icon. You will be returned to the Prompt for Customizing request popup which contains the generated change request number for this system change. Click the green √ to continue.
7. You will see a Data entered in change request message in the status bar at the bottom of the screen. Now enter the name of the next role to be transported and click the Truck picture-icon.
8. You will see an Information popup. Click the green √ picture-icon.
9. In the Choose objects popup, unclick the □s beside User assignment and Personalization. If you want to transport the users along with the role, profiles, and authorizations, you can √ the □ to the left of User assignment. Click the green √ picture-icon.
10. On the Prompt for Customizing request popup, continue to use the same transport you created in step 6. Click the green √ to continue.
11. Continue to perform steps 7 through 10 until all the roles you need to transport have been attached to the transport change request.
12. The generated transport can now be released and transported into the clients needing the modified roles.
13. You may now leave the PFCG transaction.
Performing a User Comparison on the Modified Roles
1. Log on to client 100 of the appropriate SAP system.
2. Go to transaction PFCG.
3. On the Role maintenance screen, type in the Role name of the first role to be transported. Click the Change button.
4. On the Change Roles screen, click the User tab.
5. On the User tab, click the User compare button.
6. On the Compare Role User Master Record popup, click the Complete compare button.
7. You will receive a User master record for role was adjusted message in the status bar at the bottom of the screen. You may now leave the PFCG transaction.
Performing a Text Comparison to Refresh Role Selection Lists
1. Log on to client 100 of the appropriate SAP system.
2. Go to transaction SU01.
3. On the User Maintenance: Initial Screen screen, type in the user “model_user”. Click the pencil picture-icon.
4. On the Maintain User screen, click the Text comparison from child Syst. button.
5. On the CUA: Text comparison from Child Systems screen, type “LSDEV100” for the Receiving system and “LSQAS800” for the to system. This is a range, and since LSPRD300 falls alphabetically between LSDEV100 and LSQAS800, all three systems will have the text comparison performed. Click the clock picture-icon.
6. On the CUA: Text comparison from Child Systems results screen, you will see a list of the systems compared and the compare results. Click the white arrow on green picture-icon 3 times, or until you have left the SU01 transaction.
Users, Roles, and Authorizations
SAP security is based on authorization objects and authorizations. An authorization object is used to indicate that a user can perform a certain activity. An authorization is used to limit the scope of that activity.
For example, a profile contains the S_DEVELOP authorization object. This authorization object allows a user to perform ABAP workbench activities. Some users will need to do all ABAP activites while others will only need to perform a few. So S_DEVELOP has a selection of authorizations you can use: ACTVT, DEVCLASS, OBJNAME, OBJTYPE, and P_GROUP. The authorizations are set to the appropriate values as needed. A tree view of the S_DEVELOP authorization object can be seen below:
S_DEVELOP
ACTVT
Create or generate
Change
Display
Delete
Activate, generate
Execute
Create in DB
Delete in DB
Convert to DB
Administer
Copy
All Functions
Deactivate Mod. assistant
DEVCLASS
Single Value or Value Range
OBJNAME
Single Value or Value Range
OBJTYPE
Single Value or Value Range
P_GROUP
Single Value or Value Range
The S_DEVELOP authorization object in a profile lets a user perform ABAP workbench activities. But having a S_DEVELOP authorization object with the ACTVT authorization value set to Display (03) means that the user is limited to display only in the ABAP workbench transactions. Thus we see that authorization objects grant while authorizations limit. It is important to remember, however, that a user with a profile having a S_DEVELOP with full authorizations still cannot access an ABAP workbench transaction until a matching S_TCODE (start up transaction code) has been added as well. In other words, a user may have the rights to add, modify and delete ABAP programs but until an entry for SE38 has been added to the S_TCODE authorization object, he cannot access transaction SE38 which is the ABAP Editor.
All authorization objects and authorizations are grouped into profiles before being attached to users. Profiles use a combination of authorization objects and their respective authorizations, and their creation can be complex as well as tedious. In order to simplify the creation of profiles, the Profile Generator (transaction PFCG) was created. Roles are created via a more user-friendly interface which generates profiles based on the information added via this interface.
Manually creating profiles is the “old” way of doing things. There are times, such as the start of a new SAP landscape where no roles exist, that the use of profiles is handy. But once the landscape has been completed all users, with the exception of the Basis team, should be attached to roles. There should never be a need to manually create a SAP new profile. To add a new role, the easiest method is to copy an existing role that matches your needs as closely as possible and make the changes you need for the new role.
This documentation covers changing user security via both methods.
Adding Authorization Objects and/or Authorizations to a Profile
Remember that profiles are NOT the standard way to implement SAP security
1. Log on to the appropriate client in the appropriate SAP system.
2. Go to transaction SU02.
3. In the Manually edit authorization profiles section of the Profile: Initial Screen screen, enter the Profile you want to change. Make sure the Active only □ is checked. Click the Create work area for profiles button.
4. On the Profile List screen, double-click the profile to be changed.
5. A profile can contain authorization objects only (single profile) or one or more other profiles (collective profile). If the next screen is titled Maintain Profile, this is a single profile, and you should proceed to the next step. If the next screen is titled Collect Profiles, this is a collective profile and you should skip to step 13.
6. On the Maintain Profile screen, you must decide if you need to add a new authorization object and one or more of its authorizations, or add a new authorization to an authorization object already in the profile. If you need to add a new authorization to an authorization object already in the profile, skip to step 7. Otherwise, scroll down the Consisting of authorizations list until you find a blank line. Type the authorization object you need to add and press Enter. You will need to scroll through the list again until you find the authorization object you just added (it is was to find since the Authorizationcolumn should still be blank). Once you find the new entry line, use the drop down to fill in the Authorization column. Click on the Save picture-icon.
7. If you need to add another authorization to an authorization object already in the profile list, click on the +Add authorization button.
8. From the Maintain Profiles: Object Classes screen, double-click the Object class of the authorization you are adding.
9. On the Maintain Profiles: List of Authorizations screen, select the authorization you need to add by double-clicking the appropriate line. This will return you to the Maintain Profile screen where you can see that your authorization has been added.
10. On the Maintain Profile screen, click the Save picture-icon. Then click the lit match picture-icon to activate the new profile changes.
11. On the Activate Profile: Execution Screen screen, click on the lit match picture-icon to complete the profile activation process.
12. You may now leave the SU02 transaction.
13. In order the change a profile collection, you must make the changes in one or more of the dependent profiles, save the changes in the dependent profile(s), activate the dependent profile(s), save the collection owner profile, and activate the collection owner profile. On the Collect Profiles screen, double-click on the profile you want to change.
14. You will be taken to the Maintain Profile screen. Perform steps 6 to 11. Then use the white arrow on green picture-icon to go back.
15. On the Collect Profiles screen, click the Save picture-icon. Then click the lit match picture-icon to activate the new profile changes.
16. On the Activate Profile: Execution Screen screen, click on the lit match picture-icon to complete the profile activation process.
17. You may now leave the SU02 transaction.
Adding Authorization Objects and/or Authorizations to a Role
1. Log on to client 100 in the DEV SAP system.
2. Go to transaction PFCG.
3. On the Role Maintenance screen, enter the Role you want to change. Click the Change button.
4. On the Change Role screen, click the Authorizations tab and then click the pencil picture-icon.
5. If you are only adding a start up transaction to the role, skip to step 10. Otherwise, the assumption is that a new authorization object is to be added. On the Change role: Authorizations screen, click the +Manually button.
6. On the Manual selection of authorizations popup, enter the authorizations objects that need to be added (ie S_DEVELOP, S_PROGRAM, etc.) Click the green √ when you are finished.
7. Back on the Change role: Authorizations screen, if all the displayed signal lights are green, skip to step 8. Otherwise, fully expand the lines that are yellow and/or red and supply the necessary information. All signal lights should be green before moving to the next step.
8. On the Change role: Authorizations screen, click the Save picture-icon. You will receive a Data saved confirmation message in the status bar at the bottom of the screen.
9. On the Change role: Authorizations screen, click the red-and-white beach ball picture-icon to generate a profile from the saved role. Reply affirmatively if any confirmation popups. You will receive a Profile(s) created message in the status bar at the bottom of the screen. If you do not need to add any start up transactions to the profile, you may now leave thePFCG transaction.
10. On the Change Role: Authorizations screen, expand the Cross-application Authorization Objects → Authorization Check for Transaction Start → Authorization Check for Transaction Start until you see the Transaction code entry line. Double-click on the entry portion of the Transaction code line.
11. In the Maintain Field Values popup, scroll down the list until you find a blank From and To line. Enter the transaction(s) to be added, and click the Save picture-icon when you have finished.
12. On the Change role: Authorizations screen, click the Save picture-icon. You will receive a Data saved confirmation message in the status bar at the bottom of the screen.
13. On the Change role: Authorizations screen, click the red-and-white beach ball picture-icon to generate a profile from the saved role. Reply affirmatively if any confirmation popups. You will receive a Profile(s) created message in the status bar at the bottom of the screen.
14. You may now leave the PFCG transaction.
Granting Transaction access to a user via profile
*** Since SAP R/3 4.5, this is not the standard for user authorizations.
***
Granting Transaction Access to a User via Role
1. Log on to the applicable SAP instance and client.
2. Go to transaction SU01.
3. On the User Maintenance: Initial Screen screen, fill in the User ID for the user you want to change, either by typing it in or choosing it from the drop down. Click the little yellow pencil Change button.
4. On the Maintain User screen, click on the Roles tab. Fill in the new role in the first available Role field. Press ENTER to confirm that the role exists. Click the Save button.
5. Make sure to use transaction PFCG to run a user comparion to rebuilt the role-to-user connections.
6. You may now leave the PFCG transaction.
*** Since SAP R/3 4.5, this is not the standard for user authorizations.
***
Revoking Authorizations from a User via Role
Use the same procedure as Adding Authorization Objects and/or Authorizations to a
Role
Revoking Transaction Access from a User via Profile
*** Remember that profiles are NOT the standard way to implement SAP security. ***
Attaching a Profile to a User
*** Since SAP R/3 4.5, this is not the standard for user authorizations.
***
Attaching a Role to a User
1. Log on to the applicable SAP instance and client.
2. Go to transaction SU01.
3. On the User Maintenance: Initial Screen screen, fill in the User ID for the user you want to change, either by typing it in or choosing it from the drop down. Click the little yellow pencil Change button.
4. On the Maintain User screen, click on the Roles tab. Fill in the new role in the first available Role field. Press ENTER to confirm that the role exists. Click the Save button.
5. Make sure to use transaction PFCG to run a user comparion to rebuilt the role-to-user connections.
6. You may now leave the PFCG transaction.

Friday, December 30, 2011

SAP R/3 dispatcher and work processes


Types of work processes:
Message : Coordinates the communication between different instances of a single SAP R/3 system. Used for Logon purpose and load balancing.
Dispatcher : Redirect the request from GUI client to free process.
Dialog : Interpreting the ABAP code and execute the business logic. Used for interactive online processing.
Batch : For Background jobs.
Enqueue : Single “Central Lock Management Service” that controls the locking mechanism between the different application servers and the database.
Update : Responsible for consistency in asynchronous data changes.
Gateway : Used for transport of bigger amount of data between application servers as well as external (non SAP) systems that communicate with SAP.

Thursday, December 29, 2011

Job profile for SAP BASIS Administrator


Job profile for SAP BASIS Administrator
SAP Administration
Starting and Stopping SAP instance/(s)
User Administration – Setup & Maintenance
Authorization/Role/ Profiles – Setup & Maintenance
Setup SAP Security
Maintenance of System’s Health
Monitor System Performance and Logs
Spool and Print Administration
Maintain System Landscape
Transport Management Systems
Manage Change Requests
Create/Manage Batch Jobs
Backup Schedule,run & Monitor Backup of SAP
Apply Patches,Kernel & OSS Notes
2. Database Administration
Database Space Management
Database Backup
Database Recovery
Database log (Redo log, Archive Log) management
Database Performance Tunning
3. Operation System Administration
Operatin System Security
Operation System Performance Tunning
OS Space management
OS level background Job Management
OS level backup and recovery
4. Overall System Monitoring
Monitoring R3 Servers and Instances
Monitoring Users and Authorizations
Monitoring Security Part
Monitoring workload analysis
Monitoring Processes
Monitoring Buffers
Monitoring Operating system
Monitoring Database
Monitoring Backups

Wednesday, December 28, 2011

Creating a Local Frontend Printer or Desktop Printer


Local or frontend printing is sometimes confusing in concept but actually very easy to understand. As a rule, local printer is simply another way of saying that the user is going to print to the default printer designated on his/her workstation. You probably do this all the time with Windows to printerspreadsheets, Word documents, etc without thinking about it. You can do the same thing using SAP.
1. Log on to any client in the appropriate SAP system.
2. Go to transaction SPAD.
3. On the Spool Administration: Initial Screen screen, click the Output Devices
button.
4. On the Spool Administration: List of Output Devices screen, click the
Change button and then the Create button.
5. On the Spool Administration: Create Output Device screen, fill in the
Output Name and Short name – I normally use a short name of “DESK” for
“Desktop Printing” but alot of people use a Short name “SWIN” or “LOCL”
as well. Use the following DeviceAttributes fields:
Device type = SWIN
Device Class = standard printer
And the following Access Method fields:
Host spool access method = F: Printing on frontend computer Host printer = __DEFAULT. That is _ _ D E F A U L T
Save the printer.
6. You may now leave the SPAD transaction.
Using this printer will cause print to go to SAPLPD which will use the default printer of the current workstation.

Tuesday, December 27, 2011

How to Generate a Developer’s Key for a Programmer/ABAPER


Log on to the SAP Marketplace using an OSS ID with Administration rights –http://service.sap.com/sscr.
2. In the navigator tree on the right-hand side of the SSCR screen, click onRegistration.
3. On the SSCR – Registration screen, click the Register developer radio button and click an Installation hyperlink. Make sure you select the correct Installation Number for the SAP “flavor” you need or the generated key will not work.
4. On the SSCR – Register Developer screen, type in the developer’s SAP user ID and click the Register button.
5. A new Details section will appear. Note the generated developer’s key or cut-and-paste for other storage.
6. You may now close your web browser session.

Monday, December 26, 2011

Reporting a Problem/bug to SAP


Log on to the SAP Marketplace using an OSS ID with Administration rights –
http://service.sap.com/message.
2. On the Create Customer Messages screen, click on the Start Message Wizardbutton.
3. On the Customer messages – Create screen, click the Select a Systembutton.
4. On the System Selection popup, click on the + sign next to Show systemsto see a list of your SAP systems registered with SAP. From the expanded list of system, click on the radio button just left of the for which you are reporting the problem. Click the Choose button and you will be returned to the Customer messages – Create screen.
5. On the Customer messages – Create screen, click on the radio button to the left of the System type which has the problem: development system,test system, or production system. From the Release dropdown, select the appropriate SAP software release. Click the Continue hyperlink.
6. On the next Customer messages – Create screen, scroll down to the bottom of the screen. If the problem involves an add-on, select the appropriateAdd-on and Add-on release from the dropdowns; if an add-on is not involved, leave these dropdowns blank. Verify that the information showing in theOper. System, Database, and Frontend dropdowns is correct. If it is not correct, selection your SAP system’s information from the appropriate dropdowns. Click the Continue hyperlink.
7. On the next Customer messages – Create screen, scroll down to the bottom of the screen. From the Priority dropdown, select the appropriate priority of Low, Medium, High, or Very High. From the Component dropdown, select which SAP component is having the problem. Once you select a component, a secondary Component dropdown will appear. Select a secondary component and a third component as well. Do the best you can to make all three component pieces fit your problem as closely as possible. Click the Continuehyperlink.
8. On the next Customer messages – Create screen, scroll down to the bottom of the screen. Select a language from the Language dropdown, type a short but descriptive summary of your problem in the Short description box, and type a more detailed description of your problem in the Long test box.
9. If there are logs or other files which might assist SAP in resolving the issue, rename them all so that they have a suffix of “.log” and use the Add attachment hyperlink and the Attachments popup to attach them to the message. After attaching all the necessary files, click the Closehyperlink to return to the Customer messages – Create screen.
10. When you have provided as much information as possible, click the Send to SAP hyperlink.
11. You will receive a confirmation screen with a generation problem number. Write this problem number down for later use.
12. You may now leave the Message Wizard and close the web browser window.

Sunday, December 25, 2011

What is Client on SAP System ?


A client is organizational and legal entity in the SAP system. All the business management data is protected here because other clients can not access them. The main objective of the client is to keep the data isolated. The data in a client can be only visible within that client; it can not be displayed or changed from another client. In a physical SAP system there can be multiple clients. Each of these clients can have different objective or each client represents a unique work environment. In a development environment one client can be used as sandbox client (developers learn how to configuration using SAP environment), one can be used as prototype client (users do the customizing according to the company’s requirements and testing) and another one can be used as the master development and configuration client (where the final configuration is done). A client has its own set of tables and user data. To know whether a table is client dependant or independent you can search for a field MANDT. The client dependant tables always include the client field ‘MANDT’ as a part of the primary key. There can be multiple clients in each of the system of SAP system landscape as we have already seen in chapter 5. It is better to understand the customizing process in the CTS pipeline before designing a good client strategy for the SAP systems. Customizing is a method in the SAP R/3 system that helps the user to configure the functionality from SAP, according to the customer requirements. When the SAP objects are just used by only one client, we define them as client dependant data. There are some objects as ABAP/4 programs, which are used by all the clients in a SAP system. Those objects are called client independent data. The functional changes resulting from customizing can be client specific (client dependant) or general (client independent). You must know the fact that client independent customizing can create problems if the authorizations and the client strategy are not defined properly. For example if you have three clients in a development environment then the role of each client should be defined properly. One of these three clients should be used for client independent customizing and in other clients, users will not have the authority to do any client independent configuration.
About SAP Clients
With a standard installation, SAP delivers 000, 001 and 066 clients. Client 000 is considered to be a SAP reference client and it should not be changed or deleted at anytime from the system. After a SAP system is installed, you can create other clients from 000 by using the client copy procedure. For some important configuration you have to logon to client 000. For example, if you want to configure your CTS system then this client must be used. Client 000 also plays a very important role in upgrade process. Every time you do upgrade client dependant changes will be automatically upgraded in this client and later on the changes can be copied to other clients.
The customer uses client 001 as a SAP sample client. After a new installation both 000 and 001 clients are identical, but after an upgrade 000 will have additional customizing data. Lot of customer sites does not use 001 client at all. Client 066 is there for SAP Early Watch service. This client enables SAP to remotely access the customer system. SAP provides this service to the customer to improve the system performance. After Early Watch group goes through the checking methodology, a system performance summery and recommendations to improve performance report are provided to the customer. SAP recommends to go for an Early Watch session before your project goes live and another one sometime after the go live date. Client 066 should not be changed or deleted from the system. In case this client was deleted from the system, then you have to follow the instructions in OSS note 7312 to download the client data from sapserv3 and import this data to create 066 client.
Creating a client and setting up the client attributes
To create a client you have to maintain T000 table. From 3.0 onward, transaction SCC4can be used to maintain T000 table. Also you can chose Administration-> Client admin -> Client Maintenance from the initial screen to do the same. In client table T000, SAP system displays all the clients available, their names, currency used and when the client was changed last as shown in Figure 9.1. If the system is in display mode then you must change it to the change mode by selecting the display/change icon to create a new client. When you click display/change button, a warning is displayed as “Warning: the table is client-independent”. The “New entries” icon should be clicked to create a new client as shown in Figure 9.2.
Figure 9.1 shows Client overview in SCC4 transaction
In the new client creation screen to define a new client you must fill all the required entries. The client number and the name are entered first. Then in the second line the location of the SAP system is defined.
Logical system is defined next. SAP uses logical system concept in ALE (Application Link Enabling), workflow and EDI areas. The logical system must be unique through out the company and any other ALE system group can not use it. You must be careful changing the logical system entry. SAP treats a logical system as a client. You can use transaction BD54 to create a logical system and then enter that entry in the logical system box while creating a client.
Next entry “standard currency” can be defined according to the country. For example USD can be used as a standard currency for USA. To enter a category of a client you must know the objective of that client beforehand. For example if this client will be used as a customizing client then customizing entry should be used from the options. In the next category “Changes and transports for client-dependent objects”, there are four options. If you want to use this client as a sandbox client; and you do not want to record or create a change request every time a change happens to the client then “Changes W/O automatic recording” is the right option. If all the changes to the client should be recorded in a change request then “Automatic recording of changes” is the right option. You must choose this option for your master configuration client. If “No changes allowed” is chosen, then no changes will be allowed to this client. You must chose his option for clients in the production environment to protect your system. “No transport” option is used when you do not want any user to create a transport from this client.
Figure 9.2 shows the client create screen
The “Client-independent object changes” category determines if the client independent data maintenance is allowed in this new client. You get following four options in this category:
Changes to Repository and client-ind. customizing allowed
No changes to client-independent customizing objects
No changes to Repository objects
No changes to Repository and client-independent custom. obj.
To choose the right option from “Client-independent object changes” category, you must know the definition of Clint independent customizing objects and repository objects. The examples of SAP repository objects are data dictionary objects, module pools and screens. Client independent objects apply to all the clients. The factory calendar is an example of client independent object of customizing. For sandbox client, where user learns how to do the customizing, you must not allow the client independent customizing.
Changes to Repository and client-ind. customizing allowed: Both client independent customizing objects and SAP repository objects can be maintained. Usually this option is selected in a master-customizing client.
No changes to client-independent customizing objects: No change is allowed for client independent customizing objects but changes to repository objects are allowed. This option can be used for a sand box client.
No changes to Repository objects: If you select this option, then no changes are allowed to the Repository objects but the client independent customizing is allowed. When you want to protect the repository objects in a client, this is the right option to use.
No changes to Repository and client-independent custom. Obj: This option does not allow any changes to client independent customizing objects and repository objects. You should use this option for a consolidation and production client where the security of client independent objects and repository objects are necessary.
In the restriction category of the ‘Change View “Clients”: Details’ screen, there are four options. You are allowed to maintain only the following three options as shown in Figure 9.2:
Protection against overwrite by copying: If you chose this option, a client copy can not overwrite the new client. You should chose this option for a master-customizing client or for an important client as production.
Start of CATT processes allowed: This option determines whether you want to allow the CATT (Computer Aided Test Tool) process in the client or not. Computer Aided Test Tool (CATT) is tool provided by SAP to test different functionality of the SAP system. To run the CATT tool you can execute transaction SCAT. CATT process changes the database extensively and requires lot of system resources. So we recommend not to chose this option if you are in the production environment.
Protection against SAP upgrade: If you chose this option, then this client will be not updated in time of upgrade. You should use this option for a client that is used for backup purposes or client 066 (Early Watch client) that is used by SAP for customer’s SAP system performance. If you chose this option for any client, the upgrade will not provide any data to this client and it can not be used as a regular customizing client. You need S_CTS_ALL authorization to maintain this option.
System-level control in transaction SE06
You can use the system change option to control the system level access to different types of users in a SAP project. To use system change option screen you can chose SE06 and then system change option or use SE03 and then go to “for setting the system” category and chose “set system change options”. The option you chose here directly affects ABAP/4 workbench, Workbench Organizer and the transport system.
You need all access to Workbench Organizer to change the system change options as shown in Figure 9.3.
There are some TP commands that can be used to control the system level access. ·
System change option in se06 figure9.3
The following are the four system change options:
Objects cannot be changed: If you select this option then no changes of any kind are allowed for any objects in the SAP system. The SAP customers use this option in the consolidation and production environment. Using this option you can control the developers and the customizing people directly changing any development objects and customizing objects in the consolidation and production environment. So the users use the transport method to move the objects from development system to other systems instead of directly creating or maintaining them in the target systems. The tp command “tp lock_eu ” can be used in the operating system level to set the system to “cannot be changed” and the command “tp unlock_eu” puts the system back to where it was when the lock command was executed.
Only original objects (w. Workbench Organizer): If you go for this option then only original objects those are created in this system can be changed. If the original object exists in some other system and you have a copy of that object in this system then you can not change that object. In special cases you can use this option for the QA or test system. All the changes are recorded in Workbench Organizer.
All customer objects (w. Workbench Organizer): This option allows you to edit or repair an object though it is not the original object of the current system. Any changes to customer objects are allowed. The changes are controlled and recorded by the Workbench Organizer. This option does not allow changing the objects came from SAP originally. You can use this option in a training system.
All objects (w. Workbench Organizer): With this option you can change or repair any objects in the system. Now the system is totally open for any changes to all the objects. With this option also every change is recorded and controlled by the Workbench Organizer. This option is generally selected in a development or sandbox environment.
From 4.0 version the se06 change option looks as following:
Pre-Configured Client from SAP
The pre-configured client from SAP has pre-configured customizing objects for a simple organizational structure. The pre-configured settings of the client help a customer to configure a system quickly. SAP recommends the customers to install the pre-configured client in their system if they want to go for a rapid implementation using ASAP (Accelerated SAP) methodology. In the ASAP chapter we are going to give you an extensive definition about this methodology. Now instead of starting from client 001 copy, you can start from a pre-configured client that will provide more configured features.
SAP provides the transports and help documentation to create a pre-configured client. The pre-configured client for FI/CO, SD, AM, MM, HR and PP modules is already available from SAP. According to SAP, customers that have used the pre-configured client saved 4 to 6 weeks of project implementation time. The way pre-configured client is designed; some of the small companies can run the pre-configured client for production after the out of the box installation.
Following procedure is used to create a pre-configured client:
· A client is created in T000 table
· Copying client 000 to the new client
· Copying the data files and cofiles from SAP to your system
· Adding those change requests to the buffer and then importing them to the target client
· We recommend to check your number ranges after the import
· Creating a user and assigning SAP_ALL and SAP_NEW profiles
· Run the SCAT transaction for CATT tool to test the pre-configured client. This tool is a great tool for those users, who want to learn about SAP functionality and, what a pre-configured client can do for them?
·The pre-configured client comes with non-matric units of mass, area, length and volume and a sample factory calendar is pre-configured with the ten US government holidays.
Client COPY Procedures
After the SAP system is installed, the client copy is a common thing to do for creating new clients. A client copy can be done from one system to another or within one system. A client copy can affect the database and current users in the system; so you need to be aware of the following important information before scheduling a client copy.
For the stability of the system, always schedule the client copy in the nighttime when the users are not working in the system.
To avoid data inconsistency you should not keep on working in the source or target clients when the client copy is going on.
For the best performance, always schedule the client copy in the background. Try to examine the maximum online runtime parameter “max_wp_run_time” in the instance profile. You might need to increase this for a large table copy.
You should have proper authorizations to run the client copy. As a basis system administrator you should have SAP_ALL profile to complete a client copy successfully. If you do not want a generic id to run the client copy; we recommend using SAP*. The internal user SAP* has all the authorizations needed by the client copy.
Always check the database resources before executing a client copy. You can do that by running a “test run” client copy. The test run will provide all the information about the necessary database table spaces that you need in the target client.
The main memory plays a significant role in the client copy. Make sure that you have enough memory to finish the client copy without any problem. When you are planning the hardware requirement for the SAP installation, it is always better to install memory recommended by SAP. Version 3.X and 4.X require more memory for memory management and client copy.
When you trying to copy a large productive client, it better to copy the cluster tables first.
You should look for all the OSS notes that apply to the client copy in a particular version of SAP. For example according to OSS note number 34547, SAP_USR client copy parameter that suppose to copy only user data in the background also copies customizing data in the background for release 3.0B.
If the client copy is locked by another client copy run, then check the log before deleting the lock entry in SM12 to remove the lock.
In 2.2 release of SAP R3trans is used for client copy, client export and client import. You should not do the same in 3.0 or 4.0 release of SAP. You can use R3trans to remove a client in 3.0 and 4.0 also and we will see the procedure in the “deleting a client” part of this chapter. R3trans can be used also for some other important jobs as described in chapter 10.
It is very important to know that the number ranges have to be reset in the target client if you are just copying the customizing data. Though the client copy utility has been improved a lot still we get problems with number ranges. We recommend checking the OSS notes about number ranges before dealing with them.
When you perform a client copy, it is very important to know the three levels of data in SAP system and how they affect the client copy. The client dependent application data is created from the master and transaction data of the system during the application system operation. The client dependant customizing data is created during the development process of a SAP project and this data depend upon the client dependent application data. The client independent customizing data applies to the entire client. The client copy procedure copies the client dependent application data and client dependent customizing data unless you specify to copy the client independent customizing. To maintain the consistency you should follow some SAP rules. When you are copying the customizing data, you should copy the application data (master and transaction data). If you just want to copy the customizing data then remember that all the application tables are reset in the process and this reset process can guarantee the consistency of the client
Creating custom PROFILES to copy Clients
Client copy profiles are used to copy specific data from one client to another. SAP provides some custom profiles to perform a client copy. The following are the example of profiles provided by SAP.
SAP_ALL: All data of a client
SAP_APPL: Customizing, master and transaction data
SAP_CUST: Customizing data
SAP_UAPP: Customizing, master&transact.data, user masters
SAP_UCUS: Customizing data, user masters
SAP_USR: Authorizations and user masters
The objective of above client copy profiles is defined clearly. What profile you are going to use; depends on what you want to copy from one client to another. For example you want to copy the entire data of a client then you want to choose SAP_ALL as your copy profile. you can select a profile name from the profile input field possible entries and then chose Profile -> Display profile from the menu. You can create a custom profile according to your requirement. To create a custom profile you need to chose the path Profile-> Create profile from client copy or client export screen.
Profile: Here you define the profile name. The name should be according to the SAP standard; so it should start with either Z or Y.
Last changed by and last changed on: These fields show the information about the person who last changed the profile and the time it was changed.
In the data selection category we have the following three selections:
User masters: If you chose this option then the user master records will be copied from the source client to the target client.
Customizing data: If you want to copy all customizing data then chose this option.
Appl. Data. Initialization. Cust. Data: This option copies master, transaction and customizing data from the source client to the target client.
Important tips: It is very important for you to understand the data selection procedure before the client copy. In SAP environment it is not possible to copy selected parts of the application and customizing alone. If you want to copy application data, we recommend doing it in batch input. With batch input consistency is ensured.
In the copy mode category the following options are displayed:
Initialize Recreate: This option is grayed out and already selected. This option allows the system to delete all the tables (not selected in the client copy process) in the target client and initialize them. You can use the path Extras -> No initialization to have an option for not choosing this option. We recommend not doing that; it might create instability in the target client.
Copy variants: If you want to include variants in the client copy then chose this option.
In “transport between 2 systems” category there is one option:
Client Independent data: If you chose this option then the client independent data will be copied from one client to another. We recommend executing the client copy remote compare program “RSCLICMP”, before choosing this option to do a client copy. This program provides all the information regarding the differences between the source and target systems client independent tables.
The other options are:
Default source client: You define the default source client for the client copy in the profile. You can change the client after choosing this profile before starting the client copy.
Default source client user master record: You can enter the client number from where the user master records will be copied to the target client. You can also change this like default source client.
Comment: You should provide a meaningful description for the profile here.
Client COPY within a system
SCC0 or RSCLICOP (SCCL as of 3.1 release)
In 3.0 SAP uses RSCLICOP program in transaction SCC0 to copy the customizing environment from one client to another. This will copy client–dependent tables, match codes, number ranges and resolve the logical dependencies between tables and programs. RSCLIC01 or RSCLIC02 were used to copy clients in 2.0 release. These programs use to create command files and the basis administrator was running R3trans utility to transport the data files. Those programs are not supported in 3.0 anymore. For the mass data transfer and large number of table copy, we recommend you to run the RSCLICOP program in the background.
Tips: Trace information about each client copy run is stored in table CCCFLOW. Use program RSCCPROT to display information about the client copy. You can run RDDANATB program in the background to get the information about the size of all the tables in all the clients. If you start the RSCLICOP in restart mode then try to check the checkentries in table CCCFLOW.
The copy procedure using SCCL
If you are planning to copy the source client to a new client then you must create a new client in SCC4 or table T000 before starting the client copy.
Logon to the target client and chose transaction SCCL or use the path Tools ->Administration->Choose Administration ->Client admin->Client copy ->Local copy and you will see a initial client copy screen as shown in Figure 9.6.
The current client is your target client so it is already selected for you in the first line. In the second line select the appropriate profile you want to use for the client copy. You choose the source client in the third line. In fourth line you can define the client from which you want to copy the user master records. The “Source Client User Master” does not have to be same as source client. Then if you want to run the local client copy to get the information about the storage requirements or a complete table statistics then select the “test run” flag. We recommend you to run the client copy using the “test run” mode first. In test run phase, database updates are not performed.
You should schedule the client copy in the background after all the parameters are selected as shown in figure Figure 9.6. You can run a client copy online if you are just copying the user master records; because when you copy only user master records very limited data is copied form a client and it does not take that long to copy those data.
Figure 9.6 local copy transaction sccl
If the client copy fails for some reason then you can restart the client copy in the restart mode after the fixing the problems. In this case the client copy will start exactly from the same point where it failed. A pre-analysis phase requires sometime determining the restart point. SAP recommends to set the restart flag in the “Execute in background” screen when you plan to copy a large client.
Tips: We recommend to reset the buffers by entering “/SYNC” in the OK code on all the application servers after executing the RSCLACOP or SCC0 for the client copy. RSCLICOP compares the contents of each table in the source client with that in the target client.
Client COPY from one system to another
Client copy from one system to another:
SCC1, SCC2, SCC7, SCC8, RSCLIEXP, RSCLIIMP
The client export/import and remote client copy procedures are commonly used to copy a client from one system to another. The client can be exported from the system using transaction SCC8 and then importing the client using SCC7 or using the transaction SCC2 for both export and import process, the second procedure is to do a remote client copy from one system to another. If you are copying a production size client we recommend performing the client copy using the first procedure.
The following are the steps in the whole procedure:
First the data from the client in the source system is exported from the database to a transport file on hard disk. Before you transport a client from the source client database, you need to know exactly what you want to transport and you use SAP delivered profiles accordingly.
Then the SAP delivered TP command is used for the import to the target system client database.
The post processing procedure is run in the target client to successfully complete the client import.
You have to be very careful when copying the client independent data, because client-dependent customizing objects are dependent on entries in client-independent tables. SAP recommends that you should not copy the client independent tables if they are not yet modified in the target system. If the customizing is being done in a system regularly then you have to be very careful taking the client independent customizing to that system; otherwise you might overwrite the whole client independent customizing settings and the system will become inconsistent. We recommend to consult the customizing team of a project before copying the client independent customizing tables.
Transporting a Client
Procedure: To transport clients from one system to another, go to System Administration then choose Tools -> Administration -> Client admin->Client transport -> Client export or transaction SCC8. In the client transport screen you can select a copy profile that matches your requirements and the target system in your CTS pipeline as shown in figure 9.7. Then you can execute the client export in the background or online. Before the client export starts, a popup screen shows all the information about the command files that will be created after the client export is done. After the process starts. You can watch the export process in client copy log using transaction SCC3.
Figure 9.7 showing transaction SCC8
After the client export procedure is completed, if you chose the client independent data then three transports are created in /usr/sap/trans/cofiles or there will be two transports:
KO for the client-independent data ( if selected). For example if the client export is done from development client 100 then the file will look like DEVKO0001.
KT for the client-specific data. For example DEVKT0001
KX for the SAPscript objects as Texts and forms. For example DEVKX0001
The data export is performed automatically. The output of the export includes the name of the COMMFILE that has to be imported. The following data files will be created in/usr/sap/trans/data directory using the same example given above:
For client dependent data: /usr/sap/trans/data/RT00001.DEV
/usr/sap/trans/data/DX00001.DEV
For client independent customizing data: /usr/sap/trans/data/RO00001.DEV
For SAPscript data of a client: /usr/sap/trans/data/SX00011.DEV
Tips: Make sure that all the cofiles and the datafiles exist in the data and cofile directories before starting the import phase.
Then add all the command files to the buffer by using the TP command in /usr/sap/trans/bin directory as following:
tp addtobuffer 
Using the above example cofile: tp addtobuffer devkt00001 qas (if qas is our target system)
tp addtobuffer devko00001 qas
tp addtobuffer devkx00001 qas
Then logon as adm to the target system and then use then import the transports as following:
tp import devkt00001 qas client100 u148 – For the client dependent data
tp import devko00001 qas client100 u148 – For client independent data
(In the above example QAS is the target system and 100 is the target client)
After you import a client from another system, you must perform post-processing, activities in order to adapt the runtime environment to the current state of the data. To execute post-processing, choose Tools -> Administration- >Client admin ->Client transport->client import or transaction SCC7. Transaction SCC7 will take you to the client import post-processing screen . In that screen the transport from the last tp import is proposed. Please check the transport number and if every thing is according to the order then press enter and that will take care of the post processing activities. You can also use SCC2 to execute the same process as in transaction SCC7. During this process, the SAPscript texts are imported and application reports are generated. If there are inconsistencies, you need to repeat the import after checking the log.
If you get any problem importing the SAPscript objects then use the RSTXR3TR program in the target client to import those. In this screen you can enter the transport request for the SAPscript object. According to the above example devkx00001. In the second line you need to enter the path for the SAPscript data file as following:
/usr/sap/trans/data/
/usr/sap/trans/SX00001.DEV (using the above example)
You can choose the import option from the “mode” option. Then you can continue to execute the program and it will successfully complete the import of SAPscript objects to the target client.
Up to release 3.0, RSCLIEXP program can be used to create the command files. The tp command is used to do the import as we have seen before and the RSCLIIMP program is executed for the post-processing activities and the consistency of data.
Using the transport procedure in 4.0
In 4.0 after the client is exported from the source system using transaction SCC8 as we have seen in the client export section, the following transport files are created.
KO: For the client-independent data (if the copy profile selected includes client independent data:
KR: For the client-specific data.
KX: For the Texts and forms.
When all the above transports get released from the source system, the data is exported to the data files of /usr/sap/trans/data directory automatically. The cofiles are also created in the /usr/sap/trans/cofiles directory.
Then the command files need to be added to the buffer for the import using the format from the cofiles as following:
Logon to the target system as adm
cd /usr/sap/trans/bin – Change to the transport directory
tp addtobuffer – Adds to the buffer
If you are transporting to a new client then the new client should be created in the target system. Then you can start the import into the target system as shown in the following UNIX example:
tp import client from /usr/sap/trans/bin directory
After the “tp import” process completes successfully, start transaction SCC2 and then execute the import into the target client. This process imports all the SAPscript objects and generates all the programs. After the client is imported successfully, you should perform the post-processing activities by using the following path:
Tools ->Administration->Client admin->Client transport->Post-process import.
After the post processing is done, we recommend doing table compare between the source client and the target client to check all the client dependent and independent tables for consistency.
Remote CLIENT Copy
SCC9 transaction
Overview of a remote client copy:
Remote client copy is done using the RFC connection between two systems. You might get errors if you do not have all the proper authorization you need including user administration authorization.
Tips: A remote copy requires as much memory as needed by the largest table in the system.
Upto 4.0, remote copy can not handle large volume of data. Remote client copy reads the entire table from the source system and then copies that to the target system using RFC connection. For big tables as BSEG, it takes more time then the RFC wait time; so it might not copy the big table at all. For the same RFC wait time constraint, large quantity of texts can not be copied and remote client copy might terminate without any error. You are not going to see this problem in 4.0 release, because the tables are copied in blocks by RFC. You should check the memory parameters for memory and MAX_wprun_time for run time before starting the remote client copy. Try to add the big tables to the exception list by executing RSCCEXPT report. In 4.0 an inconsistency check is performed automatically during the remote client copy; if any inconsistency is there then the system returns an error.
We recommend avoiding big client copies using remote client copy procedure until release 4.0. In the beginning of a development project upto 3.1I release you can use remote client copy for the smaller clients; when the client gets real big it is better to run client export/ import procedure instead.
Remote client copy procedure:
Before you perform a client copy, the RFC destination for the source system needs to be defined using transaction SM59. In transaction SM59 screen chose “R/3 connections” under “RFC destinations”. Now you click on the create button to create a RFC connection as shown in Figure 9.9.
Figure 9.9 picture of creating a RFC destination
After the RFC connection for the source system is created, you are ready to perform a remote client copy.
You can chose SCC9 or the menu path Tools ->Administration->Client admin->Client copy ->Remote copy.
First line shows the target client, which is the current client as shown in Figure 9.10. Now you select a copy profile according your requirements. We have already seen how to create a profile and what is their objective. In the fourth line enter the source client (from where you are copying). If click the enter button the fifth line “Source Client User Master” will be filled with the same number as source client. You can change it if you want to. Enter the source system name or RFC destination name that you created in SM59. You can execute the remote client copy in the test mode by selecting the test run flag. After you are done with all the selection you can click on the “Execute in backgrd.” button to start the remote client copy procedure as a background job.
Figure 9.10 to show the remote client copy screen
Deleting a CLIENT
You need to perform two steps to delete a client. First you need to delete the complete client from database and then delete it from client maintenance table T000.
To delete a client from a SAP system:
First log on to the client to be deleted with the proper authorization to delete a client.
Then choose path Tools ->Administration->Client admin->Special functions->Delete client or transaction SCC5 and you are going to see a delete client screen as shown in figure 9.11. In this screen you are going to find two entries; test run and also delete from T000.
If you want to run a client delete process to find out information about all the tables that will be deleted then test run is the right option to use. If you do not want to copy another client to this client and get rid of this client forever then “delete from T000” is the right option to use. You can delete the client in SCC5 by executing it online or in the background. You can choose either one of these options and in the verification popup screen you can check all the parameters for client deletion. After the client deletion process starts you can use SCC3 log entries to check the client deletion process.
Figure 9.11 to show the client delete screen of SCC5
In all the SAP releases so far you can use R3trans to delete a client. We have seen significant timesaving in this way of deleting a client. If you use the R3trans command in the operating system level to delete a client then the first step is to create the command file in /usr/sap/trans/bin (it does not have to be /use/sap/trans/bin as long as you provide the right path in the OS level) with the following contents:
Clientremove
Client = 100
Select *
For the above example the command file name = del100 and the client we want to delete = 100 are used
Then in /usr/sap/trans/bin directory run the following command to delete the client:
R3trans –w -u 1
For our example here you run: R3trans -w del100.log –u 1 del100
You can VI to the del100.log to anytime to the progress in the deletion process.
Tips: For the database performance, we recommend to do database reorganization after you delete a production size client from the system.
To check the contents of the log:
Choose Tools ->Administration ->Choose Administration ->Client admin->Copy logs then Select a client by double clicking on it and select a copy process by double-clicking on it. The transaction for the log selection is SCC3 transaction. You also can run the program RSCCPROT to get the same result.
You can select one of the client copy entry from “Client copy log analysis ” second screen, following three buttons are provided as shown in figure 9.13.
Log
Monitor
Refresh
System log
Resource Analysis
Figure 9.13 for the client copy log screen
If you select a “Log” button from the “Client copy log analysis” third screen, then not only you get the general information about the client copy but also the following information for each of the table copied in the process.
Table name
Delivery class
Development class
Number of entries in the source client
Number of inserts necessary in the current client
Number of updates
Number of deletes
Additional space required by the copied table in bytes
The following is an example of what you will see in a log display screen.
Table Dev.cl Class nbr-all -ins -upd -del bytes sec
ANKA AA C 35 0 35 COPY 13 1
ANKP AA C 0 0 0 COPY 0 0
ANKT AA C 43 0 43 COPY 8 1
ANKV AA C 0 0 0 COPY 0 0
T009Y AA C 2 0 2 COPY 0 0
T082A AA C 16 0 16 COPY 0 0
T082H AA C 27 0 27 COPY 1 0
The above example shows the class “C”. The class represents the delivery class. Through the delivery class you can know the kind of data the table has or what environment the table belongs to. For example, all the tables shown in the above display belongs to the customizing environment or they have customizing data. The following are the examples of the delivery classes and their definitions.
Delivery Class Description
A Application table includes the master and transaction data
C Customizing table
L Table for storing temporary data
G Customizing table. It is protected against SAP Update
E Control table
S System table. They are only maintained by SAP
W System table. Contents transportable via separate TR objects
The table information, all the additional storage required in Kbytes, the run time for the client copy and the end of processing time are also shown as following example in the client copy log analysis.
Selected tables: 5,672
Copied tables: 5,671
Tables deleted: 0
Storage required (Kbytes): 260,444
Program ran successfully
Runtime (seconds): 10,123
End of processing: 13:37:24
You can click on the “Monitor “ button and watch the progress of the client copy real time.
The “Refresh” button always refreshes the screen to show you the up to date information.
The “System log” button takes you to the system log screen to show you all the system messages.
The next button “Resource analysis” is a very important utility to show you all the data base resources you need to run the client copy in the table space level. In the resource analysis utility you can get realistic picture of deletes and inserts calculation for the database. Memory requirements can also be found out by this utility.
Tips: You should always check SM21 (the system log) for all the client copy problems.
Ten Golden rules for CLIENT Copies
1. Master data can not be copied without copying transactional data and transactional data can not be copied without copying master data.
2. Application data (transactional and master) should not be copied without copying configuration data.
3. Client copy requires a valid client as the destination client. Make sure that the client exists in T000 table and you can logon to that client.
4. The transport system and the transport management system of 4.0 are the only proper tool to be use to keep multiple systems in sync by transporting development and customizing changes to another instance.
5. When you copy a client from one system to another, client-independent tables should only be copied if they are not yet modified in the target system.
6. We recommend the users to read all the OSS notes regarding client copy that applies to their SAP release. It is always better to schedule the client copy job in the background for the night run when normal work is not taking place.
7. Always check the database space before performing a client copy.
8. To avoid data inconsistencies all the users working in the source and target clients should logoff from the system.
9. RSCLICHK program should be run in the target system remotely before doing a client export. This program will give information about the missing definitions from the data dictionary in the target. After executing this program and getting successful results you can ensure that the client copy will have no problems. In case some tables are different; you can use SE11 to compare and adjust the table structure in both the system before the client copy. A remote test client copy also can be executed to know the differences between source client and target client.
10. If you are not in release 2.2 then do not use R3trans to copy a client.
Simple method for copying VARIANTS
The VARI, VARID and VARIT tables contain all the variants in the SAP system. Those variants can be copied in the client copy time using an appropriate client copy profile. If you just want to copy the variants then R3trans can be used to copy those very quickly.
To copy the variants from one client to another in a system using R3trans, follow the following procedure:
First create a control file with the following contains:
clientcopy
source client = 
target client = < target client number>
select * from VARI
select * from VARIT
select * from VARID
The second step is to logon as adm and use the controls file with R3trans as shown in the client export and import section of this chapter. This procedure will copy all the variants from the source client to the target client as defined in the control file.
To copy all the variants between clients between two different systems:
First create a control file for R3trans with the following contents to create a data file:
export
client = 
file = ‘ 
select * from VARI
select * from VARIT
select * from VARID
The second step is to logon as adm in the source system and use R3trans as shown before to execute the control file. The process will create a data file as defined in the control file. The third step is to define a import control file for R3trans with the following contents:
Import
client = 
file = ‘ 
After the control file is created, logon as admin the target system and execute R3trans command with the control file to import all the variants to the target system.
Important client management tips
We recommend deleting the large cluster tables first from a client using R3trans client remove command before going for the deletion of entire client. To increase the client copy performance it is also better to copy the cluster tables first using the R3trans command. Then use the RSCCEXPT report to exclude all the cluster tables before doing the client copy. To get a list of cluster tables use transaction SE85, then chose other objects -> select pooled/cluster tables. The following control files are for both the above examples:
To copy the cluster tables:
clientcopy
source client = xxx
target client = YYY
select * from BSEG
select * from ……..
To delete the cluster table before deleting the whole client:
client remove
client = XXX
select * from BSEG
(XXX and YYY represent the client numbers)
Refer to chapter 10 to understand how to execute a R3trans command.
In each database, the rollback segments needs to be extended so that the largest table in the system can be copied without any problem. In release it only applies to client transports or copies and deleting the tables. In release 4.0 it only applies to transports.
SAP does not support a non-numeric client.
If you get a message “The client copy is locked by another run” and you want to kill the current process to start a new client copy then call transaction SM12 and check the entry RSCLICOP and then delete it. Make sure to check if any clientcopy job is running in the background before deleting the lock. If a job is still running, you should wait till it finishes because you can not start another client copy run.
After the client export is done, the command file might not be created for the SAPscript objects in /usr/sap/trans/cofiles directory, you only find the data file in /usr/sap/trans/data directory. Sometimes the SAPscript objects can be locked properly and the transport request does not get released. To release the SAPscript change request, logon to the source client and execute SE01. Then enter the transport number and try to release it from there. If there is a lock problem then solve it and then release the request.
Transporting from 4.0 to 3.0:
You have to be very careful while doing the transport of a logical database in 4.0. In release 4.0 the buffer of the logical database is changed. Always run RSLDB400 after the import of a logical database. Before transporting the repository objects from release 4.0 to 3.1 you need to know that the names of the repository objects in release 4.0 are extended. Always check the current version of R3trans; you might need for your system to transport objects from 4.0 to 3.1 releases. If your system has SAP release other than 3.1I; you can not transport SAPscript objects from 4.0 to 3.0. The internal buffer is also changed in release 4.0, so GUI screens can not be transported from 4.0 to 3.0.