Application Development and Automation 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: 
Read only

Creating text editor on a screen

Former Member
0 Likes
1,626

I am creating a text editor using the class CL_GUI_TEXTEDIT.Everything is coming fine but i want the text editor to open up a pop-up window. But here it is coming in the full screen editor.

This is my code.But i dnt know where to change in order to get the text-editor in a pop-up.

Should I change the screen100 type as modal dialog box or subscreen, as now it is defined as normal screen??

REPORT ZTEXT_EDITOR.

DATA: LINE_LENGTH TYPE I VALUE 254,

EDITOR_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

TEXT_EDITOR TYPE REF TO CL_GUI_TEXTEDIT,

TEXT TYPE STRING.

START-OF-SELECTION.

CALL SCREEN '100'.

*&----


**& Module STATUS_0100 OUTPUT

*&----


    • text

*----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'STATUS_0100'.

IF TEXT_EDITOR IS INITIAL.

CREATE OBJECT EDITOR_CONTAINER

EXPORTING

CONTAINER_NAME = 'TEXTEDITOR'

EXCEPTIONS

CNTL_ERROR = 1

CNTL_SYSTEM_ERROR = 2

CREATE_ERROR = 3

LIFETIME_ERROR = 4

LIFETIME_DYNPRO_DYNPRO_LINK = 5.

CREATE OBJECT TEXT_EDITOR

EXPORTING

PARENT = EDITOR_CONTAINER

WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION

WORDWRAP_POSITION = LINE_LENGTH

WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.

*3)HIDE TOOLBAR AND STATUSBAR

CALL METHOD TEXT_EDITOR->SET_TOOLBAR_MODE

EXPORTING

TOOLBAR_MODE = CL_GUI_TEXTEDIT=>FALSE.

CALL METHOD TEXT_EDITOR->SET_STATUSBAR_MODE

EXPORTING

STATUSBAR_MODE = CL_GUI_TEXTEDIT=>FALSE.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'SAVE'.

CALL METHOD TEXT_EDITOR->GET_TEXTSTREAM

  • EXPORTING

  • ONLY_WHEN_MODIFIED = CL_GUI_TEXTEDIT=>TRUE

IMPORTING

TEXT = TEXT

  • IS_MODIFIED =

EXCEPTIONS

ERROR_CNTL_CALL_METHOD = 1

NOT_SUPPORTED_BY_GUI = 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 CL_GUI_CFW=>FLUSH

EXCEPTIONS

CNTL_SYSTEM_ERROR = 1

CNTL_ERROR = 2

OTHERS = 3.

MESSAGE TEXT TYPE 'I'.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

I am creating a text editor using the class CL_GUI_TEXTEDIT.Everything is coming fine but i want the text editor to open up a pop-up window. But here it is coming in the full screen editor.

This is my code.But i dnt know where to change in order to get the text-editor in a pop-up.

Should I change the screen100 type as modal dialog box or subscreen, as now it is defined as normal screen??

REPORT ZTEXT_EDITOR.

DATA: LINE_LENGTH TYPE I VALUE 254,

EDITOR_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

TEXT_EDITOR TYPE REF TO CL_GUI_TEXTEDIT,

TEXT TYPE STRING.

START-OF-SELECTION.

CALL SCREEN '100'.

*&----


**& Module STATUS_0100 OUTPUT

*&----


    • text

*----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'STATUS_0100'.

IF TEXT_EDITOR IS INITIAL.

CREATE OBJECT EDITOR_CONTAINER

EXPORTING

CONTAINER_NAME = 'TEXTEDITOR'

EXCEPTIONS

CNTL_ERROR = 1

CNTL_SYSTEM_ERROR = 2

CREATE_ERROR = 3

LIFETIME_ERROR = 4

LIFETIME_DYNPRO_DYNPRO_LINK = 5.

CREATE OBJECT TEXT_EDITOR

EXPORTING

PARENT = EDITOR_CONTAINER

WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION

WORDWRAP_POSITION = LINE_LENGTH

WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.

*3)HIDE TOOLBAR AND STATUSBAR

CALL METHOD TEXT_EDITOR->SET_TOOLBAR_MODE

EXPORTING

TOOLBAR_MODE = CL_GUI_TEXTEDIT=>FALSE.

CALL METHOD TEXT_EDITOR->SET_STATUSBAR_MODE

EXPORTING

STATUSBAR_MODE = CL_GUI_TEXTEDIT=>FALSE.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'SAVE'.

CALL METHOD TEXT_EDITOR->GET_TEXTSTREAM

  • EXPORTING

  • ONLY_WHEN_MODIFIED = CL_GUI_TEXTEDIT=>TRUE

IMPORTING

TEXT = TEXT

  • IS_MODIFIED =

EXCEPTIONS

ERROR_CNTL_CALL_METHOD = 1

NOT_SUPPORTED_BY_GUI = 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 CL_GUI_CFW=>FLUSH

EXCEPTIONS

CNTL_SYSTEM_ERROR = 1

CNTL_ERROR = 2

OTHERS = 3.

MESSAGE TEXT TYPE 'I'.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

3 REPLIES 3
Read only

Former Member
0 Likes
958

Hi

Try this out

Call screen 100 starting at 10 10

ending at 20 20.

Regards

Ramchander Rao.K

Read only

Former Member
0 Likes
958

Hi Priya,

Give the different window co-ordinates.

Regards,

Flavya

Read only

Former Member
0 Likes
958

Hello,

Change the screen type to 'Model Dialog Box'

and when calling the screen call like this :

call screen 'screen_number' starting at 0 0

ending at 100 100.

Regards,

Prashant