mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
new approach for activating
This commit is contained in:
parent
57c9c0385b
commit
cc0a196360
111
zabapgit.abap
111
zabapgit.abap
|
@ -2,7 +2,7 @@ REPORT zabapgit.
|
||||||
|
|
||||||
* See https://github.com/larshp/abapGit/
|
* See https://github.com/larshp/abapGit/
|
||||||
|
|
||||||
CONSTANTS: gc_version TYPE string VALUE 'v0.1-alpha'. "#EC NOTEXT
|
CONSTANTS: gc_version TYPE string VALUE 'v0.x-alpha'. "#EC NOTEXT
|
||||||
|
|
||||||
********************************************************************************
|
********************************************************************************
|
||||||
* The MIT License (MIT)
|
* The MIT License (MIT)
|
||||||
|
@ -1042,6 +1042,10 @@ ENDCLASS. "lcl_diff IMPLEMENTATION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_common DEFINITION ABSTRACT.
|
CLASS lcl_serialize_common DEFINITION ABSTRACT.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
CLASS-DATA: gt_ddic TYPE TABLE OF dwinactiv,
|
||||||
|
gt_programs TYPE TABLE OF dwinactiv.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
CLASS-METHODS: xml_to_file IMPORTING is_item TYPE st_item
|
CLASS-METHODS: xml_to_file IMPORTING is_item TYPE st_item
|
||||||
io_xml TYPE REF TO lcl_xml
|
io_xml TYPE REF TO lcl_xml
|
||||||
|
@ -1065,7 +1069,7 @@ CLASS lcl_serialize_common DEFINITION ABSTRACT.
|
||||||
RETURNING value(rs_file) TYPE st_file
|
RETURNING value(rs_file) TYPE st_file
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: activate IMPORTING is_item TYPE st_item
|
CLASS-METHODS: into_working_area IMPORTING is_item TYPE st_item
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: corr_insert IMPORTING is_item TYPE st_item
|
CLASS-METHODS: corr_insert IMPORTING is_item TYPE st_item
|
||||||
|
@ -1104,7 +1108,9 @@ CLASS lcl_serialize_common IMPLEMENTATION.
|
||||||
permission_failure = 2
|
permission_failure = 2
|
||||||
unknown_objectclass = 3
|
unknown_objectclass = 3
|
||||||
OTHERS = 4.
|
OTHERS = 4.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc = 1.
|
||||||
|
_raise 'Cancelled'.
|
||||||
|
ELSEIF sy-subrc <> 0.
|
||||||
_raise 'error from RS_CORR_INSERT'.
|
_raise 'error from RS_CORR_INSERT'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -1121,13 +1127,17 @@ CLASS lcl_serialize_common IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD. "filename
|
ENDMETHOD. "filename
|
||||||
|
|
||||||
METHOD activate.
|
METHOD into_working_area.
|
||||||
|
|
||||||
* function group SEWORKINGAREA
|
* function group SEWORKINGAREA
|
||||||
|
* function module RS_INSERT_INTO_WORKING_AREA
|
||||||
|
* class CL_WB_ACTIVATION_WORK_AREA
|
||||||
|
|
||||||
DATA: lt_objects TYPE dwinactiv_tab,
|
DATA: lt_objects TYPE dwinactiv_tab,
|
||||||
lv_obj_name TYPE dwinactiv-obj_name.
|
lv_obj_name TYPE dwinactiv-obj_name.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_object> LIKE LINE OF lt_objects.
|
||||||
|
|
||||||
|
|
||||||
lv_obj_name = is_item-obj_name.
|
lv_obj_name = is_item-obj_name.
|
||||||
|
|
||||||
|
@ -1139,40 +1149,11 @@ CLASS lcl_serialize_common IMPLEMENTATION.
|
||||||
object = is_item-obj_type
|
object = is_item-obj_type
|
||||||
TABLES
|
TABLES
|
||||||
inactive_objects = lt_objects.
|
inactive_objects = lt_objects.
|
||||||
|
APPEND LINES OF lt_objects TO lcl_serialize_common=>gt_programs.
|
||||||
IF lt_objects[] IS INITIAL.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CALL FUNCTION 'RS_WORKING_OBJECTS_ACTIVATE'
|
|
||||||
TABLES
|
|
||||||
objects = lt_objects
|
|
||||||
EXCEPTIONS
|
|
||||||
excecution_error = 1
|
|
||||||
cancelled = 2
|
|
||||||
insert_into_corr_error = 3
|
|
||||||
execution_error = 4
|
|
||||||
OTHERS = 5.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
_raise 'error from RS_WORKING_OBJECTS_ACTIVATE'.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
WHEN 'DOMA' OR 'DTEL'.
|
WHEN 'DOMA' OR 'DTEL'.
|
||||||
CALL FUNCTION 'RS_WORKING_OBJECT_ACTIVATE'
|
APPEND INITIAL LINE TO lcl_serialize_common=>gt_ddic ASSIGNING <ls_object>.
|
||||||
EXPORTING
|
<ls_object>-object = is_item-obj_type.
|
||||||
object = is_item-obj_type
|
<ls_object>-obj_name = lv_obj_name.
|
||||||
obj_name = lv_obj_name
|
|
||||||
dictionary_only = abap_true
|
|
||||||
EXCEPTIONS
|
|
||||||
object_not_in_working_area = 1
|
|
||||||
execution_error = 2
|
|
||||||
cancelled = 3
|
|
||||||
insert_into_corr_error = 4
|
|
||||||
OTHERS = 5.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
_raise 'error from RS_WORKING_OBJECT_ACTIVATE'.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
_raise 'activate, unknown type'.
|
_raise 'activate, unknown type'.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
@ -1367,7 +1348,7 @@ CLASS lcl_serialize_doma IMPLEMENTATION.
|
||||||
_raise 'error from DDIF_DOMA_PUT'.
|
_raise 'error from DDIF_DOMA_PUT'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
activate( is_item ).
|
into_working_area( is_item ).
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
|
||||||
|
@ -1475,7 +1456,7 @@ CLASS lcl_serialize_dtel IMPLEMENTATION.
|
||||||
_raise 'error from DDIF_DTEL_PUT'.
|
_raise 'error from DDIF_DTEL_PUT'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
activate( is_item ).
|
into_working_area( is_item ).
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
|
||||||
|
@ -1882,7 +1863,7 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
_raise 'save failure'.
|
_raise 'save failure'.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
activate( is_item ).
|
into_working_area( is_item ).
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
|
||||||
|
@ -2332,6 +2313,7 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
||||||
ls_progdir_new-dbapl = ls_progdir-dbapl.
|
ls_progdir_new-dbapl = ls_progdir-dbapl.
|
||||||
ls_progdir_new-rload = ls_progdir-rload.
|
ls_progdir_new-rload = ls_progdir-rload.
|
||||||
|
|
||||||
|
* todo, use new approach for activating, call method into_working_list()
|
||||||
CALL FUNCTION 'UPDATE_PROGDIR'
|
CALL FUNCTION 'UPDATE_PROGDIR'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
i_progdir = ls_progdir_new
|
i_progdir = ls_progdir_new
|
||||||
|
@ -2393,6 +2375,8 @@ CLASS lcl_serialize DEFINITION FINAL.
|
||||||
RETURNING value(rv_match) TYPE abap_bool
|
RETURNING value(rv_match) TYPE abap_bool
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS activate RAISING lcx_exception.
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize DEFINITION
|
ENDCLASS. "lcl_serialize DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -2503,6 +2487,9 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files.
|
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files.
|
||||||
|
|
||||||
|
|
||||||
|
CLEAR lcl_serialize_common=>gt_ddic[].
|
||||||
|
CLEAR lcl_serialize_common=>gt_ddic[].
|
||||||
|
|
||||||
* todo, sort objects when activating? DOMA first, DTEL, etc.
|
* todo, sort objects when activating? DOMA first, DTEL, etc.
|
||||||
LOOP AT it_files ASSIGNING <ls_file>.
|
LOOP AT it_files ASSIGNING <ls_file>.
|
||||||
SPLIT <ls_file>-filename AT '.' INTO lv_pre lv_type lv_ext.
|
SPLIT <ls_file>-filename AT '.' INTO lv_pre lv_type lv_ext.
|
||||||
|
@ -2548,8 +2535,52 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
activate( ).
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
|
||||||
|
METHOD activate.
|
||||||
|
|
||||||
|
* ddic
|
||||||
|
IF NOT lcl_serialize_common=>gt_ddic[] IS INITIAL.
|
||||||
|
CALL FUNCTION 'RS_WORKING_OBJECTS_ACTIVATE'
|
||||||
|
EXPORTING
|
||||||
|
activate_ddic_objects = abap_true
|
||||||
|
with_popup = abap_true
|
||||||
|
TABLES
|
||||||
|
objects = lcl_serialize_common=>gt_ddic
|
||||||
|
EXCEPTIONS
|
||||||
|
excecution_error = 1
|
||||||
|
cancelled = 2
|
||||||
|
insert_into_corr_error = 3
|
||||||
|
execution_error = 4
|
||||||
|
OTHERS = 5.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
_raise 'error from RS_WORKING_OBJECTS_ACTIVATE'.
|
||||||
|
ENDIF.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
* programs
|
||||||
|
IF NOT lcl_serialize_common=>gt_programs[] IS INITIAL.
|
||||||
|
CALL FUNCTION 'RS_WORKING_OBJECTS_ACTIVATE'
|
||||||
|
EXPORTING
|
||||||
|
activate_ddic_objects = abap_false
|
||||||
|
with_popup = abap_true
|
||||||
|
TABLES
|
||||||
|
objects = lcl_serialize_common=>gt_programs
|
||||||
|
EXCEPTIONS
|
||||||
|
excecution_error = 1
|
||||||
|
cancelled = 2
|
||||||
|
insert_into_corr_error = 3
|
||||||
|
execution_error = 4
|
||||||
|
OTHERS = 5.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
_raise 'error from RS_WORKING_OBJECTS_ACTIVATE'.
|
||||||
|
ENDIF.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD. "activate
|
||||||
|
|
||||||
METHOD compare_files.
|
METHOD compare_files.
|
||||||
|
|
||||||
READ TABLE it_repo WITH KEY path = is_gen-path
|
READ TABLE it_repo WITH KEY path = is_gen-path
|
||||||
|
|
Loading…
Reference in New Issue
Block a user