You are on page 1of 4

Types of Function Module:

1. Normal Function Module


2. Remote-Enabled Module
3. Update Task Module
Update Task:
Function modules that run in update task can not return any values because your program has no
longer control over the function module (the update task has). These fm's are mostly used to
update database tables, so if the update failes you would like to stop processing (any other V1
tasks). Do this by: message axxx with ..... Actually this should never happen, but just in case you
made a programming errro on the way.
So what to do with your function module. Remove the exporting parameters and add a abort
message if anything goes wrong. In an update fn module all the parameters should be a reference
parameter. Can call that function module by
CALL FUNCTION 'FUNCTMOD' IN UPDATE TASK EXPORTING.....
Update Function Modules are used for SAP Logical Unit of Work. This function modules are triggered
when an Explicit or Implicit COMMIT WORK is encountered
Update module in attributes of FM simply flags the FM not to be executed directly , hence can be
only be excuted in update work process (using IN UPDATE TASK addition when calling FM) or in
dialog work process (using SET UPDATE TASK LOCAL statement).

User Exits:
Userxits allow us to add our own functionality to SAP standard program
without modifying it . These are implemented in the form of subroutines and hence are also known as
FORM EXITs. The userexits are generally collected in includes and attached to the standard program
by the SAP. All Userexits start with the word USEREXIT_...
FORM USEREXIT_..
z..
ENDFORM.
Customer code is inserted in the customer include starting with the z in the form routine.
TYPES OF EXITS
1)MENU EXITS
2)FUNCTION EXITS
3)TABLE EXITS
4)SCREEN EXITS
5)KEYWORD EXITS
6)FIELD EXITS

ENHANCEMENTS
31. What are the different ways in which you can make changes to SAP standard software ?
Customizing
Enhancements to the SAP Standard
Modifications to the SAP Standard
Customer Development
32. What is customizing ?

Customizing is the setting of system parameters via SAP's own interface.


33. Why do you need enhancements ?
The standard applications do not offer some of the functionality you need.
The R/3 enchancement concept allows you to add your own functionality to SAP's standard business
applications.
34. What are the different types of enhancements ?
Enhancements using customer exits
Customers' potential requirements which are not included in the standard software are incorporated in the
standard as empty modification 'shells'. Customers can then fill these with their own coding. Enhancements can
relate to programs, menus and screens. Upward compatibility is assured. In other words, SAP guarantees that
the jump from the standard software to the exit and the interface which call the exit will remain valid in future
releases.
Enhancements to ABAP/4 Dictionary elements
These are ABAP/4 Dictionary enhancements (creation of table appends), text enhancements (customer-specific
key words and documentation for data elements) and field exits (creation of additional coding for data elements).
35. What is customer development ?
Creating customer-specific objects within the customer name range.
36. What is SSCR ?
SSCR (SAP Software Change Registration) is a procedure, for registering all manual changes to SAP source
coding and SAP Dictionary objects.
37.What is the difference between modifications and enhancements ?
Modifications mean making changes to the SAP standard functionality.
Enhancements mean adding some functionality to SAP standard functionality.
38. What are the disadvantages of modification ?
Modifying standard code can lead to errors
Modifications mean more work during software upgrades
39. What are the advantages of enhancements ?
Do not affect standard SAP source code
Do not affect software upgrades
40. when do you opt for modification ?
Customer exits are not available for all programs and screens within the R/3 standard applications. You can only
use exits if they already exist within the SAP R/3 System . Otherwise you have to opt for modifications .
41. What are the various types of customer exits ?
Menu exits
Screen exits
Function module exits
Keyword exits
42. What is a menu exit ?
Adding items to the pulldown menus in standard R/3 applications .
43.What is a screen exit ?

Adding fields to the screens within R/3 applications. SAP creates screen exits by placing special subscreen areas
within a standard R/3 screen and calling a customer subscreen from within the standard dynpro's flow logic.
44. What is a function module exit ?
Adding functionality to R/3 applications. Function module exits play a role in both menu and screen exits.
45. What is a keyword exit ?
Add documentation to the data elements of key words defined in the ABAP/4 Dictionary. The system displays this
documentation whenever a user presses F1 to get online help for a screen field.
46. How do SAP organizes its exits ?
SAP organizes its exits in packages that are called SAP enhancements. Each SAP enhancement can contain
many individual exits.
47. What is an add-on project ?
To take advantage of the exits available within standard R/3 applications, you need to create an add-on project.
This project lets you organize the enhancement packages and exits you want to use. The add-on project also
allows you to hang add-on functionality onto the exit hooks contained with SAP enhancements.
Q48: What is the difference between a user exit and a customer exit? Do I need to get some kind of
access key from SAP to do a user exit?
Ans:
Strictly speaking a user exit is any place within standard SAP, where SAP have added a mechanism for client
specific code to be executed.
Customer exits are maintained with transaction CMOD. They are constructed in such a way that all development
is in the customer name range, so no access keys are required.
Most other types of exits require an access key, as they are places where you can put your own code directly into
standard SAP. For example, in Sales Order Processing, SAPMV45A, a number of user exits can be found in
include MV45AFZZ. To modify this, however, you would need an access key from SAP for this include. If you
wanted to utilize the screen exits available in Sales Order Processing, you would need an access key for
SAPMV45A.
VOFM transaction manages many user exits. When a VOFM exit is created, two access keys are required. One
for the include in which the code will be, and one of the function group in which it sits
Explicit and Implicit Enhancement Options
Principally, there are two types of enhancement options:

The developer of the corresponding development object must insert the options of one kind into
the coding so that enhancements can be done there at a later time. These preconceived enhancement

possibilities are called explicit enhancement options.


You can perform enhancements on implicit enhancement options without the developer of the
appropriate compilation unit having to do anything. Enhancement options are always available in
programs, global classes, function modules, and includes.
In other words, the implicit enhancement options are for free, provided by the framework,
while the explicit ones need to be inserted explicitly, as the name indicates.
Explicit Enhancement Technologies
There are two types of explicit enhancement options:

Enhancement points allow you to insert source code plug-ins. These are additional code lines
that, if they exist, are executed there additionally. Explicit enhancement options of the type

Enhancement Section behave in the same way - the only difference being that the source code plug-in

replaces the section in the original code.


Business Add-Ins (BAdIs) are "hooks" for object plug-ins. A BAdI definition comprises an interface
with methods. BAdIs are enhanced by classes that implement the BAdI interface. If you instantiate a BAdI
and then call its methods, you can, among other things, specify which method implementations are to be
carried out on the basis of filter values. In other words, a BAdI method call is a dynamic method call with
a specified interface, for which it is not determined until runtime which method implementations are to
take place.
Implicit Enhancement Technologies
Implicit enhancement options are fixed points in compilation units - that is, points that remain intact
even if the code is changed:

You can always insert source code plug-ins before the first and after the last line of includes,
methods, reports, and function modules.
You can always add further optional parameters to function modules.
For global classes, there are different permanent, implicit options for enhancements: You can
insert additional attributes or methods, and you can add optional parameters to existing methods.

You might also like