Comparar todos los campos de 2 tablas iguales
Buenas,
Alguien me podría orientar sobre como comparar todos los campos de 2 tablas que son iguales? La cosa seria: loop at t_s610. select * from s604 where s604 = t_s610 (aquí hacer la comparación). endselect. endloop. No hay otra manera que no sea ir campo por campo? Saludos. |
proba pasar la tabla a otra temporal y asi comparas entre dos temporales.
un ejemplo: tables bkpf. data: begin of t_bkpf occurs 0. include structure bkpf. data: end of t_bkpf. data: begin of t_2bkpf occurs 0. include structure bkpf. data: end of t_2bkpf. select * from bkpf into table t_2bkpf. if t_bkpf[] = t_2bkpf[]. write 'iguales'. else. write 'distintas'. endif. |
Nunca pongas Select dentro de un loop. |
:confused: Por que?
Saludos! |
Porque es antiperformante. Te conviene usar SELECT SINGLE dentro de un LOOP. Además tendrías que siempre es mejor pasar las tablas transparentes a tablas internas para procesarlas ya que es más rápido trabajar en memoria que acceder a la base de datos muchas veces.
|
Husos Horarios son GMT. La hora en este momento es 21:39:37. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web