Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Demo programs of new and classic BADIs - transactions SE18 and SE19

Former Member
0 Kudos

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

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Hope this link helps u.

http://www.saptechies.com/simple-sap-badi-example/

Thanks.

7 REPLIES 7

Former Member
0 Kudos

Hi,

Hope this link helps u.

http://www.saptechies.com/simple-sap-badi-example/

Thanks.

0 Kudos

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.

0 Kudos

Hi

But are you speaking about enhancement spot or BADI?

What do yuo really need to know?

Max

0 Kudos

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.

0 Kudos

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.

0 Kudos

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

0 Kudos

This message was moderated.