AT SELECTION-SCREEN OUTPUT not working!

Hi,
I am useing the statement AT SELECTION-SCREEN OUTPUT to disable some input fields based on a check box(PR_FILE).however when I execute the program the changes on the screen are not reflected!I have written the AT SELECTION-SCREEN OUTPUT stmt immediately after SELECTION-SCREEN stmt .
Defination for the screen elements is  as  follows:
SELECT-OPTIONS s_plants FOR  ls_selected_plant-plant
                                                     NO INTERVALS.
SELECTION-SCREEN BEGIN OF BLOCK filesel WITH FRAME TITLE text-012.
PARAMETERS pr_file TYPE xfeld .
PARAMETER : pr_path LIKE rlgrap-filename .
SELECTION-SCREEN END OF BLOCK filesel.
AT SELECTION-SCREEN OUTPUT.
  IF pr_file = 'X'.
    LOOP AT SCREEN.
      IF screen-name = 's_plants'.
        screen-input    = '0'.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ELSE.
    LOOP AT SCREEN.
      IF screen-name = 'pr_path'.
        screen-input    = '0'.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.
Can anybody suggest what wrong i have done??

You need to use the User Command for the checkbox and the Modificaiton ID (Group) for the fields.
Try like this:
TABLES: VBRP.
SELECT-OPTIONS S_PLANTS FOR VBRP-WERKS NO INTERVALS MODIF ID GP1.
SELECTION-SCREEN BEGIN OF BLOCK FILESEL WITH FRAME TITLE TEXT-012.
PARAMETERS PR_FILE TYPE XFELD USER-COMMAND USR1.
PARAMETER : PR_PATH LIKE RLGRAP-FILENAME MODIF ID GP2 .
SELECTION-SCREEN END OF BLOCK FILESEL.
AT SELECTION-SCREEN OUTPUT.
    IF PR_FILE = 'X'.
      LOOP AT SCREEN.
        if screen-group1 = 'GP1'.
          SCREEN-active = '0'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ELSE.
      LOOP AT SCREEN.
        IF SCREEN-group1 = 'GP2'.
          SCREEN-active = '0'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ENDIF.
Regards,
Naimesh Patel

