SAP joy

TEXT EDIT 의 CLEAR 관련 질문입니다. 도움을 부탁드립니다.

[레벨:8]그림장이 2018.05.15 10:43

문제가 되는 부분은 TEXT EDIT 의 CLEAR 입니다...


제가 잘못 생각한 부분이 있는지 모르겠지만....


우선 화면 200 에서 TEXT EDIT 화면을 호출하는 버튼을 누르면 201 화면이 호출되면서


TEXT EDIT 을 입력하는 화면을 불러오도록 하였습니다.


프로그램을 실행하고 해당 화면에 TEXT 를 입력하고 저장한 이후 다시 해당 화면을 호출하면


TEXT EDIT 에 초기값이 아닌 전에 입력한 값이 남아 있는 문제가 발생하였습니다.


처음 생각은 201번 화면을 호출할때

 

PBO 쪽에서 ITAB 을 클리어 하여 빈값을 던져주면 된다고 생각을 했는데,,,안되더군요.

*.. ITAB-->글상자
  CALL METHOD GC_EDIT->SET_TEXT_AS_R3TABLE
    EXPORTING
      TABLE  GT_HTEXT
    EXCEPTIONS
      OTHERS 1.


그래서 201 화면을 빠져나올때, 컨테이너, TEXT EDIT 을 를 FREE 로 초기화하고 나오도록 했지만... 안되더군요...

      CALL METHOD GC_EDIT->FREE.
      CALL METHOD GC_EDIT_CON->FREE.

      CLEARGT_HTEXT[]GS_HTEXT.



혹시 TEXT EDIT 이 버퍼 같은걸로 값을 잡고 있는 건가요???  도움을 구하고자 질문 게시판에 글을 올립니다.

의견 (0)

질문자 선택 답변 보기 답변등록

현재 답변들 2
[레벨:8]윤뚱 2018.05.15 13:26
질문자로부터 선택받은 답변입니다
의견 (0)
[레벨:8]그림장이 2018.05.16 11:34

MODULE INIT_0201 OUTPUT.

*.. TEXT EDIT 선언
  IF GC_EDIT IS INITIAL.
    CREATE OBJECT GC_EDIT_CON
      EXPORTING
        CONTAINER_NAME = 'GC_EDIT_CON'.

    CREATE OBJECT GC_EDIT
      EXPORTING
        PARENT                     = GC_EDIT_CON
        WORDWRAP_MODE              = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
        WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE
      EXCEPTIONS
        OTHERS                     = 1.

*.. 0 활성화 / 1 비활성화
    CALL METHOD GC_EDIT->SET_READONLY_MODE
      EXPORTING
        READONLY_MODE          = '0'
      EXCEPTIONS
        ERROR_CNTL_CALL_METHOD = 1
        INVALID_PARAMETER      = 2
        OTHERS                 = 3.

*.. TEXT_EDIT 위아래 툴바 스테이터스바빼기
    CALL METHOD GC_EDIT->SET_STATUSBAR_MODE
      EXPORTING
        STATUSBAR_MODE = CL_GUI_TEXTEDIT=>FALSE.

    CALL METHOD GC_EDIT->SET_TOOLBAR_MODE
      EXPORTING
        TOOLBAR_MODE = CL_GUI_TEXTEDIT=>FALSE.
  ELSE.

*.. ITAB-->글상자
    CALL METHOD GC_EDIT->SET_TEXT_AS_R3TABLE
      EXPORTING
        TABLE  = GT_HTEXT
      EXCEPTIONS
        OTHERS = 1.

    CALL METHOD CL_GUI_CFW=>FLUSH.
  ENDIF.

ENDMODULE.                 " INIT_0201  OUTPUT

*--------------------------------------------------------------------------------------

MODULE USER_COMMAND_0201 INPUT.

  DATA: LV_LINE TYPE I.

  CLEAR: GV_OKCODE.
  GV_OKCODE = SY-UCOMM.

  CASE GV_OKCODE.
    WHEN 'ENTER'.
*.. 글상자-->ITAB
      CALL METHOD GC_EDIT->GET_TEXT_AS_R3TABLE
        IMPORTING
          TABLE = GT_HTEXT.

      CALL METHOD CL_GUI_CFW=>FLUSH.

      CLEAR: LV_LINE.
      DESCRIBE TABLE GT_HTEXT LINES LV_LINE.

      IF LV_LINE > 99.
        CLEAR: GT_HTEXT[], GS_HTEXT.

        MESSAGE I000 WITH TEXT-E13.
      ELSE.
        LEAVE TO SCREEN 0.
      ENDIF.
*
    WHEN 'CLEAR'.

      CLEAR: GT_HTEXT[], GS_HTEXT.

      LEAVE TO SCREEN 0.

  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0201  INPUT

*--------------------------------------------------------------------------------------

무슨 차이가 있는건지 모르겠지만 이렇게 해결했습니다 ^^;;;;

의견 (0)

서비스 링크

X
Login

브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인을 하실 필요가 없습니다. 단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.

X