Enhancement Technique: How to Use Substitutions 
Enhancement Technique: How to Use Substitutions 
Applies to: 
SAP 4.6C and higher 
Summary 
This article provides a step-by-step guide on the usage of substitutions, an enhancement technique in the 
Financial Accounting Module of the SAP R/3 system. 
 
Author(s): Lakshman Tandra 
Company:  Intelligroup Asia Pvt Ltd 
Created on: 16 April 2007 
 
Author Bio 
Lakshman Tandra has been working in Intelligroup from more than 10 years. He is member of the SAP 
NetWeaver/ESA core team and currently oversees competency building activities at Intelligroup. 
 
 
SAP DEVELOPER NETWORK   |  sdn.sap.com  
 
© 2007 SAP AG 
 
 
BUSINESS PROCESS EXPERT COMMUNITY  |  bpx.sap.com 
1  
Enhancement Technique: How to Use Substitutions 
 
 
Table of Contents 
 
Basic Steps in Configuring Substitutions......................................................................................... 3 
Example Business Scenario for Substitutions................................................................................. 6 
Related Transaction Codes ........................................................................................................... 22 
Disclaimer and Liability Notice....................................................................................................... 23 
 
 
SAP DEVELOPER NETWORK  |  sdn.sap.com  
 
© 2007 SAP AG 
 
 
BUSINESS PROCESS EXPERT COMMUNITY  |  bpx.sap.com 
 2  
Enhancement Technique: How to Use Substitutions 
 
 
What are Substitutions 
 
Substitution allows you to define your own conditions for substituting specific fields. A substitution consists of 
two parts: Prerequisite and Substitution. If the prerequisite is met (if it is TRUE), the substitution is carried 
out. 
 
A substitution consists of two parts: 
•  Prerequisite 
•  Substitution 
If the prerequisite is met (if it is TRUE), the substitution is carried out. 
 
Basic Steps in Configuring Substitutions 
You must complete the following steps to create a substitution: 
 
 1. Enter the application area in which the substitution is called up. 
 2. Select the correct Callup point for the substitution. 
 3. Define the substitution. 
 4. Assign your substitution to an organizational unit (for example, company code for FI, company code or 
global company for FI-SL, controlling area for CO). 
 5. Activate the Substitution. The fields that can be used in your substitution are determined from the 
application area and the Callup point. When you define your rules for the prerequisite and check  
Statements, you can choose the fields that you want to use. 
  
Call Up Point: 
Callup Point 1 
• The Callup point tells you when the substitution is performed. 
• Callup point 1 checks the fields in a document header. 
Callup Point 2 
• Callup point 2 is used to check the fields in a document line for a G/L account posting or a FI-SL. 
• The fields that are available at Callup point 1 are also available for cross-checks. 
Operands and Operators 
The following elements are used to create rules for prerequisite statements in substitutions. 
• Operands:  Logical operators (Boolean logic) and Comparison operators. 
 
User Exits in Substitutions 
• User exits are form routines programmed by the user. 
• If you want to use your own rule, you can use user exits to define prerequisites or checks for 
• Exit routines are created in a report. Each client has its own report. The form pools for the report are 
validating or substituting fields. 
stored in table T80D. 
•  User exits are user-defined FORM routines that are used to calculate and/or replace values 
within a validation, substitution, or rule. 
•  User exits have the following format: U (for a user-defined user exit) or S (for a standard 
user exit) 
The user exit number (three digits) 
•  For example, U123 is a user-defined user exit. 
•  You can configure the form pool name of the user exits and must store it in the table for 
client-dependent user exits (T80D) in Customizing. Table T80D contains the form pool 
SAP DEVELOPER NETWORK  |  sdn.sap.com  
 
© 2007 SAP AG 
 
 
BUSINESS PROCESS EXPERT COMMUNITY  |  bpx.sap.com 
 3  
 
 
Enhancement Technique: How to Use Substitutions 
names for the user exits used in validations, substitutions, and rules. Each 
validation/substitution form pool is client-dependent. (For more information, refer to the 
Maintain Client-Dependent User Exits activity in the Implementation Guide (IMG) for Special 
Purpose Ledger.) 
•  Example form pools RGGBS000 and RGGBR000 for client 000 are delivered with the SAP 
R/3 System. You must copy these form pools and configure them in T80D. The new form 
pool name should conform to the customer naming convention (beginning with the letter Z) 
so that is not overwritten when the next SAP upgrade is installed (for example, ZGGBR000). 
•  Example FORM routine for substitution exit 001 (U001). 
TABLES: COBL. 
FORM U001. 
COBL-KOSTL = COBL-BUKRS. 
ENDFORM. 
•  Tables and structures should not be declared in the FORM routines so that the contents can be used 
together with the calling transaction. 
•  SAP exits are FORM routines that have been programmed by SAP. The name of the form pool for 
SAP exits is SAPFGBEB.  
ser exit 
Application 
Description 
No parameters are defined for the user exit. 
The following table shows the types of user exits that can be used in substitutions.  
 U
