<?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: three custom control in module pool in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/three-custom-control-in-module-pool/m-p/6002590#M1344566</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;answered&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 18 Aug 2009 10:24:43 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-08-18T10:24:43Z</dc:date>
    <item>
      <title>three custom control in module pool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/three-custom-control-in-module-pool/m-p/6002589#M1344565</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Hello Friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have created three custom control which will allow user to enter long text in zmodule pool program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is when im saving the data its updating the table stxh and stxl with the data entered in the third custom control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example&lt;/P&gt;&lt;P&gt;1st custom control contains data  &amp;gt;&amp;gt;&amp;gt; u2018hellou2019--- text id 0001(created in se75 tcode)&lt;/P&gt;&lt;P&gt;2nd custom control contains data &amp;gt;&amp;gt; u2018How u2019 --- text id 0002(created in se75 tcode)&lt;/P&gt;&lt;P&gt;3rd custom control contains data &amp;gt;&amp;gt;&amp;gt; u2018are youu2019---- text id 0003(created in se75 tcode)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now in the database table it is saving text as  u2018are youu2019   three times, pls suggest what can be the problem .. for your reference im pasting my code below.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declarations *****************************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;PRE&gt;&lt;CODE&gt;
CLASS event_handler DEFINITION.
  PUBLIC SECTION.
    METHODS: handle_f1 FOR EVENT f1 OF cl_gui_textedit
             IMPORTING sender,
             handle_f4 FOR EVENT f4 OF cl_gui_textedit
             IMPORTING sender.

ENDCLASS.                    "event_handler DEFINITION

DATA:save_ok LIKE sy-ucomm.

DATA: init,
      container TYPE REF TO cl_gui_custom_container,
      editor    TYPE REF TO cl_gui_textedit.

DATA: event_tab TYPE cntl_simple_events,
      event     TYPE cntl_simple_event.

DATA handle TYPE REF TO event_handler.
DATA: line(256) TYPE c,
      text_tab LIKE STANDARD TABLE OF line,
      field LIKE line,
      wa_text type line,
      lv_txt type string,
      header like thead,
      header1 like thead,
      header2 like thead,
      tbtxt like standard table of line,
      WTBTXT type line,
      FTTXT LIKE STANDARD TABLE OF LINE,
      WFTTxt type line.
* Internal table to store the Longtext
DATA:BEGIN OF I_LINES OCCURS 0.
        INCLUDE STRUCTURE TLINE.
DATA:END OF I_LINES.

DATA:BEGIN OF I_LINES1 OCCURS 0.
        INCLUDE STRUCTURE TLINE.
DATA:END OF I_LINES1.

DATA:BEGIN OF I_LINES2 OCCURS 0.
        INCLUDE STRUCTURE TLINE.
DATA:END OF I_LINES2.

Pbo

MODULE STATUS_2000 OUTPUT.
  SET PF-STATUS 'ZPF2000'.
*  SET TITLEBAR 'xxx'.
*  IF init is initial.
*    init = 'X'.
******************************    FOR TEXTEDIT CUSTOM CONTROL
    CREATE OBJECT: container EXPORTING container_name = 'TEXTEDIT',
                   editor    EXPORTING parent = container,
                   handle.
    event-eventid = cl_gui_textedit=&amp;gt;event_f1.
    event-appl_event = ' '.                     "system event
    APPEND event TO event_tab.
    event-eventid = cl_gui_textedit=&amp;gt;event_f4.
    event-appl_event = 'X'.                     "application event
    APPEND event TO event_tab.
    CALL METHOD: editor-&amp;gt;set_registered_events
                 EXPORTING events = event_tab.
    SET HANDLER handle-&amp;gt;handle_f1
                handle-&amp;gt;handle_f4 FOR editor.
*  ENDIF.
  CALL METHOD editor-&amp;gt;set_text_as_stream
    EXPORTING
      text = text_tab.

*********************************  for tbtxt contaner
*  CLEAR INIT.
*  IF init is initial.
*    init = 'X'.
    CREATE OBJECT: container EXPORTING container_name = 'TBTXT',
                   editor    EXPORTING parent = container,
                   handle.

  CALL METHOD editor-&amp;gt;set_text_as_stream
    EXPORTING
      text = tbtxt.



