SAP FTGL_CUSTOMIZING Function Module for Feature toggle customization module
FTGL_CUSTOMIZING is a standard ftgl customizing SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Feature toggle customization module processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for ftgl customizing FM, simply by entering the name FTGL_CUSTOMIZING into the relevant SAP transaction such as SE37 or SE38.
Function Group: FG_FEATURE_ACTIVATION
Program Name: SAPLFG_FEATURE_ACTIVATION
Main Program: SAPLFG_FEATURE_ACTIVATION
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Remote-Enabled
Update:

Function FTGL_CUSTOMIZING pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'FTGL_CUSTOMIZING'"Feature toggle customization module.
EXPORTING
IV_FEATURE_ID = "Feature Toggle ID
IV_TENANT_ID = "Tenant ID
IV_CUSTOMIZATION = "Feature Toggle Customizing Options
IV_STRATEGY = "Release Strategy for Feature Toggle
IMPORTING
EV_RETURN = "
EXCEPTIONS
FEATURE_ID_CANNOT_BE_NULL = 1 BETA_CANNOT_BE_CUSTOMIZED = 10 RELEASED_CANNOT_BE_CUSTOMIZED = 11 DEF_ADOP_CANNOT_BE_CUSTOMIZED = 12 ONLY_PHASED_ROLLOUT_SUPPORTED = 13 FEATURE_ACTIVATED_SYSTEM_WIDE = 14 SCOPE_ITEM_ACTIVATION_FAILED = 15 BU_CAT_TABLE_DOES_NOT_EXIST = 16 BRT_TABLE_DOES_NOT_EXIST = 17 CSCN_TABLE_DOES_NOT_EXIST = 18 DEF_ADOP_CANNOT_BE_DEACTIVATED = 19 TENANT_ID_CANNOT_BE_NULL = 2 FEATURE_TOGGLE_ALREADY_ACTIVE = 20 FEATURE_TOGGLE_ALREADYINACTIVE = 21 FEATURE_TOGGLE_IS_NOT_ACTIVE = 22 CUSTOMIZING_CANNOT_BE_NULL = 3 INVALID_CUSTOMIZING = 4 FEATURE_TOGGLE_NOT_EXISTS = 5 FEATURE_INVALID_CUSTOMIZATION = 6 AUTHIORIZATION_MISSING = 7 STRATEGY_CANNOT_BE_NULL = 8 INDEV_CANNOT_BE_CUSTOMIZED = 9
IMPORTING Parameters details for FTGL_CUSTOMIZING
IV_FEATURE_ID - Feature Toggle ID
Data type: SFTGL_FT_IDOptional: No
Call by Reference: No ( called with pass by value option)
IV_TENANT_ID - Tenant ID
Data type: FTGL_S_CUST_DETAIL-CLIENTOptional: No
Call by Reference: No ( called with pass by value option)
IV_CUSTOMIZATION - Feature Toggle Customizing Options
Data type: FTGL_CUSTOMIZING_OPTIONSOptional: No
Call by Reference: No ( called with pass by value option)
IV_STRATEGY - Release Strategy for Feature Toggle
Data type: FTGL_STRATEGYOptional: No
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for FTGL_CUSTOMIZING
EV_RETURN -
Data type: STRINGOptional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
FEATURE_ID_CANNOT_BE_NULL - Feature ID is mandatory
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
BETA_CANNOT_BE_CUSTOMIZED - Beta Testing feature cannot be customized
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
RELEASED_CANNOT_BE_CUSTOMIZED - Released feature cannot be customized
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DEF_ADOP_CANNOT_BE_CUSTOMIZED - Deferred adoption feature cannot be customized
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ONLY_PHASED_ROLLOUT_SUPPORTED - Phased Rollout Strategy is only allowed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FEATURE_ACTIVATED_SYSTEM_WIDE - Feature toggle is already activated System wide
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
SCOPE_ITEM_ACTIVATION_FAILED - Scope Item Activation failed
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
BU_CAT_TABLE_DOES_NOT_EXIST - Business Catalog table does not exist
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
BRT_TABLE_DOES_NOT_EXIST - Business Role Template table does not exist
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
CSCN_TABLE_DOES_NOT_EXIST - Communication Scenario table does not exist
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DEF_ADOP_CANNOT_BE_DEACTIVATED - Deferred adoption feature cannot be deactivated
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
TENANT_ID_CANNOT_BE_NULL - Tenant ID is mandatory
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FEATURE_TOGGLE_ALREADY_ACTIVE - Feature toggle is already activated
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FEATURE_TOGGLE_ALREADYINACTIVE - Feature toggle is already deactivated
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FEATURE_TOGGLE_IS_NOT_ACTIVE - Feature toggle is not active
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
CUSTOMIZING_CANNOT_BE_NULL - Customization field is mandatory
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INVALID_CUSTOMIZING - Only Activation or De-activation possible
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FEATURE_TOGGLE_NOT_EXISTS - Feature toggle does not exist in this system
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FEATURE_INVALID_CUSTOMIZATION - Feature toggle cannot be customized
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
AUTHIORIZATION_MISSING - Authorization to activate feature toggle missing
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
STRATEGY_CANNOT_BE_NULL - Feature Toggle Activation strategy is mandatory
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INDEV_CANNOT_BE_CUSTOMIZED - In Development feature cannot be customized
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for FTGL_CUSTOMIZING Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_ev_return | TYPE STRING, " | |||
| lv_iv_feature_id | TYPE SFTGL_FT_ID, " | |||
| lv_feature_id_cannot_be_null | TYPE SFTGL_FT_ID, " | |||
| lv_beta_cannot_be_customized | TYPE SFTGL_FT_ID, " | |||
| lv_released_cannot_be_customized | TYPE SFTGL_FT_ID, " | |||
| lv_def_adop_cannot_be_customized | TYPE SFTGL_FT_ID, " | |||
| lv_only_phased_rollout_supported | TYPE SFTGL_FT_ID, " | |||
| lv_feature_activated_system_wide | TYPE SFTGL_FT_ID, " | |||
| lv_scope_item_activation_failed | TYPE SFTGL_FT_ID, " | |||
| lv_bu_cat_table_does_not_exist | TYPE SFTGL_FT_ID, " | |||
| lv_brt_table_does_not_exist | TYPE SFTGL_FT_ID, " | |||
| lv_cscn_table_does_not_exist | TYPE SFTGL_FT_ID, " | |||
| lv_def_adop_cannot_be_deactivated | TYPE SFTGL_FT_ID, " | |||
| lv_iv_tenant_id | TYPE FTGL_S_CUST_DETAIL-CLIENT, " | |||
| lv_tenant_id_cannot_be_null | TYPE FTGL_S_CUST_DETAIL, " | |||
| lv_feature_toggle_already_active | TYPE FTGL_S_CUST_DETAIL, " | |||
| lv_feature_toggle_alreadyinactive | TYPE FTGL_S_CUST_DETAIL, " | |||
| lv_feature_toggle_is_not_active | TYPE FTGL_S_CUST_DETAIL, " | |||
| lv_iv_customization | TYPE FTGL_CUSTOMIZING_OPTIONS, " | |||
| lv_customizing_cannot_be_null | TYPE FTGL_CUSTOMIZING_OPTIONS, " | |||
| lv_iv_strategy | TYPE FTGL_STRATEGY, " | |||
| lv_invalid_customizing | TYPE FTGL_STRATEGY, " | |||
| lv_feature_toggle_not_exists | TYPE FTGL_STRATEGY, " | |||
| lv_feature_invalid_customization | TYPE FTGL_STRATEGY, " | |||
| lv_authiorization_missing | TYPE FTGL_STRATEGY, " | |||
| lv_strategy_cannot_be_null | TYPE FTGL_STRATEGY, " | |||
| lv_indev_cannot_be_customized | TYPE FTGL_STRATEGY. " |
|   CALL FUNCTION 'FTGL_CUSTOMIZING' "Feature toggle customization module |
| EXPORTING | ||
| IV_FEATURE_ID | = lv_iv_feature_id | |
| IV_TENANT_ID | = lv_iv_tenant_id | |
| IV_CUSTOMIZATION | = lv_iv_customization | |
| IV_STRATEGY | = lv_iv_strategy | |
| IMPORTING | ||
| EV_RETURN | = lv_ev_return | |
| EXCEPTIONS | ||
| FEATURE_ID_CANNOT_BE_NULL = 1 | ||
| BETA_CANNOT_BE_CUSTOMIZED = 10 | ||
| RELEASED_CANNOT_BE_CUSTOMIZED = 11 | ||
| DEF_ADOP_CANNOT_BE_CUSTOMIZED = 12 | ||
| ONLY_PHASED_ROLLOUT_SUPPORTED = 13 | ||
| FEATURE_ACTIVATED_SYSTEM_WIDE = 14 | ||
| SCOPE_ITEM_ACTIVATION_FAILED = 15 | ||
| BU_CAT_TABLE_DOES_NOT_EXIST = 16 | ||
| BRT_TABLE_DOES_NOT_EXIST = 17 | ||
| CSCN_TABLE_DOES_NOT_EXIST = 18 | ||
| DEF_ADOP_CANNOT_BE_DEACTIVATED = 19 | ||
| TENANT_ID_CANNOT_BE_NULL = 2 | ||
| FEATURE_TOGGLE_ALREADY_ACTIVE = 20 | ||
| FEATURE_TOGGLE_ALREADYINACTIVE = 21 | ||
| FEATURE_TOGGLE_IS_NOT_ACTIVE = 22 | ||
| CUSTOMIZING_CANNOT_BE_NULL = 3 | ||
| INVALID_CUSTOMIZING = 4 | ||
| FEATURE_TOGGLE_NOT_EXISTS = 5 | ||
| FEATURE_INVALID_CUSTOMIZATION = 6 | ||
| AUTHIORIZATION_MISSING = 7 | ||
| STRATEGY_CANNOT_BE_NULL = 8 | ||
| INDEV_CANNOT_BE_CUSTOMIZED = 9 | ||
| . " FTGL_CUSTOMIZING | ||
ABAP code using 7.40 inline data declarations to call FM FTGL_CUSTOMIZING
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single CLIENT FROM FTGL_S_CUST_DETAIL INTO @DATA(ld_iv_tenant_id). | ||||
Search for further information about these or an SAP related objects