Featuretoggle
A feature toggle framework for ABAP that ships an unfinished feature to production deactivated: toggles declared as class attributes, branched on in code and switched in a UI5 GUI.
A class inherits from z_sy_feature and declares a toggle as a class attribute; code checks it by testing whether z_sy_feature=>feature_xx is abap_true and branching on the answer. That is what the framework is for: continuously delivering a potentially unfinished feature into the production system in a deactivated state. The repository ships both halves: the ABAP backend, installed from /src/abap/ with an ICF node to activate, and a UI5 frontend deployed as its own BSP application and opened through transaction z_sy_feature, which is where a toggle is flipped.
Facts
Where it sits
Who is behind it
In the atlas: maintains 1@btc-agmaintainerBTCAGContributes to this
In the atlas: contributes to 1@BTCAGJohannes KoningsContributes to this
In the atlas: contributes to 7@JohannesKoningsLars HvamContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1@larshp3 contributors
Before choosing this
Signals
ActivityQuietNo published releases; repository quiet for 101 months
It publishes no releases, and its repository has been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
Conditions
PracticalFunctional boundary
Not where a toggle is meant to be switched on in a production system: the maintainer warns that features should never be enabled in a production system.
What it declares
Every artifact
- Type
- Package
- Origin
- Independently maintained
As a package
- Where it runs
- Inside its host
- Distributed through
- abapGit
Connections
Turning behaviour on and off per tenant or user at runtime
Git client written in ABAP that runs inside the system
Download
README
quoted from btc-ag/Featuretoggle under BSD-2-Clause, readFeaturetoggle
A simple, lightweight feature toggle framework for ABAP
What is it?
With this framework you can toggle features in ABAP-Code at runtime. This enables you to continuously deliver (potentially unfinished) Features in a deactivated state into the production system. This repository includes the ABAP backend and a UI5 GUI to manage toggle states.

Requirements
- SAP 7.4
- abapGit
- Eclipse + UI5/ADT Tools
How to run it?
- Create a new ABAP class which inherits the class
z_sy_feature(see examples/z_xx_feature.abap). - Define new feature via class attribute
- Toggle feature via the transaktion
z_sy_feature(opens UI5 frontend) - Check if feature is enabled by checking if
z_sy_feature=>feature_xx = abap_true
⚠️ Features should never be enabled in production system!
Examples
see /examples
ToDo
- Change repository structure for easy cloning
- Import UI5-GUI via abapGit
Installation
Install ABAP Backend
- Checkout/clone subfolder /src/abap/ via abapGit
- Check transaction
SICFif node/default_host/sap/bc/sy_featurewas created - Activate node
/default_host/sap/bc/sy_feature - Check if feature is enabled by checking if
z_sy_feature=>feature_xx = abap_true
Installation UI5 Frontend
- Checkout/clone subfolder
/src/ui5/ - Import project into Eclipse
- choose File->Import->Existing Projects into Workspace
- choose cloned project folder
- import project
- Link projekt to a new BSP-Container in your SAP-System
- right click the newly created project and choose Team->Share Project
- choose SAPUI5 ABAP Repository
- choose the connection to your SAP-System
- choose "Create a new BSP Application" and fill out the required fields (name must be
z_sy_feature)
- Deploy UI5 App to your SAP-System
- right click the project and choose Team->Submit
- select all objects
- click finish
Others providing
Compare all 2 on the Feature toggles page →- abap-feature-toggleabap-feature-toggleA feature toggle for ABAP: a toggle is an entry on the view ZFEAT_TOGGLE, switched there rather than by a deployment, and code reads its state with is_active.independent, abapFeature toggle for ABAP read via is_active on view ZFEAT_TOGGLE
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Flavors
“## Requirements * SAP 7.4 * [abapGit](https://github.com/larshp/abapGit) * Eclipse + UI5/ADT Tools” — btc-ag/Featuretoggle — README, Requirements
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:btc-ag-featuretoggle- JSON
- /artifacts/btc-ag-featuretoggle.json
- MCP
- Connecting an agent