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

Similar Messages

  • Value for user-exit variable  is invalid

    Hi Gurus,
    My Value for a Fiscal Year Prd returns a invalid value for the 12th month of each year( for Example 12/2004, returns the error "Value 200313 for User-exit variable is invalid.
    This is the code that is being used.
    *Rolling 12 months for entered month
    when 'ZCALM12'.
          clear: v_mth, v_yr.
          REFRESH E_T_RANGE.
          CLEAR L_S_RANGE.
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                   WHERE VNAM = 'ZCALMON'.
            exit.
          endloop.
          v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
          v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT = 'BT'.
          concatenate v_yr v_mth into L_S_RANGE-LOW.
          L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
          APPEND L_S_RANGE TO E_T_RANGE.
    Thanks in Advance.

    Hi Ravi,
    when 'ZCALM12'.
    clear: v_mth, v_yr.
    REFRESH E_T_RANGE.
    CLEAR L_S_RANGE.
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZCALMON'.
    exit.
    endloop.
    <b>-->> Here, you are not checking any thing.</b> <i>On which logic you are reducing year by one and increasing month by 1..?</i>
    v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
    v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
    -->><i>IF month is 200512 you will get output from above code is :</i> please check.
    v_yr = 2005 - 1 = 2004
    v_mth = 12 +1 = 13.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    concatenate v_yr v_mth into L_S_RANGE-LOW.
    L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
    APPEND L_S_RANGE TO E_T_RANGE.
    Try to debug the code by keeping break point after When. and execute the report, you will be debugging mode.
    Hope it Helps
    Srini

  • Need help for user exit mereq001

    Hi,
    I need help for user exit mereq001. I think I messed up with include table CI_EBANDB and CI_EBANMEM. And When I tried to check the syntax . It gives me error like : <b>Class IF_PURCHASE_REQUISITION. Inconsistency in the dictionary for the structure mereq_item_s_cust_data.</b> Anyone had experience for this exit? I just need to extract costcenter information of the each item from the requisition and block the requisiton if the costcenter are differents from each other before the requisition is saved. Any one has idea about it?
    Thanks.

    biao,
    Have you checked this struture consistency from SE11. Also check the activation log.
    If there are any errors and you are not able to rectify the same use RSDDCHECK program, give your table name and run the report.
    This will list down the error structures releated this table and also prompts for you to activate it.
    Regds
    Manohar

  • 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

  • Enhancement for user exit

    hello
      can you please let me the know the enhancement for user exit:exit_sapliqs0_001
    regards
    anik

    Hi,
    these are teh enhancements that r available...u need to check each of them.
    IWO10026  User check on setting status 'Do not perform'
    IWO10027  User exit: Generate user-defined settlement rule
    IWOC0001  Create PM/SM notification: Determine reference object
    IWOC0002  PM/SM notification: Check whether status change is allo
    IWOC0003  PM/SM authorization check of ref. object and planner gr
    IWOC0004  Change single-level list editing PM/QM/SM ALV settings
    Regards,
    nagaraj

  • 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

  • Hi is there any code for user exits in bw

    can you help me out with user exits in bw reporting pls
    http://abapcode.blogspot.com

    Hi Amit,
      i have good document for user exits in bw. pls send me ur email i will send the document.
    hope that will help you to resolve.
    <b>Reward pts if found usefull:)</b>
    Regards
    Sathish

  • Code for user-exits

    hey guys i want the code for user-exits for  inclusion of Excise Chapter ID mandatory in PO .....
    regards,
    Naveen

    which user exit u are using ?
    check the BADI for the same .
    SE15->Enhancements->BADI--->definations -
    >search on Package = ME.
    and see BADI definition called Process _cust.
    Regards
    Peram

  • Help reqd for user exit

    Hi all,
    the requirement is...
    In MIRO,the Incoimg invoice should not be posted without an empty field of amount(WRBTR) in the Basic Data.Currently as per std,it's not a mandatory field and can be posted by not entering any amount in that.So, either we have to make it as a mandatory field or should restrict not to saving the data if posting of empty field.(Not giving any amount)***seems,it tells the user to give the amount as mandatory.
    How to do this.....if its coming under the USER Exit object...pls post both how to get the std program and enhancement assignment(it asks while creating user exit in CMOD) also for user exit.
    thanks & regards
    sankar.

    hi
    Program name is SAPLMR1M
    For MIRO tcode, you have below user exits.
    LMR1M001            User exits in Logistics Invoice Verification                    
    LMR1M002            Account grouping for GR/IR account maintenance                  
    LMR1M003            Number assignment in Logistics Invoice Verification             
    LMR1M004            Logistics Invoice Verification: item text for follow-on docs    
    LMR1M005            Logistics Inv. Verification: Release Parked Doc. for Posting    
    LMR1M006            Logistics Invoice Verification: Process XML Invoice             
    MRMH0001            Logistics Invoice Verification: ERS procedure                   
    MRMH0002            Logistics Invoice Verification: EDI inbound                     
    MRMH0003            Logistics Invoice Verification: Revaluation/RAP                 
    MRMN0001            Message output and creation: Logistics Invoice Verification     
    EXIT_SAPLMR1M_003 may useful to you. Check with this.
    Reward if it dose
    Thanks
    Siva Kumar.

  • Precautions for User Exits

    Can anyone tell me what are the precautions to be taken for user exits?
    i mean...what are the ABAP statements that are not used in user exits...
    can anybody plz suggest me?

    Hi,
    Welcome to SDN.
    COMMIT WORK should not be used in a user exit. This reason is that it could/will commit all work done by the entire transaction and could possibily create data inconsistancy.
    Also LEAVE TO TRANSACTION and SUBMIT statements should also be not used. It will terminate the current LUW.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • Modify Std. code to get value for User Exit.

    I am executing release strategry at user exit EXIT_SAPLEBND_002  ( Exit Name M06E0004 ), for the field ( USRN1)
    This has got user program ZXM06U22 in it. In this exit I get values from I_CEKKO , IT_BEKPO, IT_BEKET, IT_EKKNU
    and I have to pass the PO value from these structures to E_CEKKO-USRN1   ( This field has set in SPRO setting ) .
    I get the PO value as per standard calculation in the field IT_BEKPO-EFFWR , I also get a value in I_CEKKO-GNETW. However not one of both these values satisfy any one of my conditions. My document condition is defined in SPRO as ZVPA and values against it is calculated considering Taxes On PO. The fields EFFWR or GNETW does not include taxes. And my release startegy should get executed after considering the amount with taxes.
    After debugging a lot I have found that the PO_AMOUNT can be obtained from the Internal Table TKOMV. In this it is stored at TKOMV-KAWRT. I can get the TKOMV values at the point where this user-exit is called.
    i.e. in program MM06EF0S_STRATEGIE_CEKKO    in the last you can see the call to user exit wriiten as below
        CALL FUNCTION 'EXIT_SAPLEBND_002'
          EXPORTING
            i_cekko  = cekko
            it_bekpo = pot[]
            it_beket = ett[]
            it_ekknu = knt[]
          IMPORTING
            e_cekko  = cekko.
    If I put the debugger on  CALL FUNCTION 'EXIT_SAPLEBND_002 and go to TABLES tab and enter there 'TKOMV'
    I can get the table and it's values. However If I press F5 then I go inside my exit code i.e. ZXM06U22. But Here I Don't Get access to the internal table TKOMV , which is  accessible from main calling program MM06EF0S_STRATEGIE_CEKKO.
    My job can be done if I get value from TKOMV inside the code of ZXM06U22. However to get that code in ZXM06U22 what right now I can do is to get the access key of MM06EF0S_STRATEGIE_CEKKO and write code before exit Call and pass the ZVPA from TKOMV there. However many people here advised me not to do that since it is a STANDARD CODE.
    So I would like to know your suggestion in this regard.
    Amol

    Hi All
    Thanks for your quick replies. I wrote code below in my exit. But I am getting Compilation error at following line ( In Bold )
    DATA: l_name(50).
    DATA: my_tkomv TYPE TABLE OF komv.
    <b>FIELD-SYMBOLS: <tkomv> type standard table of komv.</b>l_name = '(SAPMMM06E)TKOMV[]'.
    ASSIGN (l_name) TO <tkomv>.
    my_tkomv[] = <tkomv>.
    The error is below
         "," expected after "TABLE".          
    I don't know whether TYPE TABLE OF is correct or not.
    I will be glad If I get some further help.
    Amol

  • 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

  • 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.

  • Help for User Exit in ME21 and ME22 transaction

    Hello All,
    I am changing a value of the line item entered in the P.O. by ME21 or changed by using ME22. There is a internal table TEKPO in the user exit EXIT_SAPMM06E_012 program ZXM06U43, i am modifying that table with the changed value of the field but while debugging its changing the value in the header and the body of the internal table where as its not showing up the value in the table EKPO.
    Could you pls advise.. ??
    I am using the following statement for modifying the internal table TEKPO where ZREQUIS is the field name.
        MODIFY TEKPO INDEX SY-TABIX TRANSPORTING ZREQUIS.
    Thanx,
    Suresh

    Hi Suresh!
    Your exit gets filled with local variables for the tables parameters, no feedback is taken back.
    Exit EXIT_SAPLEINS_001 is called (directly) before LIS (or BW) updates, I doubt changes relevant for EKPO can still be done.
    Try to make a dynamical assign for a global table. I think POT[] should be the right one.
    Regards,
    Christian

  • T code for User exits.

    hai all MM gurus,
    How to find out the user exits for any Tcodes or for any documents?.

    for this there is a user written program called "zuserexit" which will be available. Run the program & give Tcode as input u ll get all exits for that.
    http://www.sap-img.com/ab038.htm
    Finding the user-exits of a SAP transaction code
    Finding the user-exits of a SAP transaction code
    Enter the transaction code in which you are looking for the user-exit
    and it will list you the list of user-exits in the transaction code.
    Also a drill down is possible which will help you to branch to SMOD.
    Written by : SAP Basis, ABAP Programming and Other IMG Stuff
                 http://www.sap-img.com
    report zuserexit no standard page heading.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
             tables : 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 obligatory.
    select single * from tstc where tcode eq p_tcode.
    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 = '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.
    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.
    *---End of Program

Maybe you are looking for

  • How do I remove the watch app from iOS

    I just updated my iOS and now have a watch app icon I can not remove. I don't want it there. I don't want an apple watch. I will not be buying an apple watch. It's a waste of memory on my device. My phone is not an advertisement space for the marketi

  • ATI tv-out with xorg7 [solved]

    Hi everybody. I have a problem with tv-out on my ATI card since upgrading to xorg7. When I connect the card to my tv I can see the desktop but when I try to play a movie I get just a blue screen where the video is supposed to be. DRI and other things

  • How to configure jre on an english platform to support other language?

    Im currently running jdk 1.4.2.07 on a HP-UX B11.11 server. I use "JFreeChart" to create charts in my project, and when I include chart title in Asian fonts, the chart render correctly with the correct font on the testing windows environment (which r

  • Sales Order Confirmation through Email

    Dear Friends, Can i ask you to give me a quick idea on what need to be done to establish the functionality to send the order confirmation through emails. Thanks in advance. Ravi

  • OIA 11g Certification accounts delegation by individual accounts and roles?

    Hi Can any one please clarify on this? Is Oracle identity Analytics 11.1.1.5 patch1 is supporting account wise delegation or role wise delegation in certifications? If not any other patch is going to help this? In other words can attestor delegate so