You are on page 1of 22

BCMODIF.

RTF

BC Enhancements to the SAP Standard

Page 1 of 22

BC Enhancements to the SAP Standard If you are going to change the SAP standard software, it is important that you consider the best way of doing so. There are four different ways in which you can adapt the SAP system: Customizing Enhancements to the SAP Standard Modifications to the SAP Standard Customer Development

Customizing Customizing is the setting of system parameters via SAP's own interface. Possible changes to the standards have been thought out and organized by SAP. Customizing is an obligatory part of the R/3 implementation process. Global fields As of Release 3.1, you can maintain Global Fields within Customizing (in the SAP Reference IMG, Global Settings, Field display characteristics) You can fill fields systemwide with predefined values. You can either hide these fields or convert them to display fields.
E x a m p le

A customer who only has one company code can fill this field with the appropriate value and then either hide it or make it a display only field. By hiding fields, you can simplify complicated screens. Screens containing hidden fields are generally compressed. In other words, the empty lines in which the hidden fields normally appear are removed. Transaction Variants Transaction variants allow you to simplify transaction flows by: preassigning values to fields suppressing and changing the readiness for input of fields suppressing whole screens

You can maintain transaction variants in the Global settings of the SAP Reference IMG. Enhancements to the SAP Standard There is a distinction here between two different types of enhancement: 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).

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 2 of 22

Modifications to the SAP Standard Modifying SAP standard objects entails an increased maintenance workload because of the need to adjust all such modifications when new releases are installed. Customer Development Creating customer-specific objects within the customer name range.

The R/3 Enhancement Concept This section describes the enhancement concept within the R/3 System. The section explains how you can use SAP enhancements to add your own functionality onto the standard R/3 applications. Introduction to the Enhancement Concept Types of Exits Locating Applications that Have Exits Creating an Add-on Project Activating and Deactivating a Project Transporting Add-on Projects Creating Customer-specific Menus Creating Customer-specific Subscreens Creating Customer-specific Function Modules Creating Customer-specific Documentation Using Field Exits

Introduction to the Enhancement Concept SAP delivers a broad range of business functions within its R/3 application suite. You may find that 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. SAP creates customer exits for specific programs, screens and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks. Purpose of the Enhancement Concept With the ABAP/4 Development Workbench, SAP's client-server development environment, you can create add-ons or entire applications. Before the enhancement concept existed, customers who wanted to add their own specific functions to SAP software had to modify the standard SAP programs. Modifying SAP's software holds at least two dangers: Modifying standard code can lead to errors When a customer changes the source code of a standard program, these changes can

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 3 of 22

have unwanted results within other parts of the application. Once a customer has begun 'reconstructing' a standard program, SAP can no longer guarantee that this customer's system will run without serious errors. Modifications mean more work during software upgrades Customers of standard software packages often want to take advantage of software upgrades or new releases. Customers who have modified the software of their current release must save these modifications and reenter them into the new software after each upgrade or release change. Depending on the number and scope of modifications, this reentry process may make it difficult or even impossible to take advantage of new software releases. The enhancement concept offers a better alternative to the problem-ridden modification approach. Reason for Using Exits If you want to extend the functionality of your R/3 System, you should take advantage of the exits available within the standard R/3 applications. There are two main reasons why you should use exits rather than modifying SAP software. Add-ons that are attached to exits have the advantage that they: Do not affect standard SAP source code When you add new functionality to your R/3 System using SAP's exits, you do not change the source code of standard SAP programs. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but they exist apart from SAP's standard software package. Do not affect software upgrades When you add new functions using SAP's exits, the objects you develop are customer objects. Customer objects adhere to strict naming conventions. When the time comes to upgrade a software release, the special names of customer objects ensure that they will not be affected by either changes or additions within the standard software package. As a result, you do not need to save and then reenter add-ons attached to exits. 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. Locating Applications that Have Exits explains how to find applications with predefined exits.
N o te

If no user exit is available in an area where you want to add your own functionality, you can request that SAP develop an exit. You can make this request via the Online Service System (OSS).

