SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Enhancement Framework
- The new way to enhance your ABAP systems
Oliver J. Mayer
Product Manager – SAP NetWeaver
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 2
Learning Objectives
As a result of this session, you will be able to:
Understand the fundamental idea of the Enhancement
Framework and Switch Framework (available in
SAP NetWeaver 2004s)
Reduce TCO by using enhancement technologies instead of
modifications
Enhance SAP standard objects
Understand how Enhancement definitions are created
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 5
Availability
mySAPERP20052005
mySAPSRM
mySAPCRM
mySAPSCM
mySAPPLM
mySAP Business Suite 20052005
SAP NetWeaver 2004s2004s
App Server Release
… 4.6c 6.10 6.20 NW04 NW04s
…
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 6
SAP NetWeaver
User Productivity
Enablement
Running an
Enterprise Portal
Enabling User
Collaboration
Business Task
Management
Mobilizing
Business
Processes
Enterprise
Knowledge
Management
Enterprise Search
Data Unification Master-Data Harmonization Master-Data Consolidation
Central Master-Data
Management
Enterprise Data Warehousing
Business Information
Management
Enterprise Reporting,
Query, and Analysis
Business Planning and
Analytical Services
Enterprise Data
Warehousing
Enterprise Knowledge
Management
Enterprise Search
Business Event
Management
Business Activity Monitoring Business Task Management
End-to-End Process
Integration
Enabling Application-
to-Application
Processes
Enabling Business-to-
Business Processes
Business Process
Management
Enabling Platform
Interoperability
Business Task
Management
Custom Development Developing, Configuring, and Adapting Applications Enabling Platform Interoperability
Unified Life-Cycle
Management
Software Life-Cycle Management SAP NetWeaver Operations
Application
Governance and
Security Management
Authentication and Single Sign-On Integrated User and Access Management
Consolidation
Enabling Platform
Interoperability
SAP NetWeaver
Operations
Master-Data
Consolidation
Enterprise Knowledge
Management
Enterprise Data
Warehousing
ESA Design and
Deployment
Enabling Enterprise Services
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 7
Adapting SAP Software
One of the advantages of SAP software is the
possibility to adapt the software to own
requirements and the possibility of keeping
the adaptations during upgrade.
Ways of adaptation:
Customizing
Enhancement
Modification
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 8
Motivation
Reducing TCO
Enhancing objects instead of modifying them reduces the effort
for adjustment during SP import or upgrade.
Disadvantages of modifications
No support for multiple users or projects
No support for parallel developments
Will appear much more often in adjustment tools
Higher adjustment effort (during upgrade & SP import)
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 9
Evolution of SAP Enhancement Technology
User
Exits
Form
routines
Application
Workbench
Kernel
Customer
Exits
Function
modules
Business
Transaction
Events
Industries
Business
Add Ins
Filters
Classes
Kernel based
Business
Add Ins
Enhancement Framework
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 11
[Simple] Enhancement Spot
Composite Enhancement Spot
[Simple] Enhancement Implementation
Composite Enhancement Implementation
1
n
1
n
n
1
n
1
n m
Enhancements - Relations
ImplementationDefinition
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 12
Terminology by Example
Composite Enhancement Spot
SAPSAPSAPSAP
Composite Enhancement Spot
SD
Composite Enhancement Spot
Invoice
Enhancement Spot
Pricing
Enhancement Option
Source Code Enhancement
FUGR V60A
Enhancement Option
BAdI Definition
PRICING_BADI1
Composite Enhancement Implementation
CustomerCustomerCustomerCustomer
Composite Enhancement Implementation
SD
Composite Enhancement Impl.
Invoice
Enhancement Impl.
Pricing
Enh Impl Element
Source Code Plugin
FUGR V60A
Enh Impl Element
BAdI Implementation
OIL_PRICING_IMPL1
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 13
Enhancement Browser
Search for
Enhancements possibilities (Definitions – typically provided by SAP)
Enhancement Implementations (typically done by Customer)
Integrated into Object Navigator (SE80)
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 15
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.
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 16
Implicit Enhancement Options
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 17
Explicit Enhancement Options
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 18
Source Code Plugin Technology - Example
PROGRAM p1.
WRITE ‘Hello World’.
ENHANCEMENT-POINT ep1 SPOTS
s1.
..
..
..
ENHANCEMENT-SECTION ep2
SPOTS s1.
WRITE ’Original’.
END-ENHANCEMENT-SECTION.
ENHANCEMENT 1.
WRITE ’Hello
Paris’.
ENDENHANCEMENT.
ENHANCEMENT 2.
WRITE ’Hello
London’.
ENDENHANCEMENT.
ENHANCEMENT 3.
WRITE ’Enhanced’.
ENDENHANCEMENT.
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 19
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
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 20
Demo
Demo
Source Code Plugin
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 22
Function Group Enhancements
Function Group Enhancements allow:
Adding new optional parameters to existing function modules
Transaction: SE37
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 23
Demo
Demo
Function Group Enhancement
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 25
Class/Interface Enhancements
Class/Interface Enhancements allow 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
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 26
Adding Methods & Parameters
Adding optional parameters to existing methods
Adding new methods
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 27
Pre/Post Exits
Method Hugo.
Endmethod.
…
Call method instance->hugo( ).
…
Method Pre.
…
….
Endmethod.
Method Post.
….
….
Endmethod.
Coding.
Coding.
Coding.
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 28
Demo
Demo
Class Enhancement
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 30
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
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 31
Comparison: Usage of Old BAdIs vs. new BAdIs
With Classic BAdI
selecting implementations and issuing calls is
mixed up
calls cause DB access
calls are redirected over a proxy class
With New BAdI
selection occurs when the handle is requested
no DB access during runtime
Implementations are called directly (without a proxy)
DATA: bd TYPE REF TO if_intf.
DATA: flt TYPE flt.
CALL METHOD cl_exithandler=>
get_instance
EXPORTING
exit_name = `BADI_NAME`
CHANGING
instance = bd.
flt-lang = `D`.
CALL METHOD bd->method
EXPORTING
x = 10
flt_val = flt.
data bd type ref to badi_name.
get badi bd filters lang = `D`.
call badi bd->method
exporting x = 10.
Old BAdIs are more expensive
than the new ones.
Active implementations are evaluated at compile time
and included in the load of the BAdI-handle.
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 32
Definition Implementation
Package A
Package B
Switch_1
Switch_2
New BADI’s and Enhancement Framework
Simple Enhancement Spot
Spot_1
Simple Enhancement Implementation SEI1
Simple Enhancement Implementation SEI2
BAdI Implementation 1
BAdI Implementation 2
BAdI Implementation 3
BAdI Implementation 4
BAdI Implementation 5
BAdI BADI_A
BAdI BADI_B
BAdI BADI_C
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 33
Creating BADI in SE80
BADI Definition under Enhancement Spot
BADI Implementation (Creating Filters)
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 34
Demo
Demo
Kernel-BAdI
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 35
BAdI Migration (Automatic Migration)
Automatic migration by selecting utilities migration from BAdI
Builder (se18)
Specify Enhancement Spot for BAdI Defintion
Specify Enhancement Implementation for BAdI Implementation
no special knowledge necessary
effort: 5 minutes per BAdI (with some implementations). The migration
can be automated.
Automatic migration by selecting utilities migrate
from BAdI Builder (SE18)
■ Specify Enhancement Spot for BAdI Definition
■ Specify Enhancement Implementation for BAdI
Implementation
no special knowledge necessary
effort: approximately 5 minutes per BAdI.
SE18 -> utilities -> Migrate
ONLY when you have created Custom-BADI “definitions” in old systems
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 36
Performance Comparison
Classic BAdI Migrated BAdI New BAdI
1 2-27
x faster as classic BAdI
40-600
x faster as classic BAdI
The more implementations defined, the
higher is the improvement on performance
200%-2600% 4000%-60000%
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 38
Goal of 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
Switch Framework - Motivation
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
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 39
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
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 40
Direct Assignment: Examples
Screen Painter: Modules
Screen Painter: Field elements
Menu Painter: Function codes
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 41
Switch
Switch
Repository Object
Calculated states:
ON, OFF, STANDBY
Transaction SFW1
Business Function Set
Business Function
Switch
m
n
m
n
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 42
Business Function
Business Function
Represents a piece of
business functionality
Contains switches
Transaction SFW2
Business Function Set
Business Function
Switch
m
n
m
n
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 43
Business Function Set
Business Function Set
Pool of business functions
Represents e.g. one industry
solution
Max. 1 can be active
Transaction SFW3 to create
BFS
Use Transaction SFW5 to
activate a BFS.
Business Function Set
Business Function
Switch
m
n
m
n
SFW3 SFW5
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 44
Switch Framework: Architecture
Bus Fct Set 3
Bus Fct F1
Bus Fct F2
Bus Fct F4
Bus Fct Set 2
Bus Fct F1
Bus Fct F2
Bus Fct F4
Bus Fct Set 1
Bus Fct F1
Bus Fct F2
Bus Fct F4
Switch 1
Switch 2
Switch 3
Switch 4
Screen 1
Element 1
Element 2
Package
IMG-nodes
Most objects are switched via the
assignment of their package to a switch,
e.g.
- DDIC objects (e.g. appends)
- Enhancements
- Transactions
- BC-Sets
Objects with no direct package relation
are directly assigned to a switch, e.g.
- Screen elements
- Menu entries
- IMG nodes
Package
Enhancement Framework
Source Code Plugin - Technology
Function Group Enhancement - Technology
Class Enhancement - Technology
Kernel-BAdI – Technology
Switch Framework
Summary
Motivation & Overview
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 46
Summary
The Enhancement Framework offers new possibilities to
extend the SAP Standard instead of modifying it.
Source Code PlugIns
Function Group Enhancements
Class Enhancements
New BAdIs
The new BAdIs are more flexible and faster than the
classic ones.
The Enhancements offered by Enhancement Framework
and some other object types can be switched by the
Switch Framework as part of a Business Function Set e.g.
an industry solution.
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 47
Further Information
Help Portal
http://help.sap.com
Documentation SAP Netweaver (04s) Application Platform
ABAP technology ABAP Workbench Enhancement Framework
OKP / RKT Learning Maps
Internal SAP:
http://intranet.sap.com/rkt-netweaver
Consulting SAP NW 04s Creating Business Applications using ABAP
Ramp-up customers:
Send mail to rkt@sap.com
SDN
http://sdn.sap.com
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 48
Q&A
Questions?
© SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 49
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, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP,
Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation.
Oracle is a registered trademark of Oracle Corporation.
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.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, 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
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.
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. Please note that this document is subject to change and may be changed by SAP at any time without notice.
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.
Copyright 2006 SAP AG. All Rights Reserved

