LONG_TEXT [CL_GUI_TEXTEDIT]저장/조회/삭제 기능
아래 url은 CL_GUI_TEXTEDIT 에 대해 정리해놓은 자료이고
오늘은 해당 class의 저장/조회/ 삭제 등등 다양한 기능에 대해 알아보겠습니다.
CL_GUI_TEXTEDIT 사용하기
스탠다드에서도 많이 사용하는 기능 CL_GUI_TEXTEDIT 에 대해 알아보겠습니다. (SAP 참조 개발클래스: SAPTEXTEDIT / 참조프로그램: SAPTEXTEDIT_DEMO_1) ↓ ME23N 헤더에서 사용하는 TEXTEDIT 기능 1. 데이터 선언 &
moon-7.tistory.com
1. 화면에서 TEXTEDIT에 입력받은 데이터 읽기
방법1) get_text_as_r3table
DATA: t_s_tab TYPE t_source OCCURS 0,
lt_text TYPE t_s_tab.
CALL METHOD cl_text->get_text_as_r3table
IMPORTING
table = lt_text[]
EXCEPTIONS
OTHERS = 1.
방법2) get_text_as_stream -> convert_stream_to_itf_text
DATA: lt_stream(80) TYPE C OCCURS 0.
lt_ itf_text TYPE TABLE OF tline WITH HEADER LINE.
CALL METHOD cl_text->get_text_as_stream
IMPORTING
text = lt_strem.
CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
TABLES
text_stream = lt_strem
itf_text = lt_ itf_text.
2. TEXT 저장
DATA: LT_LINES TYPE TABLE OF tline WITH HEADER LINE.
LS_HEADER TYPE THEAD.
**LT_LINE-TDLINE 에 저장할 데이터가 담겨져 있어야 한다.
LS_HEADER -TDOBJECT = 'ZOBJECT' "SE75 에서 생성/조회하는 오브젝트 ID
LS_HEADER -TDID = 'Z01' " SE75 에서 생성/조회하는 오브젝트 내에 텍스트 ID
LS_HEADER -TDNAME = 'ZTEXT'. "저장할 텍스트명
LS_HEADER -TDSPRAS = SY-LANGU. "언어
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
HEADER = LS_HEADER
SAVEMODE_DIRECT = 'X'
TABLES
LINES = LT_LINE.
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5.
3.저장된 TEXT 조회
DATA: LT_LINES TYPE TABLE OF TLINE WITH HEADER LINE.
LS_HEADER TYPE THEAD.
LS_HEADER -TDOBJECT = 'ZOBJECT' "SE75 에서 생성/조회하는 오브젝트 ID
LS_HEADER -TDID = 'Z01' " SE75 에서 생성/조회하는 오브젝트 내에 텍스트 ID
LS_HEADER -TDNAME = 'ZTEXT'. "조회할 텍스트명
CALL FUNCTION 'READ_TEXT'
EXPORTING
ID = LS_HEADER -TDID
LANGUAGE = SY-LANGU
NAME = LS_HEADER -TDNAME
OBJECT = LS_HEADER -TDOBJECT
TABLES
LINES = LT_LINE.
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
4. 화면에 TEXTEDIT 데이터 미리 설정하여 보여주기
방법1) set_text_as_r3table
DATA: t_s_tab TYPE t_source OCCURS 0,
lt_text TYPE t_s_tab.
CALL METHOD cl_text->set_text_as_r3table
EXPORTING
table = lt_text[]
EXCEPTIONS
error_dp = 1
error_dp_create = 2
OTHERS = 3.
방법2) convert_itf_to_stream_text -> set_text_as_stream
DATA: lt_stream(80) TYPE C OCCURS 0.
lt_ itf_text TYPE TABLE OF tline WITH HEADER LINE.
CALL FUNCTION 'CONVERT_ ITF_TO_ STREAM_TEXT'
TABLES
itf_text = lt_ itf_text
text_stream = lt_strem.
CALL METHOD cl_text->set_text_as_stream
EXPORTING
text = lt_strem
EXCEPTIONS
OTHERS = 1.
5.저장된 TEXT 삭제
DATA: LT_LINES TYPE TABLE OF TLINE WITH HEADER LINE.
LS_HEADER TYPE THEAD.
CALL FUNCTION 'DELETE_TEXT'
EXPORTING
ID = LS_HEADER -TDID
LANGUAGE = SY-LANGU
NAME = LS_HEADER -TDNAME
OBJECT = LS_HEADER -TDOBJECT
SAVEMODE_DIRECT = 'X'
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.