3个回答
展开全部
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是一个内表,有可能有很多行,后面的自已想怎么处理都行 ,你读一个就知道了。
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的一个表的单号,读出来的数据你用连接命令不就可以连成一条记录了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
系统里面例子很多,可以去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.
具体参数的用法,你可以去程序里面看代码。
返回的内表里面行数跟文本行数有关,不止一行。
我找了一个例子
程序名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.
具体参数的用法,你可以去程序里面看代码。
返回的内表里面行数跟文本行数有关,不止一行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数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.
使用该函数时,首先要进行声明,然后给变量附上初始值,并给变量以实际的含义,最后调用该函数,以下是调用该函数的方法:
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.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询