mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
refactor transport popup
This commit is contained in:
parent
198521012c
commit
582a3ab02a
|
@ -151,6 +151,13 @@ CLASS zcl_abapgit_popups DEFINITION
|
||||||
!cv_show_popup TYPE char01
|
!cv_show_popup TYPE char01
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
CLASS-METHODS popup_transport_request
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_transport) TYPE trkorr
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception
|
||||||
|
zcx_abapgit_cancel .
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
|
@ -197,7 +204,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION.
|
CLASS zcl_abapgit_popups IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD add_field.
|
METHOD add_field.
|
||||||
|
@ -1428,4 +1435,32 @@ CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD popup_transport_request.
|
||||||
|
|
||||||
|
DATA: lt_e071 TYPE STANDARD TABLE OF e071,
|
||||||
|
lt_e071k TYPE STANDARD TABLE OF e071k.
|
||||||
|
|
||||||
|
CALL FUNCTION 'TRINT_ORDER_CHOICE'
|
||||||
|
IMPORTING
|
||||||
|
we_order = rv_transport
|
||||||
|
TABLES
|
||||||
|
wt_e071 = lt_e071
|
||||||
|
wt_e071k = lt_e071k
|
||||||
|
EXCEPTIONS
|
||||||
|
no_correction_selected = 1
|
||||||
|
display_mode = 2
|
||||||
|
object_append_error = 3
|
||||||
|
recursive_call = 4
|
||||||
|
wrong_order_type = 5
|
||||||
|
OTHERS = 6.
|
||||||
|
|
||||||
|
IF sy-subrc = 1.
|
||||||
|
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
|
||||||
|
ELSEIF sy-subrc > 1.
|
||||||
|
zcx_abapgit_exception=>raise( |Error from TRINT_ORDER_CHOICE { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -94,7 +94,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_SERVICES_REPO IMPLEMENTATION.
|
CLASS zcl_abapgit_services_repo IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD clone.
|
METHOD clone.
|
||||||
|
@ -148,6 +148,10 @@ CLASS ZCL_ABAPGIT_SERVICES_REPO IMPLEMENTATION.
|
||||||
ls_checks-requirements-decision = 'Y'.
|
ls_checks-requirements-decision = 'Y'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
IF ls_checks-transport-required = abap_true.
|
||||||
|
ls_checks-transport-transport = zcl_abapgit_popups=>popup_transport_request( ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
CATCH zcx_abapgit_cancel.
|
CATCH zcx_abapgit_cancel.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
|
@ -1,311 +0,0 @@
|
||||||
CLASS zcl_abapgit_default_task DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
CLASS-METHODS:
|
|
||||||
get_instance
|
|
||||||
RETURNING
|
|
||||||
VALUE(ro_instance) TYPE REF TO zcl_abapgit_default_task
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
METHODS:
|
|
||||||
constructor
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception,
|
|
||||||
|
|
||||||
set
|
|
||||||
IMPORTING
|
|
||||||
iv_package TYPE devclass
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception,
|
|
||||||
|
|
||||||
reset
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
|
|
||||||
CLASS-DATA go_instance TYPE REF TO zcl_abapgit_default_task .
|
|
||||||
DATA mv_task_is_set_by_abapgit TYPE abap_bool .
|
|
||||||
DATA ms_save_default_task TYPE e070use .
|
|
||||||
|
|
||||||
METHODS store_current_default_task
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS restore_saved_default_task
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS get_default_task
|
|
||||||
RETURNING
|
|
||||||
VALUE(rs_default_task) TYPE e070use
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS set_default_task
|
|
||||||
IMPORTING
|
|
||||||
!iv_order TYPE trkorr
|
|
||||||
!iv_task TYPE trkorr
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS call_transport_order_popup
|
|
||||||
EXPORTING
|
|
||||||
!ev_order TYPE trkorr
|
|
||||||
!ev_task TYPE trkorr
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS are_objects_recorded_in_tr_req
|
|
||||||
IMPORTING
|
|
||||||
!iv_package TYPE devclass
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_are_objects_recorded) TYPE abap_bool
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS clear_default_task
|
|
||||||
IMPORTING
|
|
||||||
!is_default_task TYPE e070use
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_DEFAULT_TASK IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD are_objects_recorded_in_tr_req.
|
|
||||||
|
|
||||||
DATA: li_package TYPE REF TO if_package.
|
|
||||||
|
|
||||||
cl_package_factory=>load_package(
|
|
||||||
EXPORTING
|
|
||||||
i_package_name = iv_package
|
|
||||||
IMPORTING
|
|
||||||
e_package = li_package
|
|
||||||
EXCEPTIONS
|
|
||||||
object_not_existing = 1
|
|
||||||
unexpected_error = 2
|
|
||||||
intern_err = 3
|
|
||||||
no_access = 4
|
|
||||||
object_locked_and_modified = 5
|
|
||||||
OTHERS = 6 ).
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Error from CL_PACKAGE_FACTORY=>LOAD_PACKAGE { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
rv_are_objects_recorded = li_package->wbo_korr_flag.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD call_transport_order_popup.
|
|
||||||
|
|
||||||
DATA: lt_e071 TYPE STANDARD TABLE OF e071,
|
|
||||||
lt_e071k TYPE STANDARD TABLE OF e071k.
|
|
||||||
|
|
||||||
CLEAR: ev_order,
|
|
||||||
ev_task.
|
|
||||||
|
|
||||||
CALL FUNCTION 'TRINT_ORDER_CHOICE'
|
|
||||||
IMPORTING
|
|
||||||
we_order = ev_order
|
|
||||||
we_task = ev_task
|
|
||||||
TABLES
|
|
||||||
wt_e071 = lt_e071
|
|
||||||
wt_e071k = lt_e071k
|
|
||||||
EXCEPTIONS
|
|
||||||
no_correction_selected = 1
|
|
||||||
display_mode = 2
|
|
||||||
object_append_error = 3
|
|
||||||
recursive_call = 4
|
|
||||||
wrong_order_type = 5
|
|
||||||
OTHERS = 6.
|
|
||||||
|
|
||||||
IF sy-subrc = 1.
|
|
||||||
zcx_abapgit_exception=>raise( 'cancelled' ).
|
|
||||||
ELSEIF sy-subrc > 1.
|
|
||||||
zcx_abapgit_exception=>raise( |Error from TRINT_ORDER_CHOICE { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD clear_default_task.
|
|
||||||
|
|
||||||
CALL FUNCTION 'TR_TASK_RESET'
|
|
||||||
EXPORTING
|
|
||||||
iv_username = is_default_task-username
|
|
||||||
iv_order = is_default_task-ordernum
|
|
||||||
iv_task = is_default_task-tasknum
|
|
||||||
iv_dialog = abap_false
|
|
||||||
EXCEPTIONS
|
|
||||||
invalid_username = 1
|
|
||||||
invalid_order = 2
|
|
||||||
invalid_task = 3
|
|
||||||
OTHERS = 4.
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Error from TR_TASK_RESET { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
|
||||||
|
|
||||||
store_current_default_task( ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD get_default_task.
|
|
||||||
|
|
||||||
DATA: lt_e070use TYPE STANDARD TABLE OF e070use.
|
|
||||||
|
|
||||||
CALL FUNCTION 'TR_TASK_GET'
|
|
||||||
TABLES
|
|
||||||
tt_e070use = lt_e070use
|
|
||||||
EXCEPTIONS
|
|
||||||
invalid_username = 1
|
|
||||||
invalid_category = 2
|
|
||||||
invalid_client = 3
|
|
||||||
OTHERS = 4.
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Error from TR_TASK_GET { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
READ TABLE lt_e070use INTO rs_default_task
|
|
||||||
INDEX 1.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD get_instance.
|
|
||||||
|
|
||||||
IF go_instance IS NOT BOUND.
|
|
||||||
CREATE OBJECT go_instance.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ro_instance = go_instance.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD reset.
|
|
||||||
|
|
||||||
DATA: ls_default_task TYPE e070use.
|
|
||||||
|
|
||||||
IF mv_task_is_set_by_abapgit = abap_false.
|
|
||||||
" if the default transport request task isn't set
|
|
||||||
" by us there is nothing to do.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CLEAR mv_task_is_set_by_abapgit.
|
|
||||||
|
|
||||||
ls_default_task = get_default_task( ).
|
|
||||||
|
|
||||||
IF ls_default_task IS NOT INITIAL.
|
|
||||||
|
|
||||||
clear_default_task( ls_default_task ).
|
|
||||||
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
restore_saved_default_task( ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD restore_saved_default_task.
|
|
||||||
|
|
||||||
IF ms_save_default_task IS INITIAL.
|
|
||||||
" There wasn't a default transport request before
|
|
||||||
" so we needn't restore anything.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CALL FUNCTION 'TR_TASK_SET'
|
|
||||||
EXPORTING
|
|
||||||
iv_order = ms_save_default_task-ordernum
|
|
||||||
iv_task = ms_save_default_task-tasknum
|
|
||||||
EXCEPTIONS
|
|
||||||
invalid_username = 1
|
|
||||||
invalid_category = 2
|
|
||||||
invalid_client = 3
|
|
||||||
invalid_validdays = 4
|
|
||||||
invalid_order = 5
|
|
||||||
invalid_task = 6
|
|
||||||
OTHERS = 7.
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Error from TR_TASK_SET { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD set.
|
|
||||||
|
|
||||||
" checks whether object changes of the package are rerorded in transport
|
|
||||||
" requests. If true then we set the default task, so that no annoying
|
|
||||||
" transport request popups are shown while deserializing.
|
|
||||||
|
|
||||||
DATA: lv_order TYPE trkorr,
|
|
||||||
lv_task TYPE trkorr.
|
|
||||||
|
|
||||||
IF mv_task_is_set_by_abapgit = abap_true.
|
|
||||||
" the default transport request task is already set by us
|
|
||||||
" -> no reason to do it again.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF are_objects_recorded_in_tr_req( iv_package ) = abap_false.
|
|
||||||
" Objects of package are not recorded in transport request,
|
|
||||||
" no need to proceed.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
call_transport_order_popup(
|
|
||||||
IMPORTING
|
|
||||||
ev_order = lv_order
|
|
||||||
ev_task = lv_task ).
|
|
||||||
|
|
||||||
set_default_task( iv_order = lv_order
|
|
||||||
iv_task = lv_task ).
|
|
||||||
|
|
||||||
mv_task_is_set_by_abapgit = abap_true.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD set_default_task.
|
|
||||||
|
|
||||||
CALL FUNCTION 'TR_TASK_SET'
|
|
||||||
EXPORTING
|
|
||||||
iv_order = iv_order
|
|
||||||
iv_task = iv_task
|
|
||||||
EXCEPTIONS
|
|
||||||
invalid_username = 1
|
|
||||||
invalid_category = 2
|
|
||||||
invalid_client = 3
|
|
||||||
invalid_validdays = 4
|
|
||||||
invalid_order = 5
|
|
||||||
invalid_task = 6
|
|
||||||
OTHERS = 7.
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Error from TR_TASK_SET { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD store_current_default_task.
|
|
||||||
|
|
||||||
ms_save_default_task = get_default_task( ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
236
src/zcl_abapgit_default_transport.clas.abap
Normal file
236
src/zcl_abapgit_default_transport.clas.abap
Normal file
|
@ -0,0 +1,236 @@
|
||||||
|
CLASS zcl_abapgit_default_transport DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
CREATE PRIVATE .
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
CLASS-METHODS:
|
||||||
|
get_instance
|
||||||
|
RETURNING
|
||||||
|
VALUE(ro_instance) TYPE REF TO zcl_abapgit_default_transport
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
METHODS:
|
||||||
|
constructor
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
set
|
||||||
|
IMPORTING
|
||||||
|
iv_transport TYPE trkorr
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
reset
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
CLASS-DATA:
|
||||||
|
mo_instance TYPE REF TO zcl_abapgit_default_transport .
|
||||||
|
|
||||||
|
DATA:
|
||||||
|
mv_is_set_by_abapgit TYPE abap_bool,
|
||||||
|
ms_save TYPE e070use.
|
||||||
|
|
||||||
|
METHODS:
|
||||||
|
store
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
restore
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
get
|
||||||
|
RETURNING
|
||||||
|
VALUE(rs_default_task) TYPE e070use
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
set_internal
|
||||||
|
IMPORTING
|
||||||
|
iv_transport TYPE trkorr
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
clear
|
||||||
|
IMPORTING
|
||||||
|
is_default_task TYPE e070use
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CLASS zcl_abapgit_default_transport IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD clear.
|
||||||
|
|
||||||
|
CALL FUNCTION 'TR_TASK_RESET'
|
||||||
|
EXPORTING
|
||||||
|
iv_username = is_default_task-username
|
||||||
|
iv_order = is_default_task-ordernum
|
||||||
|
iv_task = is_default_task-tasknum
|
||||||
|
iv_dialog = abap_false
|
||||||
|
EXCEPTIONS
|
||||||
|
invalid_username = 1
|
||||||
|
invalid_order = 2
|
||||||
|
invalid_task = 3
|
||||||
|
OTHERS = 4.
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Error from TR_TASK_RESET { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD constructor.
|
||||||
|
|
||||||
|
store( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get.
|
||||||
|
|
||||||
|
DATA: lt_e070use TYPE STANDARD TABLE OF e070use.
|
||||||
|
|
||||||
|
CALL FUNCTION 'TR_TASK_GET'
|
||||||
|
TABLES
|
||||||
|
tt_e070use = lt_e070use
|
||||||
|
EXCEPTIONS
|
||||||
|
invalid_username = 1
|
||||||
|
invalid_category = 2
|
||||||
|
invalid_client = 3
|
||||||
|
OTHERS = 4.
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Error from TR_TASK_GET { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
READ TABLE lt_e070use INTO rs_default_task
|
||||||
|
INDEX 1.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_instance.
|
||||||
|
|
||||||
|
IF mo_instance IS NOT BOUND.
|
||||||
|
CREATE OBJECT mo_instance.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ro_instance = mo_instance.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD reset.
|
||||||
|
|
||||||
|
DATA: ls_default_task TYPE e070use.
|
||||||
|
|
||||||
|
IF mv_is_set_by_abapgit = abap_false.
|
||||||
|
" if the default transport request task isn't set
|
||||||
|
" by us there is nothing to do.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CLEAR mv_is_set_by_abapgit.
|
||||||
|
|
||||||
|
ls_default_task = get( ).
|
||||||
|
|
||||||
|
IF ls_default_task IS NOT INITIAL.
|
||||||
|
|
||||||
|
clear( ls_default_task ).
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
restore( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD restore.
|
||||||
|
|
||||||
|
IF ms_save IS INITIAL.
|
||||||
|
" There wasn't a default transport request before
|
||||||
|
" so we needn't restore anything.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CALL FUNCTION 'TR_TASK_SET'
|
||||||
|
EXPORTING
|
||||||
|
iv_order = ms_save-ordernum
|
||||||
|
iv_task = ms_save-tasknum
|
||||||
|
EXCEPTIONS
|
||||||
|
invalid_username = 1
|
||||||
|
invalid_category = 2
|
||||||
|
invalid_client = 3
|
||||||
|
invalid_validdays = 4
|
||||||
|
invalid_order = 5
|
||||||
|
invalid_task = 6
|
||||||
|
OTHERS = 7.
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Error from TR_TASK_SET { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD set.
|
||||||
|
|
||||||
|
" checks whether object changes of the package are rerorded in transport
|
||||||
|
" requests. If true then we set the default task, so that no annoying
|
||||||
|
" transport request popups are shown while deserializing.
|
||||||
|
|
||||||
|
IF mv_is_set_by_abapgit = abap_true.
|
||||||
|
" the default transport request task is already set by us
|
||||||
|
" -> no reason to do it again.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF iv_transport IS INITIAL.
|
||||||
|
zcx_abapgit_exception=>raise( |No transport request was supplied| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
set_internal( iv_transport ).
|
||||||
|
|
||||||
|
mv_is_set_by_abapgit = abap_true.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD set_internal.
|
||||||
|
|
||||||
|
CALL FUNCTION 'TR_TASK_SET'
|
||||||
|
EXPORTING
|
||||||
|
iv_order = iv_transport
|
||||||
|
* iv_task = iv_task
|
||||||
|
EXCEPTIONS
|
||||||
|
invalid_username = 1
|
||||||
|
invalid_category = 2
|
||||||
|
invalid_client = 3
|
||||||
|
invalid_validdays = 4
|
||||||
|
invalid_order = 5
|
||||||
|
invalid_task = 6
|
||||||
|
OTHERS = 7.
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Error from TR_TASK_SET { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD store.
|
||||||
|
|
||||||
|
ms_save = get( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
ENDCLASS.
|
|
@ -3,13 +3,11 @@
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
<asx:values>
|
<asx:values>
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>ZCL_ABAPGIT_DEFAULT_TASK</CLSNAME>
|
<CLSNAME>ZCL_ABAPGIT_DEFAULT_TRANSPORT</CLSNAME>
|
||||||
<VERSION>1</VERSION>
|
<VERSION>1</VERSION>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>abapGit default transport request task</DESCRIPT>
|
<DESCRIPT>abapGit default transport request task</DESCRIPT>
|
||||||
<EXPOSURE>2</EXPOSURE>
|
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSFINAL>X</CLSFINAL>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
<UNICODE>X</UNICODE>
|
<UNICODE>X</UNICODE>
|
|
@ -89,6 +89,10 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
rv_bool = abap_true.
|
rv_bool = abap_true.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD setup.
|
METHOD setup.
|
||||||
FIELD-SYMBOLS: <ls_inject> LIKE LINE OF zcl_abapgit_sap_package=>gt_injected.
|
FIELD-SYMBOLS: <ls_inject> LIKE LINE OF zcl_abapgit_sap_package=>gt_injected.
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
CLASS zcl_abapgit_objects IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD changed_by.
|
METHOD changed_by.
|
||||||
|
@ -420,7 +420,10 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
||||||
|
|
||||||
lv_package = io_repo->get_package( ).
|
lv_package = io_repo->get_package( ).
|
||||||
|
|
||||||
zcl_abapgit_default_task=>get_instance( )->set( lv_package ).
|
IF is_checks-transport-required = abap_true.
|
||||||
|
zcl_abapgit_default_transport=>get_instance( )->set( is_checks-transport-transport ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
zcl_abapgit_objects_activation=>clear( ).
|
zcl_abapgit_objects_activation=>clear( ).
|
||||||
|
|
||||||
lt_remote = io_repo->get_files_remote( ).
|
lt_remote = io_repo->get_files_remote( ).
|
||||||
|
@ -510,7 +513,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
||||||
SORT rt_accessed_files BY path ASCENDING filename ASCENDING.
|
SORT rt_accessed_files BY path ASCENDING filename ASCENDING.
|
||||||
DELETE ADJACENT DUPLICATES FROM rt_accessed_files. " Just in case
|
DELETE ADJACENT DUPLICATES FROM rt_accessed_files. " Just in case
|
||||||
|
|
||||||
zcl_abapgit_default_task=>get_instance( )->reset( ).
|
zcl_abapgit_default_transport=>get_instance( )->reset( ).
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
|
||||||
|
|
|
@ -94,9 +94,11 @@ CLASS zcl_abapgit_repo DEFINITION
|
||||||
VALUE(rs_settings) TYPE zif_abapgit_persistence=>ty_repo-local_settings .
|
VALUE(rs_settings) TYPE zif_abapgit_persistence=>ty_repo-local_settings .
|
||||||
METHODS set_local_settings
|
METHODS set_local_settings
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings
|
is_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
DATA mt_local TYPE zif_abapgit_definitions=>ty_files_item_tt .
|
DATA mt_local TYPE zif_abapgit_definitions=>ty_files_item_tt .
|
||||||
|
@ -117,12 +119,13 @@ CLASS zcl_abapgit_repo DEFINITION
|
||||||
!is_local_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings OPTIONAL
|
!is_local_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings OPTIONAL
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
PRIVATE SECTION.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION.
|
CLASS zcl_abapgit_repo IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
@ -158,14 +161,17 @@ CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise( 'Requirements not met and undecided ').
|
zcx_abapgit_exception=>raise( 'Requirements not met and undecided ').
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
IF is_checks-transport-required = abap_true AND is_checks-transport-transport IS INITIAL.
|
||||||
|
zcx_abapgit_exception=>raise( |No transport request was supplied| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
lt_updated_files = zcl_abapgit_objects=>deserialize(
|
lt_updated_files = zcl_abapgit_objects=>deserialize(
|
||||||
io_repo = me
|
io_repo = me
|
||||||
is_checks = is_checks ).
|
is_checks = is_checks ).
|
||||||
CATCH zcx_abapgit_exception INTO lx_error.
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
* ensure to reset default transport request task
|
* ensure to reset default transport request task
|
||||||
zcl_abapgit_default_task=>get_instance( )->reset( ).
|
zcl_abapgit_default_transport=>get_instance( )->reset( ).
|
||||||
RAISE EXCEPTION lx_error.
|
RAISE EXCEPTION lx_error.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
|
@ -197,6 +203,8 @@ CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION.
|
||||||
rs_checks-requirements-met = zcl_abapgit_requirement_helper=>is_requirements_met(
|
rs_checks-requirements-met = zcl_abapgit_requirement_helper=>is_requirements_met(
|
||||||
lt_requirements ).
|
lt_requirements ).
|
||||||
|
|
||||||
|
rs_checks-transport-required = zcl_abapgit_sap_package=>get( ms_data-package )->are_changes_recorded_in_tr_req( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -603,4 +611,5 @@ CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION.
|
||||||
set( it_checksums = lt_checksums ).
|
set( it_checksums = lt_checksums ).
|
||||||
|
|
||||||
ENDMETHOD. " update_local_checksums
|
ENDMETHOD. " update_local_checksums
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -107,7 +107,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION.
|
CLASS zcl_abapgit_repo_online IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD actualize_head_branch.
|
METHOD actualize_head_branch.
|
||||||
|
|
|
@ -33,7 +33,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_SAP_PACKAGE IMPLEMENTATION.
|
CLASS zcl_abapgit_sap_package IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
@ -272,4 +272,30 @@ CLASS ZCL_ABAPGIT_SAP_PACKAGE IMPLEMENTATION.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
|
||||||
|
|
||||||
|
DATA: li_package TYPE REF TO if_package.
|
||||||
|
|
||||||
|
cl_package_factory=>load_package(
|
||||||
|
EXPORTING
|
||||||
|
i_package_name = mv_package
|
||||||
|
IMPORTING
|
||||||
|
e_package = li_package
|
||||||
|
EXCEPTIONS
|
||||||
|
object_not_existing = 1
|
||||||
|
unexpected_error = 2
|
||||||
|
intern_err = 3
|
||||||
|
no_access = 4
|
||||||
|
object_locked_and_modified = 5
|
||||||
|
OTHERS = 6 ).
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Error from CL_PACKAGE_FACTORY=>LOAD_PACKAGE { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
rv_are_changes_rec_in_tr_req = li_package->wbo_korr_flag.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -94,10 +94,17 @@ INTERFACE zif_abapgit_definitions PUBLIC.
|
||||||
decision TYPE ty_yes_no,
|
decision TYPE ty_yes_no,
|
||||||
END OF ty_requirements.
|
END OF ty_requirements.
|
||||||
|
|
||||||
|
TYPES: BEGIN OF ty_transport,
|
||||||
|
required TYPE abap_bool,
|
||||||
|
transport TYPE trkorr,
|
||||||
|
END OF ty_transport.
|
||||||
|
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_deserialize_checks,
|
TYPES: BEGIN OF ty_deserialize_checks,
|
||||||
overwrite TYPE ty_overwrite_tt,
|
overwrite TYPE ty_overwrite_tt,
|
||||||
warning_package TYPE ty_overwrite_tt,
|
warning_package TYPE ty_overwrite_tt,
|
||||||
requirements TYPE ty_requirements,
|
requirements TYPE ty_requirements,
|
||||||
|
transport TYPE ty_transport,
|
||||||
END OF ty_deserialize_checks.
|
END OF ty_deserialize_checks.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
|
|
|
@ -13,6 +13,9 @@ INTERFACE zif_abapgit_sap_package PUBLIC.
|
||||||
IMPORTING iv_child TYPE devclass
|
IMPORTING iv_child TYPE devclass
|
||||||
RAISING zcx_abapgit_exception,
|
RAISING zcx_abapgit_exception,
|
||||||
exists
|
exists
|
||||||
RETURNING VALUE(rv_bool) TYPE abap_bool.
|
RETURNING VALUE(rv_bool) TYPE abap_bool,
|
||||||
|
are_changes_recorded_in_tr_req
|
||||||
|
RETURNING VALUE(rv_are_changes_rec_in_tr_req) TYPE abap_bool
|
||||||
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user