SAP – Customer Case Design

In SAP, Customer Case Designs (Customer Exits) refer to predefined hooks or extension points that allow customers to add custom functionality to standard SAP programs and processes without modifying the core SAP code. These exits are typically used to enhance SAP standard functionality to meet specific business needs without compromising the upgrade path or supportability of the system.

Types of Customer Exits

  1. Menu Exits: These allow customers to add custom entries to the SAP GUI menus, such as adding new options or modifying existing ones.
  2. Function Module Exits (or Transaction Exits): These are predefined function modules provided by SAP where customers can insert their own code to enhance standard processes. These function modules are typically called during the execution of a transaction or process.
  3. Screen Exits: Screen exits enable customers to add additional fields or screens to SAP’s standard user interfaces. These can be used to gather additional input from users or display additional data that isn’t part of the standard SAP transaction.
  4. Field Exits: These allow for the enhancement of field-level functionality by defining specific logic that gets executed when a field is populated or changed. For example, you can use a field exit to implement custom validation or conversion logic for data entry in a field.
  5. BAdIs (Business Add-Ins): Business Add-Ins are more advanced and flexible than customer exits. They allow for more specific, modular enhancements and are often used as the preferred method for extending SAP functionality. BAdIs are defined in the SAP system, and you can implement them in specific places where business processes need custom logic.

Key Features of Customer Exits

  • No modification of standard code: Customer Exits allow customizations without changing SAP’s delivered code, which helps maintain the ability to upgrade SAP to newer versions.
  • SAP provided extension points: SAP offers pre-configured exit points where customers can insert their own logic.
  • Functionality: They enable enhancements such as validation checks, custom field additions, processing logic, etc., that are specific to the customer’s business processes.

Implementation Process

  1. Find Available Exits: Identify the relevant customer exit points for the SAP transaction or program you want to enhance. This can be done using transaction SMOD (for function exits) or CMOD (for projects related to customer exits).
  2. Create a Project: In CMOD, you can create a project and then add the necessary customer exits to this project.
  3. Write the Custom Code: After identifying the exit, implement your logic using ABAP (Advanced Business Application Programming).
  4. Activate the Project: After writing the custom code, activate the project, and it will be called during the relevant SAP transaction or process.
  5. Testing: Perform thorough testing to ensure that the custom logic works as intended and does not interfere with standard SAP functionality.

Example Use Cases

  • Custom Validation: A customer may want to add a custom validation check when a user enters data in a specific field, like validating the format of a phone number in a customer master record.
  • Dynamic Pricing Logic: Adding custom logic to SAP’s pricing procedure where the pricing depends on factors outside the standard SAP configuration.
  • Custom Fields in Transactions: Displaying additional fields on a sales order or purchase order screen for tracking non-standard information.

Customer Exit vs. BAdI

  • Customer Exits: These are typically older, less flexible, and may be limited in terms of customization options.
  • BAdIs: Introduced later, BAdIs are more flexible and modular, allowing for multiple implementations (for example, one implementation for one client and a different implementation for another).

In summary, SAP Customer Exits are used to adapt SAP functionality to unique business requirements, allowing custom code execution at defined points in standard processes. While BAdIs are preferred for more complex or flexible enhancements, Customer Exits remain a useful method for adding small, specific customizations.

Scroll to Top