diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap index 410f97ba6..af05a2383 100644 --- a/src/zabapgit.prog.abap +++ b/src/zabapgit.prog.abap @@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100. * See http://www.abapgit.org CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT - gc_abap_version TYPE string VALUE 'v1.24.7'. "#EC NOTEXT + gc_abap_version TYPE string VALUE 'v1.24.8'. "#EC NOTEXT ******************************************************************************** * The MIT License (MIT) diff --git a/src/zabapgit_object_clas.prog.abap b/src/zabapgit_object_clas.prog.abap index f2f27ef32..7dec96873 100644 --- a/src/zabapgit_object_clas.prog.abap +++ b/src/zabapgit_object_clas.prog.abap @@ -416,7 +416,7 @@ CLASS lcl_object_clas DEFINITION INHERITING FROM lcl_objects_program. PRIVATE SECTION. DATA mv_skip_testclass TYPE abap_bool. - METHODS deserialize_textpool + METHODS deserialize_tpool IMPORTING io_xml TYPE REF TO lcl_xml_input RAISING lcx_exception. @@ -1103,7 +1103,7 @@ CLASS lcl_object_clas IMPLEMENTATION. deserialize_abap( io_xml = io_xml iv_package = iv_package ). - deserialize_textpool( io_xml ). + deserialize_tpool( io_xml ). deserialize_sotr( io_xml = io_xml iv_package = iv_package ). @@ -1153,7 +1153,7 @@ CLASS lcl_object_clas IMPLEMENTATION. iv_language = mv_language ). ENDMETHOD. "deserialize_doku - METHOD deserialize_textpool. + METHOD deserialize_tpool. DATA: lv_cp TYPE program, lv_clsname TYPE seoclsname, @@ -1175,6 +1175,7 @@ CLASS lcl_object_clas IMPLEMENTATION. iv_class_name = lv_clsname it_text_pool = lt_tpool iv_language = mv_language ). + ENDMETHOD. "deserialize_textpool METHOD deserialize_abap. diff --git a/src/zabapgit_object_fugr.prog.abap b/src/zabapgit_object_fugr.prog.abap index 97aaf4f86..d09713ae7 100644 --- a/src/zabapgit_object_fugr.prog.abap +++ b/src/zabapgit_object_fugr.prog.abap @@ -317,6 +317,9 @@ CLASS lcl_object_fugr IMPLEMENTATION. it_tpool = lt_tpool iv_package = iv_package ). + deserialize_textpool( iv_program = + it_tpool = lt_tpool ). + ENDLOOP. ENDMETHOD. "deserialize_includes diff --git a/src/zabapgit_object_prog.prog.abap b/src/zabapgit_object_prog.prog.abap index d3b29e3c8..c3a32baee 100644 --- a/src/zabapgit_object_prog.prog.abap +++ b/src/zabapgit_object_prog.prog.abap @@ -13,12 +13,6 @@ CLASS lcl_object_prog DEFINITION INHERITING FROM lcl_objects_program FINAL. INTERFACES lif_object. ALIASES mo_files FOR lif_object~mo_files. - PRIVATE SECTION. - - METHODS deserialize_textpool - IMPORTING it_tpool TYPE textpool_table - RAISING lcx_exception. - ENDCLASS. "lcl_object_prog DEFINITION *----------------------------------------------------------------------* @@ -95,26 +89,6 @@ CLASS lcl_object_prog IMPLEMENTATION. ENDMETHOD. "delete - METHOD deserialize_textpool. - - READ TABLE it_tpool WITH KEY id = 'R' TRANSPORTING NO FIELDS. - IF ( sy-subrc = 0 AND lines( it_tpool ) = 1 ) OR lines( it_tpool ) = 0. - RETURN. " no action for includes - ENDIF. - - INSERT TEXTPOOL ms_item-obj_name - FROM it_tpool - LANGUAGE mv_language - STATE 'I'. - IF sy-subrc <> 0. - lcx_exception=>raise( 'error from INSERT TEXTPOOL' ). - ENDIF. - - lcl_objects_activation=>add( iv_type = 'REPT' - iv_name = ms_item-obj_name ). - - ENDMETHOD. "deserialize_textpool - METHOD lif_object~serialize. serialize_program( io_xml = io_xml @@ -157,7 +131,8 @@ CLASS lcl_object_prog IMPLEMENTATION. deserialize_cua( iv_program_name = lv_program_name is_cua = ls_cua ). - deserialize_textpool( lt_tpool ). + deserialize_textpool( iv_program = ms_item-obj_name + it_tpool = lt_tpool ). ENDMETHOD. "lif_serialize~deserialize diff --git a/src/zabapgit_objects.prog.abap b/src/zabapgit_objects.prog.abap index dbaa27977..601fb0c4c 100644 --- a/src/zabapgit_objects.prog.abap +++ b/src/zabapgit_objects.prog.abap @@ -898,6 +898,11 @@ CLASS lcl_objects_program DEFINITION INHERITING FROM lcl_objects_super. IMPORTING it_dynpros TYPE ty_dynpro_tt RAISING lcx_exception. + METHODS deserialize_textpool + IMPORTING iv_program TYPE programm + it_tpool TYPE textpool_table + RAISING lcx_exception. + METHODS deserialize_cua IMPORTING iv_program_name TYPE programm is_cua TYPE ty_cua @@ -1036,12 +1041,9 @@ CLASS lcl_objects_program IMPLEMENTATION. ENDIF. ENDIF. - IF lines( lt_tpool ) = 1. - READ TABLE lt_tpool INDEX 1 INTO ls_tpool. - ASSERT sy-subrc = 0. - IF ls_tpool-id = 'R' AND ls_tpool-key = '' AND ls_tpool-length = 0. - DELETE lt_tpool INDEX 1. - ENDIF. + READ TABLE lt_tpool WITH KEY id = 'R' INTO ls_tpool. + IF sy-subrc = 0 AND ls_tpool-key = '' AND ls_tpool-length = 0. + DELETE lt_tpool INDEX sy-tabix. ENDIF. lo_xml->add( iv_name = 'TPOOL' @@ -1416,6 +1418,26 @@ CLASS lcl_objects_program IMPLEMENTATION. ENDMETHOD. "read_tpool + METHOD deserialize_textpool. + + READ TABLE it_tpool WITH KEY id = 'R' TRANSPORTING NO FIELDS. + IF ( sy-subrc = 0 AND lines( it_tpool ) = 1 ) OR lines( it_tpool ) = 0. + RETURN. " no action for includes + ENDIF. + + INSERT TEXTPOOL iv_program + FROM it_tpool + LANGUAGE mv_language + STATE 'I'. + IF sy-subrc <> 0. + lcx_exception=>raise( 'error from INSERT TEXTPOOL' ). + ENDIF. + + lcl_objects_activation=>add( iv_type = 'REPT' + iv_name = iv_program ). + + ENDMETHOD. "deserialize_textpool + METHOD deserialize_cua. DATA: ls_tr_key TYPE trkey.