当前位置: 首页 > news >正文

ABAP读取文本函数效率优化,read_text --->zread_text

FUNCTION zread_text.
*“----------------------------------------------------------------------
"“本地接口:
*” IMPORTING
*” VALUE(CLIENT) LIKE SY-MANDT DEFAULT SY-MANDT
*" VALUE(ID) LIKE THEAD-TDID
*" VALUE(LANGUAGE) LIKE THEAD-TDSPRAS DEFAULT ‘1’
*" VALUE(OBJECT) LIKE THEAD-TDOBJECT
*" VALUE(ARCHIVE_HANDLE) LIKE SY-TABIX DEFAULT 0
*" VALUE(LOCAL_CAT) DEFAULT SPACE
*" TABLES
*" IT_NAME STRUCTURE ZTDNAME_RANGE
*" ET_TEXT STRUCTURE ZSTDTEXT
*"----------------------------------------------------------------------
TYPES:BEGIN OF ty_stxl,
tdname TYPE stxl-tdname,
clustr TYPE stxl-clustr,
clustd TYPE stxl-clustd,
END OF ty_stxl.
TYPES:BEGIN OF ty_stxk_raw,
clustr TYPE stxl-clustr,
clustd TYPE stxl-clustd,
END OF ty_stxk_raw.
DATA:lt_stxl TYPE STANDARD TABLE OF ty_stxl WITH HEADER LINE.
DATA:lt_tdname TYPE STANDARD TABLE OF ty_stxl WITH HEADER LINE.
DATA:lt_lines_temp TYPE TABLE OF tline WITH HEADER LINE.
DATA:lt_lines TYPE TABLE OF tline.
DATA:lt_stxl_raw TYPE STANDARD TABLE OF ty_stxk_raw.
DATA:ls_stxl_raw TYPE ty_stxk_raw.

SELECT tdname clustr clustd
INTO CORRESPONDING FIELDS OF TABLE lt_stxl
FROM stxl
WHERE tdobject = object
AND tdid = id
AND tdname IN it_name
AND tdspras = language
.
lt_tdname[] = lt_stxl[].

SORT lt_stxl BY tdname.
SORT lt_tdname BY tdname.
DELETE ADJACENT DUPLICATES FROM lt_tdname COMPARING tdname.

LOOP AT lt_tdname.
READ TABLE lt_stxl WITH KEY tdname = lt_tdname-tdname BINARY SEARCH.
IF sy-subrc = 0.

  CLEAR:ls_stxl_raw,lt_stxl_raw.REFRESH:lt_lines_temp.LOOP AT lt_stxl FROM sy-tabix.IF lt_stxl-tdname <> lt_tdname-tdname.EXIT.ENDIF.MOVE-CORRESPONDING lt_stxl TO ls_stxl_raw.APPEND ls_stxl_raw TO lt_stxl_raw.ENDLOOP.IF lt_stxl_raw[] IS NOT INITIAL.IMPORT tline = lt_lines_temp[]  FROM INTERNAL TABLE lt_stxl_raw[].CLEAR:et_text.et_text-tdname = lt_tdname-tdname.LOOP AT lt_lines_temp.et_text-ztext = et_text-ztext && lt_lines_temp-tdline.ENDLOOP.APPEND et_text.ENDIF.ENDIF.

ENDLOOP.

ENDFUNCTION.

http://www.lryc.cn/news/110036.html

相关文章:

  • Spring Data Repository 使用详解
  • [ MySQL ] — 数据库环境安装、概念和基本使用
  • Apache Thrift C++库的TThreadPoolServer模式的完整示例
  • 图解java.util.concurrent并发包源码系列——深入理解ReentrantLock,看完可以吊打面试官
  • 【计算机网络】网络基础(上)
  • 51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验四 蜂鸣器
  • 无向图-已知根节点求高度
  • RIP动态路由协议 (已过时,逐渐退出舞台)
  • C++ operator关键字的使用(重载运算符、仿函数、类型转换操作符)
  • 深度学习笔记-暂退法(Drop out)
  • 使用自适应去噪在线顺序极限学习机预测飞机发动机剩余使用寿命(Matlab代码实现)
  • 实验5-7 使用函数求1到10的阶乘和 (10 分)
  • kafka部署
  • Spring Security6入门及自定义登录
  • 开放式蓝牙耳机哪个品牌好用?盘点几款很不错的开放式耳机
  • WebGL: 几个入门小例子
  • PAT(Advanced Level)刷题指南 —— 第一弹
  • 【BASH】回顾与知识点梳理(九)
  • Android 版本 对应的 API版本
  • Django 异常信息 E302 expected 2 blank lines, found 1
  • 2019年09月《全国青少年软件编程等级考试》Python一级真题解析
  • mybatis如何防止SQL注入
  • DoIP学习笔记系列:(三)用CAPL脚本过“安全认证”,$27服务实现
  • 【Linux】多路转接 -- select函数
  • ospf于mgre中应用(直连与星型拓扑)
  • Web压测工具http_load原理分析
  • flask------消息闪现 flash
  • 【C++】数据结构与算法:常用查找算法
  • 【Spring Cloud 六】Hystrix熔断
  • FTP使用教程