Wednesday, 3 October 2012

Client copy

1.1 Client overview



  • A client is a self-contained unit in commercial, organizational, and technical terms, with its own user
master data and set of table key ranges.
  • Data from different clients is kept separate at the kernel level. SQL statements executed by an application
use the client number in the where-clause. Although a table may contain data from several different clients,
the where-clause limits access to particular clients.
  • Examples of client-specific data include:
User master data – such as parameters, authorization, user groups
Customizing data – such as organizational units, assignments, and document types
Application data – such as business transaction data, and material master data

  • The SAP client concept can integrate several companies or subsidiaries in a single client – by using
company codes and the SAP authorization concept.

  • Company codes define the smallest corporate organizational units for which a complete self-contained set of accounts can be drawn up for external reporting.

  • The SAP authorization concept enables the parent company to access all subsidiaries for report purposes, while subsidiary-specific data is protected against access from other subsidiaries through company code definition.



 


  • Data of a SAP System can be divided into two categories:
    • Client-specific data is data affecting only one client, such as user master and application data.
    • Cross-client data is data affecting the whole system environment, such as cross-client Customizing data and all Repository objects.

  • The ABAP Dictionary is a data dictionary that is part of the ABAP Repository:

    • Each piece of ABAP Dictionary information is entered only once and is then available anywhere in the system at any time. The ABAP Dictionary automatically supplies all new or changed information, thus providing current runtime objects and ensuring data consistency and security.

    • The SAP runtime environment consists of all ABAP programs required during execution. The ABAP interpreters in the runtime environment do not use the original of an ABAP program. Rather, they use a copy generated once only during runtime (early binding). Runtime objects, such as programs and screens, are automatically regenerated (late binding) when a time stamp comparison between the object and the ABAP Dictionary detects a difference.

    • This combination of early binding and late binding ensures that the active integration of ABAP
Dictionary information does not affect system-wide performance. All performance-critical information is stored in the runtime objects and is always kept up-to-date.


1.2 Client Copy




  • SAP delivers 3 client copy methods :
    • Local client copy in order to perform client copies inside a given instance,
    • Remote client copy in order to copy client beetween different SAP instances,
    • Client export / import also to perform client copies beetween different SAP instances.

  • The difference beetween the remote client copy and the client export / import lies in the way the data is transfered :
    • In remote client copies the data is transfered immediately across the network using RFCs.
    • Using client export/import, the data is exported in files to the transport directory. The import is done in a second time.

  • Client copy tools let you copy the following data types : users data, cross client customizing, application data and client dependant customizing.

  • The objects from the ABAP dictionnary like ABAP reports, table definitions and so on , are not handled by the client copy tools. These objects can only be transported through transport requests accross the  instances.


1.2.1     Client copy pre requisites


The client copy should be performed on a low system activity timeframe.
To have a consistent client copy you should not have any activity on the source system.
Therefore, it is recommended to :

  • Disconnect and lock dialog users.

  • Suspend background jobs :
This can be done using report BTCTRNS1. The jobs will be released afterwards using report BTCTRNS2.

  • For remote client copies, the data dictionnaries beetween the source and target systems should be the same.
If not, in case of client copy beetween a production and development system ,you can exclude tables from the client copy using report RSCCEXPT. You have to be sure that your target client will still be usable and consistent compared to your needs depending on the table excluded.


1.2.2     Local client copy


     

Local client copy is performed using Tcode sccl.
The client copy logs are available using tcode scc3.

Local client copy steps :

    • Log on to the target system
    • Create an entry for your new target client using scc4
    • Log on to this new target client with user SAP* and default password pass.
    • Start the client copy using transaction sccl.
    • Select the source client and the copy profile.
    • Schedule the client copy in bacground
    • The client copy logs are available in scc3.


1.2.3     Remote client copy


This method uses RFCs.
The network must have good performances in order for the client copy to be as fast as possible.
An RFC must have been declared in sm59 to access the source client.

Remote client copy steps :

    • Log on to the target system
    • Create an entry for your new target client using scc4
    • Log on to this new target client with user SAP* and default password pass.
    • Start the remote client copy tcode : scc9.
    • Select the source client ( select the right rfc destination ) and the copy profile.
    • Schedule the client copy in background
    • The client copy logs are available in scc3.

NOTE :The first step is the dictionnary comparison beetween the source and target system. If these are not identical, the client copy will be canceled. Still, it is possible to exclude the tables that are not the same using RSCCEXPT. But this must be done carefully as it can have a negative impact on the data consistency in the target client. You have to make sure that this will not have any impact on the target client usability.
  
 

1.2.4     Client Export / import


      



The copy is performed in 2 steps :

  • The client export during which the source client is exported to files in /usr/sap/trans/data | cofiles.
  • The client import during which data is imported in the target client.
You must have enough space in the /usr/sap/trans file system to perform the client export.


  • 1st step : export

    • Log on to the target system
    • Create an entry for your new target client using scc4
    • Log on to the source system / source client.
    • Start Tcode scc8
    • Select the target system and export profile
    • Schedule the export in background
    • The transport request containing the client export are then shown
    • Depending on the choosen export profil there can be up to 3 transport requests created :

Request <S-SID>KO<number> will hold the cross client data,
Request  <S-SID>KT<number> will hold the client dependant data,
Request  <S-SID>KX<number> will also hold some client dependant data.

  • 2nd Step : import

    • Log on to the newly created target client using SAP* and password pass.
    • Start the stms transaction
    • Display the target system’s import queue,
    • Select the transport requests generated by the client export and import theses transport requests on the target client.
    • The transport requests will be  imported in the following sequence :

request <S-SID>KO<number> (client independant),
request <S-SID>KT<number> (client dependant),
request <S-SID>KX<number> (client dependant).

    • The system automatically detects these are client export transport requests and automatically performs the import of the 3 requests.
    • The import logs can be seen in stms.

  • 3rd step : post import phase:

    • Once the import is done, start the scc7 Tcode to perform the post client import actions,
    • Schedule the post import job,
    • The log will be available in scc3.

17 comments:

  1. wow.. excellent

    ReplyDelete
  2. thanks it is crystal clear.

    ReplyDelete
  3. thanks it is crystal clear.

    ReplyDelete
  4. Can there be Table Export and Import between 2 clients ?
    If so what happens while importing the table in Target client ? will it erase the existing data in the table and replace with the data present in the Export log ?

    ReplyDelete
  5. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing....

    angularjs Training in chennai
    angularjs Training in chennai

    angularjs-Training in tambaram

    angularjs-Training in sholinganallur

    angularjs-Training in velachery

    ReplyDelete

  6. Thanks for sharing such a useful post and i hope it’s useful to many people for developing their skill to get good career.Thanks a lot.
    aws online training

    ReplyDelete
  7. After seeing your article I want to say that the presentation is very good and also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts like this.
    devops online training

    aws online training

    data science with python online training

    data science online training

    rpa online training

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. The article is quite insightful and informative if want to know more about client master report click on the following link https://adityatrading.in/posts/what-is-cmr-client-master-report/

    ReplyDelete