【问题标题】:Extracting Purchase Order texts in SAP在 SAP 中提取采购订单文本
【发布时间】:2017-02-16 09:59:56
【问题描述】:

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

【问题讨论】:

    标签: abap sap-erp


    【解决方案1】:

    STXH(用于标题)和 STXL(用于行)表,但它们无法直接读取。
    平时看文是READ_TEXTFM发的:

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

    要找出必要文本的 ID/名称,应进入编辑模式并按 转到 >> 标题 此处应检查对应字段

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

    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.
    

    【讨论】:

    • 您好 Suncatcher,感谢您的建议。我已经尝试过这种方法。但是这个需要一一键入。我正在寻找一种在表格中一次显示所有文本项的方法。我正在搜索可以为此创建的任何查询。
    • 您好 Suncatcher,谢谢!这段代码必须在 SQ02 中实现吧?如果是,那么我将需要创建一个新的 Infoset 是吗?抱歉,我之前没有创建 SAP 查询的经验。
    • @Anonymous,在 SQ02 中不是强制性的。在任意program type(类型1、模块池、功能模块等)
    • 好的,我会先试试这个@Suncatcher。谢谢!
    • 我不断收到错误消息,提示“字段 't_stxl' 未知”。创建信息集后,我尝试将此代码插入到 EKPO 表的数据部分下的信息集中。知道为什么吗? @Suncatcher
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    相关资源
    最近更新 更多