<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: User exit in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1412096#M198399</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai Venkat&lt;/P&gt;&lt;P&gt;go through the following Documents&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User Exits &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is determined be SAP where the sub screen will be displayed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The syntax is: CALL CUSTOMER-SUBSCREEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project, &lt;/P&gt;&lt;P&gt;and the project has been activated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function codes are only processed in the main screens flow logic&lt;/P&gt;&lt;P&gt;You are not allowed to enter a name for the subscreens command field&lt;/P&gt;&lt;P&gt;You are not allowed to define GUI stauses&lt;/P&gt;&lt;P&gt;You are not allowed to enter a value for Next screen&lt;/P&gt;&lt;P&gt;The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules. &lt;/P&gt;&lt;P&gt;These function modules belongs to the same function group as the subscreen Subscreens are edited with transaction CMOD. &lt;/P&gt;&lt;P&gt;When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next &lt;/P&gt;&lt;P&gt;time you display the calling screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The developer must create the subscreen and the corresponding PBO and PAI modules&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to identify screen exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.&lt;/P&gt;&lt;P&gt;Use transaction CMOD menu Utillities -&amp;gt; SAP enhancements to search for screen exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MENU EXITS&lt;/P&gt;&lt;P&gt;Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu &lt;/P&gt;&lt;P&gt;entries in the GUI interface. The developer can add his/her own text and logic for the menu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function codes for menu exits all start with "+" &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will &lt;/P&gt;&lt;P&gt;run report ZTEST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Goto transaction SE43 Area Menu Maintenance&lt;/P&gt;&lt;P&gt;In Area Menu Paramenter type 'S000' (S triple Zero)&lt;/P&gt;&lt;P&gt;Select Change and ignore all the warning screens&lt;/P&gt;&lt;P&gt;Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01&lt;/P&gt;&lt;P&gt;Goto transaction SE93 and create transaction +C01 that calls report ZTEST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USER EXITS&lt;/P&gt;&lt;P&gt;User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. &lt;/P&gt;&lt;P&gt;The code for the function module is writeen by the developer. You are not writing the code directly in the function module, &lt;/P&gt;&lt;P&gt;but in the include that is implemented in the function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The naming standard of function modules for functionmodule exits is: EXIT_&amp;lt;program name&amp;gt;&amp;lt;3 digit suffix&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The call to a functionmodule exit is implemented as: CALL CUSTOMER.-FUNCTION &lt;span class="lia-unicode-emoji" title=":red_heart:"&gt;❤️&lt;/span&gt; digit suffix&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The program for transaction VA01 Create salesorder is SAPMV45A&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL CUSTOMER-FUNCTION '003'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;xvbak = vbak&lt;/P&gt;&lt;P&gt;xvbuk = vbuk&lt;/P&gt;&lt;P&gt;xkomk = tkomk&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;lvf_subrc = lvf_subrc&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;xvbfa = xvbfa&lt;/P&gt;&lt;P&gt;xvbap = xvbap&lt;/P&gt;&lt;P&gt;xvbup = xvbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The exit calls function module EXIT_SAPMV45A_003&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. How to find user exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you know the Exit name, go to transaction CMOD. Choose menu Utillities-&amp;gt;SAP Enhancements. &lt;/P&gt;&lt;P&gt;Enter the exit name and press enter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will now come to a screen that shows the function module exits for the exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Using Project management of SAP Enhancements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We want to create a project to enahance trasnaction VA01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to transaction CMOD&lt;/P&gt;&lt;P&gt;Create a project called ZVA01&lt;/P&gt;&lt;P&gt;Choose the Enhancement assign radio button and press the Change button&lt;/P&gt;&lt;P&gt;In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only &lt;/P&gt;&lt;P&gt;be used i 1 project. If the enhancement is allready in use, and error message will be displayed&lt;/P&gt;&lt;P&gt;Press Save&lt;/P&gt;&lt;P&gt;Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.&lt;/P&gt;&lt;P&gt;Now the function module is displayed. Double click on include ZXVVAU04 in the function module&lt;/P&gt;&lt;P&gt;Insert the following code into the include: E_KUNNR = '2155'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Activate the include program. Go back to CMOD and activate the project. &lt;/P&gt;&lt;P&gt;Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have look at this links&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/ole.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/ole.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User-Exits System Tables&lt;/P&gt;&lt;P&gt;1. MODSAP &amp;amp; MODSAPT is the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Where we can give the enhancement name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Component type will be E&lt;/P&gt;&lt;P&gt;for getting the FMs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E Function exit&lt;/P&gt;&lt;P&gt;S Screens&lt;/P&gt;&lt;P&gt;T Tables&lt;/P&gt;&lt;P&gt;C GUI code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Finding User Exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to se93 and give the tcode to find the main program associated to it.&lt;/P&gt;&lt;P&gt;Go to se38 and give the main program.&lt;/P&gt;&lt;P&gt;Find the package associated to it.Go to-&amp;gt;Object Directory Entry.&lt;/P&gt;&lt;P&gt;Go to smod transaction.&lt;/P&gt;&lt;P&gt;Press f4.&lt;/P&gt;&lt;P&gt;Press Information System Button.&lt;/P&gt;&lt;P&gt;Give the Project(Dev Class).&lt;/P&gt;&lt;P&gt;Press enter.&lt;/P&gt;&lt;P&gt;Find the enhancements associated&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Creation of Field Exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step by step procedure for creating Field Exits&lt;/P&gt;&lt;P&gt;There are eight steps to creating a field exit:&lt;/P&gt;&lt;P&gt;Step 1: Determine Data Element&lt;/P&gt;&lt;P&gt;Step 2: Go To Field Exit Transaction&lt;/P&gt;&lt;P&gt;Step 3: Create Field Exit&lt;/P&gt;&lt;P&gt;Step 4: Create Function Module&lt;/P&gt;&lt;P&gt;Step 5: Code Function Module&lt;/P&gt;&lt;P&gt;Step 6: Activate Function Module&lt;/P&gt;&lt;P&gt;Step 7: Assign Program/Screen&lt;/P&gt;&lt;P&gt;Step 8: Activate Field Exit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 1: Determine Data Element&lt;/P&gt;&lt;P&gt;- Before you can begin adding the functionality for a field exit, you must know the corresponding data element.&lt;/P&gt;&lt;P&gt;- An easy way to determine the data element associated to a particular screen field is to:&lt;/P&gt;&lt;P&gt;Go the appropriate screen.&lt;/P&gt;&lt;P&gt;Position the cursor in the appropriate field.&lt;/P&gt;&lt;P&gt;Press &amp;#145;F1&amp;#146; for field-level help.&lt;/P&gt;&lt;P&gt;Click on the &amp;#145;Technical info&amp;#146; pushbutton (or press &amp;#145;F9&amp;#146;) on the help dialog box.&lt;/P&gt;&lt;P&gt;On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the ABAP/4 Dictionary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 2: Go To Field Exit Transaction&lt;/P&gt;&lt;P&gt;- The transaction to create field exits is CMOD.&lt;/P&gt;&lt;P&gt;- You can use the menu path Tools -&amp;gt; ABAP/4 Workbench -&amp;gt; Utilities -&amp;gt; Enhancements -&amp;gt; Project management.&lt;/P&gt;&lt;P&gt;- From the initial screen of transaction CMOD, choose the Text enhancements -&amp;gt; Field exits menu path.&lt;/P&gt;&lt;P&gt;- After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.&lt;/P&gt;&lt;P&gt;NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 3: Create Field Exit&lt;/P&gt;&lt;P&gt;- From the field exit screen of transaction CMOD, choose the Field exit -&amp;gt; Create menu path.&lt;/P&gt;&lt;P&gt;- After choosing this menu path, a dialog box will prompt you for the appropriate data element .&lt;/P&gt;&lt;P&gt;- Enter the data element name and click the &amp;#145;Continue&amp;#146; pushbutton.&lt;/P&gt;&lt;P&gt;- Now, you will be able to create the function module associated to the data element&amp;#146;s field exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 4: Create Function Module&lt;/P&gt;&lt;P&gt;- You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the &amp;#145;Continue&amp;#146; pushbutton.&lt;/P&gt;&lt;P&gt;- In the &amp;#145;Function module&amp;#146; field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:&lt;/P&gt;&lt;P&gt;FIELD_EXIT_&amp;lt;data element&amp;gt;&lt;/P&gt;&lt;P&gt;- You can add an identifier (an underscore followed by a single character ).&lt;/P&gt;&lt;P&gt;- The first function module for a data element&amp;#146;s field exit must be created without an identifier.&lt;/P&gt;&lt;P&gt;- To create the function module, click on the &amp;#145;Create&amp;#146; pushbutton, choose menu path Function module -&amp;gt; Create, or press &amp;#145;F5&amp;#146;. &lt;/P&gt;&lt;P&gt;- After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing &amp;#145;Enter&amp;#146;, you will be able to go ahead and create the function module.&lt;/P&gt;&lt;P&gt;- Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 5: Code Function Module&lt;/P&gt;&lt;P&gt;- From the function module&amp;#146;s attributes screen, click on the &amp;#145;Source code&amp;#146; pushbutton or choose the Goto -&amp;gt; Function module menu path to the code of the function module.&lt;/P&gt;&lt;P&gt;- Here you will add your desired functionality for the field exit.&lt;/P&gt;&lt;P&gt;- Remember that field exit&amp;#146;s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.&lt;/P&gt;&lt;P&gt;- You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 6: Activate Function Module&lt;/P&gt;&lt;P&gt;- After coding the function module, you must remember to activate it.&lt;/P&gt;&lt;P&gt;- Use the Function module -&amp;gt; Activate menu path to activate the function module.&lt;/P&gt;&lt;P&gt;- At this point, you can return to the field exit transaction.&lt;/P&gt;&lt;P&gt;- You should be able to 'green arrow' back to this transaction.&lt;/P&gt;&lt;P&gt;- When you return to the field exit transaction, you will see an entry for the newly created field exit.&lt;/P&gt;&lt;P&gt;- At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.&lt;/P&gt;&lt;P&gt;- Also, the field exit will not be triggered yet because it is inactive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 7: Assign Program/Screen&lt;/P&gt;&lt;P&gt;- This step is only needed if you want to make a field exit local.&lt;/P&gt;&lt;P&gt;- To make a field exit local, select the field exit and click on the &amp;#145;Assign prog./screen&amp;#146; pushbutton.&lt;/P&gt;&lt;P&gt;- In the dialog box , indicate the appropriate program name and screen number.&lt;/P&gt;&lt;P&gt;This information indicates that the field exit is local to the specified screen in the specified program.&lt;/P&gt;&lt;P&gt;- In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the &amp;#145;Fld. Exit&amp;#146; field.&lt;/P&gt;&lt;P&gt;- If this field is left blank, the function module triggered will be 'FIELD_EXIT_&amp;lt;data element&amp;gt;'.&lt;/P&gt;&lt;P&gt;- If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_&amp;lt;data element&amp;gt;_&amp;lt;identifier&amp;gt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 8: Activate Field Exit&lt;/P&gt;&lt;P&gt;- The field exit must be active for it to be triggered by the system.&lt;/P&gt;&lt;P&gt;- Activate the field exit by choosing the Field exit -&amp;gt; Activate menu path.&lt;/P&gt;&lt;P&gt;- After assigning the field exit to a change request, its status will change to &amp;#145;Active&amp;#146; and it will be triggered automatically on the appropriate screen(s).&lt;/P&gt;&lt;P&gt;NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;If you satisfy with this answers p.s Mark Points&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards&lt;/P&gt;&lt;P&gt;Sreenivasulu P&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Jun 2006 09:14:59 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-06-22T09:14:59Z</dc:date>
    <item>
      <title>User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1412095#M198398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi abapers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good after noon to all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz explain the user exit which u worked on with coding.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;Venkat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Jun 2006 09:12:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1412095#M198398</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-22T09:12:11Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1412096#M198399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai Venkat&lt;/P&gt;&lt;P&gt;go through the following Documents&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User Exits &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is determined be SAP where the sub screen will be displayed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The syntax is: CALL CUSTOMER-SUBSCREEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project, &lt;/P&gt;&lt;P&gt;and the project has been activated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function codes are only processed in the main screens flow logic&lt;/P&gt;&lt;P&gt;You are not allowed to enter a name for the subscreens command field&lt;/P&gt;&lt;P&gt;You are not allowed to define GUI stauses&lt;/P&gt;&lt;P&gt;You are not allowed to enter a value for Next screen&lt;/P&gt;&lt;P&gt;The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules. &lt;/P&gt;&lt;P&gt;These function modules belongs to the same function group as the subscreen Subscreens are edited with transaction CMOD. &lt;/P&gt;&lt;P&gt;When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next &lt;/P&gt;&lt;P&gt;time you display the calling screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The developer must create the subscreen and the corresponding PBO and PAI modules&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to identify screen exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.&lt;/P&gt;&lt;P&gt;Use transaction CMOD menu Utillities -&amp;gt; SAP enhancements to search for screen exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MENU EXITS&lt;/P&gt;&lt;P&gt;Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu &lt;/P&gt;&lt;P&gt;entries in the GUI interface. The developer can add his/her own text and logic for the menu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function codes for menu exits all start with "+" &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will &lt;/P&gt;&lt;P&gt;run report ZTEST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Goto transaction SE43 Area Menu Maintenance&lt;/P&gt;&lt;P&gt;In Area Menu Paramenter type 'S000' (S triple Zero)&lt;/P&gt;&lt;P&gt;Select Change and ignore all the warning screens&lt;/P&gt;&lt;P&gt;Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01&lt;/P&gt;&lt;P&gt;Goto transaction SE93 and create transaction +C01 that calls report ZTEST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USER EXITS&lt;/P&gt;&lt;P&gt;User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. &lt;/P&gt;&lt;P&gt;The code for the function module is writeen by the developer. You are not writing the code directly in the function module, &lt;/P&gt;&lt;P&gt;but in the include that is implemented in the function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The naming standard of function modules for functionmodule exits is: EXIT_&amp;lt;program name&amp;gt;&amp;lt;3 digit suffix&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The call to a functionmodule exit is implemented as: CALL CUSTOMER.-FUNCTION &lt;span class="lia-unicode-emoji" title=":red_heart:"&gt;❤️&lt;/span&gt; digit suffix&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The program for transaction VA01 Create salesorder is SAPMV45A&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL CUSTOMER-FUNCTION '003'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;xvbak = vbak&lt;/P&gt;&lt;P&gt;xvbuk = vbuk&lt;/P&gt;&lt;P&gt;xkomk = tkomk&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;lvf_subrc = lvf_subrc&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;xvbfa = xvbfa&lt;/P&gt;&lt;P&gt;xvbap = xvbap&lt;/P&gt;&lt;P&gt;xvbup = xvbup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The exit calls function module EXIT_SAPMV45A_003&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. How to find user exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you know the Exit name, go to transaction CMOD. Choose menu Utillities-&amp;gt;SAP Enhancements. &lt;/P&gt;&lt;P&gt;Enter the exit name and press enter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will now come to a screen that shows the function module exits for the exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Using Project management of SAP Enhancements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We want to create a project to enahance trasnaction VA01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to transaction CMOD&lt;/P&gt;&lt;P&gt;Create a project called ZVA01&lt;/P&gt;&lt;P&gt;Choose the Enhancement assign radio button and press the Change button&lt;/P&gt;&lt;P&gt;In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only &lt;/P&gt;&lt;P&gt;be used i 1 project. If the enhancement is allready in use, and error message will be displayed&lt;/P&gt;&lt;P&gt;Press Save&lt;/P&gt;&lt;P&gt;Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.&lt;/P&gt;&lt;P&gt;Now the function module is displayed. Double click on include ZXVVAU04 in the function module&lt;/P&gt;&lt;P&gt;Insert the following code into the include: E_KUNNR = '2155'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Activate the include program. Go back to CMOD and activate the project. &lt;/P&gt;&lt;P&gt;Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have look at this links&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/ole.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/ole.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User-Exits System Tables&lt;/P&gt;&lt;P&gt;1. MODSAP &amp;amp; MODSAPT is the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Where we can give the enhancement name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Component type will be E&lt;/P&gt;&lt;P&gt;for getting the FMs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E Function exit&lt;/P&gt;&lt;P&gt;S Screens&lt;/P&gt;&lt;P&gt;T Tables&lt;/P&gt;&lt;P&gt;C GUI code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Finding User Exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to se93 and give the tcode to find the main program associated to it.&lt;/P&gt;&lt;P&gt;Go to se38 and give the main program.&lt;/P&gt;&lt;P&gt;Find the package associated to it.Go to-&amp;gt;Object Directory Entry.&lt;/P&gt;&lt;P&gt;Go to smod transaction.&lt;/P&gt;&lt;P&gt;Press f4.&lt;/P&gt;&lt;P&gt;Press Information System Button.&lt;/P&gt;&lt;P&gt;Give the Project(Dev Class).&lt;/P&gt;&lt;P&gt;Press enter.&lt;/P&gt;&lt;P&gt;Find the enhancements associated&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Creation of Field Exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step by step procedure for creating Field Exits&lt;/P&gt;&lt;P&gt;There are eight steps to creating a field exit:&lt;/P&gt;&lt;P&gt;Step 1: Determine Data Element&lt;/P&gt;&lt;P&gt;Step 2: Go To Field Exit Transaction&lt;/P&gt;&lt;P&gt;Step 3: Create Field Exit&lt;/P&gt;&lt;P&gt;Step 4: Create Function Module&lt;/P&gt;&lt;P&gt;Step 5: Code Function Module&lt;/P&gt;&lt;P&gt;Step 6: Activate Function Module&lt;/P&gt;&lt;P&gt;Step 7: Assign Program/Screen&lt;/P&gt;&lt;P&gt;Step 8: Activate Field Exit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 1: Determine Data Element&lt;/P&gt;&lt;P&gt;- Before you can begin adding the functionality for a field exit, you must know the corresponding data element.&lt;/P&gt;&lt;P&gt;- An easy way to determine the data element associated to a particular screen field is to:&lt;/P&gt;&lt;P&gt;Go the appropriate screen.&lt;/P&gt;&lt;P&gt;Position the cursor in the appropriate field.&lt;/P&gt;&lt;P&gt;Press &amp;#145;F1&amp;#146; for field-level help.&lt;/P&gt;&lt;P&gt;Click on the &amp;#145;Technical info&amp;#146; pushbutton (or press &amp;#145;F9&amp;#146;) on the help dialog box.&lt;/P&gt;&lt;P&gt;On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the ABAP/4 Dictionary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 2: Go To Field Exit Transaction&lt;/P&gt;&lt;P&gt;- The transaction to create field exits is CMOD.&lt;/P&gt;&lt;P&gt;- You can use the menu path Tools -&amp;gt; ABAP/4 Workbench -&amp;gt; Utilities -&amp;gt; Enhancements -&amp;gt; Project management.&lt;/P&gt;&lt;P&gt;- From the initial screen of transaction CMOD, choose the Text enhancements -&amp;gt; Field exits menu path.&lt;/P&gt;&lt;P&gt;- After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.&lt;/P&gt;&lt;P&gt;NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 3: Create Field Exit&lt;/P&gt;&lt;P&gt;- From the field exit screen of transaction CMOD, choose the Field exit -&amp;gt; Create menu path.&lt;/P&gt;&lt;P&gt;- After choosing this menu path, a dialog box will prompt you for the appropriate data element .&lt;/P&gt;&lt;P&gt;- Enter the data element name and click the &amp;#145;Continue&amp;#146; pushbutton.&lt;/P&gt;&lt;P&gt;- Now, you will be able to create the function module associated to the data element&amp;#146;s field exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 4: Create Function Module&lt;/P&gt;&lt;P&gt;- You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the &amp;#145;Continue&amp;#146; pushbutton.&lt;/P&gt;&lt;P&gt;- In the &amp;#145;Function module&amp;#146; field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:&lt;/P&gt;&lt;P&gt;FIELD_EXIT_&amp;lt;data element&amp;gt;&lt;/P&gt;&lt;P&gt;- You can add an identifier (an underscore followed by a single character ).&lt;/P&gt;&lt;P&gt;- The first function module for a data element&amp;#146;s field exit must be created without an identifier.&lt;/P&gt;&lt;P&gt;- To create the function module, click on the &amp;#145;Create&amp;#146; pushbutton, choose menu path Function module -&amp;gt; Create, or press &amp;#145;F5&amp;#146;. &lt;/P&gt;&lt;P&gt;- After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing &amp;#145;Enter&amp;#146;, you will be able to go ahead and create the function module.&lt;/P&gt;&lt;P&gt;- Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 5: Code Function Module&lt;/P&gt;&lt;P&gt;- From the function module&amp;#146;s attributes screen, click on the &amp;#145;Source code&amp;#146; pushbutton or choose the Goto -&amp;gt; Function module menu path to the code of the function module.&lt;/P&gt;&lt;P&gt;- Here you will add your desired functionality for the field exit.&lt;/P&gt;&lt;P&gt;- Remember that field exit&amp;#146;s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.&lt;/P&gt;&lt;P&gt;- You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 6: Activate Function Module&lt;/P&gt;&lt;P&gt;- After coding the function module, you must remember to activate it.&lt;/P&gt;&lt;P&gt;- Use the Function module -&amp;gt; Activate menu path to activate the function module.&lt;/P&gt;&lt;P&gt;- At this point, you can return to the field exit transaction.&lt;/P&gt;&lt;P&gt;- You should be able to 'green arrow' back to this transaction.&lt;/P&gt;&lt;P&gt;- When you return to the field exit transaction, you will see an entry for the newly created field exit.&lt;/P&gt;&lt;P&gt;- At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.&lt;/P&gt;&lt;P&gt;- Also, the field exit will not be triggered yet because it is inactive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 7: Assign Program/Screen&lt;/P&gt;&lt;P&gt;- This step is only needed if you want to make a field exit local.&lt;/P&gt;&lt;P&gt;- To make a field exit local, select the field exit and click on the &amp;#145;Assign prog./screen&amp;#146; pushbutton.&lt;/P&gt;&lt;P&gt;- In the dialog box , indicate the appropriate program name and screen number.&lt;/P&gt;&lt;P&gt;This information indicates that the field exit is local to the specified screen in the specified program.&lt;/P&gt;&lt;P&gt;- In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the &amp;#145;Fld. Exit&amp;#146; field.&lt;/P&gt;&lt;P&gt;- If this field is left blank, the function module triggered will be 'FIELD_EXIT_&amp;lt;data element&amp;gt;'.&lt;/P&gt;&lt;P&gt;- If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_&amp;lt;data element&amp;gt;_&amp;lt;identifier&amp;gt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 8: Activate Field Exit&lt;/P&gt;&lt;P&gt;- The field exit must be active for it to be triggered by the system.&lt;/P&gt;&lt;P&gt;- Activate the field exit by choosing the Field exit -&amp;gt; Activate menu path.&lt;/P&gt;&lt;P&gt;- After assigning the field exit to a change request, its status will change to &amp;#145;Active&amp;#146; and it will be triggered automatically on the appropriate screen(s).&lt;/P&gt;&lt;P&gt;NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;If you satisfy with this answers p.s Mark Points&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards&lt;/P&gt;&lt;P&gt;Sreenivasulu P&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Jun 2006 09:14:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1412096#M198399</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-22T09:14:59Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1412097#M198400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Venkat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer the following link :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction" target="test_blank"&gt;http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points if it helps.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Jun 2006 09:15:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1412097#M198400</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-22T09:15:50Z</dc:date>
    </item>
  </channel>
</rss>

