From 01823a97a97713ebc38902b9b01f914fb344aca5 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Fri, 12 Jun 2020 20:57:31 +0200 Subject: [PATCH] dsys downport (#3495) --- src/objects/zcl_abapgit_object_dsys.clas.abap | 105 +++++++++--------- 1 file changed, 54 insertions(+), 51 deletions(-) diff --git a/src/objects/zcl_abapgit_object_dsys.clas.abap b/src/objects/zcl_abapgit_object_dsys.clas.abap index 557fae928..3bcd4ba96 100644 --- a/src/objects/zcl_abapgit_object_dsys.clas.abap +++ b/src/objects/zcl_abapgit_object_dsys.clas.abap @@ -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.