#1
|
|||
|
|||
SELECT INTO en más de una estructura
Hola amigos, deseo hacer lo siguiente, pero ya me estoy disuadiendo de que no se puede:
Teniedo W_VBAP TYPE VBAP, W_VBAK TYPE VBAK. Necesito que el INTO sean dos estructras. Sé que entre paréntesis se puede poner una secuencia de campos, pero así con estructuras no me está funcionando. ¿Es posible hacer un INTO en más de una estructura a la vez? Espero se entiendo. Desde ya, gracias, y saludos a todos. |
#2
|
||||
|
||||
hola compañero
podrias recuperar en una estructura y luego copiarlo a la otra estructura. Ahora si lo que necestias es recuperar dos registros diferentes tenes que hacer un select up to 2 rows. |
#3
|
|||
|
|||
Claro, pero lo que yo necesito no es son dos estructuras iguales o dos registros. Necesito un solo registro (SELECT SINGLE), pero en dos estructuras distintas, una por cada tabla del INNER JOIN (VBAP y VBAK). |
#4
|
|||
|
|||
Tu select es a la tabla VBAP, es decir vas a traer los registros de esa tabla. Lo que vos le indicas con el inner join es que te traiga los registros que en coincidan con tu WHERE. Es decir (que el campo VBELN de la tabla VBAP sea igual al campo V_VGBEL de la tabla VBACK.. lo mismo para el campo POSNR y V_VGPOS). Para traer registros de dos tablas distintas lo único que te queda es hacer dos selects me parece. Puede que esté equivocado si es así por favor corregirme. Saludos y espero que te ayude |
#5
|
|||
|
|||
Cuando hacés INNER JOIN podés traer cualquier (todos, o los que quieras) registro de las tablas involucradas, no sólo de la primera. Eso no es problema. El tema es saber si puedo poner en INTO más de una estructura, como sí se puede poner más de un campo, dentro del paréntesis separados por comas. |
#6
|
|||
|
|||
Lo que pedis no se puede hacer. Solo tolera hacerlo con campos. Saludos.
__________________
Lo importante no es saber sino saber quien es el que sabe |
#7
|
|||
|
|||
Podrias hacer algo asi:
Types: begin of ty_vbak_vbap. include structure vbak as k renaming with suffix _vbak. include structure vbap as p renaming with suffix _vbap. types: end of ty_vbak_vbap. data: gs_vbak_vbap type ty_vbak_vbap, gs_vbak type vbak, gs_vbap type vbap. select single * into gs_vbak_vbap from vbak as k inner join vbap as p on k~vbeln = p~vbeln where ... move-corresponding gs_vbak_vbap to gs_vbak. move-corresponding gs_vbak_vbap to gs_vbap. Los campos comunes entre vbak y vbap tendras que mapearlos a mano pero sera mas sencillo Espero que ayude |
#8
|
|||
|
|||
¡¡Gracias Ballan!! El SELECT funcionó a la perfección, no así los MOVE-CORRESPONDING, ya que los campos de las estructuras gs_vbak y gs_vbap no tiene los sufijos, por lo tanto sus nombres difieren de gs_vbak_vbap...
No entendí esto: De nuevo, gracias, y saludos! Emanuel |
Herramientas | Buscar en Tema |
Desplegado | |
|
|