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: 

Differnence between Enhancement spot and composite Enhancement Spot

Former Member
0 Kudos

Hi,

I was going through several weblogs on enhancement framework, but igot stuck at one point.

Can you please tell me the differnence between Enhancement Spot and Composite Enhancment Spot in very simple term with an example.

Please also clear some terms like enhancement spot and enhancement option, Enhancement and how new BADIs are related to enhancement spots.....

Points will be rewarded!!!!

Thanks in Advance.

Regards,

Varun

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

The enhancement spots are used to manage explicit enhancement options. Enhancement spots carry information about the positions at which enhancement options were created. One enhancement spot can manage several enhancement options of a Repository object. Conversely, several enhancement spots can be assigned to one enhancement option.

Use

You create an explicit enhancement option when processing a Repository object with the relevant tool by creating an enhancement spot element definition at a point where this is possible. This enhancement option can then be called at different points using enhancement spot element calls. The enhancement spot element definition and the corresponding enhancement spot element calls make up the definition of an enhancement option. For example, when editing an ABAP program with the ABAP Editor, you can define explicit enhancement options in the form of the ENHANCEMENT-POINT statement, which also represents the element definition and element call.

Each enhancement spot element definition must be assigned to at least one enhancement spot. For this, an enhancement spot element definition is assigned one or more simple enhancement spots, which in turn are assigned to at least one composite enhancement spot. Simple and composite enhancement spots are Repository objects that form a tree-like structure, where the leaves and branches represent simple and composite enhancement spots respectively. A simple enhancement spot is always assigned to exactly one enhancement technology (ABAP source code enhancement or BAdI).

Composite enhancement spots are used for the semantic grouping of simple enhancement spots. A composite enhancement spot contains either one or more simple enhancement spots and/or one or more composite enhancement spots of the relevant type. You can use composite enhancement spots to combine simple enhancement spots into meaningful units

BADI

Use

You can integrate self-defined functions in the transformation library of the formula builder. In doing so, you can also make special functions available for frequent use that are not contained in the transformation library. The Business Add-In RSAR_CONNECTOR is available for this. For more information about using Business Add-Ins (BAdIs), read the detailed documentation for Business Add-Ins.

Procedure

Implementing the BAdI

To implement a BAdI, proceed as described here: Implementing a Business Add-In. In the following, the specific special features for the implementation of the BAdI RSAR_CONNECTOR are described.

Call up transaction SE19. Enter RSAR_CONNECTOR as the Add-In name for which you want to create the implementation.

By double-clicking on the method (GET), you arrive in the class builder. Here you can enter your coding for the enhancement implementation.

Regards,

Renjith Michael.

3 REPLIES 3

Former Member
0 Kudos

Hi Varun,

enhancement spot

A repository object for the administration of explicitly created enhancement options. Enhancement spots are components of a tree structure hierarchy, of which the branches represent composite enhancement spots and the leaves are simple enhancement spots. Implicitly available enhancement options do not have any enhancement spots.

composite enhancement spot

Semantic combination of simple and other composite enhancement spots with the aim of providing structure.

simple enhancement spot

Reference to a set of enhancement spot element definitions. A simple enhancement spot can occur independently or as a component of a composite enhancement spot.

ENHANCEMENT-POINT

Defines a position in an ABAP program as an enhancement option,

at which one or more source code plug-ins can be inserted.

the syntax will be like

ENHANCEMENT-POINT enh_id SPOTS spot1 spot2 ...

STATIC

INCLUDE BOUND.

Enhancement Options

Definition

Enhancement options are positions in Repository objects where enhancements can be made. These options are either explicitly defined (by the developer) or exist implicitly. Explicit enhancement options are generally defined in a central initial system. Enhancements are made in follow-on systems.

Use

Explicit enhancement options can currently be defined by:

1. Explicitly flagging source code points or sections in ABAP programs. For an enhancement, these can be enhanced or replaced by source code plug-ins.

2. Including Business Add-Ins (BAdIs) in ABAP programs. These programs are then enhanced by object plug-ins with predefined interfaces.

