GRC
HR
SCM
CRM
BI


Article

 

A New and Improved Approach to SAP Industry Solutions — How the Switch and Enhancement Framework Now Consolidates SAP Industry Solutions with the ERP Core

by Karl Kessler | SAPinsider

July 1, 2005

by Karl Kessler, SAP AG SAPinsider - 2005 (Volume 6), July (Issue 3)
 

 
 
Karl Kessler,
SAP AG

 

This fall, all of SAP's industry solutions (IS) will be integrated into mySAP ERP 2005. Now every time SAP issues upgrades to mySAP ERP, the industry solutions will get upgrades as well, rather than the traditional model where IS upgrades occur one release later. What's more, thanks to new switch and enhancement framework technology within mySAP ERP 2005, it will be possible to reuse functions of more than one industry solution in a single mySAP ERP system. Enhancements will also become much simpler and more efficient to implement.

The benefits of this consolidation of the various industry solutions within the core — and the ability to have multiple industry solutions in one system — are staggering: No longer will SAP customers need to administer and manage a separate system silo for each industry solution. And with the added efficiency of modifications and enhancements, organizations can react more quickly to the changing demands of their specific business.

SAP Industry Solutions

To meet the requirements of a particular industry, such as oil and gas, aerospace and defense, media, telecommunications, or health care, SAP created specialized industry solutions to run on top of the SAP R/3 core system. Today, SAP offers industry solutions in more than two dozen different categories.

SAP's industry solutions represent the known best practices within a given business; however, business is always changing, and there is always pressure to innovate and look at the business landscape in new and different ways.

How Industry Solutions Enhance SAP R/3

SAP industry solutions have been designed to meet the specific demands of an organization, based on the particular business processes of their industry — be it banking, high tech, media, or mill products. Industry solutions modify and enhance the SAP R/3 system in the following ways:

  • Adding industry-specific fields to SAP R/3 tables or Data Dictionary (DDIC) structures

  • Adding new SAP R/3 tables specific to an industry

  • Extending core function groups with industry-specific function modules and added parameters to each function module

  • Extending core ABAP classes with industry-specific methods and additional parameters similar to function groups

  • Extending and modifying existing screens with industry-specific fields and processing logic

  • Adding industry-specific subscreens and flow logic to existing screens

  • Adding industry-specific screens to a core module pool

  • Extending customizing views with industry-specific fields

  • Modifying SAP R/3 code with industry-specific code segments

  • Adding data declarations

Beyond Industry Solutions: The Dilemma of Modification

While industry solutions provided more specific functionality, many SAP customers found they still had requirements that could not be fulfilled without further customizing or personalizing the industry solution. To this end, SAP initially provided user exits — predefined hooks into the SAP R/3 system to achieve specific functionality.

Many customers still required more functionality than user exits could provide, so SAP developed Business Add-Ins (BAdIs), a powerful enhancement technology that allowed for multiple implementations of a given interface in parallel. With the introduction of SAP R/3 Enterprise in 2000, SAP dramatically increased the number of Business Add-Ins it provided. Bolstered by the excellent reception this technology received, all subsequent SAP R/3 Enterprise extension sets have relied heavily on the Business Add-In concept.

But Business Add-In technology can only work if the core maintains all the interfaces required by the various industry solutions, and a given industry solution reasonably could require dozens of interfaces. For times when neither user exits nor BAdIs will do — for example, when a sequence of screens needs to be completely rearranged 'sAP has tools to enable modifications of the industry solution, or even SAP R/3.

SAP provides a "modification assistant" that records all the modifications. Code insertions and changes are tagged with a special syntax that make them easier to identify and, if necessary, to undo. Once the new code has been tested on a development system, it is transferred to the production system.

These customizations provide valuable functionality, but they can become a burden when SAP ships a new support package or upgrade to SAP R/3. To implement the additional functionality, it becomes necessary to overwrite the modified copy of the SAP R/3 systems and, as a result, the modifications are lost.

