Difference in user exit , fm and includes

HI,
What is user exit , function module and includes? What is the difference among them? When and how to use them? Please provide example.
Regards,
Pramod

Hi Pramod,
user exits, function modules and includes can not be compared to each other. Each one of them carry their own purpose and functionality.
User exit's help you in achieving the additional functionality that standard SAP doesnt offer.
For example, if your client requirement is add another tab in sales order in addition to the existing ones............it can be done using the user exit.
SAP has provided several user exits through which you provide the additional functionality to the client without disturbing the SAP standard code.
you can view SAP standard user exits using t-code: SMOD
Function modules help you in carrying out a specific task. They can be called into a program to perform a particular task and are resuable any number of times i.e. can be called into any program to perform the same task.
SAP has already provided many function modules, for example -  for determining exhange rates, reading texts etc.
Apart from the SAP standard ones, you can also develop your own function module using transaction code SE37 and use them appropriately.
Includes can be defined as sub programs.........they are part of a program. Include can either be local or global i.e. can be restricted to be used in a particular program and can be made available to other programs.
Basically, a main program is divided into several includes for a better understanding.
REWARD POINTS IF HELPFUL
Regards
Sai

Similar Messages

  • Difference between user exit,enhancement and BAdi

    hello guys,
    what is the difference between user exit,enhancement and BAdi.
    Please do let me know..
    Thanks in advance.
    regards,
    praveen.

    Pls do search the forum before posting*

  • DIfference Between User Exits, Screen Exits, Menu Exits And BADI

    Could any one let me know the exact/practical dIfference Between User Exits, Screen Exits, Menu Exits And BADI. ? And why BADIs are more proned to use?

    Hi,
    User Exits:
    A user exit is a three character code that instructs the system to access a program during system processing.
    SXX: S is for standard exits that are delivered by SAP.   XX represents the 2-digit exit number.
    UXX: U is for user exits that are defined by the user.  XX represents the 2-digit exit number
    Menu Exits:
    Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items 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 "+" (a plus sign). You specify the menu item’s text when activating the item in an add-on project.
    Screen Exits:
    Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.
    BADIs:
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software. 
    And why BADIs are more proned to use?
    In contrast to above customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).
    All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
    The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects.
    Regards,
    Ferry Lianto

  • What is difference between User Exits and BAPI

    hello sap gurus
    what is difference between User Exits and BAPIs

    http://www.sap-img.com/abap/what-is-user-exits.htm
    www.****************
    Where as this customer exits are again divided into:
    1. Menu Exits.
    2. Field Exits.
    3. Screen Exits.
    4. Function module exits.
    These all the things comes under Enhancements.
    User exits
    1.A user exit is a three character code that instructs the system to access a program during system processing.SXX: S is for standard exits that are delivered by SAP.
    XX represents the 2-digit exit number.UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number
    2.USER EXITS are FORMS and are called by SAP standard programs
    using PERFORM.
    3.Inside the form (user exit) you can read and change almost
    any global data from host program.
    4. User exits are more flexible because you have more information to use in your code but on the other hand , it is very easy to manipulate erroneously global data and lead the standard program to a dump or even to make database inconsistent.
    5.While changing User-exit,Access Key is required,
    BAPI is nothing function module but which is remote enabled, means you can access this fm through other SAP or non-SAP system by assingning to business object,which we can crea in SWO1 transaction.
    more details see WWW.****************
    reward if helpful

  • Re: Difference between user-exits and enhancements

    Hi ,
    Can any one explain the difference between user-exits and enhancements with an exmpale.
    I will give u full points.
    thanks&regards,
    Bhushan-karra.

    Hi,
    User exit - A user exit is a three character code that instructs the system to access a program during system processing.
    SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.
    UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number
    Customer exit - The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original 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. *-- Mani
    The following document is about exits in SAP :-
    The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications.
    SAP creates user 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.
    Types of Exits
    There are several different types of user exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.
    Menu Exits
    Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items 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 "+" (a plus sign). You specify the menu item’s text when activating the item in an add-on project.
    Screen Exits
    Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.
    Function Module Exits
    Function module exits add functions 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 pull down menu, you use a function module exit 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 screen exit fields. SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs.
    These calls have the following syntax:
    CALL CUSTOMER-FUNCTION ‘001’.
    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. Example: 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.
    Check these links for more details -
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1978b543b111d1896f0000e8322d00/frameset.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://sap.niraj.tripod.com/id21.html
    If this answers your question, please close the thread.
    Check this link also,
    https://forums.sdn.sap.com/click.jspa?searchID=5924777&messageID=3801056
    Thanks,
    Reward If Helpful.

  • User Exit's and BADI's

    HI  SAP Gurus,
    Can anybody please tell me what are user exits and BADI'S, and how are they used.
    Thanks in Advance.
    Sravanthi

    User exit - A user exit is a three character code that instructs the system to access a program during system processing.
    SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.
    UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number
    The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications.
    SAP creates user exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality.
    An example of a user exits :-
    MODULE user_exit_0001 INPUT
    CASE okcode.
    WHEN 'BACK OR EXIT'.
    CASE sy-dynnr.
    WHEN '100'.
    SET SCREEN 0.
    LEAVE SCREEN.
    WHEN '200'.
    Note that you can write any code that satisfy your needs. ****
    But in this case, this was wrote as a sample code for reference sake. ****
    And you can test it. ****                                                                               
    SET SCREEN 100.
    LEAVE SCREEN.
    ENDCASE.
    ENDCASE.
    BADI: can be used for multiple implementations
    that is the difference between user exit and Badi.
    which-ever thing you execute that related code will be executed.
    see the Badi's doc
    Business Add-Ins
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
    In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
    • In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    Courtesy - Kushagra

  • User exit EXIT_SAPLL03T_002 and jobs

    Hi everybody,
    I have a problem with user exit EXIT_SAPLL03T_002 and trx LT12, i put code (the code is in the end) in the user exit in order to update the field QNAME from the standar table LTAP, the sentences for the update are in a job.
    The problem is when a run the LT12, put the order and press enter the trx finish normally, but when i see the jobs resumen (SM37) there isnt any job.
    Thank you for your help, see you.
      INCLUDE ZXLTOU02                                                   *
    DATA:
        WJ_JTANUM LIKE LTAP-TANUM,
        WJ_LGNUM LIKE LTAP-LGNUM,
        WJ_WERKS LIKE LTAP-WERKS,
        WJ_USER LIKE SY-UNAME,
    Parametros para el Job
        l_numero  LIKE tbtcjob-jobcount,    "ID de un job de fondo
        l_fecha   LIKE tbtcjob-laststrtdt,  "Fecha de ejecución más tardía
        l_hora    LIKE tbtcjob-laststrttm,  "Ultima hora de ejecución para
        l_jobname LIKE tbtco-jobname VALUE 'JOB_RF',
        W_USER LIKE SY-UNAME,
        W_HORA LIKE SY-UZEIT,
        W_DIA LIKE SY-DATUM.
    GET PARAMETER ID 'mb_usuario' FIELD W_USER.
    Solo lo realiza para la transaccion LM05 y LM07
    y si es por logueo No SAP
    ***ANTIGUO
    *IF ( SY-TCODE EQ 'LM05' OR
      SY-TCODE EQ 'LM07' OR SY-TCODE EQ 'LM03' OR
      SY-TCODE EQ 'LM04') AND ( W_USER NE '' ).
    **********ACTUALIZADO 07/02*********
    IF ( SY-TCODE EQ 'LM05' OR
       SY-TCODE EQ 'LM07' OR SY-TCODE EQ 'LM03' OR
       SY-TCODE EQ 'LM04' OR SY-TCODE EQ 'LT12' ) AND ( W_USER NE '' ).
    ojo
      UPDATE ZTMB_USERCOLA
        SET STATU = ' ' DOCNUM = ' '
        WHERE
        BNAME = W_USER.
      GET PARAMETER ID 'mb_hora' FIELD W_HORA.
      GET PARAMETER ID 'mb_dia' FIELD W_DIA.
      CALL FUNCTION 'JOB_OPEN'
             EXPORTING
                  jobname          = l_jobname
             IMPORTING
                  jobcount         = l_numero
             EXCEPTIONS
                  cant_create_job  = 1
                  invalid_job_data = 2
                  jobname_missing  = 3
                  OTHERS           = 4.
        SUBMIT ZUPDATE_LTAP
            AND RETURN
              VIA JOB l_jobname NUMBER l_numero
                WITH WJ_TANUM = T_LTAP_VB-TANUM
                WITH WJ_LGNUM = T_LTAP_VB-LGNUM
                WITH WJ_WERKS = T_LTAP_VB-WERKS
                WITH WJ_USER = W_USER.
      Llama a la funcion para cerrar el Job
        CALL FUNCTION 'JOB_CLOSE'
             EXPORTING
                  jobcount             = l_numero
                  jobname              = l_jobname
                  strtimmed            = 'X'  "Inicio inmediato
             EXCEPTIONS
                  cant_start_immediate = 1
                  invalid_startdate    = 2
                  jobname_missing      = 3
                  job_close_failed     = 4
                  job_nosteps          = 5
                  job_notex            = 6
                  lock_failed          = 7
                  OTHERS               = 8.
    ENDIF.
    REPORT ZUPDATE_LTAP .
    PARAMETERS:
          WJ_TANUM LIKE LTAP-TANUM, " Numero de OT
          WJ_LGNUM LIKE LTAP-LGNUM, " Almacen
          WJ_WERKS LIKE LTAP-WERKS, " Centro
          WJ_USER LIKE SY-UNAME,    " Usuario SAP
          W_QNAME LIKE LTAP-QNAME.
    data: w_actual, w_timeout type i.
      Actualiza el campos de usuario
    w_actual = '0'.
    w_timeout = 0.
    while w_actual = '0' and w_timeout < 300.
      w_timeout = w_timeout + 1.
      WAIT UP TO 7 SECONDS.
      UPDATE LTAP
        SET QNAME = WJ_USER ZZRF_BNAME = WJ_USER
      WHERE
        TANUM = WJ_TANUM
            AND
        LGNUM = WJ_LGNUM
            AND
        WERKS = WJ_WERKS.
    AGREGANDO 4 ENERO
      UPDATE ZTMB_USERCOLA
        SET TPICKEO = SY-UZEIT FPICKEO = SY-DATUM
      WHERE
        LGNUM = WJ_LGNUM
            AND
        BNAME = WJ_USER.
    AGREGANDO 4 ENERO
      if sy-subrc = 0.
        w_actual = '1'.
       UPDATE LTAK SET ZZRF_BNAME = WJ_USER
       WHERE TANUM = WJ_TANUM AND
             LGNUM = WJ_LGNUM.
      endif.
      commit work.
    endwhile.

    Hi,
    Check the print parameters. Probably after execution you may be deleting the job.
    You can change the print parameters during runtime.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
       EXPORTING
         no_dialog                    = 'X'
         user                         = sy-uname
       IMPORTING
      OUT_ARCHIVE_PARAMETERS       =
         out_parameters               = params
         valid                        = ws_valid.
      IF ws_valid <> space.   
        params-pdest = 'LOCL'.  "Destination
        params-primm = ''.      "Print Immediately
        params-prnew = 'X'.     "New Spool Request.
        params-armod = '1'.     "Print: Archiving Mode - Print Only
        params-linct = 65.      "Rows
        params-linsz = 255.     "Cols
        params-paart = 'X_65_255'.
        params-prrec = sy-uname.  "User name
        params-prsap = ''.      "Print: SAP Cover Page
        params-prunx = ''.      "PRINT: Host spool cover page
        params-prcop = '001'.   "number of copies
        SUBMIT zmib_fiber_link_background
               WITH file     = i_file_list-name
               WITH rb1      = space
               WITH rb2      = c_x
               WITH p_launch = c_x
      VIA JOB ws_c_session NUMBER ws_c_jobnum
      EXPORTING LIST TO MEMORY 
        TO SAP-SPOOL
        WITHOUT SPOOL DYNPRO
        SPOOL PARAMETERS params
        AND RETURN.
    endif.
      CALL FUNCTION 'JOB_CLOSE'
           EXPORTING
                jobcount             = ws_c_jobnum
                jobname              = ws_c_session
                strtimmed            = 'X'
           EXCEPTIONS
                cant_start_immediate = 1
                invalid_startdate    = 2
                jobname_missing      = 3
                job_close_failed     = 4
                job_nosteps          = 5
                job_notex            = 6
                lock_failed          = 7
                OTHERS               = 8.
    Also check the sy-subrc after JOB_OPEN.
    Regards
    Subramanian

  • Please send material or good lionk on USER-EXIT,BADI and ENHANCEMENT

    Hi All,
    Please send some step by step material or good lionk on USER-EXIT,BADI and ENHANCEMENT which will be usefull for beginners like me.
    Thanks in advance
    Srikanta

    Hi Srikanta,
    Please see the SDN page for ABAP Enhancements and Modifications:
    https://www.sdn.sap.com/irj/sdn/abap?rid=/webcontent/uuid/109f5161-ee76-2910-cb99-db10b559ef4b [original link is broken]
    Cheers,
    Ville

  • BAPI,BADI ,BDC,ALE ,IDOC,USER EXIT,VALIDATION AND SMART FORMS.

    Dear Experts,
    I am pretty new in BAPI,BADI ,BDC,ALE ,IDOC,USER EXIT,VALIDATION AND SMART FORMS.
    Pls let me know for these topics shall i put the question in this community or should i put in any other form. Pl suggest me .
    Regards
    Shivas

    Plz SEARCH in SCN before posting ,you will get lot of posts .
    Don't use all caps in the subject line

  • Package name which contain user exit  in standard include name

    hai experts,
    can i know the package name which contain user exit mean standard include which contain forms of the perform. or give some suggestion to find this exit for purticular tcode.
    useful reply will be awarded.
    regards,
    jai.m

    Hai,
    it is not over thare....
    actualy i need to do some work at the time of the save document of mb1b transaction. my need is if any one exit or custmer exit or badi has trigger at the time of save the document in mb1b transaction.
    regards ,
    jai.m

  • Difference between user exit/Function exit / Customer exit and BADI

    Hi Guys,
    I am confused with the types of exits-user exit/Function exit / Customer exit and BADI.
    Can you tell me the difference between the different exits/Enhancements?
    Classify the following:
    what is the one which is shown in SMOD under enhancements? There are 3 sections in that - Function module, Screen and includes.
    What is the one which are called using -
    Call Customer-Function 001?
    Regards,
    Guru

    hi,
    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.
    Different types of enhancements
    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).
    advantages of enhancements
    Do not affect standard SAP source code
    Do not affect software upgrades
    Customer exit - The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original 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.
    Various types of customer exits
    Menu exits
    Screen exits
    Function module exits
    Keyword exits
    Menu exit
    Adding items to the pulldown menus in standard R/3 applications .
    Screen exit
    Adding 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 exit
    Adding functionality to R/3 applications. Function module exits play a role in both menu and screen exits.
    keyword exit
    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
    Hope this helps, Do reward.

  • What is the difference between User exit and BADI

    in user exit support to  4 types of exits(Menu exit,Screen exit,Field exit,Function module exit)in similar way  is badi  supported to all  type

    hi,
    BADIs (Business Add-Ins) are the new way in which SAP allows you to enter additional logic into an application, and is based on OO ABAP. (Methods in Interfaces) Transactions SE18/SE19.
    Customer Exits are the older method (which is still supported), whereby you create an include that is in a function module, which is called when the customer exit is activated. Transactions CMOD/SMOD.
    In terms of terminology, people often use the terms "Customer Exit" and "User Exit" interchangeably, however, strictly speaking, User Exits are places provided in subroutines (notably in the SD module) where you can insert your own code, but require a modification to an include (although it is provided for customers to change).
    They are two different methods to do the same thing: to check and update the data into std trx.
    The user-exit is the old concept based on function module
    The BADI is the new concept based on OO ABAP.
    So you can often to find a BADI and an USER-EXIT to do the same thing and you have to decide what you prefer to use.
    Anyway the new trx and the enjoy trx use BADIs as exit
    User-exits are SAP's oldest way of updating data in standard programs - see MV45AFZZ - Form Userexit_Save_Document_Prepare.
    Here you simply add ABAP code or add INCLUDES, etc
    Customer-exits were SAP's next generation. They are built on the concept of function modules - where you add your custom within the Z func modules.
    BADIs are SAP's newest and current way of updating data uisng Object-oriented concepts.
    Please check this link.
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Check the below links:
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/badi-vs-user-exit-405324
    http://www.sapfans.com/forums/viewtopic.php?t=172792
    User-Exit is a specific place in a transaction-process where SAP offers
    third parties to include there own business functionality. Actually
    User-Exit is the namespace used for Exits programmed by SAP specifically
    for SD. For the other modules it's called Customer-Exit.=20
    >Business Add-Ins (BADI) =20
    The use of object orientated code within SAP has lead to new method of
    enhancing standard SAP code called Business Add-Ins or BADI's for short.
    Although the implementation concept is based on classes, methods and
    inheritance you do not really have to understand this fully to implement
    a BADI.
    Difference between BADI's & User-Exit.
    1. Check the replies for your question which asked by another person.
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/569786
    2. Similar thread.
    http://www.sapfans.com/forums/viewtopic.php?p=559472&sid=99caa729618b18a8f7c46cc2f047af52
    3. Same question explained
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Badi Tutorials
    1. Sample program.
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    2. Implementing BADI.
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    Hope it helps.
    3. From help.sap.com
    http://help.sap.com/saphelp_nw04/helpdata/en/5f/071eed117c11d5b37d0050dadef62b/frameset.htm
    Pls : award points if it is useful

  • A/R User Exit Spec and code

    The spec -
    1.     Canadian tax - currently based on Freight type:   Read the country(?) Ship-from (plant jurisdiction) to Ship-to(customer jurisdiction) and the inco term on the line item of the sales order and if it's not equal to 'DDP' the line item tax classification will be set to '0' exempt. (This is freight that comes into Canada from the US)
    We will look at the shipto and shipfrom txjcd on the sales order document and billing document along with the inco term logic and we will tax freight when they are both Canada
    Example Scenario:
    For Freight charges where the Ship from is in Canada (Bedco, Artmedco, etc) and the Ship-to is in Canada the freight will always be taxable regardless of the inco term. This is freight that ships within Canada, no boarder crossing.
    2.     Regular Freight - US & Canada:  If separate line item on sales order, it may be exempt from tax based upon state. revisit
    a.     D.1 Freight included on the line item
    i.     The freight is passed to the external system by populating the field FREIGHT. The freight amount is always included in the base amount.
    ii.     An example to fill the freight using the user-exit:
    iii.     In the customer pricing procedure (for example ZUSA01) enter ‘4’ in the subtotal field of the freight condition type (OTC must have this configuration in the pricing procedure for the freight pricing conditions).
    iv.     In the customer structure CI_TAX_INPUT_USER, add the field KZWI4 as in KOMP-KZWI4.
    v.     In the user-exit, add the code CH_USER_CHANGED_FIELDS-FREIGHT_AM = I_INPUT_USER-KZWI4.
    3.     For PO Specific A/R Tax Exemptions using material tax class of ‘2’, pass the TAXM1 field to the ACCOUNT_NO field in Taxware
    oSolution:
    For PO Specific Tax Exemptions – CSR will go to the line item detail “Billing” Tab, Tax Classification field (TAXM1) and change that to “2” – One-Time Exemption. Configuration complete. 
    CSR will go to the “Text” Tab, Internal Item Notice and CSR will provide a brief description as to why that line is tax exempt.
    This the code----
    TABLES: KNVV, KNA1, KOMK, MLAN, T001W, KNVI.
    DATA: w_taxm1 LIKE mlan-taxm1,
          i_kna1 LIKE kna1,
          c_com_tax type com_tax,
          i_komk LIKE KOMK.
    *--- if this freight comes into canada from US then set TAXM1 to 0
    *----otherwise set TAXM1 to 2 and apply frieght charges. Set ACCNT_CLS
    *----to 'Y' each time TAXM1 is passed to ACCNT_NO.
    IF KNA1-LAND1 EQ 'CA'.
      IF C_COM_TAX-TXJCD_SF EQ C_COM_TAX-TXJCD_ST.
        CH_USER_CHANGED_FIELDS-FREIGHT_AM = I_INPUT_USER-KZWI4.
        w_taxm1 = 2.
        CH_USER_CHANGED_FIELDS-ACCNT_NO = W_TAXM1.
        CH_USER_CHANGED_FIELDS-ACCNT_CLS = 'Y'. 
      ELSEIF C_COM_TAX-TXJCD_SF NE C_COM_TAX-TXJCD_ST.
        C_COM_TAX-TXJCD_SF = C_COM_TAX-TXJCD_ST.
        C_COM_TAX-TXJCD_POA = C_COM_TAX-TXJCD_ST.  
        SELECT SINGLE * FROM KNVV
                        WHERE INCO1 = KOMK-INCO1
                        AND INCO1 NE 'DDP'.                     
        IF SY-SUBRC EQ 0.
          w_taxm1 = 0.
          CH_USER_CHANGED_FIELDS-ACCNT_NO = W_TAXM1.
          CH_USER_CHANGED_FIELDS-ACCNT_CLS = 'Y'.
        ENDIF.
      ENDIF.
    ENDIF.
    SELECT SINGLE taxkd FROM knvi INTO knvi-taxkd
                        WHERE kunnr = i_komk-kunwe
                        AND aland = i_komk-land1.
    IF SY-TCODE = 'VA01' OR SY-TCODE = 'VA02' OR SY-TCODE = 'VA03' OR
    SY-TCODE = 'VF01' OR SY-TCODE = 'VF02' OR SY-TCODE = 'VF03' OR SY-TCODE
    = 'VF04' OR SY-TCODE = 'VF05' OR SY-TCODE = 'VF05'.
       SELECT SINGLE * FROM kna1 INTO i_kna1
                       WHERE kunnr = i_komk-kunwe.
       IF i_KNA1-land1 EQ 'CA'.
          C_COM_TAX-TXJCD_SF = C_COM_TAX-TXJCD_ST.
          C_COM_TAX-TXJCD_POA = C_COM_TAX-TXJCD_ST.
       ENDIF.
    ENDIF.
    I am able to enter the user exit, but there is no value for KNA1-LAND1 or C_COM_TAX-TAXJCD_SF or C_COM_TAX-TAXJCD_ST. Does anyone what I am missing ? Please help.
    Thanks in advance !!!!
    N

    Hi NP ,
    which User exit ur using ? Are u talking abt MIRO or VF01.
    Regards
    Prabhu

  • User exit function module include how to write the code

    hi all,
    i am creating user exit  for ME22N  using this enhance  MM06E005 .
    in this i created subscreen and set some fields .
    that data has to be stoe in EKPO.
    inside the include i have to write the logic plz guide me how to follow .
    once i enter it will store on wish internal table and wish internal table to shall i move to EKPO .
    If Tcode is ME23N how to display data in disable mode.
    Regards,
    Hari.

    This is the code inside the function module .
    once i enter data in custom field the below wish table it will store.
    FUNCTION EXIT_SAPMM06E_016.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(I_EKPO) LIKE  EKPO STRUCTURE  EKPO
    *"     VALUE(I_AKTYP)
    *"     VALUE(I_CI_EKPO) LIKE  EKPO_CI STRUCTURE  EKPO_CI
    *"     VALUE(I_BSTYP) LIKE  EKKO-BSTYP
    *"     VALUE(I_NO_SCREEN)
    *"     VALUE(I_LFA1) LIKE  LFA1 STRUCTURE  LFA1
    *"     VALUE(I_LFM1) LIKE  LFM1 STRUCTURE  LFM1
    *"     VALUE(I_EKKO) LIKE  EKKO STRUCTURE  EKKO
    *"     VALUE(I_REKPO) LIKE  EKPO STRUCTURE  EKPO OPTIONAL
    *"     VALUE(I_KEKPO) LIKE  EKPO STRUCTURE  EKPO OPTIONAL
    *"     VALUE(I_AEKPO) LIKE  EKPO STRUCTURE  EKPO OPTIONAL
    *"     VALUE(I_REBAN) LIKE  EBAN STRUCTURE  EBAN OPTIONAL
    *"     VALUE(I_MT06E) LIKE  MT06E STRUCTURE  MT06E OPTIONAL
    *"     VALUE(I_EINA) LIKE  EINA STRUCTURE  EINA OPTIONAL
    *"     VALUE(I_EINE) LIKE  EINE STRUCTURE  EINE OPTIONAL
    *"     VALUE(I_EKPO_OLD) LIKE  EKPO STRUCTURE  EKPO OPTIONAL
    *"     VALUE(I_KOMP) LIKE  KOMP STRUCTURE  KOMP OPTIONAL
    *"     VALUE(I_ENJ_CALL) OPTIONAL
    *"  TABLES
    *"      TEKPO STRUCTURE  BEKPO OPTIONAL
    *"      TEKET STRUCTURE  BEKET OPTIONAL
    *"      TEKKN STRUCTURE  EKKNU OPTIONAL
    *"      TKOMV STRUCTURE  KOMV OPTIONAL
    INCLUDE ZXM06U41 .
    ENDFUNCTION.
    inside the INCLUDE ZXM06U41 .  i writen this code
    *&  Include           ZXM06U41
    DATA :
          FS_EKPO TYPE EKPO_CI.
    IF ( SY-TCODE EQ  'ME22N' OR SY-TCODE EQ 'ME23N'
          OR SY-TCODE EQ 'ME22' OR SY-TCODE EQ 'ME23' ) .
      LOOP AT TEKPO.
       IF ( TEKPO-EBELN EQ i_EKPO-EBELN
            AND TEKPO-EBELP EQ i_EKPO-EBELP ) .
        EKPO_CI-ZMATERIAL = TEKPO-ZMATERIAL.
        EKPO_CI-ZQUANTITY = TEKPO-ZQUANTITY.
        EKPO_CI-ZUNIT     = TEKPO-ZUNIT.
        EKPO_CI-ZPRICE    = TEKPO-ZPRICE.
        EKPO_CI-ZCURRENCY = TEKPO-ZCURRENCY.
       ENDIF.
      ENDLOOP.
    ENDIF.
    Regards,
    Hari.

  • Difference between User Exit & a Functional Module

    Dear all,
    Please help me in understanding ,what's an User Exit & a Functional Module in
    standard SAP.How do we define both of them.
    1.When  can/cannot I use an user exit?How to check for which T codes in PP
    Module an User Exit can be used or present.
    2.Can I use only a Functional Modules for Z developments or also an user Exit for
    Z developments?
    Please explain it in a simple way.
    It will be a great help for me,Expecting for your help.
    Regards
    Mangal

    user exit is a customised code used to extend or change normal SAP functionality.FM is a piece of reusable code uesed as a part of modularisation technique in SAP so that you can use this code again & again.
    1. you create FM through se37. First create function group which in return will contain your FM. you creates user exits through SMOD and CMOD. In case of some standard programs there are special includes where you can add u r own code to extend standard functionality. ( in pro sapmv45a include sapmvfzz used).
    to find an exit go to se80 or se84 give the package name and find exit corresponding to it ( ex for sales exits give package VA then search for exit )
    for second point i didnt get get what u want to know?
    for any z development u dont need at all to use exits u can do it thru SE38.USER-EXIT is add on functionality to customise u r standard transaction.
    i hope this will clear u r doubt.reward points if helpful.
    Rushikesh

Maybe you are looking for

  • S.M.A.R.T.--is it?

    I've been noticing the "S.M.A.R.T. capable but disabled" go by when my system boots up, so I looked it up in the manual.   So now I know what it is, but what I want to know is: is anyone using this?

  • Problems with Embedded Font MS PGothic

    Hello, After editing a document in Japanese, some characters will not show up. Normally i would attribute this to a missing font pack, but after reinstalling the Japanese font pack on the computer, we strill get the error message: "Cannot extract the

  • Perhaps same display problem...

    my wife was complaining lastnight that her ibook was locking up and doing "wierd screen things", so i let her use my powerbook adn went back to sleep. this morning, i was looking at her ibook, and here's what i found. after a minute or two after boot

  • Condition type- exclusion Indicator

    In condition types we can specify exclusion A- Invoice list O- Event X- Net price etc.. How are these used? What makes them differet? Venkat

  • How do I get back my overscan option?

    I need it I think to display full screen on my TV when I hook the mini displayport and HDMI cable to my Mac. My overscan button does not exist. I hear other people have the same issue. PLEASE HELP!