<?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 User exit in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438600#M208861</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i'm working on Standard report called Revenue Recognization Program ( SDERAV01 ) my requirment is in output i have to display current date &amp;amp; current time additionally as per country wise for that report. I think it is an userexit but i don't know to write userexit can any on e send me code please ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to where in which event i have to write this logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thnx &amp;amp; regds &lt;/P&gt;&lt;P&gt;Venky&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 23 Jun 2006 09:47:02 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-06-23T09:47:02Z</dc:date>
    <item>
      <title>User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438600#M208861</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i'm working on Standard report called Revenue Recognization Program ( SDERAV01 ) my requirment is in output i have to display current date &amp;amp; current time additionally as per country wise for that report. I think it is an userexit but i don't know to write userexit can any on e send me code please ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to where in which event i have to write this logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thnx &amp;amp; regds &lt;/P&gt;&lt;P&gt;Venky&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Jun 2006 09:47:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438600#M208861</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-23T09:47:02Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438601#M208862</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;Field Exits Create&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;About User Exits&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;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;User Exits System Tables&lt;/P&gt;&lt;P&gt;&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;Thanks &amp;amp; regards&lt;/P&gt;&lt;P&gt;Sreenivasulu P&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Jun 2006 09:52:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438601#M208862</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-23T09:52:52Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438602#M208863</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Venky,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't think there's a user-exit available for this report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want the enhancements done, you need to either -&lt;/P&gt;&lt;P&gt;1. Modify the existing report to include your fields in the ALV&lt;/P&gt;&lt;P&gt;or&lt;/P&gt;&lt;P&gt;2. Write your own program by copying this program and making the additional changes. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Anand Mandalika.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Jun 2006 09:54:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438602#M208863</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-23T09:54:58Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438603#M208864</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello fr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This link gives step by step procedure for creating field exit with snapshots.&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/enhance/fexits.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/enhance/fexits.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/field-exits-smod-cmod-questions-and-answers.htm" target="test_blank"&gt;http://www.sap-img.com/abap/field-exits-smod-cmod-questions-and-answers.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Please reward.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Jun 2006 14:04:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438603#M208864</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-23T14:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438604#M208865</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;&lt;/P&gt;&lt;P&gt;User Exits are a method whereby the end user can add extra functionality or&lt;/P&gt;&lt;P&gt;change to a certain degree the way that SAP performs certain functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How are they implemented ?&lt;/P&gt;&lt;P&gt;User Exits are implemented in such a way that unlike changes to SAP&lt;/P&gt;&lt;P&gt;standard code, they will survive across upgrades and hot pack applications.&lt;/P&gt;&lt;P&gt;They are also User Objects and can therefore be implemented without the&lt;/P&gt;&lt;P&gt;need of requesting an SSCR from SAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Within the standard SAP programs at key points are calls to function&lt;/P&gt;&lt;P&gt;modules starting with 'EXIT_'. These function modules generally accept as&lt;/P&gt;&lt;P&gt;input parameters structures containing for example the entire Order Header&lt;/P&gt;&lt;P&gt;(VBAK) of the sales order just entered, or perhaps a table of the Order&lt;/P&gt;&lt;P&gt;Items. These function calls are placed at points such as just before the&lt;/P&gt;&lt;P&gt;Order is saved or just before it is printed and so on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These function modules contain a single include statement. The name of this&lt;/P&gt;&lt;P&gt;include is in the User domain and starts with Z. This enables it to be&lt;/P&gt;&lt;P&gt;edited without the need for an SSCR and also prevents it being overwritten&lt;/P&gt;&lt;P&gt;during upgrades.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once this include has been created and activated, and the user exit is&lt;/P&gt;&lt;P&gt;activated the User exit becomes functional.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Implementing a User Exit.&lt;/P&gt;&lt;P&gt;User Exits are implemented using the transaction code 'SMOD'. Enter this in&lt;/P&gt;&lt;P&gt;the command line and press the Enter key. This will then show the SMOD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User Exits are assigned a project name which begins with Z. Having entered&lt;/P&gt;&lt;P&gt;the relevant name in the 'Project' field, click the Create (or Change)&lt;/P&gt;&lt;P&gt;button as applicable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you are creating a new project, the projects attribute screen will be&lt;/P&gt;&lt;P&gt;displayed. This allows you to enter a title for the project and allows&lt;/P&gt;&lt;P&gt;access to the Enhancements (User Exits) that you want to assign to the&lt;/P&gt;&lt;P&gt;project and the components that you wish to use within those enhancements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This screen allows you to enter a description of the project. Once you have&lt;/P&gt;&lt;P&gt;done this, click the save button. You will be asked as usual to assign a&lt;/P&gt;&lt;P&gt;development class and create a transport.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once the transport has been created you can then go on to assign the&lt;/P&gt;&lt;P&gt;enhancements that you wish to use to the project.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Locating The Enhancements For A Project.&lt;/P&gt;&lt;P&gt;Unfortunately I have access to a 4.6C system only so therefore this&lt;/P&gt;&lt;P&gt;description is based around that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To find enhancements for a particular program locate the Development Class&lt;/P&gt;&lt;P&gt;for the relevant program. Run the transaction and on the first input screen&lt;/P&gt;&lt;P&gt;click on the Status button. This provides the program name. Another method&lt;/P&gt;&lt;P&gt;of finding the program name is to use transaction SE93 which is the&lt;/P&gt;&lt;P&gt;Create/Modify Transaction transaction. Enter the transaction code and click&lt;/P&gt;&lt;P&gt;display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In either case, cut the program name and then enter it into transaction&lt;/P&gt;&lt;P&gt;SE38 ? the ABAP program editor. Select the 'Attributes' radio button and&lt;/P&gt;&lt;P&gt;click display. Note the Development Class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In 46C, go back to the SMOD main screen, enter the project name and select&lt;/P&gt;&lt;P&gt;the 'Enhancement Assignment' radio button.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click the change button. This will display the enhancement assignment&lt;/P&gt;&lt;P&gt;screen. Position the cursor in the first field and press the &amp;lt;F4&amp;gt; key. This&lt;/P&gt;&lt;P&gt;will display the Input Help personal list window, a standard window that&lt;/P&gt;&lt;P&gt;you should be familiar with. Click the 'Information System' button and&lt;/P&gt;&lt;P&gt;enter the development class located above into the development class field.&lt;/P&gt;&lt;P&gt;Click the green tick.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will display a list of enhancements for that particular development&lt;/P&gt;&lt;P&gt;category with a short description of what they do.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select relevant description which will be transferred back to the&lt;/P&gt;&lt;P&gt;Enhancement Assignment screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For versions other than 46C, use transaction SE37 which is the Function&lt;/P&gt;&lt;P&gt;Module editor, in the function module name field press the &amp;lt;F4&amp;gt; key and&lt;/P&gt;&lt;P&gt;select further options. One of these will be the development class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clicking the enhancement button provides information on the enhancement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The information displayed in this report includes whether the enhancement&lt;/P&gt;&lt;P&gt;has been implemented, and is active. (Green things scattered throughout the&lt;/P&gt;&lt;P&gt;report). Clicking the Exit name (In this case 'EXIT_SAPLV60A_002' will&lt;/P&gt;&lt;P&gt;display the relevant function module:&lt;/P&gt;&lt;P&gt;To create the enhancement, double click the Include name. This then takes&lt;/P&gt;&lt;P&gt;you into SE38 where you can edit the include to your hearts content.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for eg:&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;&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;Regards,&lt;/P&gt;&lt;P&gt;Laxmi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Laxmi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Jun 2006 14:33:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/1438604#M208865</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-23T14:33:09Z</dc:date>
    </item>
  </channel>
</rss>