Weitere ähnliche Inhalte

Was ist angesagt?

Sap User Exit for Functional Consultant
Sap User Exit for Functional ConsultantSap User Exit for Functional Consultant
Sap User Exit for Functional ConsultantAnkit Sharma
 
Sap sapscripts tips and tricks
Sap sapscripts tips and tricksSap sapscripts tips and tricks
Sap sapscripts tips and tricksKranthi Kumar
 
SAP ABAP - Needed Notes
SAP   ABAP - Needed NotesSAP   ABAP - Needed Notes
SAP ABAP - Needed NotesAkash Bhavsar
 
Sap abap modularization interview questions
Sap abap modularization interview questionsSap abap modularization interview questions
Sap abap modularization interview questionsPradipta Mohanty
 
Sap Abap Reports
Sap Abap ReportsSap Abap Reports
Sap Abap Reportsvbpc
 
Chapter 02 sap script forms
Chapter 02 sap script formsChapter 02 sap script forms
Chapter 02 sap script formsKranthi Kumar
 
BATCH DATA COMMUNICATION
BATCH DATA COMMUNICATIONBATCH DATA COMMUNICATION
BATCH DATA COMMUNICATIONKranthi Kumar
 
Bdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONBdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONHitesh Gulani
 
Introduction Into SAP Fiori
Introduction Into SAP FioriIntroduction Into SAP Fiori
Introduction Into SAP FioriBlackvard
 
