diff --git a/src/zabapgit_object_prog.prog.abap b/src/zabapgit_object_prog.prog.abap index dc85ede9b..8c0d9dab7 100644 --- a/src/zabapgit_object_prog.prog.abap +++ b/src/zabapgit_object_prog.prog.abap @@ -15,7 +15,7 @@ CLASS lcl_object_prog DEFINITION INHERITING FROM lcl_objects_program FINAL. PRIVATE SECTION. TYPES: BEGIN OF ty_tpool_i18n, - langu TYPE langu, + language TYPE langu, textpool TYPE textpool_table, END OF ty_tpool_i18n, tt_tpool_i18n TYPE STANDARD TABLE OF ty_tpool_i18n. @@ -163,39 +163,28 @@ CLASS lcl_object_prog IMPLEMENTATION. METHOD serialize_texts. - DATA: - lt_tpool_i18n TYPE tt_tpool_i18n, - ls_tpool_i18n LIKE LINE OF lt_tpool_i18n, - lt_langs_i18n TYPE TABLE OF langu. + DATA lt_tpool_i18n TYPE tt_tpool_i18n. - FIELD-SYMBOLS: - LIKE LINE OF lt_langs_i18n, - LIKE LINE OF lt_tpool_i18n. + FIELD-SYMBOLS LIKE LINE OF lt_tpool_i18n. " Table d010tinf stores info. on languages in which program is maintained " Select all active translations of program texts " Skip master language - it was already serialized SELECT DISTINCT language - INTO TABLE lt_langs_i18n + INTO CORRESPONDING FIELDS OF TABLE lt_tpool_i18n FROM d010tinf WHERE r3state = 'A' AND prog = ms_item-obj_name AND language <> mv_language. - SORT lt_langs_i18n ASCENDING. - LOOP AT lt_langs_i18n ASSIGNING . - READ TEXTPOOL ms_item-obj_name LANGUAGE INTO ls_tpool_i18n-textpool. - - IF sy-subrc IS INITIAL. - ls_tpool_i18n-langu = . - APPEND ls_tpool_i18n TO lt_tpool_i18n. - ENDIF. + SORT lt_tpool_i18n BY language ASCENDING. + LOOP AT lt_tpool_i18n ASSIGNING . + READ TEXTPOOL ms_item-obj_name + LANGUAGE -language + INTO -textpool. ENDLOOP. - IF lines( lt_langs_i18n ) > 0. - io_xml->add( iv_name = 'I18N_LANGS' - ig_data = lt_langs_i18n ). - + IF lines( lt_tpool_i18n ) > 0. io_xml->add( iv_name = 'I18N_TPOOL' ig_data = lt_tpool_i18n ). ENDIF. @@ -212,7 +201,7 @@ CLASS lcl_object_prog IMPLEMENTATION. LOOP AT lt_tpool_i18n ASSIGNING . deserialize_textpool( iv_program = ms_item-obj_name - iv_language = -langu + iv_language = -language it_tpool = -textpool ). ENDLOOP. diff --git a/src/zabapgit_objects.prog.abap b/src/zabapgit_objects.prog.abap index 9235cf313..9dc251848 100644 --- a/src/zabapgit_objects.prog.abap +++ b/src/zabapgit_objects.prog.abap @@ -874,8 +874,8 @@ CLASS lcl_objects_program DEFINITION INHERITING FROM lcl_objects_super. METHODS deserialize_textpool IMPORTING iv_program TYPE programm - iv_language TYPE langu OPTIONAL it_tpool TYPE textpool_table + iv_language TYPE langu OPTIONAL RAISING lcx_exception. METHODS deserialize_cua