Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
dominik_ofenloch
Participant

Overview


With SAP_BASIS 7.54 (SAP S/4HANA 1909), SAP delivers new client management tools based on new common architecture. They are a complete redesign of the previous client copy (transactions SCCL, SCC9, SCC5, ...). The new tools replace the old client copy and also offer new functions. They are optimized for increased performance, process automation and stability. The log of the client copy has also been completely revised and is now much more meaningful and easier to read, so that troubleshooting is much easier.

There are also new tools to compare clients and to determine the size of clients. With SAP_BASIS 7.55, the client export and client import have been expanded to include the option of exporting / importing so-called "snapshots".

In this blog I'll will introduce you to the following tools:

  • New Local Client Copy

  • New Remote Client Copy

  • New Client Export and Import using Transports or Snapshots

  • New Client Size Estimation Tool

  • New Client Comparison


Why a new Client Copy Tool?


The client copy tool was originally developed in the 1990s. Since then, it has been further developed and maintained, but more and more fundamental problems came to light, especially with regard to new cloud processes, which required a new solution.

Therefore, at the end of 2017, the development of a new client copy tool began. With SAP_BASIS 7.54 (S/4HANA 1909), the new tool was delivered to customers for the first time in 2019. With SAP_BASIS 7.55 (S/4HANA 2020) the client export and the client import were also converted to the new architecture. With SAP_BASIS 7.55 Service Pack 1, transaction SCC1 is finally moved to the new architecture.

Compared to the old Client Copy Tool, the number of code statements went from over 25,000 to less than half with a significantly expanded range of functions such as the comparison tool. The new Client Copy Tool today has a unit test code coverage of over 94% over the entire coding.

Improvements


The new tool solves conceptual problems of the old client copy and is characterized by increased stability compared to its predecessor.

Execution from a third Client. It is no longer necessary to start the client copy in the target client. Instead, this can now be started in a neutral third client (usually client 000). This increases efficiency and ensures that no users romp around in the target client during the client copy. The use of the user SAP * and restart of the application server to enable the user is no longer necessary.


Execution from Third Client


HANA Optimization. The new tool is optimized for use with HANA. Our tests showed that the new Local Client Copy is about 10x faster than the old tool. The new Remote Copy was up to 5 times faster than the old tool in our tests. Instead of first loading the data onto the application server for a local copy, the data remains on the database during a local client copy by using an INSERT FROM SELECT statement.


INSERT (Target Client) FROM SELECT (Source Client)


Client Copy Optimizer. The new Client Copy Tool has implemented an optimizer for empty and unchanged tables. At the beginning of each client copy, the tool reads the HANA database statistics. It then checks whether a table in the database is completely empty in all clients. If this is the case, this table can be skipped in the delete and copy phase. The optimizer also checks whether a table has been changed since the last client copy on the database. If a table has not changed since the last client copy and the last client copy had the same source and target clients, this table can also be excluded from the delete and copy phase. This optimization is particularly useful for regular copies of test clients or in the event of an aborted client copy.

Handling of very large tables. In order to be able to deal with very large database tables, the Client Copy was enhanced to include a splitter algorithm. This splits very large database tables by generating WHERE conditions, which can then be copied by different processes in parallel. This ensures that the allocation limit in HANA and ABAP is not exceeded during the copy process. Furthermore, this algorithm increases the performance, since very large tables can be copied by several processes at the same time.


Table Splitting Algorithm generates WHERE-Conditions for Parallel Processing


Class-based Exit Framework. Exits are now based on class interfaces and now run in an isolated environment. By using interfaces, there is now a clear interface between the Client Copy Tool and the exits. Running in an isolated environment ensures that a broken exit cannot crash the entire Client Copy Tool. With SAP_BASIS 756 exits are executed in parallel processes.

Old exits are still supported and executed via a wrapper exit. If you have an old exit, please contact SAP to receive support in implementing the new exit framework. You can find more information about exits in the client copy section.

Renovated Log. Finally, the client copy log (transaction SCC3) was completely revised and replaced by a clearer solution. The logs are shown in tabs. In addition to the well-known "Client View", there is now a "Timeline View" and a view for each copy mode (local copy, remote copy, etc.). Different columns show the exit status, the table copy status and a general message status. This makes it possible to assess the success of a client copy at a glance. With SAP_BASIS 756, SCC3 supports the display of the client size based on the data collected by the Client Size Estimation Tool and the Client Copy Tool.


New Client Copy Log Transaction (SCC3)


