At Selection screen validation

Hi All,
I Have a Situation, If User does not enter any thing on seelction screen my report still displays the data based on the selection criteria, what validation can be done at seelction screen to resolve this issue.
Regards,
VB

put your cursor on Selection-screen and press ABAP help...
or, use the appropriate program event, in this case: AT SELECTION-SCREEN [for screen-name is an addition].
If structure SSCRFIELDS-UCOMM eq 'SJOB' or 'PRIN' or 'ONLI', the user has selected an execution mode and you can enforce entry of something into your ranges tables (SELECT-OPTION creates a table of the same name).
In cases like this, please search forum and/or utilize SAP's excellent ABAP HELP capability.

Similar Messages

  • Problem in AT selection screen validation

    Hi,
    I am having problem in AT SELECTION SCREEN Validation.
    I have 2 radiobutton and 6 parameter. if i click first radio button  all the 6 radiobutton should enable and take the user input, that is working fine for me.
    if i click second radiobutton , out of 6 , 3 parameter should disable and remaining 3 should enable. thats also working fine.
    My problem is program has written the validation for this 3 parameter in the AT SELECTION SCREEN.
    For first radioutton all the validation working  fine, for second validation as soon as i press the radiobutton it will display error message. Based on 2 parameter user is filling value for 3 rd parameter.
    I want the same validation to be done for second radio button after user pressing enter.
    PARAMETER: p_single RADIOBUTTON GROUP rad1 DEFAULT 'X' USER-COMMAND f1,
               p_multi RADIOBUTTON GROUP rad1.
    PARAMETERS: s_pwwrk LIKE plaf-pwwrk.          
    PARAMETERS: p_lgort LIKE plaf-lgort.
    PARAMETERS: p_kostl LIKE cobl-kostl.
    here is my code:
    AT SELECTION SCREEN.
    CLEAR t001w.
      CLEAR t001k.
      CLEAR marv.
      SELECT SINGLE * FROM t001w WHERE werks EQ s_pwwrk.
      IF sy-subrc NE 0.
        MESSAGE e999 WITH 'Plant' s_pwwrk 'does not exist'.
      ELSE.
        SELECT SINGLE * FROM t001k WHERE bwkey EQ t001w-bwkey.
        SELECT SINGLE * FROM marv WHERE bukrs EQ t001k-bukrs.
        IF p_budat0(4) NE marv-lfgja OR p_budat4(2) NE marv-lfmon
    IF marv-xruem IS NOT INITIAL.
            IF p_budat0(4) NE marv-vmgja OR p_budat4(2) NE marv-vmmon.
    MESSAGE e999 WITH p_budat4(2) p_budat0(4)
                                'is closed.
                                            Please try again.'.
            ENDIF.
          ELSE.
            MESSAGE e999 WITH p_budat4(2) p_budat0(4)
                              'is closed.
                                          Please try again.'.
          ENDIF.
        ENDIF.
      ENDIF.

    For your Case ,
    If i understand clearly,You can do the validation when you want on AT SELECTION SCREEN ON WP_FIELD.
    If you say your validation to be done only for Selection of Second Radio Button, then..
    AT SELECTION SCREEN.
    if p_multi  eq 'X'. "<- Make Validation to be done only if user select Second Button
    CLEAR t001w.
    CLEAR t001k.
    CLEAR marv.
    SELECT SINGLE * FROM t001w WHERE werks EQ s_pwwrk.
    IF sy-subrc NE 0.
    MESSAGE e999 WITH 'Plant' s_pwwrk 'does not exist'.
    ELSE.
    SELECT SINGLE * FROM t001k WHERE bwkey EQ t001w-bwkey.
    SELECT SINGLE * FROM marv WHERE bukrs EQ t001k-bukrs.
    IF p_budat+0(4) NE marv-lfgja OR p_budat+4(2) NE marv-lfmon
    IF marv-xruem IS NOT INITIAL.
    IF p_budat+0(4) NE marv-vmgja OR p_budat+4(2) NE marv-vmmon.
    MESSAGE e999 WITH p_budat+4(2) p_budat+0(4)
    'is closed.
    Please try again.'.
    ENDIF.
    ELSE.
    MESSAGE e999 WITH p_budat+4(2) p_budat+0(4)
    'is closed.
    Please try again.'.
    ENDIF.
    ENDIF.
    ENDIF.
    endif.

  • Selection-screen validation

    Hi Experts,
          Please can any one give me the details ..
      1)What is the actual use of selection screen  validation?
    2) When we use Selection-screen validation?
    3)If we are not written the selection-screen validation is there any effect?
    I know how to write the validation for a selection screen. But why i am asking above questions is I am very new to ABAP .My Functionl people also new to ABAP. They told me one report.I asked me what are the validation for selection screen . At that time they told there is no validation.
         Thats the reason to ask above questions..
      please tell me the details..
    Thanks In Advance..
    Thanks and Regards
    Siri..

    Abhi,
    Selection Screen Validation are used for correct input processing.
    Selection screen elements are used further in select queries to fetch data. if user enters some wrong input
    we will unnecessarily hit the data base with wrong values and select will fail , hence validation of the input
    will avoid unnecessary data base hit.
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Feb 27, 2008 12:26 PM

  • Problem in selection screen validation.

    Hi All,
    I am having the following in the selection screen:
    PARAMETERS : p_r1 RADIOBUTTON GROUP grp DEFAULT 'X' USER-COMMAND dlvy,
                 p_r2 RADIOBUTTON GROUP grp .
    SELECTION-SCREEN BEGIN OF BLOCK b1 with frame title text-001.
    SELECT-OPTIONS: s_vbeln FOR lips-vbeln             MODIF ID dly.
    SELECT-OPTIONS: s_lfart FOR likp-lfart  OBLIGATORY MODIF ID dly.
    SELECT-OPTIONS: s_vstel FOR likp-vstel             MODIF ID dly.
    SELECT-OPTIONS: s_matnr FOR lips-matnr             MODIF ID dly.
    SELECT-OPTIONS: s_wadat FOR likp-wadat  OBLIGATORY MODIF ID dly.
    SELECT-OPTIONS: s_wbsta FOR vbup-wbsta             MODIF ID dly.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 with frame title text-002.
    SELECT-OPTIONS: s1_matnr FOR lips-matnr MODIF ID mat.
    SELECT-OPTIONS: s_extwg  FOR mara-extwg MODIF ID mat.
    SELECT-OPTIONS: s_werks  FOR marc-werks MODIF ID mat.
    SELECTION-SCREEN END OF BLOCK b2.
    If I choose Radio Button 1, only option 1 should be triggered,
    If I choose Radio Button 2, only option 2 should be triggered,
    For this I have:
    AT SELECTION-SCREEN OUTPUT.
      IF p_r1 = 'X'.
        blk_hide = 'MAT'.
        blk_show = 'DLY'.
      ELSE.
        blk_hide = 'DLY'.
        blk_show = 'MAT'.
      ENDIF.
      LOOP AT SCREEN.
        IF screen-group1 = blk_hide.
          screen-active = 0.
        ELSE.
          IF screen-group1 = blk_show.
            screen-active = 1.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    Now I need to validate the selection Screen, I am facing issue in doing selection screen validation:
    Can any one help me in how to go about this?
    Thanks,
    Debrup.

    pls. replace the AT SELECTION-SCREEN OUTPUT event with this one:
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        CASE 'X'.
          WHEN p_r1.
            CASE screen-group1.
              WHEN 'DLY'.
                screen-active = '1'.
              WHEN 'MAT'.
                screen-active = '0'.
            ENDCASE.
          WHEN p_r2.
            CASE screen-group1.
              WHEN 'DLY'.
                screen-active = '0'.
              WHEN 'MAT'.
                screen-active = '1'.
            ENDCASE.
        ENDCASE.
        MODIFY SCREEN.
      ENDLOOP.

  • Raising Exception in Selection screen validation

    Hi All,
    I am doing a selection screen validation in BI report using the CMOD. If my validation fails i need to raise a error message instead showing the report. How can i perform that. How should i handle this using abap.
    Thanks in advance
    Prem

    Hi,
    But this does not stop the execution of the report, the error message which i have given is been displayed in the report top and still the report gets executed.
    Please suggest how to stop the report execution and to stay on the same selelction screen page.
    Thanks
    Prem

  • Selection Screen Validation for Character

    Hi All
    My query is regarding the selection screen validation for character.
    I am using a Select-option: S_ORDER FOR VBAK-VBELN OBLIGATORY.
    and S_order should be only having the numeric field.
    Please help how to validate it for character field.

    Hi,
    Do as below :
    at selection-screen.
    if not s_order[] is initial.
       if s_order-low CA 'ABCDEF.............Z'.
         message 'Enter only numerics only' type 'E'.
      endif.
    "similarly for s_order-high also.
    endif.
    Thanks,
    Sriram Ponna.

  • Selection screen validation in HR ad hoc query

    Hi Experts,
    I have created a query in SQ01. My infoset is created using Logical database PNPCE. Selection criteria contains Fields  Personnel Number and Employment status. so when the query will be run, I want to display error message if invalid personnel number or Employment status is entered. Please let me know, How do I achieve it.
    Thanks in advane.
    Regards.

    Hi
    After declaring selection screen fields.
    select the field to handle validation and click on the button 'Check coding for
    Element' .
    you will get a block to handle the validation.

  • Selection screen validation when using PNP LDB

    Hi guys,
    I want to validate my selection screen parameters.Thats is if somebody wants to run the program without giving any input parameters to the selection screen(trying to run the report with a blank screen) I want to pop up an error/information message so that it will return the selection screen.I am using PNP Logical database for my selection screen.Please help.Thanks in advance.
    Thanks,
    Karthik.

    Welcome to SDN.
    If you are using PNP logical data base then validating the fields will be little tricky...
    You canc check all the other fields in START-OF-SELECTION and if they are empty return eroor. Remember all the field s on the scree... so I will suggest you to choose HR report Category accordingly.
    Also,when it comes to date field then you need to check for the start and end dates rather than blank fields as SAP defaulted them to system start and end date.
    Still, I will prefer to create a HE Report Category for the PNP database and use the screen while validating....that will be easy...

  • Selection-screen validations

    Hi Experts ,
    I have module pool program there in first screen user have choice to select screen if user select the first screen .The selection will be displayed with two parameters using key word
    selection-screen begin of screen 2002.
    parameters : p_date type sy-datum,
                         p_num  type kunnr.
    selection-screen end of screen 2002.
    call screen '2003'.
    now i want to do validations on these parameters ,
    please let me know how can i validate these selection-screen fields  there i try chain and endchain in screen 2003 , it says no fields in screen 2003. screen 2002 was developed dynamically by systemplease let me know  how to do validations i search it i cant find it plz solve issue .

    hi
    i think there are two methods two create selection screen
    1.  using layout here we can create selection screen with screen painter
    here we can validate using chain end endchain.
    Plz try this on
    Selection Screen
    Defined within an ABAP program; called by the runtime environment or using the CALL SELECTION-SCREEN statement; processed in event blocks of the corresponding ABAP program.
    in main screen we have 3 selections for screen 2002 ,2004, 2006.
    if sy-ucomm = 2002.
    2 .  selection-screen begin of screen 2002.
    parameters : .........
          selection-screen end of screen 2002.
    call selection-screen '2002'.
    once this was triggered after entering vales it return to the next step then
    call screen 2003.
    then it goes to PBO and PAI events.
    endif.
    if sy-ucomm = 2003.
    selection-screen begin of screen 2003.
    parameters : .........
          selection-screen end of screen 2003.
    call selection-screen '2003'.
    once this was triggered after entering vales it return to the next step then
    call screen 2004.
    then it goes to PBO and PAI events.
    endif.
    all these are done in initial screen PBO . and those are created dynamically now i want to do validations on selection-screen fields. we can;t use at selection-screen in module end end module .
    plz let me know if you know any thing more.

  • AT SELECTION-SCREEN validation prob

    Could you please give idea of how can I go back to selection screen if wrong mail id entered ( if possible cursor should go to the email id field where wrongly entered ?) ?
    AT SELECTION-SCREEN .
    *Emailid validation.
      IF  NOT s_mail1[] IS INITIAL.
        LOOP AT s_mail1.
    *-----If email id entered on the selection screen doesnot contain
    *'@' and '.', then give relevent message to user as popup.
          IF s_mail1-low NA '@' OR s_mail1-low NA '.'.
            MESSAGE i038(zs) WITH 'Please enter a valid email id'.
            gc_flag_mail = 'X'   .    
            EXIT.
          ENDIF.
        ENDLOOP.
        IF  gc_flag_mail = 'X'.    
        CLEAR : gc_flag_mail .
          EXIT.
        ENDIF. " IF  gc_flag_mail = gc_x.     "
    Thanks in advance

    Hi
    Refer the below threads
    Re: email id validation .
    email validation
    Regards,
    Chithra

  • Re selection screen validation

    Hi experts,
    In one of my report I have to put validation on selection screen. I have  4 fields defined under select-options (S_LGNUM, S_WERKS S_EXIDV2, S_EXIDV).
    Now
    When warehouse(LGNUM) and Plant(WERKS) are blank then Case# (EXIDV2) or HU#(EXIDV) become mandtory at selection screen.
    How to code for this Please help.Points sure.
    Anshu.

    Hi ,
    Please go through the sample code.
    tables: mara.
    select-options: matnr for mara-matnr,
                    mbrsh for mara-mbrsh,
                    meins for mara-meins ,
                    mtart for mara-mtart.
                    at selection-screen.
                    if matnr is initial and mbrsh is initial.
                      if meins is initial or mtart is initial.
                      message e000(0) with 'Please enter values'.
                      endif.
                    endif.
    Hope this solves the problem.
    Reward points if helpful.
    Thanks and Regards.

  • Needed  selection screen validation for all entries in the range

    Hi all,
    I'm using the below code for Material validation in selection-screen.
    SELECT SINGLE MATNR FROM MARC INTO MARC-MATNR
      WHERE MATNR IN S_MATNR.
      IF sy-subrc NE 0.
        MESSAGE e000(su) WITH text-035.     "Invalid Material Number
      ENDIF.
    This validation is working only for one record in the range.
    If I give multiple material numbers in the range having a record which doesn't exist in MARC, its not throwing the error.
    Seems like loop should be placed at s_matnr. Is that correct procedure or any pointers on the same would be of great help.
    Regards,
    Vamsee Priya.

    Hi priya
    Use this way,
    REFRESH IT_LIPS. CLEAR IT_LIPS.
      SELECT VBELN
             POSNR
             MATNR
             WERKS
             LFIMG
             ARKTX
             VGBEL
             VGPOS
             BWART
             FROM LIPS INTO TABLE IT_LIPS
             WHERE PSTYV IN
       ('ZZTC', 'ZTAD', 'ZMVN', 'ZCVA', 'ZCVB', 'ZCVC') AND "ASR 18721
                   WERKS IN ('1140', '1143', '1149').
      IF IT_LIPS[] IS INITIAL.
        MESSAGE E000 WITH TEXT-005.
    endif.
    revert back if you need any help..
    Help us to help you, Manas

  • Selection screen validation - facing an issue

    Hi All,
    I am facing an issue while doing validations on selections screen of a report program.
    On selecting a checkbox, a field related to that should become mandatory.
    But if I do the validation in selection screen events,
    for the first time also, when I select the check box, it is displaying error message saying no data in mandatory field.
    So I am doing the validation in start-of-selection event.
    Is there any work around for this?
    Please help me in this regard.

    Hi
    maybe you could try coding the validations at selection-screen.
    Also remove OBLIIGATORY syntax in selection screen coding.
    check the value in your check box and make the required field mandatory there.
    at selection-screen.
    if chk_val = 'X'.
      if s_mblnr[] is initial.
        if s_ebeln[] is initial.
          if s_matnr is initial or s_budat is initial.
            message e000(fb) with 'Enter at least a PO and material number/GR date!'.
          endif.
        endif.
      endif.
    else.
    endif.
    regards
    Isaac Prince
    Edited by: prince isaac on Nov 9, 2010 11:45 AM

  • Selection screen validation for batch

    This is my scenario:
    If program is executed in background, plant (in selection screen) is not mandatory.
    If program is executed directly, plant (in selection screen) needs to be filled (mandatory).
    I tried using sy-batch and coding at the AT SELECTION-SCREEN portion for validation but it seems that sy-batch is only populated after START-OF-SELECTION.
    How do i code it so that if user does not execute program in background, it will prompt an error message and prompt user to fill the plant field in the selection screen?

    HI,
    use sy-batch in start-of-selection. not in at selection-screen.
    start-of-selection.
    if sy-batch = ' X' . (If it runs in background)
    Then raise message.
    endif.
    This will work.
    Reward If helpful.

  • At selection screen validation doubt

    i hav At selection screen like this:-
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
      TABLES : tfdir.
      DATA : prg_name LIKE sy-repid,
             dynp_numb LIKE sy-dynnr,
             field_name LIKE dynpread-fieldname.
      SELECT SINGLE * FROM tfdir WHERE funcname = 'F4_FILENAME'.
      IF sy-subrc EQ 0.
        prg_name = sy-repid.
       dynp_numb = sy-dynnr.
        field_name = 'p_path'.
        CALL FUNCTION 'F4_FILENAME'
          EXPORTING
            program_name  = prg_name
           dynpro_number = dynp_numb
            field_name    = field_name
          IMPORTING
            file_name     = p_path.
      ENDIF.
      IF sy-subrc NE 0.
        MESSAGE i000(zmsg).
      ENDIF.
    This fm is getting file name.
    But I need only files with format " *.CSV " in this criteria.
    How should I do this?

    Hi Hari,
    just run this
    report zanid_test.
    tables rlgrap.
    data: it_tab type filetable,
    gd_subrc type i.
    selection-screen begin of block m with frame.
    select-options so_fpath for rlgrap-filename.
    selection-screen end of block m.
    at selection-screen on value-request for so_fpath-low.
    REFRESH: it_tab.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
    EXPORTING
    WINDOW_TITLE = 'Select File'
    DEFAULT_FILENAME = '*.csv'
    MULTISELECTION = 'X'
    CHANGING
    FILE_TABLE = it_tab
    RC = gd_subrc.
    loop at it_tab into so_fpath-low.
    so_fpath-sign = 'I'.
    so_fpath-option = 'EQ'.
    append so_fpath.
    endloop.

Maybe you are looking for