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

What is the place of OpenSAP in SAP education landscape?

Dmitry Kaglik

August 5, 2019


No Comment

FacebookTwitterLinkedinDiggemailSAP is a company that develops and sales many software applications. Of course, the most well-known of them is SAP R/3, also known as SAP ERP, SAP ECC and now SAP S/4HANA. There are also other products like HANA, SCM, CRM, Concur, Successfactor and so on. Each of these products is very complex. It is […]

Read More

Payments with Payment Requests and Repetitive Codes

FacebookTwitterLinkedinDiggemail Introduction Payments in SAP is a very important topic. Most often these are payments made to vendors. There are multiple ways how you can pay vendors in SAP using invoices or down payment requests. Some special cases require you to make payments without an invoice, and Payment Requests become handy in these cases. If […]

Read More


Leave a Reply

Your email address will not be published. Required fields are marked *

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