Which is not an exit command?

exit,stop,cancel and back

<b>Cancel</b> is not an exit command.
Leaving Event Blocks Using STOP
If you use the STOP statement within an event block, the system stops processing the block
immediately. The ABAP runtime environment triggers the next event
Leaving Event Blocks Using EXIT
If you use the STOP statement within an event block but not in a loop, the system stops
processing the block immediately. The ABAP runtime environment triggers the next event. Before and during selection screen processing, the next event in the prescribed sequence is always called. From the START-OF-SELECTION event onwards, the system starts the list processor directly when the EXIT statement occurs, and displays the list.
If the EXIT statement occurs in a loop using DO, WHILE, or LOOP, it is the loop that terminates, not the processing block.
Leaving Event Blocks Using CHECK
If you use the CHECK <expr> statement within an event block but not within a loop, and the
condition <expr> is not fulfilled, the system exits the processing block immediately.
<expr> can be any logical expression or the name of a selection table. If you specify a selection
table and the contents of the corresponding table work are do not fulfill the condition in the
selection table, it is the same as a false logical expression.
<b>You can exit out of an event at any time using the following statements:</b>
exit
check
stop
In all events
check immediately leaves the current event and processing continues with the next event (or action, such as displaying the selection screen or output list).
stop immediately leaves the current event and goes directly to the end-of-selection event. Executing stop within end-of-selection leaves the event. It doesn't cause an infinite loop.
In events that occur before start-of-selection
exit and check have the same behavior. They both leave the event immediately and processing continues with the next event (or action, such as display of the selection screen).
In start-of-selection and events that occur after it
exit terminates the report and shows the output list. A single exception exists; within top-of-page, exit behaves like check.
check leaves the event and processing continues with the next event (or action, such as display of the output list).
check, exit, and stop do not set the value of sy-subrc. If you want to set it, you can assign a numeric value to it before leaving.
I hope it helps.
Best Regards,
Vibha
*Please mark all the helpful answers

