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( |
| ).
+
+ 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 }|.