Abap package concept
Abap package conceptAbap package concept
Abap package conceptTobias Trapp
 
Introduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataIntroduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataChris Whealy
 
SAP Modularization techniques
SAP Modularization techniquesSAP Modularization techniques
SAP Modularization techniquesJugul Crasta
 
abap list viewer (alv)
abap list viewer (alv)abap list viewer (alv)
abap list viewer (alv)Kranthi Kumar
 
Oops abap fundamental
Oops abap fundamentalOops abap fundamental
Oops abap fundamentalbiswajit2015
 

Was ist angesagt? (20)

Bapi step-by-step
Bapi step-by-stepBapi step-by-step
Bapi step-by-step
 
Sap User Exit for Functional Consultant
Sap User Exit for Functional ConsultantSap User Exit for Functional Consultant
Sap User Exit for Functional Consultant
 
Badi document
Badi documentBadi document
Badi document
 
Sap sapscripts tips and tricks
Sap sapscripts tips and tricksSap sapscripts tips and tricks
Sap sapscripts tips and tricks
 
Abap reports
Abap reportsAbap reports
Abap reports
 
SAP ABAP - Needed Notes
SAP   ABAP - Needed NotesSAP   ABAP - Needed Notes
SAP ABAP - Needed Notes
 
Field symbols
Field symbolsField symbols
Field symbols
 
Sap abap
Sap abapSap abap
Sap abap
 
Sap abap modularization interview questions
Sap abap modularization interview questionsSap abap modularization interview questions
Sap abap modularization interview questions
 
Sap Abap Reports
Sap Abap ReportsSap Abap Reports
Sap Abap Reports
 
SAP Fiori ppt
SAP Fiori pptSAP Fiori ppt
SAP Fiori ppt
 
Chapter 02 sap script forms
Chapter 02 sap script formsChapter 02 sap script forms
Chapter 02 sap script forms
 
BATCH DATA COMMUNICATION
BATCH DATA COMMUNICATIONBATCH DATA COMMUNICATION
BATCH DATA COMMUNICATION
 
Bdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONBdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATION
 
Introduction Into SAP Fiori
Introduction Into SAP FioriIntroduction Into SAP Fiori
Introduction Into SAP Fiori
 
Abap package concept
Abap package conceptAbap package concept
Abap package concept
 
Introduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataIntroduction to SAP Gateway and OData
Introduction to SAP Gateway and OData
 
SAP Modularization techniques
SAP Modularization techniquesSAP Modularization techniques
SAP Modularization techniques
 
abap list viewer (alv)
abap list viewer (alv)abap list viewer (alv)
abap list viewer (alv)
 
Oops abap fundamental
Oops abap fundamentalOops abap fundamental
Oops abap fundamental
 

Andere mochten auch

SAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional ConsultantSAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional ConsultantAnkit Sharma
 
