07-04-2007 8:01 AM
Hi,
I want to wrie a program using JOIN statement.
I am getting the error.
TYPES:
BEGIN OF TY_OUTPUT,
KUNNR TYPE KNA1-KUNNR,
LAND1 TYPE KNA1-LAND1,
VBELN TYPE VBAK-VBELN,
AUDAT TYPE VBAK-AUDAT,
AUART TYPE VBAK-AUART,
NETWR TYPE VBAK-NETWR,
END OF TY_OUTPUT.
DATA:
ST_OUTPUT TYPE TY_OUTPUT,
IT_OUTPUT TYPE TABLE OF TY_OUTPUT.
SELECT OPTIONS:
SKUNNR FOR ST_OUTPUT-KUNNR.
SELECT KNA1KUNNR KNA1LAND1 VBAKVBELN VBAKAUDAT VBAKAUART VBAKNETWR
FROM KNA1 AS KNA1
JOIN VBAK AS VBAK
WHERE KNA1~KUNNR IN SKUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_OUTPUT INTO ST_OUTPUT.
WRITE:/ ST_OUTPUT.KUNNR, ST_OUTPUT.LAND1,
ST_OUTPUT_NAME1, ST_OUTPUT.VBELN,ST_OUTPUT.AUDAT,AT_OUTPUT.AUART,ST_OUTPUT.NETWR.
ENDLOOP.
Statement concluding with "...ST_OUTPUT-KUNNR" ended unexpectedly.
this is the error iam getting.
07-04-2007 8:13 AM
hi ,
use
tables:kna1.
SELECT-OPTIONS: SKUNNR FOR kna1-KUNNR.
- between select option
regards,
sudha
07-04-2007 8:04 AM
Hi,
In select options declare as follows:
SELECT OPTIONS:
SKUNNR FOR <b>KNA1</b>-KUNNR.
hope this helps.
reward if helpful.
Regards,
Sipra
07-04-2007 8:04 AM
I've posted the corrected code in your earlier thread, plz look at that and close that thread.
<b>reward points if that helped.</b>
Kiran
07-04-2007 8:04 AM
Hi,
SELECT OPTIONS:
SKUNNR FOR ST_OUTPUT-KUNNR.
Instead of ST_OUTPUT..try this IT_OUTPUT.
IF i am not wrong....
Reward points,
Kishi.
07-04-2007 8:10 AM
hi,
in your join condition u didnt metion it
try like this
SELECT KNA1KUNNR KNA1LAND1 VBAKVBELN VBAKAUDAT VBAKAUART VBAKNETWR
FROM KNA1 AS KNA1
JOIN VBAK AS VBAK [ THIS IS NOT MENTIONED IN OUR CODE ]
ON KNA1KUNNR EQ VBAKKUNNR
WHERE KNA1-KUNNR IN SKUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_OUTPUT INTO ST_OUTPUT.
WRITE:/ ST_OUTPUT.KUNNR, ST_OUTPUT.LAND1,
ST_OUTPUT_NAME1, ST_OUTPUT.VBELN,ST_OUTPUT.AUDAT,AT_OUTPUT.AUART,ST_OUTPUT.NETWR.
ENDLOOP.
IF HELPFUL REWARD SOME POINTS.
with regards,
Suresh.A
07-04-2007 8:15 AM
Hi,
The error is at select options
Statement concluding with "...ST_OUTPUT-KUNNR" ended unexpectedly.
07-04-2007 8:19 AM
Hi ram,
there are two solutions,
1) define TABLES KNA1. at the beginning of the program and then use,
SELECT-OPTIONS: SKUNNR FOR KNA1-KUNNR.
2) Define a variable,
DATA V_KUNNR TYPE KUNNR.
and then use that in select option as below.
SELECT-OPTIONS: SKUNNR FOR V_KUNNR.
This should solve ur problem
<b>Reward points for the solution.</b>
Kiran
07-04-2007 8:29 AM
hI,
Field list without INTO clause is not allowed . allowed. . allowed. .
SELECT KNA1KUNNR KNA1LAND1 VBAKVBELN VBAKAUDAT VBAKAUART VBAKNETWR.. Here iam getting the error now that
Field list without INTO clause is not allowed . allowed. . allowed. .
07-04-2007 8:10 AM
Please post the correct code.Where u r getting the error ...In which line item of this code u r getting the error.
Coz u didnt use ON for the Join statement
ON KNA1KUNNR = VBAKKUNNR
where KNA1~KUNNR in s_kunnr
and also in the write statement u have to use ST_output-KUNNR not ST_OUTPUT.KUNNR
<b>Select-options: s_kunnr for <b>KNA1-KUNNR</b></b>
Message was edited by:
Sumi Vasu
07-04-2007 8:13 AM
hi ,
use
tables:kna1.
SELECT-OPTIONS: SKUNNR FOR kna1-KUNNR.
- between select option
regards,
sudha
07-04-2007 8:17 AM
Hi,
Try this code.
TYPES:
BEGIN OF TY_OUTPUT,
KUNNR TYPE KNA1-KUNNR,
LAND1 TYPE KNA1-LAND1,
VBELN TYPE VBAK-VBELN,
AUDAT TYPE VBAK-AUDAT,
AUART TYPE VBAK-AUART,
NETWR TYPE VBAK-NETWR,
END OF TY_OUTPUT.
DATA: ST_OUTPUT TYPE TY_OUTPUT occurs 0 with header line,
IT_OUTPUT TYPE TABLE OF TY_OUTPUT.
SELECT-OPTIONS : SKUNNR FOR ST_OUTPUT-KUNNR.
SELECT kna1KUNNR kna1LAND1 vbakVBELN vbakAUDAT vbakAUART vbakNETWR
into table st_output
FROM KNA1 AS kna1
inner JOIN VBAK AS vbak on kna1kunnr = vbakkunnr
WHERE kna1~KUNNR IN SKUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_OUTPUT INTO ST_OUTPUT.
WRITE:/ ST_OUTPUT-KUNNR, ST_OUTPUT-LAND1,
ST_OUTPUT-VBELN,ST_OUTPUT-AUDAT,sT_OUTPUT-AUART,ST_OUTPUT-NETWR.
ENDLOOP.
endif.
Regards,
Ramana
07-04-2007 8:24 AM
hi rams,
in write statement,
WRITE:/ ST_OUTPUT.KUNNR, ST_OUTPUT.LAND1
ST_OUTPUT_NAME1, ST_OUTPUT.VBELN,ST_OUTPUT.AUDAT,AT_OUTPUT.AUART,ST_OUTPUT.NETWR.
write this as
WRITE:/ ST_OUTPUT-KUNNR, ST_OUTPUT-LAND1,
ST_OUTPUT-NAME1, ST_OUTPUT-VBELN,ST_OUTPUT-AUDAT,ST_OUTPUT-AUART,ST_OUTPUT-NETWR.
define NAME1 in ur structure definition ...
this will work...
please reward in case usefull...
regards,
prashant