Similar Messages

  • How many at-exit commands are allowed in the pbo.

    hi
    how many at-exit commands are allowed in the pbo.

    Hi Chaitany,
    EXIT-COMMAND statements are mainly used to exit out of the transaction by over-riding the mandatory field check.
    So, essentially, it makes sense to have only ONE Exit-Command code block.
    Also take note that Exit-Command can be provided ONLY in PAI and not in PBO.
    Cheers,
    Venkat
    P.S: Kindly reward points for useful answers

  • Printer not accepting print commands

    I have this laserjet printer M1213nf MFP which is not accepting print command. but its accepting ither commands of scanning and copying the documents. the serial no of the printer is [Personal Information Removed]. kindly revert back as soon as possible.
    thanking you.

    Hi , I read your post and see that you can scan and copy, but you are unable to print. I will certainly do my best to help you. Download and run the Print and Scan Doctor, it will diagnose the issue and might automatically resolve it. What were the results when you ran the Print and Scan Doctor? (did it print or scan, any error messages)How is the printer connected? (USB/Ethernet) If you appreciate my efforts, please click the 'Thumbs up' button below. If there is anything else I can help you with, just let me know. Thank You.

  • At Exit-command  not working

    Hi experts.
    I am working on At Exit command and in my screen i have field validation and i have coded AT EXIT COMMAND in my PAI to execute when we exiting BACK/CANCEL/EXIT. I have taken Function type as "E' in GUI. but too i am not able to exit without field validation and when i debug the control is not coming to At exit Module. plz help me on this..
    waiting for your suggestions.
    Mahesh

    Hi Mahesh,
    Please try following code.
    PROCESS AFTER INPUT.
      MODULE leave_dynpro AT EXIT-COMMAND.
    CHAIN.
        FIELD  v_lifnr.
        FIELD wv_ebeln.
        MODULE check_ebeln  ON CHAIN-REQUEST.
      ENDCHAIN.
      FIELD v_lifnr  MODULE check_lifnr  ON REQUEST.
      CHAIN.
        FIELD wv_lfsnr.
        MODULE validate_delivery_no ON CHAIN-REQUEST.
      ENDCHAIN.
      MODULE user_command_0100.
    PROCESS ON VALUE-REQUEST.
      FIELD wv_lfsnr MODULE f4_vbeln.
    *&      Module  LEAVE_DYNPRO  INPUT
          text
    MODULE leave_dynpro INPUT.
      PERFORM leave_dynpro.
    ENDMODULE.                 " LEAVE_DYNPRO  INPUT
    Regards,
    Anil

  • I need to use the "apple key" which is, I presume the command key, but I do not have an apple keyboard; is there a key on a logitech keyboard which will serve the purpose?

    I need to use the "Apple key" which I presume is the command key; my computer does not have an apple keyboard; is there a key on a logitech keyboard which will serve the same purpose?

    The "Windows flag" key on PC keyaboard in Commans, "Alt" is option.
    Go to Logitech website to see if they have Mac compatibility software (Logictech Control Center) to make mappings a bit more complex).

  • MODULE AT EXIT-COMMAND not triggered

    Hi,
    I have placed module USER_COMMAND_9000 at exit-command in PAI but it will never be called whenever I click on button Entr, Back, Exit and Canc. I have activated the interface and everything else, also set the function key. Below is my code.
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_9000.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_9000 AT EXIT-COMMAND.
    MODULE STATUS_9000 OUTPUT.
      SET PF-STATUS 'STATUS_9000'.
      SET TITLEBAR 'TITLE_9000'.
    ENDMODULE.                 " STATUS_9000  OUTPUT
    MODULE USER_COMMAND_9000 INPUT.
      CASE sy-ucomm.
        WHEN 'ENTR'.
          PERFORM populate_output.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'CANC'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9000  INPUT

    Hi,
    Do the following.
    In the screen flow logic.
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_1000.
    PROCESS AFTER INPUT.
    MODULE exit AT EXIT-COMMAND.
    MODULE USER_COMMAND_1000.
    Now in F01,
    MODULE exit INPUT.
    CASE sy-ucomm.
         WHEN 'ENTR'.
           PERFORM populate_output.
         WHEN 'BACK'.
           LEAVE TO SCREEN 0.
         WHEN 'EXIT'.
           LEAVE PROGRAM.
         WHEN 'CANC'.
           LEAVE TO SCREEN 0.
      ENDCASE.
    endmodule.                 " exit  INPUT
    Thanks,
    Sri.

  • MODULE USER_COMMAND_0200 AT EXIT-COMMAND.

    Hi Experts,
    I knew that the following statements allows user to by pass all the screen validations, so to achieve this we have to declare a function code in SET PF-STATUS of type Exit Command. So, my doubts r,
    1- Anyway, we r adding the AT EXIT-COMMAND as a suffix to to Module statement, so again What is the necessity declaring in the SET PF-STATUS as a function code?
    PROCESS AFTER INPUT.
       MODULE USER_COMMAND_0200 AT EXIT-COMMAND.
    2- What else wuld do the above statement apart from overcoming the validations(coz the author has mentioned this statement - ''An Exit-command allows you to insert functionality into the PAI that by passes all screen validation '', Which is I dont understand!)?
    ThanQ.

    hi Srinivas,
    Let us consider the following example:
    If a user wants to exit a screen, by clicking the BACK button, he should be taken out ..right?
    Instead, should there be a message poping up saying "Mandatory fields are not entered".. or "enter character data in name field"...ect..?
    no...hence, to ignore these validation, we put the code to exit the screen in a module. This module has to be defined with ...AT EXIT-COMMAND extension.
    Hope this answers your question.
    Sajan Joseph.

  • JFrame which does not allow resizing (maximizing, minimizng)

    I want to develop a login frame which does not allow resizing (maximizing, minimizing as this does not make sense) and with 2 fields, JTextField and JPasswordField.
    The frame is developed but has the usual resizing handles.
    How to do?
    Many tks for any information.
    John Pashley

    Don't use a JFrame. Also, don't expect code like this again; I did it for fun.
    It requires your modification.
    * Title:        Login Screen<p>
    * Description:  Login Screen<p>
    * Class:        Login ScreenLoginScreen<p>
    * Copyright:    who cares<p>
    * Company:      who cares<p>
    * @author who cares
    * @version who cares
    import java.awt.*;
    import java.awt.event.*;
    import java.net.URL;
    import java.util.Vector;
    import java.io.File;
    import javax.swing.*;
    public class LoginScreen extends JDialog implements ActionListener, FocusListener
       private JTextField      name;
       private JPasswordField  password;
       private JButton         loginButton;
       private JButton         cancelButton;
       private JDialog         thisDialog = this;
       private ImageIcon       splashImage;
       private String          appTitle;
       private int             logCounter;
       public LoginScreen()
          super();
          this.toFront();
          setTitle("Login");
          addWindowListener(new WindowAdapter()
             public void windowClosing(WindowEvent e)
                    System.exit(0);
          getContentPane().setLayout(new BorderLayout());
          splashImage = new ImageIcon( getClass().getResource("images" + File.separator + "image.jpg")) );
          getContentPane().add(new JLabel(splashImage), "North");
          getContentPane().add(makeLoginPanel(), "Center");
          getContentPane().add(makeButtonPanel(), "South");
          pack();
          setResizable(false);
          setLocationRelativeTo(null);
          setVisible(true);
        * make login panel
       private JPanel makeLoginPanel()
          JPanel loginPanel = new JPanel();
          JLabel label;
          loginPanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 0, 20));
          GridBagLayout gbl = new GridBagLayout();
          GridBagConstraints gbc = new GridBagConstraints();
          loginPanel.setLayout(gbl);
          gbc.weightx = 1.0;
          gbc.fill = GridBagConstraints.HORIZONTAL;
          gbc.insets = new Insets(0, 5, 10, 5);
          gbc.gridx = 0;
          gbc.gridy = 0;
          label = new JLabel("Login Name:", SwingConstants.LEFT);
          gbl.setConstraints(label, gbc);
          loginPanel.add(label);
          gbc.gridx = 1;
          name = new JTextField("insider", 10);
          name.addFocusListener(this);
          gbl.setConstraints(name, gbc);
          loginPanel.add(name);
          gbc.gridx = 0;
          gbc.gridy = 1;
          label = new JLabel("Password:", SwingConstants.LEFT);
          gbl.setConstraints(label, gbc);
          loginPanel.add(label);
          gbc.gridx = 1;
          password = new JPasswordField("insider",10);
          password.addFocusListener(this);
          gbl.setConstraints(password, gbc);
          loginPanel.add(password);
          return loginPanel;
        * make button panel
       private JPanel makeButtonPanel()
          JPanel buttonPanel = new JPanel();
          buttonPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
          //make LogIn button
          loginButton = new JButton("Login");
          loginButton.setActionCommand("Login");
          buttonPanel.add(loginButton);
          rootPane.setDefaultButton(loginButton);
          loginButton.addActionListener(this);
          this.getRootPane().setDefaultButton(loginButton);
          //make Cancel button
          cancelButton = new JButton("Cancel");
          cancelButton.setActionCommand("Cancel");
          buttonPanel.add(cancelButton);
          cancelButton.addActionListener(this);
          this.addKeyListener(new KeyAdapter()
             public void keyReleased(KeyEvent e)
                if(e.getKeyCode() == KeyEvent.VK_ESCAPE)
                   cancelButton.doClick();
             return buttonPanel;
        * Action handler for login and cancel buttons
       public void actionPerformed(ActionEvent e)
          JButton btn = (JButton) e.getSource();
          if (btn.getActionCommand().equals("Login"))
             // Because login() process happens before swing process (above),
             // force it to happen "later"
             SwingUtilities.invokeLater(new Runnable()
                public void run()
                   login(); //create this method, okay?!
          else if (btn.getActionCommand().equals("Cancel"))
             System.exit(0);
        * Focus gained handler for username and password buttons
       public void focusGained(FocusEvent e)
          JTextField tf = (JTextField) e.getSource();
          tf.selectAll();
        * Focus lost handler for username and password buttons
       public void focusLost(FocusEvent e) {}
       private void showErrorMessage(String message, String header)
          JOptionPane.showMessageDialog(getContentPane(),
                                        message, header,
                                        JOptionPane.ERROR_MESSAGE);
        * This method controls the cursor for login window. If isWait is set to
        * true, dialog's cursor is set to Cursor.WAIT_CURSOR. If isWait is set
        * to false, the cursor is set ta Deafult.
        * While the window is in WAIT mode, this method will also disable Login
        * and Cancel buttons to ensure the user does not accidently request
        * a cancel while loging in or launching a second login.
       private void setWaitCursor(boolean isWait)
          /* In order to disable login and cancel buttons while logging in to the
             application, this method will temporarely change action commands and
             reset them when login process failed to give user another chance.
             Note: Disabling the buttons by calling setEnabled(false) did not work
             since login() method is called from an action event handler and the
             process will not be released to AWT until login method is complete.
          if (isWait)
             this.getGlassPane().setCursor(new Cursor(Cursor.WAIT_CURSOR));
             this.getGlassPane().setVisible(true);
             loginButton.setActionCommand("none");
             cancelButton.setActionCommand("none");
          else
             this.getGlassPane().setCursor(Cursor.getDefaultCursor());
             this.getGlassPane().setVisible(false);
             loginButton.setActionCommand("Login");
             cancelButton.setActionCommand("Cancel");
    } //end loginscreen

  • How to use 'at selection screen on exit command'

    Hi,
    How do I use the above event in the following scenario.
    Scenario: I have a report program which has two radio buttons on the selection screen to which user command is assigned. On selection one, some fields should get disappeared on the selection screen. But one of the fields is a mandatory field, which doesn't allow to proceed unless we enter some value in that(which is redundant since anyway it will be disappearing).
    I thought 'on exit command' event works, but the user command assigned to the radio button is not of type E.
    Issuing a message at selection screen instead of making the field mandatory will work, but I don't want to do that.
    Can anyone please tell me how to handle this?
    Incorrect answers will be suitably punished.
    Thanks,
    Sumanth
    Edited by: Julius Bussche on Sep 26, 2009 12:40 PM
    Silly comment suitably modified.

    do not make that field mandatory using obligatory. so now your radio button work is done.
    now, how to make the field look like and work like mandatory field on execution:
    at selection-screen output.
    loop at screen.
       if screen-name = 'P_MAN'. " lets say this is the field which you want to make mandatory.
          screen-required = 2. "this will just  put a tick mark on the input , looks like mandatory.
       endif.
    endloop.
    now, how to check the mandatory option.
    at selection-screen.
    if p_man is initial.
      display your message to fill this.
    endif.
    hope this helps...
    and as per forum rules, kindly do not encourage people by talking about forum rules.

  • I'm signed in to my account on my macbook air's apple store, but when I try to update any apps, it has a locked in apple store user which is not mine, any help removing this?

    I'm signed in to my account on my macbook air's apple store, but when I try to update any apps, it has a locked in apple store user which is not mine. I have no idea where this user came from, but I need to update my apps and get this user off my computer. The users email is locked, it is grey in colour and I can not get it off. I've tried my system settings and the app store, logging in does not change the fact that there is a strange email there. I need help, please! I don't know if this is a hack or what, I brought my computer into the shop to get some work done so it may be their account, I just need the account removed.

    You installed a hacked app, originally from the Mac App Store. It contains the receipt for a different app, downloaded using an account that you don't control. You need to identify and remove the hacked app.
    Important: The app you need to remove is not necessarily the one named in the App Store alert. For example, the App Store may prompt you to update "Angry Birds" or "Twitter," but the hacked app may be something else entirely. Don't make any assumptions about which app you're looking for. To find it, you must carry out a systematic search with Spotlight.
    Triple-click anywhere in the line of text below on this page to select it:
    kMDItemAppStoreHasReceipt=1
    Copy the selected text to the Clipboard by pressing the key combination command-C.
    In the Finder, press command-F to open a search window, or select
    File ▹ Find
    from the menu bar. In the search window, select
    Search: This Mac
    from the row of tokens below the toolbar. Below that is a popup menu of search criteria, initially showing Kind. From that menu, select
    Other...
    A sheet will drop down. In that sheet, select
    Raw Query
    as the criterion, then click OK or press return.
    Now there will be a text box to the right of the menu of search criteria. That's where you enter the raw search query. Click in that box and paste the text you copied earlier by pressing command-V.
    The search window will now show all the App Store products that are installed. Compare those search results with the list of your purchases from the App Store. To see the complete list, you may need to unhide hidden purchases. If any apps were download from the App Store using other Apple ID accounts that you control, sign in to the store under each of those ID's and check the purchases.
    At least one of the apps in the Spotlight search results is not among your purchases in the App Store. Move each such item to the Trash, after quitting it if it's running. You may be prompted for your administrator password. Empty the Trash.
    Quit and relaunch the App Store. Test.

  • I have IMac 10.7.5 Lion I use I forgot the password and I did a few fixes from the we sites, which did not work and now I can not get the computer to reboot the gray screen comes on and if a shift c I get a load bar and it goes half way and help

    I have IMac 10.7.5 Lion I use I forgot the password and I did a few fixes from web sites, which did not work and now I can not get the computer to reboot the gray screen comes on with the apple and if a shift+c, I get a load bar and it goes half way and stops, I can get into the black screen area with the hard drive info
    I did the following:   mount -uw /    rm/var/db/.AppleSetupDone    shutdown/uses/us  reboot Ok I know I should not have, but now I need help to reboot and hopefully not lose everything on the desk top, Linda Markle

    You did the wrong things. In the future it's a good idea to remember not to do something when you don't know what you are doing and what happens when you do it.
    Forgot Your Account Password
    For Lion, Mountain Lion, or Mavericks
        Boot to the Recovery HD:
    Restart the computer and after the chime press and hold down the COMMAND and R keys until the menu screen appears. Alternatively, restart the computer and after the chime press and hold down the OPTION key until the boot manager screen appears. Select the Recovery HD and click on the downward pointing arrow button.
         When the menubar appears select Terminal from the Utilities menu.
         Enter resetpassword at the prompt and press RETURN. Follow
         instructions in the dialog window that will appear.
         Or see:
           Reset a Mac OS X 10.7 Lion Password
           OS X Mountain Lion- Reset a login password,
           OS X Mavericks- Solve password problems,
           OS X Lion- Apple ID can be used to reset your user account password.

  • Table T063O and the PAI delcare "MODULE paimodule AT EXIT-COMMAND.

    I have never declared a PAI module with the addition AT EXIT-COMMAND .
    And I never hope to have to do so.
    But if you want EXIT_SAPLIE01_007 to fire in MB02 like it fires in MIGO, you're gonna have to learn all about the "AT EXIT-COMMAND addition".
    And then, you're gonna have to learn about table T063O.
    And then, you're gonna have to try and remember who your IM configurator was or is.
    Reminds me of the old old big blue joke:
    "It's 10pm - do you know where your JCL is?".
    Anyway, do you think the "AT EXIT-COMMAND addition to PAI module declares is worth a blog?  If so, then I've got two blogs stored up that I can post in the future, because Gareth has already said that the *tablename blog is worth posting.
    djh

    Hi Rich -
    Yes - that's why I gave the flow of control through the various modules.
    You can't get to the user exit call in the lowest module UNLESS you type in a character string starting with "E" in the tcode/fcode box at the top of the screen (it doesn't have to be just an "E" - it can be any character string starting with E.)
    But note that the reason for T063O is to place a little more security on this process in the case of the various MB02 screens that have this feature.  The "E-initial" string that you type in to the tcode/fcode box has to be "pre-registered" in T063O - otherwise you get a message saying "Function Exxx not supported here"  (this is done by the second module down in the flow of control.)
    I can see why SAP did this - if it didn't have some control at the config level, then any consultant could "backdoor" an exit into MBO2 or MB03 and take home some really private data.  I also suspect this is why you can't maintain T063O in SM30 - it's probably a config function - I haven't ascertained this yet for sure.
    Finally, the only reason I happened to discover  what SAP was up to here is because I couldn't figure out why the same exit that's been working fine in MIGO didn't work at all in MB02 - it wasn't even called. And to figure this out I had to trace the flow of control backwards until I discovered the "E-string" logic and the "T0630" pre-registration logic in the top two PAI modules.
    So that's why SAP's use of this feature was a big surprise to me too - I also have never seen it and I've studied a fair amount of SAP standard code looking for exits and BADI interrupts.
    Best
    djh

  • Module exit at exit-command

    Hi all,
        While I am using MODULE EXIT AT EXIT-COMMAND
    its not working properly in module pool in PAI for the main screen.
    code tht  i m using for it is as follows.
    DATA : l_ans TYPE c.
    CLEAR ok_code.
    *ok_code = sy-ucomm.
    CASE ok_code.
       WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
          CALL FUNCTION 'POPUP_TO_CONFIRM'
            EXPORTING
              text_question  = 'Would you like to Quit ?'(004)
              text_button_1  = 'Yes'(005)
              text_button_2  = 'No'(006)
            IMPORTING
              answer         = l_ans
            EXCEPTIONS
              text_not_found = 1
              OTHERS         = 2.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.
          CHECK l_ans = '1'.
          LEAVE PROGRAM.

    Hello Amit,
    Please check whether you have assigned Exit Command Type to your buttons or not; in order to do that, go to the specific screen->PF-Status->Choose any standard button(you have assigned)->double-click->Set FUNCTIONAL TYPE.
    E Exit Command (MODULE xxx AT EXIT-COMMAND)
    S System Function
    T Call a Transaction
       Normal Application Function
    P Local GUI Functions
    H Internal Use
    Moreover, Module set for this exit-command with screen, should be;
    In PAI;
    MODULE exit_scr100 AT EXIT-COMMAND.
    MODULE exit_scr100 INPUT.
      CASE ok_code.
        WHEN 'CANCEL'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
      ENDCASE.                                " CASE OK_CODE
    ENDMODULE.                            
    We use AT EXIT-COMMAND, when we want to cancel out the screen or exit the screen, despite errors. Otherwise, screen would hang-up asking for correcting errors.
    Hope it helps you,
    Zahack.

  • To perform database update in a module with AT EXIT-COMMAND addition

    Dear All,
    I have a function code 'EXIT' with function type 'E'. When this function code is triggered, my screen should close.
    In the module that handles this function code (defined with AT EXIT-COMMAND addition), I will prompt the user whether he/she want's to save the data before exiting with the POPUP_TO_CONFIRM_STEP function module. The text message in the dialog box is "Do you want to save before exiting?".
    When the user wants to save the data, a simple UPDATE statement will be executed to write the data on screen to database.
    The problem here is since the module is defined with AT EXIT-COMMAND addition, the data on screen won't be copied to their corresponding variable on the code (correct me if I'm wrong). Therefore, even though database update is performed, the data written to database are no different that the original.
    How to perform database update in a module with AT EXIT-COMMAND addition?
    or
    Is it even a "custom" or a "good practice" to prompt user to save data before exiting?
    Thanks in advance,
    Haris

    With an exit command, if there's anything that would be lost, I would prompt "Data will be lost, do you wish to continue?". If they do, the database is not updated, if they don't, they stay in the transaction.
    This is because the exit command runs before validation. So how can you know the data is correct?
    If you have a button to leave the transaction that isn't an exit command, then you could prompt to save instead. There the choices should be - quit without saving, save and quit, don't quit.
    Doing a database update in an exit command is not a good idea.
    matt
    Edited by: Matt on Mar 15, 2011 11:53 AM

  • Wht is EXIT-COMAND in module cancel at exit-command.?

    HI Experts,
    curious to know that,
    code is,
    process after input.
    ***Exit command
      module cancel at exit-command.
    module cancel.
      module user_command_9001.
    module cancel input.
    case: ok_code.
        when wa_con_back.
          clear ok_code.
          set screen 0.
          leave screen.
        when wa_con_exit.
          clear ok_code.
          set screen 0.
          leave screen.
      endcase.
    endmodule.                 " cancel  INPUT
    thanq

    hi check this...
    Calling a Module for Type E Function Codes
    When the user chooses a function with type E, the screen flow logic jumps directly to the following statement:
    MODULE mod AT EXIT-COMMAND.
    Regardless of where it occurs in the screen flow logic, this statement is executed immediately, and before the automatic checks for the field contents on the screen. Before the module mod is executed, only the contents of the OK code field are transported to the ABAP field with the same name. However, no other screen fields are transported. If you have more than one MODULE statement with the AT EXIT-COMMANDaddition, only the first is executed. If there are no MODULE statements with the AT EXIT-COMMAND statement, normal PAI processing resumes.
    If the user chooses a function whose function code does not have type E, the MODULE <mod> AT EXIT-COMMAND statement is not executed.
    regards,
    venkat.

Maybe you are looking for