Restricting/Unrestricting Fields for Substitutions and Validations
Restricting/Unrestricting Fields for Substitutions and Validations
Note
This document explains the situations for FI Substitutions/Validations exclusively. The situations may or may not apply for substitutions and validations in other application areas
Introduction
Validation consists of perquisite, check and message. If the prerequisite is met and the check is not fulfilled, the message is displayed. The validation rules are activated at company code level. They are used to examine settings, say, postings from company code to business area are made or not.
Substitutions are used to substitute a document field value and consist of a prerequisite and substitution. A substitution is enforced if the prerequisite is met. Substitutions are also activated at the company code level and can be a constant value, a user exit or field-field assignment
Call-up Points and Boolean Class
There are 5 call-up points which can be used for Substitution or Validation.
- Document Header
- Line Item
- Complete Document
- Cost of Sales Accounting
- Cost of Sales Accounting (New)
The set up for the call-up points and which Boolean classes are used for FI Validations/Substitutions details can be found in table GB31 in the system.
As seen above, the table has entries for other application areas also like Asset Management (AM), Controlling (CO) etc, but we will be only looking at the 5 entries for FI.
The 5 call-up points mentioned a little while earlier, can be found in the table for the 5 FI entries highlighted. The VALEVENTTXT gives the call-up point details corresponding to the number in the field VALEVENT.
The RCLASS or WCLASS field can be referred to know the Boolean Class for an application area and call-up point. For example, for application area FR and call-up point 2 (Line Item), Boolean class is 009. Knowing the Boolean class for an application area and call-up point combination will be necessary for reading the table GB01, explained later.
The fields GBVALUSE and GBSBSTUSE are used to define which call-up points will be used for Validations and Substitutions respectively. If the field value is blank, the call-up point does not appear in the screen to define Validations or Substitutions. The fields can have the following values:
Generally, only the values blank and X are used.
The GB31 data entries for FI look as below:
As seen, GBVALUSE has selection only for 3 call-up points with X. The value is blank for Cost of Sales Accounting and Cost of Sales Accounting (New) call-up points. Hence, when defining validations, only 3 call-up points will be available. For FI Substitutions, all 5 call-up points will be available, since, all the 5 entries have X in the GBSUBSTUSE field. This can be observed in the screen shots below:
The view entries are the same as GB01 and can be modified in SM30. Whatever modification is done for VWTYGB01, reflects in GB01 table.
Both GB01 and VWTYGB01 are cross client. Also, when modification is done and VWTYGB01 transported, only those entries are picked up in the TR which are changed during modification. The TR does not transport the whole table. In the system where the TR gets imported, the changes in VWTYGB01 directly reflect in the GB01 table.
So, to restrict fields or remove restriction on fields or add new tables and fields to be included in Substitutions and Validations, VWTYGB01 should be used.
Dear Sowmyadeepthi
This is one the the most important aspect in FI implementation.
I have seen that in practical life very negligible number of installation has make use this function effectively.
This function of SAP is capable of driving entire implementation in absolutely correct direction without any diversion. AS this will validate the data at entry level itself. So no GIGO principle will apply if this functions are used effectively.
Very few consultants understand and make use of this functions effectively.
I will admit that even I myself is not one of those few experts 🙁 .
I really appreciate your efforts and learning this is in my wish list.
And your Notes will be of great use in my learning process
I rate it 5*****
Regards
Chirag Shah
Thanks a lot Chirag. Appreciate it.
Having worked on one of complex engagements in Retail where Validations and Substitutions have been very very widely used, I guess this Document is very useful. Most of our colleagues need to be aware of the way validations and substitutions can be used.
Regards
Sanil Bhandari
Thanks a lot Sanil
Sowmya, you deserve a "semiya payesam" treat for this
Good documentation and initiative..
Br, Ajay M
Thank you Ajay
Hi Sowmya
I think this document will be help ful for me, while doing subsitutions.
Regards
Ramesh
I hope so too Ramesh. Glad to be of help.
Hi Sowmya
Clear and concise document on FI validations and substitutions. Gives practical understanding. Thanks for sharing your knowledge.
Best
Ram Vusirikala
Thanks a lot Ram
Hi Sowmya,
Good doc on FI Substitutions & Validations. I got a great opportunity to learn a new thing which is very useful. Keeep Sharing your knowledge.
Thanks & Regards,
Lakshmi S
Very good doc. Good explanation.
Thanks for sharing.
Thanks
Hello,
Thank you.
all the best Erwin 🙂
Good explanation, but I'm stuck. Perhaps you can help.
I need to add BSEC to FI validation. I currently have only BKPF and BSEG.
I have reviewed notes and other sources and maintained tables as instructed.
Relevant Tables contain:
Table GB01 contains:
BOOLCLASS
CLASSTYPE
BCLTAB
BCLFIELD
BEXCLUDE
015
B
BKPF
*
015
B
BSEC
*
015
B
BSEG
*
Table GB02 contains:
BOOLCLASS
MSGID
MULTILINE
CLASSTEXT
015
X
Document Header and Line Items (FI)
When I try to maintain V_GB01C to add an entry with:
BOOLCLASS
CLASSTYPE
BCLTAB
BCLFIELD
BEXCLUDE
015
B
BSEC
*
I get this error message:
Table BSEC is not available in class 15
What other tables (resources) do I need to maintain to complete my objective.
A step by step would be appreciated.
Thanks,
Gunter
Thanks for the challenge Gunter, but, I have never tried adding a new table. I would try and let you know if I am able to resolve.
By the way, I am sorry for the delay in response. If you have already found the solution, as well may post here.
Hi Sowmyadeepthi,
Have you had a chance to see how BSEC can be included in V_GB01C. I'm still looking for a solution.
Thanks,
Gunter
Hi Gunter
Unfortunately I dont have access to a sandbox system right now to try. 🙁
Regards
Sowmya
very nice sowmya.
Thanks,
Ankur
Hi,
This is five star contribution,
Devendra
Thanks Devendra 🙂
Best Explanation, nowhere I found such an answer about this topic. Excellent Sowmya, it helped me alot. Thanks for your contribution.
Very nice document
Thanks Sachin and Sagar
Hi Sowmya,
Really appreciate the work done here.
V_GB01C is a view table of GB01C - can be used
by using SM30 transacton for enabling for substitution and
validation.
Similar to VWTYGB01 changes getting reflected in GB01
any changes done in V_GB01C will reflect in GB01C table.
Please let me know of any other views.
Best Regards
Krishnan
Thanks for the additional information Krishnan 🙂
Hi Sowmya,
You have explained the critical topic in a very simple way. You people are really helping us in learning new topics where we didn't get the opportunity to work. Thanks for sharing your knowledge !!
Regards
Karthi
Hi Sowmya,
This is a great topic, one of the method to enable hidden fields of substitution is to go to SM30 and access view VWTYGB01. It helped in one my substitution rules.
Thank you!
Hi Wowmya,
Thank you very much for sharing the documentation. I was looking for on how to remove the 'X' in GB01 table until I found your post, it helped me.
but I have another question: I want to add BSEG-ZLSPR block function for some type of MIRO PO (PO's account assignment category). I was trying to add substituction rule: BKPF-BUKRS = 'XXX' AND BSEG-KONTP = 'X', then BSEG-ZLSPR = 'A'. but it doens't work, and I found in MIRO screen PO's account assignment category is DRSEG-KNTTP, is not BSEG-KONTP. how can make this happen?
Thanks,
Grace