Pausa na execução de um formulário. - RESOLVIDO -

Boa tarde a todos.

Estou fazendo um redirecionamento dentro do evento “OnAfterInsert”, (formulário) e gostaria que antes do redirecionamento, uma mensagem de sucesso utilizando Bootstrap fosse exibida ao usuário.
Coloquei um “sleep(10)” para ver se a mensagem tivesse tempo de leitura, mas a mensagem é exibida muito rápida sem tempo para leitura…
alguma dica sobre onde estou errando?
Evento errado?

Agradeço antecipadamente qualquer ajuda do fórum.

msg_sucess() é um método que chama a mensagem utilizando Bootstrap. ( Funciona perfeitamente em outras aplicações)

(Conteúdo do OnAfterInsert)

$redir_app = ‘menu_SCPA’;
$redir_test = [novo] == “S” and [usr_priv_admin] != ‘Y’;
$redir_target = ‘_parent’;
$redir_param = “”;

if ($redir_test)
{
msg_success();
sleep(10);
sc_commit_trans();
sc_redir($redir_app, $redir_param, $redir_target);
sc_commit_trans();
}

No meu entender ele esta dando uma pausa de 10 segundos para depois executar o msg_success();
Logo, esta certo o msg_success(); ser executado rápido.

Desculpe, copiei e colei errado. (Já arrumei o post)
Na verdade o sleep(10) vem depois do msg_success.
Mas não funciona…

Para mim ainda não mudou nada.
O esperado de um sleep antes de um comando é fazer o programar parar pelo tempo determinado e depois rodar o comando.
Isto mesmo no pascal e outras linguagens que conheço.
Não é uma instrução dentro de um comando.
Veja por exemplo a macro:
sc_ajax_message (“Message”, “Title”, “timeout=0”);
ele tem um instrução timeout que é inerente ao comando. Não está fora dele.
Logo, a execução do timeout ocorre na execução do comando sc_ajax_message.
Mas, no msg_success() a instrução sleep() não esta dentro do msg_success().
Logo, a rotina irá rodar o sleep() e depois o msg_success(). Isto não irá ocorrer do jeito que você espera.

PS: Complementado
http://php.net/manual/pt_BR/function.sleep.php
sleep — Atrasa a execução do script
Entende? Execução do script e diferente de execução de comando.

Já pensou em colocar mensagem em um sc_alert e depois redirecionar?
sc_alert(“Mensagem”)
Esta macro envia uma mensagem, de forma incondicional, no estilo alert do Javascript.

Ex. 1:
sc_alert(“Esta é uma mensagem de alerta!!”);

Assim que a pessoa clicar em ok no alerta ela vai para outra página.

PS: Vi agora que está colocando no lugar certo no script.
Depois do msg_sucess();
Mas tem que ver como o msg_sucess(): roda. ok?

Alexandre, obrigado pelas explicações.
A macro sc_alert roda no evento OnAfterInsert? (formulário)?
Ainda me confundo com estes eventos do SC…
Valeu!

Favor colocar [RESOLVIDO] no primeiro post…

sc_alert(“Mensagem”)

Esta macro envia uma mensagem, de forma incondicional, no estilo alert do Javascript.

Ex.:

sc_alert(“Esta é uma mensagem de alerta!!”);

Escopo da Macro

Aplicação Controle
onLoadAll
onValidate

PS: se quiser o alerta em outros eventos experimente dar um echo direto em javascript.