Debugging a User Exit or Program

Hi,
I would like to debug a program, and locate and fix an error in one of the user exits. How can I go about doing this?
Thanks,
Shah.

Hi,
Enhancement/Modifications
1) Execute tcode SMOD to find available enhancement/modifications.
2) Create a project for the enhancement in tcode CMOD.
3) You must activate your project first in order to hit a break-point or get into debug mode for your existing enhancements/modifications, if you do not, the best you will be able to do is step through the main program until you hit the call for that particular customer enhancement.
4) To get into debug, you can enter a hard break-point in the enhancement itself, set a soft break-point with the stop sign, or the long way, before you execute your transaction or while you are in your transaction, you can place a /h in the ok code area (this is the area of your gui where you can type in a tcode). Once you have the /h, hit enter and that will take you into debug, from there, you can do many different things to find exactly what you are looking for.
User Exits
1) Identify the main program you want to locate a user exit/debug.
2) For example, go to SE80 and do a search by program or dev class (SAPMV45A sales order or Dev Class VMOD, most SD user exits are in this dev class). In SE80 if you go by program, most user exit programs end in a 'Z' on a rare occasion 'X' or 'Y'.
3) If you are looking at including MV45AFZZ, you can see where there are different forms. These forms will get called at times within the program. If you are looking to fill the storage location on the sales order, you will probably want to take a look at the perform that fills in a field in vbap.
4) If this is what you are trying to accomplish, you will need to do the select against the config Table TVKOL based on the shipping point/plant and possibly storage condition based on your picking strategies.
5) For the debug part, you can do the same as in the enhancements/modifications but you will not need to activate any projects.
Reward points if found helpfull..
Cheers,
Chandra Sekhar.

