anchor.diff:      DATA: ls_user TYPE ty_user.
   
   
  -    ls_user = read( iv_user ).
  +    ls_user = read( ).
   
       ls_user-email = iv_email.
   
  -    update( iv_user = iv_user
  -            is_user = ls_user ).
  +    update( ls_user ).
   
     ENDMETHOD.
   
     METHOD get_email.
   
  -    rv_email = read( iv_user )-email.
  +    rv_email = read( )-email.
   
     ENDMETHOD.
   
  
positive.code:                  ig_data = ls_attr ).
  
      mo_files->add_string( iv_ext    = 'html'
                            iv_string = lv_source ) ##NO_TEXT.
  
    ENDMETHOD.                    "lif_object~serialize
  
  
negative.code: 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.
  