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: 

A beginner's basic question

Former Member
0 Kudos

Hello everybody ,

I am new to Abap development and just starting out to play around in a test system at my disposal.My question is this .....

I read about Explicit and Implicit Enhancement Options being present in Standard programs. As far as possible ,I would like to use this methodology and thus avoid having to take up an object key(Access Key) for an object (say SAPMV45A).

But I donot find an explicit (or Implicit) enhancement point at the place I need to modify in the above object. What do I do ? DO I ....

a) Take up an Object Key and actually modify the source code at the point where I would like to .

b)Take up an Object key and introduce an Explicit Enhancement Option at the point I would like to ...and then code out my actual modification in the enhancement implementation for that option / Spot.

Is there any way ,I could go about this modification without taking up an object acess key....I have heard (perhaps wrongly) that User/Customer Exits are no longer the thing to do in the current version that we use (Netweaver 2004) . How about BADIs.(Business Application Add ins) .Would this need an object key for the above object (SAPMV45A) .

I appreciate any clarification that the forum can provide and would gladly help you with your points tally .

Thanks,

Nk

2 REPLIES 2

Former Member
0 Kudos

HI WELCOME TO SDN

<b>Source Code Enhancement</b>

It is possible to enhance ABAP source code – without modifications – using source code enhancements.

You can insert enhancements at implicit and explicit enhancement options. The Enhancement Builder tools for defining explicit enhancement options and for implementing enhancements are integrated in the ABAP Editor.

<b>Features of explicit & Implicit enhancement options </b>

Features of explicit enhancement options

More stable, pre-defined

Few changes in definition to expect

Only at valid source code locations

Features of implicit enhancement options

Enhancement of “arbitrary” objects

No enhancement spots necessary

<b>Difference: Explicit and Implicit Option</b>

Explicit Enhancement Options

In ABAP programs, developers can select either a position or a program section as an explicit enhancement option. In follow-up systems (partners and customers) can implement source code plugins at such a position or they replace the selected section.

Implicit Enhancement Options

Implicit enhancement options always exist.

<b>Implicit Enhancement Options</b>

Implicit enhancement options can be displayed in the ABAP Editor by following the path Edit &#8594; Enhancement Operations &#8594; Show Implicit Enhancement Options and then implemented using source code enhancements.

Implicit enhancement options always exist and no enhancement spot is assigned to them.

In ABAP programs, implicit enhancement options are predefined at the following places:

End of an include (with exceptions, e.g. not at the end of a method include)

End of the PUBLIC-, PROTECTED-, PRIVATE-SECTION of a local class

End of the implementation part of a class (before the ENDCLASS, which belongs to CLASS …IMPLEMENTATION)

End of a interface definition (before the ENDINTERFACE)

End of a structure definition (before TYPES END OF, DATA END OF, CONSTANTS END OF and STATICS END OF)

Begin and End of a procedure (FORM, FUNCTION, METHOD), that is after command FORM, FUNCTION und METHOD and before statement ENDFORM, ENDFUNCTION and ENDMETHOD.

End of the CHANGING-, IMPORTING-, EXPORTING-parameter list of a method. These enhancement options are located in the middle of a statement.

<b>Explicit Enhancement Options</b>

To mark a position in an ABAP program as an explicit enhancement option, the following ABAP statement is used:

ENHANCEMENT-POINT enh_id SPOTS spot1 spot2 ...

To mark a section in an ABAP program as an explicit enhancement option, the following ABAP statement is used:

ENHANCEMENT-SECTION enh_id SPOTS spot1 spot2 ...

END-ENHANCEMENT-SECTION.

Currently it is only possible to assign an enhancement point/section to one Enhancement spot.

<b>REWARD IF USEFULL</b>

0 Kudos

Thanks for sharing that piece of information so quickly.

I look forward to hearing from more of the members on the topic .

nk