diff --git a/src/ui/zcl_abapgit_html_form.clas.abap b/src/ui/zcl_abapgit_html_form.clas.abap index c9554bf8b..65b6e86fd 100644 --- a/src/ui/zcl_abapgit_html_form.clas.abap +++ b/src/ui/zcl_abapgit_html_form.clas.abap @@ -631,10 +631,10 @@ CLASS zcl_abapgit_html_form IMPLEMENTATION. METHOD render_field_table. DATA: - lv_value TYPE string, - lv_readonly TYPE string, - lv_rows TYPE i, - lv_cell_id TYPE string. + lv_value TYPE string, + lv_readonly TYPE string, + lv_rows TYPE i, + lv_cell_id TYPE string. FIELD-SYMBOLS LIKE LINE OF is_field-subitems. @@ -644,44 +644,52 @@ CLASS zcl_abapgit_html_form IMPLEMENTATION. ii_html->add( is_attr-error ). ENDIF. - ii_html->add( || ). - - ii_html->add( || ). - ii_html->add( || ). - LOOP AT is_field-subitems ASSIGNING . - CLEAR lv_value. - IF -value IS NOT INITIAL. - lv_value = escape( val = -value - format = cl_abap_format=>e_html_attr ). - lv_value = | width="{ lv_value }"|. - ENDIF. - ii_html->add( |{ -label }| ). - ENDLOOP. - ii_html->add( || ). - ii_html->add( || ). - lv_rows = io_values->get( |{ is_field-name }-{ zif_abapgit_html_form=>c_rows }| ). - ii_html->add( || ). - DO lv_rows TIMES. - lv_rows = sy-index. + " Render table only if there are some data rows + IF lv_rows > 0. + + ii_html->add( |
| ). + + ii_html->add( || ). ii_html->add( || ). LOOP AT is_field-subitems ASSIGNING . - lv_cell_id = |{ is_field-name }-{ lv_rows }-{ sy-tabix }|. - lv_value = escape( val = io_values->get( lv_cell_id ) - format = cl_abap_format=>e_html_attr ). - CLEAR lv_readonly. - IF -readonly = abap_true. - lv_readonly = | readonly|. + CLEAR lv_value. + IF -value IS NOT INITIAL. + lv_value = escape( val = -value + format = cl_abap_format=>e_html_attr ). + lv_value = | width="{ lv_value }"|. ENDIF. - ii_html->add( || ). + ii_html->add( |{ -label }| ). ENDLOOP. ii_html->add( || ). - ENDDO. - ii_html->add( || ). + ii_html->add( || ). - ii_html->add( |
| ). + ii_html->add( || ). + DO lv_rows TIMES. + lv_rows = sy-index. + ii_html->add( || ). + LOOP AT is_field-subitems ASSIGNING . + lv_cell_id = |{ is_field-name }-{ lv_rows }-{ sy-tabix }|. + lv_value = escape( val = io_values->get( lv_cell_id ) + format = cl_abap_format=>e_html_attr ). + CLEAR lv_readonly. + IF -readonly = abap_true. + lv_readonly = | readonly|. + ENDIF. + ii_html->add( || ). + ENDLOOP. + ii_html->add( || ). + ENDDO. + ii_html->add( || ). + + ii_html->add( || ). + + ELSE. + ii_html->add( || ). + ENDIF. " Hidden field with number of rows to simplify getting values from form lv_value = |{ is_field-name }-{ zif_abapgit_html_form=>c_rows }|.