OpenSAP a4h1 Week 2 ABAP Coding Optimize

Embed Size (px)

Citation preview

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    1/61

    Week 2 Unit 1:

    Existing Code: Is It Still Valid?

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    2/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 2Public

    Existing Code: Is It Still Valid?Outline

    Content

    Code Continuity

    Mandatory Adaptions

    ABAP Test Cockpit

    Runtime Checks

    Additional

    Material!

    i

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    3/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 3Public

    Existing Code: Is It Still Valid?Migration to SAP HANA

    1. Detect

    Functional correctness

    Performance optimization potential

    2. Optimize

    Database-oriented programming

    3. Explore

    Use SAP HANA-specific features

    Rethink & innovate

    Explore

    Optimize

    Detect

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    4/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 4Public

    Existing Code: Is It Still Valid?Code Continuity

    Migration to SAP HANA is just a

    database migration

    Everything works as before, except

    Native SQL

    DB-specific hints

    Implicit DB-specific behavior

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    5/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 5Public

    Existing Code: Is It Still Valid?Mandatory Adaptations: Examples

    Previous usage of Native SQL/hints

    Check if Native SQL uses vendor-specific

    statements and how they can be replaced

    by either Open SQL or native SAP HANA

    constructs.

    Check if previously used hints are still

    needed in adapted form or can be

    removed.

    " Use of native SQL

    EXEC SQL.

    ENDEXEC.

    " Native SQL via ADBC

    lo_result =

    NEW cl_sql_statement(

    )->execute_query(

    'SELECT ROWNUM, *

    && ' FROM SNWD_BPA'

    &&' ORDER BY COMPANY_NAME' ).

    " Database / Database Interface Hints

    SELECT * FROM snwd_soINTO wa FOR ALL ENTRIES IN fae

    WHERE node_key = fae-node_key

    %_HINTS MSSQLNT'&prefer_join 0&'.

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    6/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 6Public

    Existing Code: Is It Still Valid?Mandatory Adaptations: Examples

    Relying on undocumented behavior

    Relying on implicit sorting

    Direct access to physical pool/clusters

    Checking for existence of secondary indices

    " Relying on implicit sorting

    SELECT * FROM my_table

    INTO TABLE lt_data WHERE id < 100.

    READ TABLE lt_data

    WITH KEY id = 10 BINARY SEARCH.

    " Access to physical pool / cluster

    DELETE FROM my_cluster

    WHERE timestamp < '01012000'.

    " Check for secondary index

    IF ( lv_index_exists = abap_true ).

    ...

    ENDIF.

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    7/61 2014 SAP AG or an SAP affiliate company. All rights reserved 7Public

    Existing Code: Is It Still Valid?ABAP Test Cockpit

    Holistic tools for quality assurance of

    ABAP code

    Single point of entry for all static code

    check tools (Code Inspector, )

    Verdicts are reported with priorities Support for quality management

    processes

    Available with ABAP 7.02 SP12 and

    above

    Fully integrated into developmentenvironment and transport tools

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    8/61 2014 SAP AG or an SAP affiliate company. All rights reserved 8Public

    Existing Code: Is It Still Valid?ABAP Test CockpitUsage

    Developers can

    Execute checks on single objects,

    package hierarchies, or transport orders

    Suppress verdicts using pseudo

    comments to avoid false positives

    Call the ATC from transaction SE80 and

    ABAP Development Tools for SAP

    NetWeaver

    Features for quality managers

    Centralexecution runs with notifications

    Results of check runs can be transferred

    to other systems

    Integration with SAP Solution Manager

    Additional

    Material!i

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    9/61

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    10/61 2014 SAP AG or an SAP affiliate company. All rights reserved 10Public

    Existing Code: Is It Still Valid?Runtime Check Monitor

    Runtime Checks

    Supplement static code checks

    Executed in productive system

    (negligible performance overhead)

    Available for ABAP 7.4 SP2 and above

    More information:

    SAP Notes 1912445 & 1931870

    Wait 4 weeks

    select a from

    into table

    for all entries in

    where a = -table_line.

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    11/61 2014 SAP AG or an SAP affiliate company. All rights reserved 11Public

    Existing Code: Is It Still Valid?Whats Next?

    Week 2 Unit 2

    Existing Code: What About Performance?

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    12/61

    Contact information:

    [email protected]

    Thank you

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    13/61 2014 SAP AG or an SAP affiliate company. All rights reserved 13Public

    2014 SAP AG or an SAP affiliate company.

    All rights reserved.

    No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or an

    SAP affiliate company.

    SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG

    (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epxfor additional

    trademark information and notices.

    Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

    National product specifications may vary.

    These materials are provided by SAP AG or an SAP affiliate company for informational purposes only, without representation or warranty of any kind,

    and SAP AG or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP AG or

    SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and

    services, if any. Nothing herein should be construed as constituting an additional warranty.

    In particular, SAP AG or its aff iliated companies have no obligation to pursue any course of business outlined in this document or any related

    presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAPAGs or its affiliated

    companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be

    changed by SAP AG or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment,

    promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertaintiesthat could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking

    statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.

    http://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epx
  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    14/61

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    15/61 2014 SAP AG or an SAP affiliate company. All rights reserved 2Public

    Existing Code: What About Performance?Outline

    Content

    Performance Considerations &

    Guidelines

    Static Code Checks for Performance

    Optimization Potential

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    16/61 2014 SAP AG or an SAP affiliate company. All rights reserved 3Public

    Existing Code: What About Performance?Migration to SAP HANA

    1. Detect

    Functional correctness

    Performance optimization

    potential

    2. Optimize

    Database-oriented programming

    3. Explore

    Use SAP HANA-specific features

    Rethink & innovate

    Explore

    Optimize

    Detect

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    17/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 4Public

    Existing Code: What About Performance?Performance Considerations

    Performance!

    Does SAP HANA automatically improve

    performance of my ABAP coding?

    Recommendations? Performance guidelines

    Tool-based performance analysis

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    18/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 5Public

    Existing Code: What About Performance?Classical Performance Guidelines and Additions

    Keep result sets small

    Minimize amount of transferred data

    Minimize number of data transfers

    Minimize search overhead

    Keep unnecessary load away from DB

    Even more important;

    one specific aspect of

    code-to-dataparadigm

    Less important; but still

    relevant in some cases

    Dont burden the DB

    with unnecessary

    operations

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    19/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 6Public

    Existing Code: What About Performance?Code Inspector Check Variant PERFORMANCE_DB

    Checks ABAP code to determine

    where code can most likely be

    optimized, for example

    SELECT statements

    Nested SELECT statements (acrossmodularization units)

    EXIT in SELECT loop

    Data transfer

    Problematic SELECT * statements

    Missing WHERE condition

    Other performance aspects

    Statements that bypass the table buffer

    Additional

    Material!i

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    20/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 7Public

    Existing Code: What About Performance?Static Code Analysis: Demo

    Check for Optimization Potential

    Overview of the available performance

    checks

    Analysis example of ABAP coding with

    the ABAP Test Cockpit

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    21/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 8Public

    Existing Code: What About Performance?Static Performance Check Coverage

    Covered by Static

    Checks

    Eliminated by

    UPL

    Dynamic

    Code

    Unused

    Code

    Non-Performance-Critical

    Code

    Code

    Relevant forOptimization

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    22/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 9Public

    Existing Code: What About Performance?Static Performance Check Coverage

    Runtime analysis using

    SAT or ABAP Profiler,

    for example

    Dynamic

    Code

    Unused

    Code

    Non-Performance-Critical

    Code

    Code

    Relevant forOptimization

    Eliminated by

    UPL

    Covered by Static

    Checks

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    23/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 10Public

    Existing Code: What About Performance?Whats Next?

    Week 2 Unit 3

    SQL Footprints in Your Productive System

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    24/61

    Contact information:

    [email protected]

    Thank you

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    25/61

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    26/61

    Week 2 Unit 3: SQL Footprints in

    Your Productive System

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    27/61

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    28/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 3Public

    SQL Footprints in Your Productive SystemMigration to SAP HANA

    1. Detect

    Functional correctness

    Performance optimization

    potential

    2. Optimize

    Database-oriented programming

    3. Explore

    Use SAP HANA-specific features

    Rethink & innovate

    Explore

    Optimize

    Detect

    Additional

    Material!i

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    29/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 4Public

    SQL Footprints in Your Productive SystemStatic Performance Checks

    Runtime analysis using

    SAT or ABAP Profiler,

    for example

    Dynamic

    Code

    Unused

    Code

    Code

    Relevant forOptimization

    Covered by Static

    Checks

    Eliminated by

    UPL

    Dynamic

    Code

    Unused

    Code

    Not performance critical

    Code

    Coderelevant for

    optimization

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    30/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 5Public

    SQL Footprints in Your Productive SystemExample of a Productive ERP System

    Example:A productive ERP system

    with 6000 concurrent users

    Two weeks in this system means:

    50k different business processes

    130k different ABAP SQL statements(>15% in customer code)

    13B SQL requests (~1B / day)

    140B records (~10B / day) read/changed

    Where to optimize?

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    31/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 6Public

    SQL Footprints in Your Productive SystemSQL Monitor

    Runtime Code Analysis

    SQL profile of productive system

    Find SQL performance optimization

    potential

    Available with ABAP 7.02 SP12 and

    above

    More information:

    SAP Note 1885926

    SCN Blog SQL Monitor Unleashed

    http://scn.sap.com/community/abap/hana/blog/2013/11/16/sql-monitor-unleashedhttp://scn.sap.com/community/abap/hana/blog/2013/11/16/sql-monitor-unleashed
  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    32/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 7Public

    SQL Footprints in Your Productive SystemArchitecture

    SQL MonitorTables

    SQL Monitor

    Transaction

    ApplicationTables

    Work Processes

    Database Interface

    Batch

    Job

    Runtime

    Monitor

    Data

    Async.

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    33/61

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    34/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 9Public

    SQL Footprints in Your Productive SystemAdministration of the SQL Monitor (2)

    Transaction SQLMoffers simple

    management of SQL Monitor

    snapshots

    Snapshotscan be:

    Created based on local data

    Imported from file (from other systems, for

    example)

    Exported to file

    Removed

    To reduce data volume, basic filter

    criteria can be applied before snapshot

    creation

    Additional

    Material!i

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    35/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 10Public

    SQL Footprints in Your Productive SystemAnalysis of SQL Monitor Data

    To display SQL Monitor data

    Use transaction SQLMD or

    Navigate from transaction SQLM

    Specify filter criteria:

    Development objects

    Requests

    Database tables

    Choose aggregation type

    Select initial sorting

    Additional

    Material!i

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    36/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 11Public

    SQL Footprints in Your Productive SystemSQL Monitor: Demo

    SQL Monitor

    Activation / deactivation

    Export / import SQL Monitor data

    snapshots

    Analyze SQL Monitor data

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    37/61

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    38/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 13Public

    SQL Footprints in Your Productive SystemImproved Check Coverage

    Covered by SQL

    Monitor

    Covered by Static

    Checks

    Runtime analysis

    e.g. using SAT

    Eliminated by

    UPL

    Dynamic

    Code

    Unused

    Code

    Non-Performance-Critical

    Code

    Code

    Relevant forOptimization

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    39/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 14Public

    SQL Footprints in Your Productive SystemWhats Next?

    Week 2 Unit 4

    Guided Performance Analysis

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    40/61

    Contact information:

    [email protected]

    Thank you

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    41/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 16Public

    2014 SAP AG or an SAP affiliate company.

    All rights reserved.

    No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or an

    SAP affiliate company.

    SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG

    (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epxfor additional

    trademark information and notices.

    Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

    National product specifications may vary.

    These materials are provided by SAP AG or an SAP affiliate company for informational purposes only, without representation or warranty of any kind,

    and SAP AG or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP AG or

    SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and

    services, if any. Nothing herein should be construed as constituting an additional warranty.

    In particular, SAP AG or its aff iliated companies have no obligation to pursue any course of business outlined in this document or any related

    presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAPAGs or its affiliated

    companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be

    changed by SAP AG or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment,

    promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties

    that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking

    statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.

    http://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epx
  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    42/61

    Week 2 Unit 4:

    Guided Performance Analysis

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    43/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 2Public

    Guided Performance AnalysisOutline

    Content

    Combine Static Code Checks with SQL

    Monitor Runtime Data

    SQL Performance Tuning Worklist

    Performance AnalysisRecommendations

    Additional

    Material!i

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    44/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 3Public

    Guided Performance AnalysisCombination of Code Check Results

    StaticCode

    Checks

    RuntimeMonitoring

    PrioritizedWorklist

    ATC results from

    development or

    quality system

    Combined

    information inthe SQL

    Performance

    Tuning Worklist

    (SWLT)

    SQL Monitor data

    from productive

    system

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    45/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 4Public

    Guided Performance AnalysisSQL Performance Tuning Worklist: Demo

    SQL Performance Tuning Worklist

    Activation / deactivation

    Export / import SQL Monitor data

    snapshots

    Analyze SQL Monitor data

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    46/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 5Public

    Guided Performance AnalysisRecommended Procedure

    ATC / RTM SQLM / SWLT SQLM / SWLT

    Scan forpotentialfunctional

    issues

    Scan for SQLperformance

    hotspots

    Correctfunctionalissues andmost criticalperformance

    hotspots

    Migrate toSAP HANA

    Iterativelyrepeat

    performancescans

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    47/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 6Public

    Guided Performance AnalysisWhats Next?

    Week 2 Unit 5

    Quick Wins: Optimized ALV and Other Improvements

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    48/61

    Contact information:

    [email protected]

    Thank you

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    49/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 8Public

    2014 SAP AG or an SAP affiliate company.

    All rights reserved.

    No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or an

    SAP affiliate company.

    SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG

    (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epxfor additional

    trademark information and notices.

    Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

    National product specifications may vary.

    These materials are provided by SAP AG or an SAP affiliate company for informational purposes only, without representation or warranty of any kind,

    and SAP AG or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP AG or

    SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and

    services, if any. Nothing herein should be construed as constituting an additional warranty.

    In particular, SAP AG or its aff iliated companies have no obligation to pursue any course of business outlined in this document or any related

    presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAPAGs or its affiliated

    companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be

    changed by SAP AG or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment,

    promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties

    that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking

    statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.

    http://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epx
  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    50/61

    Week 2 Unit 5: Quick Wins:

    Optimized ALV and Other

    Improvements

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    51/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 2Public

    Quick Wins: Optimized ALV and Other ImprovementsOutline

    Content

    Transparent Optimizations

    ABAP List Viewer with Integrated

    Data Access

    Fault-Tolerant Search Help and Type-Ahead

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    52/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 3Public

    Quick Wins: Optimized ALV and Other ImprovementsReminder: Transparent Optimizations

    Transparent optimizations

    Improved tools for performance analysis

    Extensions to ABAP and Open SQL

    Features for SAP HANA-oriented programming

    Re-use components optimized for SAP HANA

    ABAP development guidelines

    AS ABAP 7.4

    Guidelines

    Transparent Optimizations

    ABAP

    applications using SAP HANA

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    53/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 4Public

    Quick Wins: Optimized ALV and Other ImprovementsABAP List Viewer with Integrated Data Access: Demo

    ABAP List Viewer with Integrated

    Data Access

    Performance gains

    Leveraging SAP HANA capabilities

    Q O O

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    54/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 5Public

    Quick Wins: Optimized ALV and Other ImprovementsABAP List Viewer with Integrated Data Access

    Optimizations

    Result set minimized

    Application of code-to-data paradigm

    Experience:

    Performance improvement

    Reduced memory footprint

    No truncation of selected data

    More Information: http://scn.sap.com/docs/DOC-47994

    ABAP Demo Programs in Package

    SALV_IDA_TEST SAP

    HANA

    AS

    ABAP

    User

    Interface

    Classical

    ALVALV on

    SAP HANA

    Q i k Wi O ti i d ALV d Oth I t

    http://scn.sap.com/docs/DOC-47994http://scn.sap.com/docs/DOC-47994http://scn.sap.com/docs/DOC-47994http://scn.sap.com/docs/DOC-47994
  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    55/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 6Public

    Quick Wins: Optimized ALV and Other ImprovementsFault-Tolerant Search Help: Demo

    SAP HANA text search for search

    help

    Search help & type-ahead

    DynPro

    FPM WebDynPro

    Q i k Wi O ti i d ALV d Oth I t

    http://abapci.cloud.sap.corp:50000/sap/bc/webdynpro/sap/s_epm_oia?sap-client=001&sap-language=ENhttp://abapci.cloud.sap.corp:50000/sap/bc/webdynpro/sap/s_epm_oia?sap-client=001&sap-language=ENhttp://abapci.cloud.sap.corp:50000/sap/bc/webdynpro/sap/s_epm_oia?sap-client=001&sap-language=EN
  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    56/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 7Public

    Quick Wins: Optimized ALV and Other ImprovementsSearch Help & Type-Ahead

    Search help enhancements

    Fault-tolerant search using SAP

    HANA

    Type-ahead functionality

    Technical Prerequisites:

    SAP GUI version 7.30 PL6 or

    higher

    SAP NetWeaver Application Server

    ABAP 7.4 SP03 or higher

    More Information in SCN:

    Type Ahead in DynPro

    FPM, ALV & Type Ahead

    Q i k Wi O ti i d ALV d Oth Additi l

    http://scn.sap.com/docs/DOC-53335http://scn.sap.com/docs/DOC-40576http://scn.sap.com/docs/DOC-40576http://scn.sap.com/docs/DOC-40576http://scn.sap.com/docs/DOC-53335http://scn.sap.com/docs/DOC-53335
  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    57/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 8Public

    Quick Wins: Optimized ALV and Other

    Improvements - Search Help with Fuzzy Search (1)

    Word suggestion based on the F4

    value help data on any database

    In addition: Cross-column full text

    search based on powerful SAP

    HANA Fuzzy Search

    Fault-tolerance depending on

    specified accuracy value

    F4 Value Help and SAP HANA

    search results merged in result list

    Easy enabling via Search Helpoptions

    Further enhancements may be

    required

    Type-ahead

    search settings

    Additional

    Material!i

    Quick Wins: Optimized ALV and Other Additi l

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    58/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 9Public

    Quick Wins: Optimized ALV and Other

    Improvements - Search Help with Fuzzy Search (2)

    Input fields with type-ahead-

    enabled search help

    Field appearance changing

    as soon as edited

    Input help displayed in a

    dropdown box as the

    user enters the searchterms

    Search dialog with fullresult list and additional

    search options

    Clickable entry

    Additional

    Material!i

    Q i k Wi O ti i d ALV d Oth I t

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    59/61

    2014 SAP AG or an SAP affiliate company. All rights reserved 10Public

    Quick Wins: Optimized ALV and Other ImprovementsWhats Next?

    Week 3 Unit 1

    Recent Open SQL Enhancements - Part 1

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    60/61

    Contact information:

    [email protected]

    Thank you

    2014 SAP AG or an SAP affiliate company

  • 8/11/2019 OpenSAP a4h1 Week 2 ABAP Coding Optimize

    61/61

    2014 SAP AG or an SAP affiliate company.

    All rights reserved.

    No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or an

    SAP affiliate company.

    SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG

    (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epxfor additional

    trademark information and notices.

    Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

    National product specifications may vary.

    These materials are provided by SAP AG or an SAP affiliate company for informational purposes only, without representation or warranty of any kind,

    and SAP AG or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP AG or

    SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and

    services, if any. Nothing herein should be construed as constituting an additional warranty.

    In particular, SAP AG or its aff iliated companies have no obligation to pursue any course of business outlined in this document or any related

    presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAPAGs or its affiliated

    companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be

    changed by SAP AG or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment,

    promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties

    that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-lookingstatements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.

    http://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epxhttp://global12.sap.com/corporate-en/legal/copyright/index.epx