The Enhancement Framework - ADFAHRER nbsp;· Development Architect, NW AS ABAP Workbench, SAP AG Dr. Roland Krämer Senior Developer, NW AS ABAP Workbench, ... into the Enhancement Framework

  • Published on
    30-Jan-2018

  • View
    213

  • Download
    1

Embed Size (px)

Transcript

  • The Enhancement Framework for Nordic User group

  • SAP AG 2006, Enhancement Framework/ 2

    Contributing Speakers

    Michael AckerDevelopment Architect, NW AS ABAP Workbench, SAP AG

    Dr. Roland KrmerSenior Developer, NW AS ABAP Workbench, 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 SAPproduct 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 AG 2006, Enhancement Framework/ 3

    Learning Objectives

    As a result of this workshop, you will be able toUnderstand the fundamental idea of the Enhancement Framework and Switch Framework

    Reduce TCO by using enhancement technologies instead of modifications

    Enhance SAP standard objects

    Create your own Enhancement Spots for your own source code

    Work with enhancements during an upgrade or import of a support package

  • Enhancement Framework OverviewSource Code Plugin Technology Function Group Enhancement TechnologyClass Enhancement TechnologyBAdI TechnologyUpgrade AdjustmentSwitch FrameworkSummary

  • Enhancement Framework OverviewSource Code Plugin Technology Function Group Enhancement TechnologyClass Enhancement TechnologyBAdI TechnologyUpgrade AdjustmentSwitch FrameworkSummary

  • SAP AG 2006, Enhancement Framework/ 6

    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/ 7

    Motivation

    Reducing TCOEnhancing objects instead of modifying them reduces the effort for adjustment during SP import or upgrade.

    Disadvantages of modificationsNo support for multiple users or projectsNo groupingNo support for parallel developmentsWill appear much more often in adjustment toolsHigher adjustment effort

  • SAP AG 2006, Enhancement Framework/ 8

    Motivation: Goals of Enhancement Framework

    Integration of several enhancement typesBAdIsFunctiongroup EnhancementClass/Interface EnhancementSource Code PlugInsWebDynpro Enhancement

    into the Enhancement FrameworkSwitchable by Switch FrameworkEnhancement BrowserUpgrade supportPossibility to document and group enhancementsMultilayer support

  • SAP AG 2006, Enhancement Framework/ 9

    Multilayer Support

    Core DevelopmentOriginal Object

    Enhancement 1 Enhancement 2

    Enhancement 11 Enhancement 12

    Application Development

    Add On Development

    Customer Development

    Enhancement 121 Enhancement 201

    Enhancement 01

    Enhancement 001

  • SAP AG 2006, Enhancement Framework/ 10

    Enhancements Relations

    [Simple] Enhancement Spot

    Composite Enhancement Spot

    [Simple] Enhancement Implementation

    Composite Enhancement Implementation

    n m

    n1

    n1

    n n

    1 1

  • SAP AG 2006, Enhancement Framework/ 11

    The Big Picture Another Perspective (1)

    Composite Enhancement SpotsContainer Objects Can contain Other Composite Enhancement

    Spots [Simple] Enhancement Spots

    [Simple] Enhancement SpotsContainer ObjectsCan contain Enhancement Elements

    Explicit Enhancement OptionsEnhancement Definitions

    [Simple] Enhancement Spot

    [Simple] Enhancement Spot

    Enhancement Elements:Such as a BAdI-Definition

    Composite Enhancement Spot

  • SAP AG 2006, Enhancement Framework/ 12

    The Big Picture Another Perspective (2)

    [Simple] Enhancement Spot

    [Simple] Enhancement Implementation

    Enhancement ImplementationElements:Such as a BAdI-Implementation

    Composite Enhancement Implementation

    Composite Enhancement Implementation

    Container Objects Can contain Other Composite Enhancement

    Implementations [Simple] Enhancement

    Implementations

    [Simple] Enhancement Implementation

    Can contain Enhancement Implementation Elements

    Enhancement Implementation Elements

    Implementations

  • SAP AG 2006, Enhancement Framework/ 13

    Enhancement Spot Editor

    Editor for Predefined Enhancement Possibilities (Source Code Enhancements & BAdIs)Integrated in Object Navigator (SE80)common tabs for all Enhancement SpotsTab 3 dependent on enhancement technology: BAdIs or Source Code Enhancements

  • SAP AG 2006, Enhancement Framework/ 14

    Enhancement Implementation Editor

    Editor for Enhancement ImplementationsIntegrated in Object Navigator (SE80)Tab Properties & Objects common for all enhancement typesTab 3 dependent on enhancement technology: e.g. BAdI-Implementation or Source Code Enhancements

  • SAP AG 2006, Enhancement Framework/ 15

    Composite Enhancement Implementation

    Contained Composite

    Enhancement Implementations

    contains [Simple] Enhancement

    Implementations

  • SAP AG 2006, Enhancement Framework/ 16

    Terminology by Example

    Composite Enhancement Spot

    ERPComposite Enhancement Spot

    SDComposite Enhancement Spot

    InvoiceComposite Enhancement Spot

    Pricing

    Enhancement Spot Source Code EnhancementFUGR V60A

    Enhancement Spot BAdI DefinitionPRICING_BADI1

    Composite Enhancement Implementation

    IS_OILComposite Enhancement Implementation

    UpstreamComposite Enhancement Impl.

    OIL_PRICING

    Enhancement ImplementationFunctiongroup EnhancementFUGR V60A

    Enhancement ImplementationSource Code PluginFUGR V60A

    Enhancement ImplementationBAdI ImplementationOIL_PRICING_IMPL1

  • SAP AG 2006, Enhancement Framework/ 17

    Differences: Implicit and Explicit Enhancement Options

    Features of explicit enhancement optionsMore stable, pre-defined

    Few changes in definition to expect

    Only at valid source code locations

    Features of implicit enhancement optionsenhancement of arbitrary objects

    No enhancement spots necessary

  • SAP AG 2006, Enhancement Framework/ 18

    Enhancement Browser

    Search forEnhancements possibilitiesExisting Enhancement ImplementationsEnhancement Implementations to be adjusted after upgrade

  • SAP AG 2006, Enhancement Framework/ 19

    System Change Option Enhanceable

    SE03 / SE06

    New option:

    Enhanceable Only creation of enhancement implementations is allowed

  • Enhancement Framework OverviewSource Code Plugin Technology Function Group Enhancement TechnologyClass Enhancement TechnologyBAdI TechnologyUpgrade AdjustmentSwitch FrameworkSummary

  • SAP AG 2006, Enhancement Framework/ 21

    Source Code Plugin Technology

    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/ 22

    Source Code Enhancements Overview

    Modification-free enhancement of source code

    Explicit Enhancement OptionPredefined enhancement options can be defined in source code. They are additionally stored inside Enhancement Spots.

    Implicit Enhancement OptionAt common enhancement places, implicit Enhancement options are available. Examples: Beginning/End of Include Beginning/End of Method/Function Module/Form Routine End of a structure End of Private/Protected/Public Section of a local class ...

  • SAP AG 2006, Enhancement Framework/ 23

    Explicit Enhancement Options

  • SAP AG 2006, Enhancement Framework/ 24

    Implicit Enhancement Options

  • SAP AG 2006, Enhancement Framework/ 25

    Enhancement Types in Source Code

    ENHANCEMENT-POINT SPOTS [] .. [STATIC]

    Static e.g. additional data declarationDynamic e.g. additional source code

    ENHANCEMENT-SECTION SPOTS [] .. [STATIC]

    Static e.g. replace an existing data declarationDynamic e.g. replace source code

  • SAP AG 2006, Enhancement Framework/ 26

    Enhancement Spots & Implementations

    SpotA

    Point A

    Section B

    Point C

    Point EPoint F

    Spot Hugo

    Spot Flights

    Compilation Unit

    Point D

    Assigned to Compilation UnitPhysical Part of Compilation Unit

  • SAP AG 2006, Enhancement Framework/ 27

    Enhancement Spots & Implementations

    SpotA

    Point A

    Section B

    Point C

    [Simple] EnhancementImplementation 1

    E3

    Point EPoint F

    Spot Hugo

    Spot Flights

    E2E2

    Compilation Unit

    Point D

    Assigned to Compilation UnitPhysical Part of Compilation Unit

  • SAP AG 2006, Enhancement Framework/ 28

    Enhancement Spots & Implementations

    SpotA

    Point A

    Section B

    Point C

    [Simple] EnhancementImplementation 1

    E3

    [Simple] Enhancement Implementation 2

    E1 E2Point EPoint F

    Spot Hugo

    Spot Flights

    E2

    E2E2

    Compilation Unit

    Point D

    Assigned to Compilation UnitPhysical Part of Compilation Unit

  • SAP AG 2006, Enhancement Framework/ 29

    Enhancement Spots & Implementatio

Recommended

View more >