Similar Messages

  • Debug an USER-EXIT which is present inside an INCLUDE

    Hi folks,
    i want to debug a include ' LVEDFF0E.' which is present in the program  'SAPLVEDF.
    my user exit 'ZXEDFU02' is present in the include LVEDFF0E . This exit is to change the IDOC segmants.
    i want to debug my user exit which is present inside a include.i tried so many times but control is not going to that point.
    can anybody tell me how to debug that exit???
    correct answers will be rewarded.
    Thanks & Regards

    Hi,
    Try this way
    /h> choose "breakpoints" from menu> breakpoint at >function module> enter EXIT_SAPLVEDF_002 and press enter press f8

  • User Exit -  EXIT_SAPLVEDA_001 program ZXVEDU13

    Hi All,
    I am very new to Extensions i.e user exits. there is requirement to make validations in the user exit 'EXIT_SAPLVEDA_001' program ZXVEDU13. There is a structure given for EDI and  SAP orders/contracts from which i have to to create two internal table and the entries are to be made based on some conditions given.
    Please give me some idea on this on how to proceed?
    thanks,
    Poonam

    Hi All,
    I am very new to Extensions i.e user exits. there is requirement to make validations in the user exit 'EXIT_SAPLVEDA_001' program ZXVEDU13. There is a structure given for EDI and  SAP orders/contracts from which i have to to create two internal table and the entries are to be made based on some conditions given.
    Please give me some idea on this on how to proceed?
    thanks,
    Poonam

  • Can we debug the USER EXITs

    Hi,
          This is Krishna. Can we Debug the User exits. If possible, how to debug and what r the user exits can we debug.
      If any one knows, pls help me.
      Thanx in advance.
    Regards,
    Krishna.

    Hi,
    Write one of these statements in ur user exit code.
    break-point
    or
    break <URID>
    Thanks
    mahesh

  • Debugging a User Exit

    Hi
    I would like to debug a program, and locate and fix an error in one of the user exits. How can I go about doing this?
    Please help to solve this.
    Regards
    Radha

    Hi,
    Enhancement/Modifications
    1) Execute tcode SMOD to find available enhancement/modifications.
    2) Create a project for the enhancement in tcode CMOD.
    3) You must activate your project first in order to hit a break-point or get into debug mode for your existing enhancements/modifications, if you do not, the best you will be able to do is step through the main program until you hit the call for that particular customer enhancement.
    4) To get into debug, you can enter a hard break-point in the enhancement itself, set a soft break-point with the stop sign, or the long way, before you execute your transaction or while you are in your transaction, you can place a /h in the ok code area (this is the area of your gui where you can type in a tcode). Once you have the /h, hit enter and that will take you into debug, from there, you can do many different things to find exactly what you are looking for.
    User Exits
    1) Identify the main program you want to locate a user exit/debug.
    2) For example, go to SE80 and do a search by program or dev class (SAPMV45A sales order or Dev Class VMOD, most SD user exits are in this dev class). In SE80 if you go by program, most user exit programs end in a 'Z' on a rare occasion 'X' or 'Y'.
    3) If you are looking at including MV45AFZZ, you can see where there are different forms. These forms will get called at times within the program. If you are looking to fill the storage location on the sales order, you will probably want to take a look at the perform that fills in a field in vbap.
    4) If this is what you are trying to accomplish, you will need to do the select against the config Table TVKOL based on the shipping point/plant and possibly storage condition based on your picking strategies.
    5) For the debug part, you can do the same as in the enhancements/modifications but you will not need to activate any projects.
    reward if useful
    regards
    Ravi

  • Debug for User Exit

    Hi,
    How to Debug User Exits ,Pls Explain step by step?
    Thanks,

    Hi,
    Please find step by step on how to debug:
    Enhancement/Modifications
    1) Execute tcode SMOD to find available enhancement/modifications.
    2) Create a project for the enhancement in tcode CMOD.
    3) You must activate your project first in order to hit a break-point or get into debug mode for your existing enhancements/modifications, if you do not, the best you will be able to do is step through the main program until you hit the call for that particular customer enhancement.
    4) To get into debug, you can enter a hard break-point in the enhancement itself, set a soft break-point with the stop sign, or the long way, before you execute your transaction or while you are in your transaction, you can place a /h in the ok code area (this is the area of your gui where you can type in a tcode). Once you have the /h, hit enter and that will take you into debug, from there, you can do many different things to find exactly what you are looking for.
    User Exits
    1) Identify the main program you want to locate a user exit/debug.
    2) For example, go to SE80 and do a search by program or dev class (SAPMV45A sales order or Dev Class VMOD, most SD user exits are in this dev class). In SE80 if you go by program, most user exit programs end in a 'Z' on a rare occasion 'X' or 'Y'.
    3) If you are looking at including MV45AFZZ, you can see where there are different forms. These forms will get called at times within the program. If you are looking to fill the storage location on the sales order, you will probably want to take a look at the perform that fills in a field in vbap.
    4) If this is what you are trying to accomplish, you will need to do the select against the config Table TVKOL based on the shipping point/plant and possibly storage condition based on your picking strategies.
    5) For the debug part, you can do the same as in the enhancements/modifications but you will not need to activate any projects.
    Regards
    Kiran Sure

  • Coding in user exit in program rffous_t

    The ACH file generated has to be updated with company specific information required by the NACHA file format standards. SAP functionality will be used to generate the interface file. 
    The ACH file will contain all employees who have pay for the current pay period being processed and have direct deposit set up for the current pay period.  The ACH file will run during the biweekly and monthly payroll runs.&#61485;This file will be generated upon completion of the current payroll processing.
    The user-exits are invoked when the RFFOUS_T program is executed.For each record type, use the mentioned user-exit below:
    •     1 (File Header Record)
    o     EXIT_100
    o     Function Module EXIT_RFFOEXIT_100
    •     5 (Batch Header Record)
    o     EXIT_101
    o     Function Module EXIT_RFFOEXIT_101
    •     8 (Batch Control Record)
    o     EXIT_105
    o     Function Module EXIT_RFFOEXIT_105
    Based on the account id (REGUH table-HKTID field), the other fields have been identified.
    Record Type "1"          
    File ID (Immediate Origin) - Structure DTAMUSFH, Component FH4     
    Origination Bank (immediate destination name) - Structure DTAMUSFH,Component FH11
    Company Name (immediate origin name) - Structure DTAMUSFH, Component FH12
    Record Type "5"                         
    Company Name - Structure DTAMUSBH, Component BH3     
    Company Discretionary Date - Structure DTAMUSBH, Component BH4
    Company ID - Structure DTAMUSBH, Component BH5     
    Company Entry Description - Structure DTAMUSBH, Component BH7
    Company Descriptive Date - Structure DTAMUSBH, Component BH8
    Effective entry date - Structure DTAMUSBH, Component BH9
    Record Type "8"     
    Company ID - Structure DTAMUSBC, Component BC7     
    Message Authentication Code - Structure DTAMUSBC, Component BC8
    Can somebody please advice me after reading the above information that how should i proceed for the coding to be done inside the user exit!!

    Hi Bhaskar,
    1. Go to CMOD(transaction) create an enchancement project .
    2. enter the project name ZName and click create and enter the short description of the project.
    3.now click on the enhancement assigment button on the application tool bar and enter the enhancement number: RFFOX100 (File Header Record),RFFOX101(Batch Header Record), RFFOX105(Batch Control Record).
    4.now select the first enhancement number i'e RFFOX10 and click on the components it will show you the fuction module exit EXIT_RFFOEXIT_100.
    5.double click on it it will take you to the fuction builder screen now click on the include it will show you the warrining 'Program names ZX... are reserved for includes of exit function groups' just ignore the warning and press enter after placing your coursour on the include, system asks to create the include press yes.
    6..and now in the include code your logic to update The ACH file generated has to be updated with company specific information required by the NACHA file format standards as per your needs.
    follow the procedure from 4 to 6 to populate Batch Header Record and Batch control record in the exits EXIT_RFFOEXIT_101and
    EXIT_RFFOEXIT_105 respectively.
    thanks and Regards,
    pavankumar

  • User-exit for program RFPNFC00

    I need to create an ACH format file. For this i'm using program RFPNFC00 to create file.
    I need to modify few things in the file for which i need any user-exit available to do the required modifications. Please lemme know if anyone have used this program to create file and implemented any user-exit to modify the ACH file format.
    Regards
    VEnk@

    I am not wble to find any exit but i have the following two suggestions.
    1. I can see lot of subroutines where you can create implicit enhancemnts and modify the data accordingly to solve your purpose.
    2. This approach i usually dont prefer but it depends on person to person. You can create a Z copy of report and do modifications.
    I will advise you find a suitable point and do implicit enhancement.
    Nabheet

  • USER EXIT - Sample Program or Material

    Hai,
         I don't know User Exit Programs.So, If anybody have Sample Program or Material, please send them to me...

    Finding the User Exit:
    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.
    User Exit
    Exits are basically the hooks whcih SAP has provided to add your own code. There are two types of Exits:
    1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
    2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
    BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
    Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
    Please go through the following link which will help you understand the exits in a much better way:
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    http://sap.niraj.tripod.com/id21.html
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.sap-img.com/ab038.htm
    User Exits.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    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
    customer exits
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Menu Exit.
    http://www.sappoint.com/abap/spmp.pdf
    http://www.sappoint.com/abap/userexit.pdf
    http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
    http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
    USER EXIT
    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.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Field Exit
    If you are in 4.7 and up follow this
    1. Run report RSMODPRF
    2. Run on the selection screen
    3. In list Field Exit > Create
    4. Give your data element
    5.System will generate the FM FIELD_EXIT_XXXXX
    6. Activate it.
    7. Select your field exit and assign to your program and screen
    8. Select again .. Field exit > Activate
    If you are in version below 4.7
    1. CMOD
    2. Go to >Text enhancment > Field exit
    then follow the same step from 3 onwards as given above.
    Menu Exit
    Procedure for Creating MENU Exits.
    1) To get into Area Menu Maintenance Screen Type SE43 T.Code in Command
    Line.
    2) In Area Menu Paramenter type 'S000' (S triple Zero)
    3) Then Press Change Icon in Application Tool Bar. Then It may ask for
    Access Key or it may display "Specify Processing mode" window. If it ask
    for the Access Key Check for the availability of OSS Note and apply to open
    Standard SAP Menu to include MENU Exits. Otherwise, if it display "Specify
    Processing mode" window with Three Push Button. In which select "Change" and
    proceed further.
    4) Then it will display "Information" window with the following information
    "Caution : The Original Language of the structure is German (editing lang. :
    English) ". Then press "Enter Key to proceed further.
    5) Then you will get into "Edit Area Menu S000".
    6) for eg:- Expand Tools Menu.
    7) Then Press ABAP Workbench <Icon>.
    8) Then you will get into ABAP Workbench Menu Tree.
    9) Then Expand Utilities Menu.
    10) In the last line you will find one MENU EXIT Provision to include your
    own menu. "Node Text Not Found" This text can be change by double Clicking
    that. There you can find the T.Code. Here for Eg:- "+DW4".
    11) for eg: - Here change the Text to "Sample Menu Exit" and then note down
    the T.Code "+DW4".
    12) Then Save with Change Request Number and come out of Transaction SE43.
    13) Then Goto Transaction SE93.
    14) Then type T.Code "+DW4" and press Create.
    15) Then proceed further to create transaction called "+DW4".
    I hope this could help you in Creating Menu Exit...
    Creating menu exits
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/19762743b111d1896f0000e8322d00/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/83/7a18cbde6e11d195460000e82de14a/frameset.htm
    Regards,

  • User exit macro - Program name

    Hi,
    In the APO macro builder, we have a USER EXIT MACRO defined and i just see the description of the macro there. Where do we see which User exit (Program) it is executing if i run the macro?
    Thanks,
    Shankar.

    Hi,
    Refer to the note 418801 which explains in detail about user exit macro.
    Regards,
    Sunitha

  • User exit at program RGGBS000

    Hi all,
    I need to start a Workflow at user exit RGGBS000.
    I know that I need to do a copy of this program ( ZRGGBS000).
    But I don´t know how to implement on there.
    I only need to call this function like this:
    *Calls Workflow
              call function 'SWE_EVENT_CREATE_FOR_UPD_TASK'
                exporting
                  objtype           = 'QMSM'             "Name of the object
                  objkey            = l_objectkey        "Key field
                  event             = 'zwf_create_acao'  "Eventacionador WF
                  creator           = w_creator          "User
                tables
                  event_container   = t_event_container   "WF variables
                exceptions
                  objtype_not_found = 1
                  others            = 2.
              if sy-subrc <> 0.
              MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              endif.
    Is there a form to pass values to this exit?
    How this works?
    Thanks
    Ricardo

    In RGGBS000 (or the copy thereof) you can maintain user exits that will be used in field value substitions of accounting documents.
    Please see SAP help for all background information.
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/5b/d231a843c611d182b30000e829fbfe/frameset.htm
    Cheers
    Thomas

  • ME21N, User Exit/customize program

    Please , advice is it possible to check, whether the is customize program/user exit, in ME21N, When user save ME21N, some funny stuff happened, how to check whether there is a customize program/user exit when save ME21N, please advice

    hi,
    you can try transaction SMOD
    and see if there are any active user exits for the following:
    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     Individual customer 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
    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
    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
    MM06E011     Activate PReq Block
    good luck
    Shachar

  • User Exit for program

    All,
    Is there any user exit for adding an authority check object in ME55 transaction program .?
    Kindly advise.
    regards

    Hi,
          check the following  <b>BADI's</b>MD_PURREQ_CHANGE
    MD_PURREQ_POST
    ME_REQ_NEW_VERSION
    <b>user exits</b>
    COZF0001
    COZF0002
    M06B0001
    M06B0002
    MCP20010
    MM06E004
    OIAMSEG
    SAPLMEWP
    Regards

  • Debugging the user exit in ECC

    hi
    we have enabled ATP check in system. when we create a sales order in ECC the call  goes to SCM and it creates the purchase requisition in ECC. we need to capture this purchase requisition number somewhere when we create the sales order. we figured out several user exits that are called during CIF transfer for example  in ECC system
    EXIT_SAPLCPUR_001
    EXIT_SAPLMEPI_001
    EXIT_SAPLMEPI_002
    EXIT_SAPLMEPI_003
    EXIT_SAPLMEPI_004
    EXIT_SAPLMEPI_005
    EXIT_SAPLMEPI_006
    EXIT_SAPLMEPI_007
    but when i put a session/external break point nothing happens. it does not stop. any suggestions
    thanks
    sankar

    If you are trying to set the breakpoint inside the user exit FM ,then the breakpoint will be caught only if an active project exists.
    Try putting a breakpoint outside the user exit FM at some statement.
    Also when you get into the debugger, activate the "update debuggeR"
    Hope this helps!

  • Unable to debug user exit in CRM BW  (EXIT_SAPLRSAP)

    Hi Gurus,
    Please help me to debug user exit in CRM BW.
    I am using below enhancement
    RSAP0001 (Customer function calls in the service API)
    "EXIT_SAPLRSAP_003"
    Datasource is ZSTAONESYS0_TEXT
    The extract structure
    I have modified is "CRM_BIW_ST_T"
    ===========================
    Data Source "I_CHABASNM"
    CASE i_chabasnm.
    ZSTAONESYS0_TEXT -- Data source name
      WHEN 'ZSTAONESYS0_TEXT'.
        CLEAR l_s_crm_biw_st_t .
        LOOP AT  c_t_texts   INTO  l_s_crm_biw_st_t .
          l_tabix = sy-tabix.
          SELECT SINGLE * FROM crm_jest
                   INTO   wa_status
                   WHERE   inact  =  ' '.
          SHIFT wa_status-stat LEFT DELETING LEADING space.
          CLEAR l_stat.
          l_stat = wa_status-stat(1).
          IF  l_stat  = 'E'.
            l_s_crm_biw_st_t-bwstoppt   = wa_status-stat+3(2).
            MODIFY  c_t_texts  FROM l_s_crm_biw_st_t
                                  INDEX l_tabix.
          ENDIF.
        ENDLOOP.    
    ENDCASE.
    ===========
    Should I use a BADI?
    It would be great if you could give me
    relevant definition name for creating new BADI.
    Can I use "CRM_BWA_MFLOW" ?
    I promise to return and reward the answers.
    Really heart warming
    to see the dedication/ participation of
    Bhanu Gupta / A.H.P / Pizzaman and many others
    Thanks in advance, :-D
    AbyJacob, Bangalore
    ===================

    Dear SB,
    I was able to Debug my user exit successfully.
    ==>include ZXRSAU02. "EXIT_SAPLRSAP_003"
    You guys are really a big help
    Keep up the good work.
    Special Thanks to SDN community
    warm regards,
    Aby Jacob, Bangalore

Maybe you are looking for