Scenario on business transaction events
Scenario on business transaction eventsScenario on business transaction events
Scenario on business transaction eventsKranthi Kumar
 
Step by-step creation of a bapi in detailed steps with scr…
Step by-step creation of a bapi in detailed steps with scr…Step by-step creation of a bapi in detailed steps with scr…
Step by-step creation of a bapi in detailed steps with scr…sapsarath612
 
Fi enhancement technique how-to-guide on the usage of business transaction ...
Fi enhancement technique   how-to-guide on the usage of business transaction ...Fi enhancement technique   how-to-guide on the usage of business transaction ...
Fi enhancement technique how-to-guide on the usage of business transaction ...Kranthi Kumar
 
E mail eft remittance using bte
E mail eft remittance using bteE mail eft remittance using bte
E mail eft remittance using bteKranthi Kumar
 
Adding custom fields to the fi report fbl5 n using bt es
Adding custom fields to the fi report fbl5 n using bt esAdding custom fields to the fi report fbl5 n using bt es
Adding custom fields to the fi report fbl5 n using bt esKranthi Kumar
 
User exits
User exitsUser exits
User exitsanilkv29
 
Behaviour Change - planning and implementation
Behaviour Change - planning and implementationBehaviour Change - planning and implementation
Behaviour Change - planning and implementationNicol Cave
 
Reading week07 mazur_bagel
Reading week07 mazur_bagelReading week07 mazur_bagel
Reading week07 mazur_bagelhenry KKK
 
Quality function deployment alitalia's qfd implementation
Quality function deployment alitalia's qfd implementationQuality function deployment alitalia's qfd implementation
Quality function deployment alitalia's qfd implementationBurak Soydaş
 
Dr John Dee - Communications With Spirits - Free Ebook
Dr John Dee -  Communications With Spirits - Free EbookDr John Dee -  Communications With Spirits - Free Ebook
Dr John Dee - Communications With Spirits - Free EbookChuck Thompson
 
Dot Net 串接 SAP
Dot Net 串接 SAPDot Net 串接 SAP
Dot Net 串接 SAPLearningTech
 
Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1Kranthi Kumar
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exitsKranthi Kumar
 
Creation of a web service in sap
Creation of a web service in sapCreation of a web service in sap
Creation of a web service in saprajdongre
 
QUALITY FUNCTION DEPLOYMENT
QUALITY FUNCTION DEPLOYMENTQUALITY FUNCTION DEPLOYMENT
QUALITY FUNCTION DEPLOYMENTANNA UNIVERSITY
 

Andere mochten auch (20)

SAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional ConsultantSAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional Consultant
 
Scenario on business transaction events
Scenario on business transaction eventsScenario on business transaction events
Scenario on business transaction events
 
Step by-step creation of a bapi in detailed steps with scr…
Step by-step creation of a bapi in detailed steps with scr…Step by-step creation of a bapi in detailed steps with scr…
Step by-step creation of a bapi in detailed steps with scr…
 
Fi enhancement technique how-to-guide on the usage of business transaction ...
Fi enhancement technique   how-to-guide on the usage of business transaction ...Fi enhancement technique   how-to-guide on the usage of business transaction ...
Fi enhancement technique how-to-guide on the usage of business transaction ...
 
E mail eft remittance using bte
E mail eft remittance using bteE mail eft remittance using bte
E mail eft remittance using bte
 
Adding custom fields to the fi report fbl5 n using bt es
Adding custom fields to the fi report fbl5 n using bt esAdding custom fields to the fi report fbl5 n using bt es
Adding custom fields to the fi report fbl5 n using bt es
 
Badi
BadiBadi
Badi
 
User exits
User exitsUser exits
User exits
 
Behaviour Change - planning and implementation
Behaviour Change - planning and implementationBehaviour Change - planning and implementation
Behaviour Change - planning and implementation
 
Reading week07 mazur_bagel
Reading week07 mazur_bagelReading week07 mazur_bagel
Reading week07 mazur_bagel
 
Quality function deployment alitalia's qfd implementation
Quality function deployment alitalia's qfd implementationQuality function deployment alitalia's qfd implementation
Quality function deployment alitalia's qfd implementation
 
Bapi jco[1]
Bapi jco[1]Bapi jco[1]
Bapi jco[1]
 
022006 zaidi badi
022006   zaidi badi022006   zaidi badi
022006 zaidi badi
 
Dr John Dee - Communications With Spirits - Free Ebook
Dr John Dee -  Communications With Spirits - Free EbookDr John Dee -  Communications With Spirits - Free Ebook
Dr John Dee - Communications With Spirits - Free Ebook
 
Dot Net 串接 SAP
Dot Net 串接 SAPDot Net 串接 SAP
Dot Net 串接 SAP
 
Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exits
 
Firewalls
FirewallsFirewalls
Firewalls
 
Creation of a web service in sap
Creation of a web service in sapCreation of a web service in sap
Creation of a web service in sap
 
