diff --git a/src/persist/package.devc.xml b/src/persist/package.devc.xml
new file mode 100644
index 000000000..5d9836271
--- /dev/null
+++ b/src/persist/package.devc.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ Persistence
+
+
+
+
diff --git a/src/persist/zcl_abapgit_persistence_db.clas.abap b/src/persist/zcl_abapgit_persistence_db.clas.abap
new file mode 100644
index 000000000..1557606ba
--- /dev/null
+++ b/src/persist/zcl_abapgit_persistence_db.clas.abap
@@ -0,0 +1,199 @@
+CLASS zcl_abapgit_persistence_db DEFINITION
+ PUBLIC
+ CREATE PUBLIC .
+
+ PUBLIC SECTION.
+ CONSTANTS:
+ c_tabname TYPE tabname VALUE 'ZABAPGIT',
+ c_lock TYPE viewname VALUE 'EZABAPGIT'.
+
+ TYPES: ty_type TYPE c LENGTH 12.
+ TYPES: ty_value TYPE c LENGTH 12.
+
+ TYPES: BEGIN OF ty_content,
+ type TYPE ty_type,
+ value TYPE ty_value,
+ data_str TYPE string,
+ END OF ty_content,
+ tt_content TYPE SORTED TABLE OF ty_content WITH UNIQUE KEY type value.
+
+ CONSTANTS:
+ c_type_settings TYPE ty_type VALUE 'SETTINGS',
+ c_type_repo TYPE ty_type VALUE 'REPO',
+ c_type_background TYPE ty_type VALUE 'BACKGROUND',
+ c_type_user TYPE ty_type VALUE 'USER'.
+
+ METHODS:
+ list_by_type
+ IMPORTING iv_type TYPE ty_type
+ RETURNING VALUE(rt_content) TYPE tt_content,
+ list
+ RETURNING VALUE(rt_content) TYPE tt_content,
+ add
+ IMPORTING iv_type TYPE ty_type
+ iv_value TYPE ty_content-value
+ iv_data TYPE ty_content-data_str
+ RAISING zcx_abapgit_exception,
+ delete
+ IMPORTING iv_type TYPE ty_type
+ iv_value TYPE ty_content-value
+ RAISING zcx_abapgit_exception,
+ update
+ IMPORTING iv_type TYPE ty_type
+ iv_value TYPE ty_content-value
+ iv_data TYPE ty_content-data_str
+ RAISING zcx_abapgit_exception,
+ modify
+ IMPORTING iv_type TYPE ty_type
+ iv_value TYPE ty_content-value
+ iv_data TYPE ty_content-data_str
+ RAISING zcx_abapgit_exception,
+ read
+ IMPORTING iv_type TYPE ty_type
+ iv_value TYPE ty_content-value
+ RETURNING VALUE(rv_data) TYPE ty_content-data_str
+ RAISING zcx_abapgit_not_found,
+ lock
+ IMPORTING iv_mode TYPE enqmode DEFAULT 'E'
+ iv_type TYPE ty_type
+ iv_value TYPE ty_content-value
+ RAISING zcx_abapgit_exception.
+
+ PRIVATE SECTION.
+ METHODS: validate_and_unprettify_xml
+ IMPORTING iv_xml TYPE string
+ RETURNING VALUE(rv_xml) TYPE string
+ RAISING zcx_abapgit_exception.
+
+ENDCLASS.
+
+
+
+CLASS ZCL_ABAPGIT_PERSISTENCE_DB IMPLEMENTATION.
+
+
+ METHOD add.
+
+* todo, change instantiation back to private? make sure this class is a singleton?
+
+ DATA ls_table TYPE ty_content.
+
+ ls_table-type = iv_type.
+ ls_table-value = iv_value.
+ ls_table-data_str = iv_data.
+
+ INSERT (c_tabname) FROM ls_table. "#EC CI_SUBRC
+ ASSERT sy-subrc = 0.
+
+ ENDMETHOD.
+
+
+ METHOD delete.
+
+ lock( iv_type = iv_type
+ iv_value = iv_value ).
+
+ DELETE FROM (c_tabname)
+ WHERE type = iv_type
+ AND value = iv_value.
+ IF sy-subrc <> 0.
+ zcx_abapgit_exception=>raise( 'DB Delete failed' ).
+ ENDIF.
+
+ ENDMETHOD.
+
+
+ METHOD list.
+ SELECT * FROM (c_tabname)
+ INTO TABLE rt_content. "#EC CI_SUBRC
+ ENDMETHOD.
+
+
+ METHOD list_by_type.
+ SELECT * FROM (c_tabname)
+ INTO TABLE rt_content
+ WHERE type = iv_type. "#EC CI_SUBRC
+ ENDMETHOD.
+
+
+ METHOD lock.
+
+ CALL FUNCTION 'ENQUEUE_EZABAPGIT'
+ EXPORTING
+ mode_zabapgit = iv_mode
+ type = iv_type
+ value = iv_value
+ EXCEPTIONS
+ foreign_lock = 1
+ system_failure = 2
+ OTHERS = 3.
+ IF sy-subrc <> 0.
+ zcx_abapgit_exception=>raise( |Could not aquire lock { iv_type } { iv_value }| ).
+ ENDIF.
+
+* trigger dummy update task to automatically release locks at commit
+ CALL FUNCTION 'BANK_OBJ_WORKL_RELEASE_LOCKS'
+ IN UPDATE TASK.
+
+ ENDMETHOD.
+
+
+ METHOD modify.
+
+ DATA: ls_content TYPE ty_content.
+
+ lock( iv_type = iv_type
+ iv_value = iv_value ).
+
+ ls_content-type = iv_type.
+ ls_content-value = iv_value.
+ ls_content-data_str = iv_data.
+
+ MODIFY (c_tabname) FROM ls_content.
+ IF sy-subrc <> 0.
+ zcx_abapgit_exception=>raise( 'DB modify failed' ).
+ ENDIF.
+
+ ENDMETHOD.
+
+
+ METHOD read.
+
+ SELECT SINGLE data_str FROM (c_tabname) INTO rv_data
+ WHERE type = iv_type
+ AND value = iv_value. "#EC CI_SUBRC
+ IF sy-subrc <> 0.
+ RAISE EXCEPTION TYPE zcx_abapgit_not_found.
+ ENDIF.
+
+ ENDMETHOD.
+
+
+ METHOD update.
+
+ DATA lv_data LIKE iv_data.
+
+ lv_data = validate_and_unprettify_xml( iv_data ).
+
+ lock( iv_type = iv_type
+ iv_value = iv_value ).
+
+ UPDATE (c_tabname) SET data_str = lv_data
+ WHERE type = iv_type
+ AND value = iv_value.
+ IF sy-subrc <> 0.
+ zcx_abapgit_exception=>raise( 'DB update failed' ).
+ ENDIF.
+
+ ENDMETHOD. "update
+
+
+ METHOD validate_and_unprettify_xml.
+
+ rv_xml = zcl_abapgit_xml_pretty=>print(
+ iv_xml = iv_xml
+ iv_unpretty = abap_true
+ iv_ignore_errors = abap_false ).
+
+ ENDMETHOD. " validate_and_unprettify_xml
+ENDCLASS.
diff --git a/src/persist/zcl_abapgit_persistence_db.clas.xml b/src/persist/zcl_abapgit_persistence_db.clas.xml
new file mode 100644
index 000000000..a0c49aa65
--- /dev/null
+++ b/src/persist/zcl_abapgit_persistence_db.clas.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ ZCL_ABAPGIT_PERSISTENCE_DB
+ 1
+ E
+ Database persistence
+ 2
+ 1
+ X
+ X
+ X
+
+
+
+
diff --git a/src/zabapgit_app.prog.abap b/src/zabapgit_app.prog.abap
index a11fe7f18..9c8b50b3b 100644
--- a/src/zabapgit_app.prog.abap
+++ b/src/zabapgit_app.prog.abap
@@ -5,7 +5,6 @@
CLASS lcl_gui DEFINITION DEFERRED.
CLASS lcl_persistence_user DEFINITION DEFERRED.
CLASS lcl_repo_srv DEFINITION DEFERRED.
-CLASS lcl_persistence_db DEFINITION DEFERRED.
CLASS lcl_persist_settings DEFINITION DEFERRED.
CLASS lcl_proxy_configuration DEFINITION DEFERRED.
@@ -28,7 +27,7 @@ CLASS lcl_app DEFINITION FINAL.
RETURNING VALUE(ro_repo_srv) TYPE REF TO lcl_repo_srv.
CLASS-METHODS db
- RETURNING VALUE(ro_db) TYPE REF TO lcl_persistence_db.
+ RETURNING VALUE(ro_db) TYPE REF TO zcl_abapgit_persistence_db.
CLASS-METHODS settings
RETURNING VALUE(ro_settings) TYPE REF TO lcl_persist_settings.
@@ -39,7 +38,7 @@ CLASS lcl_app DEFINITION FINAL.
PRIVATE SECTION.
CLASS-DATA: go_gui TYPE REF TO lcl_gui,
go_current_user TYPE REF TO lcl_persistence_user,
- go_db TYPE REF TO lcl_persistence_db,
+ go_db TYPE REF TO zcl_abapgit_persistence_db,
go_repo_srv TYPE REF TO lcl_repo_srv,
go_settings TYPE REF TO lcl_persist_settings,
go_proxy TYPE REF TO lcl_proxy_configuration.
diff --git a/src/zabapgit_gui_router.prog.abap b/src/zabapgit_gui_router.prog.abap
index 12dc16689..bc3b79133 100644
--- a/src/zabapgit_gui_router.prog.abap
+++ b/src/zabapgit_gui_router.prog.abap
@@ -66,7 +66,7 @@ CLASS lcl_gui_router IMPLEMENTATION.
DATA: lv_url TYPE string,
lv_key TYPE lcl_persistence_repo=>ty_repo-key,
- ls_db TYPE lcl_persistence_db=>ty_content,
+ ls_db TYPE zcl_abapgit_persistence_db=>ty_content,
ls_item TYPE zif_abapgit_definitions=>ty_item.
lv_key = iv_getdata. " TODO refactor
@@ -276,7 +276,7 @@ CLASS lcl_gui_router IMPLEMENTATION.
DATA: lv_page_class TYPE string,
lv_message TYPE string,
- ls_key TYPE lcl_persistence_db=>ty_content.
+ ls_key TYPE zcl_abapgit_persistence_db=>ty_content.
lv_page_class = |LCL_GUI_PAGE_{ to_upper( iv_name ) }|.
ls_key = lcl_html_action_utils=>dbkey_decode( iv_getdata ).
diff --git a/src/zabapgit_html_action_utils.prog.abap b/src/zabapgit_html_action_utils.prog.abap
index f7805be4a..d5bbc2699 100644
--- a/src/zabapgit_html_action_utils.prog.abap
+++ b/src/zabapgit_html_action_utils.prog.abap
@@ -67,16 +67,16 @@ CLASS lcl_html_action_utils DEFINITION FINAL.
RAISING zcx_abapgit_exception.
CLASS-METHODS dbkey_encode
- IMPORTING is_key TYPE lcl_persistence_db=>ty_content
+ IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content
RETURNING VALUE(rv_string) TYPE string.
CLASS-METHODS dbkey_decode
IMPORTING iv_string TYPE clike
- RETURNING VALUE(rs_key) TYPE lcl_persistence_db=>ty_content.
+ RETURNING VALUE(rs_key) TYPE zcl_abapgit_persistence_db=>ty_content.
CLASS-METHODS dbcontent_decode
IMPORTING it_postdata TYPE cnht_post_data_tab
- RETURNING VALUE(rs_content) TYPE lcl_persistence_db=>ty_content.
+ RETURNING VALUE(rs_content) TYPE zcl_abapgit_persistence_db=>ty_content.
CLASS-METHODS parse_commit_request
IMPORTING it_postdata TYPE cnht_post_data_tab
diff --git a/src/zabapgit_page_db.prog.abap b/src/zabapgit_page_db.prog.abap
index c13d9c5f3..3c59b3735 100644
--- a/src/zabapgit_page_db.prog.abap
+++ b/src/zabapgit_page_db.prog.abap
@@ -6,17 +6,17 @@ CLASS lcl_gui_page_db_dis DEFINITION FINAL INHERITING FROM lcl_gui_page.
PUBLIC SECTION.
METHODS: constructor
- IMPORTING is_key TYPE lcl_persistence_db=>ty_content.
+ IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content.
CLASS-METHODS: render_record_banner
- IMPORTING is_key TYPE lcl_persistence_db=>ty_content
+ IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content
RETURNING VALUE(rv_html) TYPE string.
PROTECTED SECTION.
METHODS render_content REDEFINITION.
PRIVATE SECTION.
- DATA: ms_key TYPE lcl_persistence_db=>ty_content.
+ DATA: ms_key TYPE zcl_abapgit_persistence_db=>ty_content.
ENDCLASS.
@@ -41,8 +41,8 @@ CLASS lcl_gui_page_db_dis IMPLEMENTATION.
DATA:
lo_highlighter TYPE REF TO lcl_syntax_highlighter,
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar,
- lv_data TYPE lcl_persistence_db=>ty_content-data_str,
- ls_action TYPE lcl_persistence_db=>ty_content,
+ lv_data TYPE zcl_abapgit_persistence_db=>ty_content-data_str,
+ ls_action TYPE zcl_abapgit_persistence_db=>ty_content,
lv_action TYPE string.
TRY.
@@ -83,13 +83,13 @@ CLASS lcl_gui_page_db_edit DEFINITION FINAL INHERITING FROM lcl_gui_page.
PUBLIC SECTION.
METHODS: constructor
- IMPORTING is_key TYPE lcl_persistence_db=>ty_content.
+ IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content.
PROTECTED SECTION.
METHODS render_content REDEFINITION.
PRIVATE SECTION.
- DATA: ms_key TYPE lcl_persistence_db=>ty_content.
+ DATA: ms_key TYPE zcl_abapgit_persistence_db=>ty_content.
ENDCLASS.
@@ -103,7 +103,7 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
METHOD render_content.
- DATA: lv_data TYPE lcl_persistence_db=>ty_content-data_str,
+ DATA: lv_data TYPE zcl_abapgit_persistence_db=>ty_content-data_str,
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar.
TRY.
@@ -160,7 +160,7 @@ CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page.
PRIVATE SECTION.
METHODS explain_content
- IMPORTING is_data TYPE lcl_persistence_db=>ty_content
+ IMPORTING is_data TYPE zcl_abapgit_persistence_db=>ty_content
RETURNING VALUE(rv_text) TYPE string
RAISING zcx_abapgit_exception.
@@ -175,7 +175,7 @@ CLASS lcl_gui_page_db IMPLEMENTATION.
METHOD render_content.
- DATA: lt_data TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_data TYPE zcl_abapgit_persistence_db=>tt_content,
lv_action TYPE string,
lv_trclass TYPE string,
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar.
diff --git a/src/zabapgit_page_main.prog.abap b/src/zabapgit_page_main.prog.abap
index 9195a99ab..4b8208448 100644
--- a/src/zabapgit_page_main.prog.abap
+++ b/src/zabapgit_page_main.prog.abap
@@ -19,7 +19,7 @@ CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM lcl_gui_page.
changed_by TYPE string VALUE 'changed_by',
END OF c_actions.
- DATA: mv_show TYPE lcl_persistence_db=>ty_value,
+ DATA: mv_show TYPE zcl_abapgit_persistence_db=>ty_value,
mo_repo_content TYPE REF TO lcl_gui_view_repo.
METHODS:
diff --git a/src/zabapgit_persistence.prog.abap b/src/zabapgit_persistence.prog.abap
index cbaf28a57..652323d12 100644
--- a/src/zabapgit_persistence.prog.abap
+++ b/src/zabapgit_persistence.prog.abap
@@ -29,67 +29,6 @@ CLASS lcl_persist_migrate DEFINITION FINAL.
ENDCLASS.
-CLASS lcl_persistence_db DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
-
- PUBLIC SECTION.
- CONSTANTS:
- c_tabname TYPE tabname VALUE 'ZABAPGIT',
- c_lock TYPE viewname VALUE 'EZABAPGIT'.
-
- TYPES: ty_type TYPE c LENGTH 12.
- TYPES: ty_value TYPE c LENGTH 12.
-
- TYPES: BEGIN OF ty_content,
- type TYPE ty_type,
- value TYPE ty_value,
- data_str TYPE string,
- END OF ty_content,
- tt_content TYPE SORTED TABLE OF ty_content WITH UNIQUE KEY type value.
-
- METHODS:
- list_by_type
- IMPORTING iv_type TYPE ty_type
- RETURNING VALUE(rt_content) TYPE tt_content,
- list
- RETURNING VALUE(rt_content) TYPE tt_content,
- add
- IMPORTING iv_type TYPE ty_type
- iv_value TYPE ty_content-value
- iv_data TYPE ty_content-data_str
- RAISING zcx_abapgit_exception,
- delete
- IMPORTING iv_type TYPE ty_type
- iv_value TYPE ty_content-value
- RAISING zcx_abapgit_exception,
- update
- IMPORTING iv_type TYPE ty_type
- iv_value TYPE ty_content-value
- iv_data TYPE ty_content-data_str
- RAISING zcx_abapgit_exception,
- modify
- IMPORTING iv_type TYPE ty_type
- iv_value TYPE ty_content-value
- iv_data TYPE ty_content-data_str
- RAISING zcx_abapgit_exception,
- read
- IMPORTING iv_type TYPE ty_type
- iv_value TYPE ty_content-value
- RETURNING VALUE(rv_data) TYPE ty_content-data_str
- RAISING zcx_abapgit_not_found,
- lock
- IMPORTING iv_mode TYPE enqmode DEFAULT 'E'
- iv_type TYPE ty_type
- iv_value TYPE ty_content-value
- RAISING zcx_abapgit_exception.
-
- PRIVATE SECTION.
- METHODS: validate_and_unprettify_xml
- IMPORTING iv_xml TYPE string
- RETURNING VALUE(rv_xml) TYPE string
- RAISING zcx_abapgit_exception.
-
-ENDCLASS.
-
CLASS lcl_persistence_repo DEFINITION FINAL.
PUBLIC SECTION.
@@ -114,7 +53,7 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
END OF ty_repo_xml.
TYPES: BEGIN OF ty_repo,
- key TYPE lcl_persistence_db=>ty_value.
+ key TYPE zcl_abapgit_persistence_db=>ty_value.
INCLUDE TYPE ty_repo_xml.
TYPES: END OF ty_repo.
TYPES: tt_repo TYPE STANDARD TABLE OF ty_repo WITH DEFAULT KEY.
@@ -187,9 +126,7 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
RAISING zcx_abapgit_exception.
PRIVATE SECTION.
- CONSTANTS c_type_repo TYPE lcl_persistence_db=>ty_type VALUE 'REPO'.
-
- DATA: mo_db TYPE REF TO lcl_persistence_db.
+ DATA: mo_db TYPE REF TO zcl_abapgit_persistence_db.
METHODS from_xml
IMPORTING iv_repo_xml_string TYPE string
@@ -201,7 +138,7 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
RETURNING VALUE(rv_repo_xml_string) TYPE string.
METHODS get_next_id
- RETURNING VALUE(rv_next_repo_id) TYPE lcl_persistence_db=>ty_content-value
+ RETURNING VALUE(rv_next_repo_id) TYPE zcl_abapgit_persistence_db=>ty_content-value
RAISING zcx_abapgit_exception.
ENDCLASS.
@@ -231,7 +168,7 @@ CLASS lcl_persist_background DEFINITION FINAL.
END OF ty_xml.
TYPES: BEGIN OF ty_background,
- key TYPE lcl_persistence_db=>ty_value.
+ key TYPE zcl_abapgit_persistence_db=>ty_value.
INCLUDE TYPE ty_xml.
TYPES: END OF ty_background.
TYPES: tt_background TYPE STANDARD TABLE OF ty_background WITH DEFAULT KEY.
@@ -256,9 +193,7 @@ CLASS lcl_persist_background DEFINITION FINAL.
RAISING zcx_abapgit_exception.
PRIVATE SECTION.
- CONSTANTS c_type TYPE lcl_persistence_db=>ty_type VALUE 'BACKGROUND'.
-
- DATA: mo_db TYPE REF TO lcl_persistence_db,
+ DATA: mo_db TYPE REF TO zcl_abapgit_persistence_db,
mt_jobs TYPE tt_background.
METHODS from_xml
@@ -278,7 +213,6 @@ CLASS lcl_settings DEFINITION FINAL.
PUBLIC SECTION.
CONSTANTS: c_commitmsg_comment_length_dft TYPE i VALUE 50.
CONSTANTS: c_commitmsg_body_size_dft TYPE i VALUE 72.
- CONSTANTS: c_dbtype_settings TYPE lcl_persistence_db=>ty_type VALUE 'SETTINGS' ##NO_TEXT.
METHODS: set_proxy_url
IMPORTING
@@ -386,7 +320,7 @@ CLASS lcl_persist_background IMPLEMENTATION.
METHOD list.
- DATA: lt_list TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_list TYPE zcl_abapgit_persistence_db=>tt_content,
ls_xml TYPE ty_xml.
FIELD-SYMBOLS: LIKE LINE OF lt_list,
@@ -398,7 +332,7 @@ CLASS lcl_persist_background IMPLEMENTATION.
ENDIF.
- lt_list = mo_db->list_by_type( c_type ).
+ lt_list = mo_db->list_by_type( zcl_abapgit_persistence_db=>c_type_background ).
LOOP AT lt_list ASSIGNING .
ls_xml = from_xml( -data_str ).
@@ -425,7 +359,7 @@ CLASS lcl_persist_background IMPLEMENTATION.
ASSERT NOT is_data-key IS INITIAL.
mo_db->modify(
- iv_type = c_type
+ iv_type = zcl_abapgit_persistence_db=>c_type_background
iv_value = is_data-key
iv_data = to_xml( is_data ) ).
@@ -437,13 +371,13 @@ CLASS lcl_persist_background IMPLEMENTATION.
METHOD delete.
TRY.
- mo_db->read( iv_type = c_type
+ mo_db->read( iv_type = zcl_abapgit_persistence_db=>c_type_background
iv_value = iv_key ).
CATCH zcx_abapgit_not_found.
RETURN.
ENDTRY.
- mo_db->delete( iv_type = c_type
+ mo_db->delete( iv_type = zcl_abapgit_persistence_db=>c_type_background
iv_value = iv_key ).
DELETE mt_jobs WHERE key = iv_key.
@@ -580,8 +514,6 @@ CLASS lcl_persistence_user DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
RAISING zcx_abapgit_exception.
PRIVATE SECTION.
- CONSTANTS c_type_user TYPE lcl_persistence_db=>ty_type VALUE 'USER'.
-
DATA: mv_user TYPE xubname.
TYPES:
@@ -671,7 +603,7 @@ CLASS lcl_persistence_user IMPLEMENTATION.
TRY.
lv_xml = lcl_app=>db( )->read(
- iv_type = c_type_user
+ iv_type = zcl_abapgit_persistence_db=>c_type_user
iv_value = mv_user ).
CATCH zcx_abapgit_not_found.
RETURN.
@@ -707,7 +639,7 @@ CLASS lcl_persistence_user IMPLEMENTATION.
lv_xml = to_xml( is_user ).
lcl_app=>db( )->modify(
- iv_type = c_type_user
+ iv_type = zcl_abapgit_persistence_db=>c_type_user
iv_value = mv_user
iv_data = lv_xml ).
@@ -938,131 +870,6 @@ CLASS lcl_persistence_user IMPLEMENTATION.
ENDCLASS.
-
-*----------------------------------------------------------------------*
-* CLASS lcl_persistence_db
-*----------------------------------------------------------------------*
-
-CLASS lcl_persistence_db IMPLEMENTATION.
-
- METHOD list_by_type.
- SELECT * FROM (c_tabname)
- INTO TABLE rt_content
- WHERE type = iv_type. "#EC CI_SUBRC
- ENDMETHOD.
-
- METHOD list.
- SELECT * FROM (c_tabname)
- INTO TABLE rt_content. "#EC CI_SUBRC
- ENDMETHOD.
-
- METHOD lock.
-
- CALL FUNCTION 'ENQUEUE_EZABAPGIT'
- EXPORTING
- mode_zabapgit = iv_mode
- type = iv_type
- value = iv_value
- EXCEPTIONS
- foreign_lock = 1
- system_failure = 2
- OTHERS = 3.
- IF sy-subrc <> 0.
- zcx_abapgit_exception=>raise( |Could not aquire lock { iv_type } { iv_value }| ).
- ENDIF.
-
-* trigger dummy update task to automatically release locks at commit
- CALL FUNCTION 'BANK_OBJ_WORKL_RELEASE_LOCKS'
- IN UPDATE TASK.
-
- ENDMETHOD.
-
- METHOD add.
-
- DATA ls_table TYPE ty_content.
-
- ls_table-type = iv_type.
- ls_table-value = iv_value.
- ls_table-data_str = iv_data.
-
- INSERT (c_tabname) FROM ls_table. "#EC CI_SUBRC
- ASSERT sy-subrc = 0.
-
- ENDMETHOD.
-
- METHOD delete.
-
- lock( iv_type = iv_type
- iv_value = iv_value ).
-
- DELETE FROM (c_tabname)
- WHERE type = iv_type
- AND value = iv_value.
- IF sy-subrc <> 0.
- zcx_abapgit_exception=>raise( 'DB Delete failed' ).
- ENDIF.
-
- ENDMETHOD.
-
- METHOD validate_and_unprettify_xml.
-
- rv_xml = zcl_abapgit_xml_pretty=>print(
- iv_xml = iv_xml
- iv_unpretty = abap_true
- iv_ignore_errors = abap_false ).
-
- ENDMETHOD. " validate_and_unprettify_xml
-
- METHOD update.
-
- DATA lv_data LIKE iv_data.
-
- lv_data = validate_and_unprettify_xml( iv_data ).
-
- lock( iv_type = iv_type
- iv_value = iv_value ).
-
- UPDATE (c_tabname) SET data_str = lv_data
- WHERE type = iv_type
- AND value = iv_value.
- IF sy-subrc <> 0.
- zcx_abapgit_exception=>raise( 'DB update failed' ).
- ENDIF.
-
- ENDMETHOD. "update
-
- METHOD modify.
-
- DATA: ls_content TYPE ty_content.
-
- lock( iv_type = iv_type
- iv_value = iv_value ).
-
- ls_content-type = iv_type.
- ls_content-value = iv_value.
- ls_content-data_str = iv_data.
-
- MODIFY (c_tabname) FROM ls_content.
- IF sy-subrc <> 0.
- zcx_abapgit_exception=>raise( 'DB modify failed' ).
- ENDIF.
-
- ENDMETHOD.
-
- METHOD read.
-
- SELECT SINGLE data_str FROM (c_tabname) INTO rv_data
- WHERE type = iv_type
- AND value = iv_value. "#EC CI_SUBRC
- IF sy-subrc <> 0.
- RAISE EXCEPTION TYPE zcx_abapgit_not_found.
- ENDIF.
-
- ENDMETHOD.
-
-ENDCLASS.
-
-
*----------------------------------------------------------------------*
* CLASS lcl_persistence_repo
*----------------------------------------------------------------------*
@@ -1086,7 +893,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
rv_key = get_next_id( ).
- mo_db->add( iv_type = c_type_repo
+ mo_db->add( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = rv_key
iv_data = lv_repo_as_xml ).
@@ -1094,7 +901,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
METHOD update_dot_abapgit.
- DATA: lt_content TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
ls_content LIKE LINE OF lt_content,
ls_repo TYPE ty_repo.
@@ -1110,7 +917,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
ls_repo-dot_abapgit = is_dot_abapgit.
ls_content-data_str = to_xml( ls_repo ).
- mo_db->update( iv_type = c_type_repo
+ mo_db->update( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key
iv_data = ls_content-data_str ).
@@ -1123,14 +930,14 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
CREATE OBJECT lo_background.
lo_background->delete( iv_key ).
- mo_db->delete( iv_type = c_type_repo
+ mo_db->delete( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key ).
ENDMETHOD.
METHOD update_local_checksums.
- DATA: lt_content TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
ls_content LIKE LINE OF lt_content,
ls_repo TYPE ty_repo.
@@ -1146,7 +953,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
ls_repo-local_checksums = it_checksums.
ls_content-data_str = to_xml( ls_repo ).
- mo_db->update( iv_type = c_type_repo
+ mo_db->update( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key
iv_data = ls_content-data_str ).
@@ -1154,7 +961,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
METHOD update_url.
- DATA: lt_content TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
ls_content LIKE LINE OF lt_content,
ls_repo TYPE ty_repo.
@@ -1174,7 +981,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
ls_repo-url = iv_url.
ls_content-data_str = to_xml( ls_repo ).
- mo_db->update( iv_type = c_type_repo
+ mo_db->update( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key
iv_data = ls_content-data_str ).
@@ -1182,7 +989,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
METHOD update_branch_name.
- DATA: lt_content TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
ls_content LIKE LINE OF lt_content,
ls_repo TYPE ty_repo.
@@ -1198,7 +1005,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
ls_repo-branch_name = iv_branch_name.
ls_content-data_str = to_xml( ls_repo ).
- mo_db->update( iv_type = c_type_repo
+ mo_db->update( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key
iv_data = ls_content-data_str ).
@@ -1206,7 +1013,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
METHOD update_head_branch.
- DATA: lt_content TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
ls_content LIKE LINE OF lt_content,
ls_repo TYPE ty_repo.
@@ -1222,7 +1029,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
ls_repo-head_branch = iv_head_branch.
ls_content-data_str = to_xml( ls_repo ).
- mo_db->update( iv_type = c_type_repo
+ mo_db->update( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key
iv_data = ls_content-data_str ).
@@ -1230,7 +1037,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
METHOD update_offline.
- DATA: lt_content TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
ls_content LIKE LINE OF lt_content,
ls_repo TYPE ty_repo.
@@ -1245,7 +1052,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
ls_repo-offline = iv_offline.
ls_content-data_str = to_xml( ls_repo ).
- mo_db->update( iv_type = c_type_repo
+ mo_db->update( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key
iv_data = ls_content-data_str ).
@@ -1253,7 +1060,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
METHOD update_sha1.
- DATA: lt_content TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
ls_content LIKE LINE OF lt_content,
ls_repo TYPE ty_repo.
@@ -1269,7 +1076,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
ls_repo-sha1 = iv_branch_sha1.
ls_content-data_str = to_xml( ls_repo ).
- mo_db->update( iv_type = c_type_repo
+ mo_db->update( iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key
iv_data = ls_content-data_str ).
@@ -1293,14 +1100,14 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
* todo: Lock the complete persistence in order to prevent concurrent repo-creation
* however the current approach will most likely work in almost all cases
- DATA: lt_content TYPE lcl_persistence_db=>tt_content.
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content.
FIELD-SYMBOLS: LIKE LINE OF lt_content.
rv_next_repo_id = 1.
- lt_content = mo_db->list_by_type( c_type_repo ).
+ lt_content = mo_db->list_by_type( zcl_abapgit_persistence_db=>c_type_repo ).
LOOP AT lt_content ASSIGNING .
IF -value >= rv_next_repo_id.
rv_next_repo_id = -value + 1.
@@ -1317,12 +1124,12 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
METHOD list.
- DATA: lt_content TYPE lcl_persistence_db=>tt_content,
+ DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
ls_content LIKE LINE OF lt_content,
ls_repo LIKE LINE OF rt_repos.
- lt_content = mo_db->list_by_type( c_type_repo ).
+ lt_content = mo_db->list_by_type( zcl_abapgit_persistence_db=>c_type_repo ).
LOOP AT lt_content INTO ls_content.
MOVE-CORRESPONDING from_xml( ls_content-data_str ) TO ls_repo.
@@ -1372,7 +1179,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
METHOD lock.
mo_db->lock( iv_mode = iv_mode
- iv_type = c_type_repo
+ iv_type = zcl_abapgit_persistence_db=>c_type_repo
iv_value = iv_key ).
ENDMETHOD.
@@ -1563,7 +1370,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
SELECT SINGLE viewname FROM dd25l INTO lv_viewname
- WHERE viewname = lcl_persistence_db=>c_lock.
+ WHERE viewname = zcl_abapgit_persistence_db=>c_lock.
rv_exists = boolc( sy-subrc = 0 ).
ENDMETHOD.
@@ -1579,38 +1386,38 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
LIKE LINE OF lt_dd27p.
- ls_dd25v-viewname = lcl_persistence_db=>c_lock.
+ ls_dd25v-viewname = zcl_abapgit_persistence_db=>c_lock.
ls_dd25v-aggtype = 'E'.
- ls_dd25v-roottab = lcl_persistence_db=>c_tabname.
+ ls_dd25v-roottab = zcl_abapgit_persistence_db=>c_tabname.
ls_dd25v-ddlanguage = zif_abapgit_definitions=>gc_english.
ls_dd25v-ddtext = c_text.
APPEND INITIAL LINE TO lt_dd26e ASSIGNING .
- -viewname = lcl_persistence_db=>c_lock.
- -tabname = lcl_persistence_db=>c_tabname.
+ -viewname = zcl_abapgit_persistence_db=>c_lock.
+ -tabname = zcl_abapgit_persistence_db=>c_tabname.
-tabpos = '0001'.
- -fortabname = lcl_persistence_db=>c_tabname.
+ -fortabname = zcl_abapgit_persistence_db=>c_tabname.
-enqmode = 'E'.
APPEND INITIAL LINE TO lt_dd27p ASSIGNING .
- -viewname = lcl_persistence_db=>c_lock.
+ -viewname = zcl_abapgit_persistence_db=>c_lock.
-objpos = '0001'.
-viewfield = 'TYPE'.
- -tabname = lcl_persistence_db=>c_tabname.
+ -tabname = zcl_abapgit_persistence_db=>c_tabname.
-fieldname = 'TYPE'.
-keyflag = abap_true.
APPEND INITIAL LINE TO lt_dd27p ASSIGNING .
- -viewname = lcl_persistence_db=>c_lock.
+ -viewname = zcl_abapgit_persistence_db=>c_lock.
-objpos = '0002'.
-viewfield = 'VALUE'.
- -tabname = lcl_persistence_db=>c_tabname.
+ -tabname = zcl_abapgit_persistence_db=>c_tabname.
-fieldname = 'VALUE'.
-keyflag = abap_true.
CALL FUNCTION 'DDIF_ENQU_PUT'
EXPORTING
- name = lcl_persistence_db=>c_lock
+ name = zcl_abapgit_persistence_db=>c_lock
dd25v_wa = ls_dd25v
TABLES
dd26e_tab = lt_dd26e
@@ -1626,7 +1433,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
zcx_abapgit_exception=>raise( 'migrate, error from DDIF_ENQU_PUT' ).
ENDIF.
- lv_obj_name = lcl_persistence_db=>c_lock.
+ lv_obj_name = zcl_abapgit_persistence_db=>c_lock.
CALL FUNCTION 'TR_TADIR_INTERFACE'
EXPORTING
wi_tadir_pgmid = 'R3TR'
@@ -1643,7 +1450,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
CALL FUNCTION 'DDIF_ENQU_ACTIVATE'
EXPORTING
- name = lcl_persistence_db=>c_lock
+ name = zcl_abapgit_persistence_db=>c_lock
EXCEPTIONS
not_found = 1
put_failure = 2
@@ -1659,7 +1466,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
DATA: lv_tabname TYPE dd02l-tabname.
SELECT SINGLE tabname FROM dd02l INTO lv_tabname
- WHERE tabname = lcl_persistence_db=>c_tabname.
+ WHERE tabname = zcl_abapgit_persistence_db=>c_tabname.
rv_exists = boolc( sy-subrc = 0 ).
ENDMETHOD.
@@ -1674,21 +1481,21 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
FIELD-SYMBOLS: LIKE LINE OF lt_dd03p.
- ls_dd02v-tabname = lcl_persistence_db=>c_tabname.
+ ls_dd02v-tabname = zcl_abapgit_persistence_db=>c_tabname.
ls_dd02v-ddlanguage = zif_abapgit_definitions=>gc_english.
ls_dd02v-tabclass = 'TRANSP'.
ls_dd02v-ddtext = c_text.
ls_dd02v-contflag = 'A'.
ls_dd02v-exclass = '1'.
- ls_dd09l-tabname = lcl_persistence_db=>c_tabname.
+ ls_dd09l-tabname = zcl_abapgit_persistence_db=>c_tabname.
ls_dd09l-as4local = 'A'.
ls_dd09l-tabkat = '1'.
ls_dd09l-tabart = 'APPL1'.
ls_dd09l-bufallow = 'N'.
APPEND INITIAL LINE TO lt_dd03p ASSIGNING .
- -tabname = lcl_persistence_db=>c_tabname.
+ -tabname = zcl_abapgit_persistence_db=>c_tabname.
-fieldname = 'TYPE'.
-position = '0001'.
-keyflag = 'X'.
@@ -1696,7 +1503,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
-leng = '000012'.
APPEND INITIAL LINE TO lt_dd03p ASSIGNING .
- -tabname = lcl_persistence_db=>c_tabname.
+ -tabname = zcl_abapgit_persistence_db=>c_tabname.
-fieldname = 'VALUE'.
-position = '0002'.
-keyflag = 'X'.
@@ -1704,14 +1511,14 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
-leng = '000012'.
APPEND INITIAL LINE TO lt_dd03p ASSIGNING .
- -tabname = lcl_persistence_db=>c_tabname.
+ -tabname = zcl_abapgit_persistence_db=>c_tabname.
-fieldname = 'DATA_STR'.
-position = '0003'.
-datatype = 'STRG'.
CALL FUNCTION 'DDIF_TABL_PUT'
EXPORTING
- name = lcl_persistence_db=>c_tabname
+ name = zcl_abapgit_persistence_db=>c_tabname
dd02v_wa = ls_dd02v
dd09l_wa = ls_dd09l
TABLES
@@ -1727,7 +1534,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
zcx_abapgit_exception=>raise( 'migrate, error from DDIF_TABL_PUT' ).
ENDIF.
- lv_obj_name = lcl_persistence_db=>c_tabname.
+ lv_obj_name = zcl_abapgit_persistence_db=>c_tabname.
CALL FUNCTION 'TR_TADIR_INTERFACE'
EXPORTING
wi_tadir_pgmid = 'R3TR'
@@ -1744,7 +1551,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
CALL FUNCTION 'DDIF_TABL_ACTIVATE'
EXPORTING
- name = lcl_persistence_db=>c_tabname
+ name = zcl_abapgit_persistence_db=>c_tabname
auth_chk = abap_false
IMPORTING
rc = lv_rc
@@ -1840,7 +1647,7 @@ CLASS lcl_settings IMPLEMENTATION.
CREATE OBJECT lr_output.
- lr_output->add( iv_name = lcl_settings=>c_dbtype_settings
+ lr_output->add( iv_name = zcl_abapgit_persistence_db=>c_type_settings
ig_data = ms_settings ).
ev_settings_xml = lr_output->render( ).
@@ -1855,7 +1662,7 @@ CLASS lcl_settings IMPLEMENTATION.
CLEAR ms_settings.
- lr_input->read( EXPORTING iv_name = lcl_settings=>c_dbtype_settings
+ lr_input->read( EXPORTING iv_name = zcl_abapgit_persistence_db=>c_type_settings
CHANGING cg_data = ms_settings ).
ENDMETHOD.
@@ -1884,7 +1691,7 @@ CLASS lcl_persist_settings IMPLEMENTATION.
settings = io_settings->get_settings_xml( ).
lcl_app=>db( )->modify(
- iv_type = lcl_settings=>c_dbtype_settings
+ iv_type = zcl_abapgit_persistence_db=>c_type_settings
iv_value = ''
iv_data = settings ).
@@ -1909,7 +1716,7 @@ CLASS lcl_persist_settings IMPLEMENTATION.
TRY.
ro_settings->set_xml_settings(
- lcl_app=>db( )->read( iv_type = lcl_settings=>c_dbtype_settings
+ lcl_app=>db( )->read( iv_type = zcl_abapgit_persistence_db=>c_type_settings
iv_value = '' ) ).
CATCH zcx_abapgit_not_found zcx_abapgit_exception.
diff --git a/src/zabapgit_repo.prog.abap b/src/zabapgit_repo.prog.abap
index 8ba361de5..08b2635b0 100644
--- a/src/zabapgit_repo.prog.abap
+++ b/src/zabapgit_repo.prog.abap
@@ -12,7 +12,7 @@ CLASS lcl_repo DEFINITION ABSTRACT FRIENDS lcl_repo_srv.
constructor
IMPORTING is_data TYPE lcl_persistence_repo=>ty_repo,
get_key
- RETURNING VALUE(rv_key) TYPE lcl_persistence_db=>ty_value,
+ RETURNING VALUE(rv_key) TYPE zcl_abapgit_persistence_db=>ty_value,
get_name
RETURNING VALUE(rv_name) TYPE string
RAISING zcx_abapgit_exception,
@@ -206,7 +206,7 @@ CLASS lcl_repo_srv DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
RAISING zcx_abapgit_exception.
METHODS get
- IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
+ IMPORTING iv_key TYPE zcl_abapgit_persistence_db=>ty_value
RETURNING VALUE(ro_repo) TYPE REF TO lcl_repo
RAISING zcx_abapgit_exception.
@@ -217,7 +217,7 @@ CLASS lcl_repo_srv DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
RAISING zcx_abapgit_exception.
METHODS switch_repo_type
- IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
+ IMPORTING iv_key TYPE zcl_abapgit_persistence_db=>ty_value
iv_offline TYPE abap_bool
RAISING zcx_abapgit_exception.
diff --git a/src/zabapgit_services_db.prog.abap b/src/zabapgit_services_db.prog.abap
index 83df7ac14..fd4e8dd9c 100644
--- a/src/zabapgit_services_db.prog.abap
+++ b/src/zabapgit_services_db.prog.abap
@@ -6,11 +6,11 @@ CLASS lcl_services_db DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS delete
- IMPORTING is_key TYPE lcl_persistence_db=>ty_content
+ IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content
RAISING zcx_abapgit_exception zcx_abapgit_cancel.
CLASS-METHODS update
- IMPORTING is_content TYPE lcl_persistence_db=>ty_content
+ IMPORTING is_content TYPE zcl_abapgit_persistence_db=>ty_content
RAISING zcx_abapgit_exception.
ENDCLASS. "lcl_services_db
diff --git a/src/zabapgit_services_repo.prog.abap b/src/zabapgit_services_repo.prog.abap
index 55e82401d..f35b55479 100644
--- a/src/zabapgit_services_repo.prog.abap
+++ b/src/zabapgit_services_repo.prog.abap
@@ -48,7 +48,7 @@ CLASS lcl_services_repo DEFINITION FINAL.
RAISING zcx_abapgit_exception.
CLASS-METHODS transport_to_branch
- IMPORTING iv_repository_key TYPE lcl_persistence_db=>ty_value
+ IMPORTING iv_repository_key TYPE zcl_abapgit_persistence_db=>ty_value
RAISING zcx_abapgit_exception zcx_abapgit_cancel.
ENDCLASS. "lcl_services_repo
diff --git a/src/zabapgit_view_repo.prog.abap b/src/zabapgit_view_repo.prog.abap
index bc45e54cf..fb59aca1a 100644
--- a/src/zabapgit_view_repo.prog.abap
+++ b/src/zabapgit_view_repo.prog.abap
@@ -267,7 +267,7 @@ CLASS lcl_gui_view_repo IMPLEMENTATION.
DATA: lo_tb_advanced TYPE REF TO zcl_abapgit_html_toolbar,
lo_tb_branch TYPE REF TO zcl_abapgit_html_toolbar,
lo_tb_tag TYPE REF TO zcl_abapgit_html_toolbar,
- lv_key TYPE lcl_persistence_db=>ty_value,
+ lv_key TYPE zcl_abapgit_persistence_db=>ty_value,
lv_wp_opt LIKE zif_abapgit_definitions=>gc_html_opt-crossout,
lv_crossout LIKE zif_abapgit_definitions=>gc_html_opt-crossout,
lv_pull_opt LIKE zif_abapgit_definitions=>gc_html_opt-crossout.
diff --git a/src/zabapgit_zip.prog.abap b/src/zabapgit_zip.prog.abap
index 933a010a3..26f5373c5 100644
--- a/src/zabapgit_zip.prog.abap
+++ b/src/zabapgit_zip.prog.abap
@@ -11,7 +11,7 @@ CLASS lcl_zip DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS import
- IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
+ IMPORTING iv_key TYPE zcl_abapgit_persistence_db=>ty_value
RAISING zcx_abapgit_exception.
CLASS-METHODS export