Filter msag longtexts by master language in database (#3344)

* Serialize master lang only - DTEL, DOCT

* Filter msag longtext in database
This commit is contained in:
Frederik Hudák 2020-05-05 08:40:01 +02:00 committed by GitHub
parent ccba5c0286
commit 14a2820d30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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.
ls_dokil LIKE LINE OF lt_dokil,
lv_master_lang_only TYPE abap_bool.
FIELD-SYMBOLS: <ls_t100> TYPE t100.
@ -174,17 +175,28 @@ CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION.
LOOP AT it_t100 ASSIGNING <ls_t100>.
lv_object = <ls_t100>-arbgb && <ls_t100>-msgnr.
INSERT lv_object INTO TABLE lt_objects.
lv_doku_object_name = <ls_t100>-arbgb && <ls_t100>-msgnr.
INSERT lv_doku_object_name INTO TABLE lt_doku_object_names.
ENDLOOP.
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_objects
FOR ALL ENTRIES IN lt_doku_object_names
WHERE id = 'NA'
AND object = lt_objects-table_line
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.