Tasklist Support. All of the new copy processes presented here now offer execution via task lists. The task lists can either be started from the corresponding transaction or directly using transaction STC01.

Client Tools


SAP delivers various client tools:

  • Local Client Copy for a copy within the same system

  • Remote Client Copy for a copy from another system to the local system

  • Client Deletion for the deletion of a client

  • Client Export and Client Import for the export and import of clients in transport requests or client snapshots (new feature)

  • Copy from Transports (SCC1N) for copying Customizing Objects within the same system.


Client Copy


There are two types of client copies:

  • Local Client Copy
    The local client copy takes place within a system. The local client copy is started via transaction SCCLN.

  • Remote Client Copy
    The remote client copy copies data from an external system to another client in the target system using RFC. The process is always started from the target system. The remote client copy is started via transaction SCC9N.


Differences between Local and Remote Client Copy


The process flow of the local and remote client copy is basically the same. However, there are some special features to consider with the remote copy that do not occur with a local copy:

  • Often the DDIC table definitions differ between the source and target systems due to different releases. Before each remote copy, the Client Copy Tool compares the DDIC table definitions and rules out incompatible tables. A table is e.g. incompatible if a field in the target system that is available in the source system is missing or has a shorter data type.

  • While exits run in the analysis phase of a local copy in the target system and target client, the same phase is executed in the source client for a remote copy in the source system.


Client Copy Phases


The new client copy runs in four phases:

  1. Initialization Phase
    In the first phase the tool initializes the list of all relevant tables, the client lock objects, the exit handler and many other smaller objects.

  2. Analysis Phase
    In the second phase, all client copy exits are executed. Exits can exclude certain tables from the copy, request emptying or even explicitly include tables into the list of tables to be copied.
    After all exits finished, the finalized list of tables to be deleted and copied is saved in the database. If the option to split tables is activated, very large database tables are analyzed for processing in parallel processes and broken down into smaller work packages.

  3. Delete and Copy Phase
    The actual deletion and copying process takes place in this phase. First, all tables in the target client are deleted. The data is then copied from the source client to the target client. After all tables have been finished the source client gets unlocked.

  4. Post Processing Phase
    Finally, the postprocessing exits run. Typically, these convert data or generate objects that are dependent on the data.


New Features


The New Client Copy has the following new features:

  • Split Large Tables

  • Copy Individual Tables

  • Options to tolerate failed Exits and Tables

  • Simultaneous execution of several client copies in the same system (from SAP_BASIS 756)


For more details please check section "Processing Options" in this blog.

Client Deletion


The new client deletion is started via transaction SCC5N. It has the same phases as the client copy. The client can be deleted directly from the client list (accessible via transaction SCC4) using the "Delete from System Table T000" setting. In contrast to the old client deletion, the transaction must be started from another client and no longer from the client to be deleted.

Client Export and Import


The client export and client import process have also been completely revised. The basic idea of ​​this process is to freeze a client on an "external" data carrier so that it can then be imported into another or several target systems. Exports enable a client to be frozen at a specific point in time.

The old Client Copy Tool previously only allowed exports using transport requests. With SAP_BASIS 755 there is now a further option for exporting to "Client Table Snapshots". These are saved in the database of the exporting system and can be imported into the import system via an RFC connection. Compared to transport requests, the snapshots offer increased performance and greater flexibility in usability. The list of all snapshots can be viewed in transaction SCC3.

Please note: Exports that were carried out with the old tool are not compatible with the new tool and vice versa.

Copy Data from Transports


The transaction SCC1 was revised as the last client tool. The new transaction is released for customers from 2020 SP01.

Please note that the transaction was already delivered with SP00 but is not yet functional.

With the help of SCC1N it is possible to copy customizing objects recorded in transport requests to several target clients. This can be a local transport request or an imported transport request from another system.

In contrast to transaction SCC1, SCC1N can be executed in any client. The log has been completely revised analogous to the client copy log. Based on the feedback from internal customers, additional selection parameters were added.

Transaction SCC1N is a further development of the old transaction SCC1 and the old report RSCC_SCC1_BATCH. As a result, compared to the old SCC1, a large number of new parameters are available. If you want to copy transport requests that have not been released with SCC1N as in SCC1, proceed as follows:

  • In the "Export / Import Time of the Transport Request" group, select the "Local Import / Update Date" radio button.

  • If it is a mandatory field, enter a date that is far in the past in the "Export / Import Date" field.


You can find further information about SCC1N in my SCC1N blog post.