type 
 
1 
 
 
2 
 
 
 
 
3 
Same as user exit type 1, except one 
parameter (the field to be substituted) is 
defined in the user exit. For example, you can 
create a substitution routine that analyzes the 
cost center irrespective of the used field. 
All data is passed as one parameter; this exit 
type can only be used in matrix validations and 
substitutions. 
Rules, validations, 
and substitutions 
(prerequisite) 
Substitutions 
•  Substitutions use all of the exit numbers from the above table. 
Rules, validations, 
and substitutions 
(prerequisite) 
Example 
See form pool RGGBR000, 
parameter type 
C_EXIT_PARAM_NONE 
See form pool RGGBS000, 
parameter type 
C_EXIT_PARAM_FIELD 
See form pool RGGBR000, 
parameter type 
C_EXIT_PARAM_CLASS 
 
•  For substitutions, you can also create user exits that accept a field as one parameter and then return 
the changed value in this parameter. This allows you to create a user exit that can be used 
independently of the field and table name. This type of user exit cannot be used as an entry in the 
Exit only field in the list of values to be substituted; you can only use this exit type in conjunction with 
a field name. An example of this user exit type is in form pool RGGBS000. 
For each Substitution step: 
•  Data is entered into the SAP R/3 System.  
•  Data is sent to the FI-SL Integration Manager and to substitutions.  
• 
 Substitutions are part of the Integration Manager along with validations, ledger selection rules, and 
summation rules. 
•  Data is then checked against a prerequisite statement.  
• 
If the prerequisite statement is true, the system performs the substitution. If the prerequisite 
statement is false, then there is no substitution. 
If there are additional steps in the substitution, the system accesses the next step for substituting the 
data until all substitution steps have been processed. 
•  When you are substituting values from outside the FI-SL application component, the dimension 
being substituted must be defined for the Boolean class for which you are substituting data. 
• 
 
SAP DEVELOPER NETWORK  |  sdn.sap.com  
 
© 2007 SAP AG 
 
 
BUSINESS PROCESS EXPERT COMMUNITY  |  bpx.sap.com 
 4  
Enhancement Technique: How to Use Substitutions 
 
 
Maintenance: 
•  A substitution can also contain up to 999 steps. 
•  A substitution step consists of a prerequisite and substitution 
Activation: 
•  A substitution is activated for each of the following: 
–  an ORGANIZATIONAL UNIT (in FI-SL: Company code or global company) 
–  a CALLUP POINT (in FI-SL: 0001 (document header) or 0002 (document line)) 
–  A substitution can be valid for several company codes / global companies at the same time. 
 
SAP DEVELOPER NETWORK  |  sdn.sap.com  
 
© 2007 SAP AG 
 
 
BUSINESS PROCESS EXPERT COMMUNITY  |  bpx.sap.com 
 5  
Enhancement Technique: How to Use Substitutions 
 
 
Example Business Scenario for Substitutions 
 
Company A would like to create a substitution to replace the FI Document header text (BKPF-BKTXT) and 
the Ref key field (BKPF-XBLNR) at the Document Header when posting an accounting document using the 
tcode FB01. 
Steps: 
Go to the transaction code GGB1. The screen looks like below: 
 
 
Create a Substitution in the Financial Accounting module. Keep the cursor on the Financial Accounting and 
click on the Substitution Button 
 
 
Give some description to the substitution and press enter key. 
 
 
SAP DEVELOPER NETWORK  |  sdn.sap.com  
 
© 2007 SAP AG 
 
 
BUSINESS PROCESS EXPERT COMMUNITY  |  bpx.sap.com 
 6  
 
 
Enhancement Technique: How to Use Substitutions 
 
Next click on the step button on the application toolbar, a popup with the substitutable fields will come. Select 
the field for which we have to substitute: 
 
 
 
Enter the substitution method from the screen. In this example we will use the constant value 
 
SAP DEVELOPER NETWORK  |  sdn.sap.com  
 
© 2007 SAP AG 
 
 
BUSINESS PROCESS EXPERT COMMUNITY  |  bpx.sap.com 
 7  
 
 
Enhancement Technique: How to Use Substitutions 
 
After this a step gets created. You can create multiple numbers of steps depending on your requirement.  
Give a meaningful description to the Step. 
 
 
 
 
If you want to give any prerequisite you can give. it by double clicking on the empty screen under the 
Prerequisite: 
 
A screen with the formula editor will come. It will have tree tabs Table fields, rules and exits. 
 
 
SAP DEVELOPER NETWORK  |  sdn.sap.com  
 
© 2007 SAP AG 
 
 
BUSINESS PROCESS EXPERT COMMUNITY  |  bpx.sap.com 
 8