ABAP Keyword Documentation → ABAP − Reference → Program Flow Logic → Expressions and Functions for Conditions → log_exp - Logical Expressions → rel_exp - Comparison Expressions → rel_exp - Comparison Rules → rel_exp - Comparing Internal Tables
Comparing Internal Tables
This example demonstrates how internal tables are compared.
Other versions: 7.31 | 7.40 | 7.54
Source Code
TYPES: BEGIN OF line,
col1 TYPE i,
col2 TYPE i,
END OF line.
DATA: itab TYPE TABLE OF line WITH EMPTY KEY,
jtab TYPE TABLE OF line WITH EMPTY KEY.
DATA(out) = cl_demo_output=>new( ).
itab = VALUE #( FOR j = 1 UNTIL j > 3
( col1 = j col2 = j ** 2 ) ).
jtab = itab.
itab = VALUE #( BASE itab
( col1 = 10 col2 = 20 ) ).
IF itab > jtab.
out->write( 'ITAB > JTAB' ).
ENDIF.
jtab = VALUE #( BASE jtab
( col1 = 10 col2 = 20 ) ).
IF itab = jtab.
out->write( 'ITAB = JTAB' ).
ENDIF.
itab = VALUE #( BASE itab
( col1 = 30 col2 = 80 ) ).
IF jtab <= itab.
out->write( 'JTAB <= ITAB' ).
ENDIF.
jtab = VALUE #( BASE jtab
( col1 = 50 col2 = 60 ) ).
IF itab <> jtab.
out->write( 'ITAB <> JTAB' ).
ENDIF.
IF itab < jtab.
out->write( 'ITAB < JTAB' ).
ENDIF.
out->display( ).
Description
Two standard tables, itab and jtab, are created.
itab is filled with three rows and assigned to jtab.
A further row is added to itab and the first relational expression returns
the result that itab is greater than jtab. After
the same row is added to jtab, the second relational expression returns the
result that both tables are the same. Another row is added to itab and the
third relational expression returns the result that jtab is less than or
equal to itab. Next, a further row is added to jtab,
the content of which is different from the final row of itab. The next relational
expression returns the result that itab is not equal to jtab.
The first table field where the content of itab and jtab
differs is col1 in the last row of the table, namely 30 for itab
and 50 for jtab. In the last relational expression, itab is therefore less than jtab.