Active User Exits and BAdi

Dear All,
            I am in need to find active user exits and BAdis in our implementation.
Is there any specific Tcode or Program?.
Could anybody help me in this regard.
Regards,
S.Sridhar

Hi Sridhar,
To find the active user exits, use the below program.
REPORT  ZJK_USED_ENHANCEMENT_LIST               .
TABLES : TFDIR, TRDIR, D010SINF, MODSAP, MODACT, TDEVCT, TADIR, TSTC, TSTCT, V_TDEVC, V_FDIRT.
TYPE-POOLS : SLIS.
TYPES : BEGIN OF ST_TRDIR,
        NAME LIKE TRDIR-NAME,
        CDAT LIKE TRDIR-CDAT,
        UDAT LIKE TRDIR-UDAT,
        RSTAT LIKE TRDIR-RSTAT,
        END OF ST_TRDIR.
TYPES : BEGIN OF ST_TFDIR,
        SNO(4) TYPE C,
        INCL LIKE TFDIR-PNAME,
        CDAT LIKE TRDIR-CDAT,
        UDAT LIKE TRDIR-UDAT,
        R3STATE LIKE D010SINF-R3STATE,
        PNAME LIKE TFDIR-PNAME,
        INCLUDE LIKE TFDIR-INCLUDE,
        FUNCNAME LIKE TFDIR-FUNCNAME,
        ENHANCE  LIKE MODSAP-NAME,
        STEXT LIKE V_FDIRT-STEXT,
        PROJECT LIKE MODACT-NAME,
        DEVCLASS LIKE TDEVC-DEVCLASS,
        CTEXT LIKE TDEVC-CTEXT,
        END OF ST_TFDIR.
DATA : IT_TRDIR TYPE TABLE OF ST_TRDIR,
       WA_TRDIR TYPE ST_TRDIR.
DATA : IT_TFDIR TYPE TABLE OF ST_TFDIR,
       WA_TFDIR TYPE ST_TFDIR.
DATA : LIKE(2) TYPE N,
       X(2),
       SNO(4),
       HTYPE TYPE DD01V-DATATYPE.
**********************************ALV************************************
DATA :  IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
        WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
        WA_LAYOUT TYPE SLIS_LAYOUT_ALV ,
        TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP'.
**********************************ALV************************************
PERFORM MANUAL_FIELDCAT USING 'SNO' 'IT_TFDIR' 'X' '4' 'S.No' .
PERFORM MANUAL_FIELDCAT USING 'INCL' 'IT_TFDIR' 'X' '15' 'Include Name' .
PERFORM MANUAL_FIELDCAT USING 'CDAT' 'IT_TFDIR' 'X' '15' 'Created Date' .
PERFORM MANUAL_FIELDCAT USING 'UDAT' 'IT_TFDIR' ' ' '15' 'Last Modified' .
PERFORM MANUAL_FIELDCAT USING 'R3STATE' 'IT_TFDIR' ' ' '15' 'Active / Inactive' .
PERFORM MANUAL_FIELDCAT USING 'PNAME' 'IT_TFDIR' ' ' '12' 'Prgram Name' .
*PERFORM MANUAL_FIELDCAT USING 'INCLUDE' 'IT_TFDIR' ' ' '10' 'Include No' .
PERFORM MANUAL_FIELDCAT USING 'FUNCNAME' 'IT_TFDIR' ' ' '30' 'Function Module' .
PERFORM MANUAL_FIELDCAT USING 'STEXT' 'IT_TFDIR' ' ' '74' 'Purpose of use' .
PERFORM MANUAL_FIELDCAT USING 'ENHANCE' 'IT_TFDIR' ' ' '15' 'Enhancement' .
PERFORM MANUAL_FIELDCAT USING 'PROJECT' 'IT_TFDIR' ' ' '10' 'Project' .
PERFORM MANUAL_FIELDCAT USING 'DEVCLASS' 'IT_TFDIR' ' ' '10' 'Package' .
PERFORM MANUAL_FIELDCAT USING 'CTEXT' 'IT_TFDIR' ' ' '100' 'Module' .
PERFORM SELECTION.
PERFORM LAYOUT.
PERFORM  CALL_GRID_DISPLAY.
**********************************ALV************************************
FORM SELECTION.
  SELECT NAME CDAT UDAT RSTAT FROM TRDIR INTO TABLE IT_TRDIR WHERE NAME LIKE 'ZX%' AND SUBC EQ 'I'.
  LOOP AT IT_TRDIR INTO WA_TRDIR.
    WA_TFDIR-INCL =  WA_TRDIR-NAME.
    WA_TFDIR-CDAT = WA_TRDIR-CDAT .
    WA_TFDIR-UDAT = WA_TRDIR-UDAT.
    SELECT SINGLE * FROM D010SINF WHERE PROG EQ WA_TRDIR-NAME AND R3STATE = 'I'.
    IF SY-SUBRC EQ 0.
      WA_TFDIR-R3STATE = 'I'.
    ELSE.
      WA_TFDIR-R3STATE = 'A'.
    ENDIF.
    X = STRLEN( WA_TRDIR-NAME ).
    X = X - 2.
    CALL FUNCTION 'NUMERIC_CHECK'
      EXPORTING
        STRING_IN = WA_TRDIR-NAME+X
      IMPORTING
        HTYPE     = HTYPE.
    IF HTYPE EQ 'NUMC'.
      SNO = SNO + 1.
      WA_TFDIR-SNO = SNO.
      WA_TFDIR-INCLUDE = WA_TRDIR-NAME+X.
      CONCATENATE 'SAPL' WA_TRDIR-NAME+1 INTO WA_TRDIR-NAME.
      X =  STRLEN( WA_TRDIR-NAME ).
      X = X - 3.
      WA_TFDIR-PNAME = WA_TRDIR-NAME(X).
      SELECT SINGLE * FROM TFDIR WHERE PNAME EQ WA_TFDIR-PNAME AND INCLUDE EQ WA_TFDIR-INCLUDE.
      IF SY-SUBRC EQ 0.
        WA_TFDIR-FUNCNAME = TFDIR-FUNCNAME.
        SELECT SINGLE * FROM MODSAP WHERE MEMBER EQ WA_TFDIR-FUNCNAME.
        IF SY-SUBRC EQ 0.
          SELECT SINGLE * FROM MODACT WHERE MEMBER EQ MODSAP-NAME.
        ENDIF.
        WA_TFDIR-ENHANCE = MODSAP-NAME.
        WA_TFDIR-PROJECT = MODACT-NAME.
        SELECT SINGLE * FROM TADIR WHERE OBJ_NAME = MODSAP-NAME.
        SELECT SINGLE * FROM TDEVCT WHERE DEVCLASS = TADIR-DEVCLASS AND SPRAS = SY-LANGU.
        SELECT SINGLE * FROM V_FDIRT WHERE FUNCNAME EQ WA_TFDIR-FUNCNAME AND SPRAS EQ SY-LANGU.
        WA_TFDIR-STEXT = V_FDIRT-STEXT.
        WA_TFDIR-DEVCLASS = TDEVCT-DEVCLASS.
        WA_TFDIR-CTEXT = TDEVCT-CTEXT.
        APPEND WA_TFDIR TO IT_TFDIR.
      ENDIF.
    ENDIF.
    CLEAR : X, D010SINF, TFDIR, HTYPE, MODSAP, MODACT, TADIR, TDEVCT.
  ENDLOOP.
