anchor.diff:  ENDFORM.                    "branch_popup
   
   FORM output.
  +
     DATA: lx_error TYPE REF TO zcx_abapgit_exception,
           lt_ucomm TYPE TABLE OF sy-ucomm.
   
  
positive.code: 
  ENDFORM.
  
  *&---------------------------------------------------------------------*
  *&      Form  branch_popup
  *&---------------------------------------------------------------------*
  *       text
  *----------------------------------------------------------------------*
  *      -->TT_FIELDS      text
  *      -->PV_CODE        text
  *      -->CS_ERROR       text
  *      -->CV_SHOW_POPUP  text
  *      -->RAISING        text
  *      -->zcx_abapgit_exception  text
  *      -->##CALLED       text
  *      -->##NEEDED       text
  *----------------------------------------------------------------------*
  FORM branch_popup TABLES   tt_fields TYPE zif_abapgit_popups=>ty_sval_tt
                    USING    pv_code TYPE clike
                    CHANGING cs_error TYPE svale
                             cv_show_popup TYPE c
                    RAISING zcx_abapgit_exception ##called ##needed.
  * called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS
  
    DATA: lx_error  TYPE REF TO zcx_abapgit_exception,
  
negative.code:     CATCH zcx_abapgit_exception INTO lx_error.
        MESSAGE lx_error TYPE 'S' DISPLAY LIKE 'E'.
    ENDTRY.
  
  ENDFORM.
  
  FORM exit.
  
    DATA lx_error TYPE REF TO zcx_abapgit_exception.
  
    " The exit logic should only be applied for our 'main' selection screen 1001.
    " All other selection-screens are called as popups and shouldn't influence
  