Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
corrine_guan
Employee
Employee

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.
  2. In the same way, create enhancement point Z_POINT2_1 for enhancement spot ZENH_CORRI_SPOT2.
  3. After that, enhancement spot ZENH_CORRI_SPOT2 is also created.
  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.
  5. After added the enhancement point in file Z_REP_INCL.
  6. Double click enhancement spot ZENH_CORRI_SPOT1 on the left side, it will navigate to the enhancement spot tool.

    Actually, this enhancement spot tool is SE18 itself.

    click 'Display' button, it goes into the same screen.
  7. Let's go to 'Enhancem. Implementations' tab. There is nothing because there is no any enhancement yet.
  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. Let's check the implementation tool under package ZPACK_CORRI_TMP. From here, we can also go to enhancement spot tool.
  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.
  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.


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:

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.

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

Related DB tables:

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

1 Comment