You are on page 1of 37

Enhancement Framework – What it means to you

Thomas Jung
Oliver Mayer

SAP NetWeaver Product Management


ASUG Call Series
Agenda

1. Introduction
2. Enhancement Packages
3. Enhancement Framework
4. Switch Framework

© SAP 2007 / Page 2


SAP ERP is the Platform for Innovation
Delivering Predictability and Innovation Without Disruption

2005 2006 2007 2008 2009 2010

Enhancement Packages Next


Suite
Release
SAP ERP 6.0 (2005)

SAP NetWeaver

Customers can adopt innovation at their pace

Process and User Industry-Specific


Interface Simplification Enhancements

New Enterprise Cross-Industry Functional


Services Enhancements
Introducing… Enhancement Packages
More innovation, more quickly, more accessible to customers

2006 2007 2008 2009 2010

Areas
of
innovation
Enterprise Industry-specific
Services capabilities
Talent Management Financial Collaboration

Functional enhancements
Technical enhancements Optional Adoption
Enterprise services
SAP enhancement package for SAP
NetWeaver

SAP enhancement packages for SAP NetWeaver contain new functionality, in addition there will be Support
packages containing only corrections. The main goal is to strictly separate maintenance from innovation and
increase the quality of support packages.

Current
Maintenance Innovation
Situation

Feature Pack
SP incl. new features

Maintenance Innovation

Corrections and legal changes only Development, corrections and legal changes

Enhancement Package
Support Package
Future
Major Release

© SAP 2007 / Page 5


Enhancement Packages for SAP NetWeaver –
Their Value for Customers

SAP enhancement packages for SAP NetWeaver – their value for customers

Reduced effort for testing and non for training when applying Support Packages
New features are shipped with enhancement packages and new releases only

Adding new functionality between releases becomes predictable and controllable


One enhancement package per year
Enhancement package are optional

Minimal training effort when applying an enhancement package


Enhancement package add new but do not replace existing functionality

© SAP 2007 / Page 6


Agenda

1. Introduction
2. Enhancement Packages
3. Enhancement Framework
4. Switch Framework

© SAP 2007 / Page 7


SAP Enhancement Packages & the New
SAP Enhancement Package Installer (SAPehpi)

SAP enhancement packages


EhP…
Allow functional updates without system upgrade, EhP 1 EhP 2
and are available for SAP NetWeaver and SAP ERP
SAP ERP 6.0 EHP3
Are developed according to Support Package rules
regarding compatibility, interfaces, and UIs
Updates in an EhP for SAP NetWeaver are compatible EP* …* PI*
with each other and can be mixed in the landscape AS Java* DI* BI Java*
AS ABAP* BI*
SAP NetWeaver 7.0 EHP1
SAP Enhancement Package Installer (SAPehpi)
SAP EhPs are installed in one process with the SP stack
All installation steps run as a guided procedure:
Preparing the download stack
Applying the download stack
All prerequisites are checked
Downtime is minimized through
Use of shadow tables
Synchronization of ABAP and Java stacks
Measurably better then with SPAM/SAINT/JSPM*
* used for the identical scenario
What Do SAP Enhancement Packages Mean
for You? Example EhP1 for SAP NetWeaver 7.0
Why should you adopt enhancement packages
for SAP NetWeaver?
For content – enhancements cover:
Visual
EP* PI*
AS ABAP and AS Java Composer*
AS Java* DI* BI Java*
Usage types BI, BI Java; DI, PI, EP, EPC AS ABAP* incl. CTS+* BI*
For ease of use of the installation:
SAP NetWeaver 7.0 EHP1
EhP development rules are based on support
package rules – full compatibility of SAP
NetWeaver 7.0x systems
EhP Installation is a new guided procedure EhP installation
Prerequisites are checked in detail before
changes are applied
Downtime during installation is minimized EP
Visual
PI
Composer
Sync of ABAP and Java stack of a system AS Java DI BI Java
Note: With SAP enhancement packages patches in AS ABAP incl. CTS+ BI
SPs and functional updates in EhPs are separated.
SAP NetWeaver 7.0

