Vous êtes sur la page 1sur 49

Orange County Convention Center

Orlando, Florida | June 3-5, 2014

ABAP Today and Tomorrow


Thomas Jung, Rich Heilman
Disclaimer

This presentation outlines our general product direction and should not be
relied on in making a purchase decision. This presentation is not subject to
your license agreement or any other agreement with SAP. SAP has no
obligation to pursue any course of business outlined in this presentation or
to develop or release any functionality mentioned in this presentation. This
presentation and SAP's strategy and possible future developments are
subject to change and may be changed by SAP at any time for any reason
without notice. This document is provided without a warranty of any kind,
either express or implied, including but not limited to, the implied
warranties of merchantability, fitness for a particular purpose, or non-
infringement. SAP assumes no responsibility for errors or omissions in this
document, except if such damages were caused by SAP intentionally or
grossly negligent.
Introduction
Multiple Expectations and Key Players
SAP NetWeaver AS ABAP 7.4 meets all requirements

Real-time Business Ease the daily life: new SAP user


Low TCO & TCD experience on desktops and mobile
Non Disruptive devices
Future-Proof Accelerate reports and selections
Intuitive value helps

Enable completely new application


scenarios
(SAP standard and custom
development)
Flexible business processes by enhancing
collaboration between LoB and IT

Scalable landscapes
Efficient operations
Integrated and simplified Build on existing ABAP skills and
Lifecycle Management knowhow
Integrated developer experience: ABAP,
SAP HANA, SAPUI5, SAP NetWeaver
Cloud
SAP NetWeaver Application Server ABAP 7.4
Whats in it for you ?

ABAP application development optimized for SAP HANA

Real-time analysis with embedded analytics

Modern declarative and functional ABAP language

Develop like never before in Eclipse

Delightful user experience and easy mobile access

Flexible processes by enhancing collaboration between LoB & IT

Faster time to value with ABAP in the Cloud

Bridge on-Premise and Cloud with SAP HANA Cloud Integration


SAP NetWeaver AS ABAP 7.4 at a Glance
Innovations and Enhancements

OnPremise/Cloud, Gateway/SAPUI5i User experience & productivity Simplification, low TCO,


Low TCO/TCD across ABAP systems n AS ABAP Web and mobile scenarios integrated ABAP and SAP HANA

SAP NetWeaver AS ABAP 7.4


SAPUI5, FPM/WDA, NWBC etc.
Development Tools

Management
& Integration
Connectivity

Gateway

Lifecycle

Security
in Eclipse

Integrated Latest security


Development standards
ABAP Business Embedded
on HANA Rules Analytics

Classical Database SAP HANA

ABAP Language ABAP optimized Decision Service Management


Improvements for SAP HANA with BRFplus
The Role of ABAP for Application Development
on SAP HANA
Applications based on ABAP and SAP HANA
SAP Business Suite SAP NetWeaver BW New applications

SAP Business Suite powered by SAP SAP NetWeaver BW powered by develop completely new applications
HANA available since January 2013 SAP HANA available since (often running side-by-side with SAP
November 2011 Business Suite)
transition existing ABAP custom
developments to SAP HANA significant new features for specifically design the applications for
Enterprise Data Warehousing / Big leveraging SAP HANA
optimize and develop new add-ons
Data avaiable since December 2013
for SAP Business Suite
ABAP custom developments in
context of SAP NetWeaver BW

based on ABAP 7.4 = the to-go release for all SAP HANA based
ABAP applications
How can my ABAP code benefit from SAP HANA?
The new paradigm

Calculation
AS ABAP

Data to Code Code to Data

SAP HANA
Database
Calculation

Code pushdown means delegating data intense calculations to the


database layer
Transition of ABAP Code in ABAP for HANA
Best Practices

1. Detect
Execute Performance measurements
Analyze and prioritize Detect

2. Optimize Optimi
Use new features for Optimizations on ze
existing code
Innovate

3. Innovate
Use new features, resources and possibilities
to enhance your business
ABAP 7.4
Best in class for End-2-End Development
Demo
ABAP for HANA End-2-End App
An End-2-End Example
App Architecture

Frontend
Fiori App Modern Browser for Javascript &
HTML 5

