EXP_0005.doc

(568 KB) Pobierz
BC425 Enhancements and Modifications

 

0

 

0.2

 

0.3

 

0.4

 

0.5

 

nApplication enhancements allow customers to enhance their application functions. Customer exits are preplanned by SAP and generally consist of several components.

nApplication enhancements are inactive when delivered and can be completed and activated by customers as they are needed.

nApplication enhancement characteristics:

nEach enhancement provides you with a set of preplanned, precisely defined functions.

nEach interface between SAP and customer functions is clearly defined.

nAs a customer, you do not need in-depth knowledge of how to implement SAP applications.

nYou do not need to adjust enhancements at upgrade because of new functions that SAP has developed.

0.6

 

nThe SAP application programmer creates SAP enhancements from function module exits, menu exits and screen exits. A management function is provided for this purpose (transaction code SMOD).

nCustomers are given a catalog containing an overview of existing SAP enhancements. They can then combine the SAP enhancements they want into an enhancement project using transaction CMOD.

0.7

 

nSAP enhancements are made up of component parts. These components include function module exits, menu exits, and screen exits. A specific component may be used only once in a single SAP enhancement (this guarantees the uniqueness of SAP enhancements).

nCustomer enhancement projects consist of SAP enhancements. Each individual SAP enhancement may be used only once in a single customer enhancement program (this guarantees the uniqueness of a customer project).

0.8

 

0.9

 

nThe SAP application programmer plans possible application enhancements in an application and defines the necessary components. These components are combined in SAP enhancements.

nThe programmers document their enhancements as best they can, so that customers can implement the enhancements without having to analyze program source code or screen source code.

0.10

 

nFirst, create an enhancement project and then choose the SAP enhancements that you want to use.

nNext, edit your individual components using the project management function and document the entire enhancement project.

nFinally, activate the enhancement project. This activates all of the project's component parts.

0.11

 

nTransaction CMOD starts the project management function. You must give your enhancement project a name. SAP recommends that you think up a naming convention for all of your projects. You can, for example, include the project's transaction or module pool in its name. All enhancement project names must be unique.

nNext, go to the project's attributes and enter a short text describing the enhancenent project. The system inserts all of the project's other attributes (such as created by, created on, or status).

0.12

 

nUse the project management function to assign SAP enhancements to customer enhancement projects. Enter the names of the SAP enhancements you want to use on the appropriate screen.

nThe search function gives you a catalog-like overview of existing SAP enhancements. From there you can select those enhancements that are of interest to you.

0.13

 

nUse the product management function to edit the components of your enhancement project.

nDepending on whether the component you are editing is a function module, a menu entry, or a subscreen, you branch to either the Function Builder, a dialog box for entering menu entries, or to the Screen Painter.

0.14

 

nActivation of an enhancement project affects all of its components. After it has been activated successfully, the project has the status active.

nDuring activation, all programs, screens, and menus containing components that belong to the project are regenerated (programs at the time they are executed). After activation, you can see the effect of the enhancements in your application functions.

nThe Deactivate function allows you to reset an active enhancement project's status to inactive.

0.15

 

nWhen the enhancement project was created, you should have assigned it to a change request. Each of the component pieces (include programs, subscreens, menu exits, and so on) should be assigned to the same change request. Using the same change request allows you to transport the entire enhancement at the same time.

0.16

 

0.17

 

nFunction module exits allow customers to implement additional logic in application functions. SAP application programmers define where function module exits are inserted and what kind of data they transfer. SAP programmers also create an exit's corresponding function modules complete with short text, interface, and documentation, as well as describing each function module exit's intended purpose in the SAP documentation.

nYou write the source code for the function modules yourself. If need be, you can also create your own screens, text elements, and includes for the function group.

nThe system processes your ABAP code when the enhancement project (of which your function module is a component) is activated. Function module exits have no effect prior to enhancement project activation.

0.18

 

