anchor.diff:                             CHANGING cg_structure = ls_repo_persi ).
               lcl_zip=>export( ls_repo_persi ).
               view( render( ) ).
  +          WHEN 'zipexport_gui'.
  +            zipexport( ).
             WHEN OTHERS.
               _raise 'Unknown action'.
           ENDCASE.
  
positive.code:     CLASS-METHODS get_logo_src
        RETURNING VALUE(rv_src) TYPE string.
  
  ENDCLASS.                    "lcl_gui DEFINITION
  
  *----------------------------------------------------------------------*
  
negative.code: *
  *----------------------------------------------------------------------*
  CLASS lcl_gui IMPLEMENTATION.
  
    METHOD zipexport.
  
      DATA: lv_returncode TYPE c,
            ls_repo_persi TYPE st_repo_persi,
            lt_fields     TYPE TABLE OF sval.
  
      FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
  
  
      APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
      <ls_field>-tabname   = 'TDEVC'.
      <ls_field>-fieldname = 'DEVCLASS'.
      <ls_field>-fieldtext = 'Package'.                       "#EC NOTEXT
  
      CALL FUNCTION 'POPUP_GET_VALUES'
        EXPORTING
          no_value_check  = abap_true
          popup_title     = 'Export package to ZIP'                           "#EC NOTEXT
        IMPORTING
          returncode      = lv_returncode
        TABLES
          fields          = lt_fields
        EXCEPTIONS
          error_in_fields = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        _raise 'Error from POPUP_GET_VALUES'.
      ENDIF.
      IF lv_returncode = 'A'.
        RETURN.
      ENDIF.
  
      READ TABLE lt_fields INDEX 1 ASSIGNING <ls_field>.
      ASSERT sy-subrc = 0.
      ls_repo_persi-package = <ls_field>-value.
      TRANSLATE ls_repo_persi-package TO UPPER CASE.
      ls_repo_persi-url = ls_repo_persi-package.
  
      lcl_zip=>export( ls_repo_persi ).
  
    ENDMETHOD.
  
    METHOD render_header.
  
  