Types of Exits There are four basic types of customer exits. Each of these exits is a hook that you can hang your add-ons onto. Menu exits Add items to the pulldown menus in standard R/3 applications. You can use these menu items, for example, 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 + (plus sign). You specify the menu

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 4 of 22

item's text when activating the item within an add-on project. Screen exits Add 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. Function module exits Add functionality 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, for example, you can use a function module exits 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 the fields created within dynpro exits. SAP application developers create function exits by preparing calls to customer functions within standard R/3 programs. These calls have the following syntax: CALL CUSTOMER-FUNCTION '001'. Keyword exits 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. Unlike the other exits listed above, documentation exits do not require that SAP make any special preparations.

Locating Applications that Have Exits You can only take advantage of exits if they were added to a standard application by SAP. For this reason, you need to know how to locate the exits available within the R/3 System. SAP organizes its exits in packages that are called SAP enhancements. Each SAP enhancement can contain many individual exits. From within the ABAP/4 Development Workbench menu choose Utilities Enhancements Project managment. To call up a selection screen that lets you look for the exits available in standard applications, choose Utilities SAP enhancements. If you do not have any information about the name of specific enhancement packages, you can search for all enhancements belonging to a particular development class or to a set of development classes. To list all enhancements in the entire system, choose the Execute function without specifying any selection criteria.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 5 of 22

The system will list all the enhancement packages that match your criteria. From within this list, you can display the documentation for each enhancement. You can also list the enhancement's different exit types. One enhancement package, for example, might contain several menu exits, several functions exits, and one screen exit.

Searching in the Application Hierarchy You can also use the Application Hierarchy to search for exits that are available for a particular application area. From the ABAP/4 Development Workbench menu, you can enter the Application Hierarchy by choosing Overview Applic. hierarchy SAP. The SAP Application Hierarchy lists all of the standard R/3 applications and their component parts. You can use the hierarchy with the Repository Information System to locate exits available for specific applications or programs. To locate the exits associated with Materials Management, for example, proceed as follows: 1. Place the cursor on the Materials Management branch of the Application Hierarchy tree and choose Edit Sel./desel. sub-tree.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 6 of 22

The system marks the application area. 2. Choose the button Repository Infosys. The system lets you search for any objects assigned to a particular application. 3. Double-click on the Environment branch of the Repository Information tree. 4. Double-click on the Customer enhancements branch. 5. Double-click on Customer exits. The system offers a selection screen that allows you to narrow down your search. You can leave the fields on this screen empty. 6. Choose Execute. The system will retrieve all the enhancements assigned the category you marked in the Application Hierarchy. To display the individual exits that each enhancement package contains, select the enhancement and choose the Display icon. You can also double-click on any enhancement in the list to go to the transaction that SAP uses to manage its enhancements. You can use this transaction to display the individual exits, or components, of any enhancement package.

Creating 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. Managing an Add-on Project

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 7 of 22

An add-on project contains a series of exits and the add-ons, such as menu entries or function modules, that you develop to hook onto these exits. To create an add-on project from within the ABAP/4 Development 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 or shows which transactions are affected. It might 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 different 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 turned on. 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 specific exits only. After you have specified the name of your new project, proceed as follows: 1. Choose Create. 2. Describe the nature of the project by providing a short descriptive text. 3. Choose the SAVE icon. The system prompts you to assign a change task. This assignment allows you to

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 8 of 22

transport the project and its components into a productive system once you have completed it. 4. Specify which SAP enhancements packages you want to include in your project by choosing SAP enhancements. 5. Enter the names of all the SAP enhancements in the spaces provided. You should choose enhancements packages which logically belong together. If you are planning to use several enhancements that deal with Materials Management modules, for example, you can include each 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 to include in your project, you can begin adding your own functionality 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 shows you all of the exits included in each of the enhancements assigned to your project. created with unregistered evaluation copy of HLP2RTF

2 3

Activating and Deactivating a Project

After you have attached all 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 the add-ons contained within the project. You cannot activate certain add-ons separately. The activate an add-on project, proceed as follows: 1. Enter the Project Management transaction. 2. Choose Activate project. The system confirms that the project was activated. You can now call up a standard SAP transaction that contains an exit you used in your addon project. Your add-on functionally 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: 1. Enter the Project Management transaction. 2. Choose Deactivate project. 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 functionality to hook on to the other exits in the project.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 9 of 22

