ABAP长文本查询
长文本存储位置
STXH :STXD SAPscript text file header,长文本的头数据
STXL :STXD SAPscript text file lines,长文本的明细数据。是一张簇表。
对于STXH ,我们可以发现他的关键字有:
TDOBJECT 对象 很多情况下市表名,但不全是。
TDNAME 名称 很多情况下是表单编号&明细号
TDID ID 这个就是ID,
TDSPRAS 语言。
1.查询对应id
以物料长文本为例。
2.调用函数查询长文本。
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'GRUN'
LANGUAGE = SY-LANGU
NAME = LV_NAM
OBJECT = 'MATERIAL'
TABLES
LINES = LT_LINE
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
3.例子
IF GT_MATNR[] IS NOT INITIAL.
LOOP AT GT_MATNR.
CLEAR: LV_OBJ,LT_LINE,LV_NAM.
REFRESH LT_LINE.
LV_NAM = GT_MATNR.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'GRUN'
LANGUAGE = SY-LANGU
NAME = LV_NAM
OBJECT = 'MATERIAL'
TABLES
LINES = LT_LINE
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.
READ TABLE LT_LINE INDEX 1.
ENDIF.
GT_MATNR-MATXT = LT_LINE-TDLINE.
MODIFY GT_MATNR.
CLEAR GT_MATNR.
ENDLOOP.