toc
Icons in Body Text
toc
Introduction
Lesson:
SAP HANA Goals
SAP HANA Application Architectures
Types of SAP HANA-Based Applications
SAP HANA Innovations and Challenges
In-Memory Computing and the Shift of Performance Bottlenecks
Column Store versus Row Store
Data Compression
Partitioning and Parallel Processing
ABAP Programming for SAP HANA: Evolution and Opportunities
What s in it for ABAP Programmers?
Exercise 1: Log on to ABAP Systems and Create Packages
Task 1: Log on to Application Server ABAP with SAP HANA as prima
Lesson:
SAP HANA Studio – An Eclipse Based Tool
Details of HANA Studio
Systems – Access to SAP HANA Server
The Catalog – Tables
SAP HANA Content – Packages and Models
Transport of SAP HANA Content: Delivery Units
Exercise 2: Log on to SAP HANA
Task 1: Log on to SAP HANA
Lesson:
Using ABAP Development Tools
Working with ADT
Exercise 3: Create a Project in ABAP Development Tools
Task 1: Create a Project in ABAP Development Tools
Lesson:
Enterprise Procurement Model (EPM)
Taking ABAP to SAP HANA
Lesson:
Secondary Database Connections
Access to a Secondary Database with Open SQL
Exercise 4: Access SAP HANA Via a Secondary Database Connection
Task 1: Copy and understand templates
Source code extract from model solution (Program HA400_EPM_SEC_D
Lesson:
Considerations before migrating to SAP HANA
Performance Considerations
Exercise 5: Improve Open SQL Using ABAP Test Cockpit (ATC)
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_OPT_O
Lesson:
Best Practice when transitioning ABAP code for SAP HANA
Determining an ABAP System s SQL Profile: SQL Monitor
Creating a Prioritized Worklist
In-depth Analysis of Performance Issues
Exercise 6: Use the SQL Performance Tuning Worklist to Analyze S
Task 1: Understand package HA400_EPM_SWLT
Exercise 7: (Optional) Improve Open SQL Statements Using The SQL
Task 1: Analyze
Source code extract from model solution (Program HA400_EPM_OPT_O
Lesson:
Performance Guidelines for ABAP on SAP HANA
Code-to-Data with SAP HANA as Secondary Database
Lesson:
The Code-to-Data Paradigm
Open SQL
Lesson:
Basic Features of ADBC
Usage of ADBC
Lesson:
Native SQL in ABAP
Native SQL and Open SQL
Testing Native SQL Statements in the SAP HANA Studio
Exercise 8: Issue a Native SQL Join Via ADBC
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_NATIV
Exercise 9: (Optional) Use Native SQL to Access SAP HANA Specifi
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_NATIV
Lesson:
Code-to-Data in ABAP releases < ABAP 7.4
Search for SAP HANA Views
Definition of SAP HANA Views
Attribute Views
Analytic Views
Calculation Views
Test and Data Preview
Lesson:
Consuming SAP HANA Views Using Native SQL
SAP HANA Views without Input Parameters
SAP HANA Views with Input Parameters
Exercise 10: Analyze a SAP HANA View and Use it in Native SQL
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_HANA_
Lesson:
Searching for SAP HANA Procedures
Analyzing SAP HANA Procedures
Testing SAP HANA Procedures
Lesson:
Exercise 11: Analyze a SAP HANA Database Procedure and Call it w
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_PROCE
Code-to-Data with ABAP 7.4
Lesson:
Exercise 12: New Features in OpenSQL
Source code extract from model solutions
Lesson:
Concept of Core Data Services
Defining and using Core Data Services in ABAP
Enhancing Core Data Services in ABAP
Exercise 13: Core Data Services in ABAP
Source code extract from the solution, DDL Source HA400_EPM_DDL_
DDL Source HA400_EPM_DDL_ADVANCED_S2
Program HA400_EPM_CDS_S1
Lesson:
Core Data Services provide extended support for treating relatio
Exercise 14: Use Associations in Core Data Services in ABAP
Task 1: Copy and understand template
Source code extract from the solution (DDL Source HA400_EPM_DDL_
Code-to-Data with SAP HANA as Primary Database
Lesson:
Core Data Services Views with Input Parameters
Exercise 15: (Optional) Core Data Services View with Input Param
Task 1: Copy and understand template
DDL Source HA400_EPM_DDL_SO_WITH_CUST_S2
ABAP program HA400_EPM_CDS_S2
Lesson:
Motivation for ABAP-managed Database Procedures
Creating AMDPs
Using AMDPs
Enhancing ABAP-managed Database Procedures
Exercise 16: Create and call an ABAP-Managed Database Procedure
(Class CL_HA400_EPM_AMDP_CLASSIFY_S1)
(Program HA400_EPM_AMDP_CLASSIFY_S1)
Lesson:
When ABAP code using ABAP-managed database procedures does not w
Exercise 17: Debug an ABAP-managed Database Procedure
SAP HANA Proxy Objects
Lesson:
Code-to-Data with ABAP 7.4 ≥ SP02
External Views
What are External Views?
Create External Views in ABAP Development Tools (ADT)
Data Type Mapping between SAP HANA and ABAP Dictionary
Using SAP HANA Views in Select Statements
Exercise 18: Create an External View for SAP HANA View and Use i
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_EXT_V
Lesson:
Database Procedure Proxies
How do Database Procedure Proxies Work?
Database Procedure Proxies in ABAP Development Tools (ADT)
Data Type Mapping between SAP HANA and ABAP Dictionary
Calling Database Procedure Proxies in ABAP
Summary: Code-to-Data Techniques
Exercise 19: Call a Database Procedure Proxy for a SAP HANA Proc
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_PROC_
Lesson:
HANA Transport Containers
Using HANA Transport Containers properly
Exercise 20: Create HANA Transport Container for a Delivery Unit
Task 1: Create a HANA Transport Container
Advanced Topics
Lesson:
Fuzzy Search
Motivation and Prerequisites
Creating a Full-Text Index for Fuzzy Search
Using the Fuzzy Search
Linguistic Search
Creating a Full-Text Index for Linguistic Search
Using the Linguistic Search
Using Full Text Search And Type-Ahead Input Fields
Exercise 21: Implement a Fuzzy Search
Task 1: Copy and understand the template
Source code extract from model solution (Program HA400_FUZZY_S1)
Exercise 22: Implement Type-Ahead with Fuzzy Search
Task 1: Copy and understand the template objects
Source code extract from model solution (Report HA400_FUZZY_S2)
Lesson:
SAP ABAP List Viewer with Integrated Data Access
Basic Principles and Advantages
How it Works
Difference between ALV for SAP HANA and Classical ALV
Technical Difference
End User Perspective
Implementing ALV for SAP HANA
Using Select Options
Referencing Data Elements
External Views with Input Parameters
Using Fuzzy Search
Things to keep in Mind
Exercise 23: Use ALV Optimized for SAP HANA
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_HANA_
Case Study: Optimize a Report on Flight Customer Revenue
Lesson:
Exercise 24: Case Study Part 1: Create a SAP HANA Analytic View
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_CASE_STUD
Exercise 25: Case Study Part 2: Use ALV optimized for SAP HANA
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_CASE_STUD
Appendix: Alternative Exercises
Lesson:
Exercise 26: Log on to ABAP Systems and Create Packages
Task 1: Log on to Application Server ABAP with SAP HANA as prima
Exercise 27: Create a Project in ABAP Development Tools
Task: Create a Project in ABAP Development Tools
Exercise 28: Access SAP HANA Via a Secondary Database Connection
Task 1: Copy and understand templates
Source code extract from model solution (Program HA400_SEC_DB_CO
Exercise 29: Improve Open SQL by Using Code Inspector (SCI)
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_OPT_OSQL_
Exercise 30: (Optional) Improve Open SQL Statements Using The SQ
Task 1: Analyze
Source code extract from model solution (Program HA400_OPT_OSQL_
Exercise 31: Issue a Native SQL Join Via ADBC
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_NATIVE_SQ
Exercise 32: (Optional) Use Native SQL to Access SAP HANA Specif
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_NATIVE_SQ
Exercise 33: Analyze a SAP HANA View and Use it in Native SQL
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_HANA_VIEW
Exercise 34: Analyze a SAP HANA Database Procedure and Call it w
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_PROCEDURE
Exercise 35: Use New Open SQL Syntax
Task 1: Copy and understand template
Source code extract from the model solution (ABAP DDL Source HA4
Exercise 36: Core Data Services in ABAP
Task 1: Copy and understand template
Source code extract from the model solution
(Program HA400_CDS_VIEW_S1)
Exercise 37: Use Associations in Core Data Services in ABAP
Task 1: Create a copy of the ABAP DDL Source
Source code extract from the model solution
Exercise 38: (Optional) Core Data Services View with Input Param
Task 1: Copy and understand template
DDL Source HA400_CDS_S3
ABAP program HA400_CDS_VIEW_S3
Exercise 39: Create and Call an ABAP Managed Database Procedure
Task 1: Copy and understand template program
Source code extract from model solution
(Program HA400_AMDP_S1)
Exercise 40: Debug an ABAP-managed Database Procedure
Program HA400_AMDP_S1
Task 1: Prepare Debugging of the AMDP
Exercise 41: Create an External View for SAP HANA View and Use i
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EXT_VIEW_
Exercise 42: Create a Database Procedure Proxy for a SAP HANA Pr
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_PROC_PROX
Exercise 43: Use ALV Optimized for SAP HANA to Display an Extern
Task 1: Analyze ABAP Dictionary External view
Source code extract from model solution (Program HA400_HANA_ALV_
Appendix: Other New ABAP Language Elements
Lesson:
Exercise 44: Use ABAP Expressions and Inline Data Declarations t
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_EXPR_
Exercise 45: Use Table Expressions to Simplify Native SQL Calls
Task 1: Copy and understand template
Source code extract from model solution (Program HA400_EPM_EXPR_