长文本应用

1   长文本及其应用场景

1.1      长文本

长文本是为了方便用户输入带格式的文本或是输入比较多的文本(比如填入意见等)。如下图所示:

转移原因

 

1-1

1.2      应用场景

应用场景包括填入意见,需要带格式的文本,输入较多的文本等等。

2   配置长文本对象

配置长文本对象,需要在相关的表里完成相应的配置。

2.1      相关的表视图

(1)       V_TTXOBI(有效文本对象)

(2)       V_TTXIDI(允许的文本标识符)

2.2      配置示例

配置需要按照顺序完成,首先维护视图V_TTXOBI,其次维护视图V_TTXIDI

(1)       维护V_TTXOBI

V_TTXOBI

 

2-1

(2)       维护V_TTXIDI

V_TTXIDI

 

2-2

3   长文本的存取

长文本存取是通过相关的函数完成的。由于长文本的特殊性,因此其存取有如下的一些特点和要求。

3.1      长文本存储

(1       相关变量定义

data: text_tab1  like standard table of line.

其中text_tab1保存输入的文本内容。

datalines type standard table of tline,
      
header like thead .

定义tline类型内表和定义thead的结构。

(2)       读取文本控件的内容

call method editor1->get_text_as_stream
    
importing

      
text = text_tab1.

获取到文本控件的内容保存到text_tab1

(3)       函数CONVERT_STREAM_TO_ITF_TEXT

实现文本的转换(SAPscript text conversions),将内表text_tab1转换为lines

(4)       函数SAVE_TEXT

实现文本的保存SAPscript: Save text

(5)       代码片段如下:

*--获取文本内容

 call method editor1->get_text_as_stream
    
importing

      
text = text_tab1. 
*--长文本保存

  header-tdobject  = 
'ZWF_PM010'.     "object
  header-tdname    = zwfpm010-ltxtid.
"文本序号
  header-tdid      = 
'LTXT'.
  header-tdspras   = sy-langu.

  
call function 'CONVERT_STREAM_TO_ITF_TEXT'

    
exporting
      
language    = sy-langu
    
tables

      text_stream = text_tab1
      itf_text    = 
lines.

  
call function 'SAVE_TEXT'
    
exporting
      
header          = header
      savemode_direct = 
'X'
    
tables
      
lines           = lines
    
exceptions
      
id              = 1
      
language        = 2
      name            = 
3
      
object          = 4
      
others          = 5.

3.2      长文本读取

(1)       函数CONVERT_ITF_TO_STREAM_TEXT

实现文本的转换(SAPscript text conversions),将lines转换为内表text_tab1

(2)       函数READ_TEXT

实现文本的读取SAPscript: Read text

(3)       设置文本控件的内容

call method editor1->set_text_as_stream
    
exporting

      
text = text_tab1.

将内表text_tab1内容设置到文本控件中。

(4)       代码片段如下:

*--长文本读取

   header-tdobject  = 'ZWF_PM010'.     "object
   header-tdname    = zwfpm010-ltxtid.
   header-tdid      = 
'LTXT'.
   header-tdspras   = sy-langu.

    
call function 'READ_TEXT'

      
exporting
*      CLIENT                        = sy-langu
        
id                            = header-tdid
        
language
                      = sy-langu
        name                          = header-tdname
        
object
                        = header-tdobject
*      ARCHIVE_HANDLE                = 0

*      LOCAL_CAT                     = ' '
*    IMPORTING
*      HEADER                        =
      
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 ID SY-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 = text_tab1.

*--设置控件内容

call method editor1->set_text_as_stream
    
exporting

      
text = text_tab1.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值