2012 Jun 29 12:14 PM
Dear All ,
i have created one Validation user-exit in GGB0 for FI followed all steps 1
1) Copied RGGBR000 to ZRGGBR000 .
2) added exit-name , title ,parameter none .
exits-name = 'ZORD'.
exits-param = c_exit_param_none. "Complete data used in exit.
exits-title = text-105. "Posting date check
APPEND exits.
3) also form . endform
FORM zord USING b_result.
tables : coas .
if sy-tcode ='MB1A' .
endif.
ENDFORM.
4) done changes in table t80d using GCX2
modified zprogram name for application area gblr
5) there is also entry in ob28 for validation rule
6) executed report RGUGBR00 .
7) when i go in GGB0 and put cursor on exit and click on ABAP editor it show that code ...
😎 when i called that exit through GGB0 it does not gives call to that exit NAME "ZORD" ?
Could you please guide us for the same .
I have attached the screen shot of exit created by name zord .
Regards
Deepak.
2012 Jun 29 12:36 PM
5) there is also entry in ob28 for validation rule - Did you activate the rules (value 1 in OB28) ?
8) when i called that exit through GGB0 it does not gives call to that exit NAME "ZORD" ?
- What do you mean by "when i called that exit through GGB0" ?
- If you try to debug, where did you put break-point (ZRGGBR000 will never been executed, but includes type GBT**FI**, check Note 842318 - Frequently asked questions about validations + substitutions for key word debug)
Regards,
Raymond
2012 Jun 29 12:36 PM
5) there is also entry in ob28 for validation rule - Did you activate the rules (value 1 in OB28) ?
8) when i called that exit through GGB0 it does not gives call to that exit NAME "ZORD" ?
- What do you mean by "when i called that exit through GGB0" ?
- If you try to debug, where did you put break-point (ZRGGBR000 will never been executed, but includes type GBT**FI**, check Note 842318 - Frequently asked questions about validations + substitutions for key word debug)
Regards,
Raymond
2012 Jun 29 12:55 PM
Thank you for reply .
yes i have put break point in ZRGGBR000 . But it did'nt get call .
i have activated the rules (value 1 in OB28) .
i will refer Note : 842318 .
But Raymond Can you tell me :
when i execute report RGUGBR00 what exactly code is generated i.e
all related include are generated again or only specific code is generated .
regards
Deepak.
2012 Jun 29 1:04 PM
Actually read the note I provided, RGUGBR00 will generate many includes that interpret your rules, as I already wrote, ZRGGBR000 will never been executed
Regards,
Raymond
2012 Jun 29 1:19 PM
Not very sure about that but I remember that the naming convention for exits was UXXX where U9xx stands for customer. Can you please try to change ZORD to U901 let's say and try again ?
Once again, I'm not very sure about that.
2012 Jun 29 1:37 PM
In the generated includes (Look for an include name like GBT*FI*) the routines are converted with names like valcond_1z001###001 (condition 1 or group Z001) or valchck_2z001###001 (check 1 of group Z001)
Reading the note is not an option but an obligation for debugging...
(As the break-point in the customer include will only be reached if everything is correctly customized, so only if we don't need to debug...)
Alternative : perform a where-used on the form name, if not found, then check message in GBB0 transaction. (Is there another FORM routine in the programs involved ?)
> Once you find the include, you could set a break-point at start of form FORM VAL_ZXXX where ZXXX is the name of the validation in GBB, which executes the steps of validation.
Regards,
Raymond
2012 Jun 29 1:56 PM
No Laurent Fournier, you are right, it is written in the documentaiton of GBB0 transaction
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)
So ZORM is not allowed (should have raised an error message ?) Name should be U + 3 digits
Regards,
Raymond
2012 Jun 29 2:01 PM
And to be totally clear, Uxxx as mentioned stands for Customer. So what I said about U9xx it's not valid.
Thanks for the info Raymond. I wasn't very sure about it.
So, Deepak, change the name of the form and it will probably work as designed.
Regards.
2012 Jun 29 4:42 PM
Raymond,
Thanks for the update. But I am having few exits which starts with Z (Zxxx) which is working properly in a production system (I never noticed this part of documentation related to GGB0 while creating these exits)
So, I feel there is something other than naming convention which is creating the problem.
Regards, Vinod
P.S : Setting the break point through expert trace in GGB0 (Extras -> Expert Trace -> set break point) & Activating the total trace (Extras->Activate total trace) may help to identify the problem.
2012 Jul 07 8:20 AM
Hi Raymond ,
Sorry for Late Reply ... was on leave ..
i found the Include generated by executing program RGUGBR00 .
i.e GBTQYFIE ..
it does gets call ... and satisfies Prequisite condition .
after that it goes to include GBTQYFID ,GBTQYFIF for checking validation exit
83 * Exit evaluation :RES000 *
84 RES000 = B_TRUE.
85 PERFORM ZORD(ZRGGBR000)
86 IF FOUND
87 CHANGING
88 RES000.
Then it gets call to actual program ZRGGBR000 => ZORD form
265 FORM ZORD USING b_result.
266 tables : coas ,csks ,mseg .
267 if sy-tcode ='MB1A' .
268
269
270 endif.
271
272
273
274
275 ENDFORM. "ZKTSLORD
276
But now my problem is when i am executing MB1A i am entering KOSTL and AUFNR i.e internal order ... i am not getting those values in Any of the structure i.e BSEG ,BKPF or COAS ,cobl ... where can i get that internal order and costcentre entered in MB1A screen .
i need to validate those internal order from table COAS .
regards
Deepak.
2014 Apr 29 1:39 PM
SAP standard delivered validation exits in my system is called U100, US001 and UM001, so if some documentation says that U... is customer names space, then I can only say that this is not true according to SAP standard code in RGGBR000.
I have for many years used z... for my own substitution and validation exits, and so far I have seen no problems with that.
2014 Apr 29 4:19 PM
For reference to documentation -> User Exits in Validations/Substitutions/Rules.
With actual versions (there were "some" changes in generation of program for the last 10+ years) you should not get into trouble with such name as the generated program now uses some
PERFORM <form name>(<zinclude_of _forms>) IF FOUND .Also don't forget that RGGBS000 and RGGBR000 are only samples provided by SAP so they display some samples of User forms.
Regards,
Raymond
2015 Apr 21 8:56 AM
Hello Raymond ,
Thanks so much for that Exit pointer . Setting my Exit to start with U worked like a charm for me
Aham .
2020 May 29 2:58 PM
Hello Raymond,
Thanks for the Note.
I was facing the same error and it got solved by processing manual steps suggested in this note.
Regards.
2014 Oct 01 12:42 PM