SAP AS ABAP 7.4 Repository to Store HTML &


AS ABAP WebServer Javascript Files for Web Server
ICF UI5 Repo
Pushchannels & WebSockets for
SAP Gateway to create & Gateway Push Channels responsive UI communication
manage OData Services
ABAP Language to implement the
ABAP Implementation
GatewayServices & Pushchannels
New ABAP based View- CDS Views AMDP
building for improved
and faster data access ABAP managed Stored Procedures
SAP HANA for SAP HANA for enhanced
database processing
Views / Tables Procedures
ABAP application development optimized for SAP HANA
Start with low hanging Fruits

Fault-tolerant value
helps (using HANA
Analytical side-panels
fault-tolerant text
using advanced HANA
search)
capabilities

Navigate through
large data sets using
ALV
with Integrated Data
Access (ALV on Accelerate data access
HANA) by pushing operations to
SAP HANA

Benefits of AS ABAP 7.4 on SAP HANA: Proven. Efficient. Non-disruptive.


SAP List Viewer with Integrated Data Access

What changed:

Interface
Only select data to be displayed

User
Perform aggregations, grouping,
sorting and paging in the db
Declare constraints on data

AS ABAP
(e.g. required authorizations,
ranges, or complex conditions)

Experience:
Result is retrieved much faster Classical New ALV
ALV IDA
Reduced memory consumption
No truncation of selected data

HANA
SAP
Available in SAP GUI and Floorplan Manager
Demo
ALV IDA
Code Pushdown starts with Open SQL!

Limitations in ABAP before ABAP 7.4


Minimized Limitations in ABAP
7.4
SQL92 Standard

Advanced Open SQL

Open SQL
Open SQL Extensions in ABAP 7.4
Less Restrictions More Freedom!

Reduction of limitations requires changes!


Definition of the semantics for
new functionality in Open SQL
Remember: Open SQL defines a
semantic for common to all
SAP supported databases!

New/enhanced Open SQL syntax


Old syntax still supported
Use of new features only possible
with the new syntax
Open SQL Extensions in ABAP 7.4
Whats New in Open SQL? (1/2)

New Open SQL syntax


Escaping of host variables with @ SELECT so_id AS sales_order_id,
Right Outer Join currency_code,
gross_amount,
Comma separated element list FROM snwd_so
Diverse SQL expressions INTO TABLE @lt_sales_orders.

Aggregate functions
Operators like BETWEEN or > SELECT so~currency_code,
so~gross_amount,
can be used for comparisons bp~company_name,
CASE so~delivery_status
And more WHEN ' ' THEN 'OPEN'
WHEN 'D' THEN 'DELIVERED'
ELSE so~delivery_status
Extensively expressions- END

enabled
FROM snwd_so AS so
RIGHT OUTER JOIN snwd_bpa AS bp
ON so~buyer_guid = bp~node_key
INTO TABLE @lt_advanced.
Open SQL Extensions in ABAP 7.4
Whats New in Open SQL? (2/2)

Diverse SQL expressions and functions now supported


Arithmetical expressions: + | - | * | DIV | MOD | ABS | FLOOR |
CEIL
Concatenation of character columns with &&
Aggregate functions
Conditional expression with CASE
Casting with CAST
Elementary values
Coalesce

All SQL expressions can be used in a column list


behind SELECT
Demo
Performance possibilities with new openSQL
Create and Consume Views in ABAP

Viewbuilding with Core Data Services in ABAP


Definition of semantically rich data models by means of view entities in ABAP
DDL Source Objects (R3TR DDL)

Code pushdown support through extended view functionality


Enhanced access functions in
comparison to Open SQL: Consumer Applications
e.g. unions and associations
ABAP Language / Open SQL ABAP CDS
Fully integrated into the ABAP / Dictionary
infrastructure
SQL
Core Data Services (CDS)
Open SQL on view entities View

SQL Calculatio
Any Other SQLScript
Engine n Engine
Database

SAP HANA Database


Core Data Services View Building at a Glance
SQL View name
CDS View entity
Buffering-specific
annotation

Select Name
list list
Joins

built-in
built-in
functio
functions
ns
And many more
Diverse annotations

