Field exit and Authorization grp

Hi All,
I have the following requirement...
I Created a field exit for the data element (MATKL-for example)..Is there any chance that we could use that AG as indicator to evaluate in the field exit???
That is...
If the material group(MATKL) has the AG(Authorization group) populated with a value (ZRES – for example) ,then that particular Material group is restricted and should not be used in the creation/modification of documents.
Is there any possiblilty of achieving the above requirement..??
Please suggest a solution.
Regards
Shiva

My requirement in this scenario is : I need to decide between a authorization group and field exit to restrict the users using some group of material groups which are obsolete.
Since the field exits are created over a data element in many transactions such as ME21N/22N/23N/..etc the data element for material group is not MATKL so in such cases I need to create field exits for all data elements which the material group uses across various transactions.
On the other hand, if I could restrict the use of certain material group based on authorization group then use of field exit would not be required…
But the possible problem with this may be to restrict only certain transactions …but not all the transactions.
Authorization Object: M_MATE_WGR
Definition :
Material group authorization for material master records.
This object determines whether a user is authorized to maintain the material master record for a specific material group.
Defined Fields
Fields
Possible values :
ACTVT
01 User may create data.
02 User may change data.
03 User may display data.
06 User may mark data for deletion.
BEGRU (Authorization grp-table T023)
Here you must specify the
authorization groups from Table T023
for which the materials concerned may
be processed.(may be any number of grps)
Regards
Shiva