Transporting Add-on Projects To take advantage of the exits in the R/3 System, you must create an add-on project. This project contains at least one SAP enhancement package and all the user exits assigned to this package. Your add-on project also holds the add-on functionality you create to hang onto the exit hooks. When you first create an add-on project, you must assign the project to a change task. You also need to allocate a change task number for every add-on component you develop, such as include programs, subscreens, and menu texts. You can use the same change task number for all your project components. If your project is spread out over more than one change task, you should assign these tasks to the same transport request. Once you have completed your project, release your change tasks. As a final step, release the transport request that contains all the change tasks for your project. The system will export your add-on project and coordinate its import into a consolidation or productive system. You must then ensure that your add-on project is active.

2 3

Creating Customer-specific Menus

Menu exits allow you to add your own functions to the pulldown menus in standard R/3 transactions. To take advantage of a menu exit, you first need to create a project as described in the section Creating an Enhancement Project. Then, you must include the SAP enhancement package that contains the menu exit you want to use. From the main screen of the Project Management transaction, do the following: 1. Select Enhancement components and choose Change. The system lists all the customer exits contained within the enhancement packages included in your project. 2. Place the cursor on the menu exit you want to add your own function to. 3. Choose Edit component. The system displays technical information about the menu entry for the standard SAP transaction. It also displays two input fields where you can specify a language and the text you want your menu item to have. 4. Enter the name of your menu function (such as Special order method ) in the field New text. 5. Choose Save text.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 10 of 22

Your special menu function will not appear in the pulldown menu of the corresponding standard transaction until you activate your enhancement project. Specifying a menu text and activating your project are not the only steps you need to take to make your own menu item work. After you carry out these steps, your menu item will appear, but it will not call a corresponding function. To make this connection to the corresponding function, you need to create a function module for the function exit associated with your menu text. This function exit is part of the same SAP enhancement that contains the menu exit you used. Creating Customer-specific Function Modules tells you more about how to use function exits.

2 3

Creating Customer-specific Subscreens

Screen exits allow you to add your own fields to specified screens in standard R/3 transactions. To take advantage of customer subscreens, you first need to create a project as described in the section Creating an Enhancement Project. Then, you must include the SAP enhancement that contains the screen exit you want to use. From the main screen of the Project management transaction, do the following: 1. Select Enhancement components and choose Change. The system lists all the customer exits contained within the enhancements included in your project. 2. Place the cursor on the screen exit you want to create your own subscreen for. 3. Choose Edit component. The system prompts you to enter a development class for your subscreen. Use the development class that contains all of the objects created for this specific enhancement project. The system then transfers you to the Screen Painter. 4. Paint your subscreen using the Screen Painter. 5. Add modules to the screen flow logic as needed. Write the name of the module in the flow logic Editor, then double-click on the module name and let the system create the module automatically in the corresponding function module program. 6. Generate your screen and return to the Project management transaction using the BACK icon. Once you activate your enhancement project, the fields you defined in your subscreen will

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 11 of 22

appear within the standard R/3 transaction. Using Predefined Screen Data When you use a screen exit, you need to be aware of how your subscreen and the fields it contains relate to the data on the standard R/3 screen. The global data defined in the standard SAP program is not known to the program that controls your customer subscreen. In the same way, the fields you use in your subscreen are not known to the SAP program in which they appear. To compensate for this problem, SAP creates special flow logic modules when defining screen exits. SAP creates a special Process Before Input (PBO) module with a function exit. You can use this function exit to transfer specific field values from the SAP program to your customer subscreen. SAP also includes a Process After Input (PAI) module that has a function exit for transferring certain values back from your subscreen into the SAP program. The function exits in these PBO and PAI modules only become active when you create a real module for each exit. For more information on how to create customer-specific function modules, refer to the section Creating customer-specific function modules.
N o te

The importing and exporting parameters for the PBO and PAI function exits are predefined by SAP. As a result, you can only transfer values to and from your subscreen if they correspond to the parameters determined in the preexisting function exit interface.

2 3

Creating Customer-specific Function Modules

