FUGR: fix texpool

METHOD deserialize_textpool moved
This commit is contained in:
larshp 2016-12-29 09:11:00 +00:00
parent d6d44c464e
commit 585f30d589
5 changed files with 38 additions and 37 deletions

View File

@ -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)

View File

@ -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.

View File

@ -317,6 +317,9 @@ CLASS lcl_object_fugr IMPLEMENTATION.
it_tpool = lt_tpool
iv_package = iv_package ).
deserialize_textpool( iv_program = <lv_include>
it_tpool = lt_tpool ).
ENDLOOP.
ENDMETHOD. "deserialize_includes

View File

@ -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

View File

@ -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.