Skip to Content

Purpose:

In this article, I will show how the framework enhancement is managed, where to find related information, the navigations between SE18 enhancement spot tool and enhancement implementation tool, and some other related information.

Introduction

We have known about new Framework enhancement technology.

In CRM system, the mostly used technology is Kernel-BADI enhancement. For example, BADI component_loading is integrated into enhancement spot COMPONENT_HANDLING. BADI CRM_BP_UIU_BT is part of enhancement spot CRM_UIU_BP_ENHANCEMENT.

Even though I don’t use it, but I also found Source Code enhancement spot es_crm_btx_eew_wzd in function group CRM_BTX_EEW_WZD.

Of course, implicit enhancement interfaces are also provided in classes, function modules, subroutines, etc.

We can find lots of documents regarding framework enhancement – about the advantages, about the four technologies which are used for different purposes, about how to create implementations,  etc. For example:

The new Enhancement Framework and the new kernel-based BAdI

Enhancement Framework in ABAP – Blog 1

Enhancement Framework in ABAP – Blog 2

Prerequisite:

  • Understand the framework enhancement technology
  • Basic knowledge on how to create implementations for an enhancement spots

Objects:

In order to make it clear, the objects I will create are:

  • A package ZPACK_CORRI.
  • My own program Z_REP_CORRI, and include file Z_REP_INCL under package ZPACK_CORRI.
  • Enhancement spot ZENH_CORRI_SPOT1 with enhancement point Z_POINT1_1 in program Z_REP_CORRI,
    Enhancement spot ZENH_CORRI_SPOT1 with enhancement point Z_POINT1_2 in include file Z_REP_INCL,
    Enhancement spot ZENH_CORRI_SPOT2 with enhancement point Z_POINT2_1 in program Z_REP_CORRI.
  • Another package ZPACK_CORRI_TMP.
  • Enhancement Z_POINT11_SPOT1 for enhancement point Z_POINT1_1 for enhancement spot ZENH_CORRI_SPOT1.
  • Enhancement Z_POINT12_SPOT1 for enhancement point Z_POINT1_2 for enhancement spot ZENH_CORRI_SPOT1.

Steps:

  1. In Z_REP_CORRI, put cursor in the expected line, then go to menu ‘Edit’->’Enhancement Operations’->’Create Option’. In the pop up dialog, input enhancement point Z_POINT1_1, enhancement spot ZENH_CORRI_SPOT1, package ZPACK_CORRI.
    1 add a point and spot.PNG
  2. In the same way, create enhancement point Z_POINT2_1 for enhancement spot ZENH_CORRI_SPOT2.
    2 add a point and spot 2.PNG
  3. After that, enhancement spot ZENH_CORRI_SPOT2 is also created.
    3 after report points added.PNG
  4. Create enhancement point Z_POINT1_2 for enhancement spot ZENH_CORRI_SPOT1 in file Z_REP_INCL. This time, since enhancement spot ZENH_CORRI_SPOT1 has already been created, we just need to select the entry.
    4 add 2nd point for spot 1.PNG
  5. After added the enhancement point in file Z_REP_INCL.
    5 after add point in inclu.PNG
  6. Double click enhancement spot ZENH_CORRI_SPOT1 on the left side, it will navigate to the enhancement spot tool.
    6 spot 1.PNG
    Actually, this enhancement spot tool is SE18 itself.
    7 se18 for spot 1.PNG
    click ‘Display’ button, it goes into the same screen.
    8 se18 inside.PNG
  7. Let’s go to ‘Enhancem. Implementations’ tab. There is nothing because there is no any enhancement yet.
    9 enhancement impl..PNG
  8. Now, create an enhancement for enhancement spot ZENH_CORRI_SPOT1 in point Z_POINT1_1. The enhancement’s name is Z_POINT11_SPOT1. I put this enhancement under the 2nd package ZPACK_CORRI_TMP(Of course, you can put it under any package even ZPACK_CORRI itself also. But as I’m simulating the process, I pretend that package ZPACK_CORRI is standard developer package while ZPACK_CORRI_TMP is customer package).
    9-1 create an enhancement for point 1-1.PNG
  9. Let’s check the implementation tool under package ZPACK_CORRI_TMP. From here, we can also go to enhancement spot tool.
    9-2 implement tool.PNG
  10. Of course, if we goto ‘Enhancem. Implementations’ tab again, an entry is added. If we double click the cell of ‘Z_POINT11_SPOT1’, it will navigate to the same implementation tool as in above point 9.
    9-1.5.PNG
  11. From implementation tool, if click ‘Editor’ button, it will navigate to the ABAP editor. If click ‘Source’ button, the enhancement source codes will be displayed in the same screen.
    9-3 check source.PNG


Additional information:

I made above samples from my own Z programs. Actually, the normal way to use enhancement spots are:

  1. SAP developers create enhancement spots, provide enhancement points in SAP delivered standard programs.
  2. Then enhancements will be created by SAP developers for utility purposes. In this situation, the enhancements will be provided to customers as a part of SAP standard. Or the enhancements can be created by customer per their business requirements. At this time, the enhancements’ names of course will start with Z or Y.

For example:

enhancements by different purpose.PNG

From this source codes, double click ES_SAPMV45A, it navigates to enhancement spot tool. Go to ‘Enhancem. Implementations’ tab, the customer enhancement ZMY_IMP_CORRI can be found. Of course, we can find ECO_HBS_SAPMV45A, /SAPMP/SALES_ORDER_V_SAPMV45A, etc also.

9-4.PNG

If you are interested, please check the same information in DB table

9-5 db table.PNG

Related DB tables:

ENHSPOTHEADER, ENHOBJ, ENHLOADINVAL, ENHHEADER, ENHSPOTNAME_TYPE, ENHSPOTOBJ, ENHOBJCONTRACT, ENHINCINX, ENHLOG, ENHTAB, ENHDEPENDENT

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Hongyan Shao

    Nice hands on step by step description. Though this should be more ABAP area topic, it might be good for CRM consultant as “Good to Know”. And good to have the reference links to more readings. Thanks a lot.

    (0) 

Leave a Reply