mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Fix issue #1152
This commit is contained in:
parent
75bdf51fd6
commit
eb2db0653c
|
@ -61,60 +61,20 @@ FORM branch_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt
|
||||||
RAISING zcx_abapgit_exception ##called ##needed.
|
RAISING zcx_abapgit_exception ##called ##needed.
|
||||||
* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS
|
* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS
|
||||||
|
|
||||||
DATA: lv_url TYPE string,
|
DATA: lx_error TYPE REF TO zcx_abapgit_exception.
|
||||||
lx_error TYPE REF TO zcx_abapgit_exception,
|
|
||||||
ls_package_data TYPE scompkdtln,
|
|
||||||
ls_branch TYPE zcl_abapgit_git_branch_list=>ty_git_branch,
|
|
||||||
lv_create TYPE boolean.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_furl> LIKE LINE OF tt_fields,
|
|
||||||
<ls_fbranch> LIKE LINE OF tt_fields,
|
|
||||||
<ls_fpackage> LIKE LINE OF tt_fields.
|
|
||||||
|
|
||||||
CLEAR cs_error.
|
|
||||||
|
|
||||||
IF pv_code = 'COD1'.
|
|
||||||
cv_show_popup = abap_true.
|
|
||||||
|
|
||||||
READ TABLE tt_fields ASSIGNING <ls_furl> WITH KEY tabname = 'ABAPTXT255'.
|
|
||||||
IF sy-subrc <> 0 OR <ls_furl>-value IS INITIAL.
|
|
||||||
MESSAGE 'Fill URL' TYPE 'S' DISPLAY LIKE 'E'. "#EC NOTEXT
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
lv_url = <ls_furl>-value.
|
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
ls_branch = lcl_popups=>branch_list_popup( lv_url ).
|
lcl_popups=>branch_popup_callback(
|
||||||
|
EXPORTING
|
||||||
|
iv_code = pv_code
|
||||||
|
CHANGING
|
||||||
|
ct_fields = tt_fields[]
|
||||||
|
cs_error = cs_error
|
||||||
|
cv_show_popup = cv_show_popup ).
|
||||||
|
|
||||||
CATCH zcx_abapgit_exception INTO lx_error.
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
MESSAGE lx_error TYPE 'S' DISPLAY LIKE 'E'.
|
MESSAGE lx_error->text TYPE 'S' DISPLAY LIKE 'E'.
|
||||||
RETURN.
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
IF ls_branch IS INITIAL.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
READ TABLE tt_fields ASSIGNING <ls_fbranch> WITH KEY tabname = 'TEXTL'.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
<ls_fbranch>-value = ls_branch-name.
|
|
||||||
|
|
||||||
ELSEIF pv_code = 'COD2'.
|
|
||||||
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
|
|
||||||
ev_create = lv_create ).
|
|
||||||
IF lv_create = abap_false.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
zcl_abapgit_sap_package=>create( ls_package_data ).
|
|
||||||
COMMIT WORK.
|
|
||||||
|
|
||||||
<ls_fpackage>-value = ls_package_data-devclass.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDFORM. "branch_popup
|
ENDFORM. "branch_popup
|
||||||
|
|
||||||
|
@ -125,31 +85,20 @@ FORM package_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt
|
||||||
RAISING zcx_abapgit_exception ##called ##needed.
|
RAISING zcx_abapgit_exception ##called ##needed.
|
||||||
* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS
|
* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS
|
||||||
|
|
||||||
DATA: ls_package_data TYPE scompkdtln,
|
DATA: lx_error TYPE REF TO zcx_abapgit_exception.
|
||||||
lv_create TYPE boolean.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_fpackage> LIKE LINE OF tt_fields.
|
TRY.
|
||||||
|
lcl_popups=>package_popup_callback(
|
||||||
|
EXPORTING
|
||||||
|
iv_code = pv_code
|
||||||
|
CHANGING
|
||||||
|
ct_fields = tt_fields[]
|
||||||
|
cs_error = cs_error
|
||||||
|
cv_show_popup = cv_show_popup ).
|
||||||
|
|
||||||
CLEAR cs_error.
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
|
MESSAGE lx_error->text TYPE 'S' DISPLAY LIKE 'E'.
|
||||||
IF pv_code = 'COD1'.
|
ENDTRY.
|
||||||
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
|
|
||||||
ev_create = lv_create ).
|
|
||||||
IF lv_create = abap_false.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
zcl_abapgit_sap_package=>create( ls_package_data ).
|
|
||||||
COMMIT WORK.
|
|
||||||
|
|
||||||
<ls_fpackage>-value = ls_package_data-devclass.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDFORM. "package_popup
|
ENDFORM. "package_popup
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,18 @@ CLASS lcl_popups DEFINITION FINAL.
|
||||||
i_select_column_text TYPE csequence
|
i_select_column_text TYPE csequence
|
||||||
it_columns_to_display TYPE stringtab
|
it_columns_to_display TYPE stringtab
|
||||||
EXPORTING VALUE(et_list) TYPE STANDARD TABLE
|
EXPORTING VALUE(et_list) TYPE STANDARD TABLE
|
||||||
|
RAISING zcx_abapgit_exception,
|
||||||
|
branch_popup_callback
|
||||||
|
IMPORTING iv_code TYPE clike
|
||||||
|
CHANGING ct_fields TYPE zif_abapgit_definitions=>ty_sval_tt
|
||||||
|
cs_error TYPE svale
|
||||||
|
cv_show_popup TYPE char01
|
||||||
|
RAISING zcx_abapgit_exception,
|
||||||
|
package_popup_callback
|
||||||
|
IMPORTING iv_code TYPE clike
|
||||||
|
CHANGING ct_fields TYPE zif_abapgit_definitions=>ty_sval_tt
|
||||||
|
cs_error TYPE svale
|
||||||
|
cv_show_popup TYPE char01
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
@ -1224,4 +1236,88 @@ CLASS lcl_popups IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD branch_popup_callback.
|
||||||
|
|
||||||
|
DATA: lv_url TYPE string,
|
||||||
|
ls_package_data TYPE scompkdtln,
|
||||||
|
ls_branch TYPE zcl_abapgit_git_branch_list=>ty_git_branch,
|
||||||
|
lv_create TYPE boolean.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_furl> LIKE LINE OF ct_fields,
|
||||||
|
<ls_fbranch> LIKE LINE OF ct_fields,
|
||||||
|
<ls_fpackage> LIKE LINE OF ct_fields.
|
||||||
|
|
||||||
|
CLEAR cs_error.
|
||||||
|
|
||||||
|
IF iv_code = 'COD1'.
|
||||||
|
cv_show_popup = abap_true.
|
||||||
|
|
||||||
|
READ TABLE ct_fields ASSIGNING <ls_furl> WITH KEY tabname = 'ABAPTXT255'.
|
||||||
|
IF sy-subrc <> 0 OR <ls_furl>-value IS INITIAL.
|
||||||
|
MESSAGE 'Fill URL' TYPE 'S' DISPLAY LIKE 'E'. "#EC NOTEXT
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
lv_url = <ls_furl>-value.
|
||||||
|
|
||||||
|
ls_branch = lcl_popups=>branch_list_popup( lv_url ).
|
||||||
|
IF ls_branch IS INITIAL.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
READ TABLE ct_fields ASSIGNING <ls_fbranch> WITH KEY tabname = 'TEXTL'.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
<ls_fbranch>-value = ls_branch-name.
|
||||||
|
|
||||||
|
ELSEIF iv_code = 'COD2'.
|
||||||
|
cv_show_popup = abap_true.
|
||||||
|
|
||||||
|
READ TABLE ct_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
|
||||||
|
ev_create = lv_create ).
|
||||||
|
IF lv_create = abap_false.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
zcl_abapgit_sap_package=>create( ls_package_data ).
|
||||||
|
COMMIT WORK.
|
||||||
|
|
||||||
|
<ls_fpackage>-value = ls_package_data-devclass.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD package_popup_callback.
|
||||||
|
|
||||||
|
DATA: ls_package_data TYPE scompkdtln,
|
||||||
|
lv_create TYPE boolean.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_fpackage> LIKE LINE OF ct_fields.
|
||||||
|
|
||||||
|
CLEAR cs_error.
|
||||||
|
|
||||||
|
IF iv_code = 'COD1'.
|
||||||
|
cv_show_popup = abap_true.
|
||||||
|
|
||||||
|
READ TABLE ct_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
|
||||||
|
ev_create = lv_create ).
|
||||||
|
IF lv_create = abap_false.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
zcl_abapgit_sap_package=>create( ls_package_data ).
|
||||||
|
COMMIT WORK.
|
||||||
|
|
||||||
|
<ls_fpackage>-value = ls_package_data-devclass.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -120,9 +120,23 @@ CLASS ZCL_ABAPGIT_SAP_PACKAGE IMPLEMENTATION.
|
||||||
intern_err = 6
|
intern_err = 6
|
||||||
OTHERS = 7 ).
|
OTHERS = 7 ).
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
|
|
||||||
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
|
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
|
||||||
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_err.
|
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO lv_err.
|
||||||
|
|
||||||
|
" Here we have to delete the package,
|
||||||
|
" otherwise it would remain in the memory
|
||||||
|
" and cannot created again in this session.
|
||||||
|
li_package->delete(
|
||||||
|
EXCEPTIONS
|
||||||
|
object_not_empty = 1
|
||||||
|
object_not_changeable = 2
|
||||||
|
object_invalid = 3
|
||||||
|
intern_err = 4
|
||||||
|
others = 5 ).
|
||||||
|
|
||||||
zcx_abapgit_exception=>raise( lv_err ).
|
zcx_abapgit_exception=>raise( lv_err ).
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
li_package->set_changeable( abap_false ).
|
li_package->set_changeable( abap_false ).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user