Enhancement in SAP

20
Enhancement in SAP created by Ramesh T on Jul 23, 2013 8:27 AM, last modified by Ramesh T on Sep 18, 2013 9:49 AM Version 22 Enhancement (an improvement that makes something more agreeable) The R/3 Enhancement concept allows us to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates enhancements for specific programs, screens, and menus within standard R/3 applications. These enhancements do not contain any functionality. Instead, the enhancements act as hooks where WE can HANG our own add-on functionality onto these hooks. Advantages 1. They do not affect standard SAP source Code When you add new functionality to your SAP system using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package. 2. They do not effect software updates When you add new functionality to your SAP system using SAP’s enhancements, your objects (called customer objects) must adhere (remain) to strict naming conventions (standards). When it comes time to upgrade to a new software release, customer objects names ensure that they will not be affected by any changes or new additions to the standard software package. Note: Customer enhancements may not available for all programs and screens found in the SAP System. You can only use customer exists in the SAP System.

Transcript of Enhancement in SAP

Page 1: Enhancement in SAP

Enhancement in SAP created by Ramesh T on Jul 23, 2013 8:27 AM, last modified by Ramesh T on Sep 18, 2013 9:49 AM Version 22

Enhancement (an improvement that makes something more agreeable)

The R/3 Enhancement concept allows us to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates enhancements for specific programs, screens, and menus within standard R/3 applications. These enhancements do not contain any functionality. Instead, the enhancements act as hooks where WE can HANG our own add-on functionality onto these hooks.

Advantages

1. They do not affect standard SAP source Code

When you add new functionality to your SAP system using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package.

2. They do not effect software updates

When you add new functionality to your SAP system using SAP’s enhancements, your objects (called customer objects) must adhere (remain) to strict naming conventions (standards). When it comes time to upgrade to a new software release, customer objects names ensure that they will not be affected by any changes or new additions to the standard software package.

Note: Customer enhancements may not available for all programs and screens found in the SAP System. You can only use customer exists in the SAP System.

Page 2: Enhancement in SAP

• Screen and Menu Exits to enhance the front end. • Function Exits to Enhance the Programs

• Append Structure to enhance Back End

Note : In Procedural, we have two type

1. Using subroutines - User Exits (Out Dated)

2. Using Function Modules - Customer Exits

User Exits

User exits allow you to add additional functions to the SAP standard. Programs with user exits contain subroutine calls at certain points in their syntax that are identified by the prefix USEREXIT. The actual user exits are located in an include that has been assigned to a module pool. This is where customers can include any changes (enhancements) that they want to make to the system. These includes are always processed during program flow.

Advantage: In principle, customers can modify anything they want that is found in the include (tables, structures, and so forth).

Disadvantage: SAP cannot check the individual enhancements themselves which often leads to errors in the enhancement process.

Page 3: Enhancement in SAP

Customer Exits

Customer exits (Function module exits) are exits developed by SAP. The exit is implemented as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.

Customer exits are not available for all programs and screens found in the SAP System. You can only use customer exits if they already exist in the SAP System.

The Entire SAP Product can be divided into 3 Parts

1. Menu Exits 2. Screen Exits

3. Function Module Exits

Locating Exits from Standard Applications:

Method 1

The naming standard of function modules for function module exits is: EXIT_<program name>_<3 digit suffix>

EXIT_SAPLCOMK_001 – Function Module Exit for Material Components

Page 4: Enhancement in SAP

Finding Exit Name form Function Module Name

Check in MODSAP table

Method 2

Step 1: Go to the relevant SPRO and look for the documentation.

Step 2 : Click on documentation button , it will display all the available user exits

Page 5: Enhancement in SAP

1. Menu Exits :

Menu exits add items to the pull down menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications.

SAP created menu exits by defining special menu items in the menu painter. These special entries have function codes that begin with “+” (a plus sign). You specify the menu items text when activating the item in an add-on project.

2. Screen Exits :

Screen exits add fields to screens in R/3 applications. SAP create screen exits by placing special sunscreen areas on a standard R/3 screen and calling a customer sub screen from the standard screen’s flow logic.

