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.

Similar Messages

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

  • How to capture data at exit command in module pool

    hello all,
    i have a scenario,on screen i enter some data and i press the cancel button a popup should be displayed saying do you want to cancel.if i press on yes then leave to screen 0.but if i press no then the previous data entered should be displayed on the same screen.
    can some body help me on this.
    Thanks,
    Mayank.....

    Hi,
    Create a button with type 'E' and
    call a POP UP FM 'POPUP_TO_CONFIRM' and write the code to return to the place where you want to.
    All the you need to write at at exit command.
    The code is like this:
    REPORT  ztest_at_exit.
    DATA:
      var1(10),
      var2(10),
      var3(10).
    CALL SCREEN 100.
    *&      Module  STATUS_0100  OUTPUT
          text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'ZTEST_AT_EXIT'.
      SET TITLEBAR 'ZTEST_AT_EXIT'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE user_command_0100 INPUT.
      DATA:
        w_ucomm LIKE sy-ucomm.
      w_ucomm = sy-ucomm.
      CASE w_ucomm.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE TO SCREEN 0.
        WHEN 'CANCEL'.
          LEAVE TO SCREEN 0.
        WHEN 'ADD'.
          var3 = var1 + var2.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  EXIT_100  INPUT
          text
    MODULE exit_100 INPUT.
      DATA:
        answer.
      w_ucomm = sy-ucomm.
      CASE w_ucomm.
        WHEN 'EXIT2'.
          CALL FUNCTION 'POPUP_TO_CONFIRM'
            EXPORTING
              text_question = 'Do you want to save this ?'
            IMPORTING
              answer        = answer.
              exception
                   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.
            IF NOT answer EQ '1'.
              LEAVE TO SCREEN 0.
            ENDIF.
          ENDIF.
      ENDCASE.
    ENDMODULE.                 " EXIT_100  INPUT
    Regards,
    Rama Chary.P.

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

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

  • 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

  • Module at-exit command

    Hi,
    Inside this module I have logic for ok_code
    WHEN 'EXIT'.
    perform pop_up.
    form pop_up.
    function module: do you want to save the changes?
    if yes.
    " perform save_changes.
    " leave program
    for msave_changes.
    perform incompletion_logic.
    " save changes
    endform.
    when iam doing this I have error messages for incompletion inside the incompletion_logic routine.
    and when i issue an error message
    iam getting short dump saying 'error message inside module atexit command' invalid dynpro state'.
    what is the correct process to do this.
    Thanks

    Like the system message, you cannot throw a error message inside the AT_EXIT module.
    You can call that module, in the PAI (Not at AT-EXIT command) and call the popup and do the required validations.
    Regards,
    Ravi
    Note :Please mark the helpful answers

  • EXIT command behaviour in ABAP code?

    Hi Experts,
    Pls. let me clarify that, the behaviour of EXIT command, like,
    - in IF statement
    - in LOOP
    - in PERFORM/FORM
    -in DO
    thanq

    to exit out of the event blocks and the loops we will use exit command.
    see these links for more info.
    http://help.sap.com/saphelp_nw70/helpdata/en/9f/db9af135c111d1829f0000e829fbfe/content.htm
    terminating the loop using exit
    DO 10 TIMES.
      IF sy-index = 3.
        EXIT.
      ENDIF.
      WRITE sy-index.
    ENDDO.
    The list output is:
    1 2
    module exit input.
    if ok_code = 'REFR'.
    call transaction 'ZMEDEMP'.
    elseif ok_code = 'BACK'.
    set screen 0.
    leave to screen 0.
    elseif ok_code = 'EXIT'.
    leave program.
    endif.
    endmodule.
    For E.g
    AT EXIT-COMMAND code.
    In your flow logic, you create a module as so:
    MODULE md_exit_command AT EXIT-COMMAND.
    Then in PF-status, you configure the Cancel (red button on toolbar) as exit button by setting Type of button as 'E'. Put OKCODE as 'CANC'.
    Then, in the module
    MODULE md_xit_command INPUT.
    CASE OKCODE.
    WHEN 'CANC'. LEAVE TO SCREEN 0. ENDCASE.
    ENDMODULE.
    Also refer,
    AT Exit
    Reward points..

  • At exit-command

    Hi,
       I am using tabstrip scrolling in application server.
    i am using 3 tabs(3 subscreens).
       But When i am using module exit at-exit command. That module is not working.
      So if Click on exit button.it's checking all the validations then only exiting from the transaction..
    Help me to solve this problem.
    With Regards
    Feirthouse K.A

    Hi,
    From sap help:
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbaa9535c111d1829f0000e829fbfe/content.htm
    <b>If the user chooses a function whose function code does not have type E, the MODULE <mod> AT EXIT-COMMAND statement is not executed.</b>
    sample code:
    This exit-command module looks like below.
    Module exitscreen input.
      Case v_okcode_100.
        When ‘EXIT’.
          Leave to screen 0.
        when ‘BACK’.
          Leave to screen 0.
        when ‘CANCEL’.
          Leave to screen 0.
      Endcase.
    Endmodule
    Hope this will help you.
    Cheers
    Sunny
    Rewrd points, if found helpful
    sorry : i didn't check that the thread is being answered.
    Message was edited by: Sunny

  • 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

  • What is AT Exit-Command in MPP

    Hi all
    What is AT Exit-Command in MPP...

    Hi rohini,
    The statement associated with at exit command is :
    MODULE <module_name> AT EXIT-COMMAND.
    Addition AT EXIT-COMMAND at the event PAI causes module <module_name> to be called exactly as if:
    a)The function used to trigger event PAI has function type "E"
    b )Into the input field of the standard toolbar, the user entered a character string starting with "E" and confirmed it using ENTER.
    The dialog module is called before the automatic input checks defined in the system or in the ABAP Dictionary and independent of its position in the event block. The only screen field transported to the ABAP program is the OK field. If the function that triggered the PAI event does not fulfill any of the above prerequisites, the MODULE statement is not executed.
    If several MODULE statements have the AT EXIT COMMAND addition, only the first one is executed. If no MODULE statement has the addition AT EXIT COMMAND, a normal PAI processing is executed: The predefined input checks are executed and then the PAI event block is processed sequentially. Provided the screen processing is not terminated in the dialog module mod, after the return from the dialog module, the complete PAI processing is executed. You must not use the addition AT EXIT COMMAND in connection with the statement FIELD.
    The function type of a function is determined in the Screen Painter or Menu Painter. Usually those functions of the user interface are defined with function type "E" that are assigned to the icons Back, Exit and Cancel in the standard toolbar of the GUI status. Therefore, the called dialog module should terminate the screen processing and allow security checks, if required.
    If you are talking about the on exit-command in report programming,
    then the statement associated with it is
    at selection-screen on exit-command.
    Effect
    This event is triggered if the user has called one of the functions Back, Exit or Cancel. In the event block, possible clean-up actions can be executed.

  • Data transport at PAI for EXIT-COMMAND

    Hi,
    I'm using module AT EXIT-COMMAND in my dynpro flow logic. As far as I know, data transport doesn't occur when function code of type 'E' is triggered,except for OK code. But I need all the dynpro fields to be transported even for 'E' type function, since I have implemented buttons 'Back', 'Exit', and 'Cancel' as 'E' type function, and I need to propose the save data to the user before exit. Thus, I need the dynpro fields to populate ABAP fields so I can save them. Is there any way how to do this?
    Thanks in advance.
    Best regards,
    Tomas

    Hi Tomas,
    even you can write your own logic Field validation ...
    process after input.
    Chain.
    *                       <<  write your Own logic
    endchain.
    you can write your own logic at at AT EXIT-COMMAND ...
    module user_command_0200 input.
    *                       <<  write your Own logic
    case ok.
    *------Leave screen
        when 'BACK'.
          leave to screen 100.
    *------Leave transaction
        when 'EXIT'.
          leave program.
    *------Select sales item details
       When Others.
      endcase.
    or you can write own logic at ..
    process after input.
    module user_command_0200.
    module user_command_0200 input.
    case ok.
    *------Leave screen
        when 'BACK'.
          leave to screen 100.
    *------Leave transaction
        when 'EXIT'.
          leave program.
    *------Select sales item details
        when 'OTHERS'.
    *       << "Write your own logic
      endcase.
    ENDmodule.
    Regards,
    Prabhudas

  • At selection-screen on exit-command

    hi to all  my querry is as  follows . pls tell what is the usse of
    at selection-screen on exit-command  event where do we  use it . can u pls give some sample coding . points will be rewarded definitely .

    Hi
    We use<b> exit-command </b> in Module pool programs to come out of the Program, without entering data in the madatory fields  on screen.
    We don't use exit commands for selection screens in Reports
    So you are asking this exit command for selection screens
    see the sample code for Module pools programs
    PROCESS AFTER INPUT.
    Forced Exit from the transaction
      MODULE exit AT EXIT-COMMAND.
    *&      Module  exit  INPUT
    Exit from the Transaction
    MODULE exit INPUT.
      CASE okcode.
        WHEN 'EXIT' OR 'CANCEL'.
          CLEAR okcode.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                 " exit  INPUT
    Reward points for useful Answers
    Regards
    Anji

  • Using AT-EXIT command

    hi
    can any one tell me about AT- EXIT COMMAND
    i know that it will provide exit options for the fuctions of type 'E'
    if any others apart from this will be helpfull.
    vamsi

    <b>MODULE </b>
    Syntax
    MODULE mod [ <b>AT {EXIT-COMMAND</b>|CURSOR-SELECTION} ]
               [ ON {CHAIN-INPUT|CHAIN-REQUEST} ].
    <b>... AT EXIT-COMMAND </b>
    <b>Effect </b>
    Addition AT EXIT-COMMAND at the event PAI causes module mod to be called exactly if:
    The function used to trigger event PAI has function type "E"
    Into the input field of the standard toolbar, the user entered a character string starting with "E" and confirmed it using ENTER.
    The dialog module is called before the automatic input checks defined in the system or in the ABAP Dictionary and independent of its position in the event block. The only screen field transported to the ABAP program is the OK field. If the function that triggered the PAI event does not fulfill any of the above prerequisites, the MODULE statement is not executed.
    If several MODULE statements have the AT EXIT COMMAND addition, only the first one is executed. If no MODULE statement has the addition AT EXIT COMMAND, a normal PAI processing is executed: The predefined input checks are executed and then the PAI event block is processed sequentially. Provided the screen processing is not terminated in the dialog module mod, after the return from the dialog module, the complete PAI processing is executed. You must not use the addition AT EXIT COMMAND in connection with the statement FIELD.
    Note
    The function type of a function is determined in the Screen Painter or Menu Painter. Usually those functions of the user interface are defined with function type "E" that are assigned to the icons Back, Exit and Cancel in the standard toolbar of the GUI status. Therefore, the called dialog module should terminate the screen processing and allow security checks, if required.
    Regards,
    Pavan

Maybe you are looking for

  • New to pl/sql and need help with procedure

    Hello there, I got two tables STAFF and BONUS which are not related by any constraints STAFF ID_NUMBER HIREDATE SALARY BONUS 100020 12-MAY-03 13600 100021 04-NOV-01 30000 100022 08-APR-02 28000 100023 08-APR-02 24000 BONUS PERCENTAGE MORE_THAN_YEARS

  • NetStream Video Control button issue

    The stop button plays as expected.  The play/pause button plays as expected.  The issue is when you press pause which will cause the play button to appear, then press stop.  the video automatically plays and it shouldn't. I have bolded the control bu

  • GDR3 update for Lumia 822

    Hi, When is GDR3 update for lumia 822 expected? Any tentative timelines?If any one knows any information about it.

  • Can anyone tell what are the fact tables and dimension tables available in banking domian

    what are the fact and dimension tables available in banking domain. maximum how many fact and dimension tables we can keep in the banking project

  • Routine in Update rule (Urgent)

    Hi My issue is a bit typical. We enhanced 0MATERIAL_ATTR datasource to get one field from ZTABLE1 from R/3 called "Product type" and this is working fine and populated to 0MATERIAL. In R/3, Our clients are giving the incentives to the customers based