Una ayuda bastante buena es la tecla F1 cuando estas visualizando un programa o escribiendo. Te colocas sobre la sentencia y pulsas F1. te mostrará la ayuda con todas las variantes y algunos ejemplos. Mira append.
Sobre las tablas internas t_tabla y t_tabla2. Te puedo decir que están declaradas como tablas internas.
En el form componentes, veo que hay un recorrido a la tabla interna e_component.
Cuando declaras una tabla interna es como declarar un registro que puede tener multiples instancias, con el occurs.
Si relleno los campos de t_tabla como se hace es ese form. lo que hago es rellenar un registro de cabecera de la tabla, pero no estoy añadiendo a la tabla. Es necesario usar una sentencia como append para añadir esa información dentro de la tabla.
Lo mismo pasa al hacer el move-corresponding a t_tabla2. Lo que haces es mover los campos iguales del registro de cabecera de ambas tablas internas. Pero nunca veo que añadas el registro a la tabla. Es en palabras coloquiales como si llamas a una casa a la puerta te presentas pero nunca entras. Cuando haces debuging estas viendo ese registro con contenido pero la tabla vacía.
Los pasos básicos para añadir registros a una tabla son:
1.- definir la tabla (si no hay que rellenar vamos mal)
2.- rellenar el registro de cabecera
3.- añadir este registro a la tabla.
Puedes hacerlo en tres pasos o en dos si usas un registro distinto al de la tabla. usando "append reg_1 to tabla_1".
hay muchas formas de jugar con tablas internas.
Espero que esto te aclare algo, en descargar seguramente tengas algún manual que te lo explique.
|