<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: save and read data on TEXTEDIT in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/save-and-read-data-on-textedit/m-p/2709060#M627846</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ogawa&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following sample report &amp;lt;b&amp;gt;ZUS_SDN_PS_LONGTEXT_DISPLAY&amp;lt;/b&amp;gt; shows you how to read and save &amp;lt;u&amp;gt;longtexts &amp;lt;/u&amp;gt;of PSP elements. The same way you could save longtexts for objects in your custom tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_PS_LONGTEXT_DISPLAY
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Display and change of PSP element longtext
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zus_sdn_ps_longtext_display.


TYPE-POOLS: cntl.  " Types for Controls

DATA:
  gd_okcode      TYPE ui_func,
  go_docking     TYPE REF TO cl_gui_docking_container,
  go_textedit    TYPE REF TO cl_gui_textedit,
*
  gd_name        TYPE thead-tdname,
  gs_header      TYPE thead,
  gd_langu       TYPE thead-tdspras,
  gt_itf_text    TYPE STANDARD TABLE OF tline,
  gt_stream      TYPE TABLE OF text1024.  " string not possible



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.
  PUBLIC SECTION.

    CLASS-METHODS:
      handle_context_menu
        FOR EVENT context_menu OF cl_gui_textedit
          IMPORTING
            menu
            sender,

      handle_ctxmenu_selected
        FOR EVENT context_menu_selected OF cl_gui_textedit
          IMPORTING
            fcode
            sender.

ENDCLASS.                    "lcl_eventhandler DEFINITION



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_context_menu.

    CALL METHOD menu-&amp;gt;add_function
      EXPORTING
        fcode       = 'MY_FUNC'
        text        = 'My Function'
*        ICON        =
*        FTYPE       =
*        DISABLED    =
*        HIDDEN      =
*        CHECKED     =
*        ACCELERATOR =
        .

  ENDMETHOD.                    "handle_context_menu


  METHOD handle_ctxmenu_selected.

    CASE fcode.
      WHEN 'MY_FUNC'.
        MESSAGE 'My function selected from ctxmenu' TYPE 'I'.

      WHEN OTHERS.
    ENDCASE.

  ENDMETHOD.                    "handle_ctxmenu_selected

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION




PARAMETERS:
  p_pspnr    TYPE prps-pspnr.  "  default 'E-9990-4'.





START-OF-SELECTION.

* Get the text object (transaction SO10)
  gs_header-tdid = 'LTXT'.  " long text
  gs_header-tdspras = syst-langu.
  CONCATENATE syst-langu p_pspnr
      INTO gs_header-tdname.
  gs_header-tdobject = 'PMS'.


  CALL FUNCTION 'READ_TEXT'
    EXPORTING
*     CLIENT                        = SY-MANDT
      id                            = gs_header-tdid
      language                      = gs_header-tdspras
      name                          = gs_header-tdname
      object                        = gs_header-tdobject
*     ARCHIVE_HANDLE                = 0
*     LOCAL_CAT                     = ' '
*   IMPORTING
*     HEADER                        =
    TABLES
      lines                         = gt_itf_text
    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 &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  CALL FUNCTION 'CONVERT_ITF_TO_STREAM_TEXT'
*   EXPORTING
*     LANGUAGE          = SY-LANGU
    TABLES
      itf_text          = gt_itf_text
      text_stream       = gt_stream.
"   NOTE: if gt_stream a string table the report would dump here


  CALL SCREEN '0100'.


END-OF-SELECTION.



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SET_REGISTERED_EVENTS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM
set_registered_events .
* define local data
  DATA:
    lt_events      TYPE cntl_simple_events,
    ls_event       TYPE cntl_simple_event.


  TYPES: BEGIN OF cntl_simple_event,
       eventid TYPE i,
       appl_event TYPE c,
     END OF cntl_simple_event.


  ls_event-eventid = cl_gui_textedit=&amp;gt;event_context_menu.
  APPEND ls_event TO lt_events.
  ls_event-eventid = cl_gui_textedit=&amp;gt;event_context_menu_selected.
  APPEND ls_event TO lt_events.

  CALL METHOD go_textedit-&amp;gt;set_registered_events
    EXPORTING
      events                    = lt_events
    EXCEPTIONS
      cntl_error                = 1
      cntl_system_error         = 2
      illegal_event_combination = 3
      OTHERS                    = 4.
  IF sy-subrc &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.