**************************** for FTTXT CONTAINER CUSTOM CONTROL
*  CLEAR INIT.
*  IF init is initial.
*    init = 'X'.
    CREATE OBJECT: container EXPORTING container_name = 'FTTXT',
                   editor    EXPORTING parent = container,
                   handle.

  CALL METHOD editor-&amp;gt;set_text_as_stream
    EXPORTING
      text = FTTXT.



ENDMODULE.                 " STATUS_2000  OUTPUT

PAI

CASE SY-UCOMM.
    WHEN 'INSERT'.
      CONCATENATE ZSV_SD_SP-COMINV ZSV_SD_SP-COMINVYR INTO NAME.


      SELECT SINGLE * FROM STXH WHERE TDOBJECT = 'ZMEMO1'
              AND TDNAME EQ NAME AND TDID EQ '0001'.

      IF SY-SUBRC EQ 0.
        DELETE FROM STXH WHERE TDOBJECT = 'ZMEMO1'
      AND TDNAME EQ NAME AND TDID EQ '0001'.
       COMMIT WORK AND WAIT.

        DELETE FROM STXL WHERE TDOBJECT = 'ZMEMO1'
    AND TDNAME EQ NAME AND TDID EQ '0001'.
 COMMIT WORK AND WAIT.

      ENDIF.
      CALL METHOD editor-&amp;gt;get_text_as_stream
        IMPORTING
          text = text_tab.
      IF NOT TEXT_TAB[] IS INITIAL.

        LOOP AT TEXT_TAB INTO WA_TEXT.

          I_LINES-TDLINE = WA_TEXT-LINE.
          APPEND I_LINES.
          CLEAR : I_LINES,WA_TEXT.
        ENDLOOP.

        HEADER-TDOBJECT = 'ZMEMO1'.
        HEADER-TDNAME   = NAME.
        HEADER-TDID     = '0001'.
        HEADER-TDSPRAS  = SY-LANGU.


        CALL FUNCTION 'SAVE_TEXT'
          EXPORTING
           CLIENT                = SY-MANDT
            HEADER               = HEADER
           INSERT                = 'X'
*   SAVEMODE_DIRECT       = ' '
*   OWNER_SPECIFIED       = ' '
*   LOCAL_CAT             = ' '
* IMPORTING
*   FUNCTION              =
*   NEWHEADER             =
          TABLES
            LINES                 = I_LINES[]

                  .
        IF SY-SUBRC EQ 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          COMMIT WORK AND WAIT.
*          REFRESH TEXT_TAB.
*          CALL SCREEN 1000.
        ENDIF.
      ENDIF.
*************************************for tbtxt custom control
      REFRESH I_LINES[].
      CLEAR I_LINES[].
      CLEAR HEADER.
      SELECT SINGLE * FROM STXH WHERE TDOBJECT = 'ZMEMO1'
                    AND TDNAME EQ NAME AND TDID EQ '0002'.

      IF SY-SUBRC EQ 0.
        DELETE FROM STXH WHERE TDOBJECT = 'ZMEMO1'
      AND TDNAME EQ NAME AND TDID EQ '0002'.
           COMMIT WORK AND WAIT.
        DELETE FROM STXL WHERE TDOBJECT = 'ZMEMO1'
    AND TDNAME EQ NAME AND TDID EQ '0002'.
         COMMIT WORK AND WAIT.

      ENDIF.
      CALL METHOD editor-&amp;gt;get_text_as_stream
        IMPORTING
          text = TBTXT.
      IF NOT TBTXT[] IS INITIAL.

        LOOP AT TBTXT INTO WTBTXT.
          I_LINES1-TDLINE = WTBTXT-LINE.
          APPEND I_LINES1.
          CLEAR : I_LINES1,WTBTXT.
        ENDLOOP.

        HEADER1-TDOBJECT = 'ZMEMO1'.
        HEADER1-TDNAME =    NAME.
        HEADER1-TDID     = '0002'.
        HEADER1-TDSPRAS  = SY-LANGU.


        CALL FUNCTION 'SAVE_TEXT'
          EXPORTING
           CLIENT                = SY-MANDT
            HEADER                = HEADER1
           INSERT                = 'X'
*   SAVEMODE_DIRECT       = ' '
*   OWNER_SPECIFIED       = ' '
*   LOCAL_CAT             = ' '
* IMPORTING
*   FUNCTION              =
*   NEWHEADER             =
          TABLES
            LINES                 = I_LINES1[]

                  .
        IF SY-SUBRC EQ 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          COMMIT WORK AND WAIT.