Comparison Tool


A new product is delivered with the comparison tool. It allows the comparison of clients, client table snapshots or client templates in any combination. The Comparison Tool can be used to compare customizing or entire clients. The comparison tool is started using transaction SCC_COMPARE.

Comparison Modes


The Comparison Tool offers three comparison modes:

  • Checksum Comparison. In this mode, the comparison tool selects the data of both comparison objects, creates a checksum and finally compares the checksums. In the case of different checksums, differences were found between the two objects. The checksum comparison is the fastest method for comparing two objects, but it does not offer any possibility to compare the data.

  • Detailed Comparison. In this mode the comparison tool selects the data of both comparison objects and compares them line by line. The data records are divided into the following categories:

    1. Data that only exist in comparison object 1,

    2. Data that only exist in comparison object 2,

    3. Data with an identical key but different non-key field values ​​and

    4. Data records that are completely identical.



  • Store as Template Container. Like the Detailed Comparison. However, the comparison result is saved in a template container.


Note: Please note that the Comparison Tool is not designed to compare very large database tables and drill down into these tables. We only recommend a checksum comparison for these tables.

Data sources


The Comparison Tool offers the selection of several data sources for selecting the tables to be compared:

  • Profile. Please note that SAP does not deliver a comparison tool.

  • Individual table list. You can compare any tables with one another. With a remote comparison, even client-independent tables can be compared with one another.

  • Run Id. Tables from a previously executed client copy.


Comparison Results


After a successful comparison run, you can view the result on the next screen or on tab "Comparison" of transaction SCC3. You can see the result of the comparison on the "Compared Tables" tab. By double-clicking on the table name, you can drill down to the compared data and check the differences in detail.


Comparison Run Result



Client Size Estimation


The Client Size Estimation Tool allows you to estimate the size of individual tables or an entire client. The tool calculates the client's disk size using the following formula:
Table Size = Table Disk Size on the database / Total Number of table rows * Number of rows in the examined client

The actual data in the client is not considered here. HANA internal compression is not considered here as well. In the case of tables with fields of dynamic length, the algorithm can therefore only offer an orientation value.

The Client Size Estimation Tool is started using transaction SCC_CLIENT_SIZE.


Client Size Estimation Tool


As of SAP_BASIS 756, the Client Size Estimation Tool runs automatically with every client copy. The size of all clients can then be checked in transaction SCC3.

Client Copy Log


The protocol transaction SCC3 was completely renovated. The transaction is now completely tab-based. Logs are now stored in the database instead of the file system.

Overview Screen


While a client copy is running you will always find a summary of the current status of the client copy on the first tab. This shows you information about the current running process, the source and target clients and the progress of deletion and copying.


First Tab showing Active Process while Client Copy is running


Otherwise you will find an overview of all clients in the system on the first tab. With a double click you can select a client in order to have a closer look at all processes carried out in this client. With this click you will automatically be directed to the second tab.


SCC3 Overview Screen


The so-called "Timeline View" is new. On this tab you can see all the processes carried out by the tool in descending chronological order.

This is followed by several tabs with detailed views for the local client copy, the remote client copy, client deletions, client export, client import, transport request copies, client comparison and finally the client table snapshots and client template containers.

Detailed Log


A double click takes you from the overview list to the detailed view of a log. On the first tab "Log Header" you can see a general overview of the current mode, the selected profile, the clients concerned, the exit status and the process status.


Processed Tables of a Client Copy


Here is an overview of the most important tabs:

  • Log Header. Overview of the current mode, the selected profile, the clients concerned, the exit status and the process status.

  • Options. List of the settings made on the selection screen.

  • Table statistics. Overview of the number of emptied and copied tables and the number of deleted and copied data records. In addition, you can see the number of skipped tables on the tab because they were either empty on the database or were already copied from a previous client copy.

  • General Messages. General messages returned by the Client Copy Tool.

  • Exit Messages. Messages issued by exits.

  • Processed tables. Overview of all tables processed by the Client Copy Tool. The current progress of the copying process during a client copy can also be tracked on this tab.

  • Included/Excluded Tables. List of all tables integrated or excluded by the Client Copy Tool or by exits. If a table was copied or not copied, you can find out the reason here. In the case of remote copies, you will also see all tables on this tab that cannot be copied due to incompatible DDIC structures.

  • Disk Space. Estimation of the deleted and copied data volume (see also under Client Size Estimation Tool).

  • Runtime. Exact listing of the runtime of the individual client copy phases. This tab is particularly useful for performance analysis.

  • Exit Execution. List of all executed exit methods. Each exit returns a status of its successful execution. The runtime of each exit is logged on this tab.

  • Exit Definition. List of exit definitions as they were valid at the time the process was executed.

  • Segmenter. List of tables examined by the segmenter for their division into intervals. The tab provides more information about the runtime of the segmenter and the number of intervals generated.

  • Packages. Tables are always processed in blocks in packets. At the end of the processing of a packet, a COMMIT WORK takes place. Depending on the size of the tables in a package, it can contain between one and a thousand tables. Packages are the basis of parallelization because a package of tables is always locked and processed by a parallel process. On this tab you can see the list of all packages and their current processing status.


