‎2006 May 02 8:00 AM
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
‎2006 May 02 8:08 AM
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
‎2006 May 02 8:32 AM
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
‎2006 May 02 8:43 AM
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
‎2006 May 02 8:48 AM
Thanks Vijay.
How the lines from po_text-text
can be read?
Thanks,
Pratibha
‎2006 May 02 8:48 AM
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
‎2006 May 02 8:54 AM
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
‎2006 May 02 8:11 AM
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
‎2006 May 02 8:11 AM
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>
‎2006 May 02 8:29 AM
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
‎2006 May 02 8:31 AM
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