Switch and Enhancement Framework – Consolidation of
Industry-Specific Solutions with the mySAP ERP Core
Basic Motivation
With mySAP ERP 2005 all of SAP’s industry solutions (IS) are integrated into mySAP ERP Enterprise Core Components. In previous releases of mySAP ERP, industry solutions were individually installed as Add Ons to the core functions.
Now, every time SAP delivers upgrades to mySAP ERP, the industry solutions will be upgraded as well, rather than in previous versions of mySAP ERP and R/3 Enterprise where IS upgrades typically occur one release later.
Thanks to new switch and enhancement framework technology within mySAP ERP 2005, it will be possible to reuse functions of various industry solution in a pure mySAP ERP system. Furthermore, SAP ensures that both the core and industry solutions are developed in the same system landscape, which means that all development objects are changed as originals instead of the modification of core development objects per industry solution. The elimination of modification greatly reduces the maintenance effort for a particular industry solution.
Benefits of the consolidation
The main benefits of the consolidation of the various industry solutions within the core are as follows:
- Previously separated release cycles of core and industry solutions are now synchronized, and mySAP ERP 2005 physically contains all the industry specific code. This allows for the reuse and sharing of functions between the different industry solutions. Currently only one industry solution can be activated in the customer system.
- Legal requirements are met in a timely fashion.
- All industries benefit from the attractive functionality of mySAP ERP.
- Industries can adopt evolving technologies such as SAP NetWeaver much earlier.
- The system landscape can be simplified dramatically. In the past, each industry solution required its own landscape with development, consolidation, quality assurance, and translation. Today, all the industry development takes place in one system.
What is the Switch Framework
The switch framework is a technical framework residing in the ABAP stack of SAP NetWeaver 2004s (the basis for mySAP ERP 2005). The switch framework controls what development objects are active in a system. Each ABAP package can be assigned to switch. The switch settings determine whether a development object that belongs to a switched package is active. If a package is not assigned to a particular switch, it is considered a standard ERP package. Switched packages represent different industry solutions in a system. Elements of a standard development object may be switched as well. Thereby, an industry solution can add an industry-specific field to a standard screen. Likewise you can add industry-specific fields to a standard ERP table.
Architecture of the Switch Framework
Figure 1 shows the basic architectural diagram of the switch framework. On the left, you see business function sets, which we will discuss in the next section. On the right are the existing packages (both core and industry solutions) that are contained in the repository. Packages act as containers for development objects.
Figure 1 Switch Framework Architecture
Between the business function sets and the packages are the technical switches. A switch stands for a collection of development objects to be “switched on.” If a development object is switched on, it exists actively in the core system. If a package is switched on, all development objects that belong to that particular package are active inside the system. Different development objects may be associated with the same switch.
Business Function Sets and Business Functions
To make the switch framework handling easier and to better group the individual switch settings, SAP has introduced business function sets and business functions.
A business function set corresponds to an industry solution. Each business function set is a group of business functions, and each business function group consists of a set of switch settings. By means of business functions, several industry solutions (represented by different business function sets) may share a common set of business functions with identical switch settings. At the beginning of the implementation phase of mySAP ERP 2005 the customer selects the business function set that represents the required industry solution and activates the business function set (link to IMG documentation).
What Can Be Switched?
Every development object, more or less, is “switchable.” What follows is a list of development object categories, and how they work within the switch framework:
- ABAP packages -- All development objects contained in the package inherit the switch setting of the package
- Append structures -- Industry-specific fields contained in a DDIC structure, which is appended to a core table, can be switched.
- Domain fixed values -- Industry-specific additional fixed values for a given field can be switched
- Menu entries and menu functions -- Entries/functions added become switch-enabled
- Screen fields -- Fields added to the screen, or added subscreens, as well as the flow logic required to process the additional fields will all be “switchable”
- Function groups -- Additional function modules or industry-specific parameters, which allow the ability to retrofit a lot of industry functionality into the core are switch-enabled.
- ABAP classes -- Like function groups mentioned above, methods can be added along with industry-specific method parameters, and all appear assigned to a switch
- Viewcluster -- Industry specific fields can be added
- Source Code Plug Ins are insertions into or replacements of core ABAP code that represent the industry specific behaviour of mySAP ERP.
- Business Add In Implementations can be switched.
The Switch and Enhancement Framework inside the ABAP Workbench
The switch framework is tightly integrated into the tools of the ABAP Workbench. For example, in the screen painter you will find an additional field attribute that determines the associated switch if the field does not belong to the core but is part of an industry solution. Likewise, you’ll find places inside the ABAP code where code has been inserted or replaced based on a particular industry solution’s needs.
Since the potential now exists for a single system to contain more than one industry solution, industry-specific code requires additional care. The enhancement framework unifies all the enhancement technologies that have been invented over time for the classical SAP R/3 system.
In the enhancement framework, industry-specific code is maintained through source-code plug-ins, specifically defined places where code can interact with the core.
To better manage sections of industry-specific code, the ABAP Workbench organizes these code sections inside the Object Navigator, pointing to the various locations where an industry solution has changed the core.
Business Add Ins (BAdIs) do not go away, however. The core and industry solutions can still be linked by a Business Add-In where the core provides the interface and each industry solution a particular implementation. But not all previous “industry modifications” can be handled by BAdIs (link to Enhancement Framework documentation).