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

Inner join 3 tables

Former Member
0 Likes
643

Hi,

I want to join 3 tables vbak, vbap, makt.

This is the way i wrote the program, but i didnt know how to inner join for the 3 rd table.

Plz correct this,

TYPES:

BEGIN OF TY_OUTPUT,

KUNNR TYPE VBAK-KUNNR,

VBELN TYPE VBAK-VBELN,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

MATNR TYPE VBAP-MATNR,

ZMENG TYPE VBAP-ZMENG,

NETPR TYPE VBAP-NETPR,

NETWR TYPE VBAP-NETWR,

MAKTX TYPE MAKT-MAKTX,

END OF TY_OUTPUT.

DATA:

ST_OUTPUT TYPE TY_OUTPUT,

IT_OUTPUT TYPE TY_OUTPUT.

SELECT-OPTIONS SKUNNR FOR ST_OUTPUT-KUNNR.

SELECT-OPTIONS SAUDAT FOR ST_OUTPUT-AUDAT.

SELECT-OPTIONS SVBTYP FOR ST_OUTPUT-VBTYP.

SELECT VBAKKUNNR VBAKVBELN VBAKAUDAT VBTYP VBAKVBTYP VBAPMATNR VBAPZMENG VBAPNETPR VBAPNETWR MAKT~MAKTX INTO TABLE IT_OUTPUT FROM VBAK INNER JOIN VBAP ON

VBAKVBELN EQ VBAPVBELN WHERE VBAKKUNNR IN SKUNNR VBAKAUDAT IN SAUDAT VBAK~VBTYP IN SVBTYP.

Thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
611

Hi try like this

TYPES:
BEGIN OF TY_OUTPUT,
KUNNR TYPE VBAK-KUNNR,
VBELN TYPE VBAK-VBELN,
AUDAT TYPE VBAK-AUDAT,
VBTYP TYPE VBAK-VBTYP,
MATNR TYPE VBAP-MATNR,
ZMENG TYPE VBAP-ZMENG,
NETPR TYPE VBAP-NETPR,
NETWR TYPE VBAP-NETWR,
MAKTX TYPE MAKT-MAKTX,
END OF TY_OUTPUT.

DATA:
ST_OUTPUT TYPE TY_OUTPUT,
IT_OUTPUT TYPE TY_OUTPUT.

SELECT-OPTIONS: SKUNNR FOR ST_OUTPUT-KUNNR.
SELECT-OPTIONS: SAUDAT FOR ST_OUTPUT-AUDAT.
SELECT-OPTIONS:  SVBTYP FOR ST_OUTPUT-VBTYP.

SELECT VBAK~KUNNR VBAK~VBELN VBAK~AUDAT  VBAK~VBTYP VBAP~MATNR VBAP~ZMENG VBAP~NETPR VBAP~NETWR MAKT~MAKTX INTO TABLE IT_OUTPUT
FROM VBAK 
INNER JOIN VBAP ON VBAK~VBELN = VBAP~VBELN 
WHERE VBAK~KUNNR = SKUNNR
             VBAK~AUDAT = SAUDAT 
              VBAK~VBTYP = SVBTYP.

<u><b>

Check this sample</b></u>

Select single Vbrk~Bukrs Vbrk~Kunrg    Vbrk~Vbeln  
                   Vbrk~Fkdat Vbrk~Bstnk_Vf Vbrk~Zterm  
                   Tvzbt~Vtext  
                   Vbak~Vbeln Vbak~Bstdk  
                   Likp~Vbeln Likp~lfdat    Likp~Lfuhr  
       into w_vbrk  
       from vbrk  
      inner join       Tvzbt on Tvzbt~Zterm        = Vbrk~Zterm      and  
                                Tvzbt~Spras        = sy-langu  
      Inner join       Vbfa  as SalesLnk  
                             on SalesLnk~vbeln     = pu_vbeln        and  
                                SalesLnk~vbtyp_v   = c_order  
            inner join Vbak  on Vbak~Vbeln           = SalesLnk~Vbelv 
      Inner join       Vbfa  as DeliveryLnk  
                             on DeliveryLnk~vbeln   = pu_vbeln       and  
                                DeliveryLnk~vbtyp_v = c_Delivery  
            inner join Likp  on Likp~Vbeln          = DeliveryLnk~Vbelv  
      where vbrk~vbeln = pu_Vbeln.  

