Application Development 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: 

How to create a long text

Former Member
0 Kudos

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.

4 REPLIES 4

Former Member
0 Kudos

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

Former Member
0 Kudos

&----


*& 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

Former Member
0 Kudos

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

Former Member
0 Kudos

Go to transaction

SO10

There u can create texts

Reward points if helpful