Alexandre Silva escreveu:mas nao entendo porque a variaval Lvar fica false, baseado em que

Alexandre, a declaração BEGIN SEQUENCE é uma estrutura de controle para tratamentos de erros. Note que existe um bloco de código {|oErr| Break( oErr )} que será executado caso ocorra algum erro nos comandos que estão logo após o BEGIN SEQUENCE. Neste bloco estamos usando o comando Break() que vai desvia a execução do programa para depois do comando RECOVER caso ocorra algum erro. E assim o valor da variável lVar se torna Falsa, isto é, se ocorrer algum erro no comando SEND().
Se não ocorrer erro algum nos comandos que estão entre BEGIN SEQUENCE e RECOVER, então a execução do programa é desviada para depois do END SEQUENCE.
Abraços,