Log Administration


The transaction SCC3_ADMIN was published with SAP_BASIS 755 SP01. In contrast to SCC3, SCC3_ADMIN offers further functions for deleting logs, snapshots and containers.

Deletion of old Logs


Especially in systems with many recurring client copies, I recommend regular cleaning up of the log tables, as the log tables can become very large.

Since several data records are written to the database for each table copied by the Client Copy Tool, we recommend deleting old logs that are no longer required at regular intervals. With SAP_BASIS 755, transaction SCC3 has been expanded to include a delete function for client copy logs. For this purpose, a delete button has been integrated into the table on the "Timeline View" tab.

With release SAP_BASIS 755 Service Pack 1, this function is moved to transaction SCC3_ADMIN. This ensures that transaction SCC3 remains a read-only transaction.

Using the Log Cleanup Tool is more convenient than deleting individual logs. This can be called up in SCC3_ADMIN via the menu item "Goto" -> "Log Cleanup". The tool enables the deletion of logs older than <n> days, whereby a minimum number of the last logs can be kept per client. The Log Cleanup Tool can also be started from the SAP_CLIENT_LOG_CLEANUP task list.

Deletion of Snapshots/Container


Snaphots and containers can be deleted on the "Client Table Snapshot" or "Client Template Container" tab using the corresponding toolbar button. There is also the SAP_CLIENT_CONTAINER_DELETE task list for the regular deletion of old objects. This can be started using transaction STC01.

Client Table Snapshots


With SAP_BASIS 755, SAP delivers client table snapshots and client template containers for the first time. Client table snapshots are local objects that are stored in tables of delivery class "L" (temporary data). 

What are snapshots?


Snapshots are based on the Remote Client Copy table copying algorithm and allow any database table to be backed up. A snapshot can have any name and store any number of tables. The data of each individual table is stored as a serialized RAWSTRING in several database tables.

With the help of a checksum on the serialized data, the data of each table is stored centrally once across all snapshots. With a regular backup of an entire client, only the delta between two backups would take up additional storage space, since an identical checksum would only save the same data once under the same key (checksum) with two or more snapshots.

Usage


Snapshots are especially relevant for client export and client import. You can export an entire client or individual database tables to a snapshot using the Client Export Tool (SCC8N). Until now, the Client Export Tool could only export into Transport Requests.

In contrast to the transport request, snapshots have several advantages. This makes them easier to use because they are stored in the system's database and not in the application server's file system. Containers can be imported into other systems via an RFC connection (similar to Remote Client Copy). Containers are saved with optimized storage space. In addition, creating and importing a snapshot takes less than half the time than using transport requests.

This makes containers particularly suitable as an alternative to client export and import with transport requests and for freezing test clients that can be restored over and over again.

With the help of the comparison tool it is possible to compare the data of a snapshot with the current data in the client.

Processing Options


