Wednesday, January 8, 2014

TAW12 BUSSINESS ADD INS

BUSSINESS ADD INS: OVERVIEW DIAGRAM


As an application programmer, you can use business add-ins to create enhancements in customer namespace. All enhancement types, such as program exit, menu exit, and screen exit, can be created using BAdIs. In fact, the key feature of a BAdI is its reusability.

BUSSINESS ADD INS: ADVANTAGES

Earlier enhancement techniques had some serious limitations:
  Customer exits in these enhancements did not allow multiple uses.

  No enhancements were available at program, screen, or menu level.

  Administration level enhancements for business transaction events were insufficient.

New enhancement techniques had to address these deficiencies. BAdIs allow you to create all enhancement types. The key feature of a BAdI being its reusability, you stand to reap certain advantages:
  Multiple usage or reusability

  Possibility of all enhancement types, such as program, menu, and screen exits

  Administration level enhancements

Use of the latest technology


SOFTWARE DELIVERY PROCESS


Previously enhancements were delivered directly to the customer. However, with the introduction of BAdIs, the implementation is a three-step process. This is because, for a BAdI to be executed, the implementation class and the service class need to be identified in the system.

BUSSINESS ADD-INS: ARCHITECTURE


A prerequisite for creating BAdIs is the availability of an enhancement option in an SAP application program. Additionally, there must be a BAdI class and an interface that implements it. The interface is implemented at the customer site.

BUSSINESS ADD-INS: COMPONENTS


Each BAdI includes a range of enhancement components, such as a program exit, menu exit, or a screen exit. When a BAdI is created, a BAdI interface and a generated class that implements the interface is automatically created. The generated class performs various tasks, such as filtering and control. The first task is performed so that only the relevant implementations are called. Similarly, the second task is carried out to call the active implementations.

BUSSINESS ADD-INS: FLOW OF A PROGRAM EXIT


This slide illustrates the process flow of a program that calls a BAdI. When a Business Add-In is defined, the system automatically generates a BAdI class that implements the interface. Then the interface method of the BAdI class is called. The BAdI class searches for all of the active implementations of the Business Add-In and calls the implemented methods.

BUSSINESS ADD-INS: CALL SYNTAX IN SAP PROGRAM



You need to define a reference variable that refers to the BAdI interface to call a Business Add-In. An object reference is created using the CALL METHOD statement which creates an instance of the generated BAdI class. By using this object reference, you can call the required methods.

FINDING A BUSSINESS ADD-IN

You can search a Business Add-In using the menu path: System → Status → program name (double-click) → Search for CL_EXITHANDLER String.
You can also define Business Add-In by forward navigation. The definition contains documentation and a guide for Business Add-In implementation. You can use the Repository Information System to search for a BAdI.

IMPLEMENTING BUSSINESS ADD-INS: INTRODUCTION

The transaction code SE19 is used to implement a Business Add-In. You can view the screen shown here by using this transaction. Then you need to enter a name for BAdI and click Create.

IMPLEMENTING BUSSINESS ADD-INS: METHODS


In order to implement Business Add-Ins, you need to specify the name of the implementing class. However, the class name should follow proper naming conventions. Then, you can double-click the method name to define its implementation part in the class builder. Similarly, you need to click the signature button to display the methods interface.

IMPLEMENTING BUSSINESS ADD-INS: PRIVATE METHODS


You can use the CALL METHOD statement to create private methods in the interface class. The private method can be called from the interface method.

IMPLEMENTING BADIs: ACTIVITING IMPLEMENTATIONS



You can click the Activate icon to activate the implementations of a Business Add-In. Whenever the BAdIs are called; the methods in the implementation are executed. However, if the user deactivates the implementation, the methods will no longer be called.


BUSSINESS ADD-INS: MENU EXITS (OVERVIEW)



Menu enhancements can be created using Business Add-Ins. As a user, you can add Customer Fcn function in the menu options. However, the menu enhancements must be pre-planned and should be implemented inside the BAdI implementation.

BUSSINESS ADD-INS: MENU EXITS (SAP PREPARATION)



As shown here, function codes of menu enhancements begin with a plus sign ’+’. The added menu item is displayed only if the implementation is active.

BUSSINESS ADD-INS: MENU EXITS (FUNCTION CODE PROCESSING)



The corresponding code for the menu option is declared inside the CASE statement. However, the function code should begin with the plus sign ‘+’.

BUSSINESS ADD-INS: MENU EXITS (RESTRICTIONS)


The function codes specified in a menu exit for a BAdI are available for single use. You can avoid conflicts between different BAdI implementations by ensuring they are neither filter-dependent nor reusable.

EXTENDIBLE FILTER TYPES: PREREQUISITES



The filter type property of a BAdI has an extendible attribute. This attribute can be utilized if the domain of extendible filter type has these properties:
  The domain must be linked to a cross-client value table. The value table should have exactly one key field, which has the data element of the filter type as its field type.

  The domain must have a text table with two key fields. One key field has the filter type as its field type, and the second key field has language as its field type.

  The delivery class of both tables must be E or S.

DEFAULT IMPLEMENTATION


If an active implementation is present, it is executed. However, if an active implementation is unavailable a default implementation is executed. The default implementation is created by the enhancement provider.


COMPARISON WITH OTHER ENHANCEMENT TECHNIQUES


Business Add-Ins are an extension of conventional enhancement techniques. BAdIs are both filter specific and reusable as compared to customer exits. It is possible to append fields on screens with restrictions using BAdIs.

NAMING CONVENTIONS (BADI DEFINITION)



As a user, you must comply with these naming conventions for BAdI definitions:
  The name of a BAdI must begin with <badi> or z<badi>

  The name of the BAdI interface must begin with IF or ZIF as shown here.

  Any name can be specified for a BAdI method.

  The name of a BAdI adapter class must begin with CL or ZCL.

NAMING CONVENTIONS (BADI IMPLEMENTATIONS)



You must comply with these naming conventions for BAdI implementations:
  The name of a BAdI implementation must begin with <impl> or z<impl>

  The name of the BAdI interface must begin with IF or ZIF as shown.

  The method defined in BAdI definition is implemented.

  The name of a BAdI implementing class must begin with CL_IM OR ZCL_IM.

6 comments:

  1. Longmont Furnace Repair is your one stop Furnace and Air Conditioner Repair company on the Front Range. Located in Longmont, CO. Give a call today!
    Source: Furnace Repair Longmont

    ReplyDelete
  2. Small works electrician for houses and flats in Bristol and Bath.
    Source: Electrician Bristol

    ReplyDelete
  3. CoachTube provides online tutorial programs to understand how exactly to trainer soccer having prime basketball training films by foremost experts.
    Source: Football coaching Videos

    ReplyDelete
  4. The Functions look for Start your Squarespace in to the stratosphere - SpaceDevs.
    Source: Squarespace Plugins

    ReplyDelete
  5. A round of applause for your blog.Really thank you! Fantastic. convertmilitarytime

    ReplyDelete
  6. Thank you because you have been willing to share information with us. we will always appreciate all you have done here because I know you are very concerned with our. Managed IT Services Canada

    ReplyDelete