ENDFORM.                    "SELECTION
*&      Form  MANUAL_FIELDCAT
      text
     -->VALUE(P_0185)  text
     -->VALUE(P_0186)  text
     -->VALUE(P_0187)  text
     -->VALUE(P_0188)  text
     -->VALUE(P_0189)  text
FORM MANUAL_FIELDCAT  USING    VALUE(P_0185)
                               VALUE(P_0186)
                               VALUE(P_0187)
                               VALUE(P_0188)
                               VALUE(P_0189).
  WA_FIELDCAT-FIELDNAME = P_0185.
  WA_FIELDCAT-TABNAME = P_0186.
  WA_FIELDCAT-KEY = P_0187.
  WA_FIELDCAT-OUTPUTLEN = P_0188.
  WA_FIELDCAT-SELTEXT_L = P_0189.
  APPEND WA_FIELDCAT TO IT_FIELDCAT.
  CLEAR WA_FIELDCAT.
ENDFORM.                    " manual_fieldcat
*&      Form  LAYOUT
      text
FORM LAYOUT .
  WA_LAYOUT-ZEBRA = 'X'.
ENDFORM.                    " LAYOUT
*&      Form  CALL_GRID_DISPLAY
      text
FORM CALL_GRID_DISPLAY .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM     = SY-REPID
      I_CALLBACK_TOP_OF_PAGE = TOP_OF_PAGE
      I_GRID_TITLE           = 'Used Exit Details'
      IS_LAYOUT              = WA_LAYOUT
      IT_FIELDCAT            = IT_FIELDCAT
    TABLES
      T_OUTTAB               = IT_TFDIR.
ENDFORM.                    " CALL_GRID_DISPLAY
*&      Form  TOP
      text
FORM TOP .
  DATA: HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
  HEADER-TYP = 'H'.
WRITE : 'Plant   :' TO HEADER-INFO+1,
       P_WERKS TO HEADER-INFO+10.
APPEND HEADER.
CLEAR HEADER.
HEADER-TYP = 'H'.
WRITE : 'Month :' TO HEADER-INFO+1,
         P_MONYR TO HEADER-INFO+10.
  APPEND HEADER.
  CLEAR HEADER.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = HEADER[]
      I_LOGO             = 'JK'.
ENDFORM.                    "TOP
regards
Arun

