10-24-2007 8:01 AM
Hi All,
My requirement is to create a long text in Transaction, after that we may need to change it and read it using the function modules CREATE_TEXT, READ_TEXT, EDIT_TEXT function modules.
could you please tell me how to do it in step by step.
its very urgent.
Thanks in Advance,
Prasad.
10-24-2007 8:11 AM
Hi Prasad,
Go to transaction eg va02.
In menu bar
Goto--->Header---->Texts
Enter the text in editor & save it.
Use can read this text using FM Read_Text.
Regards,
Hemant
10-24-2007 8:15 AM
&----
*& Module pool ZSAP_DYNPR_TEXTEDITOR1 *
*& *
&----
*& *
*& *
&----
INCLUDE ZTEXT_TOP . " global Data
INCLUDE ZTEXT_O01 . " PBO-Modules *
INCLUDE ZTEXT_I01 . " PAI-Modules *
INCLUDE ZTEXT_F01 . " FORM-Routines *
INCLUDE ZSAP_DYNPR_TEXTEDITO_EDO01.
INCLUDE ZSAP_DYNPR_TEXTEDITOR1_EXITI01.
&----
& Include ZTEXT_TOP Module poo
*& *
&----
PROGRAM ZSAP_DYNPR_TEXTEDITOR1 .
CONSTANTS: LINE_LENGTH TYPE C VALUE 255.
TYPES: BEGIN OF T_TEXTTABLE,
LINE(LINE_LENGTH) TYPE C,
END OF T_TEXTTABLE .
DATA I_TEXTTABLE TYPE TABLE OF T_TEXTTABLE .
DATA: CON_PARENT TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
DIALOG_CONT TYPE REF TO CL_GUI_DIALOGBOX_CONTAINER,
TEXT_EDITOR2 TYPE REF TO CL_GUI_TEXTEDIT.
----
***INCLUDE ZSAP_DYNPR_TEXTEDITO_EDO01 .
----
&----
*& Module destroy OUTPUT
&----
text
----
MODULE destroy OUTPUT.
data:text_modified_status LIKE cl_gui_textedit=>true,
text TYPE string,
protected TYPE i,
protected_state TYPE c.
necessary to flush the automation queue and to dispatch events
CLASS cl_gui_cfw DEFINITION LOAD.
if not TEXT_editor2 is initial.
*
CALL METHOD TEXT_EDITOR2->set_textmodified_status
EXPORTING
status = cl_gui_textedit=>false.
*CALL METHOD TEXT_EDITOR2->PROTECT_LINES
EXPORTING
FROM_LINE = 23
PROTECT_MODE = 1
TO_LINE = 1
ENABLE_EDITING_PROTECTED_TEXT = 0
EXCEPTIONS
ERROR_CNTL_CALL_METHOD = 1
INVALID_PARAMETER = 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->FREE
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 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.
FREE TEXT_EDITOR2.
ENDIF.
*CALL METHOD TEXT_EDITOR2->SET_FIRST_VISIBLE_LINE
EXPORTING
LINE = 1
EXCEPTIONS
ERROR_CNTL_CALL_METHOD = 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.
IF NOT CON_PARENT IS INITIAL.
CALL METHOD CON_PARENT->FREE
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH F_RETURN.
ENDIF.
free ABAP object also
FREE CON_PARENT.
ENDIF.
*
CALL METHOD CL_GUI_CFW=>FLUSH
EXCEPTIONS
CNTL_SYSTEM_ERROR = 1
CNTL_ERROR = 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.
*
*
IF protected EQ 0.
protected_state = space.
ELSE.
protected_state = 'X'.
ENDIF.
ENDMODULE. " destroy OUTPUT
*
&----
*& Module text_editor2 OUTPUT
&----
text
----
MODULE text_editor2 OUTPUT.
CREATE OBJECT CON_PARENT
EXPORTING
PARENT =
CONTAINER_NAME = 'CUS'
STYLE =
LIFETIME = lifetime_default
REPID =
DYNNR =
NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
others = 6
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT TEXT_EDITOR2
EXPORTING
MAX_NUMBER_CHARS = 100
STYLE = 1
WORDWRAP_MODE =
*
cl_gui_textedit=>wordwrap_at_fixed_position
WORDWRAP_POSITION = 45
WORDWRAP_TO_LINEBREAK_MODE = 1
wordwrap_position = 100
wordwrap_to_linebreak_mode = cl_gui_textedit=>1
wordwrap_to_linebreak_mode = cl_gui_textedit=>true.
FILEDROP_MODE = DROPFILE_EVENT_OFF
PARENT = CON_PARENT
LIFETIME = 1
NAME =
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
GUI_TYPE_NOT_SUPPORTED = 5
others = 6
.
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_comments_string.
CALL METHOD TEXT_EDITOR2->set_highlight_comments_mode.
*******Set Focus
call method cl_gui_control=>set_focus exporting control = TEXT_EDITOR2.
DATA: toolbarmode TYPE i.
CALL METHOD TEXT_EDITOR2->SET_TOOLBAR_MODE
EXPORTING
TOOLBAR_MODE = TOOLBARMODE.
default: with toolbar
DATA: statustext(40).
CALL METHOD TEXT_EDITOR2->SET_STATUS_TEXT
EXPORTING
STATUS_TEXT = STATUSTEXT.
CALL METHOD TEXT_EDITOR2->set_statusbar_mode
EXPORTING
statusbar_mode = cl_gui_textedit=>false.
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.
CALL METHOD TEXT_EDITOR2->set_wordbreak_procedure
EXPORTING
text_type = cl_gui_textedit=>text_abap
EXCEPTIONS
OTHERS = 1.
CALL METHOD TEXT_EDITOR2->indent_lines
EXPORTING
from_line = 1
to_line = 12
EXCEPTIONS
OTHERS = 1.
*
WHEN 'INSEL'.
NEW ** 99a:
CALL METHOD TEXT_EDITOR2->indent_selection
EXCEPTIONS
OTHERS = 1.
CALL METHOD TEXT_EDITOR2->set_selected_textstream
EXPORTING
selected_text = text
enable_editing_protected_text = cl_gui_textedit=>true
EXCEPTIONS
error_cntl_call_method = 1
OTHERS = 2.
*
CALL METHOD TEXT_EDITOR2->set_wordbreak_procedure
EXPORTING
text_type = cl_gui_textedit=>text_standard
EXCEPTIONS
OTHERS = 1.
*
CALL METHOD TEXT_EDITOR2->set_wordbreak_procedure
EXPORTING
text_type = cl_gui_textedit=>text_abap
EXCEPTIONS
OTHERS = 1.
data auto_indent TYPE c.
*
IF auto_indent IS INITIAL.
CALL METHOD TEXT_EDITOR2->set_autoindent_mode
EXPORTING
auto_indent = cl_gui_textedit=>false
EXCEPTIONS
OTHERS = 1.
ELSE.
CALL METHOD TEXT_EDITOR2->set_autoindent_mode
EXPORTING
auto_indent = cl_gui_textedit=>true
EXCEPTIONS
OTHERS = 1.
ENDIF.
ENDMODULE. " text_editor2 OUTPUT
&----
*& Module STATUS_0300 OUTPUT
&----
text
----
MODULE STATUS_0300 OUTPUT.
SET PF-STATUS 'PF_300'.
SET TITLEBAR 'TITLE _300'.
ENDMODULE. " STATUS_0300 OUTPUT
----
***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
10-24-2007 8:18 AM
hi,
check this code for create_text, similarly use function read_text to extract long text,
in ur transaction in longtext screen go to script editor and go for go to header option there u can get details like text id,object id,name etc u pass this in function module.
check this sample code for creating long text for po
DATA: BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR, " MATERIAL NUMBER
TEXT(5000) TYPE C, " Long Text
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 0,
MATNR LIKE MARA-MATNR, " Material No
SEQU TYPE I, " Text Sequence
TEXT(5000) TYPE C, " Long Text
END OF ITAB1.
DATA:BEGIN OF DT_LINES OCCURS 0.
INCLUDE STRUCTURE TLINE. " Long Text
DATA:END OF DT_LINES.
DATA : P_FILE1 TYPE STRING.
DATA : DL_NAME TYPE THEAD-TDNAME, " Object Name(material no)
DL_LAN TYPE THEAD-TDSPRAS. " Language
CONSTANTS:C_BEST TYPE THEAD-TDID VALUE 'BEST',
C_MATERIAL TYPE THEAD-TDOBJECT VALUE 'MATERIAL'. " OBJECT
DATA: START TYPE I,
LEN TYPE I VALUE 92,
TOTLEN TYPE I,
N TYPE I.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-101.
PARAMETERS P_FILE LIKE RLGRAP-FILENAME."input file
SELECTION-SCREEN : END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM FETCH_FILE USING P_FILE.
&----
*& Form fetch_file
&----
text
----
-->P_FILE text
----
FORM FETCH_FILE USING P_FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
IMPORTING
FILE_NAME = P_FILE.
ENDFORM. "fetch_file
START-OF-SELECTION.
PERFORM UPLOAD USING P_FILE. " *To Upload Flat file
PERFORM UPLOAD_TEXT.
&----
*& Form UPLOAD
&----
text
----
-->P_FILE text
----
FORM UPLOAD USING P_FILE.
P_FILE1 = P_FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = P_FILE1
FILETYPE = 'DAT'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
IF SY-SUBRC EQ 0.
*message i001 with p_file .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "UPLOAD
&----
*& Form UPLOAD_TEXT
&----
text
----
FORM UPLOAD_TEXT.
LOOP AT ITAB.
ITAB1-MATNR = ITAB-MATNR.
CLEAR: TOTLEN,N, START.
TOTLEN = STRLEN( ITAB-TEXT ).
N = TOTLEN / LEN.
N = N + 1.
DO N TIMES.
ITAB1-TEXT = ITAB-TEXT+START(LEN).
ITAB1-SEQU = SY-INDEX.
START = START + LEN.
APPEND ITAB1.
ENDDO.
ENDLOOP.
DELETE ITAB1 WHERE TEXT IS INITIAL.
SORT ITAB1 BY MATNR SEQU.
LOOP AT ITAB1.
DT_LINES-TDFORMAT = '*'.
DT_LINES-TDLINE = ITAB1-TEXT.
APPEND DT_LINES.
AT END OF MATNR.
DL_LAN = SY-LANGU.
WRITE : / itab-MATNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = ITAB1-MATNR
IMPORTING
OUTPUT = ITAB1-MATNR.
MOVE ITAB1-MATNR TO DL_NAME.
CALL FUNCTION 'CREATE_TEXT'
EXPORTING
FID = C_BEST
FLANGUAGE = DL_LAN
FNAME = DL_NAME
FOBJECT = C_MATERIAL
SAVE_DIRECT = 'X'
FFORMAT = '*'
TABLES
FLINES = DT_LINES
EXCEPTIONS
NO_INIT = 1
NO_SAVE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
WRITE:/10 'Long Text Creation failed for Material No', ITAB1-MATNR.
ELSE.
WRITE:/10 'Long Text Created Successfully for Material No', ITAB1-MATNR.
ENDIF.
REFRESH DT_LINES.
ENDAT.
ENDLOOP.
regards
siva
10-24-2007 8:19 AM
Go to transaction
SO10
There u can create texts
Reward points if helpful