Guide · SAP Basis

How to refresh an SAP QA system with masked production data

Copy production into QA, keep the system closed until personal data is masked, then hand it back to testers. Done in that order, nobody works with real personal data in QA. The seven steps below cover a classic full refresh; the last section shows a selective refresh that masks data before it lands.

Before you start

  • Agree the scope: a full system copy, or a copy of one client.
  • Book the refresh window with the teams who use QA.
  • Agree masking rules with your data protection officer, including custom Z-tables.
  • Decide who may log on before masking finishes. The answer should be almost nobody.

1Save what QA must keep

Export QA's user master with a client export using profile SAP_USER in transaction SCC8. Note the RFC destinations in SM59, logical systems and interface settings that point QA at its own test partners.

2Copy production

For a full system copy, restore a database backup of production into QA. For one client, use a remote client copy in SCC9, or a client export in SCC8 followed by import and post-processing in SCC7.

3Lock users and stop jobs

Before anyone logs on, lock dialog users in SU10 and suspend released background jobs with report BTCTRNS1, so production's jobs don't run against QA.

4Run the post-copy steps

Convert logical system names with BDLS, point RFC destinations back at QA's partners in SM59, and import the QA user master you saved in step 1.

5Mask personal data

Mask standard tables such as KNA1, LFA1, ADRC and the HR infotypes, plus your custom Z-tables. Use the same replacement values as the non-SAP test systems QA talks to, or integration tests will fail on mismatched names. The SAP table library lists the fields to cover.

Real personal data sits in QA from step 2 until this step finishes. Keep that window short and closed to users.

6Check the result

Spot-check masked tables for leftover real values, then run a smoke test pack, for example in Tricentis Tosca, to confirm core processes still post.

7Hand QA back

Resume background jobs with report BTCTRNS2, unlock users and tell testers the refresh is complete.

A refresh that masks before data lands

With Synthesized you choose the scope, such as company codes and a date range, and the data is masked before it's written to QA. Real personal data never reaches the QA system, steps 3 to 5 shrink to minutes of checks, and QA holds only what the tests need.

Book a health check

Questions about QA refreshes

How often should QA be refreshed?

Often enough that its data matches current configuration and business processes. Many teams refresh before each major test cycle or release.

Full system copy or client copy?

A full system copy is usually faster for large systems and brings repository objects in line with production. A client copy suits refreshing one client while others stay untouched. Compare the options.

Do we need masking if QA access is restricted?

Restricted access helps, but GDPR's data minimisation still applies, and QA access usually extends to partners, offshore testers and test tools.

Make your next QA refresh a masked one

Start with a 30-minute health check. If it's a fit, a 10-day validation runs a selective, masked refresh of one QA client with your Basis team and compares it with your current process.

Book a health check
Updated October 2026

SAP, S/4HANA, SAP HANA, SuccessFactors, Ariba, Concur and other SAP products and services mentioned herein, as well as their respective logos, are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.