jueves, 14 de noviembre de 2013

Copiar una tabla y estructura a partir de la declaración de variables

En este ejemplo se va a mostrar cómo copiar la estructura y la tabla en el proceso de declaración de variables para ambos métodos de declaración de tablas internas. Cabe indicar que no se copia ni el contenido de la estructura ni el de la tabla interna.
  • Primer método (Cabecera + Tabla):
    * Tipos
    TYPES: BEGIN OF g_ty_encabezado,
      nombre(20) TYPE c,
      apellido(20) TYPE c,
      telefono(9) TYPE n,
    END OF g_ty_encabezado.
    
    TYPES: g_tt_mitabla TYPE TABLE OF g_ty_encabezado.
    
    * Declaración de variables
    DATA: g_st_encabezado TYPE g_ty_encabezado,
          g_it_mitabla TYPE g_tt_mitabla.
    
    * Copiado de la cabecera
    DATA: g_st_encabezado_copia LIKE LINE OF g_it_mitabla.
    
    * Copiado de la tabla
    DATA: g_it_mitabla_copia LIKE g_it_mitabla.
    

  • Segundo método (Cabecera + Tabla con el mismo nombre):
  • * Declaración de la tabla
    DATA: BEGIN OF g_it_mitabla OCCURS 0,
      campo1(9) TYPE c,
      campo2(9) TYPE c,
      END OF g_it_mitabla.
    
    * Copiado de la cabecera:
    DATA: g_st_encabezado_copia LIKE LINE OF g_it_mitabla.
    
    * Copiado de la tabla: 
    DATA: g_it_mitabla_copia LIKE g_it_mitabla OCCURS 0 WITH HEADER LINE.
Como se puede apreciar, si se quiere copiar el encabezado de una tabla, la sentencia LIKE LINE OF funciona para ambos métodos. Sin embargo, las sentencias son distintas cuando se copia la tabla interna.

Para ver las diferencias entre ambos métodos en un loop, se recomienda ver esta entrada.

0 comentarios :

Publicar un comentario