Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Append data to deep structure

Former Member
0 Likes
5,551

Hi,

I have this structures

TYPES: BEGIN OF novaconta,

codconta LIKE glt0-racct,

descricao LIKE skat-txt20,

END OF novaconta.

TYPES: BEGIN OF contasgroup,

novaconta TYPE novaconta,

END OF contasgroup.

TYPES: BEGIN OF balancete,

conta LIKE glt0-racct,

debito LIKE glt0-hsl01,

credito LIKE glt0-hsl01,

END OF balancete.

TYPES: BEGIN OF balancetegroup,

balancete TYPE balancete,

END OF balancetegroup.

DATA: BEGIN OF ficheirobalancete,

codserv LIKE t001-rcomp,

email LIKE adr6-smtp_addr,

ano LIKE glt0-ryear,

numero LIKE zpsmt_sigo_bal-numseq,

data LIKE sy-datum,

hora LIKE sy-uzeit,

periodo LIKE zpsmt_sigo_bal-perio,

contasgroup TYPE contasgroup,

balancetegroup TYPE balancetegroup,

END OF ficheirobalancete.

i want to append data to ficheirobalancete-contasgroup-novaconta and to ficheirobalancete-balancetegroup-balancete. like this:

How can i do that? And the data must be deep structures, i don't want tables.

Best regards,

Ricardo Araújo

1 ACCEPTED SOLUTION
Read only

aaron_morden2
Contributor
0 Likes
2,265

Do not use the append statement, just set the value using equals.


ficheirobalancete-contasgroup-novaconta = 'VALUE'.

6 REPLIES 6
Read only

aaron_morden2
Contributor
0 Likes
2,266

Do not use the append statement, just set the value using equals.


ficheirobalancete-contasgroup-novaconta = 'VALUE'.

Read only

0 Likes
2,265

Yes i don't use append because it gives an error because ficheirobalancete-contasgroup-novaconta does't have header line. I used your solution but ficheirobalancete-contasgroup-novaconta stays with just one record i want this

Loop at xpto.

ficheirobalancete-contasgroup-novaconta = xpto.

endloop.

xpto is the same type as ficheirobalancete-contasgroup-novaconta. and i want to put all records that are in xpto to ficheirobalancete-contasgroup-novaconta.

Read only

0 Likes
2,265

You will have to create an internal table for contasgroup:



DATA: BEGIN OF ficheirobalancete,
codserv LIKE t001-rcomp,
email LIKE adr6-smtp_addr,
ano LIKE glt0-ryear,
numero LIKE zpsmt_sigo_bal-numseq,
data LIKE sy-datum,
hora LIKE sy-uzeit,
periodo LIKE zpsmt_sigo_bal-perio,
contasgroup TYPE TABLE OF contasgroup,  " Internal Table
balancetegroup TYPE balancetegroup,
END OF ficheirobalancete.

Loop at xpto.
   append xpto to ficheirobalancete-contasgroup.
endloop.

Instead of a LOOP, you could do this:


ficheirobalancete-contasgroup[] = xpto[].

Read only

Former Member
0 Likes
2,265

TYPES: BEGIN OF novaconta,
codconta LIKE glt0-racct,
descricao LIKE skat-txt20,
END OF novaconta.

TYPES: BEGIN OF contasgroup,
novaconta TYPE novaconta,
END OF contasgroup.

TYPES: BEGIN OF balancete,
conta LIKE glt0-racct,
debito LIKE glt0-hsl01,
credito LIKE glt0-hsl01,
END OF balancete.

TYPES: BEGIN OF balancetegroup,
balancete TYPE balancete,
END OF balancetegroup.

types tab_contasgroup type standard table of contasgroup.

data wa_contasgroup type tab_contasgroup.

DATA: BEGIN OF ficheirobalancete,
codserv LIKE t001-rcomp,
email LIKE adr6-smtp_addr,
ano LIKE glt0-ryear,
numero LIKE zpsmt_sigo_bal-numseq,
data LIKE sy-datum,
hora LIKE sy-uzeit,
periodo LIKE zpsmt_sigo_bal-perio,
contasgroup TYPE tab_contasgroup,  "Now this is an internal table.
balancetegroup TYPE balancetegroup,
END OF ficheirobalancete.

" Now you can use append statement
populate wa_contasgroup with your fields.
append wa_contasgroup to ficheirobalancete-contasgroup.

regards,

Advait

Read only

0 Likes
2,265

Good job Advait. You really helped out a lot!

Read only

0 Likes
2,265

Thanks !! But credit goes to you for the correct answer. I just showed another way to declare the internal table.

regards,

Advait