适应SAP HANA的ABAP代码改造关键步骤

需积分: 10 2 下载量 198 浏览量 更新于2024-07-09 收藏 1.73MB PDF 举报
"Mandatory Steps to Adapt Your ABAP Code for SAP HANA" 这篇文档主要讲述了在将ABAP代码迁移到SAP HANA平台时需要执行的关键步骤。SAP HANA是一个高性能的数据处理平台,它利用内存计算技术来加速业务应用程序。在从传统的数据库系统向HANA迁移时,虽然大部分ABAP代码可以保持不变,但仍有部分代码可能需要调整,以充分利用HANA的优势。 1. **代码分析与评估** 在迁移前,首先需要对现有的ABAP代码进行分析,识别出依赖于旧数据库特性的代码片段。这包括对索引、存储过程、触发器等的使用情况的检查,因为这些在HANA中可能有不同的实现方式或完全不需要。 2. **数据模型优化** SAP HANA支持列式存储和实时分析,因此可能需要重构数据模型,比如创建更高效的表结构,使用列式视图,或者利用HANA的计算视图和多维数据模型(如CUBE)。 3. **使用HANA特定的功能** - **利用HANA SQL扩展**:ABAP代码需要更新以使用HANA特有的SQL语法,例如使用HANA的分析函数、并行查询、动态分区等。 - **内存优化**:考虑使用HANA的内存优化功能,如临时表,减少磁盘I/O,提高处理速度。 - **利用HANA的计算能力**:将复杂计算移到数据库层,减轻应用服务器的负担。 4. **事务处理和并发控制** SAP HANA提供了更强大的并发处理能力,可能需要重新设计事务逻辑,以利用这些特性,确保数据一致性。 5. **性能测试与调优** 迁移后,必须进行详尽的性能测试,确保代码在HANA环境中运行良好。这包括压力测试、负载测试和基准测试,以便识别和解决任何性能瓶颈。 6. **利用ABAP for HANA的新特性** SAP HANA带来了新的ABAP开发工具和库,如ABAP Development Tools (ADT) 和ABAP in Eclipse,它们提供了更好的集成开发环境。此外,还有ABAP Objects for SAP HANA (ABAP Objects,简称AOH),允许开发者直接在ABAP层创建和操作HANA的对象。 7. **培训与知识转移** 开发团队需要接受针对SAP HANA和ABAP for HANA的专门培训,以便理解和利用新平台的特性。 8. **版本控制与变更管理** 在代码适应过程中,确保使用版本控制系统,记录所有更改,并遵循变更管理流程,以确保代码质量和可维护性。 9. **备份与恢复策略** 考虑到HANA的备份和恢复机制可能不同于传统数据库,需要更新相应的策略以保证数据安全。 10. **持续监控与优化** 迁移到HANA后,持续监控系统性能,定期进行代码审查和优化,以确保最佳运行效果。 这个文档是为那些计划或正在将ABAP应用程序迁移到SAP HANA的开发者和团队提供了一个指南,帮助他们了解如何有效地调整代码以适应新的数据库环境,充分利用SAP HANA的高性能和特性。通过遵循这些步骤,企业可以确保其ABAP应用程序在HANA上运行得更加高效和稳定。
2018-06-09 上传
Contents Foreword ...................................................................................... 15 Preface .......................................................................................... 17 Introduction ................................................................................. 19 PART I Basic Principles 1 Overview of SAP HANA ................................................ 29 1.1 Software Components of SAP HANA .............................. 29 1.1.1 SAP HANA Database ......................................... 31 1.1.2 SAP HANA Studio ............................................. 31 1.1.3 SAP HANA Client .............................................. 33 1.1.4 SAP HANA Function Libraries ........................... 34 1.1.5 Software for Data Replication ............................ 34 1.1.6 Software for Direct Data Access ........................ 35 1.1.7 Lifecycle Management Components .................. 36 1.2 Basic Principles of In-Memory Technology ..................... 37 1.2.1 Hardware Innovations ....................................... 37 1.2.2 Software Innovations ......................................... 41 1.3 Architecture of the In-Memory Database ....................... 51 1.4 Application Cases for SAP HANA ................................... 53 1.5 How SAP HANA Affects Application Development ........ 56 1.5.1 New Technical Options ..................................... 56 1.5.2 Code Pushdown ................................................ 57 1.5.3 Database as Whitebox ....................................... 59 1.5.4 Required Qualifications for Developers ............. 61 2 Introducing the Development Environment ................. 63 2.1 Overview of Eclipse ....................................................... 63 2.2 SAP’s Eclipse Strategy .................................................... 66 2.2.1 Unbundling of Eclipse and SAP Software ........... 67 2.2.2 Central Update Site ........................................... 67 2.3 Installing the Development Environment ....................... 69 2.3.1 Installing SAP HANA Studio .............................. 69 8 Contents 2.3.2 Installing the ABAP Development Tools for SAP NetWeaver ................................................. 70 2.4 Getting Started in the Development System ................... 72 2.4.1 Basic Principles of Eclipse .................................. 72 2.4.2 ABAP Development Tools for SAP NetWeaver ... 75 2.4.3 SAP HANA Studio ............................................. 85 3 Database Programming Using SAP NetWeaver AS ABAP ........................................................................ 103 3.1 SAP NetWeaver AS ABAP Architecture .......................... 105 3.1.1 Database Interface ............................................ 107 3.1.2 Role of the Database for the ABAP Application Server ............................................. 109 3.1.3 Data Types ........................................................ 110 3.2 ABAP Database Access .................................................. 116 3.2.1 ABAP Data Dictionary ....................................... 117 3.2.2 Open SQL ......................................................... 122 3.2.3 Database Views in the ABAP Data Dictionary .... 132 3.2.4 Database Access via Native SQL ........................ 133 3.2.5 Secondary Database Connections ...................... 139 3.3 Analyzing Database Accesses Using the SQL Trace ......... 143 3.3.1 Statement Transformations ................................ 143 3.3.2 Secondary Connections ..................................... 150 3.3.3 Native SQL ........................................................ 151 3.3.4 Buffer ................................................................ 152 PART II Introduction to ABAP Programming with SAP HANA 4 View Modeling in SAP HANA Studio ........................... 157 4.1 Attribute Views ............................................................. 160 4.1.1 Basic Principles ................................................. 161 4.1.2 Creating Attribute Views ................................... 164 4.1.3 Calculated Fields ............................................... 172 4.1.4 Hierarchies ........................................................ 174 4.1.5 Attribute Views for Time Values ........................ 176 9 Contents 4.1.6 Runtime Artifacts and SQL Access for Attribute Views ................................................. 179 4.2 Analytic Views ............................................................... 180 4.2.1 Basic Principles ................................................. 181 4.2.2 Creating Analytic Views ..................................... 183 4.2.3 Calculated Key Figures ...................................... 186 4.2.4 Currency Conversion and Unit Conversion ........ 187 4.2.5 Runtime Artifacts and SQL Access for Analytic Views .................................................. 191 4.3 Calculation Views .......................................................... 192 4.3.1 Basic Principles ................................................. 193 4.3.2 Graphical Modeling of Calculation Views .......... 195 4.3.3 Implementing Calculation Views via SQLScript .......................................................... 197 4.3.4 Runtime Artifacts and SQL Access for Calculation Views .............................................. 202 4.4 Accessing Column Views via Microsoft Excel .................. 203 4.5 Using SAP HANA Views in ABAP ................................... 205 4.5.1 Access via Native SQL ....................................... 205 4.5.2 External Views in the ABAP Data Dictionary ...... 207 4.5.3 Options for Accessing External Views ................ 210 4.5.4 Recommendations ............................................ 211 5 Programming Options in SAP HANA ............................ 215 5.1 Overview of SQLScript ................................................... 215 5.1.1 Qualities of SQLScript ....................................... 216 5.1.2 Processing SQLScript ......................................... 222 5.2 Implementing Database Procedures ............................... 223 5.2.1 Basic Principles of Database Procedures ............ 223 5.2.2 Creating Database Procedures ........................... 225 5.2.3 Using Variables .................................................. 237 5.2.4 Calculation Engine Plan Operator ..................... 239 5.2.5 Imperative Enhancements ................................. 250 5.2.6 Accessing System Fields .................................... 252 5.2.7 Error Handling ................................................... 254 5.3 Using Procedures in ABAP ............................................. 255 5.3.1 Access Using Native SQL ................................... 256 10 Contents 5.3.2 Defining Database Procedure Proxies ................ 263 5.3.3 Calling Database Procedure Proxies ................... 265 5.3.4 Adjusting Database Procedure Proxies ............... 267 6 Application Transport ................................................... 269 6.1 Basic Principles of the Transport System ......................... 271 6.1.1 Transport in SAP NetWeaver AS ABAP .............. 271 6.1.2 Transport in SAP HANA ..................................... 276 6.2 Combined ABAP/SAP HANA Transport .......................... 285 6.2.1 HANA Transport Container ................................ 286 6.2.2 Enhanced Transport System ............................... 292 7 Runtime and Error Analysis with SAP HANA ............... 293 7.1 Overview of the Tools Available ..................................... 294 7.2 Error Analysis ................................................................. 296 7.2.1 Unit Tests .......................................................... 296 7.2.2 Dump Analysis .................................................. 299 7.2.3 Tracing in SQLScript .......................................... 301 7.2.4 Debugging SQLScript ........................................ 302 7.3 ABAP Code Analysis ...................................................... 305 7.3.1 Checks and Check Variants ................................ 305 7.3.2 Checks in the Development Infrastructure ......... 309 7.3.3 Global Check Runs in the System ...................... 311 7.4 Runtime Statistics and Traces ......................................... 313 7.4.1 Runtime Statistics .............................................. 314 7.4.2 ABAP Trace and ABAP Profiler ........................... 318 7.4.3 SQL Trace ......................................................... 326 7.4.4 Single Transaction Analysis ............................... 330 7.4.5 Explain Plan ...................................................... 331 7.4.6 SAP HANA Plan Visualizer ................................ 333 7.5 System-Wide SQL Analyses ............................................ 337 7.5.1 DBA Cockpit .................................................... 338 7.5.2 SQL Monitor .................................................... 342 7.6 SQL Performance Optimization ...................................... 346