ABAP 之 长文本READ_TEXT的使用方式
序
学习记录: 1 /365
HELLO,这里是百里,一个学习中的ABAPER, 这是坚持打卡文章,在学习工作中,我们可能会遇到某些长文本内容,比如交货单啊,比如销售订单啊这种都存在着,一些给用户存长文本的地方,然后用户会在这些长文本地方写入数据,一般的报表中是不要求体现长文本内容的,毕竟这么长的东西显示出来也会很丑.可能给用户做打印,ole的时候会用到显示客户的长文本备注.本篇文章讲的是,长文本的常用使用方式及一些该如何看懂函数的用法.
什么是长文本
长文本可以理解为其他语言的那种text的输入文本框,提供一个允许用户写入超级长的数据的地方,当然是字符串类型.
在sap中我们可以通过OO的操作方式创建长文本框,当然,百里目前是不会这个,以后会学, 本篇讲的是操作读取系统中读长文本的方法方式.以及调用方式.
技术解析
主要是通过调用funciton 函数'READ_TEXT'
进行处理,当然这只是一种方式, 百里通过查询学习,发现还有一种直接查看底表的方式,进行查询,以后会详细讲解 .
如何查看当期操作的界面的id 及相关参数
我们这里以交货单的为例子. 进入交货单内,进入相关文本选项卡,双击文字内容
进入下一层后,点击上面的转到–>表头
这就是相关的参数,其中文本名是单号,语言如果是中文的可以写’1’,
关键函数调用方式
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 业务id
language = 语言环境
name = 单据号
object = '表'
TABLES
lines = 出口内表
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
实例
数据准备
注意: 一定要像我这样参照函数的内容定义,否则就会各种报错,说你长度不对啊,什么内容数据类型不匹配这这那那的.
data : lv_language TYPE thead-tdspras VALUE '1',
lt_line TYPE TABLE OF tline,
ls_line TYPE tline,
lv_name TYPE thead-tdname .
DATA:lv_str TYPE string .
调用函数
" "获取项目备注文本
lv_name = '6000003402'.
CLEAR:lt_line.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = '0001'
language = lv_language
name = lv_name
object = 'VBBK'
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.
结果数据与拼接
CLEAR:lv_str.
LOOP AT lt_line INTO ls_line.
lv_str = lv_str && ls_line-tdline.
ENDLOOP.
WRITE: lv_str .
结果
我们通过循环就可以将数据进行拼接到一个字符串内,不过这也是存在着一定的风险,因为,字符串的长度是有限的.
所以一般在ALV内展示不推荐使用. 因为会很慢,也很难看.
技术总结
今天讲的是,长文本READ_TEXT 读取相关数据的使用方式的案例讲解,本篇文章通过解释READ_TEXT 的函数数据使用方式,调用方式,及如何了解参数使用入手,可以使用户快速的上手该项技术,达到即用即拿的方式.在工作中使用时一定要注意本文讲述的的注意点,避免出现alv数据量过大卡死的情况 .
百里鸡汤
生命里最重要的事情是要有个远大的目标,并借才能与坚毅来达成它。
这里是百里,一个努力的学习者. 努力学习好好记录,点滴进步,就是成功.
- 点赞
- 收藏
- 关注作者
评论(0)