03-31-2010 8:51 AM
Hi ppl,
I have this part of code in my program. But it is not working as desired. Please could somebody let me know what is wrong with it.
TYPES: BEGIN OF tp_selscr,
klart TYPE klah-klart,
class TYPE klah-class,
END OF tp_selscr.
DATA: wa_selscr TYPE tp_selscr.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK cls WITH FRAME TITLE text-s01.
PARAMETERS: p_cls AS CHECKBOX USER-COMMAND chk.
SELECT-OPTIONS: s_klart FOR wa_selscr-klart MODIF ID cls, "Class type
s_class FOR wa_selscr-class MODIF ID cls
MATCHCODE OBJECT clas.
SELECTION-SCREEN END OF BLOCK cls.
AT SELECTION-SCREEN.
*AT SELECTION-SCREEN ON p_cls.
PERFORM dynamic_sel. "Selection based on class
*&---------------------------------------------------------------------*
*& Form dynamic_sel
*&---------------------------------------------------------------------*
* Selection based on class option
*----------------------------------------------------------------------*
FORM dynamic_sel.
IF p_cls EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'CLS'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'CLS'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " dynamic_sel
Regards.
03-31-2010 8:54 AM
You should use 'AT SELECTION-SCREEN OUTPUT' instead of 'AT SELECTION-SCREEN'
03-31-2010 8:54 AM
You should use 'AT SELECTION-SCREEN OUTPUT' instead of 'AT SELECTION-SCREEN'
03-31-2010 8:57 AM
Hi,
Just to add, I want the 2 fields S_KLART and S_CLASS to appear only if the checkbox is marked.
03-31-2010 8:58 AM
The event is wrong. It should be AT SELECTON SCREEN OUTPUT
TYPES: BEGIN OF tp_selscr,
klart TYPE klah-klart,
class TYPE klah-class,
END OF tp_selscr.
DATA: wa_selscr TYPE tp_selscr.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK cls WITH FRAME TITLE text-s01.
PARAMETERS: p_cls AS CHECKBOX USER-COMMAND chk.
SELECT-OPTIONS: s_klart FOR wa_selscr-klart MODIF ID cls, "Class type
s_class FOR wa_selscr-class MODIF ID cls
MATCHCODE OBJECT clas.
SELECTION-SCREEN END OF BLOCK cls.
AT SELECTION-SCREEN OUTPUT. """ Instead of AT SELECTION SCREEN
*AT SELECTION-SCREEN ON p_cls.
PERFORM dynamic_sel. "Selection based on class
*&---------------------------------------------------------------------*
*& Form dynamic_sel
*&---------------------------------------------------------------------*
* Selection based on class option
*----------------------------------------------------------------------*
FORM dynamic_sel.
IF p_cls EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'CLS'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'CLS'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
Vikranth