With the enhancement package concept SAP makes innovations for well-tried
system landscapes available the safe way.
Why Should You Adopt SAP Enhancement
Packages? – For Content…
SAP enhancement package 4 for SAP ERP updates
Financials, Sales and Service, EhP…
EhP 1 EhP 2
Corporate Services, HCM,
Product Development and Manufacturing
Procurement and Logistics Execution SAP ERP 6.0 EHP4

SAP enhancement package 1 for SAP NetWeaver 7.0


updates usage types
AS ABAP/AS Java,
BI/BI for Java Visual
EP/EPC* PI*
EP/EPC AS Java*
Composer*
DI* BI Java*
DI AS ABAP* incl. CTS+* BI*

PI SAP NetWeaver 7.0 EHP1


For details see
Release Notes for enhancement package1 for SAP NetWeaver 7.0
Enhancement Packages for SAP ERP at SAP Service Marketplace.

SAP enhancement packages for SAP ERP 6.0 and SAP NetWeaver 7.0 bring
essential innovation.
Enhancement Package Installation vs. Upgrade

Installing SAP enhancement packages has no additional requirements:


No additional hardware is needed

Installing SAP enhancement packages does change your landscape setup


SAP enhancement package rules are built upon SAP’s Support Package rules
No table conversions are needed
No XPRAs are needed (only After Import Methods are executed)
This means a very short downtime
Compatibility is guaranteed:
No changes with regards to components‘ inbound interfaces
No changes with regards to other systems (outbound interfaces)
This means that system communication in your landscape will work like before
Existing user Interfaces will not change* – there will be no additional training costs

Installing SAP enhancement packages is no t an upgrade.


* Business Suite 2008 only
Why Should You Adopt SAP Enhancement
Packages? – For Ease of Use…

You install SAP enhancement packages


Using the new SAP Enhancement Package Installer
(SAPehpi)
1 2 3 System Installation
SAPehpi seamlessly integrates with SAP Solution
Manager 7.0 Maintenance Optimizer System Data
In a process that is recommended to be used for
EhP Installation
Enhancement packages for SAP NetWeaver 1 2 3 4 5
Planning
Enhancement packages for SAP ERP
Download Stack
With minimized downtime
EhP
In AS ABAP-based systems a shadow 1 2 3 4 5 6 7 8 Installation
system is built and operated by SAPehpi
In AS Java-based systems JSPM is controlled
by SAPehpi

SAP enhancement packages for SAP NetWeaver and SAP ERP are installed in a new
optimized process seamlessly integrated with installation and maintenance of systems.
Agenda

1. Introduction
2. Enhancement Packages
3. Enhancement Framework
4. Switch Framework

© SAP 2007 / Page 13


Evolution of SAP Enhancement Technology

Application
User Business
Exits Transaction
Events
Form
Industries
routines

Workbench
Filters
Classes
Business
Add Ins
Enhancement Framework
Function
modules
Customer Kernel based
Business
Exits Add Ins

Kernel
Enhancement Browser

Search for
Enhancements possibilities (Definitions – typically provided by SAP)
Integrated into Object
Enhancement Implementations (typically done by Customer)
Navigator (SE80)
Source Code Enhancements Overview

Modification-free enhancement of source code


Implicit Enhancement Option
At common enhancement places, implicit Enhancement options are
available. Examples:
End of Executable Program, Include, Function group, Dialog module
Begin/End of Form routine / Function module / Method
End of a structure
End of Private/Protected/Public Section of a local class
...

Explicit Enhancement Option


Predefined enhancement options can be defined in source code.
They are additionally stored inside Enhancement Spots.
Implicit Enhancement Options
Explicit Enhancement Options
Source Code Plugin Technology - Example

