您的位置:首页 > 其它

SAP 长文本

2015-06-19 16:52 190 查看
原文地址:SAP 长文本作者:stevenpok
REPORT z_barry_test_textedit NO STANDARD PAGEHEADING .

TABLES: sscrfields.

DATA: x_docking TYPE REF TO cl_gui_docking_container,

x_editor TYPE REF TO cl_gui_textedit,

lines TYPE STANDARD TABLE OF tline ,

header LIKE thead .

TYPES: BEGIN OF textline,

line(255) TYPE c,

END OF textline .

DATA texttable TYPE TABLE OF textline .

PARAMETERS:p_name(70) DEFAULT '12345678'.

SELECTION-SCREEN FUNCTION KEY 1.

SELECTION-SCREEN FUNCTION KEY 2.

INITIALIZATION.

sscrfields-functxt_01 = 'Save'.

sscrfields-functxt_02 = 'Read'.

AT SELECTION-SCREEN OUTPUT.

IF x_docking IS INITIAL .

CREATEOBJECT x_docking

EXPORTING

repid = sy-repid

dynnr = sy-dynnr

side = 4

extension = '255'

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5.

CREATEOBJECT x_editor

EXPORTING

parent = x_docking

wordwrap_mode = 2

wordwrap_position = 72

max_number_chars = 100000.

ENDIF .

AT SELECTION-SCREEN.

header-tdobject ='Z001'.

header-tdname = p_name.

header-tdid = '0001'.

header-tdspras = sy-langu.

CASE sy-ucomm .

WHEN'FC01'.

PERFORM savetext.

WHEN'FC02'.

PERFORM readtext.

ENDCASE.

*&---------------------------------------------------------------------*

*& Form savetext

*&---------------------------------------------------------------------*

FORM savetext.

CALL METHODx_editor->get_text_as_stream

IMPORTING

text = texttable

EXCEPTIONS

error_dp = 1

error_cntl_call_method = 2

OTHERS = 3.

CALL FUNCTION'CONVERT_STREAM_TO_ITF_TEXT'

EXPORTING

language =sy-langu

TABLES

text_stream = texttable

itf_text =lines.

CALL FUNCTION 'S***E_TEXT'

EXPORTING

header = header

savemode_direct = 'X'

TABLES

lines = lines

EXCEPTIONS

id = 1

language = 2

name = 3

object = 4

OTHERS = 5.

IF sy-subrc = 0.

MESSAGEs000(oo) WITH '保存成功'.

COMMITWORK.

ELSE.

MESSAGE IDsy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ENDFORM. "savetext

*&---------------------------------------------------------------------*

*& Form readtext

*&---------------------------------------------------------------------*

FORM readtext.

CLEAR:texttable,texttable[].

CALL FUNCTION 'READ_TEXT'

EXPORTING

id = header-tdid

language = sy-langu

name = p_name

object = header-tdobject

TABLES

lines = lines

EXCEPTIONS

id = 1

language = 2

name = 3

not_found = 4

object = 5

reference_check = 6

wrong_access_to_archive = 7

OTHERS = 8.

IF sy-subrc <>0.

MESSAGE IDsy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CALL FUNCTION'CONVERT_ITF_TO_STREAM_TEXT'

EXPORTING

language =sy-langu

TABLES

itf_text =lines

text_stream = texttable.

CALL METHODx_editor->set_text_as_stream

EXPORTING

text = texttable

EXCEPTIONS

error_dp = 1

error_dp_create = 2

OTHERS = 3.

ENDFORM. "readtext

* 清空长文本

FORM cleartext .


CALL METHODx_editor->delete_text

EXCEPTIONS

error_cntl_call_method = 1

OTHERS = 2.

ENDFORM. " CLEARTEXT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: