anchor.diff:  
   ENDCLASS.
   
  -CLASS lcl_persistence_user DEFINITION FINAL.
  -
  -  PUBLIC SECTION.
  -    METHODS constructor
  -      IMPORTING iv_user TYPE xubname DEFAULT sy-uname.
  -
  -    METHODS set_username
  -      IMPORTING iv_username TYPE string
  -      RAISING   lcx_exception.
  -
  -    METHODS get_username
  -      RETURNING VALUE(rv_username) TYPE string
  -      RAISING   lcx_exception.
  -
  -    METHODS set_email
  -      IMPORTING iv_email TYPE string
  -      RAISING   lcx_exception.
  -
  -    METHODS get_email
  -      RETURNING VALUE(rv_email) TYPE string
  -      RAISING   lcx_exception.
  -
  -  PRIVATE SECTION.
  -    CONSTANTS c_type_user TYPE lcl_persistence_db=>ty_type VALUE 'USER'.
  -
  -    DATA: mv_user TYPE xubname.
  -
  -    TYPES: BEGIN OF ty_user,
  -             username TYPE string,
  -             email    TYPE string,
  -           END OF ty_user.
  -
  -    METHODS from_xml
  -      IMPORTING iv_xml         TYPE string
  -      RETURNING VALUE(rs_user) TYPE ty_user
  -      RAISING   lcx_exception.
  -
  -    METHODS to_xml
  -      IMPORTING is_user       TYPE ty_user
  -      RETURNING VALUE(rv_xml) TYPE string.
  -
  -    METHODS read
  -      RETURNING VALUE(rs_user) TYPE ty_user
  -      RAISING   lcx_exception.
  -
  -    METHODS update
  -      IMPORTING is_user TYPE ty_user
  -      RAISING   lcx_exception.
  -
  -ENDCLASS.
  -
   CLASS lcl_gui_page_db DEFINITION FINAL.
   
     PUBLIC SECTION.
  
positive.code:           lo_repo         LIKE LINE OF lt_repos.
  
  
      rv_html = lcl_gui=>header( ) &&
        render_menu( ).
  
  
negative.code: 
  ENDCLASS.                    "lcl_gui IMPLEMENTATION
  
  CLASS lcl_persistence_user DEFINITION FINAL.
  
    PUBLIC SECTION.
      METHODS constructor
        IMPORTING iv_user TYPE xubname DEFAULT sy-uname.
  
      METHODS set_username
        IMPORTING iv_username TYPE string
        RAISING   lcx_exception.
  
      METHODS get_username
        RETURNING VALUE(rv_username) TYPE string
        RAISING   lcx_exception.
  
      METHODS set_email
        IMPORTING iv_email TYPE string
        RAISING   lcx_exception.
  
      METHODS get_email
        RETURNING VALUE(rv_email) TYPE string
        RAISING   lcx_exception.
  
      METHODS is_hidden
        IMPORTING iv_key           TYPE lcl_persistence_repo=>ty_repo-key
        RETURNING VALUE(rv_hidden) TYPE abap_bool
        RAISING   lcx_exception.
  
      METHODS hide
        IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
        RAISING   lcx_exception.
  
      METHODS unhide
        IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
        RAISING   lcx_exception.
  
    PRIVATE SECTION.
      CONSTANTS c_type_user TYPE lcl_persistence_db=>ty_type VALUE 'USER'.
  
      DATA: mv_user TYPE xubname.
  
      TYPES: ty_repo_hidden_tt TYPE STANDARD TABLE OF lcl_persistence_repo=>ty_repo-key WITH DEFAULT KEY.
  
      TYPES: BEGIN OF ty_user,
               username    TYPE string,
               email       TYPE string,
               repo_hidden TYPE ty_repo_hidden_tt,
             END OF ty_user.
  
      METHODS from_xml
        IMPORTING iv_xml         TYPE string
        RETURNING VALUE(rs_user) TYPE ty_user
        RAISING   lcx_exception.
  
      METHODS to_xml
        IMPORTING is_user       TYPE ty_user
        RETURNING VALUE(rv_xml) TYPE string.
  
      METHODS read
        RETURNING VALUE(rs_user) TYPE ty_user
        RAISING   lcx_exception.
  
      METHODS update
        IMPORTING is_user TYPE ty_user
        RAISING   lcx_exception.
  
  ENDCLASS.
  
  CLASS lcl_gui_page_main DEFINITION FINAL.
  
    PUBLIC SECTION.
      INTERFACES lif_gui_page.
  
    PRIVATE SECTION.
      CLASS-DATA: go_user TYPE REF TO lcl_persistence_user.
  
      CLASS-METHODS render_repo_online
        IMPORTING io_repo        TYPE REF TO lcl_repo_online
        RETURNING VALUE(rv_html) TYPE string
  