ENHANCEMENT 1.
PROGRAM p1. WRITE ’Hello
Paris’.
WRITE ‘Hello World’. ENDENHANCEMENT.
ENHANCEMENT 2.
ENHANCEMENT-POINT ep1 SPOTS WRITE ’Hello
s1. London’.
ENDENHANCEMENT.
..
..
..
ENHANCEMENT 3.
ENHANCEMENT-SECTION ep2 WRITE ’Enhanced’.
SPOTS s1. ENDENHANCEMENT.
WRITE ’Original’.
END-ENHANCEMENT-SECTION.
Editor Modes for Enhancements

Use Change Mode for creating enhancement points &


sections.
Use button “Display <-> Change“ to switch to change mode.

Use Enhancement Mode for creating enhancement


implementations.
Use button “Change Enhancements“ to switch to Enhancement mode
Use button “Display <-> Change“ to leave Enhancement mode
DEMO
Source Code Plugin
Class/Interface Enhancements

Class/Interface Enhancements allow for addition of:


Optional parameters to existing methods
Methods
Events and event handlers
References to interfaces
Exits to existing methods
Pre-Exit – Called at the beginning of a method
Post-Exit – Called at the End of a method
Overwrite-Exit – Replaces the original method
Adding Methods & Parameters

Adding new methods

Adding optional parameters to existing methods


Pre/Post Exits


Call method instance->hugo( ).

Method Hugo. Method Pre.



….
Coding. Endmethod.
Coding.
Coding. Method Post.
….
Endmethod. ….
Endmethod.
BADIs - Overview

What are BAdIs?


Business Add-Ins
Is an anticipated point of extension – these points act like sockets and exist in the
original coding
Has a well-defined interface in contrast to source code plug-ins and is therefore
more stable to changes in the original coding

Kernel BAdIs - New Features


Are integrated directly in the ABAP Language/Runtime
Improved filter support allows non-character filter types
(packed, numeric, string) and complex filter conditions
Enable reusable implementation instances (Stateful BAdI)
Control of the lifetime of implementations (BAdI-context)
Allow for inheritance of implementations
Can be switched by the Switch Framework
Comparison: Usage of Old BAdIs vs. New
BAdIs

With Classic BAdI With New BAdI


DATA: bd TYPE REF TO if_intf. data bd type ref to badi_name.
DATA: flt TYPE flt. get badi bd filters lang = `D`.
call badi bd->method
CALL METHOD cl_exithandler=> exporting x = 10.
get_instance
selection occurs when the handle is requested
EXPORTING
exit_name = `BADI_NAME` no DB access during runtime
CHANGING
Implementations are called directly (without a proxy)
instance = bd.

flt-lang = `D`. Active implementations are evaluated at compile time


CALL METHOD bd->method
and included in the load of the BAdI-handle.
EXPORTING
x = 10
flt_val = flt.
selecting implementations and issuing calls is
mixed up

calls cause DB access Old BAdIs are more expensive


calls are redirected over a proxy class than the new ones.
New BAdIs and Enhancement Framework

Switch_1

Definition Implementation
Simple Enhancement Spot
Spot_1 BAdI Implementation 1 Package A
Simple Enhancement Implementation SEI1
BAdI Implementation 2
BAdI BADI_A
Package B
BAdI BADI_B BAdI Implementation 3

BAdI BADI_C BAdI Implementation 4


Simple Enhancement Implementation SEI2
BAdI Implementation 5

Switch_2
Creating BADI in SE80

BADI Implementation (Creating Filters)

BADI Definition under Enhancement Spot


DEMO
Kernel-BAdI
BAdI Migration (Automatic Migration)

