PackagePackagetypeA library you install and call yourself.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

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

Last pushLicenceBSD-2-Clause

Where it sits

Lives in
Provides
Feature togglesABAPFeature togglescapabilityTurning behaviour on and off per tenant or per user at runtime, without redeploying, and knowing which toggles are live. System-level switches for delivered objects and runtime flags for unfinished features share the name.
Requires
abapGitabapGitartifactChecking out the /src/abap/ subfolder into the system; the README lists it among the requirements and as step one of installing the ABAP backend.

Who is behind it

BTC Business Technology Consulting AGBTC Business Technology Consulting AGOrganisationMaintains this
In the atlas: maintains 1
@btc-ag
maintainerBTCAGPersonContributes to this
In the atlas: contributes to 1
@BTCAG
Johannes KoningsPersonContributes to this
In the atlas: contributes to 7
@JohannesKonings
Lars HvamPersonContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1
@larshp
3 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

Connections2

README

quoted from btc-ag/Featuretoggle under BSD-2-Clause, read
btc-ag/Featuretoggle/README.mdOn GitHub

Featuretoggle

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.

Featuretoggle Gui

Requirements

  • SAP 7.4
  • abapGit
  • Eclipse + UI5/ADT Tools

How to run it?

  1. Create a new ABAP class which inherits the class z_sy_feature (see examples/z_xx_feature.abap).
  2. Define new feature via class attribute
  3. Toggle feature via the transaktion z_sy_feature (opens UI5 frontend)
  4. 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
  1. Checkout/clone subfolder /src/abap/ via abapGit
  2. Check transaction SICF if node /default_host/sap/bc/sy_feature was created
  3. Activate node /default_host/sap/bc/sy_feature
  4. Check if feature is enabled by checking if z_sy_feature=>feature_xx = abap_true
Installation UI5 Frontend
  1. Checkout/clone subfolder /src/ui5/
  2. Import project into Eclipse
    • choose File->Import->Existing Projects into Workspace
    • choose cloned project folder
    • import project
  3. 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)
  4. Deploy UI5 App to your SAP-System
    • right click the project and choose Team->Submit
    • select all objects
    • click finish
BSD-2-Clause, read
Feature toggles
  1. SAP Feature Flags serviceBoolean and string flags read by applications at runtimefrom BTP/BAIP
  2. com.sap.cds:cds-services-bomMaven bill of materials pinning CAP Java module versionsfrom CAP
  3. @cap-js-community/feature-toggle-libraryLive-updatable feature toggles for CAP, backed by Redisfrom CAP
  4. abap-feature-toggleFeature toggle for ABAP read via is_active on view ZFEAT_TOGGLEfrom ABAP
  5. @sap/cds-mtxsMultitenancy, tenant provisioning and extensibility for CAPfrom CAP
  6. cds-feature-toggleFeature-toggle pattern for CAP CDSfrom CAP

Details

Sources3
dotabapdiscovered herechecked
github.com/btc-ag/Featuretoggletree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viadotabap
first seen in the atlas
ecosystem and domainabap, operations-and-runtime
abaplint
issues under its own abaplint configuration337
lines880
statements505
objects18
files19
analysed, master
abaplint version2.120.84
Flavors1
Standard ABAP
“## Requirements * SAP 7.4 * [abapGit](https://github.com/larshp/abapGit) * Eclipse + UI5/ADT Tools” — btc-ag/Featuretoggle — README, Requirementschecked
Contributors3

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:btc-ag-featuretoggle
JSON
/artifacts/btc-ag-featuretoggle.json
MCP
Connecting an agent