‎2008 May 27 7:25 AM
HI experts,
my loop ta screen in my report is not working.m sending u code,plz tell me y it is not working.
&----
*& Report ZPRICELIST_CD
*&
&----
*&
*&
&----
REPORT ZPRICELIST_CD.
TABLES: A601,ZTRFRATE,A613.
SELECTION-SCREEN BEGIN OF BLOCK RAMAN WITH FRAME TITLE TEXT-100.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER CHECK1 RADIOBUTTON GROUP P1 DEFAULT 'X' USER-COMMAND ABC.
SELECTION-SCREEN COMMENT 5(15) TEXT-OO1.
PARAMETER CHECK2 RADIOBUTTON GROUP P1.
SELECTION-SCREEN COMMENT 25(20) TEXT-OO2.
PARAMETER CHECK3 RADIOBUTTON GROUP P1.
SELECTION-SCREEN COMMENT 50(15) TEXT-OO3.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK RAMAN.
SELECTION-SCREEN BEGIN OF BLOCK RAMAN1 WITH FRAME TITLE TEXT-200.
SELECT-OPTIONS: SO FOR A601-VKORG MODIF ID SO,
DC FOR A601-VTWEG MODIF ID DC,
STATE FOR A601-PLTYP MODIF ID S1,
PTYP FOR A601-KONDA MODIF ID P1,
MATNR FOR A601-MATNR MODIF ID M1.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER MRP AS CHECKBOX MODIF ID MRP.
SELECTION-SCREEN COMMENT 5(10) TEXT-004 MODIF ID C1 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK RAMAN1.
LOOP AT SCREEN.
IF CHECK1 = 'X'.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'
OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
endif.
ELSEIF CHECK2 = 'X'.
IF SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'P1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
ELSEIF CHECK3 = 'X'.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
regards,
raman
‎2008 May 27 7:35 AM
Hi raman,
Use this. This will solve the purpose :
&----
*& Report ZPRICELIST_CD
*&
&----
*&
*&
&----
REPORT ZPRICELIST_CD.
TABLES: A601,ZTRFRATE,A613.
SELECTION-SCREEN BEGIN OF BLOCK RAMAN WITH FRAME TITLE TEXT-100.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER CHECK1 RADIOBUTTON GROUP P1 DEFAULT 'X' USER-COMMAND ABC.
SELECTION-SCREEN COMMENT 5(15) TEXT-OO1.
PARAMETER CHECK2 RADIOBUTTON GROUP P1.
SELECTION-SCREEN COMMENT 25(20) TEXT-OO2.
PARAMETER CHECK3 RADIOBUTTON GROUP P1.
SELECTION-SCREEN COMMENT 50(15) TEXT-OO3.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK RAMAN.
SELECTION-SCREEN BEGIN OF BLOCK RAMAN1 WITH FRAME TITLE TEXT-200.
SELECT-OPTIONS: SO FOR A601-VKORG MODIF ID SO,
DC FOR A601-VTWEG MODIF ID DC,
STATE FOR A601-PLTYP MODIF ID S1,
PTYP FOR A601-KONDA MODIF ID P1,
MATNR FOR A601-MATNR MODIF ID M1.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER MRP AS CHECKBOX MODIF ID MRP.
SELECTION-SCREEN COMMENT 5(10) TEXT-004 MODIF ID C1 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK RAMAN1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF CHECK1 = 'X'.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'
OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
endif.
ELSEIF CHECK2 = 'X'.
IF SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'P1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
ELSEIF CHECK3 = 'X'.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Reward with Points if helpful.
Regards
Hemant Khemani
‎2008 May 27 7:27 AM
Hi,
AT SELECTION-SCREEN.
LOOP AT SCREEN.
IF CHECK1 = 'X' AND SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'
OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
endif.
ELSE
IF CHECK2 = 'X' AND SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'P1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
ELSEIF CHECK3 = 'X' AND SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Regards,
Jagadish
‎2008 May 27 7:28 AM
You have to code 'LOOP AT SCREEN' in AT SELECTION-SCREEN OUTPUT event.
BY 'Loop at screen' you change the display of the selection screen dynamically. This should be done in AT SELECTION-SCREEN OUTPUT event for report program.
‎2008 May 27 7:33 AM
Hi,
change the selection-screen on block part like this
SELECTION-SCREEN END OF BLOCK RAMAN1.
IF CHECK1 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 =
'P1' OR SCREEN-GROUP1 = 'C1' OR SCREEN-GROUP1 = 'S1' OR
SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
endif.
MODIFY SCREEN.
ENDLOOP.
ELSEIF CHECK2 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 =
'S1' OR SCREEN-GROUP1 = 'P1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF CHECK3 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 =
'P1' OR SCREEN-GROUP1 = 'C1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR
SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
rgds,
bharat.
‎2008 May 27 7:35 AM
Hi raman,
Use this. This will solve the purpose :
&----
*& Report ZPRICELIST_CD
*&
&----
*&
*&
&----
REPORT ZPRICELIST_CD.
TABLES: A601,ZTRFRATE,A613.
SELECTION-SCREEN BEGIN OF BLOCK RAMAN WITH FRAME TITLE TEXT-100.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER CHECK1 RADIOBUTTON GROUP P1 DEFAULT 'X' USER-COMMAND ABC.
SELECTION-SCREEN COMMENT 5(15) TEXT-OO1.
PARAMETER CHECK2 RADIOBUTTON GROUP P1.
SELECTION-SCREEN COMMENT 25(20) TEXT-OO2.
PARAMETER CHECK3 RADIOBUTTON GROUP P1.
SELECTION-SCREEN COMMENT 50(15) TEXT-OO3.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK RAMAN.
SELECTION-SCREEN BEGIN OF BLOCK RAMAN1 WITH FRAME TITLE TEXT-200.
SELECT-OPTIONS: SO FOR A601-VKORG MODIF ID SO,
DC FOR A601-VTWEG MODIF ID DC,
STATE FOR A601-PLTYP MODIF ID S1,
PTYP FOR A601-KONDA MODIF ID P1,
MATNR FOR A601-MATNR MODIF ID M1.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER MRP AS CHECKBOX MODIF ID MRP.
SELECTION-SCREEN COMMENT 5(10) TEXT-004 MODIF ID C1 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK RAMAN1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF CHECK1 = 'X'.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'
OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
endif.
ELSEIF CHECK2 = 'X'.
IF SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'P1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
ELSEIF CHECK3 = 'X'.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Reward with Points if helpful.
Regards
Hemant Khemani
‎2008 May 27 7:46 AM
‎2008 May 27 7:35 AM
Add the event AT SELECTION-SCREEN OUTPUT before the LOOP AT SCREEN statement and check if it works
SELECTION-SCREEN END OF BLOCK RAMAN1.
*AT SELECTION-SCREEN OUTPUT.*
LOOP AT SCREEN.
IF CHECK1 = 'X'.
IF SCREEN-GROUP1 = 'DC' OR SCREEN-GROUP1 = 'MRP' OR SCREEN-GROUP1 = 'P1' OR SCREEN-GROUP1 = 'C1'
OR SCREEN-GROUP1 = 'S1' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = 1.