Alias Unions
Associations
Where Case
clause statement Path expressions
View on View Entity

Group by DDL Source Sample


clause
Aggregate
function
Demo
Advanced ABAP Viewbuilding using CDS
No competition, but Complementarity

Core Data Services


New Open SQL
in ABAP

Use Open SQL if you: Use CDS views if you:


Need the query in one piece of code only Have a real re-use case similar as for
Access system fields, e.g., sy-mandt Dictionary views
Need features only available in Open SQL, Need features currently only available in
such as FOR ALL ENTRIES DDL sources like ASSOCIATION, UNION,
UNION ALL
HANA Stored Procedures

SAP HANA offers stored procedures in SQLScript


an extension to SQL - for expressing data intensive
application logic

Writing clever stored


procedures can be key
for significant perfor-
mance boosts
Create and Consume HANA Procedures in ABAP
ABAP Managed Database Procedures (AMDP)

AMDP provided as methods of global


classes marked with tag interfaces
(aka AMDP class)
HANA procedure created at the first
call of the AMDP method
Static syntax check and syntax coloring
provided for SQLScript source code

AMDP methods consumed similarly to


regular ABAP methods

Whole Lifecycle Management in ABAP


Detailed analysis of runtime
errors in ST22
AMDP on HANA at a Glance - Class Definition

Standard ABAP class methods are used as containers for the implementation of AMDPs

Marker
interface for
HDB
CLASS CL_AMDP_SAMPLE DEFINITION.
only ABAP PUBLIC SECTION.
code possible INTERFACES IF_AMDP_MARKER_HDB.
METHODS method_1
IMPORTING it_param TYPE type1
EXPORTING et_param TYPE type2.
specific parameter
METHODS method_2 interface required
IMPORTING VALUE(it_param) TYPE type1
EXPORTING VALUE(et_param) TYPE type2.
ABAP or SQLScript CHANGING VALUE(ch_param) TYPE type3
code possible
ENDCLASS.
AMDP on HANA at a Glance - Class Implementation

Whether AMDP or ABAP method? The Decision is taken in the method implementation!

CLASS CL_AMDP_SAMPLE IMPLEMENTATION.


Marker for
METHODS method_1. AMDP method
* ABAP source code here
...
ENDMETHOD. Database-specifc
METHOD method_2 BY DATABASE PROCEDURE options
FOR HDB
Database LANGUAGE SQLScript
platform [OPTIONS db_options]
[USING name1 name2 etc..] List of Dictionary entities
Database and other AMDPs used in
language --Write your native SQLScript coding here. the implementation
select * from dummy;
...
ENDMETHOD.
ENDCLASS.
SQLScript
source code
Demo
AMDP
ABAP 7.4
ABAP for HANA Code Optimization Tools
Migrate to SAP Business Suite powered by SAP HANA
Impact on custom ABAP development

Which of my ABAP code must be changed to avoid potential functional issues?

Which of my ABAP code shall be optimized to


ensure good performance?

Which of my main business processes have


potential for HANA so that I can speed up
those massively?

And how can I find all this ABAP code easily


and do the adaption efficiently?
Prepare your custom code for SAP HANA
Functional corrections for existing ABAP code

Which of my ABAP code must be changed to avoid


potential functional issues

In general existing ABAP code runs on SAP HANA as before

Only if ABAP code relies on technical specifics of the old database, ABAP code changes
might be necessary
Optimize Custom Code for SAP HANA
Tooling

How can I find the ABAP code which shall be optimized or which
has potential for massive acceleration using code push down to SAP HANA

In general no changes are necessary if your SQL code follows the golden
Open SQL rules
Use static checks to find SQL patterns that violate the golden Open SQL
rules
Add runtime performance data from production to rank the findings and to
find potential for massive acceleration
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 or
changed

Where to start an
optimization?
Find tunable Custom ABAP Code efficiently

Enhanced Code scans such as ABAP Test Cockpit and Code Inspector
finding critical open SQL statements in your custom code
Which open SQL statements are
not HANA-compliant?

New SQL Monitor providing performance


