在SAP中提取采购订单文本

时间:2017-02-16 09:59:56

标签: sap abap

有没有办法在报表单或表格表格中查看采购订单ME23N中的项目文本选项卡中的详细信息?我试图在很多地方搜索,但我找不到桌子。表EKKO / EKPO似乎没有帮助。

1 个答案:

答案 0 :(得分:2)

表格 STXH (针对标题)和 STXL (针对行),但它们不是开箱即用的。
通常,阅读文本由READ_TEXT FM:

制作
CALL FUNCTION 'READ_TEXT'
 EXPORTING
  client = sy-mandt
  id = 'F01'
  language = 'E'
  name = %PO_number% + %PO_pos%
  object = 'EKPO'

要查找必要文字的ID /名称,应进入编辑模式,然后按转到>>标题,其中应该检查对应的字段

enter image description here

更新:基于以上示例大量提取文本

TYPES: BEGIN OF ty_stxl_raw,
        clustr TYPE stxl-clustr,
        clustd TYPE stxl-clustd,
       END OF ty_stxl_raw,
       BEGIN OF ty_stxl,
        tdname TYPE stxl-tdname,
        clustr TYPE stxl-clustr,
        clustd TYPE stxl-clustd,
       END OF ty_stxl.
DATA:  t_stxl_raw TYPE STANDARD TABLE OF ty_stxl_raw,
       t_stxl     TYPE TABLE OF ty_stxl,
       w_stxl_raw TYPE ty_stxl_raw.

DATA:  t_tline TYPE STANDARD TABLE OF tline.
FIELD-SYMBOLS: <tline> TYPE tline,
               <stxl> LIKE LINE OF t_stxl.

SELECT l~tdname l~clustr l~clustd
 INTO CORRESPONDING FIELDS OF TABLE t_stxl
 FROM stxl AS l
 JOIN stxh AS h
  ON h~tdobject = l~tdobject
   AND h~tdname   = l~tdname
   AND h~tdid     = l~tdid
 WHERE l~relid    = 'TX'          "standard text
   AND h~tdobject = 'EKPO'
   AND h~tdname   = '450001216400010'
   AND h~tdid     = 'F01'
   AND l~tdspras  = sy-langu.

LOOP AT t_stxl ASSIGNING <stxl>.
CLEAR: t_stxl_raw[], t_tline[].
APPEND VALUE ty_stxl_raw( clustr = <stxl>-clustr clustd = <stxl>-clustd ) TO t_stxl_raw.
IMPORT tline = t_tline FROM INTERNAL TABLE t_stxl_raw.

LOOP AT t_tline ASSIGNING <tline>.
 "do anything
ENDLOOP.

ENDLOOP.