diff --git a/src/ui/zcl_abapgit_gui_chunk_lib.clas.abap b/src/ui/zcl_abapgit_gui_chunk_lib.clas.abap
index cff2ef713..5bd35e34d 100644
--- a/src/ui/zcl_abapgit_gui_chunk_lib.clas.abap
+++ b/src/ui/zcl_abapgit_gui_chunk_lib.clas.abap
@@ -91,6 +91,11 @@ CLASS zcl_abapgit_gui_chunk_lib DEFINITION
iv_msgno TYPE scx_t100key-msgno
RETURNING
VALUE(rv_text) TYPE string.
+ CLASS-METHODS normalize_program_name
+ IMPORTING
+ iv_program_name TYPE syrepid
+ RETURNING
+ VALUE(rv_normalized_program_name) TYPE string.
ENDCLASS.
@@ -98,6 +103,15 @@ ENDCLASS.
CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
+ METHOD normalize_program_name.
+
+ rv_normalized_program_name = substring_before(
+ val = iv_program_name
+ regex = `(=+CP)?$` ).
+
+ ENDMETHOD.
+
+
METHOD render_branch_span.
DATA: lv_text TYPE string,
@@ -230,11 +244,13 @@ CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
IMPORTING
program_name = lv_program_name ).
+ lv_title = normalize_program_name( lv_program_name ).
+
ro_html->add_a(
iv_txt = `Goto source`
iv_act = zif_abapgit_definitions=>c_action-goto_source
iv_typ = zif_abapgit_html=>c_action_type-sapevent
- iv_title = |{ lv_program_name }|
+ iv_title = lv_title
iv_id = `a_goto_source` ).
ro_html->add_a(
diff --git a/src/ui/zcl_abapgit_gui_chunk_lib.clas.testclasses.abap b/src/ui/zcl_abapgit_gui_chunk_lib.clas.testclasses.abap
new file mode 100644
index 000000000..e6e163bb1
--- /dev/null
+++ b/src/ui/zcl_abapgit_gui_chunk_lib.clas.testclasses.abap
@@ -0,0 +1,49 @@
+*"* use this source file for your ABAP unit test classes
+CLASS ltcl_normalize_program_name DEFINITION FINAL FOR TESTING
+ DURATION SHORT
+ RISK LEVEL HARMLESS.
+
+ PRIVATE SECTION.
+ DATA:
+ mo_chunk_lib TYPE REF TO zcl_abapgit_gui_chunk_lib.
+
+ METHODS:
+ setup,
+ class FOR TESTING RAISING cx_static_check,
+ program FOR TESTING RAISING cx_static_check.
+
+ENDCLASS.
+
+CLASS zcl_abapgit_gui_chunk_lib DEFINITION LOCAL FRIENDS ltcl_normalize_program_name.
+
+CLASS ltcl_normalize_program_name IMPLEMENTATION.
+
+ METHOD setup.
+
+ CREATE OBJECT mo_chunk_lib.
+
+ ENDMETHOD.
+
+
+ METHOD class.
+
+ cl_abap_unit_assert=>assert_equals(
+ act = mo_chunk_lib->normalize_program_name( 'ZCL_ABAPGIT_FRONTEND_SERVICES=CP' )
+ exp = `ZCL_ABAPGIT_FRONTEND_SERVICES` ).
+
+ ENDMETHOD.
+
+
+ METHOD program.
+
+ cl_abap_unit_assert=>assert_equals(
+ act = mo_chunk_lib->normalize_program_name( 'ZABAPGIT_FULL' )
+ exp = `ZABAPGIT_FULL` ).
+
+ cl_abap_unit_assert=>assert_equals(
+ act = mo_chunk_lib->normalize_program_name( 'ZSOME_PROG_ENDING_WITH_CP' )
+ exp = `ZSOME_PROG_ENDING_WITH_CP` ).
+
+ ENDMETHOD.
+
+ENDCLASS.
diff --git a/src/ui/zcl_abapgit_gui_chunk_lib.clas.xml b/src/ui/zcl_abapgit_gui_chunk_lib.clas.xml
index 0e24dfd29..84d451aff 100644
--- a/src/ui/zcl_abapgit_gui_chunk_lib.clas.xml
+++ b/src/ui/zcl_abapgit_gui_chunk_lib.clas.xml
@@ -10,6 +10,7 @@
X
X
X
+ X