Automatic migration
Automatic by selecting
migration utilities migration
by selecting UtilitiesfromMigrate
BAdI Builder
from(se18)
BAdI Builder
Specify (SE18)
Enhancement Spot for BAdI Defintion
Specify Enhancement Implementation for BAdI Implementation
Specify Enhancement Spot for BAdI Definition
no special knowledge necessary
Specify Enhancement Implementation for BAdI
effort: 5Implementation
minutes per BAdI (with some implementations). The migration can be
automated.
no special knowledge necessary
effort: approximately 5 minutes per BAdI.

SE18 -> Utilities -> Migrate

ONLY when you have


created Custom-BADI
“definitions” in old systems
Performance Comparison

Classic BAdI Migrated BAdI New BAdI

1 2-27 40-600
x faster as classic BAdI x faster as classic BAdI

200%-2600% 4000%-60000%

The more implementations are defined, the


higher is the performance improvement
Agenda

1. Introduction
2. Enhancement Packages
3. Enhancement Framework
4. Switch Framework

© SAP 2007 / Page 32


Switch Framework - Motivation

Goal of the Switch Framework:

Control visibility of repository objects at runtime through switches

The Switch Framework can be used to


Switch on industry solutions / Enterprise Add-ons
Develop new functions without affecting existing ones
Enhance delivered systems at partner and customer site in the context of the
enhancement framework with own functions

Benefits:
Industry Solutions are available with every release and SP without delay (i.e. timely
provision of legal requirements),
CRT’s* are no longer necessary for add-on systems
Industry Solutions can be enriched by generic functions from other industries
Synchronization of release cycles and planning

* CRT – Conflict Resolution Transport


Switchable Objects

Switchable Objects…

…by package assignment


Appends, SI-, CI-includes for structures in DDIC
Fixed value appends to domains
Secondary Indexes
Append Search Helps
Enhancement Implementations
Switch Business Configuration Sets ( Switch BC-Sets)

…by direct assignment


Screen elements & Flow logic
Menu entries & functions
IMG nodes
Customizing
DEMO
Web Dynpro switch
Thank you!

QUESTIONS?
How to contact us:
Thomas Jung
Thomas.jung@sap.com
Oliver Mayer
Oliver.mayer@sap.com

© SAP 2007 / Page 36


Copyright 2007 SAP AG
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. 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.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge 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 in several other countries all over the world. All other product and service names mentioned and
associated logos displayed 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. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document
contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy,
and/or development. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or
other items contained within this material. 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 shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation
shall not apply in cases of intent or gross negligence.
The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these
materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages

Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch
SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden.
Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte können Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwähnte SAP-Produkte und Services
sowie die dazugehörigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Ländern weltweit. Alle anderen in diesem Dokument erwähnten
Namen von Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu
Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen.

Die in diesem Dokument enthaltenen Informationen sind Eigentum von SAP. Dieses Dokument ist eine Vorabversion und unterliegt nicht Ihrer Lizenzvereinbarung oder einer anderen
Vereinbarung mit SAP. Dieses Dokument enthält nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP®-Produkts und ist für SAP nicht bindend, einen bestimmten
Geschäftsweg, eine Produktstrategie bzw. -entwicklung einzuschlagen. SAP übernimmt keine Verantwortung für Fehler oder Auslassungen in diesen Materialien. SAP garantiert nicht die
Richtigkeit oder Vollständigkeit der Informationen, Texte, Grafiken, Links oder anderer in diesen Materialien enthaltenen Elemente. Diese Publikation wird ohne jegliche Gewähr, weder
ausdrücklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck
sowie für die Gewährleistung der Nichtverletzung geltenden Rechts.
SAP übernimmt keine Haftung für Schäden jeglicher Art, einschließlich und ohne Einschränkung für direkte, spezielle, indirekte oder Folgeschäden im Zusammenhang mit der Verwendung
dieser Unterlagen. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit.
Die gesetzliche Haftung bei Personenschäden oder die Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks
zugreifen, unterliegen nicht dem Einfluss von SAP, und SAP unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über
Internetseiten Dritter ab.
Alle Rechte vorbehalten.

© SAP 2007 / Page 37

You might also like