dsys downport (#3495)

This commit is contained in:
Lars Hvam 2020-06-12 20:57:31 +02:00 committed by GitHub
parent ac701157f0
commit 01823a97a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -38,7 +38,7 @@ ENDCLASS.
CLASS zcl_abapgit_object_dsys IMPLEMENTATION.
CLASS ZCL_ABAPGIT_OBJECT_DSYS IMPLEMENTATION.
METHOD constructor.
@ -61,6 +61,54 @@ CLASS zcl_abapgit_object_dsys IMPLEMENTATION.
ENDMETHOD.
METHOD deserialize_dsys.
DATA: ls_data TYPE ty_data,
ls_docu_info TYPE dokil,
lv_version TYPE dokvers.
io_xml->read( EXPORTING iv_name = 'DSYS'
CHANGING cg_data = ls_data ).
CALL FUNCTION 'DOCU_INIT'
EXPORTING
id = c_id
langu = mv_language
object = mv_doc_object
typ = c_typ
IMPORTING
xdokil = ls_docu_info.
lv_version = ls_docu_info-version.
CALL FUNCTION 'DOCU_UPDATE'
EXPORTING
head = ls_data-head
state = 'A'
typ = c_typ
version = lv_version
TABLES
line = ls_data-lines.
ENDMETHOD.
METHOD get_master_lang.
DATA: lv_language TYPE spras.
SELECT SINGLE langu FROM dokil INTO rv_language
WHERE id = c_id
AND object = mv_doc_object
AND masterlang = abap_true.
IF sy-subrc <> 0.
rv_language = mv_language.
ENDIF.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.
rv_user = zcl_abapgit_factory=>get_longtexts( )->changed_by(
@ -147,11 +195,15 @@ CLASS zcl_abapgit_object_dsys IMPLEMENTATION.
METHOD zif_abapgit_object~jump.
DATA lv_lang TYPE sy-langu.
lv_lang = get_master_lang( ).
CALL FUNCTION 'DSYS_EDIT'
EXPORTING
dokclass = mv_doc_object+0(4)
dokname = mv_doc_object+4(*)
doklangu = get_master_lang( )
doklangu = lv_lang
EXCEPTIONS
class_unknown = 1
object_not_found = 2
@ -174,53 +226,4 @@ CLASS zcl_abapgit_object_dsys IMPLEMENTATION.
io_xml = io_xml ).
ENDMETHOD.
METHOD deserialize_dsys.
DATA: ls_data TYPE ty_data,
ls_docu_info TYPE dokil,
lv_version TYPE dokvers.
io_xml->read( EXPORTING iv_name = 'DSYS'
CHANGING cg_data = ls_data ).
CALL FUNCTION 'DOCU_INIT'
EXPORTING
id = c_id
langu = mv_language
object = mv_doc_object
typ = c_typ
IMPORTING
xdokil = ls_docu_info.
lv_version = ls_docu_info-version.
CALL FUNCTION 'DOCU_UPDATE'
EXPORTING
head = ls_data-head
state = 'A'
typ = c_typ
version = lv_version
TABLES
line = ls_data-lines.
ENDMETHOD.
METHOD get_master_lang.
DATA: lv_language TYPE spras.
SELECT SINGLE langu FROM dokil INTO rv_language
WHERE id = c_id
AND object = mv_doc_object
AND masterlang = abap_true.
IF sy-subrc <> 0.
rv_language = mv_language.
ENDIF.
ENDMETHOD.
ENDCLASS.