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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap 开发中使用的函数read_text,怎么使用阿?相关的知识,希望对你有一定的参考价值。

返回的内表里的记录是不是只有一条?

参考技术A 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的一个表的单号,读出来的数据你用连接命令不就可以连成一条记录了.

本回答被提问者采纳
参考技术B 系统里面例子很多,可以去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.
具体参数的用法,你可以去程序里面看代码。
返回的内表里面行数跟文本行数有关,不止一行。
参考技术C 函数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.

ABAP开发中, 函数READ_TEXT是做啥的?

CALL FUNCTION 'READ_TEXT' EXPORTING ID = 'F01' LANGUAGE = SY-LANGU NAME = EKKO-EBELN OBJECT = 'EKKO' TABLES LINES = XLINES EXCEPTIONS ID = 1 上面函数返回的是什么?

参考技术A
SAP系统
中,可以供我们使用的数据库字段最大长度是255个文本字符(注:此处可能不正确),对于很长的文本肯定是不能直接保存到某个表的字段中的(注:至于具体保存在何处,还需要请教)。因此我们要使用
系统函数
Read_Text来进行读取

以上是关于abap 开发中使用的函数read_text,怎么使用阿?的主要内容,如果未能解决你的问题,请参考以下文章

[ABAP]求助 关于READ_TEXT函数以及ALV的问题

abap read_text方法有时会读不出数据

ABAP 常用函数

SAP abap 怎么拆分字符串?

ABAP 开发中 CALL SCREEN '100'. 这个具体怎么使用来着?

sap abap 调用http post方法 body怎么赋值