Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

enhancement

Former Member
0 Kudos

what is enhancement,personalisation,modification,customer exits?

which sequence we must follow?

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

SAP creates customer exits with transaction SMOD. From these customer exits, customers then use transaction CMOD to choose the enhancements they want to process, assign them to enhancement projects, edit the components, and activate the relevant projects.

Types of Exits

There are several different types of customer exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.

Menu Exits

Menu exits add items to the pulldown 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 creates 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 item’s text when activating the item in an add-on project.

Screen Exits

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

Function Module Exits

Function module exits add functions 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 pulldown 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.

SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs. These calls have the following syntax: CALL CUSTOMER-FUNCTION ‘001’.

An add-on project contains a series of exits, as well as the add-ons that you develop to attach to these exits (like menu entries or function modules). To create an add-on project from within the ABAP Workbench menu, choose Utilities ® Enhancements ® Project management.

Before you begin defining a project, you need to decide which application, application component, or specific standard transaction you would like to add your own functionality to. Give your project a name that indicates the type of functions it contains and that shows which transactions are affected. It may be useful to agree upon a company-wide naming convention for enhancement projects.

There are two factors you need to keep in mind when you create an add-on project. First, you can include an SAP enhancement package and the customer exits it contains in one project only. The same SAP enhancement may not appear in two separate customer projects.

Second, in order to make your add-ons, such as menu items or screen fields, appear in standard R/3 applications, you must activate your add-on project. When you activate a project, all of the add-ons created within this project are activated as well. For this reason, you should ensure that the exits you include in your project contain functions that can be activated simultaneously. It is not possible to activate exits individually.

After you have specified the name of your new project, proceed as follows:

Choose Create.

Describe the nature of the project by providing a short descriptive text.

Choose Save.

The system then prompts you to assign a change request. This assignment allows you to transport the project and its components into a productive system once you have completed it.

Specify which SAP enhancement packages you want to include in your project by choosing SAP enhancements.

Enter the names of these SAP enhancements in the spaces provided.

You should choose enhancement packages that logically belong together. For example, if you are planning to use several enhancements that deal with Materials Management modules, you can include all of these enhancements in the same project. If you are working on enhancements that deal with different applications, or if the enhancements are not logically related, you should include these enhancements in separate projects.

Once you have identified the SAP enhancements you want to include in your project, you can begin adding your own functions to the exits offered in the enhancements. To display the individual components of the SAP enhancements, return to the main screen of the Project Management transaction and choose Enhancement components The system displays all of the exits included in the enhancements assigned to your project.

After you have attached add-on functionality to the exits in your project, you need to activate the project. Activating a project turns on all your add-ons. You also need to activate your project after you have transported it from a development system into a productive system.

When you activate your project, the system turns on all add-ons that the project contains. You cannot activate individual add-ons separately. To activate an add-on project, proceed as follows:

Call the Project management transaction.

Choose Activate project.

The system displays a message confirming that the project was activated.

You can now call up any standard SAP transaction that contains an exit you used in your add-on project. The newly added add-on function(s) should appear.

If you need to make changes to any of your add-ons, you must first deactivate the project that contains that add-on. Deactivating a project turns off all of that project’s add-ons. To deactivate an add-on project, proceed as follows:

Call the Project management transaction.

Choose Deactivate.

The system confirms that the project was deactivated.

Once the project is turned off, you can make changes to the project’s add-ons or build new functions and attach them to other exits in the project.

You can go through these docs for more to find out the different types of exits and what they are...

http://www.sap-img.com/abap/what-is-user-exits.htm

http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction

http://www.easymarketplace.de/userexit.php

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

Reward if useful.

Thanks

4 REPLIES 4

Former Member
0 Kudos

Former Member
0 Kudos

hi,

Please find here a Demo on the same

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/media/uuid/f0f67fff-0a01-0010-ec96-8bf8a90a9d...

Some more

Enhancement Framework

http://help.sap.com/saphelp_nw04s/helpdata/en/83/43e040e136742ae10000000a155106/frameset.htm

Enhancement Framework - The New Way to Enhance Your ABAP Systems

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9cd334f3-0a01-0010-d884-f5612003...

Implementing a BAdI in an Enhancement

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb9...

Introducing the Enhancement Framework

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bb54c452-0801-0010-0e84-a653307f...

Have a look at below links.

User Exit:

http://www.erpgenie.com/sap/abap/code/abap26.htm

which gives the list of exits for a tcode

http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm

For more information on Exits, check these links

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

http://www.sapgenie.com/abap/code/abap26.htm

http://www.sap-img.com/abap/what-is-user-exits.htm

http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction

http://www.easymarketplace.de/userexit.php

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

http://www.sappoint.com/abap/userexit.pdfUser-Exit

http://www.planetsap.com/userexit_main_page.htm

BADI:

http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm

http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm

Regards

Former Member
0 Kudos

Hi,

SAP creates customer exits with transaction SMOD. From these customer exits, customers then use transaction CMOD to choose the enhancements they want to process, assign them to enhancement projects, edit the components, and activate the relevant projects.

Types of Exits

There are several different types of customer exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.

Menu Exits

Menu exits add items to the pulldown 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 creates 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 item’s text when activating the item in an add-on project.

Screen Exits

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

Function Module Exits

Function module exits add functions 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 pulldown 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.

SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs. These calls have the following syntax: CALL CUSTOMER-FUNCTION ‘001’.

