mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
173 lines
5.1 KiB
ABAP
173 lines
5.1 KiB
ABAP
*&---------------------------------------------------------------------*
|
|
*& Include ZABAPGIT_FORMS
|
|
*&---------------------------------------------------------------------*
|
|
|
|
|
|
*&---------------------------------------------------------------------*
|
|
*& Form run
|
|
*&---------------------------------------------------------------------*
|
|
FORM run.
|
|
|
|
DATA: lx_exception TYPE REF TO lcx_exception,
|
|
lv_ind TYPE t000-ccnocliind.
|
|
|
|
|
|
SELECT SINGLE ccnocliind FROM t000 INTO lv_ind
|
|
WHERE mandt = sy-mandt.
|
|
IF sy-subrc = 0
|
|
AND lv_ind <> ' '
|
|
AND lv_ind <> '1'. " check changes allowed
|
|
WRITE: / 'Wrong client, changes to repository objects not allowed'. "#EC NOTEXT
|
|
RETURN.
|
|
ENDIF.
|
|
|
|
TRY.
|
|
lcl_persistence_migrate=>run( ).
|
|
lcl_app=>run( ).
|
|
CATCH lcx_exception INTO lx_exception.
|
|
MESSAGE lx_exception->mv_text TYPE 'E'.
|
|
ENDTRY.
|
|
|
|
ENDFORM. "run
|
|
|
|
*&---------------------------------------------------------------------*
|
|
*& Form branch_popup
|
|
*&---------------------------------------------------------------------*
|
|
* text
|
|
*----------------------------------------------------------------------*
|
|
* -->TT_FIELDS text
|
|
* -->PV_CODE text
|
|
* -->CS_ERROR text
|
|
* -->CV_SHOW_POPUP text
|
|
* -->RAISING text
|
|
* -->LCX_EXCEPTION text
|
|
* -->##CALLED text
|
|
* -->##NEEDED text
|
|
*----------------------------------------------------------------------*
|
|
FORM branch_popup TABLES tt_fields STRUCTURE sval
|
|
USING pv_code TYPE clike
|
|
CHANGING cs_error TYPE svale
|
|
cv_show_popup TYPE c
|
|
RAISING lcx_exception ##called ##needed.
|
|
* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS
|
|
|
|
DATA: lv_url TYPE string,
|
|
lv_answer TYPE c,
|
|
lx_error TYPE REF TO lcx_exception,
|
|
lt_selection TYPE TABLE OF spopli,
|
|
ls_package_data TYPE scompkdtln,
|
|
lt_branches TYPE lcl_git_transport=>ty_branch_list_tt.
|
|
|
|
FIELD-SYMBOLS: <ls_fbranch> LIKE LINE OF tt_fields,
|
|
<ls_branch> LIKE LINE OF lt_branches,
|
|
<ls_sel> LIKE LINE OF lt_selection,
|
|
<ls_furl> 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.
|
|
lt_branches = lcl_git_transport=>branches( lv_url ).
|
|
CATCH lcx_exception INTO lx_error.
|
|
MESSAGE lx_error TYPE 'S' DISPLAY LIKE 'E'.
|
|
RETURN.
|
|
ENDTRY.
|
|
|
|
LOOP AT lt_branches ASSIGNING <ls_branch>.
|
|
APPEND INITIAL LINE TO lt_selection ASSIGNING <ls_sel>.
|
|
<ls_sel>-varoption = <ls_branch>-name.
|
|
ENDLOOP.
|
|
|
|
CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
|
|
EXPORTING
|
|
textline1 = 'Select branch'
|
|
titel = 'Select branch'
|
|
IMPORTING
|
|
answer = lv_answer
|
|
TABLES
|
|
t_spopli = lt_selection
|
|
EXCEPTIONS
|
|
not_enough_answers = 1
|
|
too_much_answers = 2
|
|
too_much_marks = 3
|
|
OTHERS = 4. "#EC NOTEXT
|
|
IF sy-subrc <> 0.
|
|
_raise 'Error from POPUP_TO_DECIDE_LIST'.
|
|
ENDIF.
|
|
|
|
IF lv_answer = 'A'. " cancel
|
|
RETURN.
|
|
ENDIF.
|
|
|
|
READ TABLE lt_selection ASSIGNING <ls_sel> WITH KEY selflag = abap_true.
|
|
ASSERT sy-subrc = 0.
|
|
|
|
READ TABLE tt_fields ASSIGNING <ls_fbranch> WITH KEY tabname = 'TEXTL'.
|
|
ASSERT sy-subrc = 0.
|
|
<ls_fbranch>-value = <ls_sel>-varoption.
|
|
|
|
ELSEIF pv_code = 'COD2'.
|
|
cv_show_popup = abap_true.
|
|
|
|
CALL FUNCTION 'FUNCTION_EXISTS'
|
|
EXPORTING
|
|
funcname = 'PB_POPUP_PACKAGE_CREATE'
|
|
EXCEPTIONS
|
|
function_not_exist = 1
|
|
OTHERS = 2.
|
|
IF sy-subrc = 1.
|
|
* looks like the function module used does not exist on all
|
|
* versions since 702, so show an error
|
|
_raise 'Function module PB_POPUP_PACKAGE_CREATE does not exist'.
|
|
ENDIF.
|
|
|
|
CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE'
|
|
CHANGING
|
|
p_object_data = ls_package_data
|
|
EXCEPTIONS
|
|
action_cancelled = 1.
|
|
IF sy-subrc = 1.
|
|
RETURN.
|
|
ENDIF.
|
|
|
|
lcl_sap_package=>create( ls_package_data ).
|
|
COMMIT WORK.
|
|
|
|
READ TABLE tt_fields ASSIGNING <ls_fbranch> WITH KEY tabname = 'TDEVC'.
|
|
ASSERT sy-subrc = 0.
|
|
<ls_fbranch>-value = ls_package_data-devclass.
|
|
ENDIF.
|
|
|
|
ENDFORM. "branch_popup
|
|
|
|
FORM output.
|
|
DATA: lt_ucomm TYPE TABLE OF sy-ucomm.
|
|
PERFORM set_pf_status IN PROGRAM rsdbrunt IF FOUND.
|
|
|
|
APPEND: 'CRET' TO lt_ucomm. "Button Execute
|
|
|
|
CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
|
|
EXPORTING
|
|
p_status = sy-pfkey
|
|
TABLES
|
|
p_exclude = lt_ucomm.
|
|
ENDFORM.
|
|
|
|
FORM exit RAISING lcx_exception.
|
|
CASE sy-ucomm.
|
|
WHEN 'CBAC'. "Back
|
|
IF lcl_app=>gui( )->back( ) IS INITIAL.
|
|
LEAVE TO SCREEN 1001.
|
|
ENDIF.
|
|
ENDCASE.
|
|
ENDFORM. |