Run a database query in ABAP with a join on 3 tables

Oct 24th, 2009 | By Ole | Category: Featured, SAP ABAP, SAP Tables & Views

This code sample shows how to join three database tables in a select query. The result of the query are stored in an internal table. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
*&---------------------------------------------------------------------*
*& Report Z0OV_JOIN_THREE_TABLES
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Z0OV_JOIN_THREE_TABLES.

DATA:
l_ebeln TYPE ebeln, " Purchase Order Number
it_po_items TYPE STANDARD TABLE OF z0glp_po_items,
l_lines TYPE INT2.

* Set Purchase Order Number to use in database query.
l_ebeln = '3000000364'.

* Select relevant item data from EKPO, EKKO and EKET.
*
* EKPO = Purchasing Document Item.
* EKKO = Purchasing Document Header.
* EKET = Scheduling Agreement Schedule Lines.
*
SELECT *
INTO CORRESPONDING FIELDS OF TABLE it_po_items
FROM ( ( ekpo AS ekpo
INNER JOIN ekko AS ekko ON ekpo~ebeln = ekko~ebeln )
INNER JOIN eket AS eket ON ekpo~ebeln = eket~ebeln AND ekpo~ebelp = eket~ebelp )
WHERE ekpo~ebeln = l_ebeln AND ekpo~loekz = ''.

* Print how many rows we found.
DESCRIBE TABLE it_po_items LINES l_lines.
WRITE:/ 'Found ', l_lines, ' lines.'.

Leave Comment

You must be logged in to post a comment.