SAP 长文本 TEXT BOX 处理(转)

关于文本(Read_text,Save_text)

http://blog.csdn.net/compassbutton/article/details/1401954

1 相关tCode ->Se75 
列出相关文本对象

2 相关函数
read_text

save_text

create_text
data: it_tlines like tline occurs 0 with header line,
      call function 'CREATE_TEXT'
        exporting
          fid         = 'Z01'
          flanguage   = '1'
          fname       = l_name
          fobject     = 'ZHTBZ'
          save_direct = 'X'
        tables
          flines      = it_tlines
        exceptions
          no_init     = 1
          no_save     = 2.

DELETE_TEXT

3 相关表
STXH :STXD SAPscript 文本文件抬头

stxl:STXD SAPscript 文本文件行

4、编辑长文本一般步骤
a)使用c_textedit_control类,如:   g_editor105 type ref to c_textedit_control。
b)创建控件 
if g_editor105 is initial.
    create object g_editor105
      exporting
           repid            = l_repid
           dynnr            = l_dynnr
           dynpro_container = con_textedit_container105
    exceptions
        others = 1.
    if sy-subrc ne 0.
      message s888 with 'EDITOR_CREATE' sy-subrc.
    endif.
  endif.  
  if l_dynnr <> g_link_dynnr105.
    call method g_editor105->link_to_screen
      exporting
        repid            = l_repid
        dynnr            = l_dynnr
        dynpro_container = con_textedit_container105.
    g_link_dynnr105 = l_dynnr.
  endif.
c)设置控件属性
 "设置读写性
  if g_state = 2 or g_state = 4.
    call method g_editor105->set_readonly_mode
      exporting
        readonly_mode = c_textedit_control=>false.
  else.
    call method g_editor105->set_readonly_mode
      exporting
        readonly_mode = c_textedit_control=>true.
  endif.

  call method g_editor105->set_wordwrap_behavior
    exporting
      wordwrap_mode              = c_textedit_control=>wordwrap_at_fixed_position
      wordwrap_position          = l_textedit_wrappos
      wordwrap_to_linebreak_mode = c_textedit_control=>true
    exceptions
      others                     = 1.

  call method g_editor105->set_focus_to_control.       
c)读取文本内容并设置控件文本
      call function 'READ_TEXT'
        exporting
          id        = 'Z01'
          language  = '1'
          name      = l_name
          object    = 'ZHTBZ'
        importing
          header    = gs_textedit_header105
        tables
          lines     = it_tlines
        exceptions
          not_found = 01.

      if it_tlines[] is not initial.
        loop at it_tlines.
          append it_tlines-tdline to gt_textedit_lines105.
        endloop.
      endif.

      call method g_editor105->set_text_as_r3table
        exporting
          table = gt_textedit_lines105.
d)读取控件的文本并保存文本
  if g_editor105 is not initial.
    call method g_editor105->get_text_as_r3table
      exporting
        only_when_modified = c_textedit_control=>true
      importing
        table              = gt_textedit_lines105
        is_modified        = l_text_modified_status
      exceptions
        others             = 1.

    "设置文本修改状态
    if l_text_modified_status eq c_textedit_control=>true .
      g_moditext105 = 'X'.
    endif.
  endif.

*  call method g_editor105->get_textedit_handle
*    importing
*      handle = g_editor105handle.

* call function 'CONTROL_SET_PROPERTY'
*   exporting
*     h_control  = g_editor105handle
*     property   = 'TextModified'
*     value      = c_textedit_control=>true
*   exceptions
*     cntl_error = 1.
      "创建新的长文本
      it_tlines-tdformat = '* '.
      loop at gt_textedit_lines105 into it_tlines-tdline.
        append it_tlines.
      endloop.

      call function 'CREATE_TEXT'
        exporting
          fid         = 'Z01'
          flanguage   = '1'
          fname       = l_name
          fobject     = 'ZHTBZ'
          save_direct = 'X'
        tables
          flines      = it_tlines
        exceptions
          no_init     = 1
          no_save     = 2.

posted on 2011-11-10 16:46  T_BUG  阅读(2627)  评论(0编辑  收藏  举报