This is why the modification assistant records all modifications in a log table. The modification assistant automatically reapplies the code changes to the patched or upgraded SAP R/3 system. This process, however, is not seamless. If changes to the original code are substantial, it is unlikely that the modification will be reinserted automatically.

Further complicating matters was SAP's practice to issue patches and upgrades to industry solutions one release cycle after the similar patch and upgrade to the core SAP R/3 system was issued, which occurred because the industry solution and the SAP R/3 core were not maintained in parallel. In addition, SAP developed industry solutions independently of each other, making it possible for two different industry solutions to modify the same code within the core SAP R/3 system in different ways. This complexity would make it nearly impossible for a company to merge two industry solutions into one SAP R/3 system.

Solving the Modification Dilemma

SAP's solution to managing modifications and industry solutions — the switch and enhancement framework — combines several different approaches that have to be used with care, but when applied correctly bring in compelling advantages with respect to both cost reduction and early adoption of innovative technology such as SAP NetWeaver.

In the future, SAP will ensure that both core and industry solutions are developed in the same system landscape, meaning that all development objects are changed as originals. No modification takes place.

BAdIs do not go away. 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 'industry modifications' can be handled by BAdIs, so SAP will enable enhancements as 'source code plug-ins.' These will be predefined places in the core that allow an industry solution to plug in source code of its own. To prevent conflicts of enhancements from multiple industry solutions, each solution will be associated with a switch, which will determine which enhancement should be used. I'll discuss switches in more detail later in the article.

Before the introduction of source code plug-ins, the core was not aware of any industry solutions at all. Business Add-Ins, for example, invoked functionality in non-core layers. Now with source code plug-ins, additional code from an industry solution is processed directly in the core system. The original development object is now under a "shared" responsibility. If this shared responsibility is not intended, a clean interface for a Business Add-In needs to be maintained and supported by the core developer. The industry developer in turn must make sure that his or her enhancement point does not do any harm in the core system, meaning the enhancement has no effect as long as an industry solution has not been activated.

Before we drill down into the details of how the switch and enhancement framework works, it's important to again bear in mind the staggering benefits of this consolidation of the various industry solutions within the core:

  • 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 can be met in a timely fashion.

  • All industries can 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.

The Enhancement Framework

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. Figure 1 explains how the enhancement framework represents a significant improvement over user exits.

User Exit Enhancement
Call of customer functions in SAP's ERP code Invocation of business methods defined with stable interface
1:1 mapping between ERP and customer Multiple implementations supported by different industries or country versions
Maintenance in customer name space Each layer (industry, country, customer) has a separate name space
Execution slow due to generation of code Fast execution, since enhancements are defined in ABAP but executed in the kernel
Separate maintenance transactions Maintenance built into the tools of the ABAP Workbench, seamless navigation
Testing difficult Integrated testing through switch setting active for one client
Figure 1
Comparing User Exits and Enhancements

In the enhancement framework, industry-specific code is maintained through source code plug-ins, specifically defined places where code can interact with the core. New ABAP statements "ENHANCEMENT POINT" and "ENHANCEMENT SECTION"' mark the insertion of industry-specific code or replacement of core code (see Figure 2).

Figure 2
Enhancement Framework in ABAP: Adding Industry-Specific Code

To better manage sections of industry-specific code, the ABAP Workbench organizes these code sections inside the Object Navigator, pointing to the various locations, or enhancement points, where an industry solution has changed the core (see Figure 3). Business Add-Ins have likewise been revamped to fit into the overall enhancement framework.

Figure 3
Enhancement Points in the ABAP Workbench

While the enhancement framework contains enhancement points — hooks, if you will — for those best-practice solutions that have won acceptance within a specific industry, there are many solutions that require new or cutting edge technology. To employ those solutions, SAP has created the switch framework.

The Switch Framework

The enhancement framework works hand in hand with the switch framework. Figure 4 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 code bases (both core and industry solutions) that are contained in the repository. Packages act as containers for development objects.

Figure 4
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. Turning on a switch is typically a customizing activity during the implementation phase of the system.

