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

Nested Internal Tables

Former Member
0 Likes
2,468

Hi,

I have 2 internal tables.

Main INternal Table is

DATA: BEGIN OF PO_TEXT OCCURS 1,

AUFNR like CAUFV-AUFNR,

AUART like CAUFV-AUART,

GSTRP like CAUFV-GSTRP,

END OF PO_TEXT.

Second Internal table is

DATA: BEGIN OF IT_TEXT OCCURS 100.

INCLUDE STRUCTURE TLINE.

DATA: END OF IT_TEXT.

I would like to include IT_TEXT into PO_TEXT to hold long texts for orders.

How this can be done?

Thanks,

Pratibha.

Message was edited by: Pratibha Shitole

10 REPLIES 10
Read only

Former Member
0 Likes
1,124

Hi,

Try this way...

*Second Internal table is
DATA: BEGIN OF IT_TEXT OCCURS 100.
      INCLUDE STRUCTURE TLINE.
DATA: END OF IT_TEXT.


DATA: BEGIN OF PO_TEXT OCCURS 1,
AUFNR like CAUFV-AUFNR,
AUART like CAUFV-AUART,
GSTRP like CAUFV-GSTRP,
text  like it_text occurs 0,
 END OF PO_TEXT.

Regards

vijay

Read only

0 Likes
1,124

Thanks Vijay for your reply.

How I will refer to it_text of text within PO_TEXT.

I need to store long text of order in it_text of PO_TEXT.

Thanks,

Pratibha

Read only

0 Likes
1,124

Hi,

check this code...

REPORT  ztest_text.


*Second Internal table is
DATA: BEGIN OF it_text OCCURS 100.
        INCLUDE STRUCTURE tline.
DATA: END OF it_text.


DATA: BEGIN OF po_text OCCURS 1,
aufnr LIKE caufv-aufnr,
auart LIKE caufv-auart,
gstrp LIKE caufv-gstrp,
text  LIKE it_text OCCURS 0,
 END OF po_text.


DATA: l_text LIKE LINE OF it_text.
do 5 times.
clear l_text. refresh it_text.
l_text-tdformat = '*'.
l_text-tdline = 'this is for testing1'.

INSERT l_text INTO TABLE it_text.

l_text-tdformat = '*'.
l_text-tdline = 'this is for testing2'.

INSERT l_text INTO TABLE it_text.

l_text-tdformat = '*'.
l_text-tdline = 'this is for testing3'.

INSERT l_text INTO TABLE it_text.

INSERT LINES OF it_text INTO TABLE po_text-text.
APPEND po_text.

enddo.

break-point.

Regards

vijay

Read only

0 Likes
1,124

Thanks Vijay.

How the lines from po_text-text

can be read?

Thanks,

Pratibha

Read only

0 Likes
1,124

Small correction to the above code, i forgot to refresh po_text-text.

REPORT  ztest_text.

*Second Internal table is
DATA: BEGIN OF it_text OCCURS 100.
        INCLUDE STRUCTURE tline.
DATA: END OF it_text.
DATA: BEGIN OF po_text OCCURS 1,
aufnr LIKE caufv-aufnr,
auart LIKE caufv-auart,
gstrp LIKE caufv-gstrp,
text  LIKE it_text OCCURS 0,
 END OF po_text.


DATA: l_text LIKE LINE OF it_text.
do 5 times.
clear l_text. refresh: it_text[],po_text-text[].
l_text-tdformat = '*'.
l_text-tdline = 'this is for testing1'.

INSERT l_text INTO TABLE it_text.

l_text-tdformat = '*'.
l_text-tdline = 'this is for testing2'.

INSERT l_text INTO TABLE it_text.

l_text-tdformat = '*'.
l_text-tdline = 'this is for testing3'.

INSERT l_text INTO TABLE it_text.

INSERT LINES OF it_text INTO TABLE po_text-text.
APPEND po_text.

enddo.

break-point.

Regards

vijay

Read only

0 Likes
1,124

There are two possible ways one using loop, and other using read.

