Nested Structures in ABAP :
Structure with in the
another structure is called nested structure
We can declare the nested
structure in 3 ways
Way1:
*&---------------------------------------------------------------------*
*& Report ZEBRA7
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZEBRA7 NO STANDARD PAGE HEADING.
*// declare the first structure
data : begin of stru1,
stuno type i,
stuname type char10,
end of stru1.
*// declare the second structure
data : begin of siva ,
sivaco type char12,
sivaemp type char12.
include structure stru1.
data : end of siva.
*// assign the values to the structure
stru1-stuno = 239.
stru1-stuname = 'ram'.
siva-sivaco = 'local'.
siva-sivaemp = '234'.
*//output
write: stru1-stuno, siva-sivaco, siva-sivaemp.
*& Report ZEBRA7
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZEBRA7 NO STANDARD PAGE HEADING.
*// declare the first structure
data : begin of stru1,
stuno type i,
stuname type char10,
end of stru1.
*// declare the second structure
data : begin of siva ,
sivaco type char12,
sivaemp type char12.
include structure stru1.
data : end of siva.
*// assign the values to the structure
stru1-stuno = 239.
stru1-stuname = 'ram'.
siva-sivaco = 'local'.
siva-sivaemp = '234'.
*//output
write: stru1-stuno, siva-sivaco, siva-sivaemp.
Output:
239 local
234
Way
2:
*&---------------------------------------------------------------------*
*& Report ZEBRA7
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZEBRA7 NO STANDARD PAGE HEADING.
*// declare
data : begin of stru1,
stuno type i,
stuname type char10,
end of stru1.
data : begin of emp ,
empno type i,
empname type char12,
lc_stuct like stru1,
end of emp.
*// assign
emp-empno = 100.
emp-empname = 'REDDY'.
emp-lc_stuct-stuno = 20.
emp-lc_stuct-stuname = 'ram'.
*//output
write: emp-empno, emp-empname, emp-lc_stuct-stuno, emp-lc_stuct-stuname.
*& Report ZEBRA7
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZEBRA7 NO STANDARD PAGE HEADING.
*// declare
data : begin of stru1,
stuno type i,
stuname type char10,
end of stru1.
data : begin of emp ,
empno type i,
empname type char12,
lc_stuct like stru1,
end of emp.
*// assign
emp-empno = 100.
emp-empname = 'REDDY'.
emp-lc_stuct-stuno = 20.
emp-lc_stuct-stuname = 'ram'.
*//output
write: emp-empno, emp-empname, emp-lc_stuct-stuno, emp-lc_stuct-stuname.
Output:
100 REDDY
20 ram
Way
3:
*&---------------------------------------------------------------------*
*& Report ZEBRA7
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZEBRA7 NO STANDARD PAGE HEADING.
*// declare structure
data : begin of emp ,
empno type i,
empname type char12,
begin of stru1,
stuno type i,
stuname type char10,
end of stru1,
end of emp.
*// assign values to structure
emp-empno = 100.
emp-empname = 'REDDY'.
emp-stru1-stuno = 20.
emp-stru1-stuname = 'ram'.
*//output
write: emp-empno, emp-empname, emp-stru1-stuno, emp-stru1-stuname.
*& Report ZEBRA7
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZEBRA7 NO STANDARD PAGE HEADING.
*// declare structure
data : begin of emp ,
empno type i,
empname type char12,
begin of stru1,
stuno type i,
stuname type char10,
end of stru1,
end of emp.
*// assign values to structure
emp-empno = 100.
emp-empname = 'REDDY'.
emp-stru1-stuno = 20.
emp-stru1-stuname = 'ram'.
*//output
write: emp-empno, emp-empname, emp-stru1-stuno, emp-stru1-stuname.
Output: 100
REDDY 20 ram