The Client Copy Tools come with multiple processing options:

  • Test Mode. The program logic of the client copy is completely performed, without writing or deleting in the database, so the behavior of a client copy is simulated. A complete log is created (display with transaction SCC3).

  • Lock Source Client. Locks the Source Client while performing a Client Copy.
    In case this option is enabled the client copy tool locks the source client for users. Users still logged on will not be thrown out of the client but logon to the client is no longer possible. To ensure data consistency we strongly recommend to keep this option always enabled.

  • Tolerate Failed Exits. Ignore failed Client Copy Application Exits while performing a client copy.
    In case this option is enabled failed exits will not cancel the client copy process.

  • Tolerate Failed Tables. Ignores Table Deletion-/Copy Errors.
    In case this option is enabled failed table deletion-/copy-operations will not cancel the client copy process. All other tables will be processed.

  • Use Exclusive Locks. Use of exclusive database table locks.
    In case this option is enabled the client copy tool sets an exclusive lock on each table being copied. This reduces the memory footprint in the database and speeds up the database operation. As long as the table is locked exclusively any other tool cannot update the database table. Therefore, we recommend disabling this option in case the system is still used by other users while performing the client copy.

  • Split Large Tables. Split Large Tables while performing a client copy.
    In case this option is enabled the client copy splits up large tables into smaller units for performing the copy-operation in parallel processes. This avoids that the database runs out of memory and enables the client copy tool to perform copy-operations in parallel processes.
    It is recommended to enable this option by default.
    This option is permanently activated as of SAP_BASIS 756 and is therefore no longer available on the selection screen.

  • Copy Incompatible Tables (RFC). Copies tables from remote systems, even if their structure is not identical.
    Tables having different structures will be copied even in case of data loss. This applies for example for tables in case at least one column is only available in the source system but not in the target system. All incompatible Tables which will be copied anyhow are documented in the client copy protocol.

    • If this option is disabled: Below is the rule list for a table to be marked "INCOMPATIBLE" by the client copy tool.









      • The table must be present in both source and target system.

      • If the table exists in both systems, then the key fields should be the same.

      • The field list in both systems should be the same, however the position of the fields can be different.

      • The data type of all the fields must be the same.

      • The length of the fields must not be shorter in the target system. It can be greater or same length.



    • If this option is enabled: The tables not falling in the below rule list will be marked "INCOMPATIBLE" and will be skipped/excluded from copy.

      • The table must be present in both source and target system.

      • If the table exists in both systems, then the key fields should be the same.

      • The field list can differ. That is, missing fields are ignored, and matching field data will be copied

      • The data type of the matching fields must be the same

      • The length of the fields must not be shorter in the target system. It can be greater or same length.





  • Automated Import Postprocessing. Executes the import post-processing (transaction SCC7N) automatically immediately after an exported client got imported. If activated, you no longer need to manually call transaction SCC7N after importing an exported client. This option is only available for Client Export to a Transport Request.

  • Release Transport Requests on Client Export. Releases the transport requests at the end of the export process. The exported Transport Requests will be released immediately as part of the client export process.This option is only available for Client Export to a Transport Request.

  • Use Mode Vector/All Languages. Use Export Option LSM-Mode = Vector and export all languages on transport release.This option is only available for Client Export to a Transport Request.


Overview of Transaction Codes and Tasklists

















































































Process/Tasks Old Transaction New Transaction Tasklist Released with
Local Client Copy SCCL SCCLN SAP_CLIENT_COPY_LOCAL SAP_BASIS 754 SP00
Remote Client Copy SCC9 SCC9N SAP_CLIENT_COPY_REMOTE SAP_BASIS 754 SP01
Client Deletion SCC5 SCC5N SAP_CLIENT_DELETION SAP_BASIS 754 SP00
Client Export SCC8 SCC8N SAP_CLIENT_EXPORT SAP_BASIS 754 SP02
Client Import SCC7 SCC7N SAP_CLIENT_IMPORT_POSTPROCESSING SAP_BASIS 754 SP02
Client Copy Log SCC3 SCC3 n/a SAP_BASIS 754 SP01
Client Copy - Special Selection SCC1 SCC1N SAP_CLIENT_COPY_BY_TRANSPORT SAP_BASIS 755 SP01
Comparison Tool N/A SCC_COMPARE SAP_CLIENT_COMPARISON SAP_BASIS 754 SP03
Client Size Determination N/A SCC_CLIENT_SIZE - SAP_BASIS 754 SP00





New Authorization Checks


Please note that with the new Client Copy Tool, new authorization objects have also been introduced. See the main note 2962811 for more information.

Related Information


SCC1N Blog Post

Client Copy Main Note: 2962811

SAP Help Portal: Client Copy and Transport
90 Comments
dominik_ofenloch
Participant
0 Kudos
Hi Daniel,

I assume that you are still on lower releases and/or service packs. In newer releases setting the max runtime parameter is no longer required.

Best regards,

Dominik
former_member214380
Participant
0 Kudos

Hello Dominik,

thank you! Is there any note that has information on that topic? Is this an error/bug? And do we really need to raise the SPS or is there a single note we can apply?

Our current release is:

christoph_ostrop
Active Contributor
0 Kudos
if target-client is under usage of CUA, (ZBV)