ENDFORM.                    " SET_REGISTERED_EVENTS



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'MAIN_0100'.
*  SET TITLEBAR 'xxx'.


  CLEAR: gd_okcode.

  IF ( go_textedit IS NOT BOUND ).
    CREATE OBJECT go_docking
       EXPORTING
         parent                      = cl_gui_container=&amp;gt;screen0
*        REPID                       =
*        DYNNR                       =
*        SIDE                        = DOCK_AT_LEFT
*        EXTENSION                   = 50
*        STYLE                       =
*        LIFETIME                    = lifetime_default
*        CAPTION                     =
*        METRIC                      = 0
        ratio                       = 90
*        NO_AUTODEF_PROGID_DYNNR     =
*        NAME                        =
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        OTHERS                      = 6.
    IF sy-subrc &amp;lt;&amp;gt; 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    CREATE OBJECT go_textedit
      EXPORTING
*        MAX_NUMBER_CHARS       =
*        STYLE                  = 0
        wordwrap_mode          =
            c_textedit_control=&amp;gt;wordwrap_at_windowborder
*        WORDWRAP_POSITION      =
        wordwrap_to_linebreak_mode =
           c_textedit_control=&amp;gt;true
*        FILEDROP_MODE          = DROPFILE_EVENT_OFF
        parent                 = go_docking
*        LIFETIME               =
*        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 &amp;lt;&amp;gt; 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    CALL METHOD go_textedit-&amp;gt;set_text_as_stream
      EXPORTING
        text            = gt_stream
      EXCEPTIONS
        error_dp        = 1
        error_dp_create = 2
        OTHERS          = 3.
    IF sy-subrc &amp;lt;&amp;gt; 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    CALL METHOD go_textedit-&amp;gt;set_enable
      EXPORTING
        enable            = cl_gui_cfw=&amp;gt;true
      EXCEPTIONS
        cntl_error        = 1
        cntl_system_error = 2
        OTHERS            = 3.
    IF sy-subrc &amp;lt;&amp;gt; 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.


    PERFORM set_registered_events.
    SET HANDLER:
      lcl_eventhandler=&amp;gt;handle_context_menu     FOR go_textedit,
      lcl_eventhandler=&amp;gt;handle_ctxmenu_selected FOR go_textedit.
  ENDIF.

ENDMODULE.                 " STATUS_0100  OUTPUT



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

  CASE gd_okcode.
    WHEN 'BACK'  OR
         'EXIT'  OR
         'CANC'.
      SET SCREEN 0. LEAVE SCREEN.

    WHEN 'SAVE'.
      PERFORM save_longtext.

    WHEN OTHERS.
  ENDCASE.

  CLEAR: gd_okcode.

ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SAVE_LONGTEXT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM save_longtext .
* define local data
  DATA:
   lx_modified    TYPE i.


  REFRESH: gt_itf_text,
           gt_stream.

  CALL METHOD go_textedit-&amp;gt;get_text_as_stream
    EXPORTING
      only_when_modified     = cl_gui_textedit=&amp;gt;true
    IMPORTING
      text                   = gt_stream
      is_modified            = lx_modified
    EXCEPTIONS
      error_dp               = 1
      error_cntl_call_method = 2
      OTHERS                 = 3.
  IF sy-subrc &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  CHECK ( lx_modified = cl_gui_textedit=&amp;gt;true ).


  CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
*   EXPORTING
*     LANGUAGE          = SY-LANGU
    TABLES
      text_stream       = gt_stream
      itf_text          = gt_itf_text.



  CALL FUNCTION 'SAVE_TEXT'
    EXPORTING
*     CLIENT                = SY-MANDT
      header                = gs_header
*     INSERT                = ' '
      SAVEMODE_DIRECT       = 'X'