Similar Messages

  • How to findout Field Exit and Menu Exit  ?

    Hi all,
    How to findout Field Exit and Menu Exit  ?If you have any example for both , could you please send it to me ?
    Thanks in advance
    Krishnasri

    To find user exit  check below code exicute with required T code you will get its all exits
    report  zm_user_exit1 no standard page heading.
    *& 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.
    Rewards if useful......................
    Minal

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

  • Field Exit for customer master data

    hi
    i want to execute a check every time that we create a new customer
    this check should check that the field "VAT REG.." is field and not blank
    please your advice what is the best practice for this issue, field exit? badi? or is there any other way recommended
    i think that there is option to use  field exit but i don't know which field exit and how to do it
    many thanks

    Hi Meir,
    You go to SE84, and enter the enhancement I provided. Then, you activate the user-exit and write your own code. You can consult your ABAP team, if you are not sure about implementing user-exit.
    Regards,
    Eli

  • 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

  • Problem with Field exits

    Hi Gurus
    i have a problem, in MM01/MM02(Basic data1) there is field called Prod.hierarchy(dataelement is prodh_d), for this data element how to create and change Field Exits and how to assign to MM01/MM02 Tcode.
    the code part i have to write is
    1. To validate MARA-PRDHA field length (field exit can handle this). the field length should be 18 char.
    2.Copy the value of MARA-PRDHA to MVKE-PRODH (the code of the field exit above, you can do field-symbol technique to transfer value from mara-prhda to mvke-prodh).
    plz. do the needfull information with all the steps with codeASAP.
    I am using Ecc 6.0 Version.
    Thanks & Regards,
    Sudheer.

    Hello,
    If you want to create a user exit execute report RSMODPRF with out parameters and create the FM to the field you need, and active it.
    But before doing that, check if there is a user exit or badi implementation availavle, it will be a better solution.
    Check for instance, the following:
    USER EXIT
    MGA00001                                Material Master (Industry): Checks and Enhancements
    MGA00002                                Material Master (Industry): Number Assignment
    MGA00003                                Material Master (Industry and Retail): Number Display
    Business Add-in
    BADI_EAN_SYSTEMATIC                     BAdI for Internal Control of EAN Logic
    WRF_DISCONT_PARAMS_I                    BAdI: Parameters in Fashion Discontinuation
    WRF_DISCONT_FACT_E                      BAdI: Follow-Up Actions in Discontinuation
    WRF_DISCONT_CHECKS_I                    BAdI: Scope of Check in Material Reorganization
    MG_MASS_NEWSEG                          User-Specific Fields & Segments in Mass Maintenance
    MATGRP_SKU_UPD                          BAdI for Article Hierarchy Connection
    CDT_CHECK_MATERIAL                      Checks for Existence of a Material in a CDT
    BADI_MM_MATNR                           Modification-Free Archiving Enhancement of MM_MATNR
    BADI_MAT_F_SPEC_SEL                     BAdI for Material Special Field Selection
    BADI_MATNR_CHECK_PVS                    Check Material for Use in iPPE
    BADI_MATERIAL_REF                       Addition of customer-defined default data for material
    BADI_MATERIAL_OD                        Integration of New Objects in Material or Article Master
    BADI_MATERIAL_CHECK                     Enhanced Checks for Material Master Tables
    BADI_GTIN_VARIANT                       User Exit for Customer-Specific GTIN Variant Check
    Hope this helps,
    Dont forget to reward.

  • Field Exit for VA11 screen ?

    Hello Abapers,
                         I need ur help to find out the field exit available for VA11 screen.
    How to find the field exit wht is the procedure?
    Thks

    Hi Venkateswar,
    First you check this link once.,
    http://www.****************/Tutorials/ExitsBADIs/MK01/FieldExit.htm
    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).
    Please find below the step by step procedure for field exit :-
    There are eight steps to creating a field exit:
    Step 1: Determine Data Element
    Step 2: Go To Field Exit Transaction
    Step 3: Create Field Exit
    Step 4: Create Function Module
    Step 5: Code Function Module
    Step 6: Activate Function Module
    Step 7: Assign Program/Screen
    Step 8: Activate Field Exit
    Step 1: Determine Data Element
    Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
    An easy way to determine the data element associated to a particular screen field is to:
    Go the appropriate screen.
    Position the cursor in the appropriate field.
    Press ‘F1’ for field-level help.
    Click on the ‘Technical info’ pushbutton (or press ‘F9’) on the help dialog box.
    On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the ABAP/4 Dictionary.
    Step 2: Go To Field Exit Transaction
    The transaction to create field exits is CMOD.
    You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
    From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
    After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
    NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
    Step 3: Create Field Exit
    From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
    After choosing this menu path, a dialog box will prompt you for the appropriate data element .
    Enter the data element name and click the ‘Continue’ pushbutton.
    Now, you will be able to create the function module associated to the data element’s field exit.
    Step 4: Create Function Module
    You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the ‘Continue’ pushbutton.
    In the ‘Function module’ field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
    FIELD_EXIT_<data element>
    You can add an identifier (an underscore followed by a single character ).
    The first function module for a data element’s field exit must be created without an identifier.
    To create the function module, click on the ‘Create’ pushbutton, choose menu path Function module -> Create, or press ‘F5’.
    After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing ‘Enter’, you will be able to go ahead and create the function module.
    Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
    Step 5: Code Function Module
    From the function module’s attributes screen, click on the ‘Source code’ pushbutton or choose the Goto -> Function module menu path to the code of the function module.
    Here you will add your desired functionality for the field exit.
    Remember that field exit’s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
    You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
    Step 6: Activate Function Module
    After coding the function module, you must remember to activate it.
    Use the Function module -> Activate menu path to activate the function module.
    At this point, you can return to the field exit transaction.
    You should be able to 'green arrow' back to this transaction.
    When you return to the field exit transaction, you will see an entry for the newly created field exit.
    At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
    Also, the field exit will not be triggered yet because it is inactive.
    Step 7: Assign Program/Screen
    This step is only needed if you want to make a field exit local.
    To make a field exit local, select the field exit and click on the ‘Assign prog./screen’ pushbutton.
    In the dialog box , indicate the appropriate program name and screen number.
    This information indicates that the field exit is local to the specified screen in the specified program.
    In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the ‘Fld. Exit’ field.
    If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
    If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
    Step 8: Activate Field Exit
    The field exit must be active for it to be triggered by the system.
    Activate the field exit by choosing the Field exit -> Activate menu path.
    After assigning the field exit to a change request, its status will change to ‘Active’ and it will be triggered automatically on the appropriate screen(s).
    NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
    Please reward points if helpful.
    Cheers,
    Swamy Kunche

  • Using Field Exit for a field in table KNA1

    Hi everyone,
    I am working on a ticket, the problem is we have a field called STRAS in table KNA1 which holds the address of the customer but now we want to increase the length of this field from 35 charachters to 55 due to some business requirement. SO my question is if this can be done using Field Exit and if yes.. can you please tell me how as I have never used Field exits.
    Thanks,
    Rajeev

    Hi,
    Using field exit, you can only validate the data entry for the field (either globally or on a particular screen field)
    This is usually done by implementing the field exit for the data element corresponding to the field(in your case STRAS_GP)
    Hence you cannot increase the length of the field using the concept of the field exits...
    Please note that after SAP R/3 4.6c, SAP has stopped the creation of field exits and there will be no support for any new ones created.
    Regards
    Shiva

  • Now a simple question of Field exit.

    well, im really very glad because my last post was a success and i can solve de problem!!!!thank you all...
    this time i need in the VF01 on one field ('Reference'/Xblnr), when the user press save, to show some popup allowing entry data, so the user may choose some keys from a Ztable that i have to create, and then continue saving.
    May i use a field exit for this?what steps shall i follow to activate a field exit and put my code?
    Note: there isn't an User exit that appear in the moment i need, the one i asked in my last post doesn't work for this and any of the others finded in ZFindexit. when i'm debugging <b>'perform userexit_pricing_prepare_tkomk' </b>
    appeared, is this an User exit? inside this perform i have changed manually while debugging the field i need and the proccess ended OK. how can i activate this exit?
    well, i'm sure that someone know the asnwer....
    i'll be very glad with the ones who can help me!!!!
    and i'll give points in rewards for those who help me as a gratefulness of my part...
    i'm waiting your help, thank in advance....

    Hi andrew,
    you will have a standard program RSMODPRF for field exits.
    Execute that program and create a a field exit(function module) for 'XBLNR' giving the data element of XBLNR and number of the field exit as inputs.
    There you can write the related code...
    Hope this helps you.
    Regards,
    Vinod.

  • 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

  • About field exits

    Hi Gurus,
    i have a problem, in MM01(Basic data1) there is field called Prod.hierarchy(dataelement is prodh_d), for this data element how to create Field Exits and how to assign to MM01 Tcode.
    the code part i have to write is
    1. To validate MARA-PRDHA field length (field exit can handle this). the field length should be 18 char.
    2.Copy the value of MARA-PRDHA to MVKE-PRODH (the code of the field exit above, you can do field-symbol technique to transfer value from mara-prhda to mvke-prodh).
    plz. do the needfull information with all the steps ASAP.
    Thanks & Regards,
    Sudheer.

    You can create a field exit to the data element by running the report RSMODPRF.
    You will then have to assign the the program name & screen No. (In this case the program name & screen No. in MM01 transaction.)
    You will have to write a field exit for MARA-PRDHA and within that ensure that the field length is 18char.( The input value you read should be of 18 char).
    You can read the screen field value by using the fn. module to read the screen values & put that value inside MVKE-PRODH. This can be written in another exit.
    Important Things to Note.
    1.You cannot debug a field exit.
    2. Assign the correct program name & screen no. to activate the field exit.
    3. This is written at data element level.
    Hope this helps...
    Let me know if you need any further details.
    Regards
    Deepu.
    Reward Points if it helps.

  • Are Field Exits Not Recommended ?

    Hi everybody
    I saw recently a post wich comments that Field-Exits are not more recommended and supported by SAP.
    It's that true ?    Why are these not recommended ?
    where can i see informatión about that ? so i could justify their use or not.
    Thanks for help.
    Regards
    Frank

    Hi Frank,
    Its not that you cannot use field exits now. Whatever was delivered by SAP will be supported but no further development will take place on enhancing field exits by SAP. See OSS note 29377. It will clear all your doubts.
    It says -
    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).                                                                               
    14. Restriction of usage                                                                               
    o  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.                                                
    Cheers.

  • Field exits in MM01

    Hi Gurus,
    i have a problem, in MM01(Basic data1) there is field called Prod.hierarchy(dataelement is prodh_d), for this data element how to create Field Exits and how to assign to MM01 Tcode.
    the code part i have to write is
    1. To validate MARA-PRDHA field length (field exit can handle this). the field length should be 18 char.
    2.Copy the value of MARA-PRDHA to MVKE-PRODH (the code of the field exit above, you can do field-symbol technique to transfer value from mara-prhda to mvke-prodh).
    plz. do the needfull information with all the steps ASAP.
    Thanks & Regards,
    Sudheer.

    Hi sudheer,
    I didn;t get your question..
    Do you want to add a field to the standard screen basic data 1 and have a screen exit to handle that field?
    If this is the case check out SAP note 44410 .It talks about intergrating customer-specific fields in the material master maintenance.
    Award points if useful.
    Regards
    Parag

  • Help with BDC, user exits and BAPI

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

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

  • How to link or call two FIELD EXIT

    Hi Friends,
    I've to do a Field exit object for MIGO...and my logic is i've to capture the meory id concept by Export and Import function.So, I heard that I've to create one field exit with Export function and again create under one more field exit to import the memory id from Export.
    I know the logic of Export and Import.But i dont know how to fix it in the function module,means how to create one field exit and call the same under one more field exit.
    Pls do the needful and post me with some good field exit examples for my reference.i.,e How to give codes inbetween Function and End Function. and how to call this field exit with one more field exit for import stmt.
    if u find BADI or USER EXIT is good for MIGO,pls reply with good and correct example functions.
    Thanks and regards
    sankar.
    Edited by: sankar babu on Dec 29, 2007 10:00 AM

    Hello Sankar,
          Just you want to use the functionaly Import and Export , that why you required two Fields Exit in transitation MIGO.
    I suggest MIGO is huge transitation which conver some table like MSEG and BSEG which affect the performance of the program. Better you go with one field Exit . Although there are many Some are attach Below.
    Re: MIGO Enhancement
    Re: How to add field to MIGO Urgent??
    SMOD enhancement MBCF0005 looks promising.
    MBCF0002
    MBCF0005
    MBCF0006
    MBCF0007
    MBCF0009
    MBCF0010
    MBCF0011
    MBCFC003
    MBCFC004
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/QMIMIL/QMIMIL.pdf.
    MB_DOCUMENT_BADI or MB_DOCUMENT_UPDATE
    and these exits: MBCF0002, MB_CF001
    Regards
    Swati Namdeo

Maybe you are looking for