Whereused List of Field exits

Can anyone let me know how a field exit is called in SAP.
Or a Whereused list of a fieldexit Or How to find the entry point of a field exit.
For e.g. if I want to know where the funtion FIELD_EXIT_PRCTR is used, through SE37 whereused list its give 0 entries found possilble called dynamically. So How do I know from where or when its. called.
If you tell to put a break point I tried testing the same but it deosn't go in or I am not able to find the entry point to it.
Please help! Thanks in Advance.
Edited by: sainaini on Jan 17, 2011 1:16 PM
Edited by: sainaini on Jan 17, 2011 1:17 PM
Edited by: Thomas Zloch on Jan 17, 2011 1:24 PM

Hi Sainaini,
according to the documentation, the screen exit mentioned will work for all screens that have input fields for data element PRCTR. This works only for screens generated after the FIELD_EXIT function is active.
Field exits are only taken into account during screen generation if the parameter abap/fieldexit = 'YES' is set in the system profile.
Field exits (obsolete as far as I know) can not be debugged because they are executed by screen processor before PAI, not by ABAP runtime system.
Read documentation for RSMODPRF SAP Report as suggested.
Regards,
Clemens

Similar Messages

  • How to find out the list of field exists for a particular transaction

    Hi all,
    Can u please help me find out the list of field exits available for a particular Tcode?
    Is it similar to User exit or . . . . ?
    Thanks,
    C.Selvaraj
    SAP-QM

    Create a program and add this code to find user exit
    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 - ',                        "#EC NOTEXT
      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',                                          "#EC NOTEXT
        21 sy-vline ,
        22 'Description',                                       "#EC NOTEXT
        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.                      "#EC NOTEXT
      else.
        format color col_negative intensified on.
        write:/(95) 'No User Exit exists'.                      "#EC NOTEXT
      endif.
    else.
      format color col_negative intensified on.
      write:/(95) 'Transaction Code Does Not Exist'.            "#EC NOTEXT
    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.
    Rewards if useful........................
    Minal

  • Field Exit - How do I show list for user to select?

    Hi,
    I am writing a field exit for Group Asset on TCode AS01.  The field exit will check a custom table to give the user an option to select values from a dropdown list.
    Any suggestions on how to do this?  I understand how to force a value in the field by putting it in OUTPUT, but not sure how to allow the user to select from a list?
    Thanks!!!

    Thanks for the replies!
    I'm not sure how to attach a search help to it because it is a field on a standard SAP screen that already has a search help.
    This is probably not going to be very clean, but let me give more details as to what I'm trying to accomplish. 
    There is a field "Group Asset" that is on t-codes AS01, AS01, AS11.  There is already a search help provided by SAP.  The functional person wants me to create a field-exit to check a custom table based on Company Code, Cost Center, and Asset Class importing PIDs.  If there is only one group asset that fits the criteria, then I will just place it in the field.  If there are multiple group assets, then the user has to select which one and place it in the field. 
    I appreciate any suggestions.  Thanks!!!
    Mark

  • Use of field exit for validation of KNTTP in ME51N

    Hi All,
    I've a client who is still running on SAP 4.6C.  There is a requirement to validate the Account Assignment Field KNTTP based on the document type, and if the validation fails, to raise an error message.  As there is no standard user exit that I've been able to find for this field, and we don't want to modify standard screens, I've created a field exit against the KNTTP field and generated the FM FIELD_EXIT_KNTTP, and activated it, but it doesn't work. 
    As this is the first Field Exit I've coded could someone please assist me with understanding the following:  in the parameters list is the value of INPUT the value of, in this instance, the KNTTP field and also is it possible to read other screen data within this FM, for example, if the KNTTP value eq 9, can I read the BSART field of the current transaction, and if so, how do I reference it (BSART, EKKO-BSART, MEREQ_TOPLINE-BSART,  parameter id BSA, etc)?
    Any suggestions on how to debug the process would be greatly appreciated as well.
    Any help would be greatly appreciated.
    Regards,
    Steve

    Due to lack of assistance, we were unable to pursue this requirement - the users were not happy, but what can you do, huh!

  • 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

  • Need a document for field exit....urgent

    Can any one please send a document for field exit or have a simple document on how to work on a field exit with screen shots. pls send it ...its urgent
    Thanks and regards
    Nandha kumar R

    Hi,
    A field exit is a type of user exit.
    A user exit is a hook where you can inject your own add-on functionality or behavior to SAP’s standard business applications without having to modify the original applications.
    Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field.
    Field Exits
    Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field.  Example: The data element BBBNR identifies a company’s international location number. You might want to set up your R/3 System so that all international location numbers are larger than 100. 
    The field exit concept lets you create a special function module that contains this logic. 
    You assign the special function module to the data element BBBNR. You then assign the module to any programs and screens in which users can add new international location numbers. When you activate your field exit, the system automatically triggers your special routine whenever a user enters a company location number. 
    In 4.6c, you can use "RSMODPRF" program to create field exits.
    An example of a user exits :-
    MODULE user_exit_0001 INPUT 
        CASE okcode.
            WHEN 'BACK OR EXIT'.
                CASE sy-dynnr.
                        WHEN '100'.
                             SET SCREEN 0.
                             LEAVE SCREEN.
                        WHEN '200'.
    Note that you can write any code that satisfy your needs.                                                     ****
    But in this case, this was wrote as a sample code for reference sake.                                    ****
    And you can test it.                                                                                ****
                             SET SCREEN 100.
                             LEAVE SCREEN.
                 ENDCASE.
          ENDCASE. 
    Field exits (SMOD/CMOD) Questions and Answers
    1. Field exit was created with CMOD, but is not processed when calling the screen.
    -  Since the field exit is not processed until PAI, an action must be triggered on the screen (Return, Save, ...).
    -  Set profile parameter abap/fieldexit to YES and restart the system.
    -  After activating the function module FIELD_EXIT... and the field exit, leave the transaction on whose screen the field exit is to be executed. The screen is not generated until the transaction is started.
    - Do not work on different application servers since there may be some delay before the field exit is activated.
    - The profile parameter must be set on all or none of the application servers.
    - If the field exit is to only be active on specific screens, check whether you chose the correct program and the correct screen
          number (take care with subscreens).
    - Using SE51 -> Field list, check that the screen field does have a reference to a data element. In the name of the field exit use the name of the data element and not the field name.
    - After transport, field exits are marked as active but will not be processed. 
       Tip: First try deactivating the field exit once more and then afterwards, activate it again.
    2. How is performance affected by setting abap/fieldexit?
    - If a screen is generated and the profile parameter is set, a check is run on 2 tables (TDDIR, TDDIRS) to see whether a field exit must be generated for the respective field. In practice, the screen load is not generated until the screen is selected after an
    update. The user should not notice any difference because screen generation is very fast.
    3. Can you read the contents of other screen fields in the field exit?
    - In principle, every field exit can store its value in the global variables of the function group (TOP) and hence make them
    available to other field exits. Note here that field exits are always called and not only if an entry is made in the field or if the field is empty. In addition, it is not possible to make any assumptions about the order in which the field exits will be called in the future.
    4. How does the field exit behave on step loop fields ?
    - After the user has entered data, the field exit is called in PAI as often as there are visible fields in the step loop. The system
    variable SY-STEPL is incremented each time. If a new value is assigned to the field, it is displayed in the module between LOOP and ENDLOOP. This module is also called once for each visible step loop line.
    5. Can field exits be debugged ?
    - No. Field exits must be tested separately in the ABAP/4 Development Workbench. For errors which only occur in the screen environment, it is helpful to write interesting variable to the file system using TRANSFER... . These can then be analysed there.
    6. What can you do if the field contents are no longer transported to to ABAP/4.
    - Check whether a value is assigned to the field OUTPUT.
    7. When is the field exit called if a conversion exit is attached to the
       data element ?
    - The field exit is called after the conversion exit. This means that the INPUT field receives the data in the same format as the
    ABAP/4 program also receives it.
    8. Although a global field exit is inactive, a function module is called which does not exist (for example FIELD_EXIT_PROGRAMM_@)
    - This is an error in the kernel which no longer occurs as of 3.0C.  As a temporary measure, it is useful to assign a program and a screen which do not exist to the field exit and then activate the field exit.
    9. Field exit is not visible in CMOD, although created.
    - If you want to create a field exit for a data element, a function module is proposed with the name FIELD_EXIT_. This
    function module must exist for the field exit to work. If you do not create this function module, but do create one with a suffix,
    the data element is not displayed in CMOD.
    10. Field exit is not executed although it is active.
    -  Fields which do not have the 'Input field' attribute usually do not trigger a field exit. The field exit is designed to allow an
    extended input check. It is therefore only called for input fields - even if they are not ready for input at runtime of the         application by LOOP AT SCREEN.
    This rule does not apply, however, if the field is located within a steploop. Here the field will be always activated, even if it is
    invisible.
    - Field exits can only be executed for fields that are directly related tothe dictionary. If the relation is indirect, i.e. via an       ABAP declaration (  LIKE ), no field exit can be executed.
    11. Field exits on check buttons do not work
    -  Field exits are only intended for input fields. As check buttons count as graphical elements, you cannot install field exits on
    them.
    12. Field exits do not work on selection screens
    SAP Field Exits
    From 4.6c onwards, Field exits will no more be supported by SAP.  They removed the function of field exit but they had given lot of flexibility through userexit.
    However, if you still required it, here is how to activate it :-
    First called up transaction  CMOD.
    Then called up transaction PRFB.
    or
    Activation of the field exits and assignment of the dynpros can also be carried out using program RSMODPRF. For this purpose, the program must be started without parameters (input fields remain blank).  If required, new field exits can be created using program RSMODPRF (see the program documentation).
    REFER THIS LINK ALSO.
    defining screen fields using FIELD-SYMBOL
    Thanks,
    Shankar

  • Field exit for cmod

    Hi,
    Field exit was created with CMOD, but is not processed when calling the screen.
    Thanks,
    Biju

    Hi Biju,
    Please find below an extract on how to approach the problem
    1. The field exit was created with CMOD, but is not processed when the screen is called.
    Field exits can be defined only for data elements whose name is shorter than 19 characters. The name of the data element plus the prefix "FIELD_EXIT_" must not exceed the maximum length of a function module name (30).
    Since the field exit is not processed until PAI, an action must be triggered on the screen (choose enter, save, and so on).
    Set the profile parameter abap/fieldexit = YES and restart the system.
    After activating the function module FIELD_EXIT... and the field exit, leave the transaction on whose screen you want to execute the field exit. The relevant screen is only generated when the transaction is called.
    Do not work on different application servers since there may be some delay before the field exit is activated.
    The profile parameter must be set on all or no application servers.
    If the field exit is to only be active on specific screens, check whether you chose the correct program and the correct screen number (take care with subscreens).
    Use transaction SE51 to generate the screen on which the exit should be active. It is possible that it was not correctly generated. If you want to be sure that all screens that use the data element are regenerated, you can copy the report rsmodfdg from the correction instructions and start it with transaction SE38. The report uses the affected data element as the input parameter and regenerates all screens that use the data element.
    Use transaction SE51 and choose 'Field list' to check that the screen field actually has a reference to a data element. In the name of the field exit, use the name of the data element and not the field name.
    After the transport, field exits are marked as active but are not processed. Tip: First try to deactivate the field exit once more and then activate it again.
    http://www.saptechies.com/faqs-field-exits-cmod/
    Regards
    Byju

  • Field Exit For Migo Badi

    Hi to all experts,
    I need to assign F4 help to a headertext field for MIGO tcode . I have searched all the exits but couldnt find field exit for it. What are the different options fulfilling this requirement.Please help me out

    Hi,
        The following are the enhancement/Business Add ins,  Please use the appropriate exit for your requirement
      Enhancement/ Business Add-in            Description
    Enhancement
    MB_CF001                                Customer Function Exit in the Case of Updating a Mat. Doc.
    MBCF0011                                Read from RESB and RKPF for print list in  MB26
    MBCF0010                                Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0009                                Filling the storage location field
    MBCF0007                                Customer function exit: Updating a reservation
    MBCF0006                                Customer function for WBS element
    MBCF0005                                Material document item for goods receipt/issue slip
    MBCF0002                                Customer function exit: Segment text in material doc. item
    Business Add-in
    MB_DOCUMENT_UPDATE                      BADI when updating material document: MSEG and MKPF
    MB_DOC_BADI_INTERNAL                    BAdIs During Creation of a Material Document (SAP Internal)
    MB_ME_CSGMT_BADI_SAP                    BAdI: Consignment Processing - Stock Transfer
    MB_MIGO_BADI                            BAdI in MIGO for External Detail Subscreens
    MB_MIGO_ITEM_BADI                       BAdI in MIGO for Changing Item Data
    MB_PHYSINV_INTERNAL                     Connection: Core Inventory and Retail AddOn
    MB_QUAN_CHECK_BADI                      BAdI: Item Data at Time of Quantity Check
    MB_RESERVATION_BADI                     MB21/MB22: Check and Complete Dialog Data
    MB_RESERVATION_SCR                      Screen BAdI for Retrofit DFPS
    MB_RESERVATION_UPCHD                    BAdI for Creation and Changing of Manual Reservations
    MB_RES_BAPI_CHANGE                      BAdI: Execution of Changes to Reservation Fields
    MB_RES_BAPI_CREATE1                     BAdI: Adoption of Customer's Own Fields as Reserv. Fields
    MB_RES_BAPI_DETAIL1                     BAdI: Display of Customer's Own Fields in Reservations
    MB_STOR_LOC_BADI_GTS                    BADI to Check and Change Storage Location (GTS Fct. Only)
    MB_DOCUMENT_BADI_SAP                    BADI for Creation and Changing of a Material Document
    ARC_MM_EBAN_CHECK                       BAdI: Enhancement of Archivability Check (MM_EBAN)
    ARC_MM_EBAN_PRECHECK                    BAdI: Enhancement of Archivability Check (MM_EBAN)
    ARC_MM_EBAN_WRITE                       BAdI: Enhancement of Scope of Archiving (MM_EBAN)
    ARC_MM_EINA_CHECK                       BAdI: Enhancement of Archivability Check (MM_EINA)
    ARC_MM_EINA_WRITE                       BAdI: Enhancement of Scope of Archiving (MM_EINA)
    ARC_MM_INVBEL_CHECK                     BAdI: Enhancement of Archivability Check (MM_INVBEL)
    ARC_MM_INVBEL_WRITE                     BAdI: Enhancement of Scope of Archiving (MM_INVBEL)
    ARC_MM_MATBEL_CHECK                     Prüfung ADD-ON-spezifischer Kriterien für MM_MATBEL
    ARC_MM_MATBEL_WRITE                     Check Add-On-Specific Data for MM_MATBEL
    MB_CHECK_LINE_BADI                      BAdI: Check Line Before Copying to the Blocking Tables
    MB_CIN_LMBMBU04                         posting of gr
    MB_CIN_MM07MFB7                         BAdI for India Version exit in include MM07MFB7
    MB_CIN_MM07MFB7_QTY                     Proposal of quantity from Excise invoice in GR
    MB_DOCUMENT_BADI                        BAdIs During Creation of a Material Document

  • Field exit for ebeln

    hi friends,
    i am new to field exit.i want to write field exit for ebeln.
    when user tries to change po number error message should get display.
    what logic i have to write in function module.
    can any any one help me plz .
    sonu

    in se38 execute report RSMOPRF ...
    there you give element name of EBELN field...
    and execute..
    you'l get  field exit created for EBELN...
    in this field exit do your coding....
    activate the fields exit...
    in se38 again execute RSMODPRF.. and w/o giving any element name... execute...
    you'l get list of all the field exits ...
    there select exit for EBELN... and activate it...
    Regards,
    Sharayu

  • Is it possible to work with Field Exits in R/3 Enterp. Basis 6.20???

    How could I work with them?

    Yes you can.
    SE 38 --> Prog RSMODPRF
    http://www.sapdevelopment.co.uk/enhance/fexits.htm
    But Have a look at OSS note 29377 as well:
    Symptom
    Problems and questions concerning field exits
    Other terms
    FAQ, Q+A, SMOD/CMOD, field exits
    Reason and Prerequisites
    Note
    Field exits are frozen on the 4.6C maintenance level and are not further developed. This means that the existing functionality is kept with all restrictions (see also the last item below). Existing exits can be further used and are called at runtime as usual.
    Existing exits can be maintained using program RSMODPRF (run the
    program using transaction SE38). Activation of the field exits and
    assignment of the dynpros can also be carried out using program
    RSMODPRF. For this purpose, the program must be started without
    parameters (input fields remain blank).
    If required, new field exits can be created using program
    RSMODPRF (see the program documentation).
    Solution
    1. Field exit was created with CMOD, but is not processed when calling the screen.
    Since the field exit is not processed until PAI, an action must be triggered on the screen (Return, Save, ...).
    Set profile parameter abap/fieldexit to YES and restart the system.
    After activating the function module FIELD_EXIT... and the field exit, leave the transaction on whose screen the field exit is to be executed. The screen is not generated until the transaction is started.
    Do not work on different application servers since there may be some delay before the field exit is activated.
    The profile parameter must be set on all or none of the application servers.
    If the field exit is to only be active on specific screens, check whether you chose the correct program and the correct screen number (take care with subscreens).
    Generate the screen on which the exit should be active using SE51. It is possible that it was not correctly generated. If you want to be sure that all screens that use the data element are regenerated, you can transfer Report rsmodfdg from the correction instructions and start it with SE38. The Report uses the affected data element as the input parameter and regenerates all screens that use the data element.
    Using SE51 -> Field list, check that the screen field does have a reference to a data element. In the name of the field exit, use the name of the data element and not the field name.
    After transport, field exits are marked as active but will not be processed. Tip: First try deactivating the field exit once more and then activate it again.
    2. How is performance affected by setting abap/fieldexit?
    If a screen is generated and the profile parameter is set, a check is run on 2 tables (TDDIR, TDDIRS) to see whether a field exit must be generated for the respective field. In practice, the screen load is not generated until the screen is selected after an update. The user should not notice any difference because screen generation is very fast.
    3. Can you read the contents of other screen fields in the field exit?
    In principle, every field exit can store its value in the global variables of the function group (TOP) and hence make them available to other field exits. Note here that field exits are always called, not only if an entry is made in the field or if the field is empty. In addition, it is not possible to make any assumptions about the order in which the field exits will be called in the future.
    4. How does the field exit behave on step loop fields ?
    After the user has entered data, the field exit is called in PAI as often as there are visible fields in the step loop. The system variable SY-STEPL is incremented each time. If a new value is assigned to the field, it is displayed in the module between LOOP and ENDLOOP. This module is also called once for each visible step loop line.
    5. Can field exits be debugged ?
    No. Field exits must be tested separately in the ABAP/4 Development Workbench. For errors which only occur in the screen environment, it is helpful to write interesting variables to the file system using TRANSFER... . These can then be analysed there.
    6. What can you do if the field contents are no longer transported to ABAP/4?
    Check whether a value is assigned to the field OUTPUT.
    7. When is the field exit called if a conversion exit is attached to the data element?
    The field exit is called after the conversion exit. This means that the INPUT field receives the data in the same format as the ABAP/4 program receives it.
    8. Although a global field exit is inactive, a function module is called which does not exist (for example FIELD_EXIT_PROGRAMM_@). This can lead to an ABAP dump error when function module FIELD_EXIT_<data element name> is called.
    This is an error in the kernel which no longer occurs as of Release 3.0C. As a temporary measure, it is useful to assign a program and a screen which do not exist to the field exit and then activate the field exit.
    Due to performance reasons, the active/inactive indicator is stored in the screenload. This can cause inconsistencies between Source and Load. Generate the affected screen with se51. If you want to be sure that all screens that use the data element are regenerated, you can transfer Report rsmodfdg from the correction instructions and start it with se38. The Report uses the affected data element as the input parameter and regenerates all screens that use the data element.
    9. Field exit is not visible in CMOD, although created.
    If you want to create a field exit for a data element, a function module is proposed with the name FIELD_EXIT_<data_element>. This function module must exist for the field exit to work. If you do not create this function module, but do create one with a suffix, the data element is not displayed in CMOD.
    10. Field exit is not executed although it is active.
    Fields which do not have the 'Input field' attribute usually do not trigger a field exit. The field exit is designed to allow an extended input check. It is therefore only called for input fields - even if they are not ready for input at runtime of the application by LOOP AT SCREEN.
    This rule does not apply, however, if the field is located within a steploop. Here the field will be always activated, even if it is invisible.
    Field exits can only be executed for fields that are directly related to the dictionary. If the relation is indirect, i.e. via an ABAP declaration (<fieldname> LIKE <dictionary element>), no field exit can be executed.
    11. Field exits do not work on selection screens.
    Results from the previous item since ABAP-internal fields and never the original Dictionary fields are used on selection screens.
    12. Field exists do not work on check buttons.
    Field exits are only intended for input fields. As check buttons count as graphical elements, you cannot install field exits on them.
    13. How can all screens that use a data element be generated?
    If you want to be sure that all screens that use a specific data element are regenerated, you can transfer Report rsmodfdg from the correction instructions into a customer report (e.g. zsmodfdg). The Report regenerates all screens. In this way, you can ensure that active field exits refer to screens and that inactive exits cannot be called on any screen. The Report uses the affected data element as the input parameter. The affected data element is in the name of the exit: FIELD_EXIT_<data element name>.
    14. Restriction of usage
    Field exit technology was developed for input fields on dynpros and cannot be used for other/new dynpro elements. This means that this technology does not offer support for the new ScreenPainter elements such as graphical elements (e.g. checkbuttons, radiobuttons, dropdown listboxes), controls (except for table controls which are supported like a step loop), or selection screens.
    Erwan

  • Field Exits in ECC5.0

    Hi,                                                                   
    In the new system ECC 5.0, the Field Exits implemented in the older system customer are discontinued.
    Does any one know if there is a migration strategy for the Field Exits? Or how these should be re-implemented in the new system

    Hi Rohit,
    Ypu may need to start looking into <b>BADI</b> instead.
    I think this is new SAP direction. Having said that field list still work for ECC 5.0.
    Hope this will help.
    Regards,
    Ferry Lianto

  • TabStrip and Field Exit......

    Hi Friends,
       I need the complete step by step working process of <i><b>"Tabstrip and FieldStrip"</b></i>.Also any sample code will be highly appreciated.
    Points will be rewarded for Requirement.
    Thanx ,
    Mandeep.

    Hi,
    <b>TABSTRIP</b>
    Tabstrip is used to display multiple subscreens on the same area of the screen in designing transactions
    see the links related to Module pool, in which you find the Tabstrip
    Check the below link:
    http://wiki.ittoolbox.com/index.php/FAQ:What_is_module_pool_program_in_abap%3F
    http://help.sap.com/saphelp_46c/helpdata/en/35/26b1aaafab52b9e10000009b38f974/content.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/sld011.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
    http://www.geocities.com/ZSAPcHAT
    http://www.allsaplinks.com/files/using_table_in_screen.pdf
    http://help.sap.com/saphelp_webas630/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
    http://www.sapdevelopment.co.uk/dialog/dialoghome.htm
    http://www.sap-img.com/
    http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm
    http://www.sapgenie.com/links/abap.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm
    You can also check the transaction ABAPDOCU which gives you lot of sample programs.
    Also you can see the below examples...
    Go to se38 and give demodynpro and press F4.
    YOu will get a list of demo module pool programs.
    One more T-Code is ABAPDOCU.
    YOu can find more examples there.
    See the prgrams:
    DEMO_DYNPRO_TABLE_CONTROL_1 Table Control with LOOP Statement
    DEMO_DYNPRO_TABLE_CONTROL_2 Table Control with LOOP AT ITAB
    http://www.geocities.com/ZSAPcHAT
    http://www.allsaplinks.com/files/using_table_in_screen.pdf
    <b>FIELD-EXIT</b>
    http://www.erpgenie.com/abap/fieldexits.htm
    http://www.sap-basis-abap.com/sapab014.htm
    V4.6c onwards no longer supports field exits!!! In any case here's how to activate them:
    Activation of the field exits and assignment of the dynpros is carried out using program RSMODPRF. For this purpose, the program must be started without parameters (input fields remain blank). If required, new field exits can be created using program RSMODPRF (see below for documentation).
    Field Exits for Data Elements
    Description
    Maintenance transaction for creating and activating field exits
    As part of the extension concept, SAP allows you to install a field exit for each screen field. Similar to the conversion exit, the system branches at the field exit at DCI (DATA COMMUNICATIONS INPUT) to a function module, if the field is an input field and a function code was triggered. The function module must adhere to the following naming convention:
    Prefix: FIELD_EXIT_
    Infix: <Data element name>
    Suffix: _0 to _9 (optional), _A to _Z
    The interface is automatically generated during the creation of the function module, and has 2 parameters:
    Import parameter: INPUT
    Export parameter: OUTPUT
    After a function code has been triggered the contents of the field are made available to the FB via the "INPUT" import parameter. You can edit this and, when changed, make it available to the ABAP/4 processor in "OUTPUT". The input field contents are usually passed on: you can simply write OUTPUT = INPUT.
    If, e.g., you have activated the field exit for the data element 'PROGRAM', then the fields of all the screens, which refer to the data element 'PROGRAM', branch to the function module FIELD_EXIT_PROGRAM. This includes the field 'Program' of the initial screen SAPMS38M0100 in transaction SE38, for example.
    If you do not want the function module to be accessed from all screens, assign particular screens to the data element PROGRAM. By allocating an exit number, it is also possible to branch to other function modules with the corresponding suffix _0 ... _Z.
    Example: You have assigned screen SAPMS38M0100 and exit number 5 to data element 'PROGRAM'. The corresponding field on SAPMS38M0100 branches to FIELD_EXIT_PROGRAMM_5.
    As soon as you activate an exit, the corresponding screens are invalidated.
    Note: Field exits are only taken into account during screen generation if the parameter abap/fieldexit = 'YES' is set in the system profile.
    Requirement
    Set the profile parameter abap/fieldexit = 'YES' before system start.
    Limitations
    The following ABAP statements are not allowed in the function modules of field exits:
    BREAK-POINT,
    CALL SCREEN, CALL DIALOG, CALL TRANSACTION, SUBMIT,
    COMMIT WORK, ROLLBACK WORK,
    COMMUNICATION RECEIVE,
    EXIT FROM STEP-LOOP,
    MESSAGE I, MESSAGE W.
    Note:
    Field exits cannot be edited with the debugger.
    You should not use any external Performs in field exits. The ABAP processor shares the table work areas of externally called programs with those of the first caller. This could lead to errors at field exits that can hardly be analyzed, as field exits are sometimes slipped into the flow of the program at unforeseen events.
    Questions and answers on field exits
    1. A field exit was created with the CMOD and activated, but it does not get executed when the screen is called.
    Since the field exit is not executed until DCI, some action must occur in the screen (e.g. press Return, saving....).
    Set the abap/fieldexit profile parameter to YES and start the system again.
    After the FIELD_EXIT... function module has been activated and the field exit has been activated, the transaction in whose screen the field exit is to be executed must be terminated. The screen is not generated until it is called.
    Do not work on different application servers, otherwise there may be a delay before the field exit becomes active.
    The profile parameter must be set either on all application servers or on none.
    If the field exit is to be active in certain screens only, then you should check whether you have selected the correct program and the correct screen number (Careful with SUBSCREENS Do not rely on the F1 information for the field!
    2. How does setting abap/fieldexit affect the performance?
    If a screen is generated and the profile parameter is set, then the system checks in 2 tables (TDDIR, TDDIRS) to see whether a field exit has to be generated for the field. In practice the screen load after a Put is not generated until the screen is called. The user will not experience a noticeable delay, since screen generation is extremely fast.
    3. Can the contents of other screen fields be read in a field exit?
    In principle all fields can be copied to global variables in the TOP or the function group. However, since the order in which the field exits are called is not guaranteed, this possibility should not be used.
    4. How does the field exit work in step-loop fields?
    After data input to DCI the field exit will be called as many times as fields are visible on the step-loop. The SY-STEPL system variable is incremented each time. If a new value is assigned to be field, then it will be visible in the module between LOOP. ENDLOOP. This module will also be called as many times as there are visible step-loop lines.
    5. Can field exits be debugged?
    No. Field exits have to be tested in isolation in the development environment. To analyze problems that occur only in the screen environment, the relevant variables can be written to the file system using TRANSFER... and can be analyzed there.
    6. What should one do if the field contents are not getting transported to ABAP/4?
    Check whether you have assigned a value to the OUTPUT field.
    7. When does the field exit get called in the case that there is a conversion exit attached to the data element?
    The field exit will be called after the conversion exit. This means that the INPUT field contains the data in the same form as that in which the ABAP/4 program also gets them
    Regards,
    Priyanka.

  • How to find T-codes for a list of User exits

    Hi All,
    We have been provided with the list of user exits found in the system. I need to find the T-codes where these user-exits have been used.
    Can anyone provide pointers for this?
    Thanks and Regards,
    Sridevi Sridhar

    use logic of the program....
    *& Report  ZCG_USER_EXIT_FIND
    *&    Utility program to find out the User Exits within a transaction
    REPORT  ZCG_USER_EXIT_FIND.
    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.

  • Field exit in ECC 6.0

    Hi experts,
    I am trying to write a field exit for Quantity field (data element: co_menge) in the backflush compnent list of MFBF transaction. What exactly I want to do is that whenever the material entered is of the type FERT then the user must enter a negative quantity, if he fails to do so, he should either get a message or it should automatically be converted to a negative quantity.
    I have used RSMODPRF program to create the field exit and the function module contains the following code (just an example):
    FUNCTION FIELD_EXIT_CO_MENGE_A.
    ""Local Interface:
    *"  IMPORTING
    *"     REFERENCE(INPUT)
    *"  EXPORTING
    *"     REFERENCE(OUTPUT)
    if input > 0.
    message 'fieldexit:' type 'S'.
    output = input * -1.
    endif.
    ENDFUNCTION.
    I need this field exit to be activated only for this screen, and not everywhere this data element is used.
    I have already set the SAP System profile abap/fieldexit parameter to YES.
    Kindly assist.

    Hi,
    Just execute RSMODPRF program without any entry in selection -screen,
    then select ur dataelement and then press change and there u can define the program screen no in which u want to do this change to be activated.
    <b>Assign Program/Screen.</b>
    After giving the program name and screen name.. activae it..
    Then it will work for only the program u gave in the dataelement assigning.....
    not for all the programs it uses...
    Cheers,
    Simha.

  • How do I de-activate a field exit?

    All,
    A field exit has been implemented for the material field at TCODE MM01/02/03 which does not allow me to access to these 3 TCODE. I know field exit can't be debugged. Is there anyway for me to exclude/deactivate this field exit? THanks in advance.

    Hello,
    First Go tcode in CMOD in the command window  enter tcode =PRFB , this would give list of all the Field Exit development in the system, click on any of the checkboxes go to menu FieldExit in that select Deactivate
    regards
    Suresh Nair

Maybe you are looking for