Similar Messages

  • At selection screen output not responding

    Hi ppl,
    I've 4 selection options in my screen. however I just need user to insert only 1 of the 4 for searching. Therefore i included 4 radio buttons. when user select <i>rbf</i>, <i>sfileno</i> will activer and other 3 will be grayed out, when user select <i>rbi</i>, <i>sidnum</i> will active and other will not be active and so forth. You can see the codes below.
    However, during the program running, I found out when i select <i>rbf,</i> the other select options fields - <i>sfileno</i>, <i>sidnum</i> n <i>scompsno</i> are not inactive/grayed. It is the same when I seledt the other radio button. I just seem that i receive no response from the program. What have i done wrong here. please help. TQ
    SELECTION-SCREEN BEGIN OF BLOCK frm1 WITH FRAME TITLE text-t01 .
    SELECT-OPTIONS : sfileno FOR zlic_masterdb-nofailpermohonan modif id f01
                      sidnum FOR zcustomer-idnumber modif id i01,
                      sconame FOR zcustomer-contactname modif id n01,
                      scompsno FOR zcom_compdhdr-compsno modif id c01.
    PARAMETERS: rbf RADIOBUTTON GROUP g1 ,
    rbi RADIOBUTTON GROUP g1,
    rbn RADIOBUTTON GROUP g1,
    rbc RADIOBUTTON GROUP g1.
    SELECTION-SCREEN END   OF BLOCK frm1.
    INITIALIZATION.
    sfileno = '00001'.
                     AT SELECTION-SCREEN OUTPUT
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
      CHECK SCREEN-GROUP1 = 'f01' OR
    SCREEN-GROUP1 = 'i01' OR
    SCREEN-GROUP1 = 'n01' OR
    SCREEN-GROUP1 = 'c01'.
    IF rbf = 'X'.
      IF SCREEN-GROUP1 EQ 'f01'.
        SCREEN-ACTIVE = 1.
      ELSEIF SCREEN-GROUP1 EQ 'i01'.
        SCREEN-ACTIVE = 0.
      ELSEIF SCREEN-GROUP1 EQ 'n01'.
        SCREEN-ACTIVE = 0.
      ELSEIF SCREEN-GROUP1 EQ 'c01'.
        SCREEN-ACTIVE = 0.
      ENDIF.
    ELSEIF rbi = 'X'.
      IF SCREEN-GROUP1 EQ 'i01'.
        SCREEN-ACTIVE = 1.
      ELSEIF SCREEN-GROUP1 EQ 'f01'.
        SCREEN-ACTIVE = 0.
      ELSEIF SCREEN-GROUP1 EQ 'n01'.
        SCREEN-ACTIVE = 0.
      ELSEIF SCREEN-GROUP1 EQ 'c01'.
        SCREEN-ACTIVE = 0.
      ENDIF.
    ELSEIF rbn = 'X'.
      IF SCREEN-GROUP1 EQ 'n01'.
        SCREEN-ACTIVE = 1.
      ELSEIF SCREEN-GROUP1 EQ 'f01'.
        SCREEN-ACTIVE = 0.
      ELSEIF SCREEN-GROUP1 EQ 'i01'.
        SCREEN-ACTIVE = 0.
      ELSEIF SCREEN-GROUP1 EQ 'c01'.
        SCREEN-ACTIVE = 0.
      ENDIF.
    ELSEIF rbc = 'X'.
      IF SCREEN-GROUP1 EQ 'c01'.
        SCREEN-ACTIVE = 1.
      ELSEIF SCREEN-GROUP1 EQ 'f01'.
        SCREEN-ACTIVE = 0.
      ELSEIF SCREEN-GROUP1 EQ 'n01'.
        SCREEN-ACTIVE = 0.
      ELSEIF SCREEN-GROUP1 EQ 'i01'.
        SCREEN-ACTIVE = 0.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
    continue.
    ENDLOOP.

    hi Enzo
    Check my sample code
    TABLES: eban,
            SSCRFIELDS.
    SELECTION-SCREEN BEGIN OF SCREEN 100 TITLE title.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
    PARAMETER:rad1 RADIOBUTTON GROUP rad USER-COMMAND frad1 DEFAULT 'X',
              rad2 RADIOBUTTON GROUP rad .
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
    PARAMETER: mtr AS CHECKBOX MODIF ID g3 USER-COMMAND chk1,
               p_matnr TYPE eban-matnr MODIF ID g1,
               sloc AS CHECKBOX MODIF ID g3 USER-COMMAND chk2,
               str_loc TYPE eban-lgort MODIF ID g4.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t03.
    SELECT-OPTIONS: matnr1 FOR eban-matnr MODIF ID g2.
    SELECTION-SCREEN END OF BLOCK b3.
    SELECTION-SCREEN PUSHBUTTON /20(10) name USER-COMMAND UCOM.
    SELECTION-SCREEN END OF SCREEN 100.
    name = 'FETCH'.
    title = 'Test Report'.
    CALL SELECTION-SCREEN '100'.
    TYPE-POOLS slis.
    * declaration of internal tables and work areas to be used
    DATA: BEGIN OF it_pr OCCURS 0,
          banfn TYPE eban-banfn,
          bnfpo TYPE eban-bnfpo,
          loekz TYPE eban-loekz,
          statu TYPE eban-statu,
          ekgrp TYPE eban-ekgrp,
          matnr TYPE eban-matnr,
          werks TYPE eban-werks,
          lgort TYPE eban-lgort,
          preis TYPE eban-preis,
          peinh TYPE eban-peinh,
          END OF it_pr.
    DATA: BEGIN OF it_mat OCCURS 0,
          matnr TYPE eban-matnr,
          END OF it_mat.
    *DATA:BEGIN OF ITAB1 OCCURS 0,
      DATA: l_answer.
    DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
          wa_fieldcat LIKE LINE OF it_fieldcat,
          it_event TYPE slis_t_event,
          wa_event TYPE slis_alv_event.
    * declaration of variables to be used
    DATA: r_ucomm TYPE sy-ucomm,
          mat_no TYPE eban-matnr,
          len TYPE i VALUE 1,
          count TYPE i VALUE IS INITIAL,
          iflag TYPE i VALUE IS INITIAL,
          iflag1 TYPE i VALUE 0.
    DATA :pr_id TYPE sy-repid,
    rt_extab TYPE slis_t_extab.
    INITIALIZATION.
      pr_id = sy-repid.
    probably it would sol;ve ur problem
    regards
    ravish
    <b>plz dont forget to reward points if helpful</b>

  • Selection screen field not working in Query

    Hi Gurus!
    I have a small problem with one of my query that I just created for finding status of our customers. I have a code section which handles it all . The problem is that I ahve a user field called "Check date" which I ahve used in selection screen as well as the layout, when I put a value in this field in the selection screen the report dosent give any output " NO data to display" but when I leave it open it does give me the out put with the saem check date as I ahd entered earlier in my selection screen.
    I am not sure where my selection code is working wrong . Could anyone please help me out please.
    DATA: ls_vakpa LIKE vakpa.
    DATA old_date LIKE sy-datum.
    old_date = key_date - num_days.
    status = 'ACTIVE'.
    check_date = old_date.
    * (If I entere this field (check_date) with any date
    *  and run it does not give me output and without
    * entry it dioes give output.
      SELECT SINGLE * FROM vakpa INTO ls_vakpa
          WHERE kunde = kna1-kunnr
       AND audat > old_date.
          IF sy-subrc <> 0.
        SELECT SINGLE * FROM vakpa INTO ls_vakpa
            WHERE kunde = kna1-kunnr
          AND audat < old_date.
          IF sy-subrc = 0.
          ls_audat = ls_vakpa-audat.
          ls_vbeln = ls_vakpa-vbeln.
        ELSE.
          CLEAR ls_audat.
          clear ls_vbeln.
        ENDIF.
        status = 'INACTIVE'.
      ELSE.
        ls_audat = ls_vakpa-audat.
        ls_vbeln = ls_vakpa-vbeln.
      ENDIF.
    Edited by: Rob Burbank on Apr 7, 2010 12:08 PM

    DATA: ls_vakpa LIKE vakpa.
    DATA old_date LIKE sy-datum.
    old_date = key_date - num_days.
    status = 'ACTIVE'.
    check_date = old_date.
    if old_date is initial.
       old_date = key_date - num_days.
       check_date = old_date.
    endif.
      SELECT SINGLE * FROM vakpa INTO ls_vakpa
          WHERE kunde = kna1-kunnr
    *      AND audat > old_date.
        AND audat > check_date.
      IF sy-subrc <> 0.
        SELECT SINGLE * FROM vakpa INTO ls_vakpa
            WHERE kunde = kna1-kunnr
    *        AND audat < old_date.
          AND audat < check_date.
        IF sy-subrc = 0.
          ls_audat = ls_vakpa-audat.
          ls_vbeln = ls_vakpa-vbeln.
        ELSE.
          CLEAR ls_audat.
          clear ls_vbeln.
        ENDIF.
        status = 'INACTIVE'.
      ELSE.
        ls_audat = ls_vakpa-audat.
        ls_vbeln = ls_vakpa-vbeln.
      ENDIF.

  • Added field to dynamic selection screen does not work in FBL5N

    hi,
    we have added KNA1-KATR5 to the selection screen of FBL5N by using logical database DDF using "view CUS" but it does not work.
    Our system is 6.0
    is there any OSS note or program that we should add?
    many thx.

    Refer This:
    Additional field selections in FB03

  • At selection screen output dialog

    how i can make
    i have customer i want when i click enter to get the description.
    the program is dialog , i get always err,and when i put in PBO or PAI.

    Hi Little ,
      What i understand is that you are working on a report and not a module pool.
    If it is a report then you will first have to modify the selection screen , go to SE51 , put in the program name and the screen number ( which is generally 1000) , on the screen add a new I/O box which is for Output only let it be KNA1-NAME1 .
    Now you need to write the code in the event AT SELECTION-SCREEN OUTPUT .
    Here is the sample code for the same
    tables : kna1.
    parameter : kunnr type kna1-kunnr.
    at selection-screen output.
    if not kunnr is initial.
      select single name1 into kna1-name1
        from kna1
        where kunnr =  kunnr.
    endif.
    Hope this helps.
    Regards
    Arun

  • At selection screen output problem

    Hi all,
    I am trying to make a few fields disabled based on the selection of a radio button. I have done it in dialog programming, but in report its not working. Please tell me where i have gone wrong. My code:
    * Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
    PARAMETER : rb_dwld RADIOBUTTON GROUP radi DEFAULT 'X',
                rb_upld RADIOBUTTON GROUP radi.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
    SELECT-OPTIONS : so_cctrl FOR /dceur/z_crconar-crdt_ctrldsa MODIF ID
                                             sc1 NO INTERVALS OBLIGATORY,
                     so_cusno FOR /dceur/z_crdtlmt-dealer MODIF ID sc1.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t03.
    SELECT-OPTIONS : so_ctrl1 FOR /dceur/z_crconar-crdt_ctrldsa MODIF ID
                                             sc2 NO INTERVALS OBLIGATORY.
    PARAMETER pa_fname TYPE rlgrap-filename MODIF ID sc2.
    SELECTION-SCREEN END OF BLOCK b3.

    Hi,
    Please check the below code.
    This is one of my requirement.
    * Creation of two blocks with parameter fields for create and update
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETER p_create LIKE rlgrap-filename MODIF ID crt.
    SELECTION-SCREEN: END OF BLOCK b1.
    SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETER p_update LIKE rlgrap-filename MODIF ID upt.
    SELECTION-SCREEN: END OF BLOCK b2.
    * Making one parameter field active at a time
    AT SELECTION-SCREEN OUTPUT.
      IF rb_crt = 'X'.                              "CREATE BUTTON IS SELECTED
        PERFORM hide_rb_options.
        CLEAR p_create.
      ELSE.                                         "UPDATE BUTTON IS SELECTED
        PERFORM hide_rb_options.
        CLEAR p_update.
      ENDIF.
    *&      Form  hide_rb_options
    FORM hide_rb_options .
      IF rb_crt = 'X'    .
        LOOP AT SCREEN.
          CASE screen-group1.
            WHEN 'CRT'.
              screen-active = 1.
              MODIFY SCREEN.
            WHEN 'UPT'.
              screen-active = 0.
              MODIFY SCREEN.
          ENDCASE.
        ENDLOOP.
      ELSE.
        LOOP AT SCREEN.
          CASE screen-group1.
            WHEN 'UPT'.
              screen-active = 1.
              MODIFY SCREEN.
            WHEN 'CRT'.
              screen-active = 0.
              MODIFY SCREEN.
          ENDCASE.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " hide_rb_options
    May it helps you.
    Regards.
    DS.

  • At selection screen output problem when a field is obligatory

    Hi All,
    I have two radiobuttons on the selection screen and when I select first radiobutton one screen should display and the other should not be displayed and vice-versa. It is working fine if I do not have a mandatory field.I am pasting my code here.Can anyone please help me how to handle this situation when we have some mandatory fields on one of these screens.
    TABLES : mara,marc.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS : p_meth1 RADIOBUTTON GROUP g1 USER-COMMAND g1,
                 p_meth2 RADIOBUTTON GROUP g1.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK matnr WITH FRAME TITLE text-002.
    SELECTION-SCREEN SKIP 1.
    SELECT-OPTIONS : so_matnr FOR marc-matnr MODIF ID m1 obligatory.
    SELECTION-SCREEN SKIP 1.
    SELECT-OPTIONS : so_werks FOR marc-werks MODIF ID m1 .
    SELECTION-SCREEN END OF BLOCK matnr.
    SELECTION-SCREEN BEGIN OF BLOCK file WITH FRAME TITLE text-003.
    SELECTION-SCREEN SKIP 1.
    PARAMETERS: p_fpath TYPE ibipparms-path MODIF ID m2 LOWER CASE.
    SELECTION-SCREEN END OF BLOCK file.
    SELECTION-SCREEN BEGIN OF BLOCK date WITH FRAME TITLE text-004.
    SELECTION-SCREEN SKIP 1.
    PARAMETERS : p_date TYPE datuv.
    SELECTION-SCREEN END OF BLOCK date.
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
    CASE screen-group1.
    WHEN 'M1'.
    IF p_meth1 = 'X'.
    screen-active = 1.
    ENDIF.
    IF p_meth2 = 'X'.
    screen-active = 0.
    ENDIF.
    WHEN 'M2'.
    IF p_meth2 = 'X'.
    screen-active = 1.
    ELSE.
    screen-active = 0.
    ENDIF.
    IF p_meth1 = 'X'.
    screen-active = 0.
    ENDIF.
    ENDCASE.
    MODIFY SCREEN.
    ENDLOOP.
    Thanks in advance
    Sandeep

    Obligatory fields with your requirement will not work, reason : The GUI checks obligatory fields before passing the control back to the program (i.e Before triggering the PAI )
    If you check for empty fields and give appropriate error message in the PAI, the program will not allow you to switch to the other radio button until you fill something in the fields because the moment you select a radiobutton, it will validate the field and issue the error message.
    So it is like a catch 22 situation.
    All you can really do is to check see which radio button is clicked and then do your processing. Also make sure to assign a user command to the radiobutton and query it in the AT SELECTION SCREEN and based on the radiobutton selected, decide which fields should be validated.
    " Additon...
    INITIALIZATION  " Default values
    p_meth1 = 'X'.
    AT SELECTION-SCREEN.  " General PAI
    if p_meth1 EQ 'X'.
    "validate fields for meth1.
    elseif p_meth2 EQ 'X'.
    " validate fields for meth2.
    endif.
    regards,
    Advait

  • At selection screen output  plz help

    hi all ,
    i written below code . my req is if users select radio button r_com all elements in block b2 should be invisable.
    this code is not working becuase r_com is populated with 'X' VALUE at rumtime in the event .
    tables : coep ,SSCRFIELDS.
    SELECTION-SCREEN : BEGIN OF BLOCK B1  WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_GJAHR FOR COEP-GJAHR NO INTERVALS NO-EXTENSION
    OBLIGATORY ,
                     S_PERIO FOR COEP-PERIO NO INTERVALS NO-EXTENSION
    OBLIGATORY.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT   1(20)   TEXT-002.
    PARAMETERS : r_Com RADIOBUTTON GROUP mai user-command rusr .
    SELECTION-SCREEN COMMENT   25(15)  TEXT-003.
    PARAMETERS : r_group RADIOBUTTON GROUP mai  .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN : END OF BLOCK B1 .
    SELECTION-SCREEN : BEGIN OF BLOCK B2  WITH FRAME TITLE TEXT-002.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(30)   TEXT-003 MODIF ID B21.
    parameters : p_0001 like AFRU-ISMNW OBLIGATORY MODIF ID B21.
    SELECTION-SCREEN COMMENT 45(40) TEXT-004 MODIF ID B21.
    parameters : p_0002 like AFRU-ISMNW  OBLIGATORY MODIF ID B21 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(30) TEXT-005 MODIF ID B21.
    parameters : p_0003 like AFRU-ISMNW OBLIGATORY MODIF ID B21.
    SELECTION-SCREEN COMMENT 45(40) TEXT-006 MODIF ID B21.
    parameters : p_0004 like AFRU-ISMNW OBLIGATORY MODIF ID B21 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN : END OF BLOCK B2 .
    at selection-screen OUTPUT.
    IF R_COM EQ 'X' .
    LOOP AT SCREEN.
      IF SCREEN-GROUP1 = 'B21'.
       SCREEN-ACTIVE = 0 .
       MODIFY SCREEN.
       ENDIF.
    ENDLOOP.
    thanks ,
    sridhar

    AMIT ,
    IT IS WORKING , thanks  but when i use another block like below and using this code it is not working .
    SELECTION-SCREEN : BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-002..
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(30)   TEXT-003 MODIF ID B22.
    parameters : p_0005 like AFRU-ISMNW OBLIGATORY MODIF ID B22.
    SELECTION-SCREEN COMMENT 45(40) TEXT-004 MODIF ID B22.
    parameters : p_0006 like AFRU-ISMNW  OBLIGATORY MODIF ID B22 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(30) TEXT-005 MODIF ID B21.
    parameters : p_0007 like AFRU-ISMNW OBLIGATORY MODIF ID B22.
    SELECTION-SCREEN COMMENT 45(40) TEXT-006 MODIF ID B22.
    parameters : p_0008 like AFRU-ISMNW OBLIGATORY MODIF ID B22 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN : END OF BLOCK B3 .
    at selection-screen OUTPUT.
      IF R_COM EQ 'X' .
        LOOP AT SCREEN.
          IF SCREEN-GROUP1 = 'B21'.
            SCREEN-ACTIVE = 0 .
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      elseif r_group eq 'X'.
        LOOP AT SCREEN .
          IF SCREEN-GROUP1 = 'B22'.
            SCREEN-ACTIVE = 0.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.
      my question is , whne i select one radio button how to diable block .
    thanks,
    sridhar

  • Selection screen changes at selection screen output

    Hi all,
    I have to make my one block in selection scren invisible based on a particular condition.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:  s_status FOR g_status NO INTERVALS.
    PARAMETERS    :  p_trans(3) TYPE c,
                     p_hub(3) TYPE c.
    SELECT-OPTIONS:  s_auart  FOR g_auart.
    PARAMETERS:      p_buyt(1) TYPE c.
    SELECT-OPTIONS:
                     s_order  FOR g_vbeln,
                     s_zzhrt  FOR g_zzhrtosec,
                     s_vbeln1 FOR g_vbeln1,
                     s_dccode FOR g_dccode NO INTERVALS,
                     s_pgi   FOR g_pgi.
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
    PARAMETERS    : p_c1 AS CHECKBOX USER-COMMAND cmd.
    SELECT-OPTIONS: s_list FOR g_list NO INTERVALS MODIF ID sc1.
    SELECTION-SCREEN END OF BLOCK blk2 .
    SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.
    PARAMETERS    :  p_c2 AS CHECKBOX USER-COMMAND cmd2.
    SELECT-OPTIONS:  s_mail FOR g_mail NO INTERVALS MODIF ID sc2.
    PARAMETERS:   p_accld LIKE g_saknr DEFAULT '1342009999' MODIF ID sc2
                                                          OBLIGATORY,
                  p_accit LIKE g_saknr DEFAULT '1365009999' MODIF ID sc2
                                                          OBLIGATORY,
                  p_opacc LIKE g_saknr DEFAULT '346100XX99' MODIF ID sc2
                                                          OBLIGATORY,
                  p_lmacc LIKE g_saknr DEFAULT '1393009999' MODIF ID sc2
                                                          OBLIGATORY,
                  p_lmopa LIKE g_saknr DEFAULT '3471009999' MODIF ID sc2
                                                          OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk3.
    The block 3 'blk3' should be made invisible based on a condition.
    I have tried loop at screen-name but its not working.
    Kindly advice.
    Thanks and Regards,
    Divya

    Hi Divya,
    Check the below code.
    tables: pa0000, pa0001.
    parameters: p_chk1 as checkbox user-command rusr,
    p_chk2 as checkbox user-command rusr,
    p_chk3 as checkbox user-command rusr,
    p_chk4 as checkbox user-command rusr,
    p_chk5 as checkbox user-command rusr.
    selection-screen: begin of block blk1 with frame.
    select-options: s_pernr for pa0000-pernr modif id ABC,
    s_stat2 for pa0000-stat2 modif id DEF,
    s_werks for pa0001-werks modif id GHI,
    s_persg for pa0001-persg modif id JKL,
    s_persk for pa0001-persk modif id MNO.
    selection-screen: end of block blk1.
    AT SELECTION-SCREEN output.
    LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'ABC'.
    IF p_chk1 = 'X'.
    SCREEN-ACTIVE = 1.
    ELSE.
    SCREEN-ACTIVE = 0.
    ENDIF.
    MODIFY SCREEN.
    ENDIF.
    IF SCREEN-GROUP1 = 'DEF'.
    IF p_chk2 = 'X'.
    SCREEN-ACTIVE = 1.
    ELSE.
    SCREEN-ACTIVE = 0.
    ENDIF.
    MODIFY SCREEN.
    ENDIF.
    IF SCREEN-GROUP1 = 'GHI'.
    IF p_chk3 = 'X'.
    SCREEN-ACTIVE = 1.
    ELSE.
    SCREEN-ACTIVE = 0.
    ENDIF.
    MODIFY SCREEN.
    ENDIF.
    IF SCREEN-GROUP1 = 'JKL'.
    IF p_chk4 = 'X'.
    SCREEN-ACTIVE = 1.
    ELSE.
    SCREEN-ACTIVE = 0.
    ENDIF.
    MODIFY SCREEN.
    ENDIF.
    IF SCREEN-GROUP1 = 'MNO'.
    IF p_chk5 = 'X'.
    SCREEN-ACTIVE = 1.
    ELSE.
    SCREEN-ACTIVE = 0.
    ENDIF.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    *Note
    *Titles for check boxes and select options
    *P_CHK1 Personal Number
    *P_CHK2 Employment Status
    *P_CHK3 Personnel Area
    *P_CHK4 Employee Group
    *P_CHK5 Employee Sub group
    *S_PERNR Personal Number
    *S_PERSG Employee Group
    *S_PERSK Employee Sub group
    *S_STAT2 Employment Status
    *S_WERKS Personnel Area

  • Parameters in a selection-screen output

    Hi Guys,
    I have this situation.
    Parameters: street(20) type c,
                       code(10) type c,
                        number(6) type c.
    If street is not initial.
      if code is initial and number is initial.
         "I have to put information into code or into number.
    endif.
    endif.
    I could do.
    AT SELECTION-SCREEN OUTPUT.
    IF P_STREET IS NOT INITIAL. "Si está lleno es obligatorio llenar Población o Código Postal
       IF P_CITY1 IS INITIAL AND P_CODE1 IS INITIAL.
          MESSAGE 'write information into Code or into Numberl' type 'E'.
       ENDIF.
    ENDIF.
    START-OF-SELECTION.
    It doesn't work very well any idea,please?
    Thanks a lot

    Basically AT SELECTION-SCREEN OUTPUT is part of the PBO of the selection-screen dynpro, error messages must be issued in the PAI of a dynpro ([else|http://help.sap.com/saphelp_nw70/helpdata/en/e5/e719bab1d711d295bf0000e8353423/frameset.htm]),  look at [online help|http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbaabc35c111d1829f0000e829fbfe/frameset.htm] of the MESSAGE statement, so move your check in a AT SELECTION-SCREEN. or better put the 3 fields in a [block|http://help.sap.com/erp2005_ehp_04/helpdata/EN/79/34a23ad9b511d1950e0000e8353423/frameset.htm] (SELECTION-SCREEN BEGIN OF BLOCK/PARAMETERS/END OF BLOCK) and check the data in a AT SELECTION-SCREEN ON BLOCK, so the three fields will be available for input if an error message is issued.
    Regards

  • Query related to at selection screen event & at selection-screen output

    Hi all,
    thanks in advance
    i have two radio buttons say rd1 & rd2
    on my selection screen i have date,period,year and these fields r mandatory fields
    when i try to select the radio button rd2 then it is not disabling the fields period and year rather it is checking the fields for mandatory and vicevesr
    here is the code plz help me out
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
        IF rd1 = 'X'.
          IF screen-group1  = 'GR1'.
            screen-input  = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDIF.
        IF rd2 = 'X'.
          IF screen-group1  = 'GR2'.
            screen-input  = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDIF.
      ENDLOOP.
    AT SELECTION-SCREEN.
    blank period is not allowed
        IF monat[] IS INITIAL.
          MESSAGE e008.
        ENDIF.
    blank fiscal year is not allowed
        IF gjahr[] IS INITIAL.
          MESSAGE e009.
        ENDIF.
    blank document date is not allowed
        IF bldat[] IS INITIAL.
          MESSAGE e020.
        ENDIF.
    awiting for all u r replies

    I UNDERSTOOD Y U HAVE GIVE ERROR MESSAGE,
    WHEN U R DECLARING THE VALUES AS OBLIGATORY BEFORE, THEN NO NEED TO GIVE MESSAGES IN AT SELECTION SCREEN.
    BUT BASED ON SOME CONDITIONS, IF U WANT TO MAKE THEM OBLIGATORY DYNAMICALLY THEN GIVE THE CONDITION ALSO
    EXAMPLE
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF a = 'X'.
          IF screen-group1 = 'GR2'.
            screen-input = 0.
                 ELSE.
           SCREEN-INPUT = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
        IF c = 'X'.
          IF screen-group1 = 'GR1'.
            screen-input = 0.
         ELSE.
           SCREEN-INPUT = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    AT SELECTION-SCREEN.
    IF  d is initial.
    MESSAGE e009.
    ENDIF.
    start-of-selection.
    write b.
    2ND EXAMPLE:
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF a = 'X'.
          IF screen-group1 = 'GR2'.
            screen-input = 0.
                 ELSE.
           SCREEN-INPUT = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
        IF c = 'X'.
          IF screen-group1 = 'GR1'.
            screen-input = 0.
         ELSE.
           SCREEN-INPUT = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    AT SELECTION-SCREEN.
    IF B = 5 AND d is initial.
    MESSAGE e009.
    ENDIF.
    start-of-selection.
    write b.
    I HAVE SENT U TWO EXAMPLES, IN THE SEOND EXMAPLE, IT WORKS FINE AS U HAVE GIVEN SOME OTHER CONDITION.
    IN THE FIRST EXAMPLE, AS IT WILL NOT WORK AS IAM CHECKING ONLY INITIAL CONDITION.
    FOR CHECKING ONLY INITIAL CONDITION, NO NEED TO WRITE IT AT SELECTION SCREEN , U CAN DIRECTLY DECLARE AS OBLIGATORY IN THE BEGINING IT SELF.
    JUST COPY AND PASTE MY TWO PROGRAMS AND FIND OUT THE DIFFERENCE IAM EXPLAINING
    Message was edited by: Hymavathi Oruganti

  • 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

  • AT SELECTION-SCREEN OUTPUT.

    Hi All,
    I have a selection screen which i need to influence before it is shown in the screen after the transaction is executed.
    I want the user to influence one of the fields in selection screen by an user exit.So if in the user exit the parameter is set by the user ,then only that particular field should be enabled or else it should be disabled.
    I know i can use AT SELECTION-SCREEN OUTPUT.
    but i am not sure that i can influence it with an user exit.
    Could anybody let me know the logic or code to write this.
    It would be very much help full.
    Regards,
    Priya.

    Hi Priya,
    you can make properly for loop at screen. with modify screen..
    it applied for enabled or disabled screen proceed.
    thx,
    s.suresh

  • At-selection screen output and radio button together

    Hi all,
    I want to make  a screen with radio buttons and a drop down menu on selection screen as soon as I check any button and click on Open from drop down menu the output should come according to the button cheked but the problem is that desired output is not coming.
    Please see if something could be done.
    Thanks,
    Shweta

    Hi,
    Here is the code see y it didnt responds,
    I made ZMENU2 in SE41 with Menu bar as OPEN , also activated buttons BACK and EXIT.
    tables : sscrfields.
    CONSTANTS : buttonselected TYPE c LENGTH 1 VALUE 'X'.
    DATA: ok_code LIKE sy-ucomm.
    SELECTION-SCREEN BEGIN OF BLOCK frame1 WITH FRAME TITLE text-001.
    SELECTION-SCREEN ULINE /1(60).
    PARAMETERS: first RADIOBUTTON GROUP rad DEFAULT 'X',
    second RADIOBUTTON GROUP rad,
    third RADIOBUTTON GROUP rad,
    fourth RADIOBUTTON GROUP rad,
    fifth RADIOBUTTON GROUP rad.
    SELECTION-SCREEN END OF BLOCK frame1.
    AT SELECTION-SCREEN OUTPUT.
      SET PF-STATUS 'ZMENU2'.
      If first = buttonselected and ok_code = 'OPEN'..
             WRITE 'You selected first button'.
        ELSEIF second = buttonselected and ok_code = 'OPEN'..
            WRITE 'You selected second button'.
        ELSEIF third = buttonselected and ok_code = 'OPEN'.
            WRITE 'You selected third button'.
        ELSEIF fourth = buttonselected and ok_code = 'OPEN'.
            WRITE 'You selected fourth button'.
        ELSEIF fifth = buttonselected and ok_code = 'OPEN'.
            WRITE 'You selected fifth button'.
        ELSEIF ok_code ='BACK'.
           LEAVE PROGRAM.
        ELSEIF ok_code ='EXIT'.
          LEAVE PROGRAM.
      ENDIF.

  • At Selection-screen output event

    Hi
    can any one give me some examples for at selection-screen output event
    with regards
    nagaraj
    Moderator message: please search for available information/documentation.
    Edited by: Thomas Zloch on Nov 8, 2011 12:13 PM

    Thanks Benedict
    Creating Module %_S_KOSTL and write our own logic to bring the parameter id value of Cost center from User profiles is NOT possible in program RM06BF00,  screen 1000.
    We can do that in Copied program of RM06BF00 ..which is the very last option.
    I wanted to do that with User-exits or BADI or Enhancement spot etc...which i Couldn't do it so far...
    The alternate might be Zprog and Ztcode or an SNOTE..
    if you ALL think its NOT possible with User-exits or BADI or Enhancement spot or SNOTE etc..Then i will close this Thread...
    Please let me know ASAP...
    Thanks
    Govi

Maybe you are looking for