BADI or USER EXIT in MM01 Transaction

Hi All,
While creating Material  through MM01 Transaction Code,
in Basic Data1 view,  User needs to enter two new fields "Brand code" and "Product Code".  For this user needs a pop-up box. This will be stored in Ztable.
To invoke this Pop up box any user exit or BADI is existing in SAP 4.7.
Kindly give your inputs on this.
Thanks
Murali

Your discussion is about SAP R/3 (MM), and is not directly related with SAP NetWeaver MDM. So I think this is not the right place to discuss this. Better shift your discussion to the relevant area in the discussion forum of the public SAP Community: http://www.sap.com/community/default.epx?logonStatusCheck=0.
There will be surely more threads on this.
Regards, Markus

Similar Messages

  • Urgent. Badi or user exit for ML81N transaction

    Hi!
       Currently I am working on the transaction LM81N. I am looking for a user exit or BADI  before save (commit work). I need to modify the  XIMSEG table where this table is updated in the code:
    FORM SET_XIMSEG_ACC using p_rcode.
    *&      Form  SET_XIMSEG_ACC
          ximseg fuellen - Buchung auf Ebene Kontierung
    p_rcode = 0.
    CLEAR XIMSEG.
    XIMSEG-BWART = T156N-BWART_NEXT.
    XIMSEG-EBELN = XESSR-EBELN.
    XIMSEG-EBELP = XESSR-EBELP.
    XIMSEG-KZBEW = 'B'.
    XIMSEG-LFBJA = XESSR-ERDAT.
    XIMSEG-LFBNR = XESSR-LBLNI.
    XIMSEG-ELIKZ = XESSR-FINAL.                 "set ELIKZ
    IF XESSR-KZABN EQ KZABN_S.                  "Storno
      XIMSEG-XSTOB = 'X'.
      XIMSEG-ELIKZ = SPACE.                     "reset ELIKZ
    ENDIF.
    XIMSEG-ERFMG = 1.
    XIMSEG-ERFME = XEKPO-MEINS.
    XIMSEG-BPMNG = 1.
    XIMSEG-BPRME = XEKPO-MEINS.
    <b>XIMSEG-SGTXT = XESSR-TXZ01.</b>
    LOOP AT XESKN WHERE PACKNO EQ XESSR-LBLNI
                  AND LOEKZ IS INITIAL
                  AND NETWR > 0.
      XIMSEG-LFPOS = XESKN-ZEKKN.
      APPEND XIMSEG.
    ENDLOOP.
    IF SY-SUBRC > 0.
      p_rcode = 8.
      REFRESH: XIMSEG, XEMSEG.
      exit.
    ENDIF.
    ENDFORM.                    " SET_XIMSEG_ACC
    I need to modify
    XIMSEG-SGTXT = XESSR-TXZ01 with ESSL-KTEXT1
    I found that use ATP_PUBLISH_RESULTS BADI after the call  SET_XIMSEG_ACC .  But I didn't found it.
    Thanks in advance.

    Hi Diana,
    these are the available exits for this t.code:
    Enhancement/ Business Add-in            Description
    Enhancement
    SRV_FRM                                 SRV: Formula calculation (obsolete since 4.0A!)
    SRVSEL                                  Service selection from non-SAP systems
    SRVREL                                  Changes to comm. structure for release of entry sheet
    SRVQUOT                                 Service export/import for inquiry/quotations
    SRVPOWEB                                Purchase order for service entry in Web
    SRVMSTLV                                Conversion of data during importing of standard service cat.
    SRVMAIL1                                Processing of mail before generation of sheet
    SRVLIMIT                                Limit check
    SRVKNTTP                                Setting the account assgnmt category when reading in, if "U"
    SRVEUSCR                                User screen on entry sheet tabstrip
    SRVESSR                                 Set entry sheet header data
    SRVESLL                                 Service line checks
    SRVESKN                                 Set account assignment in service line
    SRVESI                                  Data conversion entry sheet interface
    SRVENTRY                                Unplanned part of entry sheet (obsolete since Rel. 3.1G)
    SRVEDIT                                 Service list control (maintenance/display)
    SRVDET                                  User screen on tab strip of service detail screen
    INTERFAC                                Interface for data transfer
    o.of Exits:         18
    o.of BADis:          0
    Try to found the correct exits and provide the and activate the exits.
    If u wan to where the exits is working put the breakpoint.
    ***********Rewords some points if it is useful.
    Rgds,
    P.Naganjana Reddy

  • BADI or User Exit for Txn : CRMD_ORDER

    Hi Experts,
    Is there any badi or user-exits for the transaction crmd_order.
    regrads,
    arul jtohi a

    Dear Arul Jothi,
    BAPI_ACTIVITYCRM_CREATEMULTI
    BAPI_BUSPROCESSND_CREATEMULTI
    CRM_BUSPROCESSND_BAPI
    CRM_LEADCRM_BAPI
    BAPI_LEAD_CREATEMULTI
    CRM_OPPORTUNITYCRM_BAPI
    BAPI_OPPORTUNITY_CREATEMULTI
    CRM_SLSTRANSACTCRM_BAPI
    BAPI_SLSTRANSACT_CREATEMULTI
    Also, visit the following thread:
    Change status for sales order in crmd_order
    BAdi/Enhancement:
    /people/alwin.vandeput2/blog/2006/04/13/how-to-search-for-badis-trace-it
    Regards,
    Naveen.

  • BADI/User Exit for APO Transaction: /SAPAPO/SNPTLB

    Hi Experts,
    We have a proxy interface and currently we are using  FUNCTION EXIT_SAPMSNPUSER_006 for the APO Order transaction: /SAPAPO/SNPTLB.
    This exist is triggering before the Order is being saved in APO and at times it is throwing an error 'Order key already exists in live cache' in the APO system.
    Is there any other BADI or User exit available to Save the order in APO before the interface gets processed?, if so, plese guide me. 
    Thanks & Regards,
    Vijaya

    Hello Lakshmi,
    I am having the same issue with the message "Order key already exists in live cache" in our system. 
    We are using the user-exit EXIT_SAPMSNPUSER_005 for UoM conversion.  But we are not making any explicit proxy calls
    to /SAPAPO/SNPTLB.  Does the system automatically call this transaction with this user-exit?
    Did you get a resolution for the issue.  I would really appreciate if you can let me know how you have addressed this.
    Thanks,
    Ratnam

  • BADI or User Exit for  Transaction CK 24

    Hi Experts ,
    I need to do some customization as per my client requirement , once CK 24 transaction get executed .
    For that i am searching for a BADI or User exit that is being triggered after execution of the transaction  CK 24 .
    Can any body please help me on this to find a BADI or User exit on the same . Ihave tried all the basic methods for fidning the same .
    Good points will be rewarded on the solution .
    Regards
    Sarmistha

    SD,
    Am afraid to say there is no exit or BADi for same.just ask access key for program than change where you want.
    Amit.

  • FIND BADI OR USER EXIT FOR TRANSACTION CORK -STEP SAVE CONFIRMATION

    Hi all .
    I need to find  a badi or user exit to make some w/h movements on action "save confirmation"
    in transaction CORK .
    Please  ,your help !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
      Helena

    CONF0001            Enhancements in order confirmation                                                        
    CONFPI01            Process order conf.: Calculate cust.specific default values                               
    CONFPI02            Process order confirmation: Customer spec. input checks 1                                 
    CONFPI03            Process order conf.: Cust. spec. check after op. selection                                
    CONFPI04            Process order conf.: Customer specific input checks 2                                     
    CONFPI05            Process order conf.: Cust. spec. enhancements when saving                                 
    CONFPI06            Process order confirmation: Actual data transfer                                          
    CONFPM01            PM/SM order conf.: Determine cust. specific default values                                
    CONFPM02            PM/SM order confirmation: Customer specific input checks 1                                
    CONFPM03            PM/SM order conf.: Cust. spec. check after op. selection                                  
    CONFPM04            PM/SM order conf.: Customer specific input check 2                                        
    CONFPM05            PM/SM order conf.: Cust. specific enhancements when saving                                
    CONFPP01            PP order conf.: Determine customer specific default values                                
    CONFPP02            PP order conf.: Customer specific input checks 1                                          
    CONFPP03            PP order conf.: Cust. specific check after op. selection                                  
    CONFPP04            PP order conf.: Customer specific input checks 2                                          
    CONFPP05            PP order conf.: Customer specific enhancements when saving                                
    CONFPP06            PP Order Confirmations: Actual Data Transfer                                              
    CONFPP07            Single Screen Entry: Inclusion of User-Defined Subscreens                                 
    CONFPS01            PS confirmation: Determine customer specific default values                               
    CONFPS02            PS confirmation: Customer specific input checks 1                                         
    CONFPS03            PS confirmation: Customer specific check after op. selection                              
    CONFPS04            PS confirmation: Customer specific input checks 2                                         
    CONFPS05            PS confirmation: Customer specific enhancements when saving                                                                               
    No of Exits:         24

  • BADI or User Exit to Change the Item Details in AFAB Transaction(Depreciation)

    Hi Experts,
    I have a requirement of changing the Item details in AFAB Transaction (Internal Order Number). Is there any BADI or User exit available for that.
    Thanks in advance.

    Hi Sivag,
    You can find BADI for transaction in different ways. Try with below methods
    1. To find New BADI(Karnel), Run the transaction with debug mode(/h), keep break point at statement
        CALL BADI
    2. To find old BADI (Classic), Keep break point at exit handler CL_EXITHANDLER=>GET_INSTANCE and         run the transaction
    3.  Check in SPRO transaction  - Check with functional consultant in which business process this transaction    comes and any customization  details available
    4. Get pakage name of transaction and go to to tcode se84 enhancement browser . Try to find with package name,  any enhancement available
    Thanks & Regards,
    aRun

  • BAdI/User Exit for MM01

    Hi All,
    I am looking for a User Exit for MM01
    I need to catpure the Document data in MM01>Additional data>Document data tab
    I checked with the following enchancements but no use
    MGA00001
    MGA00002
    MGA00003
    BADI_Material_Check.
    Can any one help me in finding the suitable enhancemet?
    Thanks
    Bhasker

    Hi Bhasker
    Go to Se18 Tcode
    and give the definition name is "DOCUMENT_MAIN01"
    check the definition in display mode because it is Sap Standard Definition.
    there you will find a "TYPE" Tab
    under this you have two check boxes 
    <b>1) Multiple Use</b>
    2) Filter-Depend
    if you want multiple implementations  check this Check box
    after this you need to create a request and the system asks  Access Key for Changes
    for that you will catch that Key from your Basis Team.
    Regards
    Sreeni

  • Help  needed in BAdi and user-exits

    Hi ,
       Can any one send me the procedure how to find out user-exits and about BAdi's.
    Thanks in advance
    Uday

    hi Uday,
    Welcome to <b>SDN</b>
    here is the sample program to find the user exits
    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
    To find the function exit
    REPORT ZV_FIND_EXIT 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.
    or
    1. in se11, goto table MODSAP
    View table contents
    2. in Type field, enter 'E' (for function exit)
    3. For that tcode, u should know the program name.
    eg. SAPLLMOB
    4. then type SAPLLMOB and execute
    or
    REPORT z34331_user_exit .
    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
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    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.
    if u find it useful plz markt the points
    Regards,
    Naveen

  • BAdI: or User Exit for Campaign Creation   IN CRM 5.0

    Hi all,
    we are working in CRM 5.0,
    we have a Requirement like :
    when we create the campaign it should check higher level project ID (marketing Plan ID)
    if it is there it should permit for create campaign else it ll show error...
    Any BAdI: or User Exit for Campaign Creation?
    I ll geive reward points....
    Rhanks & Regards,
    Ganesh

    IN WHICH TRANSACTION U R CREATING CAMPAIGN ??

  • Badi or user-exit for QA32 after save

    I need a badi or user exit to execute exactly after save in QA32 ..I tried belows but they are not that i want
    QPL1_SUBSCREEN_ADDON
    INSPECTIONLOT_UPDATE
    Check these Exits:
    QEVA0004 Exit for changing information line in usage decision he
    QEVA0005 User subscreen for displaying add. data for usage decis
    QEVA0006 Entry to usage decision transactions
    QEVA0007 UD: Control of compulsory comment or long text presetti
    QEVA0008 Usage decision: Customer function key (e.g. to cancel U
    QEVA0009 UD: Predefinition of quantity to be posted to sample st
    QEVA0010 UD: Usage decision check
    QLCO0001 QM: Call alternative costs report from UD
    QSS10001 Possibility of calling a different print report

    Hello Tuncer,
    have you checked the BADI QE_SAVE? This is the last possible chance of changing data on saving a QM transaction and should be active in QA32.
    The only other solution I can come up with is a follow-up action i.e. for the UD-code
    Hope this information proves usefull.
    Regards
    Isabelle

  • Badi or user exit for FTR_CREATE for modifying the Payment Details

    Hi,
    I need a Badi or user exit that will modify the internal table for the "Payment Details" in transaction FTR_CREATE. Basically, instead of using the default entries in the "Payment Details", data from a Z custom table will overwrite the "Payment details" or the internal table containing the "Payment details". This should create entries in the Transparent Table VTBZV with the values fron the Z custom table.
    I'm trying to implement the BADI FTR_TR_GENERIC but I cannot find where and how to modify the original "Payment Details" entries. Or if its even possible to do this.

    Hi Ravi,
    I was trying to do that but I am not sure were to start. I tried to modify the contents of PI_PROXY_TRANSACTION->A_TAB_CASHFLOW using MODIFY <itab> but an error occured when I tried to activate it saying that the Class/Interdace Attribute is read-only and cannot be modified. Is there a Method that I need to do in order to modify the Attribute? (I'm not that familiar yet with Classes and Methods though)
    Also, just to test, I manually changed the contents of two internal tables containing the "Payment Details" data during debug mode. But after the program has ended its run and finally saved the data, the Table VTBZV was not updated with the manual data I introduced. So I'm not sure if the Badi FTR_TR_GENERIC (which is I'm implementing) really allows the "Payment Details" to be modified or if I'm modifying the correct internal table(s).

  • Badi or user exit for changing currency INR to EUR

    hi friends,
    in po header there is one tab called status.
    in this tab there is one field called delivery payment
    which has curr INR but i want to change that INR CuRR
    to EUR.Can any one tell me how do this is there any badi or user exit
    for this req.
    thanks.

    Hi Sonu,
    Use the following program to find out the appropriate user exist for ur transaction:
    REPORT ZGURU_USER_EXIT_FIND .
    *&  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 OBLIGATORY.
    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.
    Then u can use the function CONVERT_TO_LOCAL_CURRENCY to change the amount from INR to EUR.
    Regards,
    Himanshu

  • How can we find the list of user exits for a transaction

    hi all
    iam new in user exits please send the basic details
    how can we find the list of user exit for a perticular transaction and how can we determine that a particulr user exit is used for a field
    regards
    jagadish

    hi,
    check the below links for userexits
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    FAQ's
    http://http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    http://www.easymarketplace.de/userexit.php
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    1. what is the defference between enhancement and user-exits?
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Re: difference between user exits & customer exits
    Some Questions ! Plz help...
    http://searchsap.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid21_gci1190924_tax299358,00.html?bucket=ETA
    2. Difference between CMOD and SMOD?
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    http://www.sap-img.com/abap.htm
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/diff-between-cmod-and-smod-236095
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/diff-between-cmod-and-smod-236107
    check these links..
    http://www.sapgenie.com/abap/tips_and_tricks.htm
    http://www.sap-img.com/abap/field-exits-smod-cmod-questions-and-answers.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    passing selet-option variable to subrouine...
    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
    if u want to find the function exit
    then check the below code
    REPORT ZV_FIND_EXIT 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.
    or
    1. in se11, goto table MODSAP
    View table contents
    2. in Type field, enter 'E' (for function exit)
    3. For that tcode, u should know the program name.
    eg. SAPLLMOB
    4. then type SAPLLMOB and execute
    or
    REPORT z34331_user_exit .
    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
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    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.
    Regards,
    Naveen

  • Differences between BADIS and User-exits

    Hi everybody,
    I am new to ABAP and wonder what are the differences between BADIS and User-Exits. I read paper but did not find a SAP documentation yet.
    Does anybody know where to find a sap document which explains both technologies?
    Greetings, AD

    Hi,
    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.
    For better understanding visit.
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/779183#
    Hope it was useful.
    Thansk,
    Sandeep.

Maybe you are looking for