working with multiple dynamic internal tables
DESCRIPTION
Working With Multiple Dynamic Internal TablesTRANSCRIPT
7/21/2019 Working With Multiple Dynamic Internal Tables
http://slidepdf.com/reader/full/working-with-multiple-dynamic-internal-tables-56dd0a189b3f0 1/5
Working with Multiple dynamic internal tables
By Bhumika Mahawar, YASH Technologies
The main objective of this article is not to show how to dislay two A!"#s on a single age rather it mainlyfocuses on the use of dynamic tables in A!"$
My re%uirement was to create two dynamic table and dislay data into them$
The first dynamic table was created in the same way as already known using the method&create'dynamic'table( but the roblem was the second dynamic table creation$
To do this, you don#t need to use the same method again rather the )TT* concet hels us in the same$The below code illustrates the same and dislays the data in an A!" as shown in the diagram below$
REPORT ztest.**** Data declarations
DATA:
dtab TYPE REF TO data,
newstr2 TYPE REF TO cl_abap_tpedescr, tab_tpe! TYPE REF TO cl_abap_tabledescr,
lre"_ditab TYPE REF TO data, lre"_new_line TYPE REF TO data.
**** Field#$%bols declarationsF&E'D#$Y()O'$:
"s_dn_tab!+ TYPE AY TA)'E,
"s_dn_tab2+ TYPE AY TA)'E,
7/21/2019 Working With Multiple Dynamic Internal Tables
http://slidepdf.com/reader/full/working-with-multiple-dynamic-internal-tables-56dd0a189b3f0 2/5
"s_dn_wa+ TYPE AY.
**** Field -atalo declarations
DATA: ls_"cat TYPE l/c_s_"cat,
lt_"cat TYPE l/c_t_"cat.**** Data declarations "or A'0 Displa *
**** Ob1ect /ariable "or A'0 ridDATA:
ob1_%_al/_rid TYPE REF TO cl_i_al/_rid.
**** Ob1ect /ariable "or A'0 -ontainer
DATA: ob1_r_container TYPE REF TO cl_i_csto%_container.
*#####################################################################** $TART O F $ E ' E - T & O *
*#####################################################################*
$TART#OF#$E'E-T&O.
* -reate Field -atalo PERFOR( create_"ield_catalo.
* -reate Dna%ic Table PERFOR( create_dna%ic_table.
* Fill t3e dna%ic tables wit3 data PERFOR( "ill_dna%ic_table.
* -all t3e screen no.!44
PERFOR( call_screen.
*5#####################################################################**5 For% -REATE_F&E'D_-ATA'O6
*5#####################################################################*FOR( create_"ield_catalo .
* Append "ields to "ield catalo table
ls_"cat#"ieldna%e 7 80)E'8.
ls_"cat#re"_"ield 7 80)E'8. ls_"cat#re"_table 7 80)A98.
APPED ls_"cat TO lt_"cat. -'EAR ls_"cat.
ls_"cat#"ieldna%e 7 8AART8. ls_"cat#re"_"ield 7 8AART8.
ls_"cat#re"_table 7 80)A98.
APPED ls_"cat TO lt_"cat.
-'EAR ls_"cat. ls_"cat#"ieldna%e 7 8ERA(8.
ls_"cat#re"_"ield 7 8ERA(8. ls_"cat#re"_table 7 80)A98.
APPED ls_"cat TO lt_"cat.
-'EAR ls_"cat.
ls_"cat#"ieldna%e 7 8ERDAT8. ls_"cat#re"_"ield 7 8ERDAT8.
ls_"cat#re"_table 7 80)A98.
APPED ls_"cat TO lt_"cat. -'EAR ls_"cat. ls_"cat#"ieldna%e 7 8ER;ET8.
ls_"cat#re"_"ield 7 8ER;ET8.
ls_"cat#re"_table 7 80)A98.
APPED ls_"cat TO lt_"cat. -'EAR ls_"cat.
EDFOR(. < -REATE_F&E'D_-ATA'O6*5#####################################################################*
*5 For% -REATE_DYA(&-_TA)'E
7/21/2019 Working With Multiple Dynamic Internal Tables
http://slidepdf.com/reader/full/working-with-multiple-dynamic-internal-tables-56dd0a189b3f0 3/5
*5#####################################################################*
FOR( create_dna%ic_table .
** -reate dna%ic table -A'' (ET=OD cl_al/_table_create7+create_dna%ic_table
E>PORT&6 it_"ieldcatalo 7 lt_"cat
&(PORT&6 ep_table 7 lre"_ditab
E>-EPT&O$
enerate_sbpool_dir_"ll 7 !
OT=ER$ 7 2. &F s#sbrc + 4.
(E$$A6E &D s#%sid TYPE s#%st ()ER s#%sno ?&T= s#%s/! s#%s/2 s#%s/@ s#%s/.
ED&F.
** Assin t3e dna%ic table re"erence to a "ield#s%bol
A$$&6 lre"_ditab#+* TO "s_dn_tab!+.**-reate anot3er dna%ic table wit3 t3e sa%e strctre
newstr2 ?= cl_abap_structdescr=>describe_by_data_ref( lref_ditab ). tab_type1 ?= newstr2.
CREATE ATA dtab T!"E #A$%E tab_type1. A&&'$ dtab>* T+ ,fs_dyn_tab2>.** -reate a strctre si%ilar to t3e dna%ic table created
-REATE DATA lre"_new_line '&9E '&E OF "s_dn_tab!+.
A$$&6 lre"_new_line#+* TO "s_dn_wa+.EDFOR(. < -REATE_DYA(&-_TA)'E
*5#####################################################################**5 For% F&''_DYA(&-_TA)'E
*5#####################################################################*
FOR( "ill_dna%ic_table.
** Fill t3e dna%ic table "s_dn_tab!+ $E'E-T /beln aart erna% erdat erzet
FRO( /baB &TO TA)'E "s_dn_tab!+ ?=ERE aart 7 8ROR8
AD erdat 'T s#dat%.** Fill t3e dna%ic table "s_dn_tab2+
$E'E-T /beln aart erna% erdat erzet
FRO( /baB &TO TA)'E "s_dn_tab2+
?=ERE aart 7 8;$OR8 AD erdat 'T s#dat%.
EDFOR(. < F&''_DYA(&-_TA)'E*5#####################################################################*
*5 For% -A''_$-REE
*5#####################################################################*
FOR( call_screen . -A'' $-REE !44.
EDFOR(. < -A''_$-REE
*5#####################################################################**5 (odle $TAT$_4!44 OTPT*5#####################################################################*
* P)O (odle# Displa bot3 t3e tables in al/
*#####################################################################*
(OD'E stats_4!44 OTPT. $ET PF#$TAT$ 8(E)AR8.
$ET T&T'E)AR 8A'0 REPORT8.*5#####################################################################*
* A'0 Displa#!st table
7/21/2019 Working With Multiple Dynamic Internal Tables
http://slidepdf.com/reader/full/working-with-multiple-dynamic-internal-tables-56dd0a189b3f0 4/5
*######################################################################*
* Ob1ect "or container
-REATE O)CE-T ob1_r_container E>PORT&6
container_na%e 7 8-$TO(!8 E>-EPT&O$
cntl_error 7 ! cntl_sste%_error 7 2
create_error 7 @
li"eti%e_error 7
li"eti%e_dnpro_dnpro_linB 7 OT=ER$ 7 .
&F s#sbrc + 4. (E$$A6E &D s#%sid TYPE s#%st ()ER s#%sno
?&T= s#%s/! s#%s/2 s#%s/@ s#%s/.
ED&F.
* Ob1ect "or Al/ rid -REATE O)CE-T ob1_%_al/_rid
E>PORT&6 i_parent 7 ob1_r_container
E>-EPT&O$ error_cntl_create 7 !
error_cntl_init 7 2
error_cntl_linB 7 @
error_dp_create 7 OT=ER$ 7 .
&F s#sbrc + 4. (E$$A6E &D s#%sid TYPE s#%st ()ER s#%sno
?&T= s#%s/! s#%s/2 s#%s/@ s#%s/.
ED&F.
* -allin %et3od "or displain t3e data -A'' (ET=OD ob1_%_al/_rid#+set_table_"or_"irst_displa
-=A6&6 it_ottab 7 "s_dn_tab!+
it_"ieldcatalo 7 lt_"cat E>-EPT&O$
in/alid_para%eter_co%bination 7 !
prora%_error 7 2
too_%an_lines 7 @ OT=ER$ 7 .
&F s#sbrc + 4. (E$$A6E &D s#%sid TYPE s#%st ()ER s#%sno
?&T= s#%s/! s#%s/2 s#%s/@ s#%s/.
ED&F.
*5#####################################################################** A'0 Displa#2nd table
*######################################################################*
* Ob1ect "or conatainer -REATE O)CE-T ob1_r_container E>PORT&6
container_na%e 7 8-$TO(28
E>-EPT&O$
cntl_error 7 ! cntl_sste%_error 7 2
create_error 7 @ li"eti%e_error 7
li"eti%e_dnpro_dnpro_linB 7
7/21/2019 Working With Multiple Dynamic Internal Tables
http://slidepdf.com/reader/full/working-with-multiple-dynamic-internal-tables-56dd0a189b3f0 5/5
OT=ER$ 7 .
&F s#sbrc + 4.
(E$$A6E &D s#%sid TYPE s#%st ()ER s#%sno ?&T= s#%s/! s#%s/2 s#%s/@ s#%s/.
ED&F.* Ob1ect "or Al/ rid
-REATE O)CE-T ob1_%_al/_rid E>PORT&6
i_parent 7 ob1_r_container
E>-EPT&O$
error_cntl_create 7 ! error_cntl_init 7 2
error_cntl_linB 7 @ error_dp_create 7
OT=ER$ 7 .
&F s#sbrc + 4.
(E$$A6E &D s#%sid TYPE s#%st ()ER s#%sno ?&T= s#%s/! s#%s/2 s#%s/@ s#%s/.
ED&F.* -allin %et3od "or displain t3e data
-A'' (ET=OD ob1_%_al/_rid#+set_table_"or_"irst_displa -=A6&6
it_ottab 7 "s_dn_tab2+
it_"ieldcatalo 7 lt_"cat
E>-EPT&O$ in/alid_para%eter_co%bination 7 !
prora%_error 7 2 too_%an_lines 7 @
OT=ER$ 7 .
&F s#sbrc + 4.
(E$$A6E &D s#%sid TYPE s#%st ()ER s#%sno ?&T= s#%s/! s#%s/2 s#%s/@ s#%s/.
ED&F.ED(OD'E. < $TAT$_4!44 OTPT
*5#####################################################################**5 (odle $ER_-O((AD_4!44 &PT
*5#####################################################################*
* PA& (odle
*######################################################################*(OD'E ser_co%%and_4!44 &PT.
-A$E s#co%%. ?=E 8)A-98 OR 8E>&T8.
'EA0E TO $-REE 4.
?=E 8-A-E'8.
'EA0E PRO6RA(. ED-A$E. < -A$E $Y#-O((
ED(OD'E. < $ER_-O((AD_4!44 &PT