‎2007 Jul 16 6:59 AM
Hi,
I am writing the program to innerjoin KUNNR and VBAK.
iam getting the error that Select options ended unexpectedly. Plz correct me.
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 KNA1NAME1 VBAKVBELN VBAKAUDAT VBAKAUART VBAK~NETWR INTO TABLE IT_OUTPUT.
FROM KNA1 INNERJOIN VBAK ON KNA1KUNNR EQ VBAKKUNNR WHERE KNA1~KUNNR IN SKUNNR.
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.
This is my program.
Also plz tell me what is SKUNNR and why we r using that.
‎2007 Jul 16 7:04 AM
also change the select statement as follows:
<b>
SELECT KNA1KUNNR KNA1LAND1 KNA1NAME1 VBAKVBELN VBAKAUDAT VBAKAUART VBAK~NETWR INTO TABLE IT_OUTPUT
FROM KNA1 INNERJOIN VBAK ON KNA1KUNNR EQ VBAKKUNNR WHERE KNA1~KUNNR IN SKUNNR.
</b>
Message was edited by:
Navneeth Bothra
‎2007 Jul 16 7:01 AM
hi,
change the code as:
<b>SELECT-OPTIONS SKUNNR FOR ST_OUTPUT-KUNNR.</b>
remove the comma after select option and put a period.
‎2007 Jul 16 7:04 AM
Hi,
Now it is showing error here .
SELECT KNA1KUNNR KNA1LAND1 KNA1NAME1 VBAKVBELN VBAKAUDAT VBAKAUART VBAK~NETWR INTO TABLE IT_OUTPUT.
Error "FROM ...", "CONNECTION ...", "BYPASSING BUFFER", "PACKAGE SIZE ...", or "UP TO ... ROWS" expected after "IT_OUTPUT".
‎2007 Jul 16 7:07 AM
Hi,
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.
<b>SELECT-OPTIONS SKUNNR FOR ST_OUTPUT-KUNNR.</b>
<b>SELECT KNA1KUNNR KNA1LAND1 KNA1NAME1 VBAKVBELN VBAKAUDAT VBAKAUART VBAK~NETWR INTO <b>CORRESPONDING FIELDS OF</b> TABLE IT_OUTPUT
FROM KNA1 INNERJOIN VBAK ON KNA1KUNNR EQ VBAKKUNNR WHERE KNA1~KUNNR IN SKUNNR.</b>
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.
Regards,
Sesh
‎2007 Jul 16 7:10 AM
hi..
now u use the syntax <b>INTO CORRESPONDING FIELDS OF</b>
SELECT KNA1KUNNR KNA1LAND1 KNA1NAME1 VBAKVBELN VBAKAUDAT VBAKAUART VBAK~NETWR <b>INTO CORRESPONDING FIELDS OF TABLE</b> IT_OUTPUT
FROM KNA1 INNERJOIN VBAK ON KNA1KUNNR EQ VBAKKUNNR WHERE KNA1~KUNNR IN SKUNNR.
<b>Reward points if useful</b>
Regards
Ashu
‎2007 Jul 16 7:13 AM
Try This:
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 KNA1NAME1 VBAKVBELN VBAKAUDAT VBAKAUART VBAK~NETWR INTO corresponding fields of TABLE IT_OUTPUT
FROM ( KNA1 INNER JOIN VBAK ON KNA1KUNNR = VBAKKUNNR )
WHERE KNA1~KUNNR IN SKUNNR.
*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.
‎2007 Jul 16 7:02 AM
hi..
<b>1)</b>keep <b>full stop</b> at the end of select options..
SELECT OPTIONS SKUNNR FOR ST_OUTPUT-KUNNR<b>.</b>
<b>2)[</b>b]KUNNR</b> - its the field in VBAK table for <b>Sold-to-party</b>
u r using KUNNR field here in ur code to retrive the sold-to-party..
<b>Reward points if useful</b>
Regards
Ashu
‎2007 Jul 16 7:03 AM
Hi Rams
select option should end with <b>.</b> but not <b>,</b>
Try like this
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. <-- here u made mistake
SELECT KNA1~KUNNR KNA1~LAND1 KNA1~NAME1 VBAK~VBELN VBAK~AUDAT VBAK~AUART VBAK~NETWR INTO TABLE IT_OUTPUT.
FROM KNA1 INNERJOIN VBAK ON KNA1~KUNNR EQ VBAK~KUNNR WHERE KNA1~KUNNR IN SKUNNR.
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.
Reward all helpfull answers
Regards
Pavan
‎2007 Jul 16 7:04 AM
also change the select statement as follows:
<b>
SELECT KNA1KUNNR KNA1LAND1 KNA1NAME1 VBAKVBELN VBAKAUDAT VBAKAUART VBAK~NETWR INTO TABLE IT_OUTPUT
FROM KNA1 INNERJOIN VBAK ON KNA1KUNNR EQ VBAKKUNNR WHERE KNA1~KUNNR IN SKUNNR.
</b>
Message was edited by:
Navneeth Bothra
‎2007 Jul 16 7:11 AM
hI,
STILL THIS IS INCORRECT.
SELECT KNA1KUNNR KNA1LAND1 KNA1NAME1 VBAKVBELN VBAKAUDAT VBAKAUART VBAK~NETWR INTO TABLE IT_OUTPUT FROM KNA1
INNERJOIN VBAK ON KNA1KUNNR EQ VBAKKUNNR WHERE KNA1~KUNNR IN SKUNNR.
Error is
Wrong expression "INNERJOIN" in FROM clause . . .
‎2007 Jul 16 7:04 AM
‎2007 Jul 16 7:11 AM
Hi Ram,
Pls correct ur code as below:
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 KNA1~KUNNR KNA1~LAND1 KNA1~NAME1 VBAK~VBELN VBAK~AUDAT VBAK~AUART VBAK~NETWR INTO TABLE IT_OUTPUT
FROM KNA1 INNER JOIN VBAK ON KNA1~KUNNR EQ VBAK~KUNNR 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.<b>pls reward pts fi found usefull :)</b>
Regards
Sathish