Merge pull request #1074 from christianguenter2/ISSUE_1028

Improve offline repository popup
This commit is contained in:
Lars Hvam 2017-12-19 17:35:28 +01:00 committed by GitHub
commit d0c85edf2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 63 additions and 45 deletions

View File

@ -67,8 +67,8 @@ FORM branch_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt
ls_branch TYPE lcl_git_branch_list=>ty_git_branch, ls_branch TYPE lcl_git_branch_list=>ty_git_branch,
lv_create TYPE boolean. lv_create TYPE boolean.
FIELD-SYMBOLS: <ls_furl> LIKE LINE OF tt_fields, FIELD-SYMBOLS: <ls_furl> LIKE LINE OF tt_fields,
<ls_fbranch> LIKE LINE OF tt_fields, <ls_fbranch> LIKE LINE OF tt_fields,
<ls_fpackage> LIKE LINE OF tt_fields. <ls_fpackage> LIKE LINE OF tt_fields.
CLEAR cs_error. CLEAR cs_error.
@ -113,9 +113,7 @@ FORM branch_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt
lcl_sap_package=>create( ls_package_data ). lcl_sap_package=>create( ls_package_data ).
COMMIT WORK. COMMIT WORK.
READ TABLE tt_fields ASSIGNING <ls_fbranch> WITH KEY tabname = 'TDEVC'. <ls_fpackage>-value = ls_package_data-devclass.
ASSERT sy-subrc = 0.
<ls_fbranch>-value = ls_package_data-devclass.
ENDIF. ENDIF.
ENDFORM. "branch_popup ENDFORM. "branch_popup
@ -130,13 +128,17 @@ FORM package_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt
DATA: ls_package_data TYPE scompkdtln, DATA: ls_package_data TYPE scompkdtln,
lv_create TYPE boolean. lv_create TYPE boolean.
FIELD-SYMBOLS: <ls_fbranch> LIKE LINE OF tt_fields. FIELD-SYMBOLS: <ls_fpackage> LIKE LINE OF tt_fields.
CLEAR cs_error. CLEAR cs_error.
IF pv_code = 'COD1'. IF pv_code = 'COD1'.
cv_show_popup = abap_true. cv_show_popup = abap_true.
READ TABLE tt_fields ASSIGNING <ls_fpackage> WITH KEY fieldname = 'DEVCLASS'.
ASSERT sy-subrc = 0.
ls_package_data-devclass = <ls_fpackage>-value.
lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data
ev_create = lv_create ). ev_create = lv_create ).
IF lv_create = abap_false. IF lv_create = abap_false.
@ -146,10 +148,9 @@ FORM package_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt
lcl_sap_package=>create( ls_package_data ). lcl_sap_package=>create( ls_package_data ).
COMMIT WORK. COMMIT WORK.
READ TABLE tt_fields ASSIGNING <ls_fbranch> WITH KEY tabname = 'TDEVC'. <ls_fpackage>-value = ls_package_data-devclass.
ASSERT sy-subrc = 0.
<ls_fbranch>-value = ls_package_data-devclass.
ENDIF. ENDIF.
ENDFORM. "package_popup ENDFORM. "package_popup
FORM output. FORM output.

View File

@ -335,7 +335,9 @@ CLASS lcl_popups IMPLEMENTATION.
lt_fields TYPE TABLE OF sval, lt_fields TYPE TABLE OF sval,
lv_icon_ok TYPE icon-name, lv_icon_ok TYPE icon-name,
lv_button1 TYPE svalbutton-buttontext, lv_button1 TYPE svalbutton-buttontext,
lv_icon1 TYPE icon-name. lv_icon1 TYPE icon-name,
lv_finished TYPE abap_bool,
lx_error TYPE REF TO zcx_abapgit_exception.
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields. FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
@ -350,45 +352,60 @@ CLASS lcl_popups IMPLEMENTATION.
iv_fieldtext = 'Package' iv_fieldtext = 'Package'
CHANGING ct_fields = lt_fields ). CHANGING ct_fields = lt_fields ).
lv_icon_ok = icon_okay. WHILE lv_finished = abap_false.
lv_button1 = 'Create package' ##NO_TEXT.
lv_icon1 = icon_folder.
CALL FUNCTION 'POPUP_GET_VALUES_USER_BUTTONS' lv_icon_ok = icon_okay.
EXPORTING lv_button1 = 'Create package' ##NO_TEXT.
popup_title = 'New Offline Project' lv_icon1 = icon_folder.
programname = sy-repid
formname = 'PACKAGE_POPUP'
ok_pushbuttontext = ''
icon_ok_push = lv_icon_ok
first_pushbutton = lv_button1
icon_button_1 = lv_icon1
second_pushbutton = ''
icon_button_2 = ''
IMPORTING
returncode = lv_returncode
TABLES
fields = lt_fields
EXCEPTIONS
error_in_fields = 1
OTHERS = 2.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'Error from POPUP_GET_VALUES' ).
ENDIF.
IF lv_returncode = 'A'. CALL FUNCTION 'POPUP_GET_VALUES_USER_BUTTONS'
rs_popup-cancel = abap_true. EXPORTING
RETURN. popup_title = 'New Offline Project'
ENDIF. programname = sy-repid
formname = 'PACKAGE_POPUP'
ok_pushbuttontext = ''
icon_ok_push = lv_icon_ok
first_pushbutton = lv_button1
icon_button_1 = lv_icon1
second_pushbutton = ''
icon_button_2 = ''
IMPORTING
returncode = lv_returncode
TABLES
fields = lt_fields
EXCEPTIONS
error_in_fields = 1
OTHERS = 2.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'Error from POPUP_GET_VALUES' ).
ENDIF.
READ TABLE lt_fields INDEX 1 ASSIGNING <ls_field>. IF lv_returncode = 'A'.
ASSERT sy-subrc = 0. rs_popup-cancel = abap_true.
rs_popup-url = <ls_field>-value. RETURN.
ENDIF.
READ TABLE lt_fields INDEX 2 ASSIGNING <ls_field>. READ TABLE lt_fields INDEX 1 ASSIGNING <ls_field>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
rs_popup-package = <ls_field>-value. rs_popup-url = <ls_field>-value.
TRANSLATE rs_popup-package TO UPPER CASE.
READ TABLE lt_fields INDEX 2 ASSIGNING <ls_field>.
ASSERT sy-subrc = 0.
TRANSLATE <ls_field>-value TO UPPER CASE.
rs_popup-package = <ls_field>-value.
lv_finished = abap_true.
TRY.
lcl_app=>repo_srv( )->validate_package( rs_popup-package ).
CATCH zcx_abapgit_exception INTO lx_error.
" in case of validation errors we display the popup again
MESSAGE lx_error->text TYPE 'S' DISPLAY LIKE 'E'.
CLEAR lv_finished.
ENDTRY.
ENDWHILE.
ENDMETHOD. "repo_new_offline ENDMETHOD. "repo_new_offline