*     OWNER_SPECIFIED       = ' '
*     LOCAL_CAT             = ' '
*   IMPORTING
*     FUNCTION              =
*     NEWHEADER             =
    TABLES
      lines                 = gt_itf_text
    EXCEPTIONS
      id                    = 1
      language              = 2
      name                  = 3
      object                = 4
      OTHERS                = 5.
  IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " SAVE_LONGTEXT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to store long texts in your tables using a STRING field then you have to use methods &amp;lt;b&amp;gt;SET_TEXTSTREAM&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;GET_TEXTSTREAM&amp;lt;/b&amp;gt; of the textedit control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 19 Aug 2007 21:11:53 GMT</pubDate>
    <dc:creator>uwe_schieferstein</dc:creator>
    <dc:date>2007-08-19T21:11:53Z</dc:date>
    <item>
      <title>save and read data on TEXTEDIT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/save-and-read-data-on-textedit/m-p/2709059#M627845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have not used this class for textedit. &lt;/P&gt;&lt;P&gt;i've looked this article via this forum. but i am not clear on it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what type do i use for this field be applied for textedit?  string? or rawstring?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please correct my source to save data from textedit into ztable and read data from field of ztable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;save and read,,, please help me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. what type do i have to use for textedit?  maybe string?&lt;/P&gt;&lt;P&gt;2. how to save data to ztable from textedit. &lt;/P&gt;&lt;P&gt;3. how to read data from ztable and then put on textedit?.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  Z_TEXTEDIT01&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report  z_textedit01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : g_editor type ref to cl_gui_textedit,&lt;/P&gt;&lt;P&gt;       g_editor_container type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;       g_ok_code like sy-ucomm,&lt;/P&gt;&lt;P&gt;       ok_code   like sy-ucomm,&lt;/P&gt;&lt;P&gt;       g_repid like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types : begin of mytable_line,&lt;/P&gt;&lt;P&gt;          line(256) type c,&lt;/P&gt;&lt;P&gt;        end of mytable_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : g_mytable type table of mytable_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  call screen 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  START  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;module start output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if g_editor is initial.&lt;/P&gt;&lt;P&gt;     set pf-status 'MAIN100'.&lt;/P&gt;&lt;P&gt;     g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     create object g_editor_container&lt;/P&gt;&lt;P&gt;            exporting&lt;/P&gt;&lt;P&gt;              container_name = 'TEXTEDITOR1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     create object g_editor&lt;/P&gt;&lt;P&gt;            exporting&lt;/P&gt;&lt;P&gt;              parent = g_editor_container&lt;/P&gt;&lt;P&gt;              wordwrap_mode = cl_gui_textedit=&amp;gt;wordwrap_at_windowborder.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " START  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  EXIT  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;module exit input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Destroy Control.&lt;/P&gt;&lt;P&gt;  if not g_editor is initial.&lt;/P&gt;&lt;P&gt;    call method g_editor-&amp;gt;free.&lt;/P&gt;&lt;P&gt;*free abap object also&lt;/P&gt;&lt;P&gt;    free g_editor.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*destroy container&lt;/P&gt;&lt;P&gt;  if not g_editor_container is initial.&lt;/P&gt;&lt;P&gt;    call method g_editor_container-&amp;gt;free.&lt;/P&gt;&lt;P&gt;*free abap object also&lt;/P&gt;&lt;P&gt;    free g_editor_container.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*finally flush&lt;/P&gt;&lt;P&gt;  call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  leave program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " EXIT  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;module user_command_0100 input.&lt;/P&gt;&lt;P&gt;  g_ok_code = ok_code.&lt;/P&gt;&lt;P&gt;  clear ok_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case g_ok_code.&lt;/P&gt;&lt;P&gt;     when 'CHAN'.&lt;/P&gt;&lt;P&gt;           perform change_status.&lt;/P&gt;&lt;P&gt;     when 'PROT'.&lt;/P&gt;&lt;P&gt;           perform prot_status.&lt;/P&gt;&lt;P&gt;     when 'INDT'.&lt;/P&gt;&lt;P&gt;           perform indt_status.&lt;/P&gt;&lt;P&gt;     when 'FIND'.&lt;/P&gt;&lt;P&gt;           perform find_status.&lt;/P&gt;&lt;P&gt;     when 'HIGH'.&lt;/P&gt;&lt;P&gt;           perform high_status.&lt;/P&gt;&lt;P&gt;     when 'DELE'.&lt;/P&gt;&lt;P&gt;           perform dele_status.&lt;/P&gt;&lt;P&gt;     when 'TOOL'.&lt;/P&gt;&lt;P&gt;           perform tool_status.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  change_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form change_status .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : readonly type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  readonly = g_editor-&amp;gt;m_readonly_mode.&lt;/P&gt;&lt;P&gt;  if readonly &amp;lt;&amp;gt; g_editor-&amp;gt;false.&lt;/P&gt;&lt;P&gt;    readonly = g_editor-&amp;gt;false.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    readonly = g_editor-&amp;gt;true.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;set_readonly_mode&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;         readonly_mode = readonly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " read_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  prot_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form prot_status .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data g_mytable type table of mytable_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data n type i value 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;get_selected_text_as_r3table&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        table = g_mytable.&lt;/P&gt;&lt;P&gt;      describe table g_mytable lines n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;protect_lines&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        from_line   = 1&lt;/P&gt;&lt;P&gt;        to_line     = n&lt;/P&gt;&lt;P&gt;        protect_mode = 1&lt;/P&gt;&lt;P&gt;        enable_editing_protected_text = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " prot_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  indt_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form indt_status .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data g_mytable type table of mytable_line.&lt;/P&gt;&lt;P&gt;  data n type i.&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;get_selected_text_as_r3table&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;         table = g_mytable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  describe table g_mytable lines n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;indent_lines&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        from_line = 1&lt;/P&gt;&lt;P&gt;        to_line   = n&lt;/P&gt;&lt;P&gt;        enable_editing_protected_text = 1.&lt;/P&gt;&lt;P&gt;endform.                    " indt_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  find_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form find_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; data g_mytable type table of mytable_line.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; call method g_editor-&amp;gt;find_and_select_text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     exporting&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       search_string   = search_string&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       case_sensitive_mode = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       whole_word_mode     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     changing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       string_found        = found.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " find_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  high_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form high_status .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data g_mytable type table of mytable_line.&lt;/P&gt;&lt;P&gt;  data n type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;get_selected_text_as_r3table&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        table = g_mytable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  describe table g_mytable lines n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;highlight_lines&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        from_line = 0&lt;/P&gt;&lt;P&gt;        to_line   = n&lt;/P&gt;&lt;P&gt;        highlight_mode = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " high_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  dele_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form dele_status .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;delete_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " dele_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  tool_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form tool_status .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : toolbar   type i,&lt;/P&gt;&lt;P&gt;         statusbar type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  toolbar = g_editor-&amp;gt;m_toolbar_mode.&lt;/P&gt;&lt;P&gt;  statusbar = g_editor-&amp;gt;m_statusbar_mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if ( ( toolbar &amp;lt;&amp;gt; g_editor-&amp;gt;false ) or ( statusbar &amp;lt;&amp;gt; g_editor-&amp;gt;false ) ).&lt;/P&gt;&lt;P&gt;     toolbar = statusbar = g_editor-&amp;gt;false.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;     toolbar = statusbar = g_editor-&amp;gt;true.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;set_toolbar_mode&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        toolbar_mode = toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call method g_editor-&amp;gt;set_statusbar_mode&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        statusbar_mode = statusbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " tool_status&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 19 Aug 2007 18:35:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/save-and-read-data-on-textedit/m-p/2709059#M627845</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-19T18:35:05Z</dc:date>
    </item>
    <item>
      <title>Re: save and read data on TEXTEDIT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/save-and-read-data-on-textedit/m-p/2709060#M627846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ogawa&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following sample report &amp;lt;b&amp;gt;ZUS_SDN_PS_LONGTEXT_DISPLAY&amp;lt;/b&amp;gt; shows you how to read and save &amp;lt;u&amp;gt;longtexts &amp;lt;/u&amp;gt;of PSP elements. The same way you could save longtexts for objects in your custom tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_PS_LONGTEXT_DISPLAY
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Display and change of PSP element longtext
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zus_sdn_ps_longtext_display.