Function exits allow you to implement your own functionality or processing logic in standard R/3 programs. To take advantage of function exits, you first need to create a project as described in the section Creating an Enhancement Project. Then, you must include the SAP enhancement that contains the function exit you want to use. From the main screen of the Project management transaction, do the following: 1. Select Enhancement components and choose Change. The system lists all the customer exits contained within the enhancements included in your project. 2. Place the cursor on the function exit you want to use. 3. Choose Edit component. The system displays the function module prepared by the SAP application developer. To fill this module with your own functionality, use the include program (called ZXnnnU01) contained within the module. The function module and the include program are both within the name ranges reserved for customers. 4. Enter the include program in the function module by double-clicking on it. The system asks you if you want to create the include program. 5. Confirm that you want to create the include program. 6. Enter your function's source code in the Editor. 7. Save your include program.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 12 of 22

Using Predefined Interface Parameters When you use a function exit, you need to be aware of how your function module fits into the program logic of the standard R/3 program that calls it. When defining the call for your function module in the standard program, SAP can specify exactly what data can be transferred to and from the standard program. If the call for the customer function includes exporting and importing parameters, the customer function module itself will also have this predefined interface. You can not make changes to the general framework or interface of a function exit function module. You can only use the special include program to add your own programming logic. When you create the source code for your include program, you need to be aware of the restrictions set by the function exit's interface. You can only transfer values to and from your include program if these values are included in the function module's predefined interface. Using Sample Coding Provided by SAP SAP can supply sample coding for the functions exits it provides. You can copy this sample code into your include program. To use the sample code, do the following: 1. Create and save your customer include program as described in steps 1 - 6 under Creating Customer-specific Function Modules. 2. Return to the Project management transaction. 3. Display the exits in your project and place the cursor on the function exit you created an include program for. 4. Choose Edit Use SAP source code. If sample code exits, the system copies this code to your include program. If you have already written your own code in the include program, the system appends the sample to

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 13 of 22

your code. You are free to alter the sample code as needed. Declaring Global Data SAP may supply a function exit with predefined global data. Global data is required if, for example, SAP provides subroutines with a function exit. All global data defined by SAP is stored in an include called LXnnnTOP, where nnn stands for the other characters in the function group. You can define your own global data within any function exit. Take advantage of the ABAP/4 Development Workbench's navigational features when creating global data definitions: 1. Write the name of the field or internal table you want to define in the Editor. 2. Double-click on the field or table name. Since no data definition exists for the object, the system asks you if you want to define it. 3. Confirm that you want to create a new data definition. The system automatically creates a new include called ZXnnnTOP. Use this include to store all of the data definitions for your function exit or exits. Creating Subroutines SAP may include pre-programmed subroutines with certain function exits. These predefined subroutines are all stored in an include called LXnnnF00, where nnn stands for the other characters in the function group. You can call these routines from within your customer include program. You can also create your own subroutines. Use the Workbench's navigation when creating new subroutines, do the following: 1. Open the Editor and write the key word PERFORM followed by the name of your subroutine. 2. Double-click on the subroutine's name. Since the routine does not yet exist, the system asks if you wish to create it. 3. Confirm that you want to create a new subroutine. The system automatically creates an include called ZXnnnZZZ, where nnn stands for the other characters in the function group. This include should contain all the subroutines used in your customer function modules.
C a u tio n

Your central include program (called ZXnnnU01) contains the commands FUNCTION and ENDFUNCTION. For this reason, you should not use the key words FORM and ENDFORM in this include program. Calling Your Own Screens You can call your own screens from within a customer function module. You might want to call a screen to let users carry out certain processes that are not available in a standard R/3 transaction, for example. Use the Workbench's navigation to create your own screens and the flow logic associated with them. Proceed as follows: 1. Write the command CALL SCREEN xxx in the Editor. xxx stands for the screen number. 2. Double-click on the screen number. The system asks if you want to create the screen and then transports you to the Screen Painter tool.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 14 of 22

To create PBO and PAI modules, proceed as follows: 1. Write the names of the modules in the flow logic Editor. 2. Double-click on each name. The system creates the modules. At the same time, the system creates include programs that adhere to SAP's naming standards. Use the Workbench navigation to create any other program objects, such as events, that you want to include in your function module.

