ENHANCEMENT POINTS
Enhancement points are nothing but empty places / empty slots where we can add our code to extend the standard SAP software.
These are not SUB-ROUTINE / FUNCTIONS / METHODS , But these are a ENHANCEMENT POINTS (New technology)
EXAMPLE:
Enhancement ENO E IMP NAME
End Enhancement.
EN0 = enhancement number
E IMP NAME =Enhancement implementation Name
There are 2 types of Enhancement Points
1. Implicit Enhancement:
Implicit Enhancement are empty slots available at starting and ending of every * program
* functions
*sub routines
* modules.....
Theses are not visible because they are implicit in nature , i.e implicit means internal.
If we want view these Implicit enhancement , we need to click on ENHANCE ICON as below.
Then Click On MENU -> EDIT -> ENHANCEMENT OPERATIONS -> SHOW IMPLICIT.
Now these will be displayed with a line at starting and ending.
Now just right click on the line and follow these steps as shown below.
click on create implementation and give a suitable name for it.
EXAMPLE
RAISE AN ERROR MESSAGE WHEN AN USER DOES NOT ENTER DELIVERY QUANTITY WHILE CREATING OR CHANGING IN VL01N,VL02N.
TCODE = VL01N,VL02N
TABLES = LIPSD
FIELD NAME = G_LFIMG
So Implicit Enhancement will be available at starting and ending of every sub routine or function or program.
Here we will search for user exit for Tcode VL01N Because to implement this we need access key .
And the alternate method to execute this requirement is through IMPLICIT ENHANCEMENT
because it will be available at sub routines at starting and ending.
STEP1:
Go to Tcode SE93 and Provide TCODE as VL01 and click on DISPLAY.
Here provide as USEREXIT in find parameter
And select check box as AS STRING and MAIN PROGRAM and press ENTER
search for our program name
Repeat the above steps until we get the requried user exits.
Now check these user exits as per our requirement .
For our requirement the user exit is because we need to checks before saving.
Just double click on it form userexit_save_document_prepare we will move into form screen as below
My requirement is to implement this enhancement by IMPLICIT only..
So to view implicit enhancement just click on ENHANCE ICON AS BELOW
Then go to edit option then enhancement operations in that show implicit enhancement operation as below
TESTING BY PLACING BREAK POINT
Before creating implicit enhancement we will check whether this implicit enhancement suitable or not by placing break point at our form AS BELOW
Now go to tcode VL02N and try to change delivery quantity field we should trigger to our break poin at our form as below.
Here am trying to change delivery quantity 20 to 0 then i will click on save button break point should trigger.
changing quantity from 20 to 0 as below and clicked on save.
Break point will occurred
After clicking on CREATE just Choose the type of enhancement as CODE .
After clicking on code click on create icon.
now provide a name to it
Now write the logic as requirement
Save and activate the enhancement.
Go to Tcode VL02N and give delivery number as 80011788.
click on enter
And try giving delivery quantity as INITAIL and click on SAVE button we will get an error message.
Enhancement points are nothing but empty places / empty slots where we can add our code to extend the standard SAP software.
These are not SUB-ROUTINE / FUNCTIONS / METHODS , But these are a ENHANCEMENT POINTS (New technology)
EXAMPLE:
Enhancement ENO E IMP NAME
End Enhancement.
EN0 = enhancement number
E IMP NAME =Enhancement implementation Name
There are 2 types of Enhancement Points
1. Implicit Enhancement:
Implicit Enhancement are empty slots available at starting and ending of every * program
* functions
*sub routines
* modules.....
Theses are not visible because they are implicit in nature , i.e implicit means internal.
If we want view these Implicit enhancement , we need to click on ENHANCE ICON as below.
Then Click On MENU -> EDIT -> ENHANCEMENT OPERATIONS -> SHOW IMPLICIT.
Now these will be displayed with a line at starting and ending.
Now just right click on the line and follow these steps as shown below.
click on create implementation and give a suitable name for it.
EXAMPLE
RAISE AN ERROR MESSAGE WHEN AN USER DOES NOT ENTER DELIVERY QUANTITY WHILE CREATING OR CHANGING IN VL01N,VL02N.
TCODE = VL01N,VL02N
TABLES = LIPSD
FIELD NAME = G_LFIMG
So Implicit Enhancement will be available at starting and ending of every sub routine or function or program.
Here we will search for user exit for Tcode VL01N Because to implement this we need access key .
And the alternate method to execute this requirement is through IMPLICIT ENHANCEMENT
because it will be available at sub routines at starting and ending.
STEP1:
Go to Tcode SE93 and Provide TCODE as VL01 and click on DISPLAY.
Copy the program name and double click on it
And select check box as AS STRING and MAIN PROGRAM and press ENTER
search for our program name
Repeat the above steps until we get the requried user exits.
Now check these user exits as per our requirement .
For our requirement the user exit is because we need to checks before saving.
Just double click on it form userexit_save_document_prepare we will move into form screen as below
My requirement is to implement this enhancement by IMPLICIT only..
So to view implicit enhancement just click on ENHANCE ICON AS BELOW
Then go to edit option then enhancement operations in that show implicit enhancement operation as below
TESTING BY PLACING BREAK POINT
Before creating implicit enhancement we will check whether this implicit enhancement suitable or not by placing break point at our form AS BELOW
Now go to tcode VL02N and try to change delivery quantity field we should trigger to our break poin at our form as below.
Here am trying to change delivery quantity 20 to 0 then i will click on save button break point should trigger.
changing quantity from 20 to 0 as below and clicked on save.
Break point will occurred
So it is right place to create implicit enhancement to create it just right click on the lines and select enhancement implementation and click on create as shown below.
After clicking on CREATE just Choose the type of enhancement as CODE .
After clicking on code click on create icon.
And our IMPLICIT ENHANCEMENT WILL APPEAR
Now write the logic as requirement
Go to Tcode VL02N and give delivery number as 80011788.
click on enter
And try giving delivery quantity as INITAIL and click on SAVE button we will get an error message.