TYPE-POOLS: cntl.  " Types for Controls

DATA:
  gd_okcode      TYPE ui_func,
  go_docking     TYPE REF TO cl_gui_docking_container,
  go_textedit    TYPE REF TO cl_gui_textedit,
*
  gd_name        TYPE thead-tdname,
  gs_header      TYPE thead,
  gd_langu       TYPE thead-tdspras,
  gt_itf_text    TYPE STANDARD TABLE OF tline,
  gt_stream      TYPE TABLE OF text1024.  " string not possible



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.
  PUBLIC SECTION.

    CLASS-METHODS:
      handle_context_menu
        FOR EVENT context_menu OF cl_gui_textedit
          IMPORTING
            menu
            sender,

      handle_ctxmenu_selected
        FOR EVENT context_menu_selected OF cl_gui_textedit
          IMPORTING
            fcode
            sender.

ENDCLASS.                    "lcl_eventhandler DEFINITION



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_context_menu.

    CALL METHOD menu-&amp;gt;add_function
      EXPORTING
        fcode       = 'MY_FUNC'
        text        = 'My Function'
*        ICON        =
*        FTYPE       =
*        DISABLED    =
*        HIDDEN      =
*        CHECKED     =
*        ACCELERATOR =
        .

  ENDMETHOD.                    "handle_context_menu


  METHOD handle_ctxmenu_selected.

    CASE fcode.
      WHEN 'MY_FUNC'.
        MESSAGE 'My function selected from ctxmenu' TYPE 'I'.

      WHEN OTHERS.
    ENDCASE.

  ENDMETHOD.                    "handle_ctxmenu_selected

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION




PARAMETERS:
  p_pspnr    TYPE prps-pspnr.  "  default 'E-9990-4'.





START-OF-SELECTION.

* Get the text object (transaction SO10)
  gs_header-tdid = 'LTXT'.  " long text
  gs_header-tdspras = syst-langu.
  CONCATENATE syst-langu p_pspnr
      INTO gs_header-tdname.
  gs_header-tdobject = 'PMS'.


  CALL FUNCTION 'READ_TEXT'
    EXPORTING
*     CLIENT                        = SY-MANDT
      id                            = gs_header-tdid
      language                      = gs_header-tdspras
      name                          = gs_header-tdname
      object                        = gs_header-tdobject
*     ARCHIVE_HANDLE                = 0
*     LOCAL_CAT                     = ' '
*   IMPORTING
*     HEADER                        =
    TABLES
      lines                         = gt_itf_text
    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 &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  CALL FUNCTION 'CONVERT_ITF_TO_STREAM_TEXT'
*   EXPORTING
*     LANGUAGE          = SY-LANGU
    TABLES
      itf_text          = gt_itf_text
      text_stream       = gt_stream.
"   NOTE: if gt_stream a string table the report would dump here


  CALL SCREEN '0100'.


END-OF-SELECTION.



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SET_REGISTERED_EVENTS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM
set_registered_events .
* define local data
  DATA:
    lt_events      TYPE cntl_simple_events,
    ls_event       TYPE cntl_simple_event.


  TYPES: BEGIN OF cntl_simple_event,
       eventid TYPE i,
       appl_event TYPE c,
     END OF cntl_simple_event.


  ls_event-eventid = cl_gui_textedit=&amp;gt;event_context_menu.
  APPEND ls_event TO lt_events.
  ls_event-eventid = cl_gui_textedit=&amp;gt;event_context_menu_selected.
  APPEND ls_event TO lt_events.

  CALL METHOD go_textedit-&amp;gt;set_registered_events
    EXPORTING
      events                    = lt_events
    EXCEPTIONS
      cntl_error                = 1
      cntl_system_error         = 2
      illegal_event_combination = 3
      OTHERS                    = 4.
  IF sy-subrc &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.




ENDFORM.                    " SET_REGISTERED_EVENTS



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'MAIN_0100'.
*  SET TITLEBAR 'xxx'.


  CLEAR: gd_okcode.

  IF ( go_textedit IS NOT BOUND ).
    CREATE OBJECT go_docking
       EXPORTING
         parent                      = cl_gui_container=&amp;gt;screen0
