首页 > 技术文章 > ABAP长文本查询

zs-chenkang 2020-06-19 13:37 原文

长文本存储位置

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.

   

推荐阅读