在R/3中文本存在各种地方, 但是通常是表STXH和STXL中, 分别是文本标题和文本行。 它们的文本都以raw(例如, 非ASCII码) 形态存储, 所以你必须使用功能模块来取得。
比如读取销售订单1000002829中文本。
读取功能用函数READ_TEXT。
示例如下:
REPORT ZHAOTEST
NO STANDARD PAGE HEADING LINE-SIZE 255.
DATA: IL_TLINE LIKE TLINE OCCURS 0 WITH HEADER LINE,
OUT_TLINE LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF ZSTXL OCCURS 0.
INCLUDE STRUCTURE STXL.
DATA: END OF ZSTXL.
SELECT * INTO TABLE ZSTXL FROM STXL WHERE TDNAME = '1000002829'.
LOOP AT ZSTXL.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = ZSTXL-TDID
LANGUAGE = '1'
NAME = ZSTXL-TDNAME
OBJECT = ZSTXL-TDOBJECT
* 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.
READ TABLE IL_TLINE.
APPEND IL_TLINE TO OUT_TLINE.
CLEAR IL_TLINE.
ENDLOOP.
LOOP AT OUT_TLINE.
WRITE:/ OUT_TLINE-TDLINE.
ENDLOOP.
查看相关参数按如下操作:
1. 双击文本行。
2. 点转到-表头
3.弹出参数如下:
本名 :’1000002829’,为凭证号,对应name参数 。
语 言:ZH,但是此处参数类型为C(1),在我的系统中使用1,对应language参数 。
标 识:’0012‘对应ID参数 。
文本对象:VBBK,对应object参数 。
还有一个简单的就是参数与STXL想对应,只是STXL表中字段名前面多了个“TD”。比如ID对应STXL表中为TDID。
写入文本的为SAVE_TEXT。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9859323/viewspace-616508/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9859323/viewspace-616508/