2 3

Creating Customer-specific Documentation

SAP's enhancement concept allows you to create your own key words and online help documentation for all data elements stored in the R/3 Repository. These documentation exits differ from the other exits described in this document in several ways: SAP application developers do not need to prepare special exits for data elements. You can customize the texts of all standard data elements in your R/3 System. You do not need to create an enhancement project to create your own documentation for data elements. Your own documentation texts are not affected when you activate and deactivate enhancement projects.

Creating Your Own Key Words and Short Text You can use the enhancement concept to create your own key words for data elements stored in the ABAP/4 Dictionary. The system uses key words on screens to identify entry fields. Data elements can have up to three key words of varying lengths. The data element BBBNR, for example, identifies the first part of a customer's international company number. The standard key words for this data element in the ABAP/4 Dictionary are: Comp.no.1 Company no 1 Company number 1 You might want to change these key words to reflect your company's own terminology. Instead of 'Company number 1,' you might want to identify the field as 'Corporate id.' If you change the key words with the enhancement concept, your new texts will appear in all SAP screens where any field maintains a direct reference to the data element your altered. If SAP deliberately modifies a key word in a standard screen, a direct reference to the original data element is dissolved. Changes you make to the key word with the enhancement concept will not appear in standard screens that no longer retain a direct reference to the modifed data element. You can identify such screen-specific modifications by looking in the Screen Painter. Display the field's screen attributes and examine the field Modific. If an 'x' appears, the SAP developer modified the data element's key word. Your own key word will not appear. The enhancement concept also allows you to alter a data element's short description. This brief text appears whenever a user calls up online help for that field with F1. To create your own key word and short text documentation, do the following: 1. Enter the Project management transaction by choosing Utilities Enhancements Project management from the ABAP/4 Development Workbench menu.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 15 of 22

2. Choose Text enhancements Key words Change. The system displays a dialog screen. 3. Enter the name of the data element. If you want to see a list of all the screens where this data element appears, choose Ref. to screen before proceeding to the next step. The reference list shows you how many standard R/3 screens will be affected by your new documentation. 4. Choose Change. 5. Edit the data element's key words and short description. 6. Save your changes. If you want to list all the data elements in your system that you have created customerspecific key words for, return to the main screen of the Project management transaction and choose Text enhancements Key words Display. The system displays all altered data elements and shows which changes were made. Restoring SAP and Customer Versions At some point you may want to restore all the standard SAP key words and short texts to the data elements you have altered. You can restore the standard texts from the main screen of the Project management transaction. Choose Text enhancements Key words Restore SAP version. Specify the SAP release from which the texts are to be restored. The restoration function is carried out by a special program that runs in the background. This program goes through all data elements in your R/3 System and restores the standard texts where required. Creating Your Own Online Documentation The enhancement concept allows you to create your own online documentation for all data elements in the ABAP/4 Dictionary. The system displays this documentation whenever a user chooses F1 to get more information about a screen field. The standard documentation for the R/3 data element BBBNR reads: 'Here, you enter the first 7 digits of the international location number'. You can extend this documentation with any information your users need. To write your own field documentation, proceed as follows: 1. Enter the Project management transaction by choosing Utilities Enhancements Project management from the ABAP/4 Development Workbench menu. 2. Choose Text enhancements Data elements New DE cust. docu. The system displays a dialog screen. 3. Specify the data element's name. If you want to see a list of all the screens where this data element appears, choose Ref. to screen before proceeding to the next step. The reference list shows you how many standard R/3 screens your new documentation will affect. 4. Choose Change. 5. On the next screen, ensure that the check box labelled Make available SAP documentation in the form of an INCL is activated. 6. Choose Create. 7. Write your own documentation. 8. Save your changes.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 16 of 22

2 3

Using Field Exits

Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field.
E x a m p le

