永发信息网

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

答案:3  悬赏:60  手机版
解决时间 2021-02-06 10:34
  • 提问者网友:酱爆肉
  • 2021-02-05 17:07
abap 开发中使用的函数read_text,怎么使用阿?
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-02-05 17:27
函数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楼网友:底特律间谍
  • 2021-02-05 19:00
系统里面例子很多,可以去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.
具体参数的用法,你可以去程序里面看代码。
返回的内表里面行数跟文本行数有关,不止一行。
  • 2楼网友:山君与见山
  • 2021-02-05 17:47
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的一个表的单号,读出来的数据你用连接命令不就可以连成一条记录了.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