IBM Global Business Services
Business Transactions
Module [1]: CRM OverviewBusiness Transaction Date
Copyright IBM Corporation 2009
IBM Global Business Services
Business Transactions
Business Transactions in mySAP CRM
The concept of business transactions has the following meanings:
Business transactions in mySAP CRM are used to describe business processes and transactions.
A business transaction can cover several business cases, for example, sales order and contact.
There is a similar interface for processing all types of business transactions. There is a strict split between the user interface and the processing of transactions. Similar functions are available in all types of business transactions.
SAP AG 2004
Lead Service Request Activity Opportunity
Inquiry / Quotation
Complaint Contract Order
Copyright IBM Corporation 2009
IBM Global Business Services
General Structure of Business Transactions
A business transaction expresses a business interaction with a business partner. The business transaction provides business structures and functions that can be used in various processes of a company, for example, in sales, marketing or service. Depending on the Leading Transaction Category (for example, contact, opportunity, sales, service), a business transaction has a certain structure. Examples Tasks have only a header level. Leads, opportunities and service transactions have a header and item level. Sales transactions additionally have a schedule line level (delivery quantities and delivery dates, possibly after an ATP check).
Copyright IBM Corporation 2009
IBM Global Business Services
Basic Functions in Business Transactions
Not all functions are available in every transaction type. A selection of basic functions are:
Partner Processing Pricing Incompleteness Check Text Management Date Management
Basic Functions in Business Transactions
Create follow-up transactions
Copying control Document flow Subsequent referencing Organizational data Texts Status
Determining
Administration
The sales-specific functions are :
Product Substitution Free Goods Credit Check Availability Check (ATP Check)
SAP AG 2004
Perform incompleteness check Change transactions
Change documents Field changes
Copyright IBM Corporation 2009
IBM Global Business Services
Change Document Change Documents
The system can update change documents for transactions. This allows you to display all changes made to a transaction, including:
What was changed (field, old value, new value) Who made the change When (date and time) the change was made
You can decide for each transaction type whether change documents are updated.
In Customizing, you can deactivate the updating of change documents for transaction types. Therefore go to the details of a transaction type and check the flag No Change Documents.
SAP AG 2004
In SAP GUI you can display the change documents by choosing Extras Change Documents.
Copyright IBM Corporation 2009
IBM Global Business Services
Events and BTE
Module [1]: CRM Overview- Master Data Date
Copyright IBM Corporation 2009
IBM Global Business Services
Business Addins (BAdi)
Copyright IBM Corporation 2009
IBM Global Business Services
Objectives
The participants will be able to:
Describe Business Add-Ins and their advantages over User Exits. Analyze definition and Implementation of BAdi through transactions SE18 and SE19. Find Business Addins for a particular SAP transaction (if it has a BAdi).
Copyright IBM Corporation 2009
IBM Global Business Services
What is BAdi
Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. (It has Interfaces & Methods) Business Add-Ins should be considered generalized Business Transaction Events that can be used to bundle program, menu and screen enhancements into a single add-in.
Business Add-Ins have two parts: One is the Definition and the other is its Implementation. The definition can either be SAP provided or user may also create it.
Copyright IBM Corporation 2009
IBM Global Business Services
BAdis & User-Exits
BAdis have following distinct features, unlike User Exits:
Uses Object oriented approach Two parts - Definition and its Implementation - definition can either be SAP provided or user may also create it The Business Add-In definition can be used actively by any number of implementations at the same time. I.e. it supports multiple active implementations. (e.g. Multiple use BAdis) There can be more than one implementations of the same BADI definition, and in that case only the active implementations will be executed. You can activate or deactivate any of the implementations after creation.
In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).
Copyright IBM Corporation 2009
IBM Global Business Services
BAdi : Where to Find
Look for BAdi definition in IMG and in component hierarchy. (using transaction SE18) Create own implementation of the add-in (complete coding for Methods) and activate. (using transaction SE19) Enhancement's active components are called at runtime.
Copyright IBM Corporation 2009
IBM Global Business Services
BAdi Definition (SE18)
In the Definition view, an application programmer predefines exit points in a source that allow customers to attach additional software to standard SAP source code without having to modify the original object. To define a BAdi use Sap Menu -> Tools -> ABAP Workbench -> Utilities -> Business Add-Ins -> Definition (transaction SE18).
Call the interface at the appropriate point in application program, where you want to provide an exit to the customer Customers can then select the add-in and implement it according to their needs Copyright IBM Corporation 2009 |
IBM Global Business Services
BAdi Implementation (SE19)
In the Implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available. Find the suitable Business Add-Ins present in system (Use IMG or Component hierarchy) Use Add-Ins Documentation to understand functionality & to decide which Definition to implement. Use SAP Menu ABAP Workbench ->Utilities -> Business Add-Ins -> Implementation (transaction SE19)
Copyright IBM Corporation 2009
IBM Global Business Services
BAdi Implementation : Sequence of steps
1. Find the corresponding BAdi for the SAP transaction 2. Create a custom Implementation for the BAdi 3. From the methods available in the BAdi and select the appropriate method 4. Enter custom code in the method and activate 5. Execute SAP transaction and test if method with custom code is being invoked
Copyright IBM Corporation 2009
IBM Global Business Services
Summary
Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. Business Add-Ins are defined through transaction SE18 and implemented through transaction SE19.
Copyright IBM Corporation 2009
IBM Global Business Services
Questions
What are BAdis ? Which transactions are used for BAdi Definition and Implementation ? How do you locate BAdis defined by SAP for a SAP standard transaction ?
Copyright IBM Corporation 2009
IBM Global Business Services
Enhancement Spot Overview
Copyright IBM Corporation 2009
IBM Global Business Services
Enhancement Framework
Enhancement Framework is the new paradigm to bring all enhancement techniques under one roof. Difference between Enhancement Framework and User Exits and BADI: For User Exits and BADI - upgrading customer systems, requires a lot of time and effort. - difficult to trace various developments to an original system back to this system.
For Enhancement Framework
- creation of modification-free enhancements - integration of different concepts, for enhancing development objects, in a uniform framework, is possible. The followings are different enhancement technologies available under this framework: Source Code Enhancement Function Group Enhancement Class Enhancement Kernel-BADI Enhancement The first three methods, viz., Source Code enhancement, Function Group enhancement, and Class enhancement are entirely new ways to enhance the ABAP system. The final one Kernel-BADI is an improvement of the old classic-BADI.
Copyright IBM Corporation 2009
IBM Global Business Services
Source Code Enhancement
This method can be provided whenever enhancement needs to be incorporated directly into the ABAP source code. Also known as Source Code Plug-In. Technically the source code plug-in implementations are stored in a separate include program and not as part of the original source program Two types of Source Code enhancements possible: Implicit enhancement option Explicit enhancement option
In order to implement any of these Source code enhancements, user needs to be in the Change Enhancement mode (the spiral icon available in the editor) :
19
Master Data |
Copyright IBM Corporation 2009
IBM Global Business Services
Implicit Enhancement Option
Implicit enhancement option Throughout the ABAP system, enhancement options are automatically available at certain pre-defined places like At the end of all the programs (Includes, Reports, Function pool, Module pool, etc.), after the last statement At the beginning and end of all FORM subroutines At the end of all Function Modules At the end of all visibility areas (public, protected and private) of local class To view all the implicit options available in a source code, menu path is Edit Enhancement Operations Show Implicit Enhancement Options
Place the cursor on any of these implicit options and choose Create Enhancement from the menu to implement it .
|
Copyright IBM Corporation 2009
IBM Global Business Services
Explicit Enhancement Option
Explicit enhancement option There are two types of Explicit Enhancement options available: Enhancement Point- which can be provided at a specific place Enhancement Section- can be used to replace a set of statements
Copyright IBM Corporation 2009
IBM Global Business Services
contd..
When the Enhancement-Section is implemented- Only the implementation gets executed and the original code doesnt get executed It is a new technique indeed, which didnt exist previously in any of the old ways of enhancing, to exclude any standard SAP code from execution Because of this, there can be only one active implementation of an Enhancement-Section On the other hand, there can be multiple active implementations of an Enhancement-Point, in which case all the implementations will be executed with no guarantee in the order of execution.
22
Master Data |
Copyright IBM Corporation 2009
IBM Global Business Services
Type of Enhancements
The enhancement options can be of following types (as per the storage of enhancement options in Enhancement Tree):
(Simple) Enhancement Spots: Contains semantically related enhancement options (grouped together) Composite Enhancement Spots : Comprises one or more of Simple and other Composite Enhancement Spots (Simple) Enhancement Implementations: Various related implementation elements are grouped under this Composite Enhancement Implementations: Consists of one or more Simple and other Complex Enhancement Implementations.
They can be viewed by two ways: Through SPAU_ENH transaction Through Object Navigator (SE80)
23
Master Data |
Copyright IBM Corporation 2009
IBM Global Business Services
Transaction SPAU_ENH
The enhancement options can be viewed through SPAU_ENH transaction: Go to browser Give the type of Implementation (whether it is Enhancement Implementation or Enhancement Spot etc) Give the name of the implementation. Press Enter.
Click on ABAP. The coding logic of the implementation will be visible
24
Master Data |
Copyright IBM Corporation 2009
IBM Global Business Services
Object Navigator (SE80)
The enhancement options can be viewed through SE80 transaction: Go to Repository Information System Go to Enhancement Implementations Give the name of the implementation. Press Enter.
Click on ABAP. The coding logic of the implementation will be visible
25
Master Data |
Copyright IBM Corporation 2009
IBM Global Business Services
Function Group Enhancement
Function modules can be enhanced by adding parameters to the standard function module interface The parameters must be optional in nature, since if a mandatory parameter is added, then all calls will need to get altered
From the menu, choose Function module -> Enhance interface to add optional parameters to a function module
One thing to be noted, any function module that is part of the Central Basis cannot be enhanced (for example: function module REUSE_ALV_GRID_DISPLAY)
Copyright IBM Corporation 2009
IBM Global Business Services
Class Enhancement
The global Classes and Interfaces can be enhanced as follows: Optional parameters can be added to existing Methods New Methods can be added to the global Class / Interface Pre-exit, Post-exit or Overwrite-exit can be added to an existing Method The Pre and Post exits get executed before and after invoking the respective method. An automatically generated local class stores all the methods. To enhance a class, more specifically, to add new methods or parameters, menu path is Class -> Enhance
To add or delete the Pre/Post/Overwrite exit methods, menu option is Edit -> Enhancement operations.
Copyright IBM Corporation 2009
IBM Global Business Services
Kernel-BADI Enhancement
An improvement in old classic-BADI Kernel-BADI is faster than old classic BADI The old classic BADIs definition and implementation are achieved at the ABAP workbench level (global classes and interfaces ). The new Kernel-BADI takes it to the ABAP language level. To implement kernel BADI An Enhancement Spot is needed to hold the BADI definitions. Again the BADI implementations must also be assigned to Enhancement Implementations. The BADI definition and implementation editors are integrated into SE80.
28
Master Data |
Copyright IBM Corporation 2009
IBM Global Business Services
SUMMARY
Though this technology gives more control to user, but if not used properly, it can lead to disorder. As more options are available, user should not make over-use of it.
29
Master Data |
Copyright IBM Corporation 2009
IBM Global Business Services
THANK YOU
Copyright IBM Corporation 2009