PDA

Ver la Versión Completa : 2 selects de 2 base de datos en 1 tabla interna


romario2
18/11/09, 17:17:51
Hola,

tengo que hacer 1 select a la tabla proj y otro a la tabla prps para asegurarme que consigo todos los registros requeridos.

Luego metería todos los resultados en una tabla interna, procurando que se
añadan bien.

Cómo lo podría hacer? Con APPEND LINES?

Indicadme el código, please..


Muy agradecido por este gran foro:o

Rodolfo SAP
18/11/09, 23:27:49
Haber podria servirte estos pequeñitos ejemplos.


* CASO APPENDING

TABLES: spfli, SFLIGHT.

DATA: BEGIN OF t_vuelos OCCURS 0,
CARRID LIKE spfli-carrid,
CONNID LIKE SFLIGHT-connid,
END OF t_vuelos.

START-OF-SELECTION.

SELECT carrid connid FROM spfli INTO TABLE t_vuelos.

*En este segundo select con la instruccion appending agregamos los
*registros generados en este select sin perder los del primero
SELECT carrid connid FROM SFLIGHT APPENDING TABLE t_vuelos.



* CASO APPEND LINES

TABLES: spfli, SFLIGHT.

DATA: BEGIN OF t_vuelos OCCURS 0,
CARRID LIKE spfli-carrid,
CONNID LIKE SFLIGHT-connid,
END OF t_vuelos.

DATA: t_report LIKE t_vuelos OCCURS 0 WITH HEADER LINE.

DATA indx TYPE i VALUE 21.

START-OF-SELECTION.

*Realizamos 2 select de distintas tablas
SELECT carrid connid FROM spfli INTO TABLE t_vuelos.

SELECT carrid connid FROM SFLIGHT INTO TABLE t_report.

*Y aqui agreamos los registros de nuestro primer select a nuesta segunda
*tabla donde tenemos los datos de nuestro otro select.
APPEND LINES OF t_vuelos FROM indx TO t_report.


Pienso que el caso 1 del appending es mejor ya que ahorras tiempo ejecucion, codigo y memoria ahora como consejo, tip, comentario te recomendaria usar Work Areas y Fields Symbol para los procesos en las tablas internas y asi mejorar el performance en tus extracciones.

Saludos....

romario2
19/11/09, 17:20:43
Muchisimas gracias Rodolfo,

si no es mucho pedir, tienes el código con work areas?

Saludos!!:D