should it be disconnected from CUA first,  before executing client-copy?
dominik_ofenloch
Participant
0 Kudos
Correct!
christoph_ostrop
Active Contributor
0 Kudos
we tried to run SCC9N (remote copy) but got abord because of low memory, but systems are configured in same size

sandbox-system 1,0 TB RAM-size for HDB, => copy to dev.system also 1,0 TB RAM-size for HDB,

but remote-client-copy died because of low-of-memory ???

how much more RAM has to be assigned to the target-system ?

 
dominik_ofenloch
Participant
0 Kudos
Hi Christoph,

unfortunately I cannot provide remote support to such complex topics as system sizing in this blog. Please open an incident to get support.

Best regards,

Dominik
christoph_ostrop
Active Contributor
0 Kudos

we increased the RAM size of the target system to 1,8 TB,

in RAM peak-usage we could see up to 1,315 TB used during client-copy

total disk usage is 1,017 TB, but peak used RAM in client copy is 1,315 TB

christoph_ostrop
Active Contributor
0 Kudos

one table (with shared objects) could not be copied because of locked user or locked client during client-copy,

so logon with user SAPSYS failed

Category Installation error
Runtime Errors SYSTEM_SHMCONSTR_LOGON_FAILED

Error analysis
An attempt was made to start the area constructor for instance "$DEFAULT_INSTANCE$" of
shared object area "CL_SWF_RUN_WIM_PERS_BADI_FILTS" on client 120.
This is only possible if user " " is logged on to client 120.
The logon failed (rc="19312312 (Client locked)").
Possible reasons for the failed logon are:
- User SAPSYS is being used. This user is not authorized to execute asynchronous RFCs and therefore cannot start the area constructor.
- The shared objects area is client-specific and configured for automatic creation using the system user. In this case, the client used must be configured in the system.
- An invalid user is being used (see the user maintenance transaction: SU01).
For further information about the error and how to avoid it, see Note 1426016.
https://launchpad.support.sap.com/#/notes/1426016
christoph_ostrop
Active Contributor
0 Kudos
in old SCC9 you could choose

client in CUA and do not copy user data.

 
christoph_ostrop
Active Contributor
0 Kudos
SCC9N - has obviously a bug,

user data (SU01) is damaged after remote client copy,

trying to delete a user in SU01 causing in a DUMP and abort.

(e.g. in S/4Hana-2020-03) maybe in other version also?

==========

there is a solution to this issue in sapnote 2293227, run that report as appended    https://launchpad.support.sap.com/#/notes/2293227

report fix that issue => Z_OSSNOTE_2293227_ADRVP_USR21 

 

regards

Christoph
dominik_ofenloch
Participant
0 Kudos
Please report problems related to user-addresses to support component BC-SRV-ADR.
dboparai
Explorer
0 Kudos
Testing of export to container is about 4 times faster than export to  transport and container size is half of  transport size.

But still looking for information how to monitor or delete a container in case of release lower than 755.

SCC3_ADMIN is not available for 754. I will be nice to have program or function to delete container, rather than truncating tables.
dominik_ofenloch
Participant
0 Kudos

Hi!

Thank you very much for your great feedback.

In SAP_BASIS 754 you can use the following report to delete containers. It has been created upon your request and it is delivered with SAP Note 3314622 and will be part of future service packs as well (RS_SCCR_CONTAINER_CLEANUP). In higher releases please use transaction SCC3_ADMIN for container deletion.

REPORT z_container_cleanup.

PARAMETERS
contid TYPE clientdatacontainerid.

START-OF-SELECTION.
DATA(db_container) = CAST if_sccr_db_tabcontheader( NEW cl_sccr_db_cctabcontheader( contid ) ).
TRY.
db_container->enqueue( ).
db_container->object_delete( ).
db_container->dequeue( ).
WRITE: 'Success'(001).
CATCH cx_sccr_error INTO DATA(exception).
WRITE exception->get_text( ).
ENDTRY.
dboparai
Explorer
0 Kudos
Hi Dominik,

than you very much for prompt resolution. It feels much better cleaning up with repot.

regards,

Daljit
0 Kudos

Hi Dominik,

I have the clients 000 and 111  in our Q-system:

I created the new client 2222 (SCCLN ) with the option Use-Profile SAP_USER from 111 to new client 222

After that I'll do one a Remote Client Copy from our P-System to then new client 222 in Q-System with the option Use-Profile SAP_APPX.

Everything is green and there are no errors in the logs.

 

If I do a SU01 on the user I get a error that says the "Company address" is inconsistent and the table USCOMPANY is empty in client 222.