QUALITY FUNCTION DEPLOYMENT
QUALITY FUNCTION DEPLOYMENTQUALITY FUNCTION DEPLOYMENT
QUALITY FUNCTION DEPLOYMENT
 

Ähnlich wie Enhancement framework the new way to enhance your abap systems

18191198 enhancement-points
18191198 enhancement-points18191198 enhancement-points
18191198 enhancement-pointsmoderngladiator
 
Enhancement packages for sap erp what's new in logistics and operations
Enhancement packages for sap erp what's new in logistics and operationsEnhancement packages for sap erp what's new in logistics and operations
Enhancement packages for sap erp what's new in logistics and operationsaminab
 
Sap Busines Suite At IBM event
Sap Busines Suite At IBM eventSap Busines Suite At IBM event
Sap Busines Suite At IBM eventShekhar Bhartiya
 
Sap enhancement packages
Sap enhancement packagesSap enhancement packages
Sap enhancement packagesJoyce Maina
 
How to find_information_on_sap_eam
How to find_information_on_sap_eamHow to find_information_on_sap_eam
How to find_information_on_sap_eamNguyen Hai
 
SAP AC020 - Investment Management
SAP AC020 - Investment ManagementSAP AC020 - Investment Management
SAP AC020 - Investment ManagementVannak9
 
Mho Web Dynpro Abap
Mho Web Dynpro AbapMho Web Dynpro Abap
Mho Web Dynpro Abapthomas_jung
 
BADI IMPLEMENTATION.pdf
BADI IMPLEMENTATION.pdfBADI IMPLEMENTATION.pdf
BADI IMPLEMENTATION.pdfssuser08365f
 
The new ASAP Methodology.pdf
The new ASAP Methodology.pdfThe new ASAP Methodology.pdf
The new ASAP Methodology.pdfJohnnyVasquez11
 
Variant Configuration with SAP 2nd Edition
Variant Configuration with SAP 2nd EditionVariant Configuration with SAP 2nd Edition
Variant Configuration with SAP 2nd Editionkuce46537
 
SAP Platform & S/4 HANA - Support for Innovation
SAP Platform & S/4 HANA - Support for InnovationSAP Platform & S/4 HANA - Support for Innovation
SAP Platform & S/4 HANA - Support for InnovationBernhard Luecke
 
Sap vendor invoice management reporting final
Sap vendor invoice management reporting finalSap vendor invoice management reporting final
Sap vendor invoice management reporting finalArghadip Kar
 
Whats new BPC 10.1 NW
Whats new BPC 10.1 NWWhats new BPC 10.1 NW
Whats new BPC 10.1 NWfernadabrum
 
Sap analytics creating smart business processes
Sap analytics   creating smart business processesSap analytics   creating smart business processes
Sap analytics creating smart business processesJULIO GONZALEZ SANZ
 
Business function prediction
Business function predictionBusiness function prediction
Business function predictionMukesh Gupta
 
Atos Ibm Sap Event 22 06 2012v2 Shekhar
Atos Ibm Sap Event 22 06 2012v2 ShekharAtos Ibm Sap Event 22 06 2012v2 Shekhar
Atos Ibm Sap Event 22 06 2012v2 ShekharShekhar Bhartiya
 

Ähnlich wie Enhancement framework the new way to enhance your abap systems (20)

18191198 enhancement-points
18191198 enhancement-points18191198 enhancement-points
18191198 enhancement-points
 
Enhancement packages for sap erp what's new in logistics and operations
Enhancement packages for sap erp what's new in logistics and operationsEnhancement packages for sap erp what's new in logistics and operations
Enhancement packages for sap erp what's new in logistics and operations
 
Sap Busines Suite At IBM event
Sap Busines Suite At IBM eventSap Busines Suite At IBM event
Sap Busines Suite At IBM event
 
Sap enhancement packages
Sap enhancement packagesSap enhancement packages
Sap enhancement packages
 
SAP Hybris Commerce Technical Upgrade
SAP Hybris Commerce Technical UpgradeSAP Hybris Commerce Technical Upgrade
SAP Hybris Commerce Technical Upgrade
 
How to find_information_on_sap_eam
How to find_information_on_sap_eamHow to find_information_on_sap_eam
How to find_information_on_sap_eam
 
SAP AC020 - Investment Management
SAP AC020 - Investment ManagementSAP AC020 - Investment Management
SAP AC020 - Investment Management
 
Mho Web Dynpro Abap
Mho Web Dynpro AbapMho Web Dynpro Abap
Mho Web Dynpro Abap
 
BADI IMPLEMENTATION.pdf
BADI IMPLEMENTATION.pdfBADI IMPLEMENTATION.pdf
BADI IMPLEMENTATION.pdf
 
SAP PPT New 1.ppt
SAP PPT New 1.pptSAP PPT New 1.ppt
SAP PPT New 1.ppt
 
The new ASAP Methodology.pdf
The new ASAP Methodology.pdfThe new ASAP Methodology.pdf
The new ASAP Methodology.pdf
 
Variant Configuration with SAP 2nd Edition
Variant Configuration with SAP 2nd EditionVariant Configuration with SAP 2nd Edition
Variant Configuration with SAP 2nd Edition
 
