Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Fetching data from 3 tables

Former Member
0 Kudos
736

Hi All,

I trying to fetch values from 3 tables and pass the values into an internal table.

Code

SELECT KNA1KTOKD KNA1KUNNR KNB1BUKRS KNVVVKORG KNVVVTWEG KNVVSPART KNVV~LOEVM

INTO

(ITAB-KTOKD,ITAB-KUNNR,ITAB-BUKRS, ITAB-VKORG,ITAB-VTWEG,ITAB-SPART, ITAB-LOEVM)

FROM ( ( KNA1

INNER JOIN KNB1

ON KNA1KUNNR = KNB1KUNNR)

KNA1

INNER JOIN KNVV

ON KNA1KUNNR = KNVVKUNNR ) .

I am getting an error message.

"The Format of the Field Specificatio "KNB1~KUNNR" is not supported.

What is the problem here?

Regards

Aby

1 ACCEPTED SOLUTION
Read only

former_member188829
Active Contributor
0 Kudos
350

Hi,

check this program..

DATA:BEGIN OF ITAB OCCURS 0,

KTOD LIKE KNA1-KTOKD,

KUNNR LIKE KNA1-KUNNR,

BUKRS LIKE KNB1-BUKRS,

VKORG LIKE KNVV-VKORG,

VTWEG LIKE KNVV-VTWEG,

SPART LIKE KNVV-SPART,

LOEVM LIKE KNVV-LOEVM,

END OF ITAB.

SELECT KNA1KTOKD KNA1KUNNR KNB1BUKRS KNVVVKORG KNVVVTWEG KNVVSPART

KNVV~LOEVM

INTO TABLE ITAB

FROM KNA1

INNER JOIN KNB1

ON KNA1KUNNR = KNB1KUNNR

INNER JOIN KNVV

ON KNA1KUNNR = KNVVKUNNR .

LOOP AT ITAB.

WRITE:/ ITAB-KTOD,ITAB-KUNNR,ITAB-BUKRS,ITAB-VKORG,ITAB-VTWEG,ITAB-SPART

,ITAB-LOEVM.

ENDLOOP.

4 REPLIES 4
Read only

former_member188829
Active Contributor
0 Kudos
351

Hi,

check this program..

DATA:BEGIN OF ITAB OCCURS 0,

KTOD LIKE KNA1-KTOKD,

KUNNR LIKE KNA1-KUNNR,

BUKRS LIKE KNB1-BUKRS,

VKORG LIKE KNVV-VKORG,

VTWEG LIKE KNVV-VTWEG,

SPART LIKE KNVV-SPART,

LOEVM LIKE KNVV-LOEVM,

END OF ITAB.

SELECT KNA1KTOKD KNA1KUNNR KNB1BUKRS KNVVVKORG KNVVVTWEG KNVVSPART

KNVV~LOEVM

INTO TABLE ITAB

FROM KNA1

INNER JOIN KNB1

ON KNA1KUNNR = KNB1KUNNR

INNER JOIN KNVV

ON KNA1KUNNR = KNVVKUNNR .

LOOP AT ITAB.

WRITE:/ ITAB-KTOD,ITAB-KUNNR,ITAB-BUKRS,ITAB-VKORG,ITAB-VTWEG,ITAB-SPART

,ITAB-LOEVM.

ENDLOOP.

Read only

Former Member
0 Kudos
350

Hi Aby,

Take a look at th ebold line. . You nee dto switch 'KNA1KUNNR' and ' KNB1KUNNR' .

I also used aliases just to be sure (optional here i think)

-


SELECT kktokd kkunnr bbukrs vvkorg vvtweg vspart v~loevm

INTO

(itab-ktokd,itab-kunnr, itab-bukrs, itab-vkorg,itab-vtweg,itab-spart, itab-loevm)

FROM ( ( kna1 AS k

INNER JOIN knb1 AS b ON bkunnr = kkunnr )

INNER JOIN knvv AS v ON vkunnr = kkunnr ) .

ENDSELECT.

-


Please also refer to this example from help.sap.com:

PARAMETERS: p_cityfr TYPE spfli-cityfrom,

p_cityto TYPE spfli-cityto.

DATA: BEGIN OF wa,

fldate TYPE sflight-fldate,

carrname TYPE scarr-carrname,

connid TYPE spfli-connid,

END OF wa.

DATA itab LIKE SORTED TABLE OF wa

WITH UNIQUE KEY fldate carrname connid.

SELECT ccarrname pconnid f~fldate

INTO CORRESPONDING FIELDS OF TABLE itab

FROM ( ( scarr AS c

INNER JOIN spfli AS p ON pcarrid = ccarrid

AND p~cityfrom = p_cityfr

AND p~cityto = p_cityto )

INNER JOIN sflight AS f ON fcarrid = pcarrid

AND fconnid = pconnid ).

LOOP AT itab INTO wa.

WRITE: / wa-fldate, wa-carrname, wa-connid.

ENDLOOP.

Regards, and reward if usefull please.

Joris

Read only

Former Member
0 Kudos
350

hi

good

instead of using the table name try to use the reference names for the respective table names and than try, apart from this check with your join statement again.

thanks

mrutyun^

Read only

Former Member
0 Kudos
350

Hi,

It should be:

FROM ( ( KNA1

INNER JOIN KNB1

ON KNA1KUNNR = KNB1KUNNR

INNER JOIN KNVV

ON KNA1KUNNR = KNVVKUNNR ) .

Regards,

John.