Page 7: Enhancement in SAP

Function module exits add functionally to R/3 applications. Function module exits play a role in both menu and screen exits. When you add a new menu item to a standard pull down menu, you use a function module exit to define the actions that should take place once your menu is activated. Function module exits also control the data flow between standard programs and screen exit fields.

Business Add-Ins

SAP has introduced new enhancement technique Business Add-ins from release 4.6A Business Add-in is the new enhancement technique based on ABAP Objects. BADI is an exit point in a source that allows specific industry sectors, partners, and customers to attach additional software to standard SAP source code without modifying the original object.

The users of Business Add-ins can customize the logic according to requirement or they can use the standard logic one available.

SAP guarantees the upward compatibility of all business Add-in interfaces. Release upgrade do not affect enhancement calls from which the standard software nor do they affect the validity of call interfaces.

Two different views of BADI are available:

• In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional functionality to standard SAP source code without having to modify the original object.

• In the implementation view, the users of Business Add-Ins can enhance (customize) the logic that need or use a standard logic if one is available.

Difference Between Customer Exits and BADIs:

Customer Exit BADI

Procedural Approach to work with Enhancements, Object Oriented Approach to Work with Enhancements.

Is a two level infrastructure (SAP and customer solutions).

Allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like).

BADIs can be created at each level within such a system infrastructure.

Can only be implemented once and enhancements that can be used actively by any number of customers.

In addition, Business Add-ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on

Page 8: Enhancement in SAP

specific criteria (on a specific Country value, for example).

Source Code Enhancement

Source Code Enhancement is one of the enhancement technologies available under Enhancement Framework. Implementing this technology is also called as Source Code Plug-In. Technically the source code plug-in implementations are stored in a separate include program and not as part of the original source program.

There are two types of Source Code enhancements possible.

• Implicit enhancement option • Explicit enhancement option

Implicit Enhancement

Implicit enhancement points are basically points within ABAP code where an enhancement point is implied, and in which case can be created. Examples of implicit enhancement points are at the beginning and end of FORM’s, at the end of a program, include or function module etc.

Step 1 - Activate the enhancement functionality Within SE80 open up the program/include you want to enhance and click on the enhancement button (show below)

Page 10: Enhancement in SAP

Step 3 - Show implict enhancement points Goto menu 'edit->Enhamcement Operations->Show Implicit Enhancement Options' to display implicit enhancement points within the ABAP code

Step 4 - Enhancement points with the code Once you have done this you will be able to see all the implicit enhancement points available within you code, these are denoted by the line of quotation marks and the black arrow at the start. In this example there are enhancement points at the start and end of each form and one at the very end of the include.

Step 5 - Create an implicit enhamcement point Inorder to implement an implicit enhancement point simply right click on the required enhamcement point and select 'Enhancement Implementation->create'.

Page 11: Enhancement in SAP

Step 6 - Enhamcement point type Next click on the code button to create a code implementation

Step 7 - Name and description Next give the enhancement point a name and description. Click the green tick

Step 8 - Change request Assign change to a change request in the usual way

Page 12: Enhancement in SAP

Step 9 - Enhancement point created The enhamcement point will now have been created in the appropriate place. Denoted by the ENHANCEMENT...ENDENHANCEMENT tags

Step 10 - Enter code into enhancement You can now enter your own code into the enhancement point!

Page 13: Enhancement in SAP

Step 11 - Activate the enhancement point Click the 'Activate Enhancements' button to activate it.

Step 12 - Turn enhancement mode off Now click the 'Active <-> inactive' button to turn enhancement mode off and return to standard SE80

Explicit Enhancement

Explicit enhancement points are basically hooks already coded into the program by SAP at various points of the code.

Change an explicit enhancement point

First right click on the enhancement point you want change and choose ‘Enhancement Implementation->Change’

Next select the enhancement point and press the green tick

Page 14: Enhancement in SAP

SE80 will now show your enhancement points as editable within the ABAP code so you can change the code as you want.

Create an explicit enhancement point First right click on the enhancement point where you want to add your code and choose ‘Enhancement Implementation->Create’

