diff --git a/src/objects/zcl_abapgit_objects_activation.clas.abap b/src/objects/zcl_abapgit_objects_activation.clas.abap
index 468088f72..5c962df19 100644
--- a/src/objects/zcl_abapgit_objects_activation.clas.abap
+++ b/src/objects/zcl_abapgit_objects_activation.clas.abap
@@ -183,13 +183,12 @@ CLASS ZCL_ABAPGIT_OBJECTS_ACTIVATION IMPLEMENTATION.
METHOD activate_old.
- DATA: lv_popup TYPE abap_bool.
+ DATA: lv_popup TYPE abap_bool,
+ li_gui TYPE REF TO zif_abapgit_gui_functions.
IF gt_objects IS NOT INITIAL.
- CALL FUNCTION 'GUI_IS_AVAILABLE'
- IMPORTING
- return = lv_popup.
+ lv_popup = zcl_abapgit_ui_factory=>get_gui_functions( )->gui_is_available( ).
CALL FUNCTION 'RS_WORKING_OBJECTS_ACTIVATE'
EXPORTING
diff --git a/src/objects/zif_abapgit_gui_functions.intf.abap b/src/objects/zif_abapgit_gui_functions.intf.abap
new file mode 100644
index 000000000..cc02d52cc
--- /dev/null
+++ b/src/objects/zif_abapgit_gui_functions.intf.abap
@@ -0,0 +1,9 @@
+INTERFACE zif_abapgit_gui_functions
+ PUBLIC .
+
+ METHODS:
+ gui_is_available
+ RETURNING
+ VALUE(rv_gui_is_available) TYPE abap_bool.
+
+ENDINTERFACE.
diff --git a/src/objects/zif_abapgit_gui_functions.intf.xml b/src/objects/zif_abapgit_gui_functions.intf.xml
new file mode 100644
index 000000000..65aba72bd
--- /dev/null
+++ b/src/objects/zif_abapgit_gui_functions.intf.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ZIF_ABAPGIT_GUI_FUNCTIONS
+ 1
+ E
+ GUI functions
+ 2
+ 1
+ X
+
+
+
+
diff --git a/src/ui/zcl_abapgit_gui_functions.clas.abap b/src/ui/zcl_abapgit_gui_functions.clas.abap
new file mode 100644
index 000000000..9c0170972
--- /dev/null
+++ b/src/ui/zcl_abapgit_gui_functions.clas.abap
@@ -0,0 +1,23 @@
+CLASS zcl_abapgit_gui_functions DEFINITION
+ PUBLIC
+ CREATE PUBLIC .
+
+ PUBLIC SECTION.
+ INTERFACES:
+ zif_abapgit_gui_functions.
+
+ENDCLASS.
+
+
+
+CLASS zcl_abapgit_gui_functions IMPLEMENTATION.
+
+ METHOD zif_abapgit_gui_functions~gui_is_available.
+
+ CALL FUNCTION 'GUI_IS_AVAILABLE'
+ IMPORTING
+ return = rv_gui_is_available.
+
+ ENDMETHOD.
+
+ENDCLASS.
diff --git a/src/ui/zcl_abapgit_gui_functions.clas.xml b/src/ui/zcl_abapgit_gui_functions.clas.xml
new file mode 100644
index 000000000..a256ceae4
--- /dev/null
+++ b/src/ui/zcl_abapgit_gui_functions.clas.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ ZCL_ABAPGIT_GUI_FUNCTIONS
+ 1
+ E
+ GUI function modules
+ 2
+ 1
+ X
+ X
+ X
+
+
+
+
diff --git a/src/ui/zcl_abapgit_ui_factory.clas.abap b/src/ui/zcl_abapgit_ui_factory.clas.abap
index f8995fe4a..1c4ed4d76 100644
--- a/src/ui/zcl_abapgit_ui_factory.clas.abap
+++ b/src/ui/zcl_abapgit_ui_factory.clas.abap
@@ -11,36 +11,52 @@ CLASS zcl_abapgit_ui_factory DEFINITION
get_tag_popups
RETURNING
- VALUE(ri_tag_popups) TYPE REF TO zif_abapgit_tag_popups.
+ VALUE(ri_tag_popups) TYPE REF TO zif_abapgit_tag_popups,
+
+ get_gui_functions
+ RETURNING
+ VALUE(ri_gui_functions) TYPE REF TO zif_abapgit_gui_functions.
PRIVATE SECTION.
CLASS-DATA:
- mi_popups TYPE REF TO zif_abapgit_popups,
- mi_tag_popups TYPE REF TO zif_abapgit_tag_popups.
+ gi_popups TYPE REF TO zif_abapgit_popups,
+ gi_tag_popups TYPE REF TO zif_abapgit_tag_popups,
+ gi_gui_functions TYPE REF TO zif_abapgit_gui_functions.
ENDCLASS.
-
CLASS zcl_abapgit_ui_factory IMPLEMENTATION.
METHOD get_popups.
- IF mi_popups IS INITIAL.
- CREATE OBJECT mi_popups TYPE zcl_abapgit_popups.
+ IF gi_popups IS INITIAL.
+ CREATE OBJECT gi_popups TYPE zcl_abapgit_popups.
ENDIF.
- ri_popups = mi_popups.
+ ri_popups = gi_popups.
ENDMETHOD.
+
METHOD get_tag_popups.
- IF mi_tag_popups IS INITIAL.
- CREATE OBJECT mi_tag_popups TYPE zcl_abapgit_tag_popups.
+ IF gi_tag_popups IS INITIAL.
+ CREATE OBJECT gi_tag_popups TYPE zcl_abapgit_tag_popups.
ENDIF.
- ri_tag_popups = mi_tag_popups.
+ ri_tag_popups = gi_tag_popups.
+
+ ENDMETHOD.
+
+
+ METHOD get_gui_functions.
+
+ IF gi_gui_functions IS INITIAL.
+ CREATE OBJECT gi_gui_functions TYPE zcl_abapgit_gui_functions.
+ ENDIF.
+
+ ri_gui_functions = gi_gui_functions.
ENDMETHOD.
diff --git a/src/ui/zcl_abapgit_ui_injector.clas.abap b/src/ui/zcl_abapgit_ui_injector.clas.abap
index 5445532aa..c3eb275e1 100644
--- a/src/ui/zcl_abapgit_ui_injector.clas.abap
+++ b/src/ui/zcl_abapgit_ui_injector.clas.abap
@@ -10,24 +10,36 @@ CLASS zcl_abapgit_ui_injector DEFINITION
set_tag_popups
IMPORTING
- ii_tag_popups TYPE REF TO zif_abapgit_tag_popups.
+ ii_tag_popups TYPE REF TO zif_abapgit_tag_popups,
+
+ set_gui_functions
+ IMPORTING
+ ii_gui_functions TYPE REF TO zif_abapgit_gui_functions.
ENDCLASS.
-CLASS zcl_abapgit_ui_injector IMPLEMENTATION.
+CLASS ZCL_ABAPGIT_UI_INJECTOR IMPLEMENTATION.
+
+
+ METHOD set_gui_functions.
+
+ zcl_abapgit_ui_factory=>gi_gui_functions = ii_gui_functions.
+
+ ENDMETHOD.
+
METHOD set_popups.
- zcl_abapgit_ui_factory=>mi_popups = ii_popups.
+ zcl_abapgit_ui_factory=>gi_popups = ii_popups.
ENDMETHOD.
+
METHOD set_tag_popups.
- zcl_abapgit_ui_factory=>mi_tag_popups = ii_tag_popups.
+ zcl_abapgit_ui_factory=>gi_tag_popups = ii_tag_popups.
ENDMETHOD.
-
ENDCLASS.