‎2009 Apr 27 5:51 PM
Hi,
I need a text editor box on selection screen in display mode. and I'm using cl_gui_textedit class to get it.. but for some reason its not working.
Here is the code below -
report YLTEST1
no standard page heading line-size 255.
DATA: g_text_editor TYPE REF TO cl_gui_textedit,
g_text_container TYPE REF TO cl_gui_custom_container,
g_gen_text_editor TYPE REF TO cl_gui_textedit,
g_gen_text_container TYPE REF TO cl_gui_custom_container.
DATA: WORDWRAP_POSITION LIKE CL_GUI_TEXTEDIT=>M_WORDWRAP_POSITION.
data: g_gen_txt_container TYPE scrfname VALUE 'GENERAL_TEXT_FOR_REPS'.
DATA: TEXT_TAB TYPE STANDARD TABLE OF LINE.
parameters: p_check.
at selection-screen output.
Create sales Text container
WORDWRAP_POSITION = 100.
IF G_GEN_TEXT_CONTAINER IS INITIAL.
CREATE OBJECT:
G_GEN_TEXT_CONTAINER EXPORTING CONTAINER_NAME = G_GEN_TXT_CONTAINER,
G_GEN_TEXT_EDITOR EXPORTING PARENT = G_GEN_TEXT_CONTAINER
WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
WORDWRAP_POSITION = WORDWRAP_POSITION
WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.
ENDIF.
IF not G_GEN_TEXT_CONTAINER IS INITIAL.
Set container options
CALL METHOD: G_GEN_TEXT_EDITOR->SET_TOOLBAR_MODE
EXPORTING TOOLBAR_MODE = 0,
G_GEN_TEXT_EDITOR->SET_READONLY_MODE
EXPORTING READONLY_MODE = 1,
G_GEN_TEXT_EDITOR->SET_STATUSBAR_MODE
EXPORTING STATUSBAR_MODE = 0,
G_GEN_TEXT_EDITOR->SET_AUTOINDENT_MODE
EXPORTING AUTO_INDENT = 1.
Pass the text to the sales text container
CALL METHOD G_GEN_TEXT_EDITOR->SET_TEXT_AS_STREAM
EXPORTING
TEXT = TEXT_TAB.
endif.
‎2009 Apr 27 6:24 PM
looks like you are creating a screen
CREATE OBJECT:
G_GEN_TEXT_CONTAINER EXPORTING CONTAINER_NAME = G_GEN_TXT_CONTAINER,make sure you are using that screen in fact calling screen.
‎2009 Apr 27 6:33 PM
Do I need to create a screen or anything like that... I just coded this and trying to execute..
‎2009 Apr 27 6:49 PM
you need to create a container in se51 and assign the container name as you declared in the program.
[Concept of OO|http://help.sap.com/saphelp_nw70/helpdata/en/2a/755b94ca5911d299af5c9604c10e27/content.htm]
[Create Text Editor Source code|https://wiki.sdn.sap.com/wiki/x/780] by Karthikeyan
‎2009 Apr 27 6:59 PM
Try this way:
DATA: lo_dock TYPE REF TO cl_gui_docking_container.
DATA: lo_text_editor TYPE REF TO cl_gui_textedit.
DATA: lt_tab TYPE STANDARD TABLE OF char80.
DATA: la_tab LIKE LINE OF lt_tab.
DATA: w_carrid TYPE sflight-carrid.
** Selection Screen
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE aaa.
SELECT-OPTIONS: s_carrid FOR w_carrid.
SELECTION-SCREEN: END OF BLOCK blk1.
INITIALIZATION.
* Docking container
CHECK lo_dock IS INITIAL.
CREATE OBJECT lo_dock
EXPORTING
repid = sy-cprog
dynnr = sy-dynnr
ratio = 80
side = cl_gui_docking_container=>dock_at_bottom
name = 'DOCK_CONT'.
IF sy-subrc <> 0.
MESSAGE 'Error in the Docking control' TYPE 'S'.
ENDIF.
* Text Editor
CREATE OBJECT lo_text_editor
EXPORTING
parent = lo_dock
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.
* Set text
la_tab = 'This is test'.
APPEND la_tab TO lt_tab.
CALL METHOD lo_text_editor->set_text_as_r3table
EXPORTING
table = lt_tab
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.
Regards,
Naimesh Patel