Start of Content Area

Background documentation In Which Structure Are Source Code Plug-Ins Embedded?  Locate the document in its SAP Library structure

The units on the definition side – that is, the enhancement points – and the source code plug-ins are grouped into larger units in the cardinality 1:n. As you will see later, this assignment of enhancement points and source code plug-ins to larger containers reflects aspects relating to organization as well as content and supports a structured documentation befitting these aspects.

Let us first take a closer look at the structure, in which the enhancement points and their counterparts are embedded: An enhancement point belongs to precisely one enhancement spot, which can contain several enhancement points (1:n). Several different (simple) enhancement implementations can be assigned to an enhancement point and an enhancement implementation can be assigned to multiple enhancement points (m:n). As described above, assigning an enhancement point to an enhancement implementation creates a source code plug-in.

In the case of source code plug-ins at explicit enhancement points, the compilation unit is the connecting element: All units belong physically (definition side: enhancement points and enhancement spots) or logically (implementation side: enhancement implementations and source code plug-ins) to exactly one compilation unit, a report for example. In other words, an enhancement spot containing points of a report A cannot also contain points of another report B. The same applies to the implementation side.

 

This graphic is explained in the accompanying text

 

The containers on the right – that is, the definition side – provide a clear overview according to semantic criteria. Here you can find information about which program sections can be enhanced to which business aspects. Developers of this first view can group different enhancement points into (simple) enhancement spots according to semantic criteria.  For example, an enhancement spot can contain all enhancement points for customer address management, while another enhancements spot can contain all enhancement points for vendor address management, and the composite enhancement spot comprises all spots for enhancing the address management. If you, as a developer in an industry solution or for a customer, want to enhance the relevant programs and incorporate an additional search for customer and vendor addresses, you can look in the documentation for the composite enhancement spots and that for the simple enhancement spots and find the enhancement possibilities that semantically meet your requirements; you can then navigate to the relevant point(s) in the source code. Without this grouping of enhancement options into simple and composite spots, you would have to search the entire code for a suitable enhancement point.

The assignment of source code plug-ins and enhancement implementation elements to enhancement implementations and composite enhancement implementations supports the work organization of developers of enhancements. This assignment also defines how the implementations can be activated. Entire packages are switched, and the package assignment of the source code plug-ins or enhancement implementation elements is determined by the enhancement implementation to which they belong. This means, source code plug-ins that are to be switched separately must belong to different enhancement implementations. However, the granularity of this assignment will generally be too coarse. You will not pack all source code plug-ins that are to be switched together into one enhancement implementation, but instead make finer divisions according to projects and business aspects.

 

End of Content Area