Reward all helpfull answers

Regards

Pavan

Hi,

I want to join 3 tables vbak, vbap, makt.

This is the way i wrote the program, but i didnt know how to inner join for the 3 rd table.

Plz correct this,

TYPES:

BEGIN OF TY_OUTPUT,

KUNNR TYPE VBAK-KUNNR,

VBELN TYPE VBAK-VBELN,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

MATNR TYPE VBAP-MATNR,

ZMENG TYPE VBAP-ZMENG,

NETPR TYPE VBAP-NETPR,

NETWR TYPE VBAP-NETWR,

MAKTX TYPE MAKT-MAKTX,

END OF TY_OUTPUT.

DATA:

ST_OUTPUT TYPE TY_OUTPUT,

IT_OUTPUT TYPE TY_OUTPUT.

SELECT-OPTIONS SKUNNR FOR ST_OUTPUT-KUNNR.

SELECT-OPTIONS SAUDAT FOR ST_OUTPUT-AUDAT.

SELECT-OPTIONS SVBTYP FOR ST_OUTPUT-VBTYP.

SELECT VBAKKUNNR VBAKVBELN VBAKAUDAT VBTYP VBAKVBTYP VBAPMATNR VBAPZMENG VBAPNETPR VBAPNETWR MAKT~MAKTX INTO TABLE IT_OUTPUT FROM VBAK INNER JOIN VBAP ON

VBAKVBELN EQ VBAPVBELN WHERE VBAKKUNNR IN SKUNNR VBAKAUDAT IN SAUDAT VBAK~VBTYP IN SVBTYP.

Thanks

3 REPLIES 3
Read only

Former Member
0 Likes
611

Hi,

The below code would help you.

TYPES:

BEGIN OF TY_OUTPUT,

KUNNR TYPE VBAK-KUNNR,

VBELN TYPE VBAK-VBELN,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

MATNR TYPE VBAP-MATNR,

ZMENG TYPE VBAP-ZMENG,

NETPR TYPE VBAP-NETPR,

NETWR TYPE VBAP-NETWR,

MAKTX TYPE MAKT-MAKTX,

END OF TY_OUTPUT.

DATA:

ST_OUTPUT TYPE TY_OUTPUT,

IT_OUTPUT TYPE TY_OUTPUT.

SELECT-OPTIONS SKUNNR FOR ST_OUTPUT-KUNNR.

SELECT-OPTIONS SAUDAT FOR ST_OUTPUT-AUDAT.

SELECT-OPTIONS SVBTYP FOR ST_OUTPUT-VBTYP.

SELECT VBAK~KUNNR

VBAK~VBELN

VBAK~AUDAT

VBAK~VBTYP

VBAP~MATNR

VBAP~ZMENG

VBAP~NETPR

VBAP~NETWR

MAKT~MAKTX

INTO TABLE IT_OUTPUT

FROM VBAK

INNER JOIN VBAP ON VBAKVBELN EQ VBAPVBELN

INNER JOIN MAKT ON VBAPMATNR EQ MAKTMATNR

WHERE VBAK~KUNNR IN SKUNNR

VBAK~AUDAT IN SAUDAT

VBAK~VBTYP IN SVBTYP

MAKT~SPRAS EQ SY-LANGU.

<b>Reward points if this helps,</b>

Kiran

Read only

Former Member
0 Likes
611

Hi,

TYPES:

BEGIN OF TY_OUTPUT,

KUNNR TYPE VBAK-KUNNR,

VBELN TYPE VBAK-VBELN,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

MATNR TYPE VBAP-MATNR,

ZMENG TYPE VBAP-ZMENG,

NETPR TYPE VBAP-NETPR,

