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 29/11/10, 19:57:25
Avatar de X200
X200 X200 is offline
Junior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 24
Update de dos tablas. [Solucionado]

Tengo dos tablas, la cual una es hija de la otra, a ambas les quiero updatear sus campos mediante la introduccion de valores atraves de parametros. Las dos tablas estan conectadas por un campo. Pero cuando realizo el update tan solo me actualiza los datos de la tabla padre y no de la hija. Entonces mi duda es ¿Por que sucede esto?.

A continuación les escribo un ejemplo del codigo que he creado:

* Defino los parametros que se van a insertar

PARAMETERS:

dato1 TYPE tabla1-dato1,
dato2 TYPE tabla1-dato2,
dato3 TYPE tabla2-dato3,
dato4 TYPE tabla2-dato4.

* Defino el workarea y la tabla interna con las que voy a trabajar.

DATA: itab_1 TYPE STANDARD TABLE OF tabla1.
DATA: wa_1 TYPE tabla1.
DATA: itab_2 TYPE STANDARD TABLE OF tabla2.
DATA: wa_2 TYPE tabla2.

* Asigno los parametros al workarea.

wa_1-dato1 = dato1.
wa_1-dato2 = dato2.
wa_2-dato3 = dato3.
wa_2-dato4 = dato4.

* Append a la tabla interna

APPEND wa_1 to itab_1.
APPEND wa_2 to itab_2.

* Update de ambas tablas.

UPDATE tabla1 FROM TABLE itab_1.
UPDATE tabla2 FROM TABLE itab_2.

Desde ya muchas gracias.
__________________
-When you have eliminated the impossible, whatever remains, however improbable, must be the truth.-

Úlima edición por X200 fecha: 30/11/10 a las 16:26:57.
Responder Con Cita
  #2  
Viejo 30/11/10, 05:43:50
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Faltaría ver como cargas los itab. Al hace el update, o le indicas el índice del registro que quieres modificar y los campos que vas a modificar, o le pasas el work area, donde los campos clave coincidan con alguna de la b.d.

Un saludo.
Responder Con Cita
  #3  
Viejo 30/11/10, 13:26:01
Avatar de X200
X200 X200 is offline
Junior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 24
No entiendo muy bien a lo que te refieres. Si te refieres a hacer el update directamente desde el workarea.

UPDATE tabla2 FROM wa_2.

Ya lo he intentado, pero sigue sin dar resultado. Digamos lo raro de todo esto es que el UPDATE de la tabla 1, funciona asi como lo he puesto, pero el segundo UPDATE según el DEBUG me arroja un sy-subrc = 4, es decir como sino hubiera encontrado la key, cuando claramente esta ahi. Por lo que siempre que ejecuto me modifica la primer tabla, pero no la segunda.

Saludos
__________________
-When you have eliminated the impossible, whatever remains, however improbable, must be the truth.-
Responder Con Cita
  #4  
Viejo 30/11/10, 13:41:55
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
Si el UPDATE de da sy-subrc = 4 tenes algún campo clave mal informado o bien te falta alguna rutina de conversión que tenga alguno de los campos. Para verificar esto hace un select en vez de un UPDATE con los mismos campos haber si te trae el registro.

Saludos!
__________________
Sebastián Chiavia
Responder Con Cita
  #5  
Viejo 30/11/10, 14:23:40
Dennis Urbano E. Dennis Urbano E. is offline
Junior Member
 
Fecha de Ingreso: nov 2008
Mensajes: 28
Si los datos del update a tabla2 es dependiente de los datos del update de tabla1 quizas solo necesitas ponerle un commit work despues del primero update y por ahi que es mejor un commit work and wait .. pruebas y pasas la voz =D
Responder Con Cita
  #6  
Viejo 30/11/10, 16:26:18
Avatar de X200
X200 X200 is offline
Junior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 24
Finalmente encontre el error, al no revisar bien la tabla con la que trabajaba, no me di cuenta que uno de los parametros que ingresaba en la segunda tabla tambien estaba como Key. Entonces cuando ingresaba los parametros y ponia un distinto valor, nunca encontraba el registro para updatear.

Gracias a todos por su ayuda.
__________________
-When you have eliminated the impossible, whatever remains, however improbable, must be the truth.-
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 09:53:03.


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