How to Move Substitutions and Validation Through the SAP System Landscape

SAP Expert continues a series of articles that cover methods of aligning objects across the SAP multisystem landscape.

We have already discussed standard procedure for transport requests, and “special treatment” required for objects like tax codes and number ranges.

Today we will talk about Substitutions and Validations.


You know that Substitutions and Validations are tools that allow you to easily configure non-standard logic in different processes, mostly around Finance and Controlling. There are different processes that call up substitutions and validations.

You can get an overview of them if you start transaction GGB0 for Validations and GGB1 for Substitutions. These are technical configuration details. You also need to activate these substitutions and validations in different transactions, depending on the process you are working on.

Each substitution or validation, in its turn, may consist of several steps. Each validation step contains Prerequisite, Check and Message. Each substitution step contains Prerequisite and Substitution.

Activation of Substitutions and Validations

The most common use of substitutions and validations is finance document entry. If we talk about them, then you need to activate substitutions in transaction OBBH and validations in transaction OB28.

OBBH and OB28 allow you to assign different substitutions and validations in two dimensions:

  • Company code
  • Call up point: header, line item, complete document
Screenshot OB28
Screenshot OB28

Don’t forget to set up the activation indicator in the right part of the table.

Once you assign substitution or validation on OBBH / OB28, you can double-click the cell to get to configuration of it. This screen is similar to GGB0 / GGB1, but only gives you an overview of Financial document entry process.

When you save records in OBBH / OB28 in the Development system, the system will ask you for a customizing transport request. This is the transport request that will store activation of your substitutions and validations. Is it enough?


You also need to transport the logic of substitutions and validations.

Inclusion of Substitutions and Validations into Transport Request

It is a good idea to create (or request creation) of a transport request beforehand. This should be a Workbench request in this case.

In order to include substitution or validation into your transport, double-click the line in OBBH / OB28, or go into GGB0 / GGB1.

In the tree Processes / Callup point / Validation / Step / Prerequisite, you need to position your cursor on the validation (substitution) node.

Transporting substitution or validation: step 1
Transporting substitution or validation: step 1

Now go to menu Validation (or Substitution) – Transport.

Transporting substitution or validation: step 2
Transporting substitution or validation: step 2

On the next step the system will give you an option to choose objects to include in the transport request.

For substitutions these are:

  • Logical rules
  • Sets
  • Boolean Class

I would recommend you to untick the first and last checkboxes, unless you use rules in your system. As for sets, it depends on the way you use them. Sets is a very powerful tool that gives you flexibility in substitution and validation maintenance directly in Production system. But if you maintain sets in Production, it is not a good idea to move them from Development system with the transport, because it may affect the content of each set used in particular substitution and validation.

For validations, options for transporting are the same as for substitutions, plus:

  • Messages
  • Message Class

Messages / Message Class used in validation is one of few cases when you can maintain a developer-specific object (i.e. the ones that usually require a developer key) without developer key. So if you created new messages for your validations, you need to include them in the transport request too.

When you ticked or unticked checkboxes, click the Execute button and the system will ask you about the workbench transport request.

Importing Transport Request

Usually Workbench Requests are used for a cross-client object. It means that usually you do not need to import Transport Request into a different client of the same system. However, the story is different for Substitutions and Validations.

Once you included Substitution or Validation in the Workbench request as described above, you need to import that request into the target client, even if this client is in the same system. To do so, use transaction SCC1.

And, of course, don’t forget to import the transport with activation of Substitution or Validation into the target system too.

Congratulations! You can now test your substitution or validation, and then move the transport into a different system of your system landscape.

Related Posts

Top SAP Expert posts from 2021

Dmitry Kaglik

January 10, 2022


No Comment

The year 2021 is behind us. There were many articles published on SAP Expert blog that year, as well as during previous years. Let’s see what were the most read posts from 2021. Search Strings: Powerhorse of Electronic Bank Statement More Free SAP Training Do you need help with SAP Job interviews? As for the […]

Read More

Merry Christmas and Happy New Year 2022 from SAP Expert

Dmitry Kaglik

December 25, 2021


No Comment

My dear readers! It is holiday season again upon us! Another year has gone. 2021 comes to the end. The year of surprises, struggle, success and wins. Christmas is today, and New Year is just around the corner. Let’s celebrate these! Let’s make new and better plans for future year. SAP Expert had its ups […]

Read More


Leave a Reply to SAPexpertUK Cancel reply

Your email address will not be published.

Search this site


You can subscribe to our regular updates here.


Will you be happy to pay for the 3rd edition of the book FREQUENTLY ASKED QUESTIONS ON SAP FINANCE?

View Results

Loading ... Loading ...
Disclaimer and privacy policy