NETWR TYPE VBAP-NETWR,

MAKTX TYPE MAKT-MAKTX,

END OF TY_OUTPUT.

DATA:

ST_OUTPUT TYPE TY_OUTPUT,

IT_OUTPUT TYPE TY_OUTPUT.

SELECT-OPTIONS SKUNNR FOR ST_OUTPUT-KUNNR.

SELECT-OPTIONS SAUDAT FOR ST_OUTPUT-AUDAT.

SELECT-OPTIONS SVBTYP FOR ST_OUTPUT-VBTYP.

<b>SELECT VBAKKUNNR VBAKVBELN VBAKAUDAT VBTYP VBAKVBTYP VBAPMATNR VBAPZMENG VBAPNETPR VBAPNETWR MAKT~MAKTX INTO TABLE IT_OUTPUT FROM VBAK INNER JOIN VBAP ON

VBAKVBELN EQ VBAPVBELN INNER JOIN MAKT ON VBAPMATNR EQ MAKTMATNR WHERE VBAKKUNNR IN SKUNNR VBAKAUDAT IN SAUDAT VBAK~VBTYP IN SVBTYP</b>

Regards,

Himanshu

Read only

Former Member
0 Likes
612

Hi try like this

TYPES:
BEGIN OF TY_OUTPUT,
KUNNR TYPE VBAK-KUNNR,
VBELN TYPE VBAK-VBELN,
AUDAT TYPE VBAK-AUDAT,
VBTYP TYPE VBAK-VBTYP,
MATNR TYPE VBAP-MATNR,
ZMENG TYPE VBAP-ZMENG,
NETPR TYPE VBAP-NETPR,
NETWR TYPE VBAP-NETWR,
MAKTX TYPE MAKT-MAKTX,
END OF TY_OUTPUT.

DATA:
ST_OUTPUT TYPE TY_OUTPUT,
IT_OUTPUT TYPE TY_OUTPUT.

SELECT-OPTIONS: SKUNNR FOR ST_OUTPUT-KUNNR.
SELECT-OPTIONS: SAUDAT FOR ST_OUTPUT-AUDAT.
SELECT-OPTIONS:  SVBTYP FOR ST_OUTPUT-VBTYP.

SELECT VBAK~KUNNR VBAK~VBELN VBAK~AUDAT  VBAK~VBTYP VBAP~MATNR VBAP~ZMENG VBAP~NETPR VBAP~NETWR MAKT~MAKTX INTO TABLE IT_OUTPUT
FROM VBAK 
INNER JOIN VBAP ON VBAK~VBELN = VBAP~VBELN 
WHERE VBAK~KUNNR = SKUNNR
             VBAK~AUDAT = SAUDAT 
              VBAK~VBTYP = SVBTYP.

<u><b>

Check this sample</b></u>

Select single Vbrk~Bukrs Vbrk~Kunrg    Vbrk~Vbeln  
                   Vbrk~Fkdat Vbrk~Bstnk_Vf Vbrk~Zterm  
                   Tvzbt~Vtext  
                   Vbak~Vbeln Vbak~Bstdk  
                   Likp~Vbeln Likp~lfdat    Likp~Lfuhr  
       into w_vbrk  
       from vbrk  
      inner join       Tvzbt on Tvzbt~Zterm        = Vbrk~Zterm      and  
                                Tvzbt~Spras        = sy-langu  
      Inner join       Vbfa  as SalesLnk  
                             on SalesLnk~vbeln     = pu_vbeln        and  
                                SalesLnk~vbtyp_v   = c_order  
            inner join Vbak  on Vbak~Vbeln           = SalesLnk~Vbelv 
      Inner join       Vbfa  as DeliveryLnk  
                             on DeliveryLnk~vbeln   = pu_vbeln       and  
                                DeliveryLnk~vbtyp_v = c_Delivery  
            inner join Likp  on Likp~Vbeln          = DeliveryLnk~Vbelv  
      where vbrk~vbeln = pu_Vbeln.  

Reward all helpfull answers

Regards

Pavan