Página 1 de 1

problemas con acceso a registros con el fetch

Publicado: Vie Jun 21, 2019 2:13 pm
por jorgeclimis
Buen dia gente,
Tengo un incoveniente al queres acceder a un registro de una tabla con el fetch y una clave compuesta.

tengo la siguiente tabla : acumula_retenciones
proveedor_id long " id del proveedor donde se acumula para imputarle retenciones"
periodo string(6) " es del tipo mm/aaaa"
retencion_id long " Tipo de retencion al que corresponde la acumulacion"
acumulado decimal (9,2) monto acumulado
importe retenido decimal (9,2) importe retenido

tengo la clave primaria con proveedor_id,periodo,retencion_id

mi codigo es el siguiente

ACU:Proveedor_id=Ret:PROVEEDOR_ID
ACU:Periodo=L:periodo
ACU:Retencion_id=Ret:Retencion_id

IF Access:Acumula_retencion.Fetch(ACU:acumulado_ret_x_proveedor_periodo) = Level:Benign
ACU:Acumulado=ACU:Acumulado - base_imponible
ACU:importe_retenido = ACU:importe_retenido - importe_retenido


IF Access:acumula_retencion.TryUpdate() <> Level:Benign
message('Error en transaccion: no se puede actualizar acumula_Retenciones: '&fileerror())
rollback
return level:fatal
END
ELSE
MESSAGE('no se encontro el acumula retencion.'&ERRORCODE())
rollback
return level:fatal
END

No encuentra el registro
Espero que me ayuden
Saludos

Re: problemas con acceso a registros con el fetch

Publicado: Vie Jun 21, 2019 4:39 pm
por HDMadeira
Hola, empecemos por la mas tonta.... esta la tabla en el other files del procedure ?

Re: problemas con acceso a registros con el fetch

Publicado: Vie Jun 21, 2019 4:42 pm
por HDMadeira
otra.. no se si es un error de tipeo pero

tengo la siguiente tabla : acumula_retenciones

y luego

IF Access:Acumula_retencion.Fetch……

no coinciden los nombres

Re: problemas con acceso a registros con el fetch

Publicado: Vie Jun 21, 2019 5:21 pm
por jorgeclimis
Es error de tipeo la tabla es acumula_retencion
La tabla esta efectivamente en other tables

Re: problemas con acceso a registros con el fetch

Publicado: Vie Jun 21, 2019 8:26 pm
por HDMadeira
ok.. ponele al principio esto como para ver que registros devuelve la key

clear(acu:record)
ACU:Proveedor_id=Ret:PROVEEDOR_ID
ACU:Periodo=L:periodo
ACU:Retencion_id=Ret:Retencion_id
set(ACU:acumulado_ret_x_proveedor_periodo,ACU:acumulado_ret_x_proveedor_periodo)
cuenta=1
loop while eof(Acumula_retencion)=false and cuenta<>5
next(Acumula_retencion)
stop(cuenta & ' ' & ACU:Proveedor_id & ' '& acu:periodo &' '& ACU:Retencion_id)
cuenta=cuenta+1
.

Re: problemas con acceso a registros con el fetch

Publicado: Mar Jun 25, 2019 12:50 pm
por jorgeclimis
Buenas...despues de tanto probar me funcionó este codigo

ACU:Proveedor_id=Ret:PROVEEDOR_ID
ACU:Periodo=L:periodo
ACU:Retencion_id=Ret:Retencion_id
SET(ACU:acumulado_ret_x_proveedor_periodo,ACU:acumulado_ret_x_proveedor_periodo)
NEXT(acumula_retencion)
IF NOT ERROR()
ACU:Acumulado=ACU:Acumulado - base_imponible
ACU:importe_retenido = ACU:importe_retenido - importe_retenido
IF Access:acumula_retencion.TryUpdate() <> Level:Benign
message('Error en transaccion: no se puede actualizar acumula_Retenciones: '&fileerror())
rollback
return level:fatal
END
ELSE
MESSAGE('no se encontro el acumula retencion.'&ERRORCODE())
rollback
return level:fatal
END

Muchas gracias