Power Builder - AYUDA DATASTORE

   
Vista:

AYUDA DATASTORE

Publicado por Edgar (87 intervenciones) el 24/06/2010 18:13:46
Amigos del Foro buenos dias, desde ya muchas gracias por su valiosa ayuda.

Tengo una pregunta para el foro:
Tengo 2 datastore, el primero esta la informacion origen de donde extraigo toda la informacion, contrato, valor, centro de costo, tipo contrato, edad, etc
El segundo almacena todos los valores que envio de el primero.
Pero en la aplicacion que estoy realizando tengo una ventana de empleados donde aparece la informacion del datastore 2, pues bien si doy click en un boton actualizar, este debe buscar si existe algun cambio en cualquiera de los campos del datastore 1 y compararlos con los del datastore 2 si alguno es diferente, caso contrario no hace ningun cambio, alguien me puede ayudar con el script de como realizar esta busqueda y comparacion?????????
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:AYUDA DATASTORE

Publicado por JeinnerH (638 intervenciones) el 24/06/2010 19:48:53
Compañero Edgar, hay más de una forma de pelar un gato.

No te entiendo muy bien para qué quieres hacer eso, porque ya la funcionalidad del DW identifica si hubo cambios para almacenarlos o no. Tampoco entiendo si se trata de una comparación de un registro a otro o de muchos contra muchos.

En fin... si es de muchos contra muchos.

Lo básico podría ser comparar el DS con el DW de la siguiente forma:
For li_1=1 to ds_1.RowCount() // Comparar Filas
For li_2=1 to (Cantidad Columnas del DS) // Comparar Columnas
If ds_1.Object.Data .PRIMARY.Current[li_1, li_2 ] <> dw_1.Object.Data .PRIMARY.Current[li_1, li_2 ] Then
// Hay Diferencia.
End If
Next
Next

Pero esto te da mucho problema, comenzando porque tendrías que evaluar si hubo registro borrados.

Te recomiendo que emplees las utilidades de los DataWindow, en donde puedes obtener el estado de cada fila y cada columna, para ver si hubo variaciones, utilizando GetItemStatus(registro, columna, PRIMARY!)

columna - puede ser el número una específica o 0 para la todo el registro.

También puedes utilizar las funciónes GetNextModified, ModifiedCount, DeletedCount

Recuerda que también pueden existir registros borrados.

Espero que te sirva.
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