mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
SPRX downport
This commit is contained in:
parent
06097f9614
commit
7da7327f36
|
@ -23,6 +23,9 @@ CLASS zcl_abapgit_object_sprx DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
|||
DATA mv_object TYPE sproxhdr-object .
|
||||
DATA mv_obj_name TYPE sproxhdr-obj_name .
|
||||
|
||||
METHODS load_db
|
||||
RETURNING
|
||||
VALUE(rs_data) TYPE sprx_db_data .
|
||||
METHODS get_object_and_name
|
||||
EXPORTING
|
||||
!ev_object TYPE sproxhdr-object
|
||||
|
@ -141,6 +144,49 @@ CLASS ZCL_ABAPGIT_OBJECT_SPRX IMPLEMENTATION.
|
|||
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.
|
||||
|
||||
DATA:
|
||||
|
@ -177,8 +223,7 @@ CLASS ZCL_ABAPGIT_OBJECT_SPRX IMPLEMENTATION.
|
|||
AND obj_name = mv_obj_name
|
||||
AND inactive = abap_false.
|
||||
|
||||
IF sy-subrc = 0
|
||||
AND lv_changed_by IS NOT INITIAL.
|
||||
IF sy-subrc = 0 AND lv_changed_by IS NOT INITIAL.
|
||||
rv_user = lv_changed_by.
|
||||
ENDIF.
|
||||
|
||||
|
@ -295,22 +340,18 @@ CLASS ZCL_ABAPGIT_OBJECT_SPRX IMPLEMENTATION.
|
|||
METHOD zif_abapgit_object~serialize.
|
||||
|
||||
DATA:
|
||||
lo_proxy TYPE REF TO cl_proxy,
|
||||
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.
|
||||
ls_sprx_db_data TYPE sprx_db_data.
|
||||
|
||||
FIELD-SYMBOLS:
|
||||
<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.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
ls_sprx_db_data = cl_proxy_db=>load_by_abap_name(
|
||||
object = mv_object
|
||||
obj_name = mv_obj_name ).
|
||||
ls_sprx_db_data = load_db( ).
|
||||
|
||||
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.
|
||||
|
|
Loading…
Reference in New Issue
Block a user