Pase de datos entre tablas internas III (ABAP)

Siguiendo con los procedimientos para pasar datos entre tablas internas en ABAP, ahora veremos uno similar al comando APPEND LINES OF, que se desarrolla de la misma forma y guarda similitud con la estructura, esté es el comando INSERT LINES OF.

Su estructura se emplea de la siguiente forma:

Si se desea realizar un pase de datos completo entre tablas internas

INSERT LINES OF TABLA_ORIGEN TO TABLA_DESTINO

Si se desea copiar un rango de líneas

INSERT LINES OF TABLA_ORIGEN FROM L_INICIAL TO L_FINAL TO TABLA_DESTINO

Donde L_INICIAL y L_FINAL son variables numéricas.

Su principal ventaja es que no reemplaza la información, sino más bien la va anexando en la tabla interna de destino, conforme se va agregando información de otras tablas con la misma estructura.

Ejemplo:

Se tiene un reporte que realiza 2 lecturas a la tabla BKPF, la primera obtiene los 5 primeros registros y la segunda solo los 3 primeros, vamos a proceder a pasar sus valores a una tercera tabla e imprimir el resultado.

REPORT ZLI_PRUEBA.

TYPESBEGIN OF TY_BKPF,
  BUKRS TYPE BKPFBUKRS,
  BELNR TYPE BKPFBELNR,
  GJAHR TYPE BKPFGJAHR,
END OF TY_BKPF.

DATAT_BKPF1 TYPE STANDARD TABLE OF TY_BKPF WITH HEADER LINE,
      T_BKPF2 TYPE STANDARD TABLE OF TY_BKPF WITH HEADER LINE,
      T_BKPF3 TYPE STANDARD TABLE OF TY_BKPF WITH HEADER LINE.

STARTOFSELECTION.

SELECT BUKRS BELNR GJAHR INTO TABLE T_BKPF1 UP TO 5 ROWS FROM BKPF.

SELECT BUKRS BELNR GJAHR INTO TABLE T_BKPF2 UP TO 3 ROWS FROM BKPF.

INSERT LINES OF T_BKPF1 INTO TABLE T_BKPF3.

INSERT LINES OF T_BKPF2 FROM TO 3 INTO TABLE T_BKPF3.

LOOP AT T_BKPF3.
  WRITE:/1 T_BKPF3BUKRST_BKPF3BELNRT_BKPF3GJAHR.
ENDLOOP.

El resultado es:

2016-04-04 14_31_39-

Donde se puede ver que en la tabla interna T_BKPF3 se han añadido los 5 registros de la tabla T_BKPF1 y las líneas 2 y 3 de la tabla T_BKPF2 omitiendo su primer registro.

 

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s