Can I call popup on Field-Exit ?

Hi,
    I create field-exit vorgang at MIRO and when the conditional begins, display a popup ( i used popup_to_confirm) but instead, An error occurred RPERF_ILLEGAL_STATEMENT.
So, if i really got it on field-exit a can't call screen, dialog, submit and use message W or I.
Someone can help with this, please i really need.
regards
Marcos Rodrigo

I won't go into the reasons for not using field exits any more as this is well documented.  However, if this is your only choice then you can get popups to work by encapsulating your requirement into a function module.
To get it to work you have to flag your function module as RFC enabled and use the syntax:
CALL FUNCTION func STARTING NEW TASK task
   DESTINATION dest
   PERFORMING subr ON END OF TASK.
Now if you combine this with a wait command
WAIT UNTIL log_exp
then get your subroutine defined in subr to set a flag to which the WAIT command is looking for.
This works by your field exit waiting until the RFC has finished.  However, as it is STARTING NEW TASK then this has the ability to do anything i.e. SUBMIT, CALL SCREEN, issue message etc as it is a separate dialog process.
Edited by: Pete Devereux on Jan 28, 2009 3:25 PM

Similar Messages

  • How to know whether a field exit is getting triggered or not??

    HI ,
    We are upgrading a system from 4.6 to ECC, the problem is that, in earlier system field exit was getting triggered but its not getting triggered in ECC, the field exit is active in ECC but still its not getting triggered.
    Field Exit is FIELD_EXIT_SAKNR.
    Please provide some help
    Regards
    Karan Arya

    Hi,
    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.
    Hope this helps you resolve your issue.
    Regards,
    Jayanth

  • Problem activating field exit

    Dear Friends,
    When i try to activate my field exit using program RSMODPRF, the following message appears.....
    System is not configured for field exits (see long text)
    Message no. ENHANCEMENT032
    Diagnosis
    The system is configured wrong. Field exit maintenance will have no effect.
    System Response
    The profile parameter abap/fieldexit is set to YES during screen generation. A screen load is generated that allows you to branch to field exits.
    This parameter may only be set in the customer system.
    Note: If the parameter has been set, you must check that, for each field, the system branches to the correct corresponding function module during screen generation. For performance reasons, you should not set this parameter during generation unless field exits have actually been created for your system.
    Procedure
    Set the abap/fieldexit parameter to YES in the system profile and restart your SAP system.
    How to solve this problem....
    Thanks & Regards,
    Sudheer

    Hi,
             go thourgh the documentation of the program RSMODPRF..
    Short text
    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.
    Requirements
    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

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

  • Alternate solution for Field Exit

    Hi All,
      Is there any other way to get the functionality of Field Exit?
      According to my requirement, I have to populate some values in a table control based on the value entered in a field.
      Please tell me a solution for this.
    Thanks,
    Nandhu.

    Hi,
    As per your requirement you want to populate some values based on the value of some other field.
    You can try for EXITS or if the field from which you want to use the value and the other fields which you want to populate are input fields then you can as well use field exits.
    Variables declared globally for storing values in the top include of the function group for field exits can be accessed in other field exits. So you can make use of this functionality.
    Thanks.

  • The way how field exit gets called??????

    Hi ALL,
    Can any guru tell me how exactally the field exit works.
    Senario- I have created field exit on Data element WERKS_EXT for user validation on plant level for T-code VA01.
    Issue- I don't have proper user details in Dev. system to test this thing, for ulternative what i m doing is; I am running VA01 by putting brake point inside my Include for field exit to check it is getting called or not?
    But the control is not coming to this field exit code and it is creating sales order .
    I have checked, it is ACTIVE and GLOBLE for all screens.
    So, please tell how exactally the field exit works and how i can test this?
    Regards,
    Rahul

    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. Field exits cant be debugged.
    For details on field exits, have a look at below link.
    http://www.sap-img.com/abap/field-exits-smod-cmod-questions-and-answers.htm
    http://www.sap-basis-abap.com/sapab014.htm
    Best Regards,
    Vibha
    *Please mark all the helpful answers

  • Field exit - popup

    Hello all,
    I am trying to display a list of values as a popup from with in a Field Exit. But i am getting a short dump saying CALL SCREEN is not allowed in this form.
    I have tried FMs like REUSE_ALV_POPUP_TO_SELECT, POPUP_WITH_TABLE_DISPLAY to get the popup but i am getting this short dump. Any ideas to get around this....

    Hi Raju,
    When you're working with field exit some statements are not allowed, such as:
    - break-point;
    - CALL.....;
    - SUBMIT;
    - COMMIT WORK/ROLLBACK WORK;
    - STOP, REJECT,
    - Message I, Message W
    best regards,
    Aline

  • How to call an include in a field Exit?

    Hi Guys,
                  i am having a doubt ,How to call an Include in a field Exit function module.
                i wrote as "include zxx_incl." but if i wrote like this in my Field Exit i am getting a Suntax error
    "Recursive INCLUDE nesting in program "ZFLDEXIT_INCL". It contains an
    INCLUDE statement which calls itself or a previously read program
    ("ZFLDEXIT_INCL                           ").
    '                 i am having other doubt while creating an include program does we need to write a 1st statement as include zxx-incl within the same include ZXX_incl? if not i am getting a syntaxt error.
    thanks,
    Gopi.

    Yes, thats the problem.
    Your include is named ZFLDEXIT_INCL and in the first line of that include you probbaly wrote
    include ZFLDEXIT_INCL.
    Delete that, includes don't need a reserved word like programs and reports

  • Can any one tell me how to work with field exit????

    Hi
    Can any one tell me how to work with field exit I know how to create them. I want to know how it works. Actually I want to create a field exit for T-CODE MIRO. Where I want to put the value ebeln of the PO Reference tab into the Assignment of details tab and make Assignment field disable.
    Thanks in advance

    Hi,
    Follow the Steps,
    1. Go to CMOD transaction
    2. From the menu "GOTO->TEXT ENHANCEMENTS->DATA ELEMENTS-   ->NEW DE CUST DOCU".
    3. In the displayed box specify the data element and
       press either "CHANGE" or " Ref to screen" button
    4. CHANGE button is for defining the documentation
    5. "Ref. to screen" if for assigning the screen in which
       a field has the this type data element.
       Note: You should have used this data element for a   
             field in that screen.
    6. Now it will ask for Function Module name, specify the
       FM name and double click it. It will go to the editor.
    7. Now using the Import parameters code accordingly
    8. Activate and go back
    9. Now "Assign the created program ( that is FM) to the
       screen by specifying the Program name and Screen
       number.
    10. Now save and activate.
    Note: No need to create a separate project for creating field exit through transaction CMOD.
    I hope this is suffice.
    Regs,
    Venkat Ramanan

  • Can the user exit  EXIT_SAPMM07M_004 be called from an FM exit in my code?

    Hi ,
    When I create a Goods Receipt by tx MB1C , an MM adapter(FM user exit) is kicked off in my workspace creating documents wrt to that goods receipt.However if a batch does not exist during MB1C , it says that a batch would be created.But when i do a save , the user exit is kicked off before it returns to the SAP code to create a batch.As a result no MM documents are created in my workspace.Now I want that the batch be created while in my user exit and I want to implement the customer user exit EXIT_SAPMM07M_004(for copying the batch characteristics) .Is it possible to call this exit from my code?Kindly suggest.

    > When I create a Goods Receipt by tx MB1C , an MM adapter(FM user exit) is kicked off in my workspace creating documents wrt to that goods receipt.However if a batch does not exist during MB1C , it says that a batch would be created.But when i do a save , the user exit is kicked off before it returns to the SAP code to create a batch.As a result no MM documents are created in my workspace.Now I want that the batch be created while in my user exit and I want to implement the customer user exit EXIT_SAPMM07M_004(for copying the batch characteristics) .Is it possible to call this exit from my code?Kindly suggest.
    Can you call the user exit? - Yes ofcourse.... but why dont you just add the same code that is in your exit instead of calling the user exit?
    User exits are developed and called from appropriate places where sap can take the changes and apply to the transaction. there is no restriction on calling the user exit (atleast programmatically) but you need to think 100 times before you call the user exit.
    For example, you want to call user exit 'A' in your program because you want to use the code in this user exit in your program '1'. Why dont you just write the code in program '1' with what is in user exit 'A' ?
    Calling user exit in your program does not really helps. Better find out different ways. once again, user exits are embedded in sap business applications and remember they are not independent FM's as you think
    Good luck

  • 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

  • Can any body tell me, can we attach field exits to Njoy trnsactions in 4.7

    Hi,
      can any body tell me how to attach field exits to the enjoy transactions in 4.7.
    I was not been able to attch the field exits to "Account assignement catagory" in trnasaction ME51N(Purchase requisition creation) using the program "RSMODPRF".
    Please suggest.
    Best Regards
    Ramanjaneya Reddy

    But hey! Your in 4.7, use BADIs!
    Goto transaction SE18, search and you will find some stuff like ME_PROCESS_REQ. There are several dozens for purchasing, so go for the new technics.
    By the way, I'm not sure if workaround is still possible in 4.7.
    Implementation will be done with SE19.
    Regards,
    Christian

  • Field exits - is the exit called wherever the data element is used?

    Since field exits are at the data element level - does this mean that the field exit will be executed for any screen that uses it?  i only have one screen that I want this exit to be called - do I control that when creating the field exit?  Or do you not have any control over that?
    Thanks!
    Scott

    No. Field exit will not be called where ever the data element is used. When you create the field exit, you create it for a perticular field in a screen only. So effectively the exit will be triggered only for that field.
    - Guru
    Reward points for helpful answers

  • How can I add a new field in selection screen for this report

    *& Report  ZGS_BARKODLA_HIZLI_GIRIS
    report  zgs_barkodla_hizli_giris.
    tables: mara,
            mseg,
            mch1,
            *mch1,
            mkpf,
            mchb ,
            makt.
    type-pools: esp1.
    data: i_message_tab  type esp1_message_tab_type,
          wa_message_tab type esp1_message_wa_type ,
          sc_count type i.
    ALV
    type-pools: slis, kkblo.
    data: gs_layout   type slis_layout_alv                     ,
          gt_fldcat   type slis_t_fieldcat_alv with header line,
          gt_header   type slis_t_listheader   with header line,
          gt_sortin   type slis_t_sortinfo_alv with header line,
          g_repid     like sy-repid                            .
    define add-fieldcat.
      gt_fldcat-fieldname     = &1.
      gt_fldcat-ref_tabname   = &2.
      gt_fldcat-seltext_s     = &3.
      gt_fldcat-seltext_m     = &3.
      gt_fldcat-seltext_l     = &3.
      gt_fldcat-reptext_ddic  = &3.
      gt_fldcat-ddictxt       = 'M'.
      append gt_fldcat.
      clear  gt_fldcat.
    end-of-definition.
    types: begin of titab,
            sel   type xfeld,
            matnr type matnr,
            maktx type maktx,
            charg type charg_d,
            menge type menge_d,
            erfmg type erfmg,
           end of titab.
    data : witab type titab.
    data : itab type table of titab.
    data : ok_code type sy-ucomm.
    controls: tc_itab type tableview using screen 0100.
    data: gv_header like bapi2017_gm_head_01,
          gv_code   like bapi2017_gm_code.
    BAPI export parameters
    data: gv_headret type bapi2017_gm_head_ret,
          gv_matdoc  type bapi2017_gm_head_ret-mat_doc,
          gv_matyear type bapi2017_gm_head_ret-doc_year.
    data : lv_objek like inob-objek .
    data : ls_inob  like inob .
    data : imseg type ty_t_mseg.
    data : wmseg type mseg.
    data : answer.
    data : count type i.
    data : v_atinn type atinn.
    BAPI movement details
    data: i_goodsmvt_items type bapi2017_gm_item_create occurs 0
          with header line.
    data: i_return type bapiret2 occurs 0 with header line.
    start-of-selection.
    call function 'CONVERSION_EXIT_ATINN_INPUT'
       exporting
         input  = 'Z_ORAN'
       importing
         output = v_atinn.
      call screen 100.
    *&      Module  status_0100  OUTPUT
    module status_0100 output.
      set pf-status '100'.
      set titlebar '100'.
      mseg-werks = 1000.
      mseg-umwrk = 1000.
    **added
      sc_count = sc_count + 1.
      if sc_count eq 1.
        mseg-bwart = 313.
      endif.
      mkpf-budat = sy-datum.
    **added
      describe table itab lines tc_itab-lines.
    endmodule.                 " status_0100  OUTPUT
    *&      Module  user_command_0100  INPUT
    module user_command_0100 input.
      data field(20).
      data: line_t like sy-index.
      data: lines  like sy-index.
      data line_count like sy-loopc.
      data: begin of cols,
             screen      like screen,
             index       type i,
             selected(1) type c,
             vislength   like icon-oleng,
             invisible(1) type c,
           end   of cols.
      case ok_code.
        when 'DELE'.
          delete itab where sel eq 'X'.
        when 'ENTE'.
          check *mch1-charg is not initial.
          read table itab into witab with key charg = *mch1-charg.
          if not sy-subrc is initial.
            witab-charg = *mch1-charg.
            select single matnr from mch1 into witab-matnr
                               where charg eq witab-charg.
            if not syst-subrc is initial.
              set cursor field '*MCH1-CHARG'.
              message e115(12) with *mch1-charg.
            endif.
            select single maktx from makt into witab-maktx
                               where matnr eq witab-matnr
                                 and spras eq syst-langu.
            witab-erfmg = 1.
            concatenate witab-matnr witab-charg into lv_objek .
            clear ls_inob .
            select single * into ls_inob
                            from inob
                            where objek = lv_objek and
                                  klart = '023'    and
                                  obtab = 'MCH1' .
            select single atflv from ausp into witab-menge
                     where objek = ls_inob-cuobj and
                           klart = '023' .
            append witab to itab.
    **added
            clear *mch1-charg.
    **added
          endif.
        when 'SAVE'.
          if mkpf-budat is initial.
            set cursor field 'MKPF-BUDAT'.
            message e055(00).
          endif.
          if mseg-lgort is initial.
            set cursor field 'MSEG-LGORT'.
            message e055(00).
          endif.
          if mseg-umlgo is initial.
            set cursor field 'MSEG-UMLGO'.
            message e055(00).
          endif.
          if mseg-bwart is initial.
            set cursor field 'MSEG-BWART'.
            message e055(00).
          endif.
          refresh imseg.
          loop at itab into witab.
            move-corresponding witab to wmseg.
            append wmseg to imseg.
          endloop.
          call function 'ZMM_POPUP_WITH_DATA'
            exporting
              imseg  = imseg
            importing
              answer = answer.
          if answer eq 'Y'.
            perform create_goods_movement.
          endif.
        when 'P--'.
          clear ok_code.
          perform paging using 'P--'.
          set cursor field 'MARA-MATNR' line 1.
        when 'P-'.
          clear ok_code.
          perform paging using 'P-'.
          set cursor field 'MARA-MATNR' line 1.
        when 'P+'.
          clear ok_code.
          clear lines.
          perform paging using 'P+'.
          set cursor field 'MARA-MATNR' line 1.
        when 'P++'.
          clear ok_code.
          perform paging using 'P++'.
          set cursor field 'MARA-MATNR' line 1.
        when 'SORA'.
          read table tc_itab-cols into cols with key selected = 'X'.
          if sy-subrc is initial.
            field = cols-screen.
            field = field+5(10).
            sort itab ascending by (field).
          endif.
        when 'SORZ'.
          read table tc_itab-cols into cols with key selected = 'X'.
          if sy-subrc is initial.
            field = cols-screen.
            field = field+5(10).
            sort itab descending by (field).
          endif.
        when 'PRNT'.
          perform write_alv.
      endcase.
    endmodule.                 " user_command_0100  INPUT
    *&      Module  read_table  OUTPUT
    module read_table output.
      mara-matnr = witab-matnr.
      makt-maktx = witab-maktx.
      mch1-charg = witab-charg.
      mseg-menge = witab-menge.
      mseg-erfmg = witab-erfmg.
      line_count = sy-loopc.
    endmodule.                 " read_table  OUTPUT
    *&      Module  write_table  INPUT
    module write_table input.
      witab-matnr = mara-matnr.
      witab-maktx = makt-maktx.
      witab-charg = mch1-charg.
      witab-menge = mseg-menge.
      witab-erfmg = mseg-erfmg.
      modify itab from witab index tc_itab-current_line.
    endmodule.                 " write_table  INPUT
    *&      Module  exit  INPUT
    module exit input.
      leave to screen 0 .
    endmodule.                 " exit  INPUT
    *&      Form  create_goods_movement
    form create_goods_movement .
      clear : gv_header, i_return[], i_goodsmvt_items[].
      gv_header-doc_date = gv_header-pstng_date = mkpf-budat.
      gv_header-pr_uname = sy-uname.
    GM with reference to reservation
      loop at itab into witab.
        i_goodsmvt_items-material   = witab-matnr.
        i_goodsmvt_items-entry_qnt  = witab-erfmg.
        i_goodsmvt_items-entry_uom  = 'ST'.
        i_goodsmvt_items-move_type  = mseg-bwart.
        i_goodsmvt_items-plant      = mseg-werks.
        i_goodsmvt_items-stge_loc   = mseg-lgort.
        i_goodsmvt_items-move_plant = mseg-umwrk.
        i_goodsmvt_items-move_stloc = mseg-umlgo.
        i_goodsmvt_items-batch      = witab-charg.
        append i_goodsmvt_items.
      endloop.
    find BAPI processing transaction
      if gv_code is initial.
        perform determine_bapi_code using mseg-bwart
                                 changing gv_code.
      endif.
      call function 'BAPI_GOODSMVT_CREATE'
        exporting
          goodsmvt_header  = gv_header
          goodsmvt_code    = gv_code
        importing
          goodsmvt_headret = gv_headret
          materialdocument = gv_matdoc
          matdocumentyear  = gv_matyear
        tables
          goodsmvt_item    = i_goodsmvt_items
          return           = i_return[].
    cancel blocking process
      loop at i_return where type eq 'E' or type eq 'A' or type eq 'X'.
        exit.
      endloop.
      if sy-subrc ne 0.
        refresh i_message_tab.
        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            wait = 'X'.
        wa_message_tab-msgid = 'M7'..
        wa_message_tab-msgty = 'S'.
        wa_message_tab-msgno = '060'.
        wa_message_tab-msgv1 = gv_matdoc.
        wa_message_tab-msgv2 = ''.
        wa_message_tab-msgv3 = ''.
        wa_message_tab-msgv4 = ''.
        append wa_message_tab to i_message_tab.
      else.
        refresh i_message_tab.
        call function 'BAPI_TRANSACTION_ROLLBACK'.
    write a message as there is an unexpected error.
        loop at i_return.
          wa_message_tab-msgid = i_return-id.
          wa_message_tab-msgty = i_return-type.
          wa_message_tab-msgno = i_return-number.
          wa_message_tab-msgv1 = i_return-message_v1.
          wa_message_tab-msgv2 = i_return-message_v2.
          wa_message_tab-msgv3 = i_return-message_v3.
          wa_message_tab-msgv4 = i_return-message_v4.
          append wa_message_tab to i_message_tab.
        endloop.
      endif.
      call function 'C14Z_MESSAGES_SHOW_AS_POPUP'
        tables
          i_message_tab = i_message_tab.
    endform.                    " create_goods_movement
    *&      Form  determine_bapi_code
    form determine_bapi_code using p_bwart type bwart
    changing p_code type bapi2017_gm_code.
      data: lt_t158b type table of t158b with header line.
      clear p_code.
      select tcode from t158b into corresponding fields of table lt_t158b
      where bwart eq p_bwart.
      loop at lt_t158b.
        select single gmcode from t158g into p_code
        where tcode eq lt_t158b-tcode.
        if sy-subrc is initial.
          exit.
        endif.
      endloop.
    endform. " determine_bapi_code
    *&      Form  paging
    form paging using code.
      data: i type i,
            j type i.
      case code.
        when 'P--'. tc_itab-top_line = 1.
        when 'P-'.
          tc_itab-top_line = tc_itab-top_line - line_count.
          if tc_itab-top_line le 0.
            tc_itab-top_line = 1.
          endif.
        when 'P+'.
          i = tc_itab-top_line +  line_count.
          j = tc_itab-lines -  line_count + 1.
          if j le 0.
            j = 1.
          endif.
          if i le j.
            tc_itab-top_line = i.
          else.
            tc_itab-top_line = j.
          endif.
        when 'P++'.
          tc_itab-top_line = tc_itab-lines - line_count + 1.
          if tc_itab-top_line le 0.
            tc_itab-top_line = 1.
          endif.
      endcase.
    endform.                    " paging
    *&      Form  write_alv
    form write_alv .
      perform find_list_header.
      perform fill_field_cat.
      perform fill_sortinfo.
      g_repid = sy-repid.
      gs_layout-colwidth_optimize = 'X'.
      gs_layout-zebra             = 'X'.
      answer = 'Y'.
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_buffer_active        = ''
          i_callback_program     = g_repid
          i_save                 = 'A'
        i_callback_top_of_page = 'TOP_OF_PAGE'
          is_layout              = gs_layout
          it_fieldcat            = gt_fldcat[]
         it_sort                = gt_sortin[]
        tables
          t_outtab               = itab[].
    endform.                    " write_alv
         Form  find_list_header
    form find_list_header.
      data : v_datum(10),
             v_datlo(10),
             v_dathi(10),
             v_uzeit(8).
      clear: gt_header, gt_header[].
      gt_header-typ  = 'H'.
      gt_header-info = sy-title.
      append gt_header.
      clear gt_header.
      gt_header-typ  = 'S'.
      gt_header-key  = 'Çal&#305;&#351;t&#305;rma Zaman&#305; : '.
      write syst-datum to v_datum.
      write syst-uzeit to v_uzeit.
      concatenate v_datum '/' v_uzeit into gt_header-info.
      append gt_header.
    endform.                    " find_list_header
         Form  fill_field_cat
    form fill_field_cat.
      refresh gt_fldcat.
      clear   gt_fldcat.
      gt_fldcat-key = 'X'.
      add-fieldcat 'MATNR'  'MARA' ''.
      add-fieldcat 'MAKTX'  'MAKT' ''.
      add-fieldcat 'CHARG'  'MSEG' ''.
      gt_fldcat-do_sum = 'X'.
      add-fieldcat 'MEINS'  'MARA' 'Olcu Birimi '.
      gt_fldcat-do_sum = 'X'.
      add-fieldcat 'ERFMG'  'MSEG' 'Adet'.
    endform.                    " fill_field_cat
         Form  fill_sortinfo
    form fill_sortinfo.
      gt_sortin-up            = 'X'.
      gt_sortin-fieldname     = 'MATNR'.  append gt_sortin.
    endform.                    " fill_sortinfo
         Form  top_of_page                                              *
    form top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
          i_logo             = 'ZKUTAS'
          it_list_commentary = gt_header[].
    endform.                    " top_of_page

    HI,
    if it is a normal report program then you can directly create a Selection screen field.
    After the Type-pool you can use Parameters or Select-options to create the selection screen field..
    If it is a Modulpool program then you can create a selection scren field like
    SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN.
    PARAMETERS: p1(10) TYPE c.
    SELECTION-SCREEN END OF SCREEN 1100.
    defines a selection screens – 1100 – as subscreens.
    The next screen number of screen 100 is 100 (statically-defined).
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
      CALL SUBSCREEN area INCLUDING sy-repid number.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      CALL SUBSCREEN area.
      MODULE user_command_0100.
    look at the below link
    http://help.sap.com/saphelp_nw2004s/helpdata/en/e7/deb237b9a9a968e10000009b38f8cf/content.htm
    Regards
    Sudheer

  • Warning message in field exit

    Hi All,
    I'd the requirement of giving a warning message for transaction VA01 if user enters some specific order type.
    So I'd created a field exit for AUART for this screen. But i am able to give error message only and found out that warning & info messages can't be given in a field exit.
    Please help me out. Is there any way I can give a warning message in field exit or suggest some other sol. for it.
    Thanks,
    Manu

    Hi,
    Thanks f or your answers, but the issue is that i need to give this message as User enters the details on VA01 screen & presses enters.SO i can't use user exit like move_field_to_Vbak & others.
    Also, using a FM to give pop up message will ultimately make use of statement CALL SCREEN which is not allowed in field exit, i also tried FMs which displays messages normally means not in pop up screen, but again through it also i can only give error messages.
    Please suggets if there is any other option.
    Thanks,
    Manu Parihar

Maybe you are looking for