Insert BADI into a USER EXIT

Hi all,
1. I want to insert a BADI into  a user exit located on a SAP program. Can this be done? and How?
2. I want to insert a BADI into a SALES and Dsitribution program that only has user exits. Can I just insert the BADI into the program by using the 'CALL BADI' statement or not?, and does adding the BADI into the SAP program affects the SAP standard.

http://help.sap.com/saphelp_nw04s/helpdata/en/42/f96b8bbaf93268e10000000a1553f6/content.htm
Check this link will help you.

Similar Messages

  • Badi's or user exits

    i am extending my question on other topic..
    now badi's or user exits.. or both...
    thanks..
    raj

    Hi
    DEFINING THE BADI
    1) execute Tcode SE18.
    2) Specify a definition Name : ZBADI_SPFLI
    3) Press create
    4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
    multiple use.
    5) Choose the interface tab
    6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
    7) Dbl clk on interface name to start class builder . specify a method name (name,
    level, desc).
    Method level desc
    Linese;ection instance methos some desc
    8) place the cursor on the method name desc its parameters to define the interface.
    Parameter type refe field desc
    I_carrid import spfli-carrid some
    I_connid import spefi-connid some
    9) save , check and activate…adapter class proposed by system is
    ZCL_IM_IM_LINESEL is genereated.
    IMPLEMENTATION OF BADI DEFINITION
    1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
    2) Specify aname for implementation ZIM_LINESEL
    3) Specify short desc.
    4) Choose interface tab. System proposes a name fo the implementation class.
    ZCL_IM_IMLINESEL which is already generarted.
    5) Specify short desc for method
    6) Dbl clk on method to insert code..(check the code in “AAA”).
    7) Save , check and activate the code.
    Some useful URL
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    Now write a sample program to use this badi method..
    Look for “BBB” sample program.
    “AAA”
    data : wa_flights type sflight,
    it_flights type table of sflight.
    format color col_heading.
    write:/ 'Flight info of:', i_carrid, i_connid.
    format color col_normal.
    select * from sflight
    into corresponding fields of table it_flights
    where carrid = i_carrid
    and connid = i_connid.
    loop at it_flights into wa_flights.
    write:/ wa_flights-fldate,
    wa_flights-planetype,
    wa_flights-price currency wa_flights-currency,
    wa_flights-seatsmax,
    wa_flights-seatsocc.
    endloop.
    “BBB”
    *& Report ZBADI_TEST *
    REPORT ZBADI_TEST .
    tables: spfli.
    data: wa_spfli type spfli,
    it_spfli type table of spfli with key carrid connid.
    *Initialise the object of the interface.
    data: exit_ref type ref to ZCL_IM_IM_LINESEL,
    exit_ref1 type ref to ZIF_EX_BADISPFLI1.
    selection-screen begin of block b1.
    select-options: s_carr for spfli-carrid.
    selection-screen end of block b1.
    start-of-selection.
    select * from spfli into corresponding fields of table it_spfli
    where carrid in s_carr.
    end-of-selection.
    loop at it_spfli into wa_spfli.
    write:/ wa_spfli-carrid,
    wa_spfli-connid,
    wa_spfli-cityfrom,
    wa_spfli-deptime,
    wa_spfli-arrtime.
    hide: wa_spfli-carrid, wa_spfli-connid.
    endloop.
    at line-selection.
    check not wa_spfli-carrid is initial.
    create object exit_ref.
    exit_ref1 = exit_ref.
    call method exit_ref1->lineselection
    EXPORTING
    i_carrid = wa_spfli-carrid
    i_connid = wa_spfli-connid.
    clear wa_spfli.
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written 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.
    The naming standard of function modules for functionmodule exits is:
    EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Difference between BADI's and User Exits.

    Hi Experts,
        I want to know the difference between BADI's and User Exits....
    What i know is BADI's are Object oriented But User exits are normal Programs.....i think in User exits also we can write Object oriented program.....
    AND one more is BADI's are multiple use but user exits are not,,,,
    IF BADI's are multiple use like all BADI's are multiple use or some....is there any performance issues,,,i need to know gurus .......and please provide to me more than this.........
    Thanks
    Venkat

    User exits are some provisional space in the standard program for you to write your own business functionality.
    BADI's are soem of the business add-in's that comes along with the standard SAP product but are disabled as most of the customers do not need it. So for those customers who need this will have to activate it and that functionality will be avilable in the transaction.
    - guru
    Reward points for helpful answers

  • BADI v/s user exit

    Hi Friends,
    I'm unable to decide whether to use  user exits or badis. What does SAP recommend.
    Example, if i want to add new tab in item details of PO...do i have to use badi or user exit and during PO creation if i want the to check a z tabl

    User Exit can be used only once , where as BADI can be used Multiple times..
    basing on that take a decision..

  • Badi with IPC User Exit

    hi guys!
    Need your help!
    Currently, i am doing an IPC user exit. I need one value from a BADI in CRM.
    I got a BADI implementation of CRM_PRIDOC_COM_BADI.
    How am i suppose to do to retrieve the value in user exit?
    Please help!
    Thanks!

    User Exit can be used only once , where as BADI can be used Multiple times..
    basing on that take a decision..

  • BAdi vs. User Exit

    Hi,
    I was exploring the world of BAdi's and its use. I went thru its documentation on help.sap.com.
    But I still could not understand completely its advantage over customer exits. I mean why should I opt for BAdi over Customer exit?
    Regards,
    Vikrant.

    Hi,
    Hi
    BAdi & Customer-Exit
    Though there a different enhancement technique, BAdi has following distinct features
    -Uses Object oriented approach
    -Two parts - Definition and its Implementation - definition can either be SAP provided or user may also create it
    -no longer assumes a two-system infrastructure (SAP and customers)
    -allows multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like)
    There is not much difference between a user exit and a BADI from a functional stand point. Both of them give us options write custom code that will fire in between the standard code. However, the way these have been implemented differ.
    One is implemented using function modules / includes (user exits) and the other one using classes and methods (BADI's).
    The best way to find out which user exit to use will be look at the parameters that are accessible and see if they contain the data that you are looking for. You can always put a break point and see if they are firing at the point where you require them.
    Cheers,
    SImha
    Mark all the helpful answers..

  • 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

  • Badi/user exit for tx vl02n

    Hi,
    I need to find a badi or a user exit thats triggered after pressing "save" in transaction vl02n.
    Help me please.
    Best regards,
    Roberto.

    hey
    .Code SE18 is used to Identify the BADI available.
    Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.
    Open Standard Program and do a global search 'CL_EXITHANDLER'.
    SE18 > give the BADI name found through above search.
    CUSTOMER_ADD_DATA > which has a method SAVE_DATA.
    T.Code SE19 is used to Implement BADI.
    SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.
    Intro.....
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    Check these links for info about badi..
    BADI's
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    BADI's
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://www.esnips.com/web/BAdI
    http://www.allsaplinks.com/badi.html
    New to Badi
    check any fo the below links. this will def help u.
    http://www.allsaplinks.com/badi.html
    And also download this file....
    http://www.savefile.com/files.php?fid=8913854
    There are other tutorials on this site...
    http://sapbrain.com/Tutorials/tuto_download.html
    What are BAdIs?
    -> is an anticipated point of extension – these points act like sockets and exist in the original source code
    -> based on ABAP Objects. BAdI defines an interface that can be implemented by BAdI-implementations that are transport objects of their own
    ->Important! There are 2 roles: Enhancement Option-provider & Implementer.
    -> In the above context, Enhancement Implementation can be done only if option (hook) is provided by the Option-provider. In simple words there are no implicit BAdIs.
    Note: In the following slides, Definitions are created so as to understand the method of BAdI definition & for example purpose. As stated above this is the role of Enhancement Option-Provider.
    Classic BAdIs already exist since SAP Release 4.6
    BAdIs have been Re-implemented in ECC7.0 under the new Enhancement Framework & Switch Framework
    Classic BAdIs
    To understand what a powerful pattern a BAdI is, we will now define & then implement a BAdI
    BADI Class is created automatically.
    The various options are described below in detail:
    1. Enhanceable: Enhanceability of filter types can only be specified for filter-dependent BADI definitions under very special conditions. For example, the domain belonging to the filter type must be linked with a value table that is of the type E or G. A BADI implementation can then be created in one step by creating a new filter value that is automatically entered into the value table at save and also copied into the transport order of the BADI implementation. In addition, it is also possible to create a new filter value and, at the same time, a BADI implementation with the same name. Naturally, you can also specify existing filter values.
    You should select this feature if there is a prerequisite that a new filter value is created together with a new BADI implementation - that is, that BADI implementations are not created solely with existing filter values, although this, too, is possible.
    2. Multiple-Use
    3. Filter-Dependent
    Instance Methods can access all of the attributes of a class and can trigger all events of a class. Static Methods can only access static attributes and static events.
    Exceptions:
    Events:
    Events can be defined in classes or in interfaces. Corresponding methods can trigger these events with the RAISE EVENT statement. Each class (or interface) that is going to handle the corresponding event must implement a relevant handler method, and register it using the SET HANDLER statement. When an event occurs, the system calls all of the handler methods registered for that event.
    Like method definitions, events have a parameter interface. The only difference is that events may only have EXPORTING parameters.
    BADI : Businees Add IN's
    Business Add-Ins are SAP enhancement technique based on ABAP Objects.
    Where the SAP standard program is not going to fullfill the client requirement , we are going to add our own program to SAP standard program, without changing the standard prog.
    Each Business Add-In has
    – at least one Business Add-In definition
    – a Business Add-In interface
    – a Business Add-In class that implements the interface
    Each BADI has two different Views.
    1.Definition view
    2.Implementation view
    T.C for BADI Definition is SE18.
    T.C for BADI Implementation is SE19.
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    Have a look at http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    How to develop BADI
    Rewards if useful.

  • CJ20N BADI or user-exit when back without saving

    Dear all,
    I am looking for a BADI or a user-exit when the user press the back button in transaction CJ20N.
    Please note that the user don't want to ave in this case.
    Thank you for your help.
    Regards,
    Kevin MICHEL
    Moderator message: please (re)search yourself before asking, make use of available information/documentation.
    Edited by: Thomas Zloch on Oct 22, 2010 11:23 AM

    Hi venkatesh,
    put a breakpoint into method GET_INSTANCE of class cl_exithandler.
    Then do what you want to supervise. The method is called for all BADIs triggered. You will find out which one can be used.
    Please excuse the generic nature of my answer. I didn't know what you already tried.
    Regards,
    Clemens

  • URGENT! BADIs or USER EXITS !

    Do u know any BADI's or User Exits for SAVE EVENT in transaction me21n??

    Hi Julia,
    Copy this program in SE38 and execute. Will get all list of existing Exits and
    Badis for a particular Transaction code.
    very useful program
    Below code will give a list of BADIs for particular transaction.
    *& Report ZNEGI16 *
    REPORT ZNEGI16 .
    TABLES : TSTC,
    TADIR,
    MODSAPT,
    MODACT,
    TRDIR,
    TFDIR,
    ENLFDIR,
    SXS_ATTRT ,
    TSTCT.
    DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA : FIELD1(30).
    DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
    PARAMETERS : P_TCODE LIKE TSTC-TCODE,
    P_PGMNA LIKE TSTC-PGMNA .
    DATA wa_tadir type tadir.
    START-OF-SELECTION.
    IF NOT P_TCODE IS INITIAL.
    SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
    ELSEIF NOT P_PGMNA IS INITIAL.
    TSTC-PGMNA = P_PGMNA.
    ENDIF.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'PROG'
    AND OBJ_NAME = TSTC-PGMNA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    IF SY-SUBRC NE 0.
    SELECT SINGLE * FROM TRDIR
    WHERE NAME = TSTC-PGMNA.
    IF TRDIR-SUBC EQ 'F'.
    SELECT SINGLE * FROM TFDIR
    WHERE PNAME = TSTC-PGMNA.
    SELECT SINGLE * FROM ENLFDIR
    WHERE FUNCNAME = TFDIR-FUNCNAME.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'FUGR'
    AND OBJ_NAME EQ ENLFDIR-AREA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    ENDIF.
    ENDIF.
    SELECT * FROM TADIR INTO TABLE JTAB
    WHERE PGMID = 'R3TR'
    AND OBJECT in ('SMOD', 'SXSD')
    AND DEVCLASS = V_DEVCLASS.
    SELECT SINGLE * FROM TSTCT
    WHERE SPRSL EQ SY-LANGU
    AND TCODE EQ P_TCODE.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    WRITE:/(19) 'Transaction Code - ',
    20(20) P_TCODE,
    45(50) TSTCT-TTEXT.
    SKIP.
    IF NOT JTAB[] IS INITIAL.
    WRITE:/(105) SY-ULINE.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    Sorting the internal Table
    sort jtab by OBJECT.
    data : wf_txt(60) type c,
    wf_smod type i ,
    wf_badi type i ,
    wf_object2(30) type C.
    clear : wf_smod, wf_badi , wf_object2.
    Get the total SMOD.
    LOOP AT JTAB into wa_tadir.
    at first.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 'Enhancement/ Business Add-in',
    41 SY-VLINE ,
    42 'Description',
    105 SY-VLINE.
    WRITE:/(105) SY-ULINE.
    endat.
    clear wf_txt.
    at new object.
    if wa_tadir-object = 'SMOD'.
    wf_object2 = 'Enhancement' .
    elseif wa_tadir-object = 'SXSD'.
    wf_object2 = ' Business Add-in'.
    endif.
    FORMAT COLOR COL_GROUP INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 wf_object2,
    105 SY-VLINE.
    endat.
    case wa_tadir-object.
    when 'SMOD'.
    wf_smod = wf_smod + 1.
    SELECT SINGLE MODTEXT into wf_txt
    FROM MODSAPT
    WHERE SPRSL = SY-LANGU
    AND NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    when 'SXSD'.
    For BADis
    wf_badi = wf_badi + 1 .
    select single TEXT into wf_txt
    from SXS_ATTRT
    where sprsl = sy-langu
    and EXIT_NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED ON.
    endcase.
    WRITE:/1 SY-VLINE,
    2 wa_tadir-OBJ_NAME hotspot on,
    41 SY-VLINE ,
    42 wf_txt,
    105 SY-VLINE.
    AT END OF object.
    write : /(105) sy-ULINE.
    ENDAT.
    ENDLOOP.
    WRITE:/(105) SY-ULINE.
    SKIP.
    FORMAT COLOR COL_TOTAL INTENSIFIED ON.
    WRITE:/ 'No.of Exits:' , wf_smod.
    WRITE:/ 'No.of BADis:' , wf_badi.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'No userexits or BADis exist'.
    ENDIF.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'Transaction does not exist'.
    ENDIF.
    AT LINE-SELECTION.
    data : wf_object type tadir-object.
    clear wf_object.
    GET CURSOR FIELD FIELD1.
    CHECK FIELD1(8) EQ 'WA_TADIR'.
    read table jtab with key obj_name = sy-lisel+1(20).
    move jtab-object to wf_object.
    case wf_object.
    when 'SMOD'.
    SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
    CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    when 'SXSD'.
    SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
    CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
    endcase.
    <b>Reward points if this helps.
    Manish</b>

  • Scheduling agreement : BADI/User Exit

    Hi All,
    I need BADI's or User Exit's for Sheduling Agreement (ME31L) during Creation or Change.
    I have tried seraching the Forum, the other Help avaliable, the package, the cl_exithandler debugging method & all. I resulted in writing this thread Question. -- Plz help
    In scheduling agreement functionality, Certain validations and checks using user exit or BADI during creation of scheduling agreement should be done.
    For Ex: a)No two scheduling agreements should exists in system with combination of
    (Material & Vendor document type delivery address for the same validity period)
    User Exit should check
    b)Items with multiple Tax code should not be allowed in the same SA ,i.e. all SA items should have same tax code
    c)Items with multiple Material Number should not be allowed in the same SA     
    Please Help me with providing the User Exit's or BADI's for above similar validations. I can Proceed further with Coding.
    Thanks& Regards,
    Chaitanya L

    Please check these & find the appropriate one.
    AMPL0001            User subscreen for additional data on AMPL
    LMEDR001            Enhancements to print program
    LMELA002            Adopt batch no. from shipping notification when posting a GR
    LMELA010            Inbound shipping notification: Transfer item data from IDOC
    LMEQR001            User exit for source determination
    LMEXF001            Conditions in Purchasing Documents Without Invoice Receipt
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1            Enhancement to Document Overview ME21N/ME51N
    MEVME001            WE default quantity calc. and over/ underdelivery tolerance
    MM06E001            User exits for EDI inbound and outbound purchasing documents
    MM06E003            Number range and document number
    MM06E004            Control import data screens in purchase order
    MM06E005            Customer fields in purchasing document
    MM06E007            Change document for requisitions upon conversion into PO
    MM06E008            Monitoring of contr. target value in case of release orders
    MM06E009            Relevant texts for "Texts exist" indicator
    MM06E010            Field selection for vendor address
    MM06E011            Activate PReq Block
    MMAL0001            ALE source list distribution: Outbound processing
    MMAL0002            ALE source list distribution: Inbound processing
    MMAL0003            ALE purcasing info record distribution: Outbound processing
    MMAL0004            ALE purchasing info record distribution: Inbound processing
    MMDA0001            Default delivery addresses
    MMFAB001            User exit for generation of release order
    MRFLB001            Control Items for Contract Release Order
    LWSUS001            Customer-Specific Source Determination in Retail
    M06B0001            Role determination for purchase requisition release
    M06B0002            Changes to comm. structure for purchase requisition release
    M06B0003            Number range and document number
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn.
    M06E0004            Changes to communication structure for release purch. doc.
    M06E0005            Role determination for release of purchasing documents

  • User Exit/Badi for CATS

    Hi Experts,
    Our requirement is to trigger an email notification to the Employee after his time sheet is approved using the CATS approval WF.
    We are using the portal to raise the time sheet and approve the same. We want to determine a User Exit/ Badi when the approver clicks on the approved button in the UWL.
    We tried looking into the user exits/badi's etc. given but they are defined only for the R/3 system  using the CATS transaction and not via the portals.
    Could you kindly guide us with any Badi/User Exit that could be used when it is approved via the portal (i.e) when the approver clicks on the approve button in the UWL.
    Cheers,
    Belinda Clarke

    Hi,
    Are you sure that those possible badis or user exit that you found are not also for Portal? Many times there is no difference whether something is done from backend transaction or a portal application - finally the same code/function is used and thus the same badis & user exits are executed. Of course not always, but plenty of times.
    If if you cannot find anything, please check also the possibility to use enhancement. Check which RFC function is called during the approval (put RFC trace on) and put a break point there, and see what the code does and if you could put your stuff into some place.
    Pay attention also the CATSDB table. That includes the cats entries and if remember correctly, you can find the work item ID there for each CATS entry. Maybe you can build some kind of report based on this table to send the emails instead of using some user exit or whatever.
    Regards,
    Karri

  • User exit or BADI to change the delivery date in ME51N  transaction

    Hi Gurus,
       I need a user exit or a BADI where I can change the delivery date in the item overview  tab for each material. I need to calculate the date according the vendor contact details.
    Please let me know if there is any BADI or a user exit for the same
    Thanks a lot!!!
    Sharath

    quick search for exits/badis: get package name and supply it into se80
    or
    se15
    thanq

  • BADI / USER-EXIT FOR DEFAULTING THE FIELD VTTK-TNDR_ACTC IN TCODE VT01N

    Hi,
    I require a BADI / USER-EXIT for defaulting the field VTTK-TNDR_ACTC(Currency of Actual Shipment costs) to 'EUR' in transaction VT01N(Shipment Transaction) .
    Please could anyone help me with this .
    Regards,
    Sushanth H.S.

    Hi!
    User Exits in Transportation
    In Transportation, there are enhancements that you can use with transaction CMOD.
    For a detailed description of the individual enhancements, see the documentation on the individual enhancements or function modules in transaction SMOD.
    You can display all enhancements that are available for the area of transportation by choosing F4 in the Enhancement field. Enter V56* in the Enhancement field and choose Execute. Enter V54* to get a list of all enhancements for the area of shipment cost processing.
    Business Add-Ins in the transports
    Business add-ins (BADIs) are predefined user exits. They enable businesses, partners, and customers to add additional softward to the SAP source code. The linkup of SAP's New Dimension Products, such as APO and BW, to the standard system is thus possible.
    Customer-specific functions can be executed before the save time and after the database update.
    The following methods are available for the BADI with the definition name 'BADI_LE_SHIPMENT':
    AT_SAVE: BADI is called up at the time of the save. Checks and return to dialog are possible.
    BEFORE:_UPDATE: BADI is called up right before the data is saved to the database, that is, when all the data is available (for example, internal ly assigned shipment number).
    IN_UPDATE: BADI is called up after the database update.
    Standard Settings
    Creating a BADI method:
    Call up transaction SE19. Enter a name of your choice. Choose "create" and in the dialog box enter the definition name 'BADI_LE_SHIPMENT'. Afterwards, enter a short text for implementation. Save the BADI.
    On the tab page 'Interface', choose the method for implementation by double-clicking on it. Now you can enter your customer-specific program code. Save and activate the code. You can acess the transmission parameters entered in the BADI definition. With the method ***_AT_SAVE you can initiate the exception ERROR_WITH_MESSAGE (description 'An error message has occurred' ) if you wish to return to the dialog.
    Afterwards, go to the heading and activate the interface.
    Regards
    Tamá

  • User exit/BADI in MIRO that would trigger invoice quantity block.

    Hi,
    Is there a way to enchance MIRO so that an invoice quantity block will be set automatically through user exit/BADI?
    My requirement is that if an invoice is to be posted onto a PO line using an IO, the invoice needs to be processed onto the PO line up to the total of the PO line. And if the invoice goes above the PO line and there is still some budget on the IO, the invoice should get a quantity block.
    Also, the quantity block should be set before posting the invoice.
    Thanks.

    Hi,
    Exit Name           Description
    LMR1M001            User exits in Logistics Invoice Verification
    LMR1M002            Account grouping for GR/IR account maintenance
    LMR1M003            Number assignment in Logistics Invoice Verification
    LMR1M004            Logistics Invoice Verification: item text for follow-on docs
    LMR1M005            Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006            Logistics Invoice Verification: Process XML Invoice
    MRMH0001            Logistics Invoice Verification: ERS procedure
    MRMH0002            Logistics Invoice Verification: EDI inbound
    MRMH0003            Logistics Invoice Verification: Revaluation/RAP
    MRMN0001            Message output and creation: Logistics Invoice Verification
    Badi Name            Description
    INVOICE_UPDATE       Business Add-In: Logistics Invoice Verification
    INVOICE_UPDATE       Transfer Invoice Receipt to Records Management
    INVOICE_UPDATE       Event manager communication from invoice processing
    INVOICE_UPDATE       Rückantwort ins CRM aus der Lieferantenrechnung
    INVOICE_UPDATE       Implementierung, um S1NVEXC zu übermitteln
    INVOICE_UPDATE       Save FI Document Type for Principle of Prudence
    INVOICE_UPDATE       Vendor Evaluation Based on Documents from IV
    Check this badi's and user exits.
    Hope this helps.
    Regards,
    Qamar.

Maybe you are looking for

  • USB 3.0 ports not working after upgrading to Windows 8.1

    I have an Asus WIndows 8 laptop that I just upgraded to Windows 8.1 today. My USB 3.0 ports have started acting up. At first they recognized some of my external hard drives but not others. I tested all of the external hard drives and they work fine o

  • Intel display driver crashes on S1 Yoga running 64-bit Windows 8.1

    Whenever my machine comes out of suspend mode, the display driver crashes.  It goes to a black screen for about 8 seconds then I get the error "display driver intel hd graphics drivers for windows 8 (r) stopped responding and has successfully recover

  • My entire CS6 says it Incountered a problem and needs to shut down. Nothing works.

    I have bought CS 6 a year ago, the CD, and have never had any success with it. It crashes my computer and now nothing opens up.

  • FileMaker Pro Network Version

    I'm supposed to be researching FileMaker Pro network version which will allow three computers to access the same database, but I can not find any information on the subject. Does anyone know if this even exists? Can someone point me in the right dire

  • Mac divider has changed

    hi can u please help me i am runing os 10.8 and my mac divider in the dock has changed to the old one please help i want the new one back