This blog provides a brief insight to the usage of SAP ABAP Post Copy Automation (PCA) in standalone mode (without LVM) to perform the post-processing steps for the refresh of an ABAP based SAP system such as ECC or SRM. Integration with LVM will be covered in a separate blog but the configuration aspects of this blog are a pre-requisite to integrating with LVM.

A system is copied (System Copy) to create a duplicate of an existing system with a different host name and unique SID; a system is refreshed (System Refresh) to overwrite an existing target system with the latest data from a source system whilst retaining the configuration. Bear in mind this terminology when reading this blog.

Preparations in the Source System

Certain preparation tasks related to BDLS must be performed in the source system before performing the actual database copy so that their results are available in the target system following the copy.

BDLS is not intelligent enough to ignore tables with a logical system name column containing blanks and will unnecessarily scan the table looking for a match to the logical system name being changed. One such example is table GLPCA which includes column LOGSYS. An analysis of the table shows this column contains blanks in this table but BDLS will still scan this table looking for a match to the old logical system. Use transaction SM30 to add tables such as GLPCA to BDLSEXZ for exclusion from BDLS scanning.

Table BDLSCOUNTALL should also be prepared in the source system. This table is used by the BDLS PCA task in the target system to improve the efficiency of the task and is populated by executing ABAP RBDLS_CHECK in background.

Preparations in the Target System

Certain preparation tasks must be performed in the target system before using PCA in any system. These are discussed here.

PCA uses R3trans to perform export/import of system configuration so ensure the latest kernel patch has been applied to the new target system.

Parameter ctc/allow_systemcopy_postconfig should be set to 1 in any system that will be the target of a system copy and PCA will be used to perform the automated configuration. This parameter should not be set in the production system.

Parameter ctc/export_data defines the export directory for export files created and read during system refresh export and import activities. The default value is the path DIR_GLOBAL.

Ensure there is enough free space in the file system where the ctc_data directory is located. Typically, 5GB of space is required for the exported configuration during a system refresh. If there is insufficient free space in the file system, change the profile parameter ctc/export_data to point to another location with sufficient free space and restart the SAP system.

In the case where you want to use PCA standalone without integration with LVM, SAP* is the only user who is able to logon to the system and run the required task list after the DB refresh and, as such, the parameter login/no_automatic_user_sapstar should be set to 0 and the password for SAP* in client 000 should be known.

Finally, prepare the background processing as PCA uses background work processes when performing the post copy tasks. The server group SAP_DEFAULT_BTC will contain references to the source application servers only. Any jobs that are triggered will not start until you add a target system application server to the SAP_DEFAULT_BTC server group in SM61.

To provide enough parallelism during the logical system name conversion (BDLS), increase the number of BTC work processes by temporarily switching to an operation mode with a higher allocation of BTC work processes.

Customer Specific Tables

To add customer-specific SAP-standard tables not processed by default to the list of tables handled by the export/import phases of PCA, the tasks “Export Customer Defined Configuration Tables” or “Cleanup of Customer Defined Configuration Tables” can be customized via the enhancement spot SCTC_SC_CUSTOMER and BADI SCTC_SC_CUSTOMER_TAB. Task “Export Customer Defined Configuration Tables” is enhanced by method GET_CUST_TABLES_REFRESH which instructs PCA to export table contents before system refresh and import table contents after system refresh. Task “Cleanup of Customer Defined Configuration Tables” is enhanced by method GET_CUST_TABLES_TRUNCATE that tells PCA which tables to truncate following system copy or system refresh.

More details on how to code this BAdI are available on request from info@aliterconsulting.co.uk.

Post Copy Automation Task Lists

PCA operates under the guise of task lists managed using transaction STC01. SAP offers pre-defined task lists to facilitate the various phases listed above. These pre-defined task lists should be considered as templates and copied to custom-specific versions when configuring PCA.

Phase Standard PCA Task List Purpose
Export SAP_BASIS_COPY_REFRESH_EXPORT Export configuration data to file system using R3trans
Clean-up SAP_BASIS_COPY_INITIAL_CONFIG Clean tables that contain source system information
Import SAP_BASIS_COPY_REFRESH_IMPORT Import configuration data from file system using R3trans
BDLS SAP_BASIS_COPY_BDLS Logical system name conversion

More details on how the PCA process are available on request from info@aliterconsulting.co.uk.

If you’d like to learn more about the capabilities of SAP Post Copy Automation or are considering your own deployment, drop us a line with no obligation mailto:info@aliterconsulting.co.uk