From 14a2820d3023a569abc56642cc92f6ae1fbd2149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frederik=20Hud=C3=A1k?= Date: Tue, 5 May 2020 08:40:01 +0200 Subject: [PATCH] Filter msag longtexts by master language in database (#3344) * Serialize master lang only - DTEL, DOCT * Filter msag longtext in database --- src/objects/zcl_abapgit_object_msag.clas.abap | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/src/objects/zcl_abapgit_object_msag.clas.abap b/src/objects/zcl_abapgit_object_msag.clas.abap index 1d5e486f2..6bc5b7590 100644 --- a/src/objects/zcl_abapgit_object_msag.clas.abap +++ b/src/objects/zcl_abapgit_object_msag.clas.abap @@ -48,7 +48,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION. +CLASS zcl_abapgit_object_msag IMPLEMENTATION. METHOD delete_documentation. @@ -160,11 +160,12 @@ CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION. METHOD serialize_longtexts_msag. - DATA: lv_object TYPE dokhl-object, - lt_objects TYPE STANDARD TABLE OF dokhl-object + DATA: lv_doku_object_name TYPE dokhl-object, + lt_doku_object_names TYPE STANDARD TABLE OF dokhl-object WITH NON-UNIQUE DEFAULT KEY, - lt_dokil TYPE zif_abapgit_definitions=>tty_dokil, - ls_dokil LIKE LINE OF lt_dokil. + lt_dokil TYPE zif_abapgit_definitions=>tty_dokil, + ls_dokil LIKE LINE OF lt_dokil, + lv_master_lang_only TYPE abap_bool. FIELD-SYMBOLS: TYPE t100. @@ -174,17 +175,28 @@ CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION. LOOP AT it_t100 ASSIGNING . - lv_object = -arbgb && -msgnr. - INSERT lv_object INTO TABLE lt_objects. + lv_doku_object_name = -arbgb && -msgnr. + INSERT lv_doku_object_name INTO TABLE lt_doku_object_names. ENDLOOP. - SELECT * FROM dokil - INTO TABLE lt_dokil - FOR ALL ENTRIES IN lt_objects - WHERE id = 'NA' - AND object = lt_objects-table_line - ORDER BY PRIMARY KEY. + lv_master_lang_only = io_xml->i18n_params( )-serialize_master_lang_only. + IF lv_master_lang_only = abap_true. + SELECT * FROM dokil + INTO TABLE lt_dokil + FOR ALL ENTRIES IN lt_doku_object_names + WHERE id = 'NA' + AND object = lt_doku_object_names-table_line + AND masterlang = abap_true + ORDER BY PRIMARY KEY. + ELSE. + SELECT * FROM dokil + INTO TABLE lt_dokil + FOR ALL ENTRIES IN lt_doku_object_names + WHERE id = 'NA' + AND object = lt_doku_object_names-table_line + ORDER BY PRIMARY KEY. + ENDIF. CLEAR ls_dokil-dokstate. MODIFY lt_dokil FROM ls_dokil TRANSPORTING dokstate WHERE dokstate IS NOT INITIAL. @@ -215,7 +227,7 @@ CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION. SELECT DISTINCT sprsl AS langu INTO TABLE lt_i18n_langs FROM t100t WHERE arbgb = lv_msg_id - AND sprsl <> mv_language. "#EC CI_BYPASS "#EC CI_GENBUFF + AND sprsl <> mv_language. "#EC CI_BYPASS "#EC CI_GENBUFF SORT lt_i18n_langs ASCENDING.