Hi Bruno.
You should declare your Internal Table as your Z Table type.
DATA: t_tab1 type standard table of ztab1 " my ztable
DATA: w_tab1 type ztab1.
After this, you have to change some fields name because, for example, you don't have DATA and HORA in your Z Table. But you have DATAC e HORAC.
w_tab1-datac = sy-datum.
w_tab1-horac = sy-uzeit.
w_tab1-dsc = v_maktx.
w_tab1-userc = sy-uname.
w_tab1-idioma = so_lang.
w_tab1-t_lote = v_tlotes.
Besides it, you have a lot of performance issues in your code.
You should avoid to use SELECT inside a LOOP block. The same for MODIFY operations...
But first you have to solve this problem and make your program works, then you think about performance.