There are many ways to influence or adapt SAP's programmed logic. An SAP implementation will work as-is, yet customers will have their own ideas on what is good for them IT-wise, so changes will be done. So SAP delivers their system with a variety of change-capabilities. The enhancement framework. This article is about enhancement spots.
The user exit has been around for a while and it served it's purpose well. But there were short-comings too. There is a lot of SAP documentation about composite or single enhancement implementations and the enhancement workbench, elements, options, points, spots and sections. Yet I find it easier to understand the framework from the bottom up, a few need-to-know items:
- En enhancement spot is the location in a given standard SAP source coding where custom coding is implemented
- Enhancement spots can be implicit or explicit
- The explicit enhancement spot can be an enhancement point or an enhancement section. The enhancement spot can be best compared to the old-style user exit. SAP has predefined locations in which enhancement points can be available. In effect SAP coding will be executed along with custom coding. With enhancement sections, the SAP coding is bypassed (commented out) and custom coding is called replacing SAP coding
- Implicit Enhancement spots can be inserted at the beginning or the end of any modular source coding block, such as
FORM
,METHOD
andFUNCTION
. The idea behind this is that changes don't overthrow the existing modular setup and an upgrade of SAP coding will keep the start and end of a module in tact (unless the whole FORM routine disappears). - In coding, the enhancement spot can be recognized by a statement block:
ENHANCEMENT
andENDENHANCEMENT
The most commonly used enhancement is the implicit one, however there is a framework available that you need to know more about. It has been available since 2005 and it caters for quite a complete set of change tools. Check out Introducing the Enhancement Framework: The Cool New Way to Enhance Your ABAP Systems at SDN.