11-21-2007 5:39 AM
hi
i have a urgent requirement
iam using read_text FM in my report to print text in my sapscript but iam geting problem regarding TDNAME
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
id = 'A01'
language = 'E'
name = TDNAME
object = 'EKPO'
tables
lines = linesx
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
IF sy-subrc <> 0.
ENDIF.
tdname is the combination of RFQ no and ITEM no EX 6000000501
+ 0010. iam using below code
concatenate ITAB-ebeln ITAB-ebelp into tdname.
but in my sapscript text is getting printed only for one line item i.e 6000000500010
and is repeating same for other line items i.e for 6000000500020 ,6000000500030.
so how to pass this different line items to TDNAME so that text for that prticular line item get printed.
thanks.
11-21-2007 5:42 AM
uses this function module splite the line
CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
EXPORTING
LANGUAGE = SY-LANGU
TABLES
TEXT_STREAM = I_TEXTTABLE
ITF_TEXT = HELP_TLINETAB.
-
----
***INCLUDE ZSAP_DYNPR_TEXTEDITOR1_EXITI01 .
----
&----
*& Module EXIT INPUT
&----
text
----
&----
*& Module USER_COMMAND_0300 INPUT
&----
text
----
MODULE USER_COMMAND_0300 INPUT.
DATA: VAL1 TYPE I.
DATA VAR(500) TYPE C.
*// TEXT HEADER
DATA: GT_HEAD LIKE THEAD,
*// Text lines
GT_TEXT LIKE STANDARD TABLE OF TLINE,
GW_TEXT LIKE TLINE.
GT_HEAD-TDOBJECT = 'MVKE' .
GT_HEAD-TDID = '0001' .
GT_HEAD-TDSPRAS = SY-LANGU.
GT_HEAD-TDNAME = 'ivtl'.
**
CASE SY-UCOMM.
WHEN 'INSERT'.
clear sy-ucomm.
*APPEND VAR TO I_TEXTTABLE.
CALL METHOD TEXT_EDITOR2->GET_TEXT_AS_STREAM
IMPORTING
TEXT = I_TEXTTABLE
IS_MODIFIED = VAL1
EXCEPTIONS
ERROR_DP = 1
ERROR_CNTL_CALL_METHOD = 2
OTHERS = 3.
DATA HELP_TLINETAB LIKE TLINE OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
EXPORTING
LANGUAGE = SY-LANGU
TABLES
TEXT_STREAM = I_TEXTTABLE
ITF_TEXT = HELP_TLINETAB
.
GT_HEAD-TDOBJECT = 'MVKE' .
GT_HEAD-TDID = '0001' .
GT_HEAD-TDSPRAS = SY-LANGU.
GT_HEAD-TDNAME = 'ivtl1'.
*
GW_TEXT-TDFORMAT = '00'.
GW_TEXT-TDLINE = I_TEXTTABLE-LINE.
APPEND GW_TEXT TO GT_TEXT.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
HEADER = GT_HEAD
INSERT = 'X'
SAVEMODE_DIRECT = 'X'
OWNER_SPECIFIED = ' '
TABLES
LINES = HELP_TLINETAB
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
commit work.
CLEAR HELP_TLINETAB.
REFRESH HELP_TLINETAB.
CLEAR: I_TEXTTABLE.
REFRESH I_TEXTTABLE.
WHEN 'CHANGE'.
clear sy-ucomm.
CLEAR HELP_TLINETAB.
REFRESH HELP_TLINETAB.
CLEAR: I_TEXTTABLE.
REFRESH I_TEXTTABLE.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = '0001'
LANGUAGE = SY-LANGU
NAME = 'ivtl1'
OBJECT = 'MVKE'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
LINES = HELP_TLINETAB
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR I_TEXTTABLE.
REFRESH I_TEXTTABLE.
CALL FUNCTION 'CONVERT_ITF_TO_STREAM_TEXT'
EXPORTING
LANGUAGE = SY-LANGU
TABLES
ITF_TEXT = HELP_TLINETAB
TEXT_STREAM = I_TEXTTABLE
.
CALL METHOD TEXT_EDITOR2->SET_TEXT_AS_STREAM
EXPORTING
TEXT = I_TEXTTABLE
EXCEPTIONS
ERROR_DP = 1
ERROR_DP_CREATE = 2
others = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR HELP_TLINETAB.
REFRESH HELP_TLINETAB.
CLEAR: I_TEXTTABLE.
REFRESH I_TEXTTABLE.
commit work.
when 'EDIT'.
clear sy-ucomm.
**change
*GT_HEAD-TDOBJECT = 'MVKE' .
GT_HEAD-TDID = '0001' .
GT_HEAD-TDSPRAS = SY-LANGU.
GT_HEAD-TDNAME = 'ivtl'.
GT_HEAD-tdlinesize = '72'.
CALL FUNCTION 'DELETE_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = '0001'
LANGUAGE = sy-langu
NAME = 'ivtl1'
OBJECT = 'MVKE'
SAVEMODE_DIRECT = ' '
TEXTMEMORY_ONLY = ' '
LOCAL_CAT = ' '
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
commit work.
break-point.
CALL METHOD TEXT_EDITOR2->GET_TEXT_AS_STREAM
IMPORTING
TEXT = I_TEXTTABLE
IS_MODIFIED = VAL1
EXCEPTIONS
ERROR_DP = 1
ERROR_CNTL_CALL_METHOD = 2
OTHERS = 3.
break-point.
DATA HELP_TLINETAB LIKE TLINE OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
EXPORTING
LANGUAGE = SY-LANGU
TABLES
TEXT_STREAM = I_TEXTTABLE
ITF_TEXT = HELP_TLINETAB
.
GT_HEAD-TDOBJECT = 'MVKE' .
GT_HEAD-TDID = '0001' .
GT_HEAD-TDSPRAS = SY-LANGU.
GT_HEAD-TDNAME = 'ivtl1'.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
HEADER = GT_HEAD
INSERT = 'X'
SAVEMODE_DIRECT = 'X'
OWNER_SPECIFIED = ' '
TABLES
LINES = HELP_TLINETAB
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
commit work.
CLEAR HELP_TLINETAB.
REFRESH HELP_TLINETAB.
CLEAR: I_TEXTTABLE.
REFRESH I_TEXTTABLE.
break-point.
**GT_HEAD-TDOBJECT = 'MVKE' .
GT_HEAD-TDID = '0001' .
GT_HEAD-TDSPRAS = SY-LANGU.
GT_HEAD-TDNAME = 'ivtl'.
GT_HEAD-tdlinesize = '72'.
*
*CALL FUNCTION 'EDIT_TEXT'
EXPORTING
DISPLAY = ' '
EDITOR_TITLE = ' '
header = GT_HEAD
PAGE = ' '
WINDOW = ' '
save = 'X'
LINE_EDITOR = ' '
CONTROL = ' '
PROGRAM = ' '
LOCAL_CAT = ' '
IMPORTING
FUNCTION =
NEWHEADER =
RESULT =
TABLES
lines = HELP_TLINETAB
EXCEPTIONS
id = 1
language = 2
linesize = 3
name = 4
object = 5
textformat = 6
communication = 7
OTHERS = 8.
*
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
*
*
CALL METHOD TEXT_EDITOR2->SET_TEXT_AS_STREAM
EXPORTING
TEXT = I_TEXTTABLE
EXCEPTIONS
ERROR_DP = 1
ERROR_DP_CREATE = 2
others = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
*break-point.
*change
CLEAR HELP_TLINETAB.
REFRESH HELP_TLINETAB.
CLEAR: I_TEXTTABLE.
REFRESH I_TEXTTABLE.
*
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = '0001'
LANGUAGE = SY-LANGU
NAME = 'ivtl'
OBJECT = 'MVKE'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
LINES = HELP_TLINETAB
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
CLEAR I_TEXTTABLE.
REFRESH I_TEXTTABLE.
*
CALL FUNCTION 'CONVERT_ITF_TO_STREAM_TEXT'
EXPORTING
LANGUAGE = SY-LANGU
TABLES
ITF_TEXT = HELP_TLINETAB
TEXT_STREAM = I_TEXTTABLE
.
*
*
CALL METHOD TEXT_EDITOR2->SET_TEXT_AS_STREAM
EXPORTING
TEXT = I_TEXTTABLE
EXCEPTIONS
ERROR_DP = 1
ERROR_DP_CREATE = 2
others = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
*break-point.
*CALL FUNCTION 'INIT_TEXT'
EXPORTING
id = '0001'
language = sy-langu
name = 'ivtl'
object = 'MVKE'
IMPORTING
header = GT_HEAD
TABLES
lines = HELP_TLINETAB
EXCEPTIONS
id = 1
language = 2
name = 3
object = 4
OTHERS = 5.
*
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*
*commit work.
endcase.
*
*
*data: n type i,
l type i,
k type i,
temp(132).
describe table HELP_TLINETAB lines n.
k = n * 132.
**constants l type i value k.
**l = n * 132.
*data whole(528).
do n times.
read table HELP_TLINETAB index sy-index .
temp = HELP_TLINETAB-tdline.
concatenate whole temp into whole.
enddo.
REFRESH TDLINETAB.
LOOP AT HELP_TLINETAB.
APPEND HELP_TLINETAB-TDLINE TO TDLINETAB.
ENDLOOP.
***<<<<<<<<BEGIN OF INSERTION NOTE 335328<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
CALL FUNCTION 'APPEND_LANGTEXT_REFS'
EXPORTING
IV_MODUS = 'T'.
***<<<<<<<<END OF INSERTION NOTE 335328<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
CALL METHOD cl_gui_cfw=>flush "TF 4.6C for safety
EXCEPTIONS "TF 4.6C for safety
OTHERS = 1. "TF 4.6C for safety
ENDIF.
*
*
*
*
**
**CALL METHOD TEXT_EDITOR2->GET_TEXT_AS_STREAM
EXPORTING
TABLE = I_TEXTTABLE
EXCEPTIONS
ERROR_DP = 1
ERROR_DP_CREATE = 2
others = 3
.
**IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
**ENDIF.
*
*
*
CALL METHOD TEXT_EDITOR2->set_text_as_r3table
EXPORTING table = I_TEXTTABLE.
*
**break-point.
**ENDCASE.
WHEN 'UNCOMMPRO'.
NEW ** 99a:
CALL METHOD TEXT_EDITOR2->uncomment_selection
EXPORTING
enable_editing_protected_text = cl_gui_textedit=>true.
*
WHEN 'UNCOMMENT'.
NEW ** 99a:
CALL METHOD TEXT_EDITOR2->uncomment_selection.
*
CASE text_type.
WHEN standard_text.
CALL METHOD TEXT_EDITOR2->set_wordbreak_procedure
EXPORTING
text_type = cl_gui_textedit=>text_standard
EXCEPTIONS
OTHERS = 1.
WHEN abap_code.
CALL METHOD TEXT_EDITOR2->set_wordbreak_procedure
EXPORTING
text_type = cl_gui_textedit=>text_abap
EXCEPTIONS
OTHERS = 1.
CALL METHOD TEXT_EDITOR2->set_autoindent_mode
EXPORTING
auto_indent = cl_gui_textedit=>false
EXCEPTIONS
OTHERS = 1.
CALL METHOD TEXT_EDITOR2->set_autoindent_mode
EXPORTING
auto_indent = cl_gui_textedit=>true
EXCEPTIONS
OTHERS = 1.
*
CALL METHOD TEXT_EDITOR2->set_comments_string.
CALL METHOD TEXT_EDITOR2->set_highlight_comments_mode.
*
*
ENDMODULE. " USER_COMMAND_0300 INPUT
MODULE EXIT INPUT.
LEAVE TO SCREEN 0.
ENDMODULE. " EXIT INPUT .
11-21-2007 5:44 AM
loop at itab
concatenate ITAB-ebeln ITAB-ebelp into tdname.
refresh linesx.
<call FM read_text.>
..........
endloop.
11-21-2007 5:44 AM
Hi Lalith,
try using Conversion function module input/output attached to the field .
With regards,
Sureshkumar.Al
11-29-2007 6:40 AM
Hi,
you can write like below...
WA_TEXT-TDNAME+10(5) = <FS>-EBELP.
Reguards,
Rahul Kanth Reddy...