Explicit enhancement options are managed by enhancement spots and enhanced by enhancement implementations.

Currently, implicit enhancement options are:

1. Specific options in ABAP programs – such as the end of the program – which can be enhanced by source code plug-ins.

2. Parameter interfaces of function modules, which can be enhanced with parameters.

3. Attributes and parameter interfaces of global classes, which can be enhanced with attributes or parameters.

Implicit enhancement options always exist and do not require enhancement spots. They are also enhanced by enhancement implementations.

REWARD IF USEFUL

thanks and regards

suma sailaja pvn

Former Member
0 Kudos

Hi Varun,

BAdIs Embedded in the Enhancement Concept

Use

The definition of BAdIs is managed by enhancement spots. A simple enhancement spot for BAdIs can contain several BAdI definitions as enhancement spot element definitions. BAdIs that would otherwise be spread out in the system can be grouped together semantically.

This structuring is mirrored on the implementation side through the enhancement implementations. A BAdI can be implemented by several BAdI implementations that are managed by enhancement implementations. A simple enhancement implementation for object plug-ins can contain several BAdI implementations of an enhancement spot as enhancement implementation elements and can implement a BAdI multiple times. Therefore, several enhancement implementations can be assigned to one enhancement spot.

A BAdI is always assigned to the same package, like the enhancement spot, to which it belongs.

Example

The structuring features of BAdIs in enhancement spots can be of a technical or a subject nature.

If, in the definition of several BAdIs, you have the provision that they are to be used in the same context (this is a feature known only by the person who defines the BAdIs), they must be used by the same simple enhancement spot.

From a subject point of view, all BAdIs must then be grouped together by affiliation to functional units – for example, payroll – in combined enhancement spots.

thanks and regards

suma

Edited by: suma sailaja pvn on Jan 10, 2008 12:28 PM

Former Member
0 Kudos

Hi,

The enhancement spots are used to manage explicit enhancement options. Enhancement spots carry information about the positions at which enhancement options were created. One enhancement spot can manage several enhancement options of a Repository object. Conversely, several enhancement spots can be assigned to one enhancement option.

Use

You create an explicit enhancement option when processing a Repository object with the relevant tool by creating an enhancement spot element definition at a point where this is possible. This enhancement option can then be called at different points using enhancement spot element calls. The enhancement spot element definition and the corresponding enhancement spot element calls make up the definition of an enhancement option. For example, when editing an ABAP program with the ABAP Editor, you can define explicit enhancement options in the form of the ENHANCEMENT-POINT statement, which also represents the element definition and element call.

Each enhancement spot element definition must be assigned to at least one enhancement spot. For this, an enhancement spot element definition is assigned one or more simple enhancement spots, which in turn are assigned to at least one composite enhancement spot. Simple and composite enhancement spots are Repository objects that form a tree-like structure, where the leaves and branches represent simple and composite enhancement spots respectively. A simple enhancement spot is always assigned to exactly one enhancement technology (ABAP source code enhancement or BAdI).

Composite enhancement spots are used for the semantic grouping of simple enhancement spots. A composite enhancement spot contains either one or more simple enhancement spots and/or one or more composite enhancement spots of the relevant type. You can use composite enhancement spots to combine simple enhancement spots into meaningful units

BADI

Use

You can integrate self-defined functions in the transformation library of the formula builder. In doing so, you can also make special functions available for frequent use that are not contained in the transformation library. The Business Add-In RSAR_CONNECTOR is available for this. For more information about using Business Add-Ins (BAdIs), read the detailed documentation for Business Add-Ins.

Procedure

Implementing the BAdI

To implement a BAdI, proceed as described here: Implementing a Business Add-In. In the following, the specific special features for the implementation of the BAdI RSAR_CONNECTOR are described.

Call up transaction SE19. Enter RSAR_CONNECTOR as the Add-In name for which you want to create the implementation.

By double-clicking on the method (GET), you arrive in the class builder. Here you can enter your coding for the enhancement implementation.

Regards,

Renjith Michael.