Power Builder - TREE VIEW

 
Vista:

TREE VIEW

Publicado por The Bug (13 intervenciones) el 29/05/2003 05:20:49
Que Tal.
esta vez voy a hacerles una consulta quiza un poco tonta, pero espero su comprension.
El asunto es que quisiera saber cuales el procedimiento adecuado para grabar una tabla seleccionada. Por ejemplo una factura.
Yo tengo una tabla que le llamaremos "cabezera" donde estan los datos de la cabezera de la factura y tengo una tablaque le llamaremos "detalle" donde esta el detalle de la factura.
"cabezera" y "detalle" tienen columnas en comun por lo que estan relacionados (padre-hijo) el problema es que cuando los tengo relacionados en la base de datos, no los puedo grabar con un update() por lo que ahora no los tengo relacionados y ahora si los puedo grabar. Pero se que estoy haciendo mal al no relacionar ninguna tabla de mi base de datos. Espero su ayuda
PD: cuando grabo los datawindows pongo
dw_cabezera.update()
dw_detalle.update()
commit;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TREE VIEW

Publicado por DANY ROJAS (15 intervenciones) el 29/05/2003 05:50:20
SALUDOS DESDE COLOMBIA

para este problema se me ocurren varias soluciones, en primer caso seria importante que revisaras si tus datawindows tuenen activas las propiedadesd e actualización, de lo contrario debes activarselas.

en segunda instancia tomar los campor en estructuras, arreglos o valiables y guardarlas mediante sql embebido o transac
y en tercera trabajarlos con metodos de actualización de propiedades de campos modify y decribe de datawindows.

espero te sirva mi idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Relacionar la tablas

Publicado por Milson Cardona (613 intervenciones) el 29/05/2003 15:45:06
Un saludo especial desde COLOMBIA

Bueno, en primer lugar te advierto que si no relacionas las tablas, tendrás varios y graves problemas... en primer lugar, no tendrás ningún control de la integridad de los datos, es decir puedes tener detalles sin cabecera.... para nombrar solo uno.

Tal vez el problema es que tenías las claves foraneas al revés, es decir de padre(encabezado) al hijo(detalle), y por ello al grabar primero la cebeza te sacaba error de integridad.

porque no construyes de nuevo las claves primarias de hijo a padre, y pruebas el siguiente script para actualizar los DWs

IF dw_cabezera.update() = 1 THEN
IF dw_detalle.update() = 1 THEN
COMMIT using vbl_transaccion;
ELSE
MESSAGEBOX('error','error grabando el detalle')
ROLLBACK using vbl_transaccion;
END IF
ELSE
MESSAGEBOX('error','error grabando el detalle')
ROLLBACK using vbl_transaccion;
END IF

NOTA: vble_transaccion es la variable transaccional que utilices para hacer la conección con la DB, por lo general es la por defecto de PB, es decir la SQLCA

si no te funciona, tal vez puedas mandarnos cual es mensaje de error que te saca el motor al tratar de guardar... así seguro te ayudamos más fácil y rápidamente.

suerte y espero que soluciones el problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar