Hi All,
I wrote the Sy-ucomm case stmt like this, it is giving me the following errror on
at user-command.
case sy-ucomm.
when 'SELALL'.
LOOP AT IT_OUTPUT.
IT_OUTPUT-CHECK = 'X'.
MODIFY IT_OUTPUT WHERE CHECK = ' '
TRANSPORTING CHECK.
clear sy-ucomm.
ENDLOOP.
when 'DESALL'.
LOOP AT IT_OUTPUT.
IT_OUTPUT-CHECK = ' '.
MODIFY IT_OUTPUT WHERE CHECK = 'X'
TRANSPORTING CHECK.
clear sy-ucomm.
ENDLOOP.
endcase.
error --> "WHERE CHECK = ' '" is not expected.
when 'SELALL'.
LOOP AT IT_OUTPUT.
IT_OUTPUT-CHECK = 'X'.
---> MODIFY IT_OUTPUT WHERE CHECK = ' '
TRANSPORTING CHECK.
Can you please help me resolve this.
Thanks
Veni.
You don't need to do all that, just do like this.
case sy-ucomm. when 'SELALL'. LOOP AT IT_OUTPUT. <b>IT_OUTPUT-CHECK = 'X'. MODIFY IT_OUTPUT.</b> * clear sy-ucomm. ENDLOOP. when 'DESALL'. LOOP AT IT_OUTPUT. <b>IT_OUTPUT-CHECK = space. MODIFY IT_OUTPUT .</b> * clear sy-ucomm. ENDLOOP. endcase.
Regards,
Rich Heilman
Hi,
Try this..The changes are marked in bold..
REPORT ZSDR_DELIBLOCK
no standard page heading line-size 255.
----
TABLES:
----
TABLES: LIKP, TVLS.
----
INTERNAL TABLES *
----
DATA: Begin of IT_LIKP occurs 0,
VBELN like LIKP-VBELN,
LFDAT like LIKP-LFDAT,
KUNNR like LIKP-KUNNR,
KNKLI LIKE LIKP-KNKLI,
NETWR like LIKP-NETWR,
End of IT_LIKP.
DATA: Begin of IT_OUTPUT occurs 0,
CHECK TYPE C,
VBELN like LIKP-VBELN,
LFDAT like LIKP-LFDAT,
KUNNR like LIKP-KUNNR,
KNKLI LIKE LIKP-KNKLI,
NETWR like LIKP-NETWR,
End of IT_OUTPUT.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: S_LFDAT FOR LIKP-LFDAT,
S_KUNNR FOR LIKP-KUNNR.
PARAMETERS: P_LIFSK TYPE LIKP-LIFSK DEFAULT '01'.
SELECTION-SCREEN END OF BLOCK b1.
at selection-screen output.
loop at screen.
if screen-name = 'P_LIFSK'.
screen-input = 0.
modify screen.
endif.
endloop.
start-of-selection.
PERFORM GET_DATA.
PERFORM PROCESS_DATA.
PERFORM DISPLAY_DATA.
<b>data: v_index type int4.</b>
at user-command.
case sy-ucomm.
when 'SELALL'.
LOOP AT IT_OUTPUT.
IT_OUTPUT-CHECK = 'X'.
MODIFY IT_OUTPUT
TRANSPORTING CHECK
WHERE CHECK = ' '.
<b> v_index = sy-tabix + 6.
MODIFY LINE v_index
FIELD VALUE IT_OUTPUT-CHECK FROM 'X'.</b>
ENDLOOP.
when 'DESALL'.
LOOP AT IT_OUTPUT.
IT_OUTPUT-CHECK = ' '.
MODIFY IT_OUTPUT.
<b> v_index = sy-tabix + 6.
MODIFY LINE v_index
FIELD VALUE IT_OUTPUT-CHECK FROM ' '.</b>
ENDLOOP.
when 'BLOCKREMOV'.
LOOP AT IT_OUTPUT.
IF ( IT_OUTPUT-CHECK = 'X' AND sy-ucomm = 'BLOCKREMOV' ).
*
ENDIF.
ENDLOOP.
clear sy-ucomm.
endcase.
FORM get_data.
SELECT VBELN LFDAT KUNNR KNKLI NETWR
FROM LIKP
INTO TABLE IT_LIKP
WHERE LFDAT IN S_LFDAT
AND KUNNR IN S_KUNNR
AND LIFSK = P_LIFSK.
ENDFORM. " get_data
FORM process_data.
loop at it_LIKP.
if sy-subrc = 0.
move-corresponding it_LIKP to it_output.
append it_output.
clear it_output.
endif.
endloop.
ENDFORM. " process_data
FORM DISPLAY_DATA.
format color col_heading intensified on.
write: /2 'Report ID :',
14 sy-repid,
72 text-ttl,
133 'Page:', ' ',
sy-pagno left-justified.
write: /2 text-h12,
14 sy-tcode,
133 'Date:', sy-datum, ''.
write: /133 'Time:', sy-uzeit, ' ',
73 'As Of:',
80 sy-datum.
new-line.
uline.
format color col_heading intensified off.
format color col_group intensified on.
set pf-status 'ZSTAT01'.
write:/1 'chk',
5 'Delivery',
18 'Delivery date',
36 'Ship-to party',
53 'Cred. acct',
74 'Net value'.
uline.
format color col_group intensified off.
loop at it_output.
write:/1 it_output-CHECK as checkbox,
5 it_output-VBELN,
20 it_output-LFDAT,
39 it_output-KUNNR,
55 it_output-KNKLI,
68 it_output-NETWR.
<b> hide it_output-check.</b>
endloop.
uline.
ENDFORM. " DISPLAY_DATA
Thanks,
Naren
Add a comment