data for each and every open SQL statement
executed in productive system
What are the most expensive and
most frequently executed SQLs?
Which SQL reads/writes millions of records?
What is the SQL profile of a
specific business process?
Find tunable Custom ABAP Code efficiently

Development Code Inspector / SQL Monitor / Productive


/ Q- System ABAP Test Cockpit Coverage System
Analyzer
Identify location of known Collect runtime usage data
1 2
critical code constructs of constructs (e.g. points
Static
(e.g. SELECT *) Checks
of entry and elapsed time)
data
Runtime
data

- Complete check
3
coverage
- Prioritized worklist for
performance
Development Efficient analysis with improvement
/ Q- System SQL Performance Tuning Worklist
Combined View with flexible Navigation Options

Transaction SWLT
(1) Ranked worklist

(2) SQL Monitor Data (3) ATC Check Results


Different request entry points Detailed check results
You need help?
Check the SAP Consulting Offering

You want to migrate to SAP Business Suite on SAP HANA, and ensure that your in-
house ABAP developments meet the requirements of the HANA database? With this
service, we can help you.

Transparency and assistance in the analysis


of your custom code (Assessment)

Migration of custom code to SAP Business


Suite on SAP HANA with clarity about the
migration cost

Optional: Tuning of your custom code to Total


Used
Footprint Impacted
exploit the power of SAP HANA Objects
Objects Critical
Objects

Service# 50119018
Outlook & more information
SAP NetWeaver AS ABAP 7.4 on SAP HANA
Where the Journey is going to

Optimized Data Transfer Service Pushdown


Fast Data Access Number ranges, Guids
SELECT FOR ALL Enqueue Service
ENTRIES Calendars (factory, fiscal)
Data exchange for stored Code Services
procedures ABAP

LM & Operations
Code Pushdown Code Services Improved Operations
HANA
Type harmonization Co-Deployment
CDS views Aligned HA setup
Database procedures Zero Downtime Mgmt
and functions Workload Mgmt
SAP CodeJam

SAP Developer Program


http://developers.sap.com

Pictures of recent CodeJam events


http://www.facebook.com/sapcodejam

Upcoming CodeJam events


http://scn.sap.com/community/events/codejam

Interested in hosting an own event ?


Visit http://scn.sap.com/docs/DOC-37775
or contact sapcodejam@sap.com
Get your own system!

More information can be found:


http://scn.sap.com/docs/DOC-44311
http://scn.sap.com/docs/DOC-41566
http://scn.sap.com/thread/3395348
ABAP for HANA further information

ABAP for HANA SCN Space


http://scn.sap.com/community/abap/hana

ABAP for HANA Reference Sceanrio


http://scn.sap.com/docs/DOC-35518

ABAP for HANA YoutTube Playlist


http://www.youtube.com/playlist?list=PLM6Ee3lDb6FgTVBRn48RH5dFtv
kzyCVmv

ABAP for HANA News on Twitter: @ABAP4H


LEARNING POINTS
Code Push Down possibilities in ABAP 7.4

Toolset to discover code optimization potential

SAP NetWeaver AS ABAP 7.4 as basis for all A BAP


based SAP products
RETURN ON INVESTMENT

MOBILITY SAP NetWeaver Application Server ABAP

Smarter decisions by exploiting the full potential


of business data

SAP NetWeaver 7.4 Delightful user experience, mobility &


CLOUD collaboration

AS ABAP Highly-productive development environment

Leverage On-Premise investments through the


Cloud

HANA Innovation without Disruption

Accelerate your business Add competitive advantage through Extend your ROI on existing
processes completely new scenarios investments
BEST PRACTICES
Learn about toolset for optimizing your ABAP code
for SAP HANA

See how you can built an modern Application using


ABAP for SAP HANA
KEY LEARNINGS
Know how to find potential ABAP coding for code
push down.

Know how you can optimitze your ABAP coding


using the new ABAP Language features and entities

SAP NetWeaver AS ABAP possibilitis to built


modern browser based Uis
FOLLOW US
THANK YOU

THANK YOU FOR PARTICIPATING

Please provide feedback on this session by completing


a short survey via the event mobile application.

SESSION CODE: 810

For ongoing education on this area of focus,


visit www.ASUG.com

Vous aimerez peut-être aussi