<?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 Exits in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174274#M461601</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Reddy,&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;1. Introduction &lt;/P&gt;&lt;P&gt;2. How to find user exits &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;1. Introduction: &lt;/P&gt;&lt;P&gt;&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. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The naming standard of function modules for functionmodule exits is:  &lt;/P&gt;&lt;P&gt;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: &lt;/P&gt;&lt;P&gt;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 &lt;/P&gt;&lt;P&gt;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;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. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Choose menu Utillities-&amp;gt;SAP Enhancements. 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, 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;&lt;/P&gt;&lt;P&gt;In the first column enter V45A0002 Predefine sold-to party in sales document.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that an enhancement can only be used in 1 project. If the enhancement is already in use, and error message will be displayed &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Press Save &lt;/P&gt;&lt;P&gt;&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;&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;&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;&lt;/P&gt;&lt;P&gt;Goto transaction VA01 and craete a salesorder.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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;&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&gt;Reward points if it solves ur query or answer is helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Chinmay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 27 Apr 2007 07:08:36 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-27T07:08:36Z</dc:date>
    <item>
      <title>User Exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174270#M461597</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Guys,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Iam new to User-Exits can anyone explain below summary step-by-step in detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Coded user exits. USEREXIT_PRICING_PREPARE_TKOMK was coded to include new header fields and USEREXIT_PRICING_PREPARE_TKOMP was   &lt;/P&gt;&lt;P&gt;coded to include new item fields for pricing in billing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Reddy.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 18:35:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174270#M461597</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T18:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: User Exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174271#M461598</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In Pricing in SD the fields on the basis of which pricing is done are derived from the FIELD CATALOG which is a structure KOMG .This structure is used to transfer transaction data to the pricing procedure in SD and is also known as communication structure.This structure KOMG consists of two tables KOMK for Header related fields and KOMP for item related fields. &lt;/P&gt;&lt;P&gt;   The fields which are not in either of the two tables KOMK and KOMP&lt;/P&gt;&lt;P&gt;cannot be used in pricing .Sometimes a need arises when the pricing&lt;/P&gt;&lt;P&gt;is to be based on some other criteria which is not present in the form of fields in either of the two tables.&lt;/P&gt;&lt;P&gt;  This problem can be solved by using USEREXITS which are provided for pricing in SD.&lt;/P&gt;&lt;P&gt;  Pricing takes place both when the SALES ORDER ( Transaction VA01) is created as well as when INVOICING ( Transaction VF01) is done.Hence SAP provides 2 userexits ,one for sales order processing which is&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;USEREXIT_PRICING_PREPARE_TKOMP  or&lt;/P&gt;&lt;P&gt;USEREXIT_PRICING_PREPARE_TKOMK&lt;/P&gt;&lt;P&gt;Depending upon which table (KOMK or KOMP) the new fields were inserted we use either of the above two userexits.These userexits are found in include MV45AFZZ of the standard SAP sales order creation program SAPMV45A.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;In the case of userexit which will be called when invoicing is done ,these&lt;/P&gt;&lt;P&gt;are provided in the include RY60AFZZ which is in the standard SAP&lt;/P&gt;&lt;P&gt;program SAPMV45A. The name of the userexits are same. i.e&lt;/P&gt;&lt;P&gt;USEREXIT_PRICING_PREPARE_TKOMP  or&lt;/P&gt;&lt;P&gt;USEREXIT_PRICING_PREPARE_TKOMK&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;These userexits are used for passing the data from the communication structure to the pricing procedure, for this we have to fill the newely&lt;/P&gt;&lt;P&gt;created field in the communication structure KOMG for this we fill the code in the above userexit using the MOVE statement after the data that&lt;/P&gt;&lt;P&gt;has to be passed is taken from the database table by using the SELECT statement. The actual structure which is visible in these userexits and which is to be filled for that particular field is TKOMP or TKOMK.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Before the coding for these userexits is done ,it is necessary to create a new field in either of the two tables KOMK or KOMP .For this purpose&lt;/P&gt;&lt;P&gt;includes are provided in each of them .&lt;/P&gt;&lt;P&gt; To create the field in header data(KOMK) the include provided is KOMKAZ&lt;/P&gt;&lt;P&gt; and to create the field in item data(KOMP) the include provided is KOMPAZ.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;One possible example for the need of creating new fields can be e.g. Frieght to be based upon transportation zone ,for this no field is available in field catalog and hence it can be created in KOMK and then above userexits can be used to fill the transportation data to it.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;2)The other method of finding userexit is to find the word USEREXIT in the&lt;/P&gt;&lt;P&gt;associated program of the transaction for which we want to determine userexit using SE38. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3)The other method of finding userexits is to find the include in case of SD/MM applications where the userexits are located ,this can be found in the SAP reference IMG generally in the subfolder under SYSTEM MODIFICATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this will help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Amey&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 18:42:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174271#M461598</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T18:42:53Z</dc:date>
    </item>
    <item>
      <title>Re: User Exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174272#M461599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi AMey,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can i have ur yahoo email id or gmail id i have some confusion in this example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Reddy.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 20:03:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174272#M461599</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T20:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: User Exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174273#M461600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically these user exits are used to move the custom fields to the communication structure KOMK &amp;amp; KOMP...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let's say an example..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You want to propose a condition type based on a value from the custom table..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Add a custom field (a flag) to the structure KOMK or KOMP using append structures..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Then in the user exit USEREXIT_PRICING_PREPARE_TKOMK..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the values from the custom table..Then based on that pass 'X' or ' ' to the structure TKOMK or TKOMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) Then create a VOFM routine use the communication structure KOMK or KOMP..to propose the condition type..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically the communication structures KOMK or KOMP are used for having values from the transaction and based on that the condition records are proposed..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 20:28:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174273#M461600</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T20:28:46Z</dc:date>
    </item>
    <item>
      <title>Re: User Exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174274#M461601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Reddy,&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;1. Introduction &lt;/P&gt;&lt;P&gt;2. How to find user exits &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;1. Introduction: &lt;/P&gt;&lt;P&gt;&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. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The naming standard of function modules for functionmodule exits is:  &lt;/P&gt;&lt;P&gt;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: &lt;/P&gt;&lt;P&gt;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 &lt;/P&gt;&lt;P&gt;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;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. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Choose menu Utillities-&amp;gt;SAP Enhancements. 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, 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;&lt;/P&gt;&lt;P&gt;In the first column enter V45A0002 Predefine sold-to party in sales document.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that an enhancement can only be used in 1 project. If the enhancement is already in use, and error message will be displayed &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Press Save &lt;/P&gt;&lt;P&gt;&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;&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;&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;&lt;/P&gt;&lt;P&gt;Goto transaction VA01 and craete a salesorder.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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;&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&gt;Reward points if it solves ur query or answer is helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Chinmay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Apr 2007 07:08:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/2174274#M461601</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-27T07:08:36Z</dc:date>
    </item>
  </channel>
</rss>

