Power Builder - Copiar una DW a otra

 
Vista:

Copiar una DW a otra

Publicado por JOSE (38 intervenciones) el 01/12/2004 22:21:11
Hola amigos foristas, esperando que todos esten bien les pido de favor me ayuden en la siguiente pregunta:

Tengo 2DW la primera de Movimientos y la Segunda de Historial de Movimientos lo que necesito es que al grabar los movimientos se me graben en la segunda los historiales del primer dW y como he tenido inconvenientes acudo a su ayuda y acepto todas las sugerencias y codigos de ejemplos.

Trabajo con PB 7 en ASA60 y mi
DW movimientos tiene los siguientes campos(id,emp,suc,ced,lug,tip,fec)
Dw historial tiene (id,emp,suc,ced,lug,tip,fee,fec,fes)
las fee,fec,fes son campos tipo fecha que hace referencia la entrada(fee), el cambio(fec) y la salida(fes) respectivamente, con el campo fecha del DW mocimientos(fec)

El problema esta que cuando grabo en movimiento la fecha(fec), solo debe grabar una sola en el historial depende del formulario si estoy en Entrada me grabara en el historial la fecha en el campo(fee) y asi sucesivamente..

Quisiera saber como copiar una DW a otra.

Gracias Compañeros
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:Copiar una DW a otra

Publicado por Ricardo (1957 intervenciones) el 02/12/2004 00:38:17
Hola que tal:

Puedes hacer lo siguiente:

1. Al guardar creas un registro (insertrow) en dw de historiales y llenas los campos (setItem al row insertado) a cada campo.

2. Si tu dw de historiales esta creada basada en la tabla solo aplica el update para almacenar lo insertado.

3. Si es un external tendras que almacenarlo con sql utilzando la sentencia UPDATE historico SET ... WHERE ... (esto desde el punto 1)

Otra utilizando rowscopy, esto en el caso de que haya que tomar el registro de algun dw para transferirlo a otro igual.

Suerte!
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

RE:Copiar una DW a otra

Publicado por JOSE (38 intervenciones) el 02/12/2004 13:19:15
Gracias Ricardo, me prodrias ayudar con un pequeño ejemplo, estuve viendo la forma de hacerlo y en los ejemplos que trae PB70, solo hace
en una misma dw, pero en mi caso necesito coger solo todos los campos de Dw movimiento y copiarlos en Algunos de los campos de la Dw historial(no en todos),

Si alguien tiene un ejemplo(codigo) se lo agraceria me lo envien a mi mail.
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

RE:Copiar una DW a otra

Publicado por Ricardo (1957 intervenciones) el 02/12/2004 17:18:08
Hola que tal:

Partiendo de que tienes un dw-movto y otro dw-historico, donde en dw_movto capturas informacion y tienes un boton para guardar puedes hacer lo siguiente:

Como ya sabes que campos deberas enviar al historico, puedes guardarlos en variables y capturarlos desde que se teclean, para esto debes de aplicar un codigo como el siguiente, en el evento Itemchanged:

CHOOSE CASE dwo.name
CASE 'nombre_campo'
ls_var1 = data
CASE 'id_prod'
li_var2 = integer(data)
END CHOOSE

Como ya tienes los valores en variables al presionar guardar, aplicas el Insert para almacenar nuevo registro historico (p.ej):

INSERT INTO Historico (historico.nombre, historico.id_prod)
VALUES (:ls_var1, :li_var2) ;

A su vez actualizas el dw-historico (p.ej)

Long ll_row
ll_row = dw-historico.insertrow(0)
dw-historico.SetItem(ll_row, 'nombre', ls_var1)
dw-historico.SetItem(ll_row, 'id_prod', li_var2)

-------------------------------

Espero que te sea de utilidad, esta medio escueto pero te da la idea.
Suerte!
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

Gracias Ricardo

Publicado por JOSE (38 intervenciones) el 03/12/2004 20:14:12
Te agradezco mucho tu ayuda pana, voy a probar ahora mismo sus sugerencias....
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

RE:Copiar una DW a otra

Publicado por JOSE (38 intervenciones) el 05/12/2004 16:55:21
Hola amigo(s), te cuento Ricardo que su solución seria factible siempre y cuando grabe un registro de mi DW-movimiento lo que sucede es que tengo un dw_movimiento tipo Grid y puedo ingresar n Registros y cuando presione guardar en el Dw-Historial almacenar todos estos registro como antes te habia mensionado estuve analizando el Rowscopy pero dime si se puede hacer un rowscopy a cada regsitro de mi dw-movimiento a la dw-historial(grid)

Le agracederia a cualquier persona su ayuda.
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