01-30-2009 8:59 AM
Does SAP supply any demo examples of the new BADI switch framework and/or classic BADIs.
I've been trying to learn how to use SE18 and SE19 from examples on the web and articles in Thomas Weiss blogs. But, I'm still confused.
Thanks
Ed Baker
01-30-2009 9:03 AM
01-30-2009 9:03 AM
01-30-2009 9:42 AM
Thank you for replying.
I did look at that example during my investigations. In fact, I found another page with screen shots for the example at http://www.sapmaterial.com/badi.html
Unfortunately, I'm on ECC 6.0 and the screen shots don't quite line up.
What I'm actually referring to is spots like this in SAP supplied code. Here's a typical example in SAPMV45A during transaction VA01 (sales order create).
How do I get SAP to branch off to user code when it reaches the "ENHANCEMENT-POINT" line.
*---------------------------------------------------------------------*
* MODULE XVBAP_LESEN *
*---------------------------------------------------------------------*
* Tabelle XVBAP fuer Bildschirmanzeige lesen, es wird die erste *
* Einteilung mit Wunschmenge zur Verfügung gestellt *
*---------------------------------------------------------------------*
MODULE XVBAP_LESEN OUTPUT.
PERFORM XVBAP_LESEN(SAPFV45P) USING CHAR1.
ENHANCEMENT-POINT XVBAP_LESEN_01 SPOTS ES_SAPMV45A.
*$*$-Start: XVBAP_LESEN_01----------------------------------------------------------------------$*$*
ENHANCEMENT 59 /SAPHT/SW_LIC_BU_VERS_SAPMV45A. "active version
* IS-HT (D45)(D44)
CALL FUNCTION '/SAPHT/SW_BUMP_ICON_OUTPUT'
EXPORTING
i_vbap_posnr = vbap-posnr
i_vbap_uepos = vbap-uepos
i_vbup_bump = xvbup-bump
CHANGING
c_gg_process_icon = gg_process_icon.
.
ENDENHANCEMENT.
*$*$-End: XVBAP_LESEN_01----------------------------------------------------------------------$*$*
ENDMODULE.
01-30-2009 9:50 AM
Hi
But are you speaking about enhancement spot or BADI?
What do yuo really need to know?
Max
01-30-2009 10:12 AM
I guess that's where I get all mixed up.
I see all sorts of articles about the new switch framework and enhancement points as the new way to do user exits. I see hundreds of the enhancement-points in SAP code that I've used for 14 years. But, I don't know how to take advantage of them.
When I look at the opening screens of transactions SE18 and SE19, they both say "BADI builder".
I've been using the SMOD/CMOD user exit techniques for years. I just wanted to learn more about the new way to customize standard code.
I wish I knew how to ask the question more definitively. I just thought if there was a worked up example like you see in some of SAPs supplied DEMO and BC programs that I could catch on to what everyone is talking about.
I really do appreciate your answer. Maybe I've bit off more than I can chew here.
01-30-2009 10:38 AM
If you haven't done this already, read the SAP help documentation on the new Enhancement Framework here http://help.sap.com/saphelp_erp2005vp/helpdata/en/94/9cdc40132a8531e10000000a1550b0/frameset.htm. After reading this I was able to create implicit enhancements quite easily. Implicit enhancement points are present in almost every SAP program and are, in my opinion, the most useful new thing given to us by the Enhancement Framework since they allow you to make changes to almost any SAP program.
The other sort of enhancement spots are explicit enhancements spots which are exit points created by SAP at certain points in its programs. The new BADIs - in ECC6 we now have two types of BADIs, the classic ones that still behave as they used to and the new ones - are all linked to one of these SAP defined enhancements spots and to create an implementation for one of these new BADIs in SE19 you have to start by creating an enhancement implementation for the BADI's enhancement spot. You can find the name of the enhancement spot if you only know the BADI name by viewing the BADI in SE18.
There is (or was) a two day SAP course on this. But, once you've grasped the essentials, the new enhancements are really easy to use and I don't think going on a course is necessary.
01-30-2009 11:00 AM
Hi
I can only add the power of the implicit enhancements is it can insert an own code in every place of a standard program (really there's some limitations: it can be placed to the beginning or the end of a routine, like a form..).
The old user-exit, the BADI and the customer exit are routine called in strategic point of a standard program, so if it needs to insert some modifications it needs to find out some exit called in the program to be changed and close to the point where it needs to insert own code.
If any exit can be found out, or it changes the std program or it creates custom program as copy of std one.
Now the implicit enhancement allows to insert an own code and it doesn't need the user-exit: that's very powerful.
Max
01-30-2009 12:53 PM