Tabstrip on selection screen and validations

Hi,
I need to validate the selection screen data which is entered in tab strips.
I need help in writing the validation for the data as below:
If the MATERIAL (on tab1) is blank then the fields on tab2 are mandatory.
AND if the MATERIAL (on tab1) is blank then the fields on tab2 are NOT mandatory.
The code is as follows
REPORT  ztest123.
TABLES kna1.
TABLES : sscrfields, vbap.
DATA  gv_activetab(6) TYPE c .
SELECTION-SCREEN BEGIN OF SCREEN 001 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS p_matnr TYPE mara-matnr.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN END OF SCREEN 001.
SELECTION-SCREEN BEGIN OF SCREEN 002 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS:  so_kunnr  FOR kna1-kunnr NO INTERVALS NO-EXTENSION.
SELECT-OPTIONS:  so_datum  FOR vbap-erdat NO-EXTENSION." DEFAULT sy-datum.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF SCREEN 002.
SELECTION-SCREEN BEGIN OF TABBED BLOCK tabb1 FOR 5 LINES.
SELECTION-SCREEN TAB (15) tabs1 USER-COMMAND ucomm1 DEFAULT SCREEN 001.
SELECTION-SCREEN TAB (15) tabs2 USER-COMMAND ucomm2.
SELECTION-SCREEN END OF BLOCK tabb1.
AT SELECTION-SCREEN .
  CASE sscrfields-ucomm.
    WHEN 'UCOMM1'.
      tabb1-prog = sy-repid.
      tabb1-dynnr   = 001.
      tabb1-activetab = 'TABS1'.
      gv_activetab = 'TABS1' .
    WHEN 'UCOMM2'.
      tabb1-prog = sy-repid.
      tabb1-dynnr   = 002.
      tabb1-activetab = 'TABS2'.
      gv_activetab = 'TABS2'.
  ENDCASE.
START-OF-SELECTION.
  CASE gv_activetab.
    WHEN 'TABS1'.
      WRITE: 'Material ' .
    WHEN 'TABS2'.
      WRITE: 'Plant '.
  ENDCASE.

you have to do 2 things
1) set fields mandatory
IF p_matnr IS INITIAL.
    LOOP AT SCREEN.
      IF screen-name EQ 'SO_KUNNR-LOW'.
        screen-required = 1.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.
2) ensure the program is not run without a value, because the point 1 will be done only if user goes through tabstrip 2
AT SELECTION-SCREEN .
  IF sscrfields-ucomm EQ 'ONLI'.
    IF p_matnr IS INITIAL.
      IF so_kunnr-low IS INITIAL.
        sscrfields-ucomm = 'UCOMM2'.
      ENDIF.
    ENDIF.
  ENDIF.
  CASE sscrfields-ucomm.
    WHEN 'UCOMM1'.

