27 Set 2019 19:33
STATIC FUNCTION JoseQuintasError( e )
LOCAL nCont, cMessage, aOptions, nChoice
// build error message
cMessage := ErrorMessage(e)
IF ! Empty( e:OsCode )
cMessage += ";(DOS Error " + Ltrim( Str( e:OsCode ) ) + ")"
ENDIF
Errorsys_WriteErrorLog( cMessage, 3 )
28 Set 2019 10:12
JoséQuintas escreveu:Depois das alterações pra MySQL, no cliente aparece workarea not indexed, aparece quit/retry, mas não registra erro.
28 Set 2019 10:23
Ranier escreveu:o programa está falhando em abrir/setar algum índice, ou esta fechando em outra função.
28 Set 2019 10:47
JoséQuintas escreveu:Uso CDX, então problema de não abrir arquivo não é. Geralmente as rotinas tem o retorno à área anterior e índice anterior.
JoséQuintas escreveu:Ainda bem que foi só nesse cliente, e deu pra se virar.
28 Set 2019 12:40
Ranier escreveu:Mais um sintoma que o problema está na rede, servidor, cliente, arquivos do cliente e não no programa.
28 Set 2019 13:03
29 Set 2019 10:21
Error BASE/1340 Zero divisor: /
Called from JOSEQUINTASERROR(39)
Called from (b)ERRORSYS(25)
Called from GRAFTEMPO(59)
Called from SQLBACKUP(45)
Called from CRIAZIP(82)
Called from ZE_UPDATE(30)
Called from SISTEMA(71)
Called from (b)MAIN(48)
22 Out 2019 10:55
USE ARQUIVO
IF NetErr()
? "Não abriu"
ENDIF
DO WHILE .T.
APPEND BLANK
IF ! NetErr()
EXIT
ENDIF
Inkey(0.3)
ENDDO
// Only retry IF open error 2014.09.24.1810
IF e:OsCode == 64 .AND. e:GenCode == EG_OPEN
Errorsys_WriteErrorLog( "OK DEFAULT RETRY: " + cMessage, 3 )
//@ 15, 15 SAY "Servidor sumiu. Tentar novamente em 2 segundos"
//Inkey(2)
RETURN .T.
ENDIF
// For network open error, set NetErr() and subsystem default
IF ( e:GenCode == EG_OPEN .AND. e:OsCode == 32 .AND. e:CanDefault )
Errorsys_WriteErrorLog( "OK DEFAULT RETRY: " + cMessage, 3 )
NetErr( .T. )
RETURN ( .F. ) // NOTE
ENDIF
// for lock error during APPEND BLANK, set NetErr() and subsystem default
IF ( e:GenCode == EG_APPENDLOCK .AND. e:CanDefault )
Errorsys_WriteErrorLog( "OK DEFAULT RETRY: " + cMessage, 3 )
NetErr( .T. )
RETURN ( .F. ) // NOTE
ENDIF
...
IF ! Empty( nChoice )
// do as instructed
IF ( aOptions[ nChoice ] == "Break" )
Errorsys_WriteErrorLog( "OK OPTION BREAK: " + cMessage, 3 )
Break(e)
ELSEIF ( aOptions[ nChoice ] == "Retry" )
RETURN (.T.)
Errorsys_WriteErrorLog( "OK OPTION RETRY: " + cMessage, 3 )
ELSEIF ( aOptions[ nChoice ] == "Default" )
Errorsys_WriteErrorLog( "OK OPTION DEFAULT: " + cMessage, 3 )
RETURN (.F.)
ENDIF
ENDIF