`
Jack Wu
  • 浏览: 887331 次
  • 来自: ...
社区版块
存档分类
最新评论

如何调整ABAP程序的性能(续)

F# 
阅读更多

15、使用select 字段列表代替 Select *
不推荐
SELECT * FROM DD01L INTO DD01L_WA
  WHERE DOMNAME LIKE 'CHAR%'
        AND AS4LOCAL = 'A'.
ENDSELECT.
推荐
SELECT DOMNAME FROM DD01L
  INTO DD01L_WA-DOMNAME
  WHERE DOMNAME LIKE 'CHAR%'
        AND AS4LOCAL = 'A'.
ENDSELECT.

16、使用subquery代替多个select语句
不推荐
SELECT * FROM SPFLI
  INTO TABLE T_SPFLI
  WHERE CITYFROM = 'FRANKFURT'
    AND CITYTO = 'NEW YORK'.
SELECT * FROM SFLIGHT AS F
    INTO SFLIGHT_WA
    FOR ALL ENTRIES IN T_SPFLI
    WHERE SEATSOCC < F~SEATSMAX
      AND CARRID = T_SPFLI-CARRID
      AND CONNID = T_SPFLI-CONNID
      AND FLDATE BETWEEN '19990101' AND '19990331'.
ENDSELECT.
推荐
SELECT * FROM SFLIGHT AS F INTO SFLIGHT_WA
    WHERE SEATSOCC < F~SEATSMAX
      AND EXISTS ( SELECT * FROM SPFLI
                     WHERE CARRID = F~CARRID
                       AND CONNID = F~CONNID
                       AND CITYFROM = 'FRANKFURT'
                       AND CITYTO = 'NEW YORK' )
      AND FLDATE BETWEEN '19990101' AND '19990331'.
ENDSELECT.

17、如何快速删除重复内表的记录
不推荐
READ TABLE ITAB INDEX 1 INTO PREV_LINE.
LOOP AT ITAB FROM 2 INTO WA.
  IF WA = PREV_LINE.
    DELETE ITAB.
  ELSE.
    PREV_LINE = WA.
  ENDIF.
ENDLOOP.
推荐
DELETE ADJACENT DUPLICATES FROM ITAB
                COMPARING K.

18、如何快速删除内表一定范围内的记录
不推荐
DO 101 TIMES.
  DELETE ITAB INDEX 450.
ENDDO.
推荐
DELETE ITAB FROM 450 TO 550.

19、使用collect语句代替人工合计计算结果
不推荐
LOOP AT ITAB1 INTO WA1.
  READ TABLE ITAB2 INTO WA2 WITH KEY K = WA1-K BINARY SEARCH.
  IF SY-SUBRC = 0.
    ADD: WA1-VAL1 TO WA2-VAL1,
         WA1-VAL2 TO WA2-VAL2.
    MODIFY ITAB2 FROM WA2 INDEX SY-TABIX TRANSPORTING VAL1 VAL2.
  ELSE.
    INSERT WA1 INTO ITAB2 INDEX SY-TABIX.
  ENDIF.
ENDLOOP.
推荐
LOOP AT ITAB1 INTO WA.
  COLLECT WA INTO ITAB2.
ENDLOOP.
SORT ITAB2 BY K.

20、使用显示的work area 代替默认的work area
不推荐
ITAB = WA.
APPEND ITAB.
推荐
APPEND WA TO ITAB.

21、使用LOOP ...ASSIGNING代替loop ... modify.
不推荐(整条记录更新)
LOOP AT ITAB INTO WA.
  I = SY-TABIX MOD 2.
  IF I = 0.
    WA-FLAG = 'X'.
    MODIFY ITAB FROM WA.
  ENDIF.
ENDLOOP.
推荐(只会更新需要修改内容)
LOOP AT ITAB ASSIGNING <WA>.
  I = SY-TABIX MOD 2.
  IF I = 0.
    <WA>-FLAG = 'X'.
  ENDIF.
ENDLOOP.



分享到:
评论

相关推荐

    SAP ABAP程序性能调优介绍.pptx

    SAP ABAP 程序性能调优介绍 SAP ABAP 程序性能调优是指通过对程序的优化来提高 SAP 系统的性能。性能调优是 SAP 系统管理员和开发人员的重要任务之一,因为它可以直接影响到用户的体验和业务的效率。 用户交互过程...

    ABAP程序性能优化

    ### ABAP程序性能优化 #### 引言 在企业级应用开发中,SAP ABAP是一种广泛使用的编程语言。为了确保应用程序能够高效运行并提供良好的用户体验,开发者必须掌握一定的性能优化技巧。本文将深入探讨一系列关于ABAP...

    SAP ABAP程序性能调优介绍.pdf

    SAP ABAP 程序性能调优介绍 SAP ABAP 程序性能调优是指通过对 SAP ABAP 程序的优化,以提高程序的执行效率和响应速度,从而提高用户体验和系统性能。本文将详细介绍 SAP ABAP 程序性能调优的技术创新、用户交互过程...

    ABAP程序下载工具 1.4.4

    ABAP程序下载工具1.4.4是一款专为SAP系统设计的应用,它允许用户方便地批量下载ABAP源代码程序。在SAP系统中,ABAP(Advanced Business Application Programming)是主要的编程语言,用于开发和定制企业级业务应用...

    ABAP程序相互调用

    ABAP程序相互调用 ABAP程序相互调用是指在ABAP中,通过SUBMIT关键字实现程序之间的调用,这是一个非常有用的关键字。下面我们将详细介绍ABAP程序相互调用的方法和用法。 一、调用另一个程序 在ABAP中,我们可以...

    ABAP程序的8种类型

    ABAP 程序的 8 种类型 ABAP 程序有哪些类型?在用事务码 SE38 创建新程序时,总是被要求指定一个程序类型,这些程序类型分别完成不同的功能,如果选择错误,程序就可能无法运行。 可执行程序 (Executable Program)...

    下载ABAP程序源代码的程序.pdf

    下载ABAP程序源代码的程序 ABAP(Advanced Business Application Programming)是一种高级商业应用程序编程语言,主要用于SAP R/3系统中。ABAP语言具有强大的编程能力、灵活的数据类型、丰富的内置函数和强大的错误...

    批量下载abap程序-改造版

    批量下载abap程序-改造版

    如何在后台模式下调试程序ABAP程序的运行

    "如何在后台模式下调试程序ABAP程序的运行" ABAP程序调试是SAP系统中的一种重要功能,用于检测和解决程序中的错误。后台调试是ABAP程序调试的一种方式,指的是在后台模式下调试程序的运行。下面我们将详细介绍如何...

    ABAP 学习资料 ABAP性能提高解决办法

    "ABAP性能提高解决办法" ABAP性能提高解决办法是ABAP开发者们必须掌握的重要技术。作为一名合格的ABAP开发者,提高ABAP程序的性能是非常必要的。本文将向您介绍10种提高ABAP性能的解决办法。 1. loop 循环中不要用...

    abap程序批量下载

    ### ABAP程序批量下载工具详解 #### 一、概述 ABAP程序批量下载工具(原名:Mass download version 1.5.0)是一款专为SAP开发人员设计的实用工具,旨在帮助用户批量下载ABAP环境中的各种对象,如程序、函数、数据...

    ABAP 通过程序中的关键字查找程序名和首次出现的行数

    ABAP程序 通过程序中的关键字查找程序名和首次出现的行数,双击程序名进入程序

    ABAP 子程序及其调用

    ### ABAP 子程序及其调用 #### 一、概述 在ABAP编程语言中,子程序是一种重要的编程工具,它允许程序员将复杂的任务分解成更小、更易于管理的部分。这种模块化的编程方法不仅可以提高代码的可读性和可维护性,还...

    abap性能优化

    ABAP(Advanced Business ...以上仅是ABAP性能优化的一部分策略,实际应用中还需要结合具体业务场景和系统配置进行调整。希望这些内容能对你在ABAP性能优化的道路上起到抛砖引玉的作用,激发更多的学习和实践。

    详解SE30测试ABAP程序运行效率(多图)

    - **使用ABAP性能优化函数**:例如,使用GET TIME或TIMESTAMP函数来精确测量代码执行时间,以便更准确地定位问题。 6. **其他辅助工具**: SM50是一个类似Windows任务管理器的工具,它可以实时监控当前系统中运行...

    深入ABAP程序设计

    深入ABAP程序设计,探索其在SAP R/3系统中的关键作用与实践,是IT专业人士尤其是SAP开发者的重要学习方向。ABAP(高级商业应用编程语言)是SAP R/3系统的核心编程语言,其设计与应用覆盖了从数据库访问、业务逻辑...

    ABAP代码性能指导

    为了提高ABAP程序的执行效率,确保系统响应时间和资源利用率达到最佳状态,制定一套有效的ABAP代码性能指导原则显得尤为重要。 #### 二、代码性能优化关键点 ##### 1. 使用FORALL ENTRIES与表驱动 - **确保驱动表...

    SAP ABAP应用程序中"锁"的介绍

    在SAP ABAP应用程序中,锁机制是保证数据一致性、防止并发访问时产生数据不一致性的关键工具。本文将深入探讨SAP锁的概念、重要系统参数、锁管理以及锁的应用。 首先,SAP锁概念的核心在于防止多个进程同时修改相同...

    [SAP]ABAP程序介绍

    【SAP ABAP程序介绍】 SAP,全称System Applications and Products in Data Processing,始于1972年,由五位IBM前员工在德国曼海姆创立。SAP的早期产品,如R/1和R/2,逐渐演变为1992年的R/3系统,这是一个基于SAP ...

    SAP ABAP 代码备份下载到本地程序代码

    SAP ABAP 代码备份下载到本地程序代码

Global site tag (gtag.js) - Google Analytics