*          REFRESH TEXT_TAB.
*          CALL SCREEN 1000.
        ENDIF.
      ENDIF.
*********************************************** for fttxt custom control
      REFRESH I_LINES1[].
      CLEAR HEADER1.
      SELECT SINGLE * FROM STXH WHERE TDOBJECT = 'ZMEMO1'
                    AND TDNAME EQ NAME AND TDID EQ '0003'.

      IF SY-SUBRC EQ 0.
        DELETE FROM STXH WHERE TDOBJECT = 'ZMEMO1'
      AND TDNAME EQ NAME AND TDID EQ '0003'.
           COMMIT WORK AND WAIT.
        DELETE FROM STXL WHERE TDOBJECT = 'ZMEMO1'
    AND TDNAME EQ NAME AND TDID EQ '0003'.
         COMMIT WORK AND WAIT.

      ENDIF.
      CALL METHOD editor-&amp;gt;get_text_as_stream
        IMPORTING
          text = FTtxt.
      IF NOT FTtxt[] IS INITIAL.

        LOOP AT FTTXT INTO WFTTXT.

          I_LINES2-TDLINE = WFTTXT-LINE.
          APPEND I_LINES2.
          CLEAR : I_LINES2,WFTTXT.
        ENDLOOP.

        HEADER2-TDOBJECT = 'ZMEMO1'.
        HEADER2-TDNAME   =  NAME.
        HEADER2-TDID     = '0003'.
        HEADER2-TDSPRAS  =  SY-LANGU.


        CALL FUNCTION 'SAVE_TEXT'
          EXPORTING
           CLIENT                = SY-MANDT
            HEADER                = HEADER2
           INSERT                = 'X'
*   SAVEMODE_DIRECT       = ' '
*   OWNER_SPECIFIED       = ' '
*   LOCAL_CAT             = ' '
* IMPORTING
*   FUNCTION              =
*   NEWHEADER             =
          TABLES
            LINES                 = I_LINES2[]

                  .
        IF SY-SUBRC EQ 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          COMMIT WORK AND WAIT.
*          REFRESH TEXT_TAB.
*
        ENDIF.
      ENDIF.
      CALL SCREEN 1000.
    WHEN OTHERS.
*      MESSAGE i888(sabapdocu) WITH text-002.
      CALL METHOD cl_gui_cfw=&amp;gt;dispatch.      "for application events
*      MESSAGE i888(sabapdocu) WITH text-003.
  ENDCASE.

ENDMODULE.                 " USER_COMMAND_2000  INPUT

CLASS event_handler IMPLEMENTATION.
  METHOD handle_f1.
    DATA row TYPE i.
    MESSAGE i888(sabapdocu) WITH text-004.
    CALL METHOD sender-&amp;gt;get_selection_pos
      IMPORTING
        from_line = row.
    CALL METHOD sender-&amp;gt;get_line_text
      EXPORTING
        line_number = row
      IMPORTING
        text        = field.
    CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code   "raise PAI for
         EXPORTING new_code = 'F1'.           "system events
    CALL METHOD cl_gui_cfw=&amp;gt;flush.
  ENDMETHOD.                                                "handle_f1
  METHOD handle_f4.
    DATA row TYPE i.
    MESSAGE i888(sabapdocu) WITH text-005.
    CALL METHOD sender-&amp;gt;get_selection_pos
      IMPORTING
        from_line = row.
    CALL METHOD sender-&amp;gt;get_line_text
      EXPORTING
        line_number = row
      IMPORTING
        text        = field.
    CALL METHOD cl_gui_cfw=&amp;gt;flush.
  ENDMETHOD.                                                "handle_f4
ENDCLASS.                    "event_handler IMPLEMENTATION
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;Sunny Vaswani&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Sandeep Bhowmick on Aug 18, 2009 11:08 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Aug 2009 09:07:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/three-custom-control-in-module-pool/m-p/6002589#M1344565</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-08-18T09:07:35Z</dc:date>
    </item>
    <item>
      <title>Re: three custom control in module pool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/three-custom-control-in-module-pool/m-p/6002590#M1344566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;answered&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Aug 2009 10:24:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/three-custom-control-in-module-pool/m-p/6002590#M1344566</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-08-18T10:24:43Z</dc:date>
    </item>
  </channel>
</rss>

