Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Selection Screen modify

Former Member
0 Likes
1,021

SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MODIF ID sc1.

SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN MODIF ID sc2.

SELECTION-SCREEN: FUNCTION KEY 1,

FUNCTION KEY 2.

INITIALIZATION.

sscrfields-functxt_01 = 'Material'.

sscrfields-functxt_02 = 'Purchase document'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'SC1' OR SCREEN-GROUP1 = 'SC2'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

CONTINUE.

ENDIF.

ENDLOOP.

AT SELECTION-SCREEN.

CASE sscrfields-ucomm.

WHEN 'FC01'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'SC1'.

IF SCREEN-NAME = 'S_MATNR-LOW' OR SCREEN-NAME = 'S_MATNR-HIGH'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

CLEAR SCREEN.

CONTINUE.

ENDIF.

ELSEIF SCREEN-GROUP1 = 'SC2'.

IF SCREEN-NAME = 'S_EBELN-LOW' OR SCREEN-NAME = 'S_EBELN-HIGH'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

CLEAR SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

WHEN 'FC02'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'SC1'.

IF SCREEN-NAME = 'S_MATNR-LOW' OR SCREEN-NAME = 'S_MATNR-HIGH'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

CLEAR SCREEN.

CONTINUE.

ENDIF.

ELSEIF SCREEN-GROUP1 = 'SC2'.

IF SCREEN-NAME = 'S_EBELN-LOW' OR SCREEN-NAME = 'S_EBELN-HIGH'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

CLEAR SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

ENDCASE.

I am not able to active the select option depending upon action on button at application toolbar of selection screen.

Please check above code.

Message was edited by:

Nilesh Shete

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
855
Hi Nilesh,

Are you looking for this..


REPORT YCHATEST.

TABLES : MARA , EKKO , SSCRFIELDS.

SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MODIF ID SC1.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN MODIF ID SC2.

SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2.

DATA : V_FLAG(1) VALUE '0',
       V_FLAG1(1) VALUE '0'.

INITIALIZATION.
  SSCRFIELDS-FUNCTXT_01 = 'Material'.
  SSCRFIELDS-FUNCTXT_02 = 'Purchase document'.

  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'SC1' OR SCREEN-GROUP1 = 'SC2'.
      SCREEN-ACTIVE = 0.
      MODIFY SCREEN.
      CONTINUE.
    ENDIF.
  ENDLOOP.


AT SELECTION-SCREEN .
  CASE SSCRFIELDS-UCOMM.
    WHEN 'FC01'.
      V_FLAG = '1'.
      V_FLAG1 = '0'.
    WHEN 'FC02'.
      V_FLAG = '0'.
      V_FLAG1 = '1'.

  ENDCASE.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'SC1'.
      SCREEN-ACTIVE = V_FLAG.
      MODIFY SCREEN.
      CLEAR SCREEN.
    ELSEIF SCREEN-GROUP1 = 'SC2'.
      SCREEN-ACTIVE = V_FLAG1.
      MODIFY SCREEN.
      CLEAR SCREEN.
    ENDIF.
  ENDLOOP.
4 REPLIES 4
Read only

Former Member
0 Likes
855

Hi..,

when u click on any of the application toolbar function keys then the Selection screen gets created again.. i mean again the AT SELECTION-SCREEN OUTPUT gets executed agian !!

So whatever modifications u want to do to the selection screen those are to be done in the AT SELECTION-SCREEN OUTPUT event onli...

Check this code its working perfectly...

<b>tables : mara, ekko, sscrfields.

data : w_flag1 type i,

w_flag2 type i.

SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MODIF ID sc1.

SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN MODIF ID sc2.

SELECTION-SCREEN: FUNCTION KEY 1,

FUNCTION KEY 2.

INITIALIZATION.

sscrfields-functxt_01 = 'Material'.

sscrfields-functxt_02 = 'Purchase document'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'SC1' OR SCREEN-GROUP1 = 'SC2'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

CONTINUE.

ENDIF.

ENDLOOP.

At selection-screen output.

IF w_flag1 = 1.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'SC2'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

CLEAR W_FLAG1.

ELSEIF W_FLAG2 EQ 1.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'SC1'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

CLEAR W_FLAG2.

ENDIF.

AT SELECTION-SCREEN.

CASE sscrfields-ucomm.

WHEN 'FC01'.

w_flag1 = 1.

WHEN 'FC02'.

w_flag2 = 1.

ENDCASE.</b>

reward points if it helps u..

sai ramesh

Read only

0 Likes
855

i tried at selection-screen output also. but it won;t work.

Read only

0 Likes
855

Hi..,

i have corrected your code..

just copy and paste the above Bolded code in your program ..

its working perfectly...!!!

reward all helpful answers,

sai ramesh

Read only

Former Member
0 Likes
856
Hi Nilesh,

Are you looking for this..


REPORT YCHATEST.

TABLES : MARA , EKKO , SSCRFIELDS.

SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MODIF ID SC1.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN MODIF ID SC2.

SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2.

DATA : V_FLAG(1) VALUE '0',
       V_FLAG1(1) VALUE '0'.

INITIALIZATION.
  SSCRFIELDS-FUNCTXT_01 = 'Material'.
  SSCRFIELDS-FUNCTXT_02 = 'Purchase document'.

  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'SC1' OR SCREEN-GROUP1 = 'SC2'.
      SCREEN-ACTIVE = 0.
      MODIFY SCREEN.
      CONTINUE.
    ENDIF.
  ENDLOOP.


AT SELECTION-SCREEN .
  CASE SSCRFIELDS-UCOMM.
    WHEN 'FC01'.
      V_FLAG = '1'.
      V_FLAG1 = '0'.
    WHEN 'FC02'.
      V_FLAG = '0'.
      V_FLAG1 = '1'.

  ENDCASE.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'SC1'.
      SCREEN-ACTIVE = V_FLAG.
      MODIFY SCREEN.
      CLEAR SCREEN.
    ELSEIF SCREEN-GROUP1 = 'SC2'.
      SCREEN-ACTIVE = V_FLAG1.
      MODIFY SCREEN.
      CLEAR SCREEN.
    ENDIF.
  ENDLOOP.