SAP Platform & S/4 HANA - Support for Innovation
SAP Platform & S/4 HANA - Support for InnovationSAP Platform & S/4 HANA - Support for Innovation
SAP Platform & S/4 HANA - Support for Innovation
 
Abap for sd consultatnt
Abap for sd consultatntAbap for sd consultatnt
Abap for sd consultatnt
 
Sap vendor invoice management reporting final
Sap vendor invoice management reporting finalSap vendor invoice management reporting final
Sap vendor invoice management reporting final
 
Whats new BPC 10.1 NW
Whats new BPC 10.1 NWWhats new BPC 10.1 NW
Whats new BPC 10.1 NW
 
Sap analytics creating smart business processes
Sap analytics   creating smart business processesSap analytics   creating smart business processes
Sap analytics creating smart business processes
 
Business function prediction
Business function predictionBusiness function prediction
Business function prediction
 
Atos Ibm Sap Event 22 06 2012v2 Shekhar
Atos Ibm Sap Event 22 06 2012v2 ShekharAtos Ibm Sap Event 22 06 2012v2 Shekhar
Atos Ibm Sap Event 22 06 2012v2 Shekhar
 
Focused build overview
Focused build overviewFocused build overview
Focused build overview
 

Mehr von Kranthi Kumar

Creating simple comp
Creating simple compCreating simple comp
Creating simple compKranthi Kumar
 
Controllers and context programming
Controllers and context programmingControllers and context programming
Controllers and context programmingKranthi Kumar
 
Binding,context mapping,navigation exercise
Binding,context mapping,navigation exerciseBinding,context mapping,navigation exercise
Binding,context mapping,navigation exerciseKranthi Kumar
 
Web(abap introduction)
Web(abap introduction)Web(abap introduction)
Web(abap introduction)Kranthi Kumar
 
Chapter 07 debugging sap scripts
Chapter 07 debugging sap scriptsChapter 07 debugging sap scripts
Chapter 07 debugging sap scriptsKranthi Kumar
 
Chapter 06 printing sap script forms
Chapter 06 printing sap script formsChapter 06 printing sap script forms
Chapter 06 printing sap script formsKranthi Kumar
 
Chapter 05 sap script - configuration
Chapter 05 sap script - configurationChapter 05 sap script - configuration
Chapter 05 sap script - configurationKranthi Kumar
 
Chapter 04 sap script - output program
Chapter 04 sap script - output programChapter 04 sap script - output program
Chapter 04 sap script - output programKranthi Kumar
 

Mehr von Kranthi Kumar (20)

Exercise in alv
Exercise in alvExercise in alv
Exercise in alv
 
Dynamic binding
Dynamic bindingDynamic binding
Dynamic binding
 
Data binding
Data bindingData binding
Data binding
 
Creating simple comp
Creating simple compCreating simple comp
Creating simple comp
 
Creating messages
Creating messagesCreating messages
Creating messages
 
Creating a comp
Creating a compCreating a comp
Creating a comp
 
Controllers and context programming
Controllers and context programmingControllers and context programming
Controllers and context programming
 
Context at design
Context at designContext at design
Context at design
 
Binding,context mapping,navigation exercise
Binding,context mapping,navigation exerciseBinding,context mapping,navigation exercise
Binding,context mapping,navigation exercise
 
Alv for web
Alv for webAlv for web
Alv for web
 
Web(abap introduction)
Web(abap introduction)Web(abap introduction)
Web(abap introduction)
 
Abap faq
Abap faqAbap faq
Abap faq
 
Sap abap material
Sap abap materialSap abap material
Sap abap material
 
Crm technical
Crm technicalCrm technical
Crm technical
 
control techniques
control techniquescontrol techniques
control techniques
 
Chapter 07 debugging sap scripts
Chapter 07 debugging sap scriptsChapter 07 debugging sap scripts
Chapter 07 debugging sap scripts
 
Chapter 06 printing sap script forms
Chapter 06 printing sap script formsChapter 06 printing sap script forms
Chapter 06 printing sap script forms
 
Chapter 05 sap script - configuration
Chapter 05 sap script - configurationChapter 05 sap script - configuration
Chapter 05 sap script - configuration
 
Chapter 04 sap script - output program
Chapter 04 sap script - output programChapter 04 sap script - output program
Chapter 04 sap script - output program
 
sap script overview
sap script overviewsap script overview
sap script overview
 