*        REPID                       =
*        DYNNR                       =
*        SIDE                        = DOCK_AT_LEFT
*        EXTENSION                   = 50
*        STYLE                       =
*        LIFETIME                    = lifetime_default
*        CAPTION                     =
*        METRIC                      = 0
        ratio                       = 90
*        NO_AUTODEF_PROGID_DYNNR     =
*        NAME                        =
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        OTHERS                      = 6.
    IF sy-subrc &amp;lt;&amp;gt; 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    CREATE OBJECT go_textedit
      EXPORTING
*        MAX_NUMBER_CHARS       =
*        STYLE                  = 0
        wordwrap_mode          =
            c_textedit_control=&amp;gt;wordwrap_at_windowborder
*        WORDWRAP_POSITION      =
        wordwrap_to_linebreak_mode =
           c_textedit_control=&amp;gt;true
*        FILEDROP_MODE          = DROPFILE_EVENT_OFF
        parent                 = go_docking
*        LIFETIME               =
*        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 &amp;lt;&amp;gt; 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    CALL METHOD go_textedit-&amp;gt;set_text_as_stream
      EXPORTING
        text            = gt_stream
      EXCEPTIONS
        error_dp        = 1
        error_dp_create = 2
        OTHERS          = 3.
    IF sy-subrc &amp;lt;&amp;gt; 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    CALL METHOD go_textedit-&amp;gt;set_enable
      EXPORTING
        enable            = cl_gui_cfw=&amp;gt;true
      EXCEPTIONS
        cntl_error        = 1
        cntl_system_error = 2
        OTHERS            = 3.
    IF sy-subrc &amp;lt;&amp;gt; 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.


    PERFORM set_registered_events.
    SET HANDLER:
      lcl_eventhandler=&amp;gt;handle_context_menu     FOR go_textedit,
      lcl_eventhandler=&amp;gt;handle_ctxmenu_selected FOR go_textedit.
  ENDIF.

ENDMODULE.                 " STATUS_0100  OUTPUT



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

  CASE gd_okcode.
    WHEN 'BACK'  OR
         'EXIT'  OR
         'CANC'.
      SET SCREEN 0. LEAVE SCREEN.

    WHEN 'SAVE'.
      PERFORM save_longtext.

    WHEN OTHERS.
  ENDCASE.

  CLEAR: gd_okcode.

ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SAVE_LONGTEXT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM save_longtext .
* define local data
  DATA:
   lx_modified    TYPE i.


  REFRESH: gt_itf_text,
           gt_stream.

  CALL METHOD go_textedit-&amp;gt;get_text_as_stream
    EXPORTING
      only_when_modified     = cl_gui_textedit=&amp;gt;true
    IMPORTING
      text                   = gt_stream
      is_modified            = lx_modified
    EXCEPTIONS
      error_dp               = 1
      error_cntl_call_method = 2
      OTHERS                 = 3.
  IF sy-subrc &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  CHECK ( lx_modified = cl_gui_textedit=&amp;gt;true ).


  CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
*   EXPORTING
*     LANGUAGE          = SY-LANGU
    TABLES
      text_stream       = gt_stream
      itf_text          = gt_itf_text.



  CALL FUNCTION 'SAVE_TEXT'
    EXPORTING
*     CLIENT                = SY-MANDT
      header                = gs_header
*     INSERT                = ' '
      SAVEMODE_DIRECT       = 'X'
*     OWNER_SPECIFIED       = ' '
*     LOCAL_CAT             = ' '
*   IMPORTING
*     FUNCTION              =
*     NEWHEADER             =
    TABLES
      lines                 = gt_itf_text
    EXCEPTIONS
      id                    = 1
      language              = 2
      name                  = 3
      object                = 4
      OTHERS                = 5.
  IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " SAVE_LONGTEXT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to store long texts in your tables using a STRING field then you have to use methods &amp;lt;b&amp;gt;SET_TEXTSTREAM&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;GET_TEXTSTREAM&amp;lt;/b&amp;gt; of the textedit control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 19 Aug 2007 21:11:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/save-and-read-data-on-textedit/m-p/2709060#M627846</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-08-19T21:11:53Z</dc:date>
    </item>
  </channel>
</rss>

