Escribe todos los números del 1 al 10 ambos inclusive, si no están en la tabla.

* obtenemos los números q nos faltan de una tabla
TYPES: BEGIN OF ty_tyl_tabla,
numero TYPE i,
END OF ty_tyl_tabla.
TYPES: ty_tab_tabla TYPE SORTED TABLE OF ty_tyl_tabla WITH UNIQUE KEY numero.
DATA: li_tabla TYPE ty_tab_tabla,
lw_tabla TYPE ty_tyl_tabla,
lv_contador TYPE i VALUE 1,
lv_registros TYPE i, "nº de registros de la tabla
lv_cont_registros TYPE i. "cuantos registros llevamos cogiendo
FIELD-SYMBOLS: <fs_tabla> TYPE ty_tyl_tabla.
lw_tabla-numero = 3.
APPEND lw_tabla TO li_tabla.
CLEAR lw_tabla.
lw_tabla-numero = 5.
APPEND lw_tabla TO li_tabla.
DESCRIBE TABLE li_tabla LINES lv_registros.
WRITE: 'Faltan:'.
WHILE lv_contador < 11.
IF lv_cont_registros < lv_registros.
LOOP AT li_tabla ASSIGNING <fs_tabla>.
ADD 1 TO lv_cont_registros.
WHILE lv_contador < <fs_tabla>-numero.
WRITE: / lv_contador.
ADD 1 TO lv_contador.
ENDWHILE.
ADD 1 TO lv_contador.
ENDLOOP.
ENDIF.
WRITE: / lv_contador.
ADD 1 TO lv_contador.
ENDWHILE.
Dejar un comentario: