Before moving to further into other enhancement implementations in ABAP Enhancement Framework, let me show you how would program be displayed during Debugging.
Debug the Implementation
Once you have implemented the enhancement implementation, you would be able to see it in action. To be able to debug it:
- Put a break-point just before the implementation
- Put a break-point within your implementation as well
- Run your application
If you have implemented at the correct location, debugger will stop. If not, either you are running wrong transaction or you had implemented the wrong enhancement option.
When debugger comes up, it would be at your 1st break-point. You would notice that your implementation is not displayed in the program. Don’t get alarmed or confused. You notice a small spiral at the beginning of the line. This Spiral shows that there is an active implementation at that location. That implementation would be called by the program when control reaches to that point.
As you can see in this image, there is a second ENHANCEMENT-POINT which doesn’t have any active implementation. Thus there is no Spiral button in front of that.
When you step over to your breakpoint, you would be now within your implementation.
Implementation Include
As you can notice, this implementation is in its own include. When you create the implementation for enhancement options, system generates this include to house the code. At runtime, system determines if there is any active implementation needs to be called or not. If there is, it would display that Spiral icon and call the implementation from that generated include.
System generated include name as ZTEST_NP_MAT_DOC_LINE_CHANGE==E
for the implementation ZTEST_NP_MAT_DOC_LINE_CHANGE. The include name is 31 characters long. 30 chars are the name of the Implementation and filler as = for name shorter than 30 char, and 31st char as E.
Next Article
Enhancement Framework – Explicit Enhancement-SECTION Implementation
Table of Content – Enhancement Framework
- Enhancement Framework – Introduction
- Enhancement Framework – Explicit Enhancement-POINT Implementation
- Enhancement Framework – Debugging Implementation
- Enhancement Framework – Explicit Enhancement-SECTION Implementation
- Enhancement Framework – Implicit Enhancement Options
- Enhancement Framework – Class Enhancement
- Enhancement Framework – Class Enhancement – How designed
- Enhancement Framework – Function Module Enhancement
- Enhancement Framework – Table Enhancement Category
- Enhancement Framework – Table Enhancement – Append Structure
- Enhancement Framework – Append Search Help
- Enhancement Framework – Extension Index
- Enhancement Framework – Fixed Value Append
For this same reason, if you try to compare the version of the program that has the enhancement with another environment, it will say that there is a difference at the point of the enhancement implementation since it doesn’t load the includes in the other environment