You are on page 1of 34

ENHANCEMENTS

Enhancement Intro
• The R/3 Enhancements concepts allows us to add
your own functionality to SAP’s stand applications
with out modify the original applications.
• SAP creates enhancements for specific programs,
screens and menus within R/3 applications.
• These enhancements acts as hooks where we can
HANG our own add-on functionality onto these
hooks.
Approaches

Enhancement Approaches

Procedural Object Oriented

Using Function Module Using Classes & Methods

Are called Customer Exits


Customer exits are two types
1. Using Subroutines (user exits)
2. Using Function Modules (Customer Exits)
Types of Customer Exits

Front End Programs Back End

Screens Programs
Tables

Screen and Menu Function Exits to Append Structure


exits to enhance Enhance the to enhance
the Front End Program Backend
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.

• SAP creates menu exits by defining special menu items in the Menu
Painter. These special entries have function codes that begin with + sign.
Screen Exits
• Screen exits add fields to screens in R/3
Applications.
• SAP creates Screen exits by placing sub screen area
on a standard R/3 screen.
Function Exits
• Function module exits add functionality to
R/3 applications. Function module exits play
a role in both menu and screen exits.
Locate the Exits for Any Transaction
1. Find out the development class/Package for a transaction
a. Execute T. Code SE 93 and click on Display

Double click on program

Click on Attributes

Package
Locate the Exits for Any Transaction
2. Find out Enhancements
a. Execute T. Code SMOD

Click on F4 function Key

Enter Package Name

Click on Execute

Enhancement Name
Locate the Exits for Any Transaction
3. Find out Exits
a.
b.
Execute T. Code SMOD
Enter Enhancement
c. Select Components
d. Click on Display

Exit Name
Implementing Function Module Exits
1. Create the Project and link the enhancement
a. Execute CMOD transaction and enter the project name : ZProj
b. Click on Create push button.
c. Enter Short description. : project for enhancement
d. Click on Enhancement assignments
e. Enter SAP Enhancement : SAPMF02D

Note:- Once the project linked with enhancement we can implement the customer
functionality through SMOD or CMOD.
Implementing Function Module Exits
Lets continue with CMOD only.
a. Place the cursor on enhancement SAPMF02D
b. Click on Components

c. Double click on function exit EXIT_SAPMF02D_001

d. Double click on Include ZXF04U01 and you will This is the place where we
below message and again press enter key can ADD our functionality
Implementing Function Module Exits
e. Select YES to create object and SAVE.

F. Enter the code in ABAP Editor

Note: Make sure Project is activate

Activate
Testing
Execute T. Code XD01
Enter Account Group: Bill-to-party
Enter Customer: 11111
Click on Next

Enter title: Company


Name: Sun Surya
Search : SUN
Street: 1
Country: IN
SAVE
Testing
Observe that POP UP windows
displayed with options
Click on YES to download data.

Find 1.txt file in C drive.


Implementing MENU Exits Requirement: Adding custom menu options to the
transaction MC94

1. Find out the development class/Package for a transaction


a. Execute T. Code SE 93 and click on Display

Double click on program

Click on Attributes

Package
Locate the Exits Enhancement Name
2. Find out Enhancements
a. Execute T. Code SMOD

Click on F4 function Key


Enter Package Name
Implementing MENU Exits
2. Create the Project and link the enhancement
a. Execute CMOD transaction and enter the project name : ZProj1
b. Click on Create push button.
c. Enter Short description. : project for enhancement
d. Click on Enhancement assignments
e. Enter SAP Enhancement : MCP20003 and SAVE

Note:- Once the project linked with enhancement we can implement the customer
functionality through SMOD or CMOD.
Implementing MENU Exits
Lets continue with CMOD only.
a. Place the cursor on enhancement SAPMF02D
b. Click on Components d. Enter function text: Create Program and click on COPY
button

c. Double click on Menu exit +CU1


Implementing MENU Exits
e. Double click on Function Module
EXIT_SAPMMCP6_003

c. Double click on function exit EXIT_SAPMF02D_001

f. Double click on Include ZXSOPU03 and you will This is the place where we
below message and again press enter key can ADD our functionality
Implementing Function Module Exits
g. Select YES to create object and SAVE.

h. Enter the code in ABAP Editor

Note: Make sure Project is activate

Activate
Testing
Execute T. Code MC94
Enter planning Type: REPL
Enter

Click on Active Version


Testing
Choose Extras Menu
Select Customer Functions
Choose Create Program
Implementing SCREEN Exits Requirement: Add customer fields i.e priority and
duration of the project.
transaction CJ01
1. Find out the development class/Package for a transaction
a. Execute T. Code SE 93 and click on Display

Double click on program

Click on Attributes

Package
Locate the Exits Enhancement Name
2. Find out Enhancements
a. Execute T. Code SMOD
Click on F4 function Key

Enter Package Name

PBO:- Transfer data from Standard program to Custom Sub Screen

PAI:- Transfer data from Custom Sub Screen to Standard program


List of Function Codes for
Customer Menu Options

Screen Exits / Customer


Sub Screens
Implementing SCREEN Exits
1. Create Customer Specific Additional Fields in the standard table PROJ
through CI_PROJ Structure.
a. Execute SE 11 and display structure CI_PROJ
b. Click on APPEND Structure and Add the customer specific fields Priority and
Duration of the Project definition.
Implementing SCREEN Exits
2. Create the Project and link the enhancement
a. Execute CMOD transaction and enter the project name : ZSCRNPRO
b. Click on Create push button.
c. Enter Short description. : project for enhancement
d. Click on Enhancement assignments
e. Enter SAP Enhancement : CNEX0006 and SAVE

Note:- Once the project linked with enhancement we can implement the customer
functionality through SMOD or CMOD.
Implementing SCREEN Exits
Lets continue with CMOD only.
a. Place the cursor on enhancement CNEX0006
b. Click on Components d. Continue with this message

c. Double click on Screen Exit to create Sub screen 0600


Implementing SCREEN Exits
e. Enter the Short Description: Screen to Capture priority and duration
Select Subscreen

f. Click on Layout and provide


Custom Fields by F6
and Activate the Screen
Implementing SCREEN Exits: Function Module
g. Once the Sub Screen is created, we need to transfer the data from
program to screen (PBO)

PBO:- Double click on function module

h. Double click on Include ZXCN1U11

This is the place where we


can ADD our functionality
Implementing Function Module Exits
i. Observe that SAP already Implemented. Here we need to
add our code to transfer data from program to Screen

j. Click on Change mode an place the cursor you wanted to add the code and
click on Insert Button
k. Add code: Move-corresponding sap_proj_imp to proj
l. Save and Activate
Implementing SCREEN Exits
M. we need to transfer the data from Screen to program (PAI)

PAI:- Double click on function module

N . Double click on Include


ZXCN1U12

This is the place where we


can ADD our functionality
Implementing Function Module Exits
O . Click on Insert Button
P . Add code: Move-corresponding proj to cnci_proj_exp
Q . Save and Activate

R. Activate a Proj
Testing
Execute T. Code CJ01
Enter Project Def.. : P-0020
Enter Project Profile: Cost Projects
Enter

 Details Menu  Details  Project definition customer fields


 Enter the Priority: HIGH
 Enter Duration: 20
 Save

 Check in table PROJ table for the entries

You might also like