Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
On FI/CO
Editors Note: Imagine, a smooth-running monthly, quarterly, or even year-end close, with all of
your data accurate and complete for posting. Go ahead and pinch uswere not dreaming.
Dimitris Langas demonstrates which standard SAP tools you can use to validate and substitute
data in order to make your next financial close be one for the booksin a good way!
Introduction
Financial close cycle time is considered to be a key indicator of the state of the underlying
processes and systems in an organization. The ability of a multinational company to complete its
financial close cycles in a timely manner is a clear sign to internal and external stakeholders of a
healthy organization that implements streamlined and efficient financial processes and
procedures.
In recent years, companies across the globe have focused their efforts into streamlining their
financial processes to reduce their financial close time. In slow economic times like these, it is
even more common to take the time and look into these issues in an effort to introduce process
improvements that will benefit the company in the long term.
Customers running SAP sometimes wonder how they can improve their financial close processes
in order to shorten their close cycle. Theyll ask for ideas to help them improve their accounting
processes in order to minimize bottlenecks during closing. One of the most critical factors in such
an effort is the ability to ensure accurate and complete financial data in all your accounting cycle
processes. After all, the root cause of most bottlenecks during a financial close can be traced
back to missing or erroneous financial data.
In this article, I will examine some of the most common causes of poor financial data quality and
propose ways to limit the problem. Thankfully, SAP offers the right tools to achieve first time
right postings. The focus will be on a couple of tools that are not particularly new, but have
proven their timeless value in many SAP installations worldwide. All the transactions in this
article were executed on an SAP ECC 6.0 system, but the concept and the relevant functionality
presented are available in earlier versions as well.
complete financial information in each posting. Since the early R/3 versions,
SAP has provided a couple of options and tools that allow companies to
increase the accuracy and completeness of their posted transactions.
One critical
factor toward
ensuring a
successful and
timely financial
close is "first
time right"
financial data.
The first of these options is the ability to check and validate your data at the time of the posting.
These validations allow you to implement your own company-specific or industry-specific
business rules and enforce them across your system landscape in a convenient and transparent
way. By using validations extensively, you can maximize the accuracy of your posted data and
thus ensure first-time right postings as much as possible.
A second option available is the ability to substitute certain data in your business transactions.
Again, you can implement your own business rules to fill in certain data that is missing from the
www.ERPtips.com
Page 2
posting, or even change the values of certain data fields. These substitutions will help you
reach maximum levels of completeness and accuracy of your posted data, and thus minimize the
need for manual interventions during the financial close.
In this article, I will take a look into the details of the functionality of these tools and also present
some relatively unknown tips and techniques around their use. Since validations and
substitutions have been around for a while, I assume the reader is aware of the basic system
functionality in this area, and therefore I will not spend a lot of time on how you set up a simple
validation or substitution, but only go through an introduction to the topic before focusing on some
topics that are less well documented. Hopefully this will give you some insights that will help you
improve your current use of these tools and therefore make your financial close less of a struggle.
www.ERPtips.com
Page 2
www.ERPtips.com
Page 3
www.ERPtips.com
Page 4
www.ERPtips.com
Page 5
www.ERPtips.com
Page 6
One key issue in the subject of validations and substitutions has to do with when they are
triggered. The system uses two objects to identify different moments of business processing
when a validation or a substitution may take place:
1. The Application Area for which the validation/substitution is relevant: Some examples of
valid application areas include FI for financial accounting, CO for cost accounting, AM for
asset accounting, GA for FI-SL allocations, PS for the Project Systems module, etc. You can
display the contents of Table GB03 for a listing of all the Application Areas (see Figure 6).
2. The Call-up Point, which is the specific point within the application process in which the
validation/substitution should apply. You can consider the call-up point as a subdivision of the
Application Area, since each application area uses different call-up points.
You can display the contents of table GB31 for a listing of all the call-up points for each
application area. For example, the application area FI uses five call-up points (see Figure 7),
which are different from the call-up points of application area AM (see Figure 8).
www.ERPtips.com
Page 7
Figure 7: List of Call-up Points for Application Area FI (Contents of Table GB31)
Figure 8: List of Call-Up Points for Application Area AM (Contents of Table GB31)
SAP calls this combination of application area and call-up point a Boolean class, and identifies it
by a unique three-digit code. Table GB31 contains the definitions of these Boolean classes,
along with their unique three-digit code identifiers. This table also specifies whether each
Boolean class is available for validations and/or substitutions (see Figure 9).
www.ERPtips.com
Page 8
For each Boolean class (i.e., for each combination of Application Area/Call-up Point), there is a
specific set of fields that are available to be used in Validations & Substitutions. To display this
list of fields, just start either the GGB0 or the GGB1 transaction, make a single click on the
relevant Application area / Call-up time, and then select the option Extras Flds in Bool.
Statmnt from the top menu. In my example shown in Figure 10, I want to display the relevant
fields for the Cost Accounting / Line Item Boolean class. Notice that I select the relevant class
before going to the top menu (also notice how the Line Item row of the Cost Accounting
application area is highlighted when I choose Extras Flds in Bool. Statmnt).
Figure 10: Select Extras Flds in Bool. statmnt from the Top Menu (transaction GGB1)
www.ERPtips.com
Page 9
The system displays a pop-up window with all the fields that are assigned to that Boolean class
(see Figure 11). Note that on the title of the pop-up window, you can identify the code that the
system uses for that class; for the Cost Accounting/Line Item class, this is 001.
Figure 11: Fields Assigned to Boolean Class 001, Cost Accounting / Line Item (transaction
GGB1)
www.ERPtips.com
Page 10
Figure 12 displays a list of fields assigned to Boolean class 015, Financial Accounting / Complete
document.
Figure 12: Fields Assigned to Boolean Class 015, Financial Accounting / Complete
Document (transaction GGB1)
Previously, weve discussed how SAP uses a three-digit code to identify particular points in the
application process in which a validation or substitution should be triggered. Weve also
demonstrated how to check which fields are available to be used in conditions for each Boolean
class.
Its worth noting that each Boolean class is also assigned to some fields that are substitutable. In
other words, only those fields may be substituted for that Boolean class. The reason is
simple: SAP wants to protect the integrity of the posted information and therefore only certain
fields should be allowed to be substituted.
Note: The impact of substitutions on the audit trail is addressed later in this article.
www.ERPtips.com
Page 11
To display which fields are substitutable for a particular Boolean class, proceed as shown in
Figure 13: Select the relevant class and then choose Extras Substitution Fields from the top
menu.
Figure 13: Substitutable Fields for Boolean Class Cost Accounting / Line Item (transaction
GGB1)
www.ERPtips.com
Page 12
The system then responds with a list of the substitutable fields for the specific Boolean class
selected (see Figure 14).
Figure 14: List of Substitutable Fields for Boolean Class 001 (transaction GGB1)
Now, there may be certain circumstances when you need to substitute a field that is not originally
available for substitution in the standard system. There is a way to add that particular field to the
list shown in Figure 14. I will come back to this later.
Another question that sometimes arises is how you can ensure an audit trail in your postings
once certain fields get substituted automatically. I will also discuss this issue a bit later in this
article.
We now have a basic overview regarding the use of validations and substitutions. In the
remainder of my article, I will present some of the most common application areas for these tools,
and hopefully give you some ideas of how you can put these into action.
Later in the article, I will also list some topics and technical issues that you should be aware of
regarding the use of validations and substitutions.
www.ERPtips.com
Page 13
Figure 15: Structure SYST Contains the System Fields That Can Be Used in Logical
Statements
Copyright 2009 by Klee Associates, Inc.
www.ERPtips.com
Page 14
www.ERPtips.com
Page 15
For these reasons, I suggest that you take the time to review your AA validations, especially so if
you are experiencing AA errors and delays during your financial close. There is a wide array of
data that you can validate (either master data or postings); taking advantage of the system
possibilities in this area can sometimes considerably reduce your AA closing efforts.
Figure 17: Boolean Class 001 Contains a Very Large List of Available Fields to Use in
Validations
A common reason to use cost accounting validations is to ensure postings from various
applications have the right account assignment objects. Common examples include validating
Copyright 2009 by Klee Associates, Inc.
www.ERPtips.com
Page 16
G/L accounts (cost elements) against cost center categories (e.g., preventing posting marketing
costs against a production cost center) or internal order types.
Cost accounting validations used to check account assignment objects will also be triggered by
purchasing transactions. This should prevent, for example, your purchasing users posting to the
wrong fixed assets or internal orders, and/or with the wrong G/L accounts.
www.ERPtips.com
In the Fixed
Assets module,
substitutions may
be used to fill in
additional
information for
reporting
purposes.
Page 17
www.ERPtips.com
Page 18
Figure 20: Boolean Class 033 for FA Mass Master Data Changes (transaction GGB1)
Substitutions in Profit Center Accounting
One of the most common uses of substitutions is substitution of the Profit Center during the sales
process. This is a very common process used in almost any multinational company, as
www.ERPtips.com
Page 19
companies want to credit their sales to the business line (division) that made the sale in the first
place, irrespective of the profit center to which the material belongs.
Remember that in the Material Master data tab Sales: General/Plant, the material is assigned to
a profit center (see Figure 21 for an example).
Figure 21: Assignment of a Profit Center to a Material Master Data (transaction MM02)
According to the standard SAP configuration settings, when you make a sale, the Profit Center
that takes the credit for that sale is derived directly from the Material Master. However, you would
usually want to credit the sale to the Profit Center that actually made it.
Copyright 2009 by Klee Associates, Inc.
www.ERPtips.com
Page 20
You can define your CO-PCA substitution rules either via transaction GGB1 or transaction 0KEM,
accessible via IMG Enterprise Controlling Profit Center Accounting Assignments of
Account assignment objects to Profit centers Sales Orders Sales Order Substitutions. In
the same menu path, you will also find transaction 0KEL, which will allow you to assign your PCA
substitution rule to the respective controlling area (see Figure 22).
Figure 22: Assign PCA Substitution Rule to Controlling Area (transaction 0KEL)
A typical example of such a substitution rule may look like the one shown in Figure 23, in which I
use the Sales Organization (PCASUB-VKORG), the distribution channel (PCASUB-VTWEG), and
the division (PCASUB-SPART) to substitute the value of a specific Profit Center. Of course, in
more complicated situations, you would most probably use a User Exit and custom table(s) and
business logic to find the correct Profit Center based on the Sales Area.
Figure 23: Assign PCA Substitution Rule to Controlling Area (transaction 0KEM)
Earlier in this article, I promised to discuss the issue of audit trail in relation to fields that get
substituted in the manner described above. As I will discuss in detail later, there exists a certain
Copyright 2009 by Klee Associates, Inc.
www.ERPtips.com
Page 21
utility program that will list for you all the fields that are actually used in substitutions. Using this
program will help you identify those fields that are currently being substituted in your system and
you can then easily check the relevant substitution rule for the current business logic.
A slightly more difficult case occurs when the business logic of a substitution rule has changed
after the time of your posting. Say for example, that a Profit Center substitution rule has changed
recently. You would like to be able to show that previously posted documents were actually being
posted with the correct Profit Center, according to the then valid substitution logic. In order to be
able to trace back such changes to your substitution logic, you must activate change logging for
the relevant customizing objects. If you are not sure whether these settings are active in your
system or if you want to know how to activate them, you will need to contact your Basis team
members for assistance.
To display your substitution rules change logs, follow the path IMG Financial Accounting
Special Purpose Ledger Tools Maintain Validation / Substitution / Rules, select Maintain
Substitution and click on Change Log (see Figure 24).
www.ERPtips.com
Page 22
www.ERPtips.com
Page 23
Figure 26: Validation to Prohibit Asset Postings on the Period-End Closing Dates
(transaction GGB0)
Another example may be the substitution of the Profit Center, when postings are made to a
specific group of accounts (see Figure 27).
Figure 27: Substitution of Profit Center for Extraordinary Income Accounts (transaction
GGB1)
Copyright 2009 by Klee Associates, Inc.
www.ERPtips.com
Page 24
Figure 28: Set of Document Types for Asset Postings (transaction GS03)
www.ERPtips.com
Page 25
Actually, using sets in validations and substitutions is pretty common as it saves you from having
to maintain the validation/substitution when you add values to such a set. You can simply do so
from the Set Maintenance transaction (GS02) accessible via Accounting Financial Accounting
Special Purpose Ledger Tools Set Maintenance Sets from the SAP Easy Access
menu.
There is a downside to this though: Each time you maintain a set that is used in a validation or
substitution, the system must regenerate a certain ABAP code in order to accommodate the
changes correctly. After all, you do expect the system to take into account your latest changes to
that set. The downside is that regeneration of the code will lead to users being thrown out of
certain transactions.
Consider this example: You want to add an account to the set 5011000.INT as shown in Figure
29. You would expect that when you then make a posting to that account, that it would go to
Profit Center L6310, as directed by the substitution shown in Figure 27. For that to happen
though, the system must generate (update) some ABAP code to
actually take into account your changes to the set. The effect of that
code generation would then be that any other user posting to any FI
Simply avoid
document at the time that you have the record open would not be able
to successfully complete the posting. If there are hundreds or thousands
making
of users at any time working on your system, there is a good chance
changes to
that you will make many people unhappy by that change.
Whats the solution? Simply avoid making changes to sets used in
validations or substitutions during high-peak business hours. Delay
these changes until late in the afternoon or (if at all possible) until the
weekend.
sets used in
validations or
substitutions
during highpeak business
hours.
www.ERPtips.com
Page 26
Now, say you need to substitute a field that is not found in this list; for example, field COBLBZDAT (Reference date). Table GB01 defines which fields are substitutable and which are not
for each Boolean class. If we list the contents of that table for class 001 (Cost Accounting / Line
Item) and look up the field COBL-BZDAT, you will notice a check X in the Exclude column (see
Figure 30). This is what prohibits us from being able to substitute that field in our substitutions.
Figure 30: Field BZDAT (Reference Date) Is Excluded from Substitutable Fields (table
GB01)
In such cases, simply ask an ABAP developer to make a short report program and take out the
X from the Exclude column for the particular field that you need to have available in your
substitutions.
www.ERPtips.com
Page 27
After that change is made as shown in Figure 31, you will notice that the relevant field is available
for your substitutions.
Figure 31: Field BZDAT Is Now Included in the List of Substitutable Fields for Class 001
(table GB01)
www.ERPtips.com
Page 28
After the entry in Table GB01 is changed, notice how field COBL-BZDAT (Reference date) shows
up in the list of substitutable fields (see Figure 32). Compare Figure 32 to Figure 14 to see the
difference that simple change made.
Figure 32: Field BZDAT (Reference Date) Is Now Available for Substitution (transaction
GGB1)
You should be very careful which fields you make substitutable. As I mentioned earlier, SAP
wants to ensure the integrity of the data between the different applications and thus limits the
substitutable fields to only those that will not logically imperil this integrity. Do not make a field
substitutable unless you are absolutely certain youre aware of all your substitutions side effects.
Finally, in case you want to insert custom-fields (i.e., non SAP-standard fields) in validations and
substitutions, please refer to Note 20637 (Inserting fields in validations and substitutions).
www.ERPtips.com
Page 29
www.ERPtips.com
Page 30
Figure 34 displays the selection screen for the validation directory (RGUGBR31). This report can
be used to quickly get a listing of all the validations that meet certain criteria, or to find other
relevant information about your validations (e.g., used sets, fields, user exits, etc.). RGUGBR32,
the directory for substitutions, is shown in Figure 35.
Figure 34: Validation Directory Selection Screen (ABAP code RGUGBR31 run via
transaction SA38)
www.ERPtips.com
Page 31
Figure 35: Substitution Directory Selection Screen (ABAP code RGUGBR32 run via
transaction SA38)
For a list of frequently asked questions about validations and substitutions, you can refer to Note
842318.
Conclusion
A companys ability to produce its financial statements in a timely manner sends a strong
message to key stakeholders about the companys finances and IT functions maturity level. The
worlds largest organizations are striving to align their processes and employ technologies that
can help shorten their financial close cycle.
A key concept in minimizing financial close time is data accuracy and completeness; in other
words, getting the data right the first time. Validations and substitutions have been used since
early SAP releases to help ensure all the required data is posted correctly. These tools allow
companies to implement their own company-specific business rules and make sure these rules
are automatically and consistently enforced each time a posting takes place.
In this article, I provided an overview of the system functionality in this area, presented some of
the most common uses of these tools, and finally provided some insights on common issues that
you may face in using these tools. Hopefully, I have given you some ideas worth investigating
further and shed some fresh light on the topic. Part II will close this two-part series with an
explanation of the closing processes and how to optimize them.
Copyright 2009 by Klee Associates, Inc.
www.ERPtips.com
Page 32
The information in our publications and on our website is the copyrighted work of Klee Associates, Inc. and is owned by
Klee Associates, Inc.
NO WARRANTY: This documentation is delivered as is, and Klee Associates, Inc. makes no warranty as to its accuracy
or use. Any use of this documentation is at the risk of the user. Although we make every good faith effort to ensure
accuracy, this document may include technical or other inaccuracies or typographical errors. Klee Associates, Inc.
reserves the right to make changes without prior notice.
NO AFFILIATION: Klee Associates, Inc. and this publication are not affiliated with or endorsed by SAP AG. SAP AG
software referenced on this site is furnished under license agreements between SAP AG and its customers and can be
used only within the terms of such agreements. SAP AG and mySAP are registered trademarks of SAP AG.
All other company and product names used herein may be trademarks or registered trademarks of their respective
owners.
www.ERPtips.com
Page 33