REPORT  ztest_text.
*Second Internal table is
DATA: BEGIN OF it_text OCCURS 100.
        INCLUDE STRUCTURE tline.
DATA: END OF it_text.


DATA: BEGIN OF po_text OCCURS 1,
aufnr LIKE caufv-aufnr,
auart LIKE caufv-auart,
gstrp LIKE caufv-gstrp,
text  LIKE it_text OCCURS 0,
 END OF po_text.


DATA: l_text LIKE LINE OF it_text.
do 5 times.
clear l_text. refresh: it_text[],po_text-text[].
l_text-tdformat = '*'.
l_text-tdline = 'this is for testing1'.

INSERT l_text INTO TABLE it_text.

l_text-tdformat = '*'.
l_text-tdline = 'this is for testing2'.

INSERT l_text INTO TABLE it_text.

l_text-tdformat = '*'.
l_text-tdline = 'this is for testing3'.

INSERT l_text INTO TABLE it_text.

INSERT LINES OF it_text INTO TABLE po_text-text.
APPEND po_text.

enddo.
"using loop
loop at po_text.
refresh it_text[].
po_text-text = it_text[].

loop at it_text.
write :/ it_text-tdformat,
        it_text-tdline.

endloop.


endloop.

"using read...

read table po_text index 1.

if sy-subrc = 0.
refresh it_text[].
po_text-text = it_text[].

loop at it_text.
write :/ it_text-tdformat,
        it_text-tdline.

endloop.

endif.

Regards

vijay

Read only

Former Member
0 Likes
1,124

Hi,

I tried this and it works..

DATA: BEGIN OF IT_TEXT OCCURS 100.

INCLUDE STRUCTURE TLINE.

DATA: END OF IT_TEXT.

DATA: BEGIN OF PO_TEXT OCCURS 1,

AUFNR like CAUFV-AUFNR,

AUART like CAUFV-AUART,

GSTRP like CAUFV-GSTRP,

IT_TEXT1 like IT_TEXT occurs 0,

END OF PO_TEXT.

Regards,

Tanveer.

Please mark helpful answers

Read only

Former Member
0 Likes
1,124

Hi Pratibha,

You can declare IT_TEXT first and then later on write something like below ::

DATA: BEGIN OF PO_TEXT OCCURS 1.

DATA: AUFNR like CAUFV-AUFNR.

DATA: AUART like CAUFV-AUART.

DATA: GSTRP like CAUFV-GSTRP.

INCLUDE STRUCTURE IT_TEXT.

DATA: END OF PO_TEXT.

Regards,

<b>Ameya</b>

Read only

Former Member
0 Likes
1,124

Hi Pratibha

you can not do this directly

first you need to decalre types for that and then you can declare your internal table referring to that types

eg..

DATA: BEGIN OF PO_TEXT OCCURS 1,

AUFNR like CAUFV-AUFNR,

AUART like CAUFV-AUART,

GSTRP like CAUFV-GSTRP,

END OF PO_TEXT.

Second Internal table is

data: BEGIN OF IT_TEXT OCCURS 100.

INCLUDE STRUCTURE TLINE.

data: END OF IT_TEXT.

types: begin of it_final occurs 0,

po_text1 like po_text,

it_text1 like it_text,

end of it_final.

now you can declare your required internal table as

data it_rerui type it_final occurs 0.

If you do this directly without types.. it will give error message..smthing like only flat structurs allowed.

I hope this will work

Thanks

Read only

Former Member
0 Likes
1,124

Hai Pratibha

you will declare it_text first

after that declare the Po_text

then you will include it_text into po_text that is enough.

DATA: BEGIN OF IT_TEXT OCCURS 100.

INCLUDE STRUCTURE TLINE.

DATA: END OF IT_TEXT.

DATA: BEGIN OF PO_TEXT OCCURS 1,

AUFNR like CAUFV-AUFNR,

AUART like CAUFV-AUART,

GSTRP like CAUFV-GSTRP,

END OF PO_TEXT.

include IT_TEXT into PO_TEXT

Thanks & regards

Sreenivasulu P