Power Builder - problemas al grabar urgente

 
Vista:

problemas al grabar urgente

Publicado por carlos (25 intervenciones) el 09/01/2008 22:35:01
urgente
tengo un aplicacion en pb 7.0 , en el boton guardar , con una select escogo el valor maximo del codigo y a ese incremento 1, y sucede que de vez en cuando me salta de secuenca.
Ej.
2008200
2008202
entonces el 2008201 no me guarda favor ni alguien me ayuda, ya que esta esta sucendiendo unas 3 veces diariamente, tengo 30.000 registros en dicha tabla

el codigo es el siguiente
int rtn=0
double cer,bb=0
SELECT now() INTO :fecha FROM sys.dummy;
p_2.enabled=false

codigo1=0
cer=dw_1.GetItemNumber(dw_1.Getrow(),"pre_codigo")
dw_2.SetFocus() //Pone el foco en la DW
dw_2.SetColumn("cer_fecha_registro")
dw_2.SetText(String(st_8.text))
dw_2.SetFocus() //Pone el foco en la DW
dw_2.SetColumn("cer_codigo")
select max("cer_codigo") into :bb from certifcado;//Hace corriente la columna
bb=bb+1
dw_2.SetText(String(bb))
CONNECT USING SQLCA;
rtn=dw_2.update()
codigo1=dw_2.GetItemNumber(dw_2.Getrow(),"cer_codigo")
if rtn=1 then
COMMIT USING SQLCA;
UPDATE prevencion
SET pre_permiso = :codigo1
WHERE prevencion.pre_codigo = :cer
using sqlca;
insert into auditoria (aud_usuario,aud_proceso,aud_fecha,aud_codigo)values (:login,'GRABACION DE CERTIFICADOS',:fecha,:codigo1);
MessageBox("REGISTRO", "SE GUARDO CORRECTAMENTE");
COMMIT;
ELSE
ROLLBACK USING SQLCA;
MessageBox("ERROR!", "ADVERTENCIA NO SE GRABARON LOS DATOS");
END IF
bb=0
p_1.enabled=true
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
Imágen de perfil de antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:problemas al grabar urgente

Publicado por antonio (1271 intervenciones) el 09/01/2008 23:28:18
Hola Carlos:

Porque no cambiar el tipo de variable de Double a Long

int rtn=0
double cer
long ll_valor

SELECT now() INTO :fecha FROM sys.dummy;
p_2.enabled=false

codigo1=0
cer=dw_1.GetItemNumber(dw_1.Getrow(),"pre_codigo")
dw_2.SetFocus() //Pone el foco en la DW
dw_2.SetColumn("cer_fecha_registro")
dw_2.SetText(String(st_8.text))
dw_2.SetFocus() //Pone el foco en la DW
dw_2.SetColumn("cer_codigo")

select max("cer_codigo") into :ll_valor from certifcado;//Hace corriente la columna

ll_valor ++

Espero te ayude amigo...

Saludos desde México
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:problemas al grabar urgente

Publicado por carlos (25 intervenciones) el 10/01/2008 15:51:06
por cambio el tipo de variable?
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:problemas al grabar urgente

Publicado por Lan (52 intervenciones) el 10/01/2008 17:35:22
hmmm..porque cambiar el tipo de variable double?
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

guardar registro en powerbuilder

Publicado por douglas (1 intervención) el 10/05/2008 16:46:54
Estoy empezando a progamar en Powerbuilder, por eso necesito saber cómo se guarda un registro a una base de datos en este programa

gracias
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