2007 Jul 30 3:36 PM
I currently have the following code, which creates a selection screen of 2 text parameters and a check box. When the check box is selected a portion of text appears under the check box and when it is de-selected the text disappears. This is all working fine, but when I execute I want the check box to default to empty and the text to disappear automatically when the user goes back to the selection screen. The code I have got makes the text disappear on execution but the check box is still selected.
Can anyone point out where I am going wrong?
Kind Regards
Carly
SELECTION-SCREEN BEGIN OF BLOCK s1 WITH FRAME TITLE title1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(14) text-001 MODIF ID std.
PARAMETERS: pa_week TYPE scal-week OBLIGATORY MODIF ID std.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(14) text-002 MODIF ID std.
PARAMETERS: pa_date TYPE sy-datum MODIF ID std.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK s1.
SELECTION-SCREEN BEGIN OF BLOCK s2 WITH FRAME TITLE title2.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: cb_info AS CHECKBOX USER-COMMAND * MODIF ID std.
SELECTION-SCREEN COMMENT (50) text-003 MODIF ID std.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK s2.
SELECTION-SCREEN BEGIN OF BLOCK s3 WITH FRAME TITLE title3.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-004 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-005 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-006 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-007 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-008 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-009 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK s3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'INF' AND
( flag = 'X').
screen-invisible = 0.
ELSEIF screen-group1 = 'INF' AND
( flag <> 'X').
screen-invisible = 1.
ELSEIF screen-group1 = 'STD'.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
AT SELECTION-SCREEN.
IF cb_info = 'X'.
flag = 'X'.
ELSE.
CLEAR flag.
ENDIF.
2007 Jul 30 3:41 PM
I currently have the following code, which creates a selection screen of 2 text parameters and a check box. When the check box is selected a portion of text appears under the check box and when it is de-selected the text disappears. This is all working fine, but when I execute I want the check box to default to empty and the text to disappear automatically when the user goes back to the selection screen. The code I have got makes the text disappear on execution but the check box is still selected.
Can anyone point out where I am going wrong?
Kind Regards
Carly
SELECTION-SCREEN BEGIN OF BLOCK s1 WITH FRAME TITLE title1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(14) text-001 MODIF ID std.
PARAMETERS: pa_week TYPE scal-week OBLIGATORY MODIF ID std.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(14) text-002 MODIF ID std.
PARAMETERS: pa_date TYPE sy-datum MODIF ID std.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK s1.
SELECTION-SCREEN BEGIN OF BLOCK s2 WITH FRAME TITLE title2.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: cb_info AS CHECKBOX USER-COMMAND * MODIF ID std.
SELECTION-SCREEN COMMENT (50) text-003 MODIF ID std.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK s2.
SELECTION-SCREEN BEGIN OF BLOCK s3 WITH FRAME TITLE title3.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-004 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-005 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-006 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-007 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-008 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(79) text-009 MODIF ID inf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK s3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'INF' AND
( flag = 'X').
screen-invisible = 0.
ELSEIF screen-group1 = 'INF' AND
( flag <> 'X').
screen-invisible = 1.
ELSEIF screen-group1 = 'STD'.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
AT SELECTION-SCREEN.
IF cb_info = 'X'.
flag = 'X'.
ELSE.
CLEAR flag.
ENDIF.
2007 Jul 30 3:41 PM
2007 Jul 30 3:49 PM
That's great - Thank you...
Another problem though...Within my Start-Of-Selection I have got a piece of code that checks for errors and when there are errors is doesn't go right to the end of the Start-Of-Selection.
How can I get over this?
Regards
Carly
START-OF-SELECTION.
PERFORM get_selection.
PERFORM get_trading_branches.
PERFORM get_stock_data.
CHECK wa_error IS INITIAL.
SKIP 1.
WRITE: / ' Shop Core Report - ',
pa_week+4(2) NO-GAP, '/' NO-GAP, pa_week(4).
WRITE: / ' ---------------------------'.
PERFORM summarise_data USING 'trading'.
PERFORM produce_report USING 'trading'.
SKIP 1.
WRITE: / ' NDC 6000 - ',
pa_week+4(2) NO-GAP, '/' NO-GAP, pa_week(4).
WRITE: / ' -------------------'.
PERFORM summarise_data USING 'ndc'.
PERFORM produce_report USING 'ndc'.
FREE MEMORY.
2007 Jul 30 3:53 PM
Wrap it an IF statement.
START-OF-SELECTION.
PERFORM get_selection.
PERFORM get_trading_branches.
PERFORM get_stock_data.
IF wa_error IS INITIAL.
SKIP 1.
WRITE: / ' Shop Core Report - ',
pa_week+4(2) NO-GAP, '/' NO-GAP, pa_week(4).
WRITE: / ' ---------------------------'.
PERFORM summarise_data USING 'trading'.
PERFORM produce_report USING 'trading'.
SKIP 1.
WRITE: / ' NDC 6000 - ',
pa_week+4(2) NO-GAP, '/' NO-GAP, pa_week(4).
WRITE: / ' -------------------'.
PERFORM summarise_data USING 'ndc'.
PERFORM produce_report USING 'ndc'.
ENDIF.
FREE MEMORY.
Regards,
Rich Heilman
2007 Jul 30 3:57 PM
Hi
U shouldn't use FREE MEMORY here, but in the INITIALIZATION event, u can also move all code to write the list in the END-OF-SELECTION event or insert an IF/ENDIF statament instead of CHECK.
Anyway if you'll use FREE MEMROY you'll loose all paramenters of selection-screen.
Max
2007 Jul 30 3:50 PM
2007 Jul 30 3:51 PM
Hi
All values inserted in the SELECTION-SCREEN are stored in the memory, in this way the system can get back them after excuting the report.
U should export a flag in the start-of-selection to the memory and import it in the AT SELECTION-SCREEN event in order to deselect the check box.
Max
2007 Jul 30 4:15 PM
How would I export a flag to the memory in Start-Of-Selection as when I just put executionflag = 'X' it loses its value once it leave Start-Of-Selection so I import it elsewhere?
Regards
Carly
2007 Jul 30 4:54 PM
I have searched on the forums and have now got this code:
START-OF-SELECTION.
execflag = 'X'.
EXPORT execflag TO MEMORY ID 'INF'.
AT SELECTION-SCREEN.
IMPORT execflag FROM MEMORY ID 'INF'.
FREE MEMORY ID 'INF'.but the FREE MEMORY part does not seem to be emptying the memory.
Any ideas?
Kind Regards
Carly