Similar Messages

  • How to find the user exits and BADIS from SPRO

    Hi all,
    please let us know how to find the User exits or BADIS for an application from SPRO.
    Regards,
    Madhavi

    Hi Varisetty,
    Finding user exits and BAdis from SPRO can be cumbsersome. In most instances you know the standard SAP program and want to check (find) an exit called in the flow of the transaction. You can do this as follows:
    For User Exit:
    Put "/h" in the command box (to start debugging)
    Execute your transaction
    When you enter debugging - put a breakpoint at statement
    CALL CUSTOMER-FUNCTION
    the control will stop at all calls to User Exits
    For BAdi (it's simpler)
    Go to class CL_EXITHANDLER in SE24
    Enter method GET_INSTANCE
    Put a breakpoint in this method
    Run your standard transaction - control will stop at all BAdis called within the flow since this method is used to check BAdi implementations before invoking them
    Also, if you want to find enhancements by package - go to SE80, enter the package and check function groups starting with X - those contain function exits (conventional user exits). For BAdis in a package, there is normally a separate tree node (under the package) for Enhancements hence clearly identifiable.
    Cheers,
    Adi

  • PPT on enhancements,user exits and BADIs

    Hi all,
    It'll be great if anyone of you has some PPT presentation on enhancements,user exits and BADIs. I am a new joinee and so only basic elementary concepts are required for learning purposes. I also need to give a presentation.
    Thanking you in advance.
    Deepayan

    Check these links on BADI
    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
    http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    Check this link for advantage of BADIs over User exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Check this blogs 2 find a BADI:
    How to find if we have a BADI in Transaction VB02
    Re: BADI for screen enhancement in MM01  transaction
    Re: BADI and User exits
    How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
    When to Use a BAdI?)
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    How to implement a BAdI And How to Use a Filter
    /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
    Introducing Business Add-Ins
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
    How to implement BAdi in Enhancement Framework
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
    Business Add-Ins
    http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
    BAdI: Customer-Defined Functions in the Formula Builder
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    You can check the links for Step by Step Badi Implemntation
    (very helpful self learning docs).
    BADI Step by Step Implementation.
    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
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/63ee7f486cc143a560799d8803ce29/content.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/srm/badi-general+information&
    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
    The specified item was not found.
    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
    http://www.allsaplinks.com/badi.html
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-serieshttps:///people/alwin.vandeput2/blog/2006/04/13/how-to-search-for-badis-trace-it
    /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 /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
    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
    http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40921dd7-d5cf-2910-1894-bb62316afbd1
    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://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Rewards if useful

  • User Exit and BADI for Sales Order

    Dear Experts,
                        please give me available user exits and BADI for sales order .i want to take the data from sales order at the time of sales order posting .

    Hi,
    In debugging you can find some Enhancement Spots where you can implement your code. This lets you ignore the need for access key, but its a time consuming process spotting out the exact enhancement point.
    Regards
    Karthik D

  • Whats the exact differnrce between User-Exit and BADI ?

    Hi All,
    Can any one tell me whats the exact difference between User-Exit and BADI ?
    Even in User Exit also we write our code and the same in BADI also. Can any one plse elaborate wats the exact difference between these ...
    Thanks & Regards,
    Anil Kumar.

    BADI is the Object oriented concept of USER-EXIT
    chk this
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Message was edited by:
            Chandrasekhar Jagarlamudi

  • 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

  • FBL3N/FBL5N/FAGLL03 user exits and badis for authorization

    Hi Gurus,
    I have tried userexit and badis for FBL3N , FBL5N and FAGLL03 for the purpose of  user want to display documents created by him and other users documents should not display . Please suggest me any user exit or badi and logic for the same.
    Moderator message: last warning, if you continue to disregard moderator messages and post the same question nevertheless, I will initiate deletion of your user ID.
    Edited by: Thomas Zloch on May 10, 2011 9:57 AM

    Hi,
    1. Execute report FBL3n and in the output goto menu SETTINGS -> SPECIAL FIELDS and add the entry BKPF-USNAM and save. Now the user who have created the entry will be available in your FBL*N report.
    2. Goto BTE event 00001650 - SAMPLE_INTERFACE_00001650, and copy the FM SAMPLE_INTERFACE_00001650 to custom FM. Inside this custom FM, first pass the value of I_POSTAB to E_POSTAB. i.e
    E_POSTAB[] = I_POSTAB[].
    Now loop E_POSTAB and check whether E_POSTAB-USNAM NE SY-UNAME, then delete that entry from the internal table E_POSTAB.
    3. Now create a custom product in FIBF transaction and check the activate checkbox. Attach the event 00001650 and custom FM to the P/S module customer part.
    Hope this will meet your requirement.
    Regards,
    Harish
    Moderator message: please be more selective when replying to questions (especially the "do my work" kind), better check the posters history before investing effort.
    Edited by: Thomas Zloch on May 10, 2011 9:59 AM

  • User exit or BADI for VL01N and VL02N

    Hi Experts,
    My requirment is while creating and changing delivery, change inco terms of delivery when some condition satisfy. can you any one tell me any user exit or badi , i will write the logic to change inco terms based some condition.
    Regards
    Jayasunder

    create the following program in $tmp.. execute it . you will get all the user exits and BADIs.
    *& Report  Z_FIND_EXIT_TRANS
    report  z_find_exit_trans.
    *& Enter the transaction code that you want to search through in order
    *& to find which Standard SAP User Exits exists.
    *& Tables
    tables : tstc, "SAP Transaction Codes
    tadir, "Directory of Repository Objects
    modsapt, "SAP Enhancements - Short Texts
    modact, "Modifications
    trdir, "System table TRDIR
    tfdir, "Function Module
    enlfdir, "Additional Attributes for Function Modules
    tstct. "Transaction Code Texts
    **& Variables
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    **& Selection Screen Parameters
    selection-screen begin of block a01 with frame title text-001.
    selection-screen skip.
    parameters : p_tcode like tstc-tcode.
    selection-screen skip.
    selection-screen end of block a01.
    **& Start of main program
    start-of-selection.
    *Validate Transaction Code
    select single * from tstc
    where tcode eq p_tcode.
    *Find Repository Objects for transaction code
    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 = enlfdir-area.
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    *Find SAP Modifactions
    select * from tadir
    into table jtab
    where pgmid = 'R3TR'
    and object = 'SMOD'
    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:/(95) sy-uline.
    format color col_heading intensified on.
    write:/1 sy-vline,
    2 'Exit Name',
    21 sy-vline ,
    22 'Description',
    95 sy-vline.
    write:/(95) sy-uline.
    loop at jtab.
    select single * from modsapt
    where sprsl = sy-langu and
    name = jtab-obj_name.
    format color col_normal intensified off.
    write:/1 sy-vline,
    2 jtab-obj_name hotspot on,
    21 sy-vline ,
    22 modsapt-modtext,
    95 sy-vline.
    endloop.
    write:/(95) sy-uline.
    describe table jtab.
    skip.
    format color col_total intensified on.
    write:/ 'No of Exits:' , sy-tfill.
    else.
    format color col_negative intensified on.
    write:/(95) 'No User Exit exists'.
    endif.
    else.
    format color col_negative intensified on.
    write:/(95) 'Transaction Code Does Not Exist'.
    endif.
    *Take the user to SMOD for the Exit that was selected.
    at line-selection.
    get cursor field field1.
    check field1(4) eq 'JTAB'.
    set parameter id 'MON' field sy-lisel+1(10).
    call transaction 'SMOD' and skip first screen.

  • User-exit or BADI in ME51 and ME21

    Hi Experts,
    Thanks for your interest in this question. I'd like to ask for your help in looking all possible user-exit and BADI triggered using transaction ME51 and ME21. Thanks again for your help!
    Best Regards,
    Randy

    Hi Randy,
    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>

  • User Exit or BADI for ME21N

    Hi All,
    We are in a situation where in we need to Change the Distribution Channel in the Shipping tab of ME21N transaction.
    Previously, the distribution channel is being picked up form the config (SPRO - Shipping data for plant) but before it picks up from the config we need to change it and update the other distribution channel in the PO.
    We have tried with most of the User exits and BADIs but all of those are of no use for our requirement, as these user exits and badis are triggered after we click on save button. But we need to change the Distribution channel at the point of determination of Shipping data by the system i.e. before save.
    Can any one please help me out with this situation with some User exits or BADIs that are triggered before save button.
    Note: The Shipping data is in EKPV table. We need to change the VTWEG field in EKPV.
    Thanks in Advance,
    Asif Ali Khan

    Asif,
    see these are Exits and BADI for ME21n,
    Enhancement/ Business Add-in            Description                                                                               
    Enhancement                                                                               
    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                             
    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                       
    LMEKO001                                Extend communications structure KOMK for pricing               
    LMEKO002                                Extend communications structure KOMP for pricing               
    MM06E011                                Activate PReq Block                                            
    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                                                                               
    LWSUS001                                Customer-Specific Source Determination in Retail             
    MEETA001                                Define schedule line type (backlog, immed. req., preview)    
    ME590001                                Grouping of requsitions for PO split in ME59                 
    M06E0005                                Role determination for release of purchasing documents       
    M06E0004                                Changes to communication structure for release purch. doc.   
    M06B0005                                Changes to comm. structure for overall release of requisn.   
    M06B0004                                Number range and document number                             
    M06B0003                                Number range and document number                             
    M06B0002                                Changes to comm. structure for purchase requisition release  
    M06B0001                                Role determination for purchase requisition release                                                                               
    Business Add-in                                                                               
    ME_PROCESS_PO                           Enhancements for Processing Enjoy Purchase Order: Intern.    
    ME_PROCESS_COMP                         Processing of Component Default Data at Time of GR: Customer 
    ME_PO_SC_SRV                            BAdI: Service Tab Page for Subcontracting                    
    ME_PO_PRICING_CUST                      Enhancements to Price Determination: Customer                
    ME_PO_PRICING                           Enhancements to Price Determination: Internal                
    ME_INFOREC_SEND                         Capture/Send Purchase Info Record Changes - Internal Use     
    ME_HOLD_PO                              Hold Enjoy Purchase Orders: Activation/Deactivation          
    ME_GUI_PO_CUST                          Customer's Own Screens in Enjoy Purchase Order               
    ME_FIELDSTATUS_STOCK                    FM Account Assignment Behavior for Stock PR/PO               
    ME_DP_CLEARING                          Clearing (Offsetting) of Down Payments and Payment Requests  
    ME_DEFINE_CALCTYPE                      Control of Pricing Type: Additional Fields                   
    ME_COMMTMNT_REQ_RE_C                    Check of Commitment Relevance of Purchase Requisitions       
    ME_COMMTMNT_REQ_RELE                    Check of Commitment Relevance of Purchase Requisitions       
    ME_PROCESS_PO_CUST                      Enhancements for Processing Enjoy Purchase Order: Customer   
    SMOD_MRFLB001                           Control Items for Contract Release Order                     
    MM_EDI_DESADV_IN                        Supplementation of Delivery Interface from Purchase Order    
    MM_DELIVERY_ADDR_SAP                    Determination of Delivery Address                            
    ME_WRF_STD_DNG                          PO Controlling Reminder: Extension to Standard Reminder      
    ME_TRIGGER_ATP                          Triggers New ATP for Changes in EKKO, EKPO, EKPV             
    ME_TRF_RULE_CUST_OFF                    BADI for Deactivation of Field T161V-REVFE                   
    ME_TAX_FROM_ADDRESS                     Tax jurisdiction code taken from address                     
    ME_REQ_POSTED                           Purchase Requisition Posted                                                                               
    ME_REQ_OI_EXT                           Commitment Update in the Case of External Requisitions     
    ME_RELEASE_CREATE                       BAdI: Release Creation for Sched.Agrmts with Release Docu. 
    ME_PURCHDOC_POSTED                      Purchasing Document Posted                                 
    ME_PROCESS_REQ_CUST                     Enhancements for Processing Enjoy PReqs: Customer          
    ME_PROCESS_REQ                          Enhancements for Processing Enjoy PReqs: Internal          
    ME_COMMTMNT_PO_REL_C                    Check for Commitment-Relevance of Purchase Orders          
    ME_CCP_BESWK_AUTH_CH                    BAdI for authorization checks for procuring plant          
    ME_CCP_ACTIVE_CHECK                     BAdI to check whether CCP process is active                
    ME_BSART_DET                            Change document type for automatically generated POs       
    ME_BAPI_PR_CREATE_02                                                                               
    ME_BAPI_PR_CREATE_01                                                                               
    ME_BAPI_PO_CREATE_02                                                                               
    ME_BAPI_PO_CREATE_01                                                                               
    ME_BADI_DISPLAY_DOC                     BAdI for Internal Control of Transaction to be Invoked     
    ME_ACTV_CANCEL_PO                       BAdI for Activating the Cancel Function at Header Level    
    MEGUI_LAYOUT                            BAdI for Enjoy Purchasing GUI                              
    EXTENSION_US_TAXES                      Extended Tax Calculation with Additional Data              
    ARC_MM_EKKO_WRITE                       BAdI: Enhancement of Scope of Archiving (MM_EKKO)          
    ARC_MM_EKKO_CHECK                       BAdI: Enhancement of Archivability Check (MM_EKKO)         
    ME_CCP_DEL_DURATION                     Calc. of Delivery Duration in CCP Process (Not in Standard)
    ME_COMMTMNT_PO_RELEV                    Check for Commitment-Relevance of Purchase Orders          
    ME_COMMITMENT_STO_CH                    BadI for checking if commitments for STOs are active       
    ME_COMMITMENT_RETURN                    Commitment for return item                                 
    ME_CIP_REF_CHAR                         Enables Reference Characteristics in Purchasing            
    ME_CIP_ALLOW_CHANGE                     Configuration in Purchasing: Changeability Control         
    ME_CIN_MM06EFKO                         Copy PO data for use by Country version India              
    ME_CIN_LEINRF2V                         BADI for LEINRF03 excise_invoice_details                   
    ME_CIN_LEINRF2R                         BADI for CIN India - Delivery charges                      
    ME_CHECK_SOURCES                        Additional Checks in Source Determination/Checking         
    ME_CHECK_OA                             Check BAdI for Contracts                                   
    ME_CHECK_ALL_ITEMS                      Run Through Items Again in the Event of Changes in EKKO    
    ME_CHANGE_OUTTAB                        Enrich ALV Output Table in Purchasing                      
    ME_CHANGE_CHARACTER                     Customer-Specific Characteristics for Product Allocation
    Amit.

  • Screen exit and BADI required

    Hi,
    i have a requirement like i need to add two fields in 'Additional data B' tab in VA01 and same fields need to add in ME21N 'Additional data' tab. and those fields need to append VBAK and EKKO.
    Can anybody help me by proposing some user exit and BADI for this.
    Regards,
    Pani.

    Hi
    There's no exit or BADI to do that.
    It can only active a new TAB with custom fields by enhancement standard tools: BADI or user-exit
    If you need to add new fields in standard tab, it'll mean u  need to change some standard screen and so some standard object.
    By implicit enhancement u can try to update the abap code of standard program, but this tecnique can't use to change a standard screen, here u need to change it directly by screen painter
    Max

  • Help with BDC, user exits and BAPI

    Hello all:
    1) I posted a question before about BDC documentation and people sent me lot of helpful material. Thanks to all of them. I am very new to ABAP coming from VB background and wondering if someone can tell me how to practice one simple BDC program starting from scratch. What do I first need to do to get started? I have Mini WAS 6.20 test version and like to practice BDC programming.
    2) What are user exits and BADI and can anyone provide some documentation and sample code if possible.
    Thanks everyone in advance.
    --Mithun.

    Hai Mithun Dha
    Go through the following Documentation & Example Code
    Just check these links.
    Diff. between LSMW & BDC?
    BDC SESSION
    CALL TRANSACTION
    CALL DIALOG
    What is BDC or batch input
    The Batch Input is a SAP technic that allows automating the input in transactions. It lies on a BDC (Batch Data Commands) scenario.
    BDC functions:
    E BDC_OPEN_GROUP : Opens a session group
    E BDC_CLOSE_GROUP : Closes a session
    E BDC_INSERT : Insert a BDC scenario in the session
    E The ABAP statement "CALL TRANSACTION" is also called to run directly a transaction from its BDC table.
    It runs the program RSBDCSUB in order to launch automatically the session. The session management is done through the transaction code SM35.
    The object itself is maintanable through the transaction SE24.
    BDC methods:
    Method
    Description
    Parameters
    OPEN_SESSION
    Opens a session
    SUBRC (Return Code ? 0 OK)
    SESSIONNAME (Session to be created)
    CLOSE_SESSION
    Closes a session
    None
    RESET_BDCDATA
    Resets the BDC Internal Table...
    None. Normally, for internal purposec
    BDC_DYNPRO
    Handles a new screen
    PROGNAME (Name of the program)
    DYNPRONR (Screen Number)
    BDC_FIELD
    Puts a value on the screen
    FIELDNAME (Name of the field)
    FIELDVALUE (Value to be passed)
    CONSTRUCTOR
    Constructor - Initializes NO_DATA
    NODATA (No data character). The constructor is called automatically when the object is created.
    RUN_SESSION
    Launches a session with RSBDCBTC
    None
    CALL_TRANSACTION
    Calls a transaction with the current BDC Data
    MODE (Display Mode)
    UPDATE (Update Mode)
    TCODE (Transaction to be called)
    BDC_INSERT
    Inserts the BDC scenario in the session
    TCODE (Transaction to be called)
    BDC techniques used in programs:
    1) Building a BDC table and calling a transaction,
    2) Building a session and a set of BDC scenarios and keeping the session available in SM35,
    3) Building a session and lauching the transaction right after closing the session.
    BDC using Call Transaction
    BDC using Call transaction involves calling an SAP transaction in back ground from within the ABAP
    program. The process involves building an Internal BDC table containing the screen information needed to
    execute the required transaction and then passing this to the Call transaction command (See code example).
    The full procedure for creating a BDC program is as follows:
    What is the difference between batch input and call transaction in BDC?
    Session method.
    1) synchronous processing.
    2) can tranfer large amount of data.
    3) processing is slower.
    4) error log is created
    5) data is not updated until session is processed.
    Call transaction.
    1) asynchronous processing
    2) can transfer small amount of data
    3) processing is faster.
    4) errors need to be handled explicitly
    5) data is updated automatically
    BATINPUT/DIRECT INPUT
    A: Batch-inputs can not be used to fill the "delivery due list" screen because it is not a dynpro. This is a standard SAP report. A SAP report (check with "System -> Status") may be called using SUBMIT sentence with the appropriate options . It is preferred to call a report than create a Batch-input program.
    GO THROUGH THIS LINK
    http://www.guidancetech.com/people/holland/sap/abap/zzsni001.htm
    check with this code
    include bdcrecx1.
    tables : mara.
    data : begin of it_mara occurs 0,
    matnr like mara-matnr,
    mbrsh like mara-mbrsh,
    mtart like mara-mtart,
    maktx like makt-maktx,
    meins like mara-meins,
    end of it_mara.
    start-of-selection.
    perform upload_data.
    perform open_group.
    loop at it_mara.
    perform bdc_dynpro using 'SAPLMGMM' '0060'.
    perform bdc_field using 'BDC_CURSOR'
    'RMMG1-MATNR'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RMMG1-MATNR'
    it_mara-matnr.
    perform bdc_field using 'RMMG1-MBRSH'
    it_mara-mbrsh.
    perform bdc_field using 'RMMG1-MTART'
    it_mara-mtart.
    perform bdc_dynpro using 'SAPLMGMM' '0070'.
    perform bdc_field using 'BDC_CURSOR'
    'MSICHTAUSW-DYTXT(02)'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTR'.
    perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
    'X'.
    perform bdc_field using 'MSICHTAUSW-KZSEL(02)'
    'X'.
    perform bdc_dynpro using 'SAPLMGMM' '4004'.
    perform bdc_field using 'BDC_OKCODE'
    '=BU'.
    perform bdc_field using 'MAKT-MAKTX'
    it_mara-maktx.
    perform bdc_field using 'BDC_CURSOR'
    'MARA-MEINS'.
    perform bdc_field using 'MARA-MEINS'
    it_mara-meins.
    perform bdc_field using 'MARA-MTPOS_MARA'
    'NORM'.
    perform bdc_transaction using 'MM01'.
    endloop.
    perform close_group.
    *& Form upload_data
    text
    --> p1 text
    <-- p2 text
    FORM upload_data .
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    FILENAME = 'c:\mat_bdc.txt'
    FILETYPE = 'ASC'
    TABLES
    DATA_TAB = it_mara.
    IF SY-SUBRC = 0.
    SORT IT_MARA BY MATNR.
    ENDIF.
    ENDFORM. " upload_data
    flat file structure is
    PRANIT_011 CCOUP This is Testing material kg
    PRANIT_012 CCOUP This is Testing material kg
    PRANIT_013 CCOUP This is Testing material kg
    PRANIT_014 CCOUP This is Testing material kg
    PRANIT_015 CCOUP This is Testing material kg
    when your selecting views
    this particular material will belongs to Po/Sales or some other areas .
    when you select basic 1 --it gives description
    select basic 2 -- it gives tax ,amount, base unit of measurement
    BDC TO BAPI
    The steps to be followed are :
    1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
    [for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
    2. Create a Z program and call the BAPi (same as a Funtion module call).
    2. Now, if you see this BAPi, it has
    -> Importing structures.
    eg: SALESDOCUMENT: this will take the Sales order header data as input.
    -> Tables parameters:
    eg: ORDER_ITEM_IN: this will take the line item data as input.
    Note :
    Only specify fields that should be changed
    Select these fields by entering an X in the checkboxes
    Enter a U in the UPDATEFLAG field
    Always specify key fields when changing the data, including in the checkboxes
    The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
    Maintain quantities and dates in the schedule line data
    Possible UPDATEFLAGS:
    U = change
    D = delete
    I = add
    Example
    1. Delete the whole order
    2. Delete order items
    3. Change the order
    4. Change the configuration
    Notes
    1. Minimum entry:
    You must enter the order number in the SALESDOCUMENT structure.
    You must always enter key fields for changes.
    You must always specify the update indicator in the ORDER_HEADER_INX.
    2. Commit control:
    The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
    For further details... refer to the Function Module documentation for the BAPi.
    For User Exits
    User Exits
    Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.
    It is determined be SAP where the sub screen will be displayed.
    The syntax is: CALL CUSTOMER-SUBSCREEN
    The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project,
    and the project has been activated.
    Note:
    Function codes are only processed in the main screens flow logic
    You are not allowed to enter a name for the subscreens command field
    You are not allowed to define GUI stauses
    You are not allowed to enter a value for Next screen
    The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules.
    These function modules belongs to the same function group as the subscreen Subscreens are edited with transaction CMOD.
    When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next
    time you display the calling screen
    The developer must create the subscreen and the corresponding PBO and PAI modules
    How to identify screen exits
    Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.
    Use transaction CMOD menu Utillities -> SAP enhancements to search for screen exits
    MENU EXITS
    Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu
    entries in the GUI interface. The developer can add his/her own text and logic for the menu.
    Function codes for menu exits all start with "+"
    Example
    We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will
    run report ZTEST.
    Goto transaction SE43 Area Menu Maintenance
    In Area Menu Paramenter type 'S000' (S triple Zero)
    Select Change and ignore all the warning screens
    Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"
    Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01
    Goto transaction SE93 and create transaction +C01 that calls report ZTEST.
    Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.
    USER EXITS
    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.
    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>
    Example:
    The program for transaction VA01 Create salesorder is SAPMV45A
    If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):
    CALL CUSTOMER-FUNCTION '003'
    exporting
    xvbak = vbak
    xvbuk = vbuk
    xkomk = tkomk
    importing
    lvf_subrc = lvf_subrc
    tables
    xvbfa = xvbfa
    xvbap = xvbap
    xvbup = xvbup.
    The exit calls function module EXIT_SAPMV45A_003
    2. How to find user exits
    Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
    If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements.
    Enter the exit name and press enter.
    You will now come to a screen that shows the function module exits for the exit.
    3. Using Project management of SAP Enhancements
    We want to create a project to enahance trasnaction VA01
    Go to transaction CMOD
    Create a project called ZVA01
    Choose the Enhancement assign radio button and press the Change button
    In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only
    be used i 1 project. If the enhancement is allready in use, and error message will be displayed
    Press Save
    Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
    Now the function module is displayed. Double click on include ZXVVAU04 in the function module
    Insert the following code into the include: E_KUNNR = '2155'.
    Activate the include program. Go back to CMOD and activate the project.
    Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"
    Have look at this links
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
    http://www.sapgenie.com/abap/ole.htm
    http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
    Creation of Field Exits
    Step by step procedure for creating Field Exits
    There are eight steps to creating a field exit:
    Step 1: Determine Data Element
    Step 2: Go To Field Exit Transaction
    Step 3: Create Field Exit
    Step 4: Create Function Module
    Step 5: Code Function Module
    Step 6: Activate Function Module
    Step 7: Assign Program/Screen
    Step 8: Activate Field Exit
    Step 1: Determine Data Element
    - Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
    - An easy way to determine the data element associated to a particular screen field is to:
    Go the appropriate screen.
    Position the cursor in the appropriate field.
    Press eF1f for field-level help.
    Click on the eTechnical infof pushbutton (or press eF9f) on the help dialog box.
    On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the ABAP/4 Dictionary.
    Step 2: Go To Field Exit Transaction
    - The transaction to create field exits is CMOD.
    - You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
    - From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
    - After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
    NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
    Step 3: Create Field Exit
    - From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
    - After choosing this menu path, a dialog box will prompt you for the appropriate data element .
    - Enter the data element name and click the eContinuef pushbutton.
    - Now, you will be able to create the function module associated to the data elementfs field exit.
    Step 4: Create Function Module
    - You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the eContinuef pushbutton.
    - In the eFunction modulef field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
    FIELD_EXIT_<data element>
    - You can add an identifier (an underscore followed by a single character ).
    - The first function module for a data elementfs field exit must be created without an identifier.
    - To create the function module, click on the eCreatef pushbutton, choose menu path Function module -> Create, or press eF5f.
    - After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing eEnterf, you will be able to go ahead and create the function module.
    - Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
    Step 5: Code Function Module
    - From the function modulefs attributes screen, click on the eSource codef pushbutton or choose the Goto -> Function module menu path to the code of the function module.
    - Here you will add your desired functionality for the field exit.
    - Remember that field exitfs function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
    - You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
    Step 6: Activate Function Module
    - After coding the function module, you must remember to activate it.
    - Use the Function module -> Activate menu path to activate the function module.
    - At this point, you can return to the field exit transaction.
    - You should be able to 'green arrow' back to this transaction.
    - When you return to the field exit transaction, you will see an entry for the newly created field exit.
    - At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
    - Also, the field exit will not be triggered yet because it is inactive.
    Step 7: Assign Program/Screen
    - This step is only needed if you want to make a field exit local.
    - To make a field exit local, select the field exit and click on the eAssign prog./screenf pushbutton.
    - In the dialog box , indicate the appropriate program name and screen number.
    This information indicates that the field exit is local to the specified screen in the specified program.
    - In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the eFld. Exitf field.
    - If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
    - If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
    Step 8: Activate Field Exit
    - The field exit must be active for it to be triggered by the system.
    - Activate the field exit by choosing the Field exit -> Activate menu path.
    - After assigning the field exit to a change request, its status will change to eActivef and it will be triggered automatically on the appropriate screen(s).
    NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
    Thanks & regards
    Sreenivasulu P

  • ABAP-Programming for SAP BW u0096 User-Exits und BAdIs

    Hi experts,
    i am a novice und looking for informations about Badi and User-exits for BW .
    i want to learn how to programm extractors.
    Can you you help me by giving me some informations or documents or sap links where i can find informations?
    Cheers

    Dear Mr Herzog,
    Congratulations for the book: Abap Developement for SAP Netweaver BI: User exits and BadIs.
    We're trying to implement the suggestions on the chapter 5.1.1 Interface of function module EXIT_SAPLRSR0_001 (page 136), however, we're having problens with the abap sintax CALL_FUNCTION  l_d_name IF FOUND.
    The command IF FOUND is not accepted.
    It'll be very helpful to avoid issues on tranporting include zxrsru01.
    I appreciate any additional help on how to implement it.
    Best Rgs
    Eliseo Bouzan

  • Hi i want to become  storng in user exit and bapi

    hi experts.,
    i want to become strong in the area of user exits and badi's .
    please send  me the documents for it ,
    Thanks in advance.
    Regards,
    Hitu

    Hi Hitu,
    Check these links..
    <u><b>Badi</b></u>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://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    <u><b>User-Exits</b></u>
    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
    Regards,
    Younus
    <b>Reward Helpful Answers:-)</b>

  • Need user exit or BADI for FB60

    Hi Guys!!,
    I am working on one object which   belongs to FB60 transaction. I have to give error message when user enter the ZTERM Value above 45 days for particular vendor group(MSMED).please help out.
    Richard.

    Hi,
    Foloowing are available user exits and BADIs for FB60.
    F050S001                                               FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment
    F050S002                                               FIDCC1: Change IDoc/do not send
    F050S003                                               FIDCC2: Change IDoc/do not send
    F050S004                                               FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not send
    F050S005                                               FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document
    F050S006                                               FI Outgoing IDoc: Reset Clearing in FI Document
    F050S007                                               FIDCCH Outbound: Influence on IDoc for Document Change
    F180A001                                               Balance Sheet Adjustment
    FARC0002                                              Additional Checks for Archiving MM Vendor Master Data
    RFAVIS01                                               Customer Exit for Changing Payment Advice Segment Text
    RFEPOS00                                              Line item display: Checking of selection conditions
    RFKORIEX                                              Automatic correspondence
    SAPLF051                                              Workflow for FI (pre-capture, release for payment)
    Please find the one suitable to your need.
    Hope it will help you.
    Regards
    Natasha Garg

Maybe you are looking for