Similar Messages

  • Tabstrip on selection screen

    Hi All,
    I have created selection screen with 3 tab strips.
    i have 2 radios button in each tab strip. My problem is, when i have selected first radio button from 2nd tab strip and execute, then it is executing first tab strip radio button first and when i click on back button then my second tab strip radio button getting executed.
    So could you please do let me know, how to execute directly 2nd tab strip radio button directly wiht out executing first tab strip.
    Regards,
    Jo

    Hello,
    Assign a user command to each tab strip as follows.
    SELECTION-SCREEN BEGIN OF BLOCK sel .
    SELECTION-SCREEN SKIP.
    *---------------------------* TABSTRIP *-------------------------------*
    SELECTION-SCREEN BEGIN OF TABBED BLOCK tabb1 FOR 15 LINES.
    SELECTION-SCREEN TAB (40) title1 USER-COMMAND ucomm1 DEFAULT SCREEN 1001.
    SELECTION-SCREEN TAB (40) title2 USER-COMMAND ucomm2 DEFAULT SCREEN 1002.
    SELECTION-SCREEN TAB (40) title3 USER-COMMAND ucomm3 DEFAULT SCREEN 1003.
    SELECTION-SCREEN END OF BLOCK tabb1.
    SELECTION-SCREEN END OF BLOCK sel.
    *-------------------------* SCREEN 1001 *------------------------------*
    SELECTION-SCREEN: BEGIN OF SCREEN 1001 AS SUBSCREEN          .
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE title.
    PARAMETERS: radio_button1  RADIOBUTTON GROUP rad DEFAULT 'X'.
    "Insert all your other radio button in the first tabstrip here
    SELECTION-SCREEN: END OF BLOCK b1                            .
    SELECTION-SCREEN: END OF SCREEN 1001                         .
    *-------------------------* SCREEN 1002 *------------------------------*
    SELECTION-SCREEN: BEGIN OF SCREEN 1002 AS SUBSCREEN          .
    SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE titlex.
    PARAMETERS: radio_button2 RADIOBUTTON GROUP rad1.
    "Insert all your other radio button in the second tabstrip here
    SELECTION-SCREEN: END OF BLOCK b2                            .
    SELECTION-SCREEN: END OF SCREEN 1002                         .
    *-------------------------* SCREEN 1003 *------------------------------*
    SELECTION-SCREEN: BEGIN OF SCREEN 1003 AS SUBSCREEN          .
    SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME TITLE titlexx.
    PARAMETERS: radio_button3 RADIOBUTTON GROUP rad2.
    "Insert all your other radio button in the third tabstrip here
    SELECTION-SCREEN: END OF BLOCK b3                            .
    SELECTION-SCREEN: END OF SCREEN 1003                         .
    In this case the first tabstrip has the user command UCOMM1, the second tabstrip has the user command UCOMM2 and likewise for the third and last tabstrip.
    Now in the START-OF-SELECTION event.
    Start by doing a case for active tabs before doing a check which radio button is selected as follows.
    CASE tabb1-activetab.
         WHEN 'UCOMM1'.  "First tabstrip
              CASE 'X'. "To check which radio button is checked
               "Here you do the processing upon the radio button selected.
              WHEN radio_button1. 
                   CALL TRANSACTION 'SE38'.
              ENDCASE.
         WHEN 'UCOMM2'.  "Second tabstrip
              CASE 'X'. "To check which radio button is checked
              "Here you do the processing upon the radio button selected.
              WHEN radio_button2. 
                   CALL TRANSACTION 'SE11'.
              ENDCASE.
         WHEN 'UCOMM3'.  "Third tabstrip
              CASE 'X'. "To check which radio button is checked
              "Here you do the processing upon the radio button selected.
              WHEN radio_button3.
                   CALL TRANSACTION 'SE09'.
              ENDCASE.
    ENDCASE.
    Hope it helps.
    Thanks and Kind Regards,
    Yovish.
    Message was edited by: Yovish Bissessur

  • Using Selection screen and selection screen output

    Hi All,
    I am trying to execute AT SELECTION-SCREEN and AT SELECTION-SCREEN output. Both the para's working fine seperately. But when I execute them together AT SELECTION-SCREEN output is not working. Please let me know how to solve this problem. Please see below for the code.
    PARAMETERS:  p_werks LIKE marc-werks OBLIGATORY MEMORY ID WRK,
                 p_lgort LIKE mard-lgort OBLIGATORY,
                 p_rlgort LIKE mard-lgort OBLIGATORY.
        PARAMETERS: p_boml TYPE c RADIOBUTTON GROUP mode user-command flag.
            SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
                PARAMETERS: p_aufnr LIKE aufk-aufnr MODIF ID cp2.
            SELECTION-SCREEN: END OF BLOCK b1.
    *SELECTION-SCREEN COMMENT 1(44) text-004 FOR FIELD p_cmpl.
        PARAMETERS: p_cmpl TYPE c RADIOBUTTON GROUP mode.
           SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
                PARAMETERS: p_matnr type marc-matnr MODIF ID cp1,
                            p_verid type afpo-verid MODIF ID cp1,
                            p_labst type mard-labst MODIF ID cp1.
           SELECTION-SCREEN: END OF BLOCK b2.
       PARAMETERS: p_mstr TYPE c RADIOBUTTON GROUP mode.
    AT SELECTION-SCREEN output.
      LOOP AT SCREEN.
        IF p_boml <> 'X' AND
           screen-group1 = 'CP1'.
           screen-active = '1'.
           MODIFY SCREEN.
        ENDIF.
        IF p_cmpl <> 'X' AND
           screen-group1 = 'CP2'.
           screen-active = '1'.
           MODIFY SCREEN.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    AT SELECTION-SCREEN.
      IF p_boml EQ 'X'.
        IF p_AUFNR EQ space.
            MESSAGE e000(z1) WITH 'Please fill Production Order.'.
        ENDIF.
      endif.
      IF p_cmpl EQ 'X'.
        IF p_MATNR EQ space  OR p_verid EQ space OR p_labst EQ space.
            MESSAGE e000(z1) WITH text-003 'Production Version & Quantity. '.
        ENDIF.
      endif.
    Thanks,
    Senthil

    Hi Senthil,
    As far as my knowledge is concerned AT Selection-Screen output and AT Selection-Screen wont work together.In this code you are trying to do the validation in AT Selection-Screen. Instead of that try doin your validations in Start-of-selection Event.
    i,e., modify your code as follows:
    PARAMETERS: p_werks LIKE marc-werks OBLIGATORY MEMORY ID WRK,
    p_lgort LIKE mard-lgort OBLIGATORY,
    p_rlgort LIKE mard-lgort OBLIGATORY.
    PARAMETERS: p_boml TYPE c RADIOBUTTON GROUP mode user-command flag.
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_aufnr LIKE aufk-aufnr MODIF ID cp2.
    SELECTION-SCREEN: END OF BLOCK b1.
    *SELECTION-SCREEN COMMENT 1(44) text-004 FOR FIELD p_cmpl.
    PARAMETERS: p_cmpl TYPE c RADIOBUTTON GROUP mode.
    SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: p_matnr type marc-matnr MODIF ID cp1,
    p_verid type afpo-verid MODIF ID cp1,
    p_labst type mard-labst MODIF ID cp1.
    SELECTION-SCREEN: END OF BLOCK b2.
    PARAMETERS: p_mstr TYPE c RADIOBUTTON GROUP mode.
    AT SELECTION-SCREEN output.
    LOOP AT SCREEN.
    IF p_boml <> 'X' AND
    screen-group1 = 'CP1'.
    screen-active = '1'.
    MODIFY SCREEN.
    ENDIF.
    IF p_cmpl <> 'X' AND
    screen-group1 = 'CP2'.
    screen-active = '1'.
    MODIFY SCREEN.
    ENDIF.
    MODIFY SCREEN.
    ENDLOOP.
    START-OF-Selection.
    Perform validation.
    form validation.
    IF p_boml EQ 'X'.
    IF p_AUFNR EQ space.
    MESSAGE e000(z1) WITH 'Please fill Production Order.'.
    ENDIF.
    endif.
    IF p_cmpl EQ 'X'.
    IF p_MATNR EQ space OR p_verid EQ space OR p_labst EQ space.
    MESSAGE e000(z1) WITH text-003 'Production Version & Quantity. '.
    ENDIF.
    endif.
    endform.
    Kindly reward if useful.
    Thanks,
    pavithra

  • TabStrip in Selection Screen

    Hi All,
    I have used tabstrip in selection screen of alv report. In tabstrip I have 2 tabs, one is "Initial Run" & second is "Incremental Run".
    I want to check active tab after start of selection and based on active tab my report gives output. Every thing runs perfect in foreground.
    But when I run same thing in background, at that time system uses my default tab (Initial Run) even though I have selected Incremental Run Tab.
    Please help me if I miss any thing in code.
    Regards,
    Meet Gohel

    Hi Meet,
    SELECTION-SCREEN: BEGIN OF TABBED BLOCK tabs FOR 10 LINES,
                      TAB (20) button1 USER-COMMAND push1
                                       DEFAULT SCREEN 200,
                      TAB (20) button2 USER-COMMAND push2
                                       DEFAULT SCREEN 300,
                      END OF BLOCK tabs.
    In the above code tabs is the name of the tabstrip. In your program a global structure with the same name will be created with a structure having three components: prog of type c with length 40, dynnr of type c and length 4, and activetab of type c with length 132. So from trhe value of the component dynnr and activetab of tabs you can know which tab is activated.
    For more details press F1 on the keyword TABBED.
    Regards
    Dillip Sahoo

  • Need to have pop up window in selection screen and capture the user action.

    Hello Friends,
                         I have a requirement, that need to show a pop up window after execution, and to get the action from user using a Push button.
    I create a selection screen and a sub screen as window.
    After user execute from the selection screen, I am popping up this window.
    Window contains some input values to be entered and push button to identify the user action.
    I try to capture the user action using sy-ucomm, but it does not hold any value when user press the button.
    How to overcome this issue.
    Here is the definition of the window.
    Pop Up Window for getting values
    SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW TITLE title .
    PARAMETER : p_vdate LIKE t9aa01-validfrom,
                p_dcggt LIKE t9aa01-hkont,
                p_dcgst1 LIKE t9aa01-hkont,
                p_dcgst2 LIKE t9aa01-hkont,
                p_na LIKE t9aa01-hkont.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 20.
    SELECTION-SCREEN PUSHBUTTON 2(10) text-001 USER-COMMAND SVE.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF SCREEN 500.
    Cheers,
    Senthil
    Edited by: Senthil on Jan 7, 2008 11:03 AM

    Hi,
    Try using the below code.
           data : w_var type string.
           CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
             EXPORTING
              DEFAULTOPTION        = 'Y'
               textline1            = 'test '
             TEXTLINE2            = ' '
               titel                = 'check'
             START_COLUMN         = 25
             START_ROW            = 6
             CANCEL_DISPLAY       = 'X'
            IMPORTING
              ANSWER               = w_var.
                     if w_var = 'J'.
                     else.
                     endif.
    Comments : J indicates Yes and N indicates No
    Regards,
    Jeswanth

  • Background Processing, Selection Screens and Variants

    Hi All,
    I am having a little trouble Background Processing with Selection Screens and Variants.
    When a user runs my report and selects the option of background processing, then they select a checkbox. Once this is checked, they should go and fill in details, press Execute and voila a background process is created. However what is happening is that when i execute it then it asks for a variant. I do not want this to happen. I want the values in the selection screens to be used as default. Here is my code for background processing
    FORM START_BACKGROUND_PROCESSING.
      CALL FUNCTION 'BP_JOBVARIANT_SCHEDULE'
        EXPORTING
          TITLE_NAME            = 'End Customer Report '
          JOB_NAME              = 'customer_report'
          PROG_NAME             = 'ZSE_SD_SALES'
      EXCEPTIONS
        NO_SUCH_PROGRAM       = 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.
    ENDFORM.                    "START_BACKGROUND_PROCESSING
    After the background process is started, all teh data is collated then written to the app server. this is the order
      ELSEIF R2 EQ 'X' AND SY-BATCH EQ 'X'.
        PERFORM INITIALIZE_DATA.
        PERFORM SELECT_DATA.
        PERFORM PROCESS_DATA.
        PERFORM GET_END_CUSTOMER_DATA.
        PERFORM WRITE_TO_APP_SERVER.
    Any ideas? Points given to those who are helpful

    done myeslf

  • Selection-screen and GET

    Hi all,
    in my program i use PNP logical database, so system create automatically selection screen. Nice.
    When user fill selection screen event start-of-selection is launched and i do GET PERNR for read data from PNP.
    But my customer want to add field in selection screen. Ok, i did that. Well, now he want that when a user fills new fields the PNP is not read i.e GET PERNR shouldn't be launched, so i my program i write this :
    if myfield is initial.
    GET PERNR.
    else.
    PERFORM get_data.
    endif.
    But when i compile program i can't do that and i don't know how to make this and if it's possible.
    Regards,

    Hi tafkap,
    1. u have created a z report and
       u are using PNP logical database.
    2.  u say,
    , now he want that when a user fills new fields the PNP is not read i.e GET PERNR shouldn't be launched
    suppose this is achieved, then how
    are u going to fetch the data
    and show the report ?
    3. If u already have the logic for
       getting information from database and showing
       to the user,
       then do  not use GET event.
      (It is not compulsory in a ldb)
    4. Instead use START-OF-SELECTION
       event
       and do the normal programming.
    5. In such case,
       the selection screen (and ur extra field(s))
       will be displayed as usual
       and your own code will get triggered
       at start-of-selection.
    I hope it helps.
    regards,
    amit m.

  • What is a Selection Screen and how to make it ?

    What is a Selection Screen and how to make it ? Please explain the process.
    Best regards,
    Ryan

    Selection Screen are used for the program reports. These allows you to input some values that are required to show the desired output.
    for example : you want to show the list of sales orders between 1000 to 1999, you would write a select query as this (to make u understand better)
    select vbeln from vbak into it_vbeln
                 where vbeln GE 1000 " greater than or equal to
                   and vbeln LE 1999. " less than or equal to
    now if you wnat to do it dynamically, you need a selection screen
    tables : vbak. " declaration
    selection-screen : begin of block block1 with frame title text-003.
    select-options : so_vbeln for vbak-vbeln. " selection range from __ to __
    selection-screen : end of block block1.
    now you can write the same select query as
    select vbeln from vbak into it_vbeln
                 where vbeln in so_vbeln.
    Hope this is clear now
    Regards
    Gopi

  • SUBMIT Zxx VIA SELECTION-SCREEN AND RETURN

    SUBMIT Zxx VIA SELECTION-SCREEN AND RETURN
    and it's dont make f8 why

    wa_rspar-selname = 'P_DEALNO'.
    wa_rspar-kind = 'S'.
    wa_rspar-sign = 'I'.
    wa_rspar-option = 'EQ'.
    wa_rspar-low  = T_FORDER-DEAL_No.
       APPEND wa_rspar TO rspar.
    Submit ZSDR_SALESORDER_DISPLAY
         using Selection-screen '1000'
               WITH SELECTION-TABLE rspar.
    orelse
    *submit RSEIDOC2 with docnum-low = docnum with
                       credat-low = credat
                               and return.

  • SUBMIT via selection screen and return gives dump

    Hi Guys,
    When i have used SUBMIT via SELECTION SCREEN and RETURN, it gave me the selection screen and subsequent report is executed properly without an error and when i pressed back button, it went to selection screen without any issues but the problem is when i press back from the selection screen it gives me a dump. Could you guys think of what would be the probelm.
    Thanks in Advance.
    Santosh.

    Hi Santhosh,
    What is the dump u r getting? I tried like this and is working file.
    Report1
    REPORT  Z75694TEST1.
    PARAMETERS po_1 TYPE c.
    WRITE po_1.
    SUBMIT Z75694_TEST VIA SELECTION-SCREEN AND RETURN.
    Report2
    REPORT Z75694_TEST .
    PARAMETERS: po_2 TYPE c.
    WRITE po_2.
    Thanks,
    Vinod.

  • TO display pop_up on selection screen And chosse that field in 'SELECT' sta

    Hello,
    I want a pop up on selection screen when user clicks the push button on selection screen pop up should come on selection screen and display the all field of YTLEA table. when user checks few or all field from pop up then data for that field is selected from the YTLEA table.

    DDIF_TABL_GET

  • Selection Screen and Selection Button

    Hi,
    I have put in a screen this
    SELECTION-SCREEN PUSHBUTTON /01(20) p_0031 USER-COMMAND _0031.
    But It never enters 'at user-command' event !
    What should i do ?

    Hi Stephan
    If you specify the USER-COMMAND addition, the pushbutton must be assigned a function code fcode. The function code fcode must be specified directly and can only contain a maximum of 20 characters.
    Before you can work with the pushbutton, you must specify a TABLES statement to declare an interface work area for the structure SSCRFIELDS from the ABAP Dictionary.
    If the user selects the pushbutton on the selection screen, the runtime environment triggers the event AT SELECTION-SCREEN and the function code fcode is transferred to the ucomm component in the interface work area sscrfields.
    Regards
    Santosh

  • Add custom fields on selection screen  and ouput in Transaction QM11

    Hi All,
       i have the requirement to enhance the transaction qm11( Report : RQMELL10) to add the custom fields on the report selection screen and in the report output.
      i tried to add the fields on selection screen by copy the standard program RQMELL10 to custom one. and tried to add the fields above to the coding tab but i am not able to display the text for those fields of select-options. can any one help me is it the right way to copy the standard program to custom program and adding the custom fields and how to get the text element for the custom fields which we are going to add it. i tried to add the text element in program text elements but it is not appering on the report.
    please requeting the help asap if it is possible.

    Have a glance in below thread.
    Enhancing transaction QM10
    Also, there are some more threads available in enhancing the QM10 / QM11. Please search those as well.

  • Selection screen and smartforms

    Hi,
    Can somebody share with me simple eg to
    enter data via the selection screens and then pass those values to smartform.
    i have used the following code.But whenever i execute it the smartform opens first. i want to open the selection screen first.Then after entering the data there ,the smartorm must open up with the entered values.
    PARAMETER P_PARAM1 TYPE MYTABLE-COL1.
    PARAMETER P_PARAM2 TYPE MYTABLE-COL2.
    AT SELECTION-SCREEN OUTPUT.
    CALL FUNCTION '........................................'
      EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
      CONTROL_PARAMETERS         =
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
      OUTPUT_OPTIONS             =
      USER_SETTINGS              = 'X'
       PARAM1                    =  P_PARAM1
       PARAM2                     = P_PARAM2
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Thanks & Regards
    Jay

    Hi,
    As asked I am sending this piece of a code so that you can get a clear idea for the same.If you face the difficulty again please let me know.
    selection-screen begin of block b1 with frame title text-001.
    parameters :
       p_carrid type spfli-carrid.          " Carrier Id.
    selection-screen end of block b1.
    Working variable
    data:
      f_name      type rs38l_fnam.         " function module name
    start-of-selection.
    perform open_smartforms.
    form open_smartforms .
      call function 'SSF_FUNCTION_MODULE_NAME'
        exporting
          formname                 = '<formname>''
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
       importing
         fm_name                         = f_name
       exceptions
         no_form                          = 1
         no_function_module       = 2
         others                            = 3
      if sy-subrc <> 0.
        message id sy-msgid type 'S' number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.                               " IF sy-subrc ne 0
      call function f_name
        exporting
      ARCHIVE_INDEX                  =
      ARCHIVE_INDEX_TAB         =
      ARCHIVE_PARAMETERS    =
      CONTROL_PARAMETERS   =
      MAIL_APPL_OBJ                =
      MAIL_RECIPIENT                 =
      MAIL_SENDER                    =
      OUTPUT_OPTIONS             =
      USER_SETTINGS               = 'X'
        p_carr                                = p_carrid
    exceptions
       formatting_error         = 1
       internal_error             = 2
       send_error                 = 3
       user_canceled           = 4
       others                         = 5
      if sy-subrc ne 0.
        message id sy-msgid type 'S' number sy-msgno
        with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.                               " IF sy-subrc ne 0
    endform.                               " OPEN_SMARTFORMS
    Regards,
    Suvajit.

  • Selection screen and DP

    Hi friends
              Can any one tell me which event triggers first and the order of event triggering when both selection screen and dialog program is used..Also tell me which event  wont fire.
    Regards
    Suresh.A

    Here is the Sequence.
    1. First Load-of-Program event is triggred by default when you execute any report.
    2. Inisilization.
    3. At-selection Screen output.
    4. At selection Screen.
    5. Start-of-selection.
    6. end-of-selection.
    if you are calling screen in your report you will be doing so in Start-of-selection
    then after start-of-selection.
                  Process before output
                  Process after input
                 (if you add POH, and POV, these event will trigger when you press F1 or F4)
                  End-of-selection.
    Thanks & regards

Maybe you are looking for