What am I doing wrong here and why is the table empty?

SAP_BASIS 756 0003 SAPK-75603INSAPBASIS SAP Basis Component.

I still have one more question:

Will there be a consistent copy at some point in the future without source tenants being blocked?

Could you please answer these questions. Thank you very much!

Best regards,

Tino

dominik_ofenloch
Participant
0 Kudos
Hi!

 

If I understood you correct you used first 1) SAP_USER and then 2) SAP_APPX? This will overwrite the users in the target client. In case addresses are getting corrupt this must be addressed to the address management team. Please open an incident on the address component.

Consistent Client Copies require that the Source Client remains unchanged during copyphase to avoid that data gets only copied partially. To avoid this a lock in the source client is required.

Best regards

Dominik
0 Kudos
Hi Dominik,

Thanks!!

I did tests today with Client Export and SAP_USER:
1.) Transport was created (Client Export and SAP_USER)
2.) Remote copy with SAP_APPX performed.
3:) Import transport from 1.)
after that still SU01 inconsistent

Is it normal that this field in TR empty is see attachment marked red?


 

Best regards,

Tino
dominik_ofenloch
Participant
0 Kudos
Hi Tino,

Your execution order is correct. The inconsistency in USCOMPANY should not be. This must be analysed by address team. Regarding the Transport request I cannot answer your question as I am no transport expert. Client export to transport simply writes all tables to the Transport request piecelist and triggers then an export. That's all I do and know here.

Best regards

Dominik

 

 

 

 
0 Kudos

Hi Dominik,

Thanks!!!

it is a normal behavior when I exported the User with  SCC8N (SAP_USER).
After that I did the remote client copy  with SCC9N
and then with the imports SCC7N I get this error see attachment.

 

Best regards,

Tino

 

dominik_ofenloch
Participant
0 Kudos
Hi Tino,

after import the User Transport Request you have to run SCC7N immediately. SCC9N will overwrite the imported tables.

Best regards,

dominik
0 Kudos
HI Dominik,

we are running SCC9N and after this we import the user with SCC7N and now we get the error you see  above.

Best regards,

Tino
dominik_ofenloch
Participant
0 Kudos
Hi Tino,

I cannot provide full support on a blog post. Please open an incident on BC-CTS-CCO.

Best regards

Dominik

 

 

 

 
dboparai
Explorer
0 Kudos
Hi Dominik,

Although export/import  SCC8N and SCC7N, show option "split large tables" but it  doesn't seem to work. It does not split any large  tables.

thanks,

Daljit
dominik_ofenloch
Participant
0 Kudos
Hi Daljit,

the tool only splits tables that exceed a certain size. My assumption is that this size is not exceeded here. Please note that the splitting feature is only available for containers but not for export to transport requests.

Best regards,

Dominik

 
dboparai
Explorer
0 Kudos
Ho Dominik,

we are exporting to container and tables are  1GB to 33GB in S/4.

thanks,

Daljit
dominik_ofenloch
Participant
0 Kudos
Hi Daljit,

tables exceeding some defined size should be splitted. But this depends on a few factors. In case you think something wents wrong please do the following:

  1. Please check that you're on the latest changes. Please apply SAP Note 3281364 as it contains the most recent corrections for the Client Copy Tool for release SAP_BASIS 754-756.

  2. If you have any issues during export/import (performance/memory allocation dumps) please open a support ticket.


Best regards,

Dominik
dboparai
Explorer
0 Kudos
Thanks Dominik.

I did create OSS message for this.

On side note, export to container in "test_mode", actually creates/fills up container. Something others need to be aware specially if running in Prod.

regards,

Daljit
dominik_ofenloch
Participant
0 Kudos
Hi Daljit,

thank you for the info!

The test_mode container problem is known and has been fixed in newer releases. As of now we did not provide a note for this bug as it was considered as a minor issue.

Best regards,

dominik
JivcKlog
Explorer
0 Kudos
Hi Tino,

I read your experience. I wonder if you got already a resolution for this issue "emptied USCOMPANY" table.

We have a quite similar issue at the moment and also reported this to SAP support. Development support team latest suggestion was to perform SCC8N / STMS-import / SCC7N. Results are not yet known.

SAPK-75501INSAPBASIS SAP Basis Component.(both source/target)

Our case: We perform SCC9N with use_profile SAP_APPL. After Remote Client Copy we noticed emptied USCOMPANY/USADDEF tables and our USR21 has been almost fully emptied (only 2 records remained).