Business Function Sets and Business Functions

To make switch framework handling easier, and to better group the individual switch settings, SAP is also introducing 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, the maintenance of which is shown in Figure 5. 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.

Figure 5
Defining and Activating Business Function Sets

Note!
Switching on a business function set is a customizing step that occurs after installation. It is easy to switch on a business function set, but after you do so, keep in mind that many structures, fields, table appends, etc. become activated.

What Can Be Switched?

Every development object, more or less, will be '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, will be 'switchable'

  • Domain fixed values — Industry-specific additional fixed values for a given field can be switched

  • Function groups — Additional function modules or industry-specific parameters, which allow the ability to retrofit a lot of industry functionality into the core (see Figure 6) will be switch-enabled
    Figure 6
    ABAP Editor — Switching Function Modules


  • ABAP classes — Like function groups mentioned above, methods can be added along with industry-specific method parameters, and all appear assigned to a switch

  • Menu entries and menu functions — Entries/functions added will 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'

  • Viewcluster — Industry-specific fields can be added and are switches

Summary and Outlook

The switch and enhancement framework enables SAP customers to maintain both core functionality and industry solutions within the same system landscape. For those industry-specific functionality solutions that have won wide acceptance as best practices, SAP will build hooks using the enhancement framework. The switch framework, by comparison, will serve for the up-and-coming solutions or for those solutions only useful to a very narrow or specific customer set.

The switch and enhancement framework represents major capabilities of the ABAP stack that developers can look forward to in mySAP ERP 2005. More importantly, SAP is committed to providing upgrades to its industry solutions simultaneously with its core system, which will come as welcome news to thousands of our customers who look to SAP to help them solve their business problems, enable business opportunities, and reduce the total cost of ownership for their technical infrastructure.

For more information on the switch and enhancement framework, please visit www.sdn.sap.com.

Switch Framework - Frequently Asked Questions

Q. 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 a 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 or ERP table.

Q. Why did SAP invent the switch framework?

In the past, industry solutions modified the SAP R/3 core much as a customer would modify the system (using the modification assistant). This procedure leads to delayed release cycles, since industry solutions are always delivered one release later than the core release. As a result, customers have less impetus to adopt new technology such as SAP NetWeaver. Furthermore, industry solutions require additional maintenance since the customer must merge their modifications with every core support package. Also, legal requirements cannot be met in a timely fashion. To mitigate these challenges, SAP invented the switch framework.

Q. When will SAP introduce the switch framework?

The switch framework is part of the SAP NetWeaver 2004s ABAP stack (7.0), which is the foundation of mySAP ERP 2005. Ramp-Up will start in the last quarter of 2005. For the first time, the standard core and industry solutions will be delivered at the same time.

Q. Where do I find the switch framework inside the system?

The switch framework is tightly integrated into the tools of the ABAP Workbench, so there is no need to learn new tools. 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. You'll also find places inside the ABAP code where code has been inserted or replaced based on a particular industry solution's needs. The available technical switches are maintained in customizing transactions, and the switch settings are activated during implementation of an industry solution.

Q. What are the benefits of the switch framework?

The maintenance of industry solutions is greatly simplified, resulting in lower TCO. Having multiple industry solutions allows organizations to combine and reuse their functionality, and all industry solutions can now be developed in parallel in one system.

Q. How does the switch framework relate to the enhancement framework?

While the enhancement framework contains modification points for those best-practice solutions defined within a specific industry, the switch framework addresses all those aspects of an industry solution that have no special interfaces defined in advance.


Karl Kessler joined SAP in 1992. He is the Product Manager of the SAP NetWeaver foundation including SAP Web Application Server, Web Dynpro, ABAP Workbench, and SAP NetWeaver Developer Studio, and is responsible for all rollout activities. You can reach him via email at karl.kessler@sap.com.


An email has been sent to:






More from SAPinsider



COMMENTS

Please log in to post a comment.

No comments have been submitted on this article. Be the first to comment!


SAPinsider
FAQ