‎2008 Mar 07 4:27 AM
Hello Gurus
I have created a simple report with radio buttons for displaying according to the radio button
but after running this program I am getting an error
"when" is allowed only after "case" , I would be thankful if anyone correct my report please
I want to display different report on different radio button.
REPORT NIL
line-size 120
line-count 65
no standard page heading.
TABLES :S903, VBAK, VBAP.
CONSTANTS MARK VALUE 'X'.
*TOP OF PAGE
TOP-OF-PAGE.
WRITE:/50(40) ' INVOICE WITH NIL CHARGES ' CENTERED ,2 'Page', SY-PAGNO.
WRITE:/50(40) '----
' CENTERED .
FORMAT INTENSIFIED OFF.
WRITE:/2 SY-DATUM COLOR 3, SY-UZEIT .
ULINE.
"CENTERED.
skip.
"FORMAT COLOR COL_HEADING.
ULINE.
FORMAT COLOR 3.
WRITE:/1 SY-VLINE,
2 'INVOICE#',12 SY-VLINE,
13 'INVOICE DATE' ,25 SY-VLINE,
26 'DEL DOC' ,35 SY-VLINE,
37 'DEL DATE' ,48 SY-VLINE,
49 'CUST NO' , 58 SY-VLINE,
59 'SALES OFF' ,70 SY-VLINE,
71 'MATERIAL NO' ,83 SY-VLINE,
84 'USER',90 SY-VLINE,
91 'PLANT',99 SY-VLINE,
100 'SALES ORG',110 SY-VLINE,
111 'NET PRICE' LEFT-JUSTIFIED COLOR 4, 120 SY-VLINE.
ULINE.
FORMAT COLOR 3 OFF.
Column header
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
Left Scroll boundary
"SET LEFT SCROLL-BOUNDARY.
INITIALIZATION
INITIALIZATION.
"APPEND INV_NO.
SELECTION OPTONS
selection-screen: begin of block b1 with frame title text-001.
SELECT-OPTIONS : INV_NO FOR S903-VBELN,
U_DATE FOR S903-SPTAG, "OBLIGATORY,
S_DOC FOR S903-VGBEL,
s_plant for s903-werks,
s_vkorg for s903-vkorg,
s_vkbur for s903-vkbur,
s_user for s903-ernam.
.
selection-screen end of block b1.
selection-screen: begin of block b2 with frame title text-002.
SELECTION-SCREEN BEGIN OF BLOCK radio WITH FRAME.
PARAMETERS :NIL RADIOBUTTON GROUP rbg1 ,
CHANGES RADIOBUTTON GROUP rbg1 ,
ALL RADIOBUTTON GROUP rbg1.
SELECTION-SCREEN END OF BLOCK radio.
selection-screen end of block b2.
START-OF-SELECTION.
CHECKING THE OUTPUT PARAMETERS
CASE MARK.
WHEN NIL.
SELECT vbeln vgpos vgbel vkbur sptag PKUNAG_07 fkdat matnr ernam werks vkorg netwr
INTO (s903-vbeln, s903-vgpos, s903-vgbel, s903-vkbur, s903-sptag, s903-PKUNAG_07, s903-fkdat, s903-matnr, s903-ernam, s903-werks, s903-vkorg, s903-netwr)
FROM s903
WHERE VBELN IN INV_NO
AND SPTAG IN U_DATE
"AND FKDAT IN D_DATE
AND VGBEL IN S_DOC
AND WERKS IN S_PLANT
AND
VKORG IN S_VKORG AND
ernam in s_user AND
vkbur in s_vkbur AND
netwr = 0.
WHEN CHANGES.
SELECT vbeln vgpos vgbel vkbur sptag PKUNAG_07 fkdat matnr ernam werks vkorg netwr
INTO (s903-vbeln, s903-vgpos, s903-vgbel, s903-vkbur, s903-sptag, s903-PKUNAG_07, s903-fkdat, s903-matnr, s903-ernam, s903-werks, s903-vkorg, s903-netwr)
FROM s903
WHERE VBELN IN INV_NO
AND SPTAG IN U_DATE
"AND FKDAT IN D_DATE
AND VGBEL IN S_DOC
AND WERKS IN S_PLANT
AND
VKORG IN S_VKORG AND
ernam in s_user AND
vkbur in s_vkbur OR NETWR = 0.
WHEN ALL.
SELECT vbeln vgpos vgbel vkbur sptag PKUNAG_07 fkdat matnr ernam werks vkorg netwr
INTO (s903-vbeln, s903-vgpos, s903-vgbel, s903-vkbur, s903-sptag, s903-PKUNAG_07, s903-fkdat, s903-matnr, s903-ernam, s903-werks, s903-vkorg, s903-netwr)
FROM s903
WHERE VBELN IN INV_NO
AND SPTAG IN U_DATE
"AND FKDAT IN D_DATE
AND VGBEL IN S_DOC
AND WERKS IN S_PLANT
AND
VKORG IN S_VKORG AND
ernam in s_user AND
vkbur in s_vkbur.
ENDCASE.
END-OF-SELECTION
SORT S903 BY vbeln fkdat.
WRITE:/1 SY-VLINE,
S903-vbeln UNDER 'INVOICE NO' COLOR 3 HOTSPOT ON,12 SY-VLINE,
s903-sptag UNDER 'INVOICE DATE' , 25 SY-VLINE,
s903-vgbel UNDER 'DEL DOC' , 35 SY-VLINE,
s903-fkdat UNDER 'DEL DATE' ,48 SY-VLINE,
s903-PKUNAG_07 UNDER 'CUST NO' , 58 SY-VLINE,
s903-vkbur UNDER 'SALES OFF' ,70 SY-VLINE,
s903-matnr UNDER 'MATERIAL NO' , 83 SY-VLINE,
s903-ernam UNDER 'USER' , 90 SY-VLINE,
s903-werks UNDER 'PLANT' , 99 SY-VLINE,
s903-vkorg UNDER 'SALES ORG' ,110 SY-VLINE,
s903-netwr UNDER 'NET PRICE' LEFT-JUSTIFIED COLOR 6,120 SY-VLINE.
HIDE: S903-VBELN.
ENDSELECT.
ULINE.
regards
Piroz
‎2008 Mar 07 4:36 AM
I think it's because you have not declared what's nill, changes and all.
Usually it's like this
Case process.
when 'A'.
do something.
when 'B'.
do som. else.
endcase.
You should have poplualted the process field with value of either 'A' or 'B'.
reward if helpful.
thanks
krishna
Edited by: krishna reddygari on Mar 7, 2008 5:53 AM
‎2008 Mar 07 4:41 AM
you need to give like this
Case w_temp.
when 'X'.
Select * from spfli into table t_table.
endcase.
‎2008 Mar 07 5:00 AM
Hi
The report is running fine but when I am using radio button then the error are comming
did you try to run my report and test it
regards
Piroz
‎2008 Mar 07 7:07 AM