Michael Schneider, Thomas Schulze zur Wiesch, Niko Faradouris, Albrecht Gass October, 2012 CD206 Enhancing ABAP Development Tools in Eclipse
Michael Schneider, Thomas Schulze zur Wiesch, Niko Faradouris, Albrecht Gass October, 2012
CD206
Enhancing ABAP Development Tools in Eclipse
© 2012 SAP AG. All rights reserved. 2
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.
© 2012 SAP AG. All rights reserved. 3
Agenda
We will talk about…
…the new ABAP Development Tools for SAP NetWeaver built on Eclipse
…our plans to make ABAP Development Tools (ADT) extensible
…how you can benefit from this extensibility
What are ABAP Development Tools
for SAP NetWeaver built on Eclipse?
Demo ABAP Development Tools for SAP NetWeaver
© 2012 SAP AG. All rights reserved. 6
ABAP Development Tools at TechEd 2012
CD201: ABAP Development Tools for Eclipse – Develop Like Never Before
Overview lecture about ABAP Development Tools (1h)
CD164: Modern ABAP with ABAP Development Tools for Eclipse
Use ABAP Development Tools in a hands-on workshop (4h)
ABAP Development Tools in Eclipse
Q&A-session (1h)
How can you get it?
© 2012 SAP AG. All rights reserved. 8
Supported SAP NetWeaver releases
Minimum SAP NetWeaver releases are
SAP NetWeaver 7.3 including Enhancement Package 1
Support Package Stack 04 [NW 7.31 SP04]
SAP NetWeaver 7.0 including Enhancement Package 3
Support Package Stack 04 [NW 7.03 SP04]
Debug support
A new kernel version is planned which is compatible to NetWeaver 7.31/7.03
© 2012 SAP AG. All rights reserved. 9
Download locations
SAP NetWeaver 7.31/7.03 customers
Download from SAP Service Marketplace
For further information
Read SAP Note 1718399
Try the trial version
Download from SAP Community Network (SCN)
For further information
Visit the ABAP in Eclipse community in SCN
Why does SAP invest into ABAP
Development Tools for Eclipse?
© 2012 SAP AG. All rights reserved. 11
SAP NetWeaver Application Server ABAP Empowering Classic & New SAP Products
• 50.000+ customers of ABAP-based products
• Millions of ABAP developers, SCN as community
• A thriving Partner Ecosystem
• Proven, Robust and scalable
• Extends into Mobility, Cloud and HANA
• Evolves compatibly under SAP Business Suite 7
• Enables On-Premise/On-Demand hybrid scenarios
SAP NetWeaver Application Server ABAP, A Strong Pillar In SAP’s Product Strategy
SAP’s Basis Technology For Transactional Business Applications
HANA
MOBILITY
CL
OU
D
SAP NetWeaver in 2013
SAP NetWeaver
Application
Server ABAP
© 2012 SAP AG. All rights reserved. 12
Goals for new ABAP Development Tools
Increased developer
productivity
One IDE for all technologies
Extensible development
tools
© 2012 SAP AG. All rights reserved. 13
Reasons for using Eclipse
Eclipse is an …
… modern integrated development environment (IDE)
… extensible plug-in system
Many plug-ins are available supporting …
… different programming languages like Java, C++, PHP
… development processes like plug-ins for source code management systems or code analysis
Eclipse allows to run many plug-ins integrated in one instance
Why do we need extensible
ABAP Development Tools?
© 2012 SAP AG. All rights reserved. 15
SAP-internal use cases
Extended ABAP code search
Code inspections
Clone detection in source code
SAP UI Development Toolkit for HTML5
…
© 2012 SAP AG. All rights reserved. 16
External use cases
Partners and ABAP community showed interest in extending ABAP Development Tools
SAP started pilot projects to get feedback on a first version of the Software Development Kit
(SDK) for ABAP Development Tools
Pilots are
smartShift, Mannheim, Germany
SAP Mentors
What is the pilot project with
smartShift about?
© 2012 SAP AG. All rights reserved. 18
smartShift Overview
• Global software and services company
• More than 19 years experience in the IT-Modernization market
• Patented and proven automation software and methodologies
• Headquartered in Mannheim (Germany)
• Member of Cambridge Technology Enterprises (500+ employees)
• SAP division 100+ employees in Germany, USA and India
• Referenceable Global 1000 accounts – e.g. BASF, BMW, BP, Commerzbank, Clariant, EON, Exxon, Linde, Kimberly Clark, Shell, etc.
• Leading system integrators such as Accenture, Capgemini, IBM, and SAP rely
on smartShift
• smartShift value: Much Faster, Higher Quality, Reduced Risk & Lower Cost!
smartShiftgroup.com; [email protected]; Twitter (@smartShift_CTE)
© 2012 SAP AG. All rights reserved. 19
Automated Code Remediation … Unique Value Proposition
Unique parser-based
analysis and meta-
model
Upgrade, Unicode
Pot. Runtime Errors
Stability
Maintenance
Performance
Security
Coding Standards
Architecture
Custom Rules
Rules Engine
for automated issue
detection and
correction
Tools-based automated
transformation of ABAP
code
. .
.
. .
. .
.
.
. .
. .
. .
.
.
.
. .
.
.
. .
. .
.
.
.
. . .
. .
. .
. .
. .
. .
.
. .
.
. .
. .
.
. .
. . .
.
. .
.
. .
.
.
. .
.
. .
. .
. .
.
. .
. .
.
. .
. . .
.
. .
.
. .
.
.
. .
. .
. .
. . .
.
.
. .
. .
. . .
. .
.
.
.
.
. .
. .
. .
.
.
.
. .
. .
. .
.
.
.
.
. .
. .
.
. .
. .
. .
. .
.
.
. .
.
. .
. . .
.
.
. .
.
. .
.
. .
.
. . .
.
. . .
. .
. .
.
. . .
.
.
. .
. .
.
. .
. .
.
.
. .
. .
. .
.
.
.
. .
.
.
. .
. .
.
.
.
. . .
. .
. .
. .
. .
. .
.
. .
.
. .
. .
.
. .
. . .
.
. .
.
. .
.
.
. .
.
. .
. .
. .
.
. .
. .
.
. .
. . .
.
. .
.
. .
.
.
. .
. .
. .
. . .
.
.
. .
. .
. . .
. .
.
.
.
.
. .
. .
. .
.
.
.
. .
. .
. .
.
.
.
.
. .
. .
.
. .
. .
. .
. .
.
.
. .
.
. .
. . .
.
.
. .
.
. .
.
. .
.
. . .
.
. . .
. .
. .
.
. . .
.
.
. .
. .
. .
. .
. .
.
. .
. . .
. .
.
. . . .
.
. . .
.
. .
. .
. .
. . .
. .
. .
. . .
. . .
. .
. . . .
. .
. . .
. .
. .
. .
. .
. . .
. .
. .
. . .
. . .
.
. .
. . . .
. .
. . .
. .
. .
. .
. .
. . .
. .
. .
.
.
. .
. . .
.
. .
. .
.
. .
. .
. . .
. .
. . . . . . . . . . . .
© 2012 SAP AG. All rights reserved. 20
smartShift Focus on SAP
2006
2010
2012
2014
smartTools for SAP
Automated Upgrade, Unicode
Enablement; Code Optimization
smartDevelop
Automated Code Quality in
ABAP Workbench
smartDevelop for ADT
Automated Code Quality
in ADT
© 2012 SAP AG. All rights reserved. 21
smartDevelop for SAP ADT – Highlights
smartIssue integration
in problems view
smartIssue integration
in ABAP editor
Quick-fix and
refactoring actions
Demo smartDevelop for ABAP Development Tools
Targeted assistance via smartTool warnings
Quick-fix application
© 2012 SAP AG. All rights reserved. 23
smartDevelop for SAP ADT – Benefits
smartDevelop plug-in for ADT contributes in
• Speed up of development
• Adherence to best coding practices
• Compliance to corporate coding and naming conventions
• Ensures performant and secure coding
smartDevelop contains rules that come in two flavors
• Warnings to the developer
• Hot fixes in code
Expansive rule sets
• Rule set is continuously extended
• Customizable to customer requirements
What is the pilot project with
the SAP Mentors about?
© 2012 SAP AG. All rights reserved. 25
SAPlink for ABAP Development Tools
SAPlink for ABAP Development Tools brings ease of use
to SAP Code Exchange developers
Functionality covered by the SAPlink plug-in:
Import development objects from Code Exchange to your ABAP
system
Export development objects from your ABAP system to Code
Exchange
Install SAPlink in your ABAP system
Implemented by SAP Mentor group
Ivan Femia, Uwe Fetzer, Abdulbasıt Gülşen, Jan Penninkhof,
Gregor Wolf
Visit the SAPlink project for further information
http://saplink.org/
Which APIs are used by the
pilots?
© 2012 SAP AG. All rights reserved. 27
Architecture of ABAP Development Tools for SAP NetWeaver
© 2012 SAP AG. All rights reserved. 28
Architecture of ABAP Development Tools for SAP NetWeaver
© 2012 SAP AG. All rights reserved. 29
APIs used by smartShift
Extend menus and actions (1)
Check a development object for errors (2)
Access Files (3)
Read source code
Create marker (4)
Add warnings
Open editor (5)
…
1
2 3 4
5
© 2012 SAP AG. All rights reserved. 30
APIs used by SAPlink
Use Resource Framework
Build own resources (1), send backend requests (2)
Retrieving server capabilities (3)
API for ABAP programs (4)
Create, activate, execute program
Extend menus and actions (5)
Reuse dialogs (6)
Project and package selection
…
2
1
3 4
5 6
How can you benefit from the
SDK?
© 2012 SAP AG. All rights reserved. 32
ABAP Developers: Make your life easier
Example: Automate time-consuming steps of your development process
A view integrated in the IDE that
Shows information about your development processes
Shows information about your development landscape
Runs your helper programs in the backend to start processes
Example: Developer view of the ADT development team
© 2012 SAP AG. All rights reserved. 33
Partners: Integrate your products in ABAP Development Tools
Integrate your tools by using
the SDK
Become part of SAP„s IDE
Increase developer
productivity
Address the market of SAP NetWeaver Application Server ABAP
50.000+ customers, Millions of ABAP developers
What can you do, now?
© 2012 SAP AG. All rights reserved. 35
Let’s talk about your ideas
Discuss your ideas with the ABAP-in-Eclipse-community
http://scn.sap.com/community/abap/eclipse/blog/2012/08/27/abap-development-tools-sdk
Contact product management for ABAP Development Tools
Send a mail to Christopher Kästner (mailto:[email protected])
© 2012 SAP AG. All rights reserved. 36
Explore documents about the SDK
First documents about the SDK
Overview document about the SDK
Examples how to use the SDK
Find this information in the ABAP-in-Eclipse-community
http://scn.sap.com/community/abap/eclipse/blog/2012/08/27/abap-development-tools-sdk
© 2012 SAP AG. All rights reserved. 37
Experiment
Take a look at the implementation of SAPlink for ABAP Development Tools
How do SAP Mentors extend the ABAP Development Tools?
Which APIs* do they use?
How do they implement own resources?
The source code will be published on http://saplink.org/
*) The current implementation is still based on not released APIs. All used APIs can be changed until
they are released
What is SAP’s roadmap for the
SDK?
© 2012 SAP AG. All rights reserved. 39
Roadmap for the SDK for ABAP Development Tools
Applying your feedback
Next SAP NetWeaver release:
Planned shipment of the SDK SAP TechEd 2012
Piloting the SDK
Extending the SDK
Explore documents and
experiment Build your plug-ins
© 2012 SAP AG. All rights reserved. 40
Planned pricing for the SDK
No additional licenses are required
If you already own an appropriate license bundle for ABAP development on SAP NetWeaver
Additional options with costs
Certification of your plug-ins by SAP Integration and Certification Center
Contract to promote your tool in SAP Store
© 2012 SAP AG. All rights reserved. 41
Summary
ABAP Development Tools
for Eclipse are available You can contribute
ABAP Development Tools for
Eclipse will be extensible
© 2012 SAP AG. All rights reserved. 42
Further Information
SAP Public Web
http://scn.sap.com/community/abap/eclipse
http://scn.sap.com/docs/DOC-29607
http://www.youtube.com/watch?v=BXg7xXrEAUw
SAP Education and Certification Opportunities
www.sap.com/education
Watch SAP TechEd Online
www.sapteched.com/online
Feedback Please complete your session evaluation for CD206
Thanks for attending this SAP TechEd session.
Michael Schneider SAP
Thomas Schulze zur Wiesch SAP
Niko Faradouris smartShift
Albrecht Gass smartShift
Contact information:
© 2012 SAP AG. All rights reserved. 44
Appendix
1) ABAP Development Tools for SAP NetWeaver – screen shots
2) smartShift architecture
3) smartDevelop for ADT – tool details and screen shots
© 2012 SAP AG. All rights reserved. 45
1.1 ABAP Development Tools for SAP NetWeaver
© 2012 SAP AG. All rights reserved. 46
1.2 Multiple system connections in one IDE
© 2012 SAP AG. All rights reserved. 47
1.3 Powerful search and navigation capabilities
© 2012 SAP AG. All rights reserved. 48
1.4 Advanced source code editing & refactoring
© 2012 SAP AG. All rights reserved. 49
2.1 smartTools for SAP – Standalone Architecture
Data Store
Parser
Transformer
Meta Model Resolver
Execution Environment
JCO
RFC
SAP AS ABAP
DDIC
Source
Repository
CTS
GUI Batch
© 2012 SAP AG. All rights reserved. 50
2.2 smartTools for SAP – Standalone Architecture
© 2012 SAP AG. All rights reserved. 51
2.3 smartDevelop for SAP – Integrated Architecture
Data Store
Parser
Transformer
Meta Model Resolver
Execution Environment
SAP AS ABAP JCO
RFC
JCO
RFC
smartDevelop
Front-end
ABAP
Workbench
DDIC
Source
Repository
CTS
© 2012 SAP AG. All rights reserved. 52
2.4 smartDevelop for SAP – Integrated Architecture
© 2012 SAP AG. All rights reserved. 53
2.5 smartDevelop for SAP ADT – Architecture with ADT Integration
Parser
Transformer
Meta Model Resolver
Execution Environment
JCO
RFC
JCO
RFC
SAP AS ABAP
DDIC
Source
Repository
CTS
ADT Backend
Services
ADT UI
ADT Frontend
Services
smartDevelop
UI Contributions
REST
HTTP via RFC
smartDevelop
Frontend Services
SAP ADT in
Eclipse Runtime
© 2012 SAP AG. All rights reserved. 54
3.1 smartDevelop for SAP ADT – Implementation Steps
Introduce communication layer to use ADT provided services instead of direct RFC calls
• Exchangeable communication layer also enables use of core within “old” environment without
modifications
UI Contributions
• Menu buttons
• Markers in editor
Remove Dependencies to data store
Re-organize Plug-In structure of core plug-ins for reasonable deployment
Take care of “semantic” differences between direct RFC calls and communication via ADT
© 2012 SAP AG. All rights reserved. 55
3.2 Example of a quick fix
Performance enhancement
• From the performance rule set of smartTools for ABAP
• According to SAP® - Accessing the table entries directly in a
"LOOP ... ASSIGNING ..."
accelerates the task of updating a set of lines of an internal table
considerably. Especially if inner tables must not be moved the
speed-up is high.
Rule application
• Scans code edited for „LOOP AT … INTO wa“ patterns
• Displays warning and offers a quick fix if possible
• User confirms hot fix application
• Code is edited accordingly
© 2012 SAP AG. All rights reserved. 56
3.3 Example of a quick fix – before
© 2012 SAP AG. All rights reserved. 57
3.4 Example of a quick fix – after
© 2012 SAP AG. All rights reserved. 58
3.5 Targeted assistance via smartTool warnings
Developer receives feedback as
• Annotation with tool-tips or,
• Warnings in lower pane
All rules can be configured as warnings
Examples
• Naming standards (default: SAP recommendations)
• Dashes in names (legacy code)
© 2012 SAP AG. All rights reserved. 59
3.6 Example smartTools Warnings
© 2012 SAP AG. All rights reserved. 60
3.7 Example smartTools Warnings
© 2012 SAP AG. All rights reserved. 61
3.8 Naming standards
Configurable to corporate coding guidelines
Tool identifies violations
Tooltip shows information about the fix
© 2012 SAP AG. All rights reserved. 62
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express
permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of
other software vendors.
Microsoft, Windows, Excel, Outlook, PowerPoint, Silverlight, and Visual Studio are registered trademarks of
Microsoft Corporation.
IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System
z10, z10, z/VM, z/OS, OS/390, zEnterprise, PowerVM, Power Architecture, Power Systems, POWER7,
POWER6+, POWER6, POWER, PowerHA, pureScale, PowerPC, BladeCenter, System Storage, Storwize,
XIV, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, AIX, Intelligent Miner, WebSphere,
Tivoli, Informix, and Smarter Planet are trademarks or registered trademarks of IBM Corporation.
Linux is the registered trademark of Linus Torvalds in the United States and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are trademarks or registered trademarks of Adobe
Systems Incorporated in the United States and other countries.
Oracle and Java are registered trademarks of Oracle and its affiliates.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or
registered trademarks of Citrix Systems Inc.
HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C®, World Wide Web
Consortium, Massachusetts Institute of Technology.
Apple, App Store, iBooks, iPad, iPhone, iPhoto, iPod, iTunes, Multi-Touch, Objective-C, Retina, Safari, Siri,
and Xcode are trademarks or registered trademarks of Apple Inc.
IOS is a registered trademark of Cisco Systems Inc.
RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Bold, BlackBerry Pearl, BlackBerry Torch, BlackBerry
Storm, BlackBerry Storm2, BlackBerry PlayBook, and BlackBerry App World are trademarks or registered
trademarks of Research in Motion Limited.
© 2012 SAP AG. All rights reserved.
Google App Engine, Google Apps, Google Checkout, Google Data API, Google Maps, Google Mobile Ads,
Google Mobile Updater, Google Mobile, Google Store, Google Sync, Google Updater, Google Voice,
Google Mail, Gmail, YouTube, Dalvik and Android are trademarks or registered trademarks of Google Inc.
INTERMEC is a registered trademark of Intermec Technologies Corporation.
Wi-Fi is a registered trademark of Wi-Fi Alliance.
Bluetooth is a registered trademark of Bluetooth SIG Inc.
Motorola is a registered trademark of Motorola Trademark Holdings LLC.
Computop is a registered trademark of Computop Wirtschaftsinformatik GmbH.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork,
SAP HANA, and other SAP products and services mentioned herein as well as their respective logos are
trademarks or registered trademarks of SAP AG in Germany and other countries.
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web
Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects
is an SAP company.
Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services
mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase Inc.
Sybase is an SAP company.
Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks of Crossgate AG
in Germany and other countries. Crossgate is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data
contained in this document serves informational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied,
or transmitted in any form or for any purpose without the express prior written permission of SAP AG.