Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problema de razonamiento

Estas en el tema de Problema de razonamiento en el foro de Bases de Datos General en Foros del Web. Tengo una aplicación hecha por un tercero para PokectPC, ésta graba en una tabla la fecha del sistema que tiene la PokectPC, pero si la ...
  #1 (permalink)  
Antiguo 18/05/2004, 08:59
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Problema de razonamiento

Tengo una aplicación hecha por un tercero para PokectPC, ésta graba en una tabla la fecha del sistema que tiene la PokectPC, pero si la PocketPC es resetea, la fecha también, esta fecha se pone en 2001.

Sucede que en la aplicación se realizan sustituciones para vendedores. Si un vendedor a quien se le ha asignado una ruta falta por x razón, pues se realiza, en la aplicación, la sustitución del vendedor y esta sustitución es la que se graba con la fecha del sistema.

Sucede que cuando se sincronizan esos datos desde la PokectPC hacia el servidor de SQL Server, se sincroniza con la fecha del 2001.
Lo que trae como consecuencia que, en la aplicación de pagos, se le descuente dinero al vendedor de la ruta porque faltó y no se le asignó ningún sustituto. Pero en realidad se ha asignado, lo que sucede es que se grabó con una fecha en la cual el sistema no lo encuentra.

Hay una tabla llamada SETUP la cual maneja los pedidos del día y esta tiene la fecha del día de trabajo. Para resolver el problema habría que modificar la aplicación de la PokectPC realizada por un tercero (Cosa que no se puede por el momento) y que en vez de grabar la fecha del sistema, pues grabe la fecha de la tabla SETUP.

Se le ha dicho a los vendedores que revisen que las PokectPC tengan la fecha del día, pero a los vendedores siempre se les olvida y siempre es más confiable automatizar lo más que se puedan los procesos para quitar las equivocaciones de la parte humana.

Alguna idea de cómo solucionar este problema?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #2 (permalink)  
Antiguo 18/05/2004, 09:17
 
Fecha de Ingreso: diciembre-2003
Ubicación: WWW
Mensajes: 98
Antigüedad: 20 años, 4 meses
Puntos: 0
Te sugiero que utilices un trigger para este caso, de manera que al momento de insertar o actualizar un registro, se te actualice automáticamente la fecha.-

Piensa en eso y luego me cuentas.
  #3 (permalink)  
Antiguo 18/05/2004, 11:00
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Estoy haciendo el trigger y tengo el siguiente inconveniente:

Código:
CREATE TRIGGER CorregirFechaSustitucion ON [dbo].[sustitucion]
FOR INSERT, UPDATE
AS
--Declarar Variables-- 
Declare  @FechaSetup DateTime 
---------------------- 
select  @FechaSetup = stFechaDelDia from  setup

UpDate  sustitucion Set  suFecha = @FechaSetup 
Where  suFecha = 'FECHA_DEL_REGISTRO_INSERTADO'  
and  rtCodigo = 'CODIGO_RUTA_DEL_REGISTRO_INSERTADO'  
Me falta completar el Where, y lo que quiero es tener los campos del registro Insertado, o sea, la fecha con la que se grabó el registro y la ruta, ya que esos son los campos claves de la tabla.

Sustento mi pregunta pensando que primero se interta el dato y luego se ejecuta el trigger... si no es así, entonces como podría hacer este trigger?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--

Última edición por RsOfT; 18/05/2004 a las 11:02
  #4 (permalink)  
Antiguo 18/05/2004, 11:46
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Ya encontré que SQL inserta los datos en una tabla que se llama inserted

Ya mi trigger funciona de la siguiente forma:

Código:
CREATE TRIGGER  CorregirFechaSustitucion ON  [dbo].[sustitucion]
FOR INSERT 
AS 
--Declarar Variables-- 
Declare  @FechaSetup DateTime , @FechaVieja DateTime , @CodigoRuta varchar (5)
---------------------- 
 
Select  @FechaSetup=stFechaDelDia From  setup 
Select  @FechaVieja = suFecha, @CodigoRuta = rtCodigo from  Inserted
 
UpDate  sustitucion set  suFecha = @FechaSetup 
where  suFecha = @FechaVieja 
and  rtCodigo = @CodigoRuta
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--

Última edición por RsOfT; 18/05/2004 a las 11:48
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:30.