‎2009 Mar 06 4:46 AM
Hi,
I have creatd a simple program to display customer wise sales details.but I am getting a error "wrong expression INNER in FROM clause: .the following program is:
TABLES: kna1,vbak.
SELECT-OPTIONS: customer FOR kna1-kunnr.
TYPE-POOLS:ztg1.
DATA: wa TYPE ztg1_wa,
itab TYPE ztg1_itab.
SELECT kna1kunnr vbakvbeln vbakerdat vbaknetwr INTO wa FROM kna1 innner JOIN vbak ON kna1kunnr = vbakkunnr WHERE kna1~kunnr IN customer.
APPEND wa TO itab.
ENDSELECT.
LOOP AT itab INTO wa.
AT FIRST.
WRITE:/ 'CUSTOMER SALES DETAILS'.
ENDAT.
AT NEW kunnr.
WRITE:/ 'CUSTOMER NUMBER',wa-kunnr.
ENDAT.
WRITE:/ wa-vbeln,wa-erdat,wa-netwr.
AT END OF KUNNR.
SUM.
WRITE:/ 'TOTAL AMOUNT:',WA-NETWR.
ENDAT.
AT LAST.
SUM.
WRITE:/'GRAND TOTAL:',WA-NETWR.
ENDAT.
ENDLOOP.
‎2009 Mar 06 4:52 AM
Hi,
Check your code you have written INNNER instead of INNER
Dont use SELECT...ENDSELECT
You can also use code like:-
TABLES: kna1,vbak.
SELECT-OPTIONS: customer FOR kna1-kunnr.
TYPES : BEGIN OF t_cust,
kunnr TYPE kunnr,
vbeln TYPE vbeln,
erdat TYPE erdat,
netwr TYPE netwr,
END OF t_cust.
DATA : itab TYPE STANDARD TABLE OF t_cust,
wa TYPE t_cust.
SELECT kna1~kunnr vbak~vbeln vbak~erdat vbak~netwr
INTO TABLE itab
FROM kna1
INNER JOIN vbak ON kna1~kunnr = vbak~kunnr
WHERE kna1~kunnr IN customer.
LOOP AT itab INTO wa.
AT FIRST.
WRITE:/ 'CUSTOMER SALES DETAILS'.
ENDAT.
AT NEW kunnr.
WRITE:/ 'CUSTOMER NUMBER',wa-kunnr.
ENDAT.
WRITE:/ wa-vbeln,wa-erdat,wa-netwr.
AT END OF kunnr.
SUM.
WRITE:/ 'TOTAL AMOUNT:',wa-netwr.
ENDAT.
AT LAST.
SUM.
WRITE:/'GRAND TOTAL:',wa-netwr.
ENDAT.
ENDLOOP.
Regards,
Tarun
Edited by: Tarun Gambhir on Mar 6, 2009 10:22 AM
‎2009 Mar 06 4:49 AM
why u r using selece and end select, remove that and use select into table instead of wa.
‎2009 Mar 06 4:53 AM
I used that also but got the same error...that time I used
SELECT kna1kunnr vbakvbeln vbakerdat vbaknetwr INTO table ITAB FROM kna1 innner JOIN vbak ON kna1kunnr = vbakkunnr WHERE kna1~kunnr IN customer
and didn't use append wa to itab & endselect...but got the same error.
‎2009 Mar 06 4:51 AM
check the spelling of INNER.....
you have put INNNER....
correct it
‎2009 Mar 06 4:51 AM
‎2009 Mar 06 4:52 AM
SELECT kna1kunnr vbakvbeln vbakerdat vbaknetwr INTO wa FROM kna1 inner JOIN vbak ON kna1kunnr = vbakkunnr WHERE kna1~kunnr IN customer.
Try this...
‎2009 Mar 06 4:52 AM
Hi,
Check your code you have written INNNER instead of INNER
Dont use SELECT...ENDSELECT
You can also use code like:-
TABLES: kna1,vbak.
SELECT-OPTIONS: customer FOR kna1-kunnr.
TYPES : BEGIN OF t_cust,
kunnr TYPE kunnr,
vbeln TYPE vbeln,
erdat TYPE erdat,
netwr TYPE netwr,
END OF t_cust.
DATA : itab TYPE STANDARD TABLE OF t_cust,
wa TYPE t_cust.
SELECT kna1~kunnr vbak~vbeln vbak~erdat vbak~netwr
INTO TABLE itab
FROM kna1
INNER JOIN vbak ON kna1~kunnr = vbak~kunnr
WHERE kna1~kunnr IN customer.
LOOP AT itab INTO wa.
AT FIRST.
WRITE:/ 'CUSTOMER SALES DETAILS'.
ENDAT.
AT NEW kunnr.
WRITE:/ 'CUSTOMER NUMBER',wa-kunnr.
ENDAT.
WRITE:/ wa-vbeln,wa-erdat,wa-netwr.
AT END OF kunnr.
SUM.
WRITE:/ 'TOTAL AMOUNT:',wa-netwr.
ENDAT.
AT LAST.
SUM.
WRITE:/'GRAND TOTAL:',wa-netwr.
ENDAT.
ENDLOOP.
Regards,
Tarun
Edited by: Tarun Gambhir on Mar 6, 2009 10:22 AM
‎2009 Mar 06 4:52 AM
HI,
Check this
SELECT kna1~kunnr
vbak~vbeln
vbak~erdat
vbak~netwr
INTO TABLE ITAB
FROM kna1 INNER JOIN vbak
ON kna1~kunnr = vbak~kunnr
WHERE kna1~kunnr IN customer.
‎2009 Mar 06 4:53 AM
Hi,
you shud write like this:
SELECT Akunnr Bvbeln Berdat Bnetwr
INTO wa
FROM kna1 AS A innner JOIN vbak AS B
ON Akunnr = Bkunnr
WHERE A~kunnr IN customer.
APPEND wa TO itab.
ENDSELECT.
Regards,
Neha