用途:常常会用到类似于说明或者备注这样的信息,这些信息就是长文本信息。long text.
查看:比如销售订单中(SO) 的表单头和表单行项目都可以进行长文本的备注。查看途径: VA02-->输入订单号-->goto--->header--->texts-->show detail (一个放大镜的图标)-->goto --->header.到texts这一步就可以看到备注信息,在最后一步可以看到备注的 头信息。Item的备注页可以通过类似的途径来查看,不再赘述。
那么这些长文本信息存在什么地方呢? 通过对表的查看,发现SO对应的表VBAP,VBAK,不管是header信息还是Item信息里面都没有存储相关的数据。事实上,SAP系统把所有的长文本信息都存在了STXH 和 STXL 这两张表里面。
STXH :STXD SAPscript text file header,长文本的头数据
STXL :STXD SAPscript text file lines,长文本的明细数据。是一张簇表。
通过上面的信息查看,我们在表里面也可以找到数据的数据库存储信息。
对于STXH ,我们可以发现他的关键字有:
TDOBJECT 对象 很多情况下市表名,但不全是。
TDNAME 名称 很多情况下是表单编号&明细号
TDID ID 这个就是ID,
TDSPRAS 语言。
而这些信息都可以在查看的时候看到。
也就是说通过这些信息我们就可以定位到我们所需要的长文本信息。
那在程序中,我们怎么来取这些数呢?直接取么?我们可以看到 STXL-CLUSTD是类似乱码的东西。怎么成这样的,不清楚,簇表的长字段都是这个鸟样子。那如果我们来解析,完了。
在程序中,对于长字段,可能的操作大多数是读取。
在这个时候我们就用: FUNCTION: READ_TEXT。
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
id = ID
language = LANGU
name = NAME
object = OBJECT
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER = HEADER
tables
lines = LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.