SPRX downport

This commit is contained in:
larshp 2019-02-27 14:18:39 +00:00 committed by Lars Hvam
parent 06097f9614
commit 7da7327f36

View File

@ -23,6 +23,9 @@ CLASS zcl_abapgit_object_sprx DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
DATA mv_object TYPE sproxhdr-object . DATA mv_object TYPE sproxhdr-object .
DATA mv_obj_name TYPE sproxhdr-obj_name . DATA mv_obj_name TYPE sproxhdr-obj_name .
METHODS load_db
RETURNING
VALUE(rs_data) TYPE sprx_db_data .
METHODS get_object_and_name METHODS get_object_and_name
EXPORTING EXPORTING
!ev_object TYPE sproxhdr-object !ev_object TYPE sproxhdr-object
@ -141,6 +144,49 @@ CLASS ZCL_ABAPGIT_OBJECT_SPRX IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD load_db.
* method cl_proxy_db=>load_by_abap_name does not exist in lower releases
DATA: lt_packages TYPE prx_t_namespace_package,
ls_package LIKE LINE OF lt_packages,
ls_hdr TYPE prx_s_proxy_hdr,
lv_package TYPE tadir-devclass,
lt_ids TYPE prx_ids.
cl_proxy_query=>get_hdr_by_abap_name(
EXPORTING
object = mv_object
obj_name = mv_obj_name
IMPORTING
hdr = ls_hdr ).
APPEND ls_hdr-id TO lt_ids.
IF ls_hdr-gen_appl = 'WEBSERVICES'.
cl_proxy_utils=>get_package(
EXPORTING
object = mv_object
obj_name = mv_obj_name
RECEIVING
rval = lv_package
EXCEPTIONS
OTHERS = 0 ).
ls_package-namespace = ls_hdr-esr_nspce.
ls_package-prefix = ls_hdr-prefix.
ls_package-package = lv_package.
APPEND ls_package TO lt_packages.
ENDIF.
rs_data = cl_proxy_db=>load(
inactive = abap_false
ids = lt_ids
generating_application = ls_hdr-gen_appl
packages = lt_packages ).
ENDMETHOD.
METHOD save. METHOD save.
DATA: DATA:
@ -177,8 +223,7 @@ CLASS ZCL_ABAPGIT_OBJECT_SPRX IMPLEMENTATION.
AND obj_name = mv_obj_name AND obj_name = mv_obj_name
AND inactive = abap_false. AND inactive = abap_false.
IF sy-subrc = 0 IF sy-subrc = 0 AND lv_changed_by IS NOT INITIAL.
AND lv_changed_by IS NOT INITIAL.
rv_user = lv_changed_by. rv_user = lv_changed_by.
ENDIF. ENDIF.
@ -295,22 +340,18 @@ CLASS ZCL_ABAPGIT_OBJECT_SPRX IMPLEMENTATION.
METHOD zif_abapgit_object~serialize. METHOD zif_abapgit_object~serialize.
DATA: DATA:
lo_proxy TYPE REF TO cl_proxy, ls_sprx_db_data TYPE sprx_db_data.
ls_sprx_db_data TYPE sprx_db_data,
lt_delta TYPE sprx_t_delta,
lx_proxy_gen_error TYPE REF TO cx_proxy_gen_error.
FIELD-SYMBOLS: FIELD-SYMBOLS:
<ls_sproxheader> LIKE LINE OF ls_sprx_db_data-sproxhdr, <ls_sproxheader> LIKE LINE OF ls_sprx_db_data-sproxhdr,
<ls_sproxdat> TYPE sprx_dat. <ls_sproxdat> LIKE LINE OF ls_sprx_db_data-sproxdat.
IF zif_abapgit_object~exists( ) = abap_false. IF zif_abapgit_object~exists( ) = abap_false.
RETURN. RETURN.
ENDIF. ENDIF.
ls_sprx_db_data = cl_proxy_db=>load_by_abap_name( ls_sprx_db_data = load_db( ).
object = mv_object
obj_name = mv_obj_name ).
DELETE ls_sprx_db_data-sproxhdr WHERE object <> mv_object OR obj_name <> mv_obj_name. DELETE ls_sprx_db_data-sproxhdr WHERE object <> mv_object OR obj_name <> mv_obj_name.
DELETE ls_sprx_db_data-sproxdat WHERE object <> mv_object OR obj_name <> mv_obj_name. DELETE ls_sprx_db_data-sproxdat WHERE object <> mv_object OR obj_name <> mv_obj_name.