An add-on project contains a series of exits, as well as the add-ons that you develop to attach to these exits (like menu entries or function modules). To create an add-on project from within the ABAP Workbench menu, choose Utilities ® Enhancements ® Project management.

Before you begin defining a project, you need to decide which application, application component, or specific standard transaction you would like to add your own functionality to. Give your project a name that indicates the type of functions it contains and that shows which transactions are affected. It may be useful to agree upon a company-wide naming convention for enhancement projects.

There are two factors you need to keep in mind when you create an add-on project. First, you can include an SAP enhancement package and the customer exits it contains in one project only. The same SAP enhancement may not appear in two separate customer projects.

Second, in order to make your add-ons, such as menu items or screen fields, appear in standard R/3 applications, you must activate your add-on project. When you activate a project, all of the add-ons created within this project are activated as well. For this reason, you should ensure that the exits you include in your project contain functions that can be activated simultaneously. It is not possible to activate exits individually.

After you have specified the name of your new project, proceed as follows:

Choose Create.

Describe the nature of the project by providing a short descriptive text.

Choose Save.

The system then prompts you to assign a change request. This assignment allows you to transport the project and its components into a productive system once you have completed it.

Specify which SAP enhancement packages you want to include in your project by choosing SAP enhancements.

Enter the names of these SAP enhancements in the spaces provided.

You should choose enhancement packages that logically belong together. For example, if you are planning to use several enhancements that deal with Materials Management modules, you can include all of these enhancements in the same project. If you are working on enhancements that deal with different applications, or if the enhancements are not logically related, you should include these enhancements in separate projects.

Once you have identified the SAP enhancements you want to include in your project, you can begin adding your own functions to the exits offered in the enhancements. To display the individual components of the SAP enhancements, return to the main screen of the Project Management transaction and choose Enhancement components The system displays all of the exits included in the enhancements assigned to your project.

After you have attached add-on functionality to the exits in your project, you need to activate the project. Activating a project turns on all your add-ons. You also need to activate your project after you have transported it from a development system into a productive system.

When you activate your project, the system turns on all add-ons that the project contains. You cannot activate individual add-ons separately. To activate an add-on project, proceed as follows:

Call the Project management transaction.

Choose Activate project.

The system displays a message confirming that the project was activated.

You can now call up any standard SAP transaction that contains an exit you used in your add-on project. The newly added add-on function(s) should appear.

If you need to make changes to any of your add-ons, you must first deactivate the project that contains that add-on. Deactivating a project turns off all of that project’s add-ons. To deactivate an add-on project, proceed as follows:

Call the Project management transaction.

Choose Deactivate.

The system confirms that the project was deactivated.

Once the project is turned off, you can make changes to the project’s add-ons or build new functions and attach them to other exits in the project.

You can go through these docs for more to find out the different types of exits and what they are...

http://www.sap-img.com/abap/what-is-user-exits.htm

http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction

http://www.easymarketplace.de/userexit.php

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

Reward if useful.

Thanks

Former Member
0 Kudos

http://help.sap.com/saphelp_nw2004s/helpdata/en/83/43e040e136742ae10000000a155106/content.htm

Definition

The enhancement implementations manage the enhancements of the enhancement options, both explicitly and implicitly.

In the same way that we differentiate between enhancement options and their management in the case of enhancement spots, we also differentiate between the actual enhancement and its management in the case of enhancement implementations.

Use

An enhancement is managed by assigning one or more simple enhancement implementations to an enhancement spot of a concrete enhancement spot element definition. Conversely, every simple enhancement implementation belongs to exactly one enhancement spot. A simple enhancement implementation can have one or more enhancement implementation elements, which are assigned to the enhancement spot element definitions of the enhancement spot. A simple enhancement implementation must be assigned to at least one composite enhancement implementation:

Simple and composite enhancement implementations are Repository objects that form a tree-like structure, where the leaves and branches represent simple and composite enhancement implementations respectively.

Therefore, to implement the actual enhancement, one or more enhancement implementation elements are assigned to an enhancement spot element definition of an explicit or implicit enhancement option.

You can assign source code plug-ins, defined between ENHANCEMENT and ENDENHANCEMENT in an ABAP program, to an enhancement option defined using ENHANCEMENT-POINT. These source code plug-ins are inserted into the code unchanged if the switch is in the relevant position.

Enhancement implementations are processed with the Enhancement Builder tool, which is integrated in the ABAP Workbench. The Enhancement Builder’s hierarchical display of the enhancement implementations in a system shows the enhancements made in a system.

An enhancement implementation describes the enhancement of a Repository object at one or more enhancement options. An enhancement implementation element always belongs to exactly one enhancement option. However, several enhancement implementation elements can be assigned to an enhancement option. The enhancement implementation element contains the actual enhancement – for example, a source code plug-in contains the source code to be added. However, an enhancement implementation element contains no information concerning at which positions of a Repository object the enhancement options were created. Composite enhancement implementations are used for the semantic grouping of simple enhancement implementations. A composite enhancement implementation contains either one or more simple enhancement implementations and/or one or more composite enhancement implementations of the relevant type. You can use composite enhancement implementations to combine simple enhancement implementations into meaningful units.

The position of a Switch Framework switch assigned to the package of an enhancement implementation specifies whether or not an enhancement is taken into account in a system.

http://help.sap.com/saphelp_nw2004s/helpdata/en/09/9bf240a5668d38e10000000a155106/content.htm