nThis graphic shows the flow of a program providing an enhancement in the form of a function module exit.

nThe exit function module is called  in the PAI logic of a screen at a position determined by the SAP application developer. Within the function module, the user can add functions in the customer namespace using an include.

0.19

 

nTo call function modules use the ABAP statement CALL CUSTOMER-FUNCTION 'nnn', where 'nnn' is a three-digit number. The programmer must also create the function module he wants to call and its related function group.

nThese function modules always belong to function groups whose names begin with X (X function group).

nThe following naming convention applies to function modules:

­Prefix: EXIT

­Name: Name of the program that calls the function module

­Suffix: Three-digit number
 

­The three parts of the name are separated by an underscore.

nThe CALL CUSTOMER-FUNCTION statement is only executed once the enhancement project has been activated.. Multiple calls of the same function module are all activated at the same time.

0.20

 

nThe most frequently asked question concerning enhancements is: how can you see if an application program offers a function module exit? There are a number of ways to find the answer to this question.

nTo see quickly if an application program offers a function module exit, you can follow the path on the left-hand side of the graphic: (The menu path System à Status always displays the name of the current application program). In our example a suitable character string would be "CALL CUSTOMER". Use the Find icon and search globally in the program. If your search does not provide any results, you can define a larger search area. Determine the environment for the corresponding program and look for the specific character string in the program environment.

nThe right side of the graphic shows you how to find the name of the required enhancement using search tools. You can restrict the search in the R/3 Repository Information System using different criteria: These are:

Development class (also try generic entries)

Technical name of the enhancement

0.21

 

nUse the project management (transaction: CMOD) function to edit function modules for function module exits.

nUse the pushbutton for editing components to go directly to the function module editor (display mode).

nDO NOT change the function module itself. It is especially important that you do not alter the interface in any way. The function module, however, contains an INCLUDE statement for an include program that you have to create in the customer namespace.

nDouble-click on the include name beginning with ZX. This automatically takes you to the editor of the include program, where you can enter your code.

0.22

 

nTo understand how an X function group works, you need to understand how a normal function group works:

A function group consists of includes. The system assigns unique names to the includes for different objects. Some of the include names are simply proposals and some cannot be changed.

Global data is stored in the TOP include. This include is generated automatically when a function group is created.

Function modules are stored in includes with sequential numbering, and they in turn are all stored in an include ending with UXX.

You can freely choose the names of the includes for all other objects (subroutines, modules, events, etc.). However, we advie you to accept the proposed names.

0.23

 

nExit function groups created by SAP application programmers for enhancment exits contain include programs that begin with either 'LX' or 'ZX'. You can only edit includes beginning with a 'Z', since they are stored in the customer namespace.

nNo further function modules may be added to the function group.

nThe include program ZxaaaUnn contains the source code for the function modules of a function module exit.

0.24

 

nSAP application programmers can declare global data in include program LXaaaTAP.

nYou can declare your global data in include ZXaaaTOP.

nInclude program LXaaaTOP also contains the FUNCTION-POOL statement, which may not be changed. Therefore, you must always include the message class in parentheses when outputting messages - for example, MESSAGE E500 (EU).

0.25

 

nThe INCLUDE statement for program ZXaaaUnn is in a FUNCTION - ENDFUNCTION block. Because of this, neither events, nor subroutines(FORM), nor modules (MODULE) are allowed here. They can, however,  be created in separate includes, which is explained later. Data declarations made here with DATA are valid locally in this function module.

nThe SAP application programmer can also make a proposal for the source text. In this case, an INCLUDE LXaaFnn is created (where nn is the internal number for the function module in the include LXaaaUXX).  Documentation is also provided within the SAP enhancement. You can copy the source code from this include into your own customer include program ZXaaaUnn using the project management transaction.

nYou can create your own text elements for the function group.

0.26

 

nSAP application programmers can supply you with default subroutines in include LXaaaF01.

n...

Zgłoś jeśli naruszono regulamin