anchor.diff:  
       METHODS repo_pull
         IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
  +      RAISING   lcx_exception.
  +
  +    METHODS db_delete
  +      IMPORTING iv_getdata     TYPE clike
         RAISING   lcx_exception.
   
   ENDCLASS.
  
positive.code: CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
  
    PUBLIC SECTION.
      METHODS lif_gui_page~on_event REDEFINITION.
      METHODS lif_gui_page~render   REDEFINITION.
  
    PRIVATE SECTION.
      METHODS:
        delete
          IMPORTING is_key TYPE lcl_persistence_db=>ty_content
          RAISING   lcx_exception,
        delete_popup
          RETURNING VALUE(rv_continue) TYPE abap_bool
          RAISING   lcx_exception,
        key_encode
          IMPORTING is_key           TYPE lcl_persistence_db=>ty_content
          RETURNING VALUE(rv_string) TYPE string,
        key_decode
          IMPORTING iv_string     TYPE clike
          RETURNING VALUE(rs_key) TYPE lcl_persistence_db=>ty_content.
  
  ENDCLASS.
  
  
negative.code:         _raise lv_message.
      ENDTRY.
  
    ENDMETHOD.        " get_page_by_name
  
    METHOD get_page_db_by_name.
  
      DATA: lv_page_class TYPE string,
            lv_message    TYPE string,
            ls_key        TYPE lcl_persistence_db=>ty_content.
  
      lv_page_class = |LCL_GUI_PAGE_{ to_upper( iv_name ) }|.
      ls_key        = lcl_html_action_utils=>dbkey_decode( iv_getdata ).
  
      TRY.
          CREATE OBJECT ri_page TYPE (lv_page_class)
            EXPORTING
              is_key = ls_key.
  
        CATCH cx_sy_create_object_error.
          lv_message = |Cannot create page class { lv_page_class }|.
          _raise lv_message.
      ENDTRY.
  
    ENDMETHOD.        " get_page_db_by_name
  
    METHOD get_page_diff.
  
  