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

CL_GUI_TEXTEDIT refresh problem

Former Member
0 Likes
598

Dear Gurus ,

I made a custom screen that has 3 texteditor controls . The screen works fine but the one problem that i have is the below :

I have 2 kind of users: Full user - Particiopant user

When i load the screen at the first time all the controls are editable .

When i choose the the participant user i want the texteditor controls to be in readonly mode.

So i do the following :

IF PARTICIPANTS = 'X'.

    CALL METHOD G_EDITOR_1->SET_READONLY_MODE
        EXPORTING
          READONLY_MODE          = '1'
        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.

when i change the user to full can't change !!!!!!

Look the problem in steps:

1. load the screen in editable mode

2. changing the controls to readonly ok

3. changing to editble false

Only one time i can change the screen control !!!!

look my code ...




  IF G_EDITOR_1 IS INITIAL.

*   initilize local variable with sy-repid, since sy-repid doesn't work
*    as parameter directly.
    G_REPID = SY-REPID.

*   create control container
    CREATE OBJECT G_EDITOR_CONTAINER_1
        EXPORTING
            CONTAINER_NAME = 'TEXTEDITOR1'
        EXCEPTIONS
            CNTL_ERROR = 1
            CNTL_SYSTEM_ERROR = 2
            CREATE_ERROR = 3
            LIFETIME_ERROR = 4
            LIFETIME_DYNPRO_DYNPRO_LINK = 5.
    IF SY-SUBRC NE 0.
*      add your handling
    ENDIF.

    CREATE OBJECT G_EDITOR_CONTAINER_2
        EXPORTING
            CONTAINER_NAME = 'TEXTEDITOR2'
        EXCEPTIONS
            CNTL_ERROR = 1
            CNTL_SYSTEM_ERROR = 2
            CREATE_ERROR = 3
            LIFETIME_ERROR = 4
            LIFETIME_DYNPRO_DYNPRO_LINK = 5.
    IF SY-SUBRC NE 0.
*      add your handling
    ENDIF.

    CREATE OBJECT G_EDITOR_CONTAINER_5
        EXPORTING
            CONTAINER_NAME = 'TEXTEDITOR5'
        EXCEPTIONS
            CNTL_ERROR = 1
            CNTL_SYSTEM_ERROR = 2
            CREATE_ERROR = 3
            LIFETIME_ERROR = 4
            LIFETIME_DYNPRO_DYNPRO_LINK = 5.
    IF SY-SUBRC NE 0.
*      add your handling
    ENDIF.

*   create calls constructor, which initializes, creats and links
*    a TextEdit Control
    CREATE OBJECT G_EDITOR_1
      EXPORTING
         PARENT = G_EDITOR_CONTAINER_1
         WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
         WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE
         WORDWRAP_POSITION          = 65
      EXCEPTIONS
          OTHERS = 1.
    IF SY-SUBRC NE 0.
      CALL FUNCTION 'POPUP_TO_INFORM'
        EXPORTING
          TITEL = G_REPID
          TXT2  = SPACE
          TXT1  = TEXT-001.
    ENDIF.

    CREATE OBJECT G_EDITOR_2
      EXPORTING
         PARENT = G_EDITOR_CONTAINER_2
         WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
         WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE
         WORDWRAP_POSITION          = 65
      EXCEPTIONS
          OTHERS = 1.
    IF SY-SUBRC NE 0.
      CALL FUNCTION 'POPUP_TO_INFORM'
        EXPORTING
          TITEL = G_REPID
          TXT2  = SPACE
          TXT1  = TEXT-001.
    ENDIF.

    CREATE OBJECT G_EDITOR_5
      EXPORTING
         PARENT = G_EDITOR_CONTAINER_5
         WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
         WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE
         WORDWRAP_POSITION          = 65
      EXCEPTIONS
          OTHERS = 1.
    IF SY-SUBRC NE 0.
      CALL FUNCTION 'POPUP_TO_INFORM'
        EXPORTING
          TITEL = G_REPID
          TXT2  = SPACE
          TXT1  = TEXT-001.
    ENDIF.

  ENDIF.


   IF PARTICIPANTS = 'X'.

    CALL METHOD G_EDITOR_1->SET_READONLY_MODE
        EXPORTING
          READONLY_MODE          = '1'
        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.

1 ACCEPTED SOLUTION
Read only

Former Member
413

Hi,

Please indent your post and use formating so that it is readable and understandable

1 REPLY 1
Read only

Former Member
414

Hi,

Please indent your post and use formating so that it is readable and understandable