Skip to Content
author's profile photo Former Member
Former Member

SELECTION-SCREEN

Guys I have two SELECTION-SCREEN in my program , one of them have a option group and the other parameters , What I want to do is to make dissapear the parameters selection screen depending on one of the options of my options group selection screen , How Can I do that ? , I tried several ways in my AT SELECTION-SCREEN OUTPUT event but without any result , Could you give me any advice?

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

4 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on May 27, 2008 at 03:23 PM

    Hi,

    did u write modify screen....if not do it.

    you can use this sample code.

    But instead of parameters im using select options.

    Ans im hiding them depens on condition.

    But, if you want to disable them,

    you need to do like this :

    SCREEN-INPUT = 0. instead of screen-active = 0.

    once execute this code. ypu will get an idea.

    REPORT Z50871_SELECTOPS_DYNAMIC.

    PARAMETERS : CH_EBELN AS CHECKBOX,

    CH_VBELN AS CHECKBOX.

    DATA: V_EBELN TYPE EKKO-EBELN,

    V_VBELN TYPE VBAK-VBELN.

    SELECTION-SCREEN BEGIN OF SCREEN 100.

    SELECT-OPTIONS : EBELN FOR V_EBELN MODIF ID G1,

    VBELN FOR V_VBELN MODIF ID G2.

    SELECTION-SCREEN END OF SCREEN 100 .

    AT SELECTION-SCREEN OUTPUT.

    IF SY-DYNNR = 100.

    IF CH_EBELN = 'X' AND

    CH_VBELN = ''.

    LOOP AT SCREEN.

    IF SCREEN-GROUP1 EQ 'G1'.

    SCREEN-ACTIVE = '1'.

    ELSE.

    SCREEN-ACTIVE = '0'.

    ENDIF.

    MODIFY SCREEN.

    ENDLOOP.

    ELSEIF CH_VBELN = 'X' AND

    CH_EBELN = '' .

    LOOP AT SCREEN.

    IF SCREEN-GROUP1 EQ 'G2'.

    SCREEN-ACTIVE = '1'.

    ELSE.

    SCREEN-ACTIVE = '0'.

    ENDIF.

    MODIFY SCREEN.

    ENDLOOP.

    ELSEIF CH_EBELN = 'X' AND CH_VBELN = 'X'.

    LOOP AT SCREEN.

    IF SCREEN-GROUP1 EQ 'G1'

    OR SCREEN-GROUP1 EQ 'G2' .

    SCREEN-ACTIVE = '1'.

    ENDIF.

    MODIFY SCREEN.

    ENDLOOP.

    ENDIF.

    ENDIF.

    AT SELECTION-SCREEN.

    IF SY-DYNNR = 1000.

    IF CH_EBELN = 'X' OR CH_VBELN = 'X'.

    CALL SELECTION-SCREEN 100.

    ELSE.

    MESSAGE I000(Z50871MSG) WITH 'Please select atleast one checkbox'.

    ENDIF.

    ENDIF.

    Regards

    Sandeep Reddy

    Edited by: Sandeep Reddy on May 27, 2008 5:24 PM

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on May 27, 2008 at 03:12 PM

    Have u used 'Screen' table for this.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on May 27, 2008 at 03:16 PM

    hi,

    write screen-input = 0 after checking the condition.

    Cheers

    vamshi

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on May 27, 2008 at 03:19 PM

    Hi,

    In order to make the parameters invisible you can simply declare them as below :

    parameter : lv_data like mara-matnr no-display.

    or at selection-screen you will have to loop on the dynamic internal table 'screen' and for the screen fields you have to set screen-invisible = 'X' and then modify screen.

    Regards,

    Himanshu Verma

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.