MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 26/01/10, 20:53:49
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
Unir datos de 2 tablas internas en 1 sola TI

Bunas ]Tardes.


Espero por favor me puedan ayudar.

He realizado un SELECT y FOR ALL ENTRIES para contruir un reporte que tra informacion relacionado de 2 tablas Z y me la deja en 2 tablas internas respectivamente.

Para mostrar la informacion por pantalla uso la sentencia WRITE:

---------------------------------------------------------------------
*---------------------- Select para zlibros ---------------------
SELECT signatura titulo editorial numero_autor
FROM zlibro
INTO TABLE it_infolibro
WHERE signatura IN pa_sign AND
titulo IN pa_tit AND editorial IN pa_edit.

IF sy-subrc EQ 0.
cantidad = sy-dbcnt.
WRITE: 'La cantidad de registros obtenidos de Libros es: ',cantidad.
SKIP.

it_infolibro_aux[] = it_infolibro[].
SORT it_infolibro_aux BY signatura.


*---------------------- Select para zautor ---------------------
SELECT numero_autor nombre apellidos
FROM zautor
INTO TABLE it_infoautor
FOR ALL ENTRIES IN it_infolibro_aux
WHERE numero_autor = it_infolibro_aux-numero_au
AND numero_autor IN pa_codau.

*----------------- Guardando Seleccion de Datos ------------------
LOOP AT it_infolibro_aux INTO wa_infolibro.

IF sy-subrc EQ 0.
READ TABLE it_infoautor INTO wa_infoautor
WITH KEY numero_au = wa_infolibro-numero_au.

IF sy-subrc EQ 0.

WRITE:/ wa_infolibro-signatura COLOR COL_KEY,
wa_infolibro-titulo COLOR COL_NORMAL,
wa_infolibro-editorial COLOR COL_NORMAL,
wa_infoautor-autor_nom COLOR COL_NORMAL,
wa_infoautor-autor_ape COLOR COL_NORMAL.

* Hide para guardar en memoria el dato singnatura cuando el
* usuario haga click en una linea del reporte.
HIDE wa_infolibro-signatura.

ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
-----------------------------------------------------------------------


El problema es que ahora deseo utilizar una ALV GRID para desplegar por pantalla esa misma informacion pero dicha informacion la tengo en 2 tablas internas por separado (it_infolibro_aux , it_infoautor) relacionados por un campo.

Por favor me explican como poder juntar la informacion relacionada en las tablas internas it_infolibro_aux y it_infoautor en una nueva tabla interna it_total para pasarsela a la ALV y que me salga por pantalla.


Muchas Gracias!!!

Úlima edición por andresf02 fecha: 26/01/10 a las 21:00:37.
Responder Con Cita
  #2  
Viejo 26/01/10, 21:18:34
zonanet zonanet is offline
Senior Member
 
Fecha de Ingreso: mar 2007
Localización: Durango, Dgo. México
Mensajes: 195
En este loop puedes guardar la información...


o bien


La segunda opción es si los campos de tus tablas internas de origen coinciden con los los nombres de tu tabla destino.
Saludos.
Responder Con Cita
  #3  
Viejo 26/01/10, 22:07:59
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
zonanet, mil gracias, me funciono perfecto!!!

Apenas estoy aprendiendo y cada cosa nueva se la estoy agregando a un super reporte. Emepzo con una consulta simple y ya con tu ayuda puedo comensar a usar en el ALV.

Gracias de nuevo.
Responder Con Cita
  #4  
Viejo 27/01/10, 06:15:47
VLozano VLozano is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 124
Para tablas Z que seguramente tienen pocos registros, intenta utilizar JOINs. Al principio cuestan un poco de leer para el neófito, pero con el tiempo las ves igual que cualquier SQL.

El problema (largamente discutido en otras partes) es aprender cuándo usar JOINs, cuándo FOR ALL ENTRIES y cuándo LOOPs (en serio, a veces sale a cuenta el LOOP-SELECT SINGLE).

Lo tuyo sería (más o menos):
Si conservas tu código original (lo que NO es mala cosa), yo lo afinaría un poco metiéndole la condicion de pa_codau en la primera SQL, a no ser que necesites bajarte todos los libros y sólo los datos de algunos autores.
__________________
"Porque algunos sabemos que somos parte del problema"
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 19:24:41.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web