BAdI Custom Logic Implementation
A Business Add-In (BAdI) is an SAP extensibility mechanism that allows developers to implement custom logic at predefined enhancement spots within standard SAP applications. Developers use BAdIs to extend or modify standard application behavior — such as performing validation checks on a purchase requisition or controlling field behavior — without modifying the original SAP code. BAdI implementations can be created and debugged within environments like the S/4HANA Cloud ABAP Environment, and can also be configured through key user extensibility tooling.
Tutorials that teach this
- Tutorial Implement a Field Control Using a Business Add-in (`BAdI`)
- Tutorial Create and Debug a BAdI Implementation in S/4HANA Cloud ABAP Environment
- Tutorial Create Custom Logic Using Key User Extensibility and Perform Trace
- Tutorial Implement a Business Add-in (`BAdI`) To Check a Purchase Requisition
Docs explaining this concept
Prerequisites
- Concept Purchase Order Management A mechanism in SAP that allows key users to add or modify business logic in applications without requiring developer-level access or transport requests. Developers use it to expose extension points in their applications where key users can implement custom rules and conditions through a dedicated tooling environment. This supports adaptability of SAP solutions to specific business requirements while keeping core code stable.
- Concept ABAP Key User Custom Logic The concept name was not provided (marked as "undefined"), and the supplied sources do not converge on a single, clearly named concept — they reference both the deprecated [Custom Logic](https://help.sap.com/docs/btp/sap-business-technology-platform/05880c7b292b447bbd4d244a666b261b?locale=en-US&state=PRODUCTION&version=Cloud) app and [Creating Custom Code](https://help.sap.com/docs/btp/sap-business-technology-platform/8f62c414203546faa96542ad723f932e?locale=en-US&state=PRODUCTION&version=Cloud) via the ABAP Cloud Editor. Without a defined concept name or sufficient source detail to distinguish and describe a single concept accurately, a grounded definition cannot be produced. Please provide the concept name and fuller source snippets.
- Concept BAdI-Based Extensibility in ABAP The concept name was not provided, making it impossible to write an accurate, grounded definition. Please supply the concept name so a precise definition can be crafted based on the available source material.
- Concept ABAP Key User Keywords ABAP Key User Keywords are the subset of ABAP language statements available to key users when writing logic in [ABAP for Key Users](https://help.sap.com/docs/btp/sap-business-technology-platform/200407172e25410598fac2e972a1a299?locale=en-US&state=PRODUCTION&version=Cloud), a restricted variant of ABAP designed for in-app extensibility on SAP BTP. Developers and key users reference these keywords to understand which [statements are supported](https://help.sap.com/docs/btp/sap-business-technology-platform/7a26056edba1419ebdfae044f47a0c46?locale=en-US&state=PRODUCTION&version=Cloud) when implementing custom business logic without requiring a full ABAP development environment. The available keywords represent a curated, safe set of ABAP constructs suited to extending standard SAP applications within defined boundaries.
- Concept ABAP Class Definition and Implementation The concept name is not defined in the provided sources, so a precise label cannot be confirmed. Based on the available snippets, **ADT Class Execution** is a capability that allows developers to [execute ABAP classes directly in ABAP Development Tools (ADT)](https://help.sap.com/docs/btp/sap-business-technology-platform/6f0e26492b854627ac19a9a34205a546?locale=en-US&state=PRODUCTION&version=Cloud) without additional setup steps. Separately, the XCO library provides APIs for [reading a class](https://help.sap.com/docs/btp/sap-business-technology-platform/bc23e26f236042c48171d850e82843b9?locale=en-US&state=PRODUCTION&version=Cloud) programmatically, enabling developers to inspect class definitions such as `zcl_xco_doc_cp_cs_class` at runtime.
- Concept ABAP Programming Fundamentals The provided sources do not contain enough information to write a grounded definition for an undefined concept. The [ABAP Keyword Documentation](https://help.sap.com/docs/btp/sap-business-technology-platform/1632c79dd98f4bc2a314fd5009238fce?locale=en-US&state=PRODUCTION&version=Cloud) describes the syntax and meaning of ABAP language elements, but no specific concept name or supporting detail was supplied. Please provide a valid concept name and relevant source snippets so an accurate definition can be written.
- Concept BAdI Definition A **BAdI Definition** (Business Add-In Definition) is an ABAP development object that a developer creates to expose a predefined extension point in their application, allowing other developers to plug in custom business logic. After creating the definition, the developer must [release it](https://help.sap.com/docs/btp/sap-business-technology-platform/a20fc0325af3437da551796de004764f?locale=en-US&state=PRODUCTION&version=Cloud) to maintain the appropriate release status for the development object, and [register it](https://help.sap.com/docs/btp/sap-business-technology-platform/7661c4b18eb44be18e86edee9c3af482?locale=en-US&state=PRODUCTION&version=Cloud) to make it available in the Custom Logic tooling.
- Concept BAdI Enhancement Spot A **BAdI (Business Add-In)** is an SAP enhancement technology that allows developers to add custom logic to predefined points in standard SAP applications without modifying the original source code. Developers define a BAdI within an [enhancement spot](https://help.sap.com/docs/btp/sap-business-technology-platform/89f1e124980c4d6eba2a03569593e175?locale=en-US&state=PRODUCTION&version=Cloud) and then [register the BAdI definition](https://help.sap.com/docs/btp/sap-business-technology-platform/7661c4b18eb44be18e86edee9c3af482?locale=en-US&state=PRODUCTION&version=Cloud) to make it available in the Custom Logic tooling. Practical use cases include implementing checks on business documents such as purchase requisitions, or controlling field behavior through custom implementations.