ABAP:VA01,VL01N取文本内存:GET_TEXT_MEMORY

当我们还在创建的时候需要获取到对应的文本,按照传统的获取文档方法是不可行的,因为此时还没有写入到底表STXH中。

  METHOD get_text_from_memory.
    DATA:lt_txt_memory TYPE TABLE OF tcatalog,
         memory_id(30) TYPE c VALUE 'SAPLSTXD',
         lv_memory_pos TYPE tcatalog-id,
         ls_head       TYPE thead,
         lt_lines      TYPE TABLE OF tline.

    CALL FUNCTION 'GET_TEXT_MEMORY'
      TABLES
        text_memory = lt_txt_memory.


    "如果在SAVE_TEXT钱调用了COMMIT_TEXT 则GET_TEXT_MEMORY 返回为空
    "此时直接取MEMORY ID
    IF lt_txt_memory IS INITIAL.
      DO.
        lv_memory_pos = lv_memory_pos + 1.
        memory_id+8(6) = lv_memory_pos.
        IMPORT thead TO ls_head tline TO lt_lines  FROM MEMORY ID memory_id. "内存中获取文本
        IF sy-subrc EQ 0.
          IF ls_head-tdobject = iv_object AND ls_head-tdid = iv_id AND ls_head-tdspras = iv_language.
            EXIT.
          ELSE.
            CLEAR:ls_head,lt_lines.
          ENDIF.
        ELSE.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值