Enhancement framework the new way to enhance your abap systems

  • 1. Enhancement Framework - The new way to enhance your ABAP systems Oliver J. Mayer Product Manager – SAP NetWeaver
  • 2. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 2 Learning Objectives As a result of this session, you will be able to: Understand the fundamental idea of the Enhancement Framework and Switch Framework (available in SAP NetWeaver 2004s) Reduce TCO by using enhancement technologies instead of modifications Enhance SAP standard objects Understand how Enhancement definitions are created
  • 3. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 4. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 5. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 5 Availability mySAPERP20052005 mySAPSRM mySAPCRM mySAPSCM mySAPPLM mySAP Business Suite 20052005 SAP NetWeaver 2004s2004s App Server Release … 4.6c 6.10 6.20 NW04 NW04s …
  • 6. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 6 SAP NetWeaver User Productivity Enablement Running an Enterprise Portal Enabling User Collaboration Business Task Management Mobilizing Business Processes Enterprise Knowledge Management Enterprise Search Data Unification Master-Data Harmonization Master-Data Consolidation Central Master-Data Management Enterprise Data Warehousing Business Information Management Enterprise Reporting, Query, and Analysis Business Planning and Analytical Services Enterprise Data Warehousing Enterprise Knowledge Management Enterprise Search Business Event Management Business Activity Monitoring Business Task Management End-to-End Process Integration Enabling Application- to-Application Processes Enabling Business-to- Business Processes Business Process Management Enabling Platform Interoperability Business Task Management Custom Development Developing, Configuring, and Adapting Applications Enabling Platform Interoperability Unified Life-Cycle Management Software Life-Cycle Management SAP NetWeaver Operations Application Governance and Security Management Authentication and Single Sign-On Integrated User and Access Management Consolidation Enabling Platform Interoperability SAP NetWeaver Operations Master-Data Consolidation Enterprise Knowledge Management Enterprise Data Warehousing ESA Design and Deployment Enabling Enterprise Services
  • 7. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 7 Adapting SAP Software One of the advantages of SAP software is the possibility to adapt the software to own requirements and the possibility of keeping the adaptations during upgrade. Ways of adaptation: Customizing Enhancement Modification
  • 8. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 8 Motivation Reducing TCO Enhancing objects instead of modifying them reduces the effort for adjustment during SP import or upgrade. Disadvantages of modifications No support for multiple users or projects No support for parallel developments Will appear much more often in adjustment tools Higher adjustment effort (during upgrade & SP import)
  • 9. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 9 Evolution of SAP Enhancement Technology User Exits Form routines Application Workbench Kernel Customer Exits Function modules Business Transaction Events Industries Business Add Ins Filters Classes Kernel based Business Add Ins Enhancement Framework
  • 10. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 11. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 11 [Simple] Enhancement Spot Composite Enhancement Spot [Simple] Enhancement Implementation Composite Enhancement Implementation 1 n 1 n n 1 n 1 n m Enhancements - Relations ImplementationDefinition
  • 12. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 12 Terminology by Example Composite Enhancement Spot SAPSAPSAPSAP Composite Enhancement Spot SD Composite Enhancement Spot Invoice Enhancement Spot Pricing Enhancement Option Source Code Enhancement FUGR V60A Enhancement Option BAdI Definition PRICING_BADI1 Composite Enhancement Implementation CustomerCustomerCustomerCustomer Composite Enhancement Implementation SD Composite Enhancement Impl. Invoice Enhancement Impl. Pricing Enh Impl Element Source Code Plugin FUGR V60A Enh Impl Element BAdI Implementation OIL_PRICING_IMPL1
  • 13. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 13 Enhancement Browser Search for Enhancements possibilities (Definitions – typically provided by SAP) Enhancement Implementations (typically done by Customer) Integrated into Object Navigator (SE80)
  • 14. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 15. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 15 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.
  • 16. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 16 Implicit Enhancement Options
  • 17. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 17 Explicit Enhancement Options
  • 18. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 18 Source Code Plugin Technology - Example PROGRAM p1. WRITE ‘Hello World’. ENHANCEMENT-POINT ep1 SPOTS s1. .. .. .. ENHANCEMENT-SECTION ep2 SPOTS s1. WRITE ’Original’. END-ENHANCEMENT-SECTION. ENHANCEMENT 1. WRITE ’Hello Paris’. ENDENHANCEMENT. ENHANCEMENT 2. WRITE ’Hello London’. ENDENHANCEMENT. ENHANCEMENT 3. WRITE ’Enhanced’. ENDENHANCEMENT.
  • 19. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 19 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
  • 20. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 20 Demo Demo Source Code Plugin
  • 21. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 22. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 22 Function Group Enhancements Function Group Enhancements allow: Adding new optional parameters to existing function modules Transaction: SE37
  • 23. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 23 Demo Demo Function Group Enhancement
  • 24. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 25. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 25 Class/Interface Enhancements Class/Interface Enhancements allow 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
  • 26. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 26 Adding Methods & Parameters Adding optional parameters to existing methods Adding new methods
  • 27. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 27 Pre/Post Exits Method Hugo. Endmethod. … Call method instance->hugo( ). … Method Pre. … …. Endmethod. Method Post. …. …. Endmethod. Coding. Coding. Coding.
  • 28. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 28 Demo Demo Class Enhancement
  • 29. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 30. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 30 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
  • 31. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 31 Comparison: Usage of Old BAdIs vs. new BAdIs With Classic BAdI selecting implementations and issuing calls is mixed up calls cause DB access calls are redirected over a proxy class With New BAdI selection occurs when the handle is requested no DB access during runtime Implementations are called directly (without a proxy) DATA: bd TYPE REF TO if_intf. DATA: flt TYPE flt. CALL METHOD cl_exithandler=> get_instance EXPORTING exit_name = `BADI_NAME` CHANGING instance = bd. flt-lang = `D`. CALL METHOD bd->method EXPORTING x = 10 flt_val = flt. data bd type ref to badi_name. get badi bd filters lang = `D`. call badi bd->method exporting x = 10. Old BAdIs are more expensive than the new ones. Active implementations are evaluated at compile time and included in the load of the BAdI-handle.
  • 32. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 32 Definition Implementation Package A Package B Switch_1 Switch_2 New BADI’s and Enhancement Framework Simple Enhancement Spot Spot_1 Simple Enhancement Implementation SEI1 Simple Enhancement Implementation SEI2 BAdI Implementation 1 BAdI Implementation 2 BAdI Implementation 3 BAdI Implementation 4 BAdI Implementation 5 BAdI BADI_A BAdI BADI_B BAdI BADI_C
  • 33. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 33 Creating BADI in SE80 BADI Definition under Enhancement Spot BADI Implementation (Creating Filters)
  • 34. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 34 Demo Demo Kernel-BAdI
  • 35. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 35 BAdI Migration (Automatic Migration) Automatic migration by selecting utilities migration from BAdI Builder (se18) Specify Enhancement Spot for BAdI Defintion Specify Enhancement Implementation for BAdI Implementation no special knowledge necessary effort: 5 minutes per BAdI (with some implementations). The migration can be automated. Automatic migration by selecting utilities migrate from BAdI Builder (SE18) ■ Specify Enhancement Spot for BAdI Definition ■ Specify Enhancement Implementation for BAdI Implementation no special knowledge necessary effort: approximately 5 minutes per BAdI. SE18 -> utilities -> Migrate ONLY when you have created Custom-BADI “definitions” in old systems
  • 36. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 36 Performance Comparison Classic BAdI Migrated BAdI New BAdI 1 2-27 x faster as classic BAdI 40-600 x faster as classic BAdI The more implementations defined, the higher is the improvement on performance 200%-2600% 4000%-60000%
  • 37. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 38. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 38 Goal of 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 Switch Framework - Motivation 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
  • 39. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 39 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
  • 40. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 40 Direct Assignment: Examples Screen Painter: Modules Screen Painter: Field elements Menu Painter: Function codes
  • 41. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 41 Switch Switch Repository Object Calculated states: ON, OFF, STANDBY Transaction SFW1 Business Function Set Business Function Switch m n m n
  • 42. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 42 Business Function Business Function Represents a piece of business functionality Contains switches Transaction SFW2 Business Function Set Business Function Switch m n m n
  • 43. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 43 Business Function Set Business Function Set Pool of business functions Represents e.g. one industry solution Max. 1 can be active Transaction SFW3 to create BFS Use Transaction SFW5 to activate a BFS. Business Function Set Business Function Switch m n m n SFW3 SFW5
  • 44. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 44 Switch Framework: Architecture Bus Fct Set 3 Bus Fct F1 Bus Fct F2 Bus Fct F4 Bus Fct Set 2 Bus Fct F1 Bus Fct F2 Bus Fct F4 Bus Fct Set 1 Bus Fct F1 Bus Fct F2 Bus Fct F4 Switch 1 Switch 2 Switch 3 Switch 4 Screen 1 Element 1 Element 2 Package IMG-nodes Most objects are switched via the assignment of their package to a switch, e.g. - DDIC objects (e.g. appends) - Enhancements - Transactions - BC-Sets Objects with no direct package relation are directly assigned to a switch, e.g. - Screen elements - Menu entries - IMG nodes Package
  • 45. Enhancement Framework Source Code Plugin - Technology Function Group Enhancement - Technology Class Enhancement - Technology Kernel-BAdI – Technology Switch Framework Summary Motivation & Overview
  • 46. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 46 Summary The Enhancement Framework offers new possibilities to extend the SAP Standard instead of modifying it. Source Code PlugIns Function Group Enhancements Class Enhancements New BAdIs The new BAdIs are more flexible and faster than the classic ones. The Enhancements offered by Enhancement Framework and some other object types can be switched by the Switch Framework as part of a Business Function Set e.g. an industry solution.
  • 47. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 47 Further Information Help Portal http://help.sap.com Documentation SAP Netweaver (04s) Application Platform ABAP technology ABAP Workbench Enhancement Framework OKP / RKT Learning Maps Internal SAP: http://intranet.sap.com/rkt-netweaver Consulting SAP NW 04s Creating Business Applications using ABAP Ramp-up customers: Send mail to rkt@sap.com SDN http://sdn.sap.com
  • 48. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 48 Q&A Questions?
  • 49. © SAP AG 2006, Enhancement Framework, Oliver J. Mayer / 49 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, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation. Oracle is a registered trademark of Oracle Corporation. 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. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, 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 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. 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. Please note that this document is subject to change and may be changed by SAP at any time without notice. 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. Copyright 2006 SAP AG. All Rights Reserved