mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Share output and event handler for code inspector
This commit is contained in:
parent
ce05bb65b1
commit
eb34b7eeec
|
@ -1,5 +1,5 @@
|
|||
CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
INHERITING FROM zcl_abapgit_gui_page.
|
||||
INHERITING FROM zcl_abapgit_gui_page_codi_base.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES: zif_abapgit_gui_page_hotkey.
|
||||
|
@ -19,10 +19,9 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
REDEFINITION.
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA: mo_repo TYPE REF TO zcl_abapgit_repo.
|
||||
|
||||
METHODS:
|
||||
render_content REDEFINITION.
|
||||
render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS:
|
||||
|
@ -31,10 +30,7 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
commit TYPE string VALUE 'commit' ##NO_TEXT,
|
||||
rerun TYPE string VALUE 'rerun' ##NO_TEXT,
|
||||
END OF c_actions.
|
||||
CONSTANTS: c_object_separator type char1 VALUE '|'.
|
||||
|
||||
DATA:
|
||||
mt_result TYPE scit_alvlist,
|
||||
mo_stage TYPE REF TO zcl_abapgit_stage.
|
||||
|
||||
METHODS:
|
||||
|
@ -54,14 +50,7 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
|
||||
is_stage_allowed
|
||||
RETURNING
|
||||
VALUE(rv_is_stage_allowed) TYPE abap_bool,
|
||||
jump
|
||||
IMPORTING
|
||||
is_item TYPE zif_abapgit_definitions=>ty_item
|
||||
is_sub_item TYPE zif_abapgit_definitions=>ty_item
|
||||
i_line_number type i
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
VALUE(rv_is_stage_allowed) TYPE abap_bool.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
@ -135,88 +124,6 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD jump.
|
||||
|
||||
DATA: lo_test TYPE REF TO cl_ci_test_root,
|
||||
li_code_inspector TYPE REF TO zif_abapgit_code_inspector,
|
||||
ls_info TYPE scir_rest,
|
||||
lo_result TYPE REF TO cl_ci_result_root,
|
||||
lv_check_variant_name TYPE sci_chkv,
|
||||
lv_package TYPE devclass.
|
||||
DATA: lv_adt_jump_enabled TYPE abap_bool.
|
||||
DATA: lv_line_number TYPE i.
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
DATA: ls_sub_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
|
||||
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
||||
|
||||
IF is_sub_item IS NOT INITIAL.
|
||||
READ TABLE mt_result WITH KEY objtype = is_item-obj_type
|
||||
objname = is_item-obj_name
|
||||
sobjtype = is_sub_item-obj_type
|
||||
sobjname = is_sub_item-obj_name
|
||||
line = i_line_number
|
||||
ASSIGNING <ls_result>.
|
||||
ELSE.
|
||||
READ TABLE mt_result WITH KEY objtype = is_item-obj_type
|
||||
objname = is_item-obj_name
|
||||
line = i_line_number
|
||||
ASSIGNING <ls_result>.
|
||||
ENDIF.
|
||||
ASSERT <ls_result> IS ASSIGNED.
|
||||
ls_item-obj_name = <ls_result>-objname.
|
||||
ls_item-obj_type = <ls_result>-objtype.
|
||||
|
||||
ls_sub_item-obj_name = <ls_result>-sobjname.
|
||||
ls_sub_item-obj_type = <ls_result>-sobjtype.
|
||||
|
||||
lv_package = mo_repo->get_package( ).
|
||||
lv_check_variant_name = mo_repo->get_local_settings( )-code_inspector_check_variant.
|
||||
|
||||
li_code_inspector = zcl_abapgit_factory=>get_code_inspector(
|
||||
iv_package = lv_package
|
||||
iv_check_variant_name = lv_check_variant_name ).
|
||||
|
||||
" see SCI_LCL_DYNP_530 / HANDLE_DOUBLE_CLICK
|
||||
|
||||
lv_adt_jump_enabled = zcl_abapgit_persist_settings=>get_instance( )->read( )->get_adt_jump_enabled( ).
|
||||
|
||||
TRY.
|
||||
IF lv_adt_jump_enabled = abap_true.
|
||||
|
||||
lv_line_number = <ls_result>-line.
|
||||
|
||||
zcl_abapgit_objects_super=>jump_adt( i_obj_name = ls_item-obj_name
|
||||
i_obj_type = ls_item-obj_type
|
||||
i_sub_obj_name = ls_sub_item-obj_name
|
||||
i_sub_obj_type = ls_sub_item-obj_type
|
||||
i_line_number = lv_line_number ).
|
||||
RETURN.
|
||||
|
||||
ENDIF.
|
||||
CATCH zcx_abapgit_exception.
|
||||
ENDTRY.
|
||||
|
||||
TRY.
|
||||
lo_test ?= cl_ci_tests=>get_test_ref( <ls_result>-test ).
|
||||
|
||||
CATCH cx_root.
|
||||
zcx_abapgit_exception=>raise( |Jump to object not supported in your NW release| ).
|
||||
ENDTRY.
|
||||
|
||||
lo_result = lo_test->get_result_node( <ls_result>-kind ).
|
||||
|
||||
|
||||
MOVE-CORRESPONDING <ls_result> TO ls_info.
|
||||
|
||||
lo_result->set_info( ls_info ).
|
||||
lo_result->if_ci_test~navigate( ).
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_content.
|
||||
|
||||
DATA: lv_check_variant TYPE sci_chkv,
|
||||
|
@ -246,50 +153,13 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
ro_html->add( |<br/>| ).
|
||||
|
||||
LOOP AT mt_result ASSIGNING <ls_result>.
|
||||
|
||||
ro_html->add( '<div>' ).
|
||||
IF <ls_result>-sobjname IS INITIAL or
|
||||
( <ls_result>-sobjname = <ls_result>-objname and
|
||||
<ls_result>-sobjtype = <ls_result>-sobjtype ).
|
||||
ro_html->add_a( iv_txt = |{ <ls_result>-objtype } { <ls_result>-objname }|
|
||||
iv_act = |{ <ls_result>-objtype }{ <ls_result>-objname }| &&
|
||||
|{ c_object_separator }{ c_object_separator }{ <ls_result>-line }|
|
||||
iv_typ = zif_abapgit_definitions=>c_action_type-sapevent ).
|
||||
|
||||
ELSE.
|
||||
ro_html->add_a( iv_txt = |{ <ls_result>-objtype } { <ls_result>-objname }| &&
|
||||
| < { <ls_result>-sobjtype } { <ls_result>-sobjname }|
|
||||
iv_act = |{ <ls_result>-objtype }{ <ls_result>-objname }| &&
|
||||
|{ c_object_separator }{ <ls_result>-sobjtype }{ <ls_result>-sobjname }| &&
|
||||
|{ c_object_separator }{ <ls_result>-line }|
|
||||
iv_typ = zif_abapgit_definitions=>c_action_type-sapevent ).
|
||||
|
||||
ENDIF.
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
CASE <ls_result>-kind.
|
||||
WHEN 'E'.
|
||||
lv_class = 'error'.
|
||||
WHEN 'W'.
|
||||
lv_class = 'warning'.
|
||||
WHEN OTHERS.
|
||||
lv_class = 'grey'.
|
||||
ENDCASE.
|
||||
|
||||
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
|
||||
EXPORTING
|
||||
input = <ls_result>-line
|
||||
IMPORTING
|
||||
output = lv_line.
|
||||
|
||||
ro_html->add( |<div class="{ lv_class }">Line { lv_line }: { <ls_result>-text }</div><br>| ).
|
||||
render_result( ro_html = ro_html iv_result = <ls_result> ).
|
||||
ENDLOOP.
|
||||
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
|
||||
METHOD run_code_inspector.
|
||||
|
||||
mt_result = mo_repo->run_code_inspector( ).
|
||||
|
@ -315,7 +185,6 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
|
||||
|
||||
METHOD zif_abapgit_gui_page~on_event.
|
||||
|
||||
DATA: lo_repo_online TYPE REF TO zcl_abapgit_repo_online,
|
||||
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
ls_sub_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
|
@ -324,7 +193,6 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
DATA: lv_line_number_s TYPE string.
|
||||
DATA: lv_line_number TYPE i.
|
||||
|
||||
|
||||
CASE iv_action.
|
||||
WHEN c_actions-stage.
|
||||
|
||||
|
@ -371,28 +239,16 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
|
||||
ei_page = me.
|
||||
ev_state = zif_abapgit_definitions=>c_event_state-re_render.
|
||||
|
||||
WHEN zif_abapgit_definitions=>c_action-abapgit_home.
|
||||
RETURN.
|
||||
|
||||
WHEN OTHERS.
|
||||
SPLIT iv_action AT c_object_separator INTO lv_main_object lv_sub_object lv_line_number_s.
|
||||
ls_item-obj_type = lv_main_object(4).
|
||||
ls_item-obj_name = lv_main_object+4(*).
|
||||
|
||||
IF lv_sub_object IS NOT INITIAL.
|
||||
ls_sub_item-obj_type = lv_sub_object(4).
|
||||
ls_sub_item-obj_name = lv_sub_object+4(*).
|
||||
ENDIF.
|
||||
|
||||
lv_line_number = lv_line_number_s.
|
||||
|
||||
jump( is_item = ls_item
|
||||
is_sub_item = ls_sub_item
|
||||
i_line_number = lv_line_number ).
|
||||
|
||||
ev_state = zif_abapgit_definitions=>c_event_state-no_more_act.
|
||||
|
||||
super->zif_abapgit_gui_page~on_event(
|
||||
EXPORTING
|
||||
iv_action = iv_action
|
||||
iv_prev_page = iv_prev_page
|
||||
iv_getdata = iv_getdata
|
||||
it_postdata = it_postdata
|
||||
IMPORTING
|
||||
ei_page = ei_page
|
||||
ev_state = ev_state ).
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
|
188
src/ui/zcl_abapgit_gui_page_codi_base.clas.abap
Normal file
188
src/ui/zcl_abapgit_gui_page_codi_base.clas.abap
Normal file
|
@ -0,0 +1,188 @@
|
|||
CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM zcl_abapgit_gui_page.
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
zif_abapgit_gui_page~on_event
|
||||
REDEFINITION.
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA: mo_repo TYPE REF TO zcl_abapgit_repo.
|
||||
DATA:
|
||||
mt_result TYPE scit_alvlist.
|
||||
|
||||
METHODS:
|
||||
render_result IMPORTING ro_html TYPE REF TO zcl_abapgit_html
|
||||
iv_result TYPE scir_alvlist,
|
||||
jump
|
||||
IMPORTING
|
||||
is_item TYPE zif_abapgit_definitions=>ty_item
|
||||
is_sub_item TYPE zif_abapgit_definitions=>ty_item
|
||||
i_line_number type i
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS: c_object_separator TYPE char1 VALUE '|'.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_gui_page_codi_base IMPLEMENTATION.
|
||||
|
||||
METHOD render_result.
|
||||
DATA: lv_class TYPE string,
|
||||
lv_line TYPE string.
|
||||
|
||||
ro_html->add( '<div>' ).
|
||||
IF iv_result-sobjname IS INITIAL OR
|
||||
( iv_result-sobjname = iv_result-objname AND
|
||||
iv_result-sobjtype = iv_result-sobjtype ).
|
||||
ro_html->add_a( iv_txt = |{ iv_result-objtype } { iv_result-objname }|
|
||||
iv_act = |{ iv_result-objtype }{ iv_result-objname }| &&
|
||||
|{ c_object_separator }{ c_object_separator }{ iv_result-line }|
|
||||
iv_typ = zif_abapgit_definitions=>c_action_type-sapevent ).
|
||||
|
||||
ELSE.
|
||||
ro_html->add_a( iv_txt = |{ iv_result-objtype } { iv_result-objname }| &&
|
||||
| < { iv_result-sobjtype } { iv_result-sobjname }|
|
||||
iv_act = |{ iv_result-objtype }{ iv_result-objname }| &&
|
||||
|{ c_object_separator }{ iv_result-sobjtype }{ iv_result-sobjname }| &&
|
||||
|{ c_object_separator }{ iv_result-line }|
|
||||
iv_typ = zif_abapgit_definitions=>c_action_type-sapevent ).
|
||||
|
||||
ENDIF.
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
CASE iv_result-kind.
|
||||
WHEN 'E'.
|
||||
lv_class = 'error'.
|
||||
WHEN 'W'.
|
||||
lv_class = 'warning'.
|
||||
WHEN OTHERS.
|
||||
lv_class = 'grey'.
|
||||
ENDCASE.
|
||||
|
||||
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
|
||||
EXPORTING
|
||||
input = iv_result-line
|
||||
IMPORTING
|
||||
output = lv_line.
|
||||
|
||||
ro_html->add( |<div class="{ lv_class }">Line { lv_line }: { iv_result-text }</div><br>| ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_gui_page~on_event.
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
ls_sub_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
lv_main_object TYPE string,
|
||||
lv_sub_object TYPE string,
|
||||
lv_line_number_s TYPE string,
|
||||
lv_line_number TYPE i.
|
||||
|
||||
|
||||
CASE iv_action.
|
||||
|
||||
WHEN zif_abapgit_definitions=>c_action-abapgit_home.
|
||||
RETURN.
|
||||
|
||||
WHEN OTHERS.
|
||||
SPLIT iv_action AT c_object_separator INTO lv_main_object lv_sub_object lv_line_number_s.
|
||||
ls_item-obj_type = lv_main_object(4).
|
||||
ls_item-obj_name = lv_main_object+4(*).
|
||||
|
||||
IF lv_sub_object IS NOT INITIAL.
|
||||
ls_sub_item-obj_type = lv_sub_object(4).
|
||||
ls_sub_item-obj_name = lv_sub_object+4(*).
|
||||
ENDIF.
|
||||
|
||||
lv_line_number = lv_line_number_s.
|
||||
|
||||
jump( is_item = ls_item
|
||||
is_sub_item = ls_sub_item
|
||||
i_line_number = lv_line_number ).
|
||||
|
||||
ev_state = zif_abapgit_definitions=>c_event_state-no_more_act.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD jump.
|
||||
DATA: lo_test TYPE REF TO cl_ci_test_root,
|
||||
li_code_inspector TYPE REF TO zif_abapgit_code_inspector,
|
||||
ls_info TYPE scir_rest,
|
||||
lo_result TYPE REF TO cl_ci_result_root,
|
||||
lv_check_variant_name TYPE sci_chkv,
|
||||
lv_package TYPE devclass.
|
||||
DATA: lv_adt_jump_enabled TYPE abap_bool.
|
||||
DATA: lv_line_number TYPE i.
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
DATA: ls_sub_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
|
||||
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
||||
|
||||
IF is_sub_item IS NOT INITIAL.
|
||||
READ TABLE mt_result WITH KEY objtype = is_item-obj_type
|
||||
objname = is_item-obj_name
|
||||
sobjtype = is_sub_item-obj_type
|
||||
sobjname = is_sub_item-obj_name
|
||||
line = i_line_number
|
||||
ASSIGNING <ls_result>.
|
||||
ELSE.
|
||||
READ TABLE mt_result WITH KEY objtype = is_item-obj_type
|
||||
objname = is_item-obj_name
|
||||
line = i_line_number
|
||||
ASSIGNING <ls_result>.
|
||||
ENDIF.
|
||||
ASSERT <ls_result> IS ASSIGNED.
|
||||
ls_item-obj_name = <ls_result>-objname.
|
||||
ls_item-obj_type = <ls_result>-objtype.
|
||||
|
||||
ls_sub_item-obj_name = <ls_result>-sobjname.
|
||||
ls_sub_item-obj_type = <ls_result>-sobjtype.
|
||||
|
||||
lv_package = mo_repo->get_package( ).
|
||||
lv_check_variant_name = mo_repo->get_local_settings( )-code_inspector_check_variant.
|
||||
|
||||
li_code_inspector = zcl_abapgit_factory=>get_code_inspector(
|
||||
iv_package = lv_package
|
||||
iv_check_variant_name = lv_check_variant_name ).
|
||||
|
||||
" see SCI_LCL_DYNP_530 / HANDLE_DOUBLE_CLICK
|
||||
|
||||
lv_adt_jump_enabled = zcl_abapgit_persist_settings=>get_instance( )->read( )->get_adt_jump_enabled( ).
|
||||
|
||||
TRY.
|
||||
IF lv_adt_jump_enabled = abap_true.
|
||||
|
||||
lv_line_number = <ls_result>-line.
|
||||
|
||||
zcl_abapgit_objects_super=>jump_adt( i_obj_name = ls_item-obj_name
|
||||
i_obj_type = ls_item-obj_type
|
||||
i_sub_obj_name = ls_sub_item-obj_name
|
||||
i_sub_obj_type = ls_sub_item-obj_type
|
||||
i_line_number = lv_line_number ).
|
||||
RETURN.
|
||||
|
||||
ENDIF.
|
||||
CATCH zcx_abapgit_exception.
|
||||
ENDTRY.
|
||||
|
||||
TRY.
|
||||
lo_test ?= cl_ci_tests=>get_test_ref( <ls_result>-test ).
|
||||
|
||||
CATCH cx_root.
|
||||
zcx_abapgit_exception=>raise( |Jump to object not supported in your NW release| ).
|
||||
ENDTRY.
|
||||
|
||||
lo_result = lo_test->get_result_node( <ls_result>-kind ).
|
||||
|
||||
|
||||
MOVE-CORRESPONDING <ls_result> TO ls_info.
|
||||
|
||||
lo_result->set_info( ls_info ).
|
||||
lo_result->if_ci_test~navigate( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
19
src/ui/zcl_abapgit_gui_page_codi_base.clas.xml
Normal file
19
src/ui/zcl_abapgit_gui_page_codi_base.clas.xml
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_ABAPGIT_GUI_PAGE_CODI_BASE</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>base class for code inspector</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSABSTRCT>X</CLSABSTRCT>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,5 +1,5 @@
|
|||
CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
INHERITING FROM zcl_abapgit_gui_page.
|
||||
INHERITING FROM zcl_abapgit_gui_page_codi_base.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES: zif_abapgit_gui_page_hotkey.
|
||||
|
@ -9,7 +9,6 @@ CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
IMPORTING io_repo TYPE REF TO zcl_abapgit_repo.
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA: mo_repo TYPE REF TO zcl_abapgit_repo.
|
||||
|
||||
METHODS:
|
||||
render_content REDEFINITION.
|
||||
|
@ -30,23 +29,22 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SYNTAX IMPLEMENTATION.
|
|||
|
||||
METHOD render_content.
|
||||
|
||||
DATA: li_syntax_check TYPE REF TO zif_abapgit_code_inspector,
|
||||
lt_result TYPE scit_alvlist,
|
||||
ls_result LIKE LINE OF lt_result.
|
||||
DATA: li_syntax_check TYPE REF TO zif_abapgit_code_inspector.
|
||||
FIELD-SYMBOLS: <ls_result> LIKE LINE OF mt_result.
|
||||
|
||||
li_syntax_check = zcl_abapgit_factory=>get_syntax_check( iv_package = mo_repo->get_package( ) ).
|
||||
|
||||
lt_result = li_syntax_check->run( ).
|
||||
mt_result = li_syntax_check->run( ).
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
ro_html->add( '<div class="toc">' ).
|
||||
|
||||
IF lines( lt_result ) = 0.
|
||||
IF lines( mt_result ) = 0.
|
||||
ro_html->add( 'No errors' ).
|
||||
ENDIF.
|
||||
|
||||
LOOP AT lt_result INTO ls_result.
|
||||
ro_html->add( |{ ls_result-objtype } { ls_result-objname } { ls_result-kind } { ls_result-text }<br>| ).
|
||||
LOOP AT mt_result ASSIGNING <ls_result>.
|
||||
render_result( ro_html = ro_html iv_result = <ls_result> ).
|
||||
ENDLOOP.
|
||||
|
||||
ro_html->add( '</div>' ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user