Even after applied SAP note and check/correct programs before RCC and afterwards did not solve it at our end.

 

Kind regards,

René

 

Note to: Dominik: Even I an as Logistics consultant do understand your blog ! Great to read.
nico_eon
Discoverer
0 Kudos
Hi Dominik,

is there a possibility to export and import web service configuration before and after the client copy as you can do with the pca tool when performing a system copy?

Thanks and regs

Nico
dominik_ofenloch
Participant
0 Kudos
Hi Nico,

Sorry, I'm no Web Service Configuration Expert as this is not my expert area. If you know the table names you could export/import them for sure.

Best regards,

Dominik
nico_eon
Discoverer
0 Kudos
Dear Dominik,

thanks for your answer. I have another topic where I think you can help me.

We recently made a local client copy using the new tools.

We have a table in the target client which is partitioned and containing more than 2 billion entries distributed over the partitions.

In the source client this table is empty.

Now when we copy the source client to the target client we can see the following in error in transaction SCC3:

 

do you have any idea how this can happen?

In my opinion this is a bug in the new client copy tool.

Thanks and best regards

Nico
nico_eon
Discoverer
0 Kudos


sorry the image of the error was not added in my last post.
dominik_ofenloch
Participant
0 Kudos
Hi Nico,

this is a known issue in lower releases of the client copy tool. I assume your system is on SAP_BASIS lower or equal to 756. Please check out latest client copy tool notes and Client Copy Tool TCI to get up to date. If it doesn't help please create a ticket on client copy component.

Best regards,

Dominik
former_member871127
Discoverer
0 Kudos
Hello when we try to run SCC9N we are getting error message when we try to run it in background

"00024You are not authorized to logon to the target system (error code 1)"

 

So we dont use a trust rfc connection , actually we use a rfc connection with sufficient user in sourcesystem/client. no entrypoints at all in SU53

 

we are facing this behaviours since SPS8 for 754, also we raised a message in OSS, still in investigation. Does somebody had some similar issue?

BR

 
M-Bogenstaetter
Discoverer
0 Kudos
Hi Dominik!
first, thanks for this very useful blog which has become a very central point of comprehensive information!

I have a question about SCC8N (client export/import) to client 000. In one of the answers above, you wrote that it is generally not allowed to perform client copies (and imports) to client 000.

This makes pretty much sense except in one particular area: Export and import users and roles in the context of system copies in order to get the same users&passwords&roles back as they were before a system copy. The old client copy does work in this scenario, but it is becoming deprecated and disabled in latest releases.

Using client export with transport files implies the import being done via tp. This step does work if client settings allow for that, but import post processing (SCC7N) cannot be started afterwards.

Questions:

  1. Is the post-processing required when only importing users and roles or what are things that are not working if SCC7N is omitted?

  2. Are there plans to support client imports with user copy profiles in the future


Thanks,
Marcus
dominik_ofenloch
Participant
0 Kudos
Hi Marcus,

thank you very much for your feedback!

Postprocessing is required even when only users are imported to a client. This is because the user-client-copy-exit will redraw new user-adress-ids to avoid adress-number-range-conflicts.

I will discuss with Client Copy team whether it is possible to support client copy to client 000 in case of user-only-client copy.

Best regards,

Dominik
Manoj7
Discoverer
0 Kudos

Dear All,

In S4 HANA  2023, After entering SCC1 popup will appear to continue with SCC1N  and when selecting to continue with SCC1N then authority check fails by throwing the dump.
 
SAP Note 3214534 is fixing this issue but looks like it is only for SAP_BASIS 755 but not for our current 758 version.

Could you please let us know if there is any version update that is already released or need to be released for this note ?

 

RamonaB
Discoverer
0 Kudos

Hello Dominik,

can you tell me whether a table comparison between ECC and S4 is possible with the transaction SCC_compare?

Regards, Ramona

M-Bogenstaetter
Discoverer
0 Kudos

Hi Dominik,

I found that it is impossible to export and import clients from and to the same system and client. We and probably some more customers use this procedure in the context of system copies in order to backup and restore SAP users (with the old client copy).

Is there a reason in the new SCC7N to reject import post-processing that I have overlooked? To be precise, it is not rejecting SCC7N, it just says "client <nnn> is not ready for post-processing". At this point, tp has already overwritten the user data ...

Some time ago, I asked some similar thing: client 000 is generally not allowed for client imports, which is quite understandable, but not for backup/restore of SAP users?

Best regards,
Marcus