Next click on the create button and Give it a name, description and assign it to a change request (should not be a Z package) and then simply add the code as normal.

Append Structure to Enhance Back End (For Tables)

Attached for your reference.

Your Suggestions Please.....

Regards,

Page 15: Enhancement in SAP

Ramesh.T

Table Enhancement.jpg670.0 K

2889 Views Tags: abap Average User Rating (38 ratings)

Comments

• 119 Comments

1 2 3 …5 PreviousNext

Ramesh TJul 23, 2013 12:15 PM

Thank You...

Like (0)

ganesh mJul 23, 2013 1:13 PM

Very useful material.....

Like (1)

Ramesh TJul 23, 2013 1:16 PM (in response to ganesh m)

Thank You...

Like (0)

Philip DavyJul 23, 2013 2:23 PM

Hello Ramesh,

Good work. Can you explain why it has been given subroutines (outdated)?

Regards,

Philip.

Page 16: Enhancement in SAP

Like (1)

Ramesh TJul 24, 2013 7:13 AM (in response to Philip Davy)

Hi Philip Davy,

Customer exits are implemented in Z-includes and are ENHANCEMENTS to the system.

User-exits were firstly intended to be developed for the SD module. You make your coding in includes in SAP namespace (e.g MV*). That's why, user exits

are MODIFICATIONS to the system. In includes for user exits there are empty subroutines ( generally with the name convention "userexit_...") and you

code using global variables of the main program.

Regards,

Ramesh.T

Like (1)

Aditya TanguturiJul 25, 2013 8:15 AM

Nice Presentation , Very good learning for beginners.

Regards,

Aditya.

Like (1)

Ramesh TJul 25, 2013 8:43 AM

Thank You .....

I am unable to copy all images in this document, any possibility to attach Word or PDF file to this post.

Like (0)

Ramesh TJul 25, 2013 8:41 AM (in response to Aditya Tanguturi)

Thank You....

Like (0)

Page 17: Enhancement in SAP

Ramesh TJul 25, 2013 9:03 AM

Sir...

Please check.. Now images included..

Regards,

Ramesh.T

Like (0)

Gaurab BanerjiJul 25, 2013 12:49 PM

nice ppt

Like (1)

Ramesh TJul 25, 2013 1:02 PM (in response to Gaurab Banerji)

Hi Gaurab Banerji...

Thank You....

Like (0)

Aswatha Narayana SAJul 25, 2013 1:24 PM

All enhancement details in one place...

Nicely done....

Like (1)

Ramesh TJul 25, 2013 1:41 PM (in response to Aswatha Narayana SA)

Hi Aswatha Narayana SA.

Thank You......

Page 18: Enhancement in SAP

Like (0)

HIMANSHU GUPTAJul 25, 2013 1:59 PM

Hi Ramesh,

It's very useful document, thanks......

Many Thanks / Himanshu Gupta

Like (1)

Ramesh TJul 25, 2013 2:02 PM (in response to HIMANSHU GUPTA)

Hi Himanshu Gupta,

Thank You......

Like (0)

Ravi ShankarJul 25, 2013 2:05 PM

Very Nice to read.....

Like (1)

Shashi KanthJul 25, 2013 2:26 PM

Hi Ramesh,

Good explanation, its easy approach the enhancements after refer your blog.

Regard's,

Shashi Kanth.

Like (1)

Ramesh TJul 26, 2013 5:51 AM (in response to Ravi Shankar)

Page 19: Enhancement in SAP

Hi Ravi Shankar,

Thank You..

Like (0)

Ramesh TJul 26, 2013 5:52 AM (in response to Shashi Kanth)

Hi Shashi Kanth,

Thank You...

Like (0)

Joy KJul 27, 2013 3:32 AM

Thank you Mr. Ramesh.....

Like (1)

Ramesh TJul 27, 2013 5:37 AM (in response to Joy K)

Hi Joy..

Thank You...

Like (0)

Amit AnasaneJul 27, 2013 6:51 AM

Good Work .. useful document, thanks for your efforts and sharing this with us.

Like (1)

Ramesh TJul 27, 2013 6:52 AM (in response to Amit Anasane)

Hi Amit,

Thank you..