How Do Modification-Free Enhancements Work?

You can perform modification-free enhancements at predefined positions in code.
There you have anchor points or enhancement options, as they are called in the terminology.
At these points you can insert your enhancements.  You can do this without changing the compilation unit that you are enhancing.  The inserted implementations are processed at the appropriate position in the compilation unit, but they are themselves not part of this unit.
They cannot, for example, belong to another package.  Let us take a look at the example of a source code enhancement in a report in order to illustrate this better.  We are not looking at details of coding, but the key steps.
Anchor point, at which you can plug in an enhancement.
Enhancement which is executed here but is itself not a physical part of the code it is plugged into
You can – to a certain extent – compare this enhancement technology with a closet system where you can insert various elements at particular positions. Instead of drilling the wood in the side walls, you can insert various boards and other elements where the manufacturer has already inserted hooks or holders at important positions.
There are different types of holders or attachments at various positions.  At each holder type, you can insert exactly one type of element: boards at small dowel positions, CD elements at wider dowel positions, and drawer elements at multiple dowels. It seems like the elements are an integral part of the entire closet but, in fact, they are attached to the closet parts through holders.
The different enhancement technologies correspond to these different types of elements described above. These technologies become attached at different types of anchor points or enhancement options of the Repository objects.
Therefore, you cannot simply insert enhancements into Repository objects at any position you like without modifications, but only where there are so-called enhancement options in place. At these enhancement options, you can also attach only certain elements – so-called enhancement implementation elements.  
A concept that standardizes and structures all previous enhancement possibilities cannot do without a certain amount of complexity. The structure it is based on, however, is extremely simple.
.On the one hand, you have hooks or, to put it correctly, enhancement options where you can insert enhancements. There you define enhancement options, which is why
one can speak of the definition side.
. On the other hand, you have enhancement implementation elements that you can affix to these hooks or enhancement options.

The rest is simple detail: There are various types of hooks or enhancement options, and there are also various enhancement implementation elements.  The enhancement options are grouped together to enhancement spots and these, in turn, to even larger units.
The same applies to units on the implementation side.  Between the different units of a side and between those of the implementation and definition side, you have assignments of different cardinality.

More CRM Interview Questions And Answers