abap 开发中使用的函数read_text,怎么使用阿?

返回的内表里的记录是不是只有一条?... 返回的内表里的记录是不是只有一条? 展开
 我来答
ibmangel
2011-08-23 · TA获得超过231个赞
知道答主
回答量:253
采纳率:0%
帮助的人:165万
展开全部
DATA: BEGIN OF flines OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF flines.
DATA: textname LIKE thead-tdname.
DATA: flines1(100) .
DATA: flines2(100) .
textname = i_vbe-vbelv ."变更格式

CALL FUNCTION 'READ_TEXT' " 抬头备注
EXPORTING
client = sy-mandt
language = '1'
id = '0001'
name = textname
object = 'VBBK'
TABLES
lines = flines " LIKE TLINE
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
referenc_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.
ELSE.
* loop at flines.
* endloop.
ENDIF.
READ TABLE flines INDEX 1.
flines1 = flines-tdline.
READ TABLE flines INDEX 2.
flines2 = flines-tdline.

这是一个读了两行文本的例子,当然如果只有一行,第二个变量就是空值。
读出来的TEXT是一个内表,有可能有很多行,后面的自已想怎么处理都行 ,你读一个就知道了。
追问
函数的输入参数如何指定:我是在LOOP循环里使用这个函数,所以希望通过这个函数得到一条记录,然后把这条记录连接成一个文本 再更新到内表 中?该如何传入参数?谢谢
追答
传入参数主要是这三个:
id = '0001'
name = textname
object = 'VBBK'
其它的一般都不用改。
至于参数来源你可以在网上下个读文本信息的文档看一下,这个不是一两句话说的清楚的,
textname = i_vbe-vbelv 这个就是LOOP的一个表的单号,读出来的数据你用连接命令不就可以连成一条记录了.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tdzbq
2011-08-23 · TA获得超过153个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:135万
展开全部
系统里面例子很多,可以去SE37 点where used list找一下。
我找了一个例子
程序名RSTXTCDG
代码:
CALL FUNCTION 'READ_TEXT'
EXPORTING OBJECT = SELECTIONS-TDOBJECT
NAME = SELECTIONS-TDNAME
ID = SELECTIONS-TDID
LANGUAGE = SELECTIONS-TDSPRAS
IMPORTING HEADER = THEAD
TABLES LINES = LINES
EXCEPTIONS OTHERS = 1.
具体参数的用法,你可以去程序里面看代码。
返回的内表里面行数跟文本行数有关,不止一行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疯疯由01
2015-11-21 · TA获得超过7.9万个赞
知道大有可为答主
回答量:1.2万
采纳率:0%
帮助的人:3103万
展开全部
函数Read_Text来进行读取,以下是该函数的调用方法:
使用该函数时,首先要进行声明,然后给变量附上初始值,并给变量以实际的含义,最后调用该函数,以下是调用该函数的方法:
DATA: il_tline LIKE tline OCCURS 0 WITH HEADER LINE.
vl_tdname LIKE thead-tdname.

CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = 'Z001'
language = '1'
name = vl_tdname
object = 'VBBK'

* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
TABLES
lines = il_tline
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.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式