The data element BBBNR identifies a company's international location number. You might want to set up your R/3 System so that all international location numbers are larger than 100. The field exit concept lets you create a special function module that contains this logic. You assign the special function module to the data element BBBNR. You then assign the module to any programs and screens in which users can add new international location numbers. When you activate your field exit, the system automatically triggers your special routine whenever a user enters a company location number. To create your own logic for a particular data element, proceed as follows: 1. Enter the Project management transaction by choosing Utilities Enhancements Project management from the ABAP/4 Development Workbench menu. 2. Choose Text enhancements Field exits. 3. Choose Field exit Create. 4. Enter the name of data element. 5. Choose Continue. The system takes you into the Function Library and suggests a name for your function module (FIELD_EXIT_BBBNR). You should use this name. 6. Create the source code and, if needed, global data for your function module. 7. Activate the function module. After you have created the processing logic for your field exit, you must assign the exit to one or more programs and screens. This assignment tells the system which screens to trigger your function module on.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 17 of 22

If your processing logic checks naming conventions for a certain field, for example, you might want to trigger the field exit module only on screens where new data can be written to the database. If another screen allows you to display data only, then you can leave out the special function module call. To assign your field exit module to one or more screens, proceed as follows: 1. Select the field exit. 2. Choose Assign prog./screen. 3. Enter the name of the program and the screen number. 4. Choose Save. For some fields, you might want to trigger a different processing logic on different screens. You can trigger screen-specific logic by allocating a field exit identifier when you make your screen assignments. A field exit identifier can be any number or letter. The field exit identifier tells the system to trigger the function module that has this identifier in its name.
E x a m p le

You create a field exit for the data element BBBNR. You make the following exit and screen assignments: Field exit Program Screen 1 SAPMI0IA 2300 2 SAPMI0IA 3450 If a user makes an entry into the BBBNR-related field in screen 2300, the system triggers the function module called FIELD_EXIT_BBBNR_1. If the user makes the same entry in screen 3450, the system triggers the function FIELD_EXIT_BBBNR_2. After you have created one or more function modules and assigned them to programs and screens, you need to activate the field exit. Choose Field exit Activate. The system will trigger the processing logic in your function modules according to the screen assignments you made.

The SAP Software Change Registration Procedure (SSCR) SSCR (SAP Software Change Registration) is a procedure, starting in Release 3.0A, for registering all manual changes to SAP source coding and SAP Dictionary objects. Exempted from the registration process are SAP matchcodes and tuning measures, such as the configuration of database indices and buffers. The new procedure will further improve the availability and reliability of production R/3 installations.
N o te

Modifying SAP source coding and SAP Dictionary objects voids - as before - SAP's warranty obligations. Advance corrections (patches) are exempted from this warranty limitation. What Is Registered? When Are Objects Registered?

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 18 of 22

How Does Registration Work? Who Can Use Registration? Request for Expansion of Customer Exits How Can Registration Take Place Without OSS Access? Registration for Internal SAP Systems created with unregistered evaluation copy of HLP2RTF

What Is Registered? The registration process involves every development user who creates, changes, or deletes objects (including customer objects) in your R/3 System.

When Are Objects Registered? Registration Takes Place When Validity Period of the Registration Registration Does Not Take Place for Automatic Registration

Registration Takes Place When SAP source coding (program) is changed A manual change is made to an SAP ABAP Dictionary object an advance correction is installed

Validity Period of the Registration Once an object has been registered, the corresponding key is saved locally and accessed automatically during future changes, regardless of which of the registered users performs the change. These keys remain valid indefinitely, even across release updates and upgrades.

Registration Does Not Take Place for Matchcodes Database indices Buffer configuration Customer objects, that is, objects that lie outside the SAP name range Objects that are changed due to automatic generation (e.g. from Customizing) Proprietary developments that have been implemented utilizing exits

BCMODIF.RTF
N o te

BC Enhancements to the SAP Standard

Page 19 of 22

When you configure database indices and buffer settings, you will have to use the following procedure to prevent a key entry prompt from appearing: 1. From the ABAP Dictionary, select DISPLAY and then Goto Technical configuration or Indices in the next screen. 2. Then select CHANGE. The system will only require a key entry when the change mode is selected directly.

Automatic Registration If SAP provides you with a solution to a problem in the form of program coding - as a fax or via the Online Correction Service (coming soon) in OSS - the specified objects will be registered automatically. You will receive the necessary keys together with the program coding.

How Does Registration Work? Registering a Development User Registering an Object Displaying an Overview

Registering a Development User Each development user must request a key, and is therefore registered. The key entry is prompted the first time a development user attempts to change one of the objects listed above. To register yourself as a developer, proceed as follows: 1. Log on to OSS. If you do not have an OSS user, please contact an employee at your company who does. This person can register you in OSS - you will be saved as the initiator. 2. Select REGISTRATION The screen for Registering Changes to SAP Objects is displayed 3. Enter the R/3 user name of the developer you want to register. The system displays a 20-digit key. 4. When the R/3 System prompts you to enter this key, either cut and paste or manually enter the key.

Registering an Object The registration of an object takes place the first time that object is changed in your R/3 System by a registered development user. If the same user changes the object again at a later time, repeat key entry is not required.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 20 of 22

To register an object, proceed as follows: 1. Log on to OSS. If you do not have an OSS user, please contact an employee at your company who does. This person can register you in OSS - you will be saved as the initiator. 2. Select REGISTRATION The screen for Registering Changes to SAP Objects is displayed 3. Click on the OBJECT button to change from development user registration to object registration. 4. Check the appropriate box when an advance correction is involved. 5. Enter the object type and the name of the object. This information is displayed in your R/3 Correction System when you attempt to change an object. The system displays a 20-digit key. 6. When the R/3 System prompts you to enter this key, either cut and paste or manually enter the key. created with unregistered evaluation copy of HLP2RTF

Displaying an Overview To display an overview of all registered objects in your system and their initiators, click on the "Overview" button in the Changes to SAP Objects screen. Double-click on a line in the list to display additional information (such as the developer's key, for example).

Who Can Use Registration? Every OSS user is authorized to register objects and development users, unless your OSS administrator has specifically revoked this authorization. Define one of your OSS users as the administrator. This user can then revoke the administrator authorization from the other users (the authorization is granted automatically when a user is created). To revoke an authorization, proceed as follows: 1. From the OSS screen Process Customer Messages, select Goto -> Administration. 2. To revoke the administrator authorization from an OSS user, deactivate the Administrator; to revoke the authorization for registering objects or development users, deactivate Object registration.

Request for Expansion of Customer Exits If you would like to have additional functionality at certain places in the R/3 System, enter a problem message in OSS in which you name the specific application. SAP will process your request and decide whether the functionality can be implemented in the next upgrade or whether a user exit can be provided.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 21 of 22

Overview of Customer Exits You can display a list of existing enhancements in the system. To do this, proceed as follows: Select ABAP/4 Workbench -> Environment --> Enhancements --> Project administration --> Utilities -> SAP enhancements.

How Can Registration Take Place Without OSS Access? In exceptional cases - for example, when the customer does not have access to OSS or the connection is down - customers can carry out registration via the SAP Hotline in Walldorf or their local HelpDesk. Where to Register Who Registers How to Register

Where to Register Registration is performed in CSP via the REGISTRATION button in the inbox.

Who Registers Registration will normally be performed by the staff members who record problems reported by phone. However, every I, D, and C user is authorized to carry out a registration. How to Register To register a developer or objects for a customer system, proceed as follows: 1. To register a developer or an object, you can use the steps described in the section on "How Does Registration Work?". You can also use the following extended functionality in CSP: You can select or enter the customer. You can select the initiator. The list of initiators includes all of a customer's messages. To add another initiator, use the regular procedure in CSP. Please note, however, that only employees from problem acceptance and R/3 Customer Service (Andreas Gaber) are authorized to define new reporters for OSS. You can enter a consecutive list of objects and then display an overview of the keys. You can then download that list and send it to the customer (by fax or mail).

2. Inform the customer of the key by phone or fax.

Registration for Internal SAP Systems Generally, internal systems are also subject to registration. The registration function has been completely deactivated in development systems, however, while modifications to objects in demonstration and training systems will have to be registered.

BCMODIF.RTF

BC Enhancements to the SAP Standard

Page 22 of 22

To register an object in an internal system, proceed as follows: 1. Select INTERNAL MESSAGES from your inbox and then press the REGISTRATION button in the subsequent screen. 2. Enter the installation number of the internal system. 3. Perform the steps described above.