Join two tables without using read statement (Using updated for loop syntax).
Report program.
REPORT zab_for_join.
TABLES:zstu,zstu1.
TYPES: BEGIN OF ty_zstu,
zstu_id TYPE zstu-zstu_id,
zstu_name TYPE zstu-zstu_name,
zstu_dep TYPE zstu-zstu_dep,
zstu_fee TYPE zstu-zstu_fee,
END OF ty_zstu.
TYPES: BEGIN OF ty_zstu1,
zstu_id TYPE zstu1-zstu_id,
zstu_marks TYPE zstu1-zstu_marks,
END OF ty_zstu1.
TYPES:BEGIN OF ty_final,
zstu_id TYPE zstu-zstu_id,
zstu_name TYPE zstu-zstu_name,
zstu_dep TYPE zstu-zstu_dep,
zstu_fee TYPE zstu-zstu_fee,
zstu_marks TYPE zstu1-zstu_marks,
END OF ty_final.
TYPES: ty_t_f TYPE STANDARD TABLE OF ty_final WITH DEFAULT KEY.
DATA:it_zstu TYPE TABLE OF ty_zstu,
it_zstu1 TYPE TABLE OF ty_zstu1,
it_final TYPE TABLE OF ty_final.
SELECT-OPTIONS: s_id FOR zstu-zstu_id.
IF s_id IS NOT INITIAL.
SELECT zstu_id
zstu_name
zstu_dep
zstu_fee
FROM zstu
INTO TABLE it_zstu
WHERE zstu_id IN s_id.
SORT it_zstu BY zstu_id.
IF it_zstu IS NOT INITIAL.
SELECT zstu_id
zstu_marks
FROM zstu1
INTO TABLE it_zstu1
WHERE zstu_id IN s_id.
SORT it_zstu1 BY zstu_id.
ENDIF.
ENDIF.
DATA(gt_o) = VALUE ty_t_f(
FOR wa_zstu IN it_zstu
FOR wa_zstu1 IN it_zstu1
WHERE ( zstu_id = wa_zstu-zstu_id )
( zstu_id = wa_zstu1-zstu_id zstu_marks = wa_zstu1-zstu_marks
zstu_name = wa_zstu-zstu_name zstu_dep = wa_zstu-zstu_dep
zstu_fee = wa_zstu-zstu_fee ) ).
cl_demo_output=>display( gt_o ).
Input
Output
Comments
Post a Comment