Olá Fred,
Tenho tentado utilizar a macro sc_select() dentro do evento onAfterInsert, porém não consigo tratar o resultado, ou seja, não funciona.
Fiz assim:
Adicionei no evento onAfterUpdate do “formulário de um registro” o código abaixo, porém ao utilizar o sc_alert para verificar o que está capturando o mesmo retorna o conteúdo “count” (sem as aspas). Também tentei utilizar pelo menos 3 campos da tabela (loccod, indcod, cieseq), e o resultado após o sc_select() ao utilizar o sc_alert() é “loccod, indcod, cieseq”.
Objetivo do meu código: Ao incluir um novo registro pai, ou alterar, devo verificar se na tabela filho a existência na sequência 00001:
- Caso exista, então atualizar alguns campos pela tabela PAI
- Caso não exista, então adicionar o registro na tabela FILHO (também adicionei este código em onAfterInsert)
$cCIESEQ = “00001”;
sc_select(rs, “SELECT count(*)
FROM web_gerencia.tbl_cgcie
WHERE loccod = '”. {loccod} ."’ AND
indcod = ‘". {indcod} ."’ AND
cieseq = ‘". $cCIESEQ ."’" );
sc_alert( {rs} );
if ({rs} !== false){
sc_alert(“Estou em 1”);
}else{
sc_alert(“Estou em 2”);
}
O resultado da condição if() é sempre mostrar “Estou em 1”, independente se o registro exista ou não.
Também já mudei a condição para “if (count(rs)>1)”, e também permanece mostrando apenas “Estou em 1”.
Após vários testes, não consigo fazer o sc_select() (já testei também pelo sc_lookup()) trazer os resultados esperados, porém em várias funções que criei ao projeto, com a mesma lógica funcionam sem problemas, consigo capturar o resultado, tratar o resultado do resultset, usar o seu conteúdo e tudo mais, porém nestes eventos não consigo.
O que mudar para resolver esta situação nestes eventos ?
Até o momento tentei de tudo, utilizei variáveis locais, mudei para a macro sc_lookup() e nada, realmente não consigo de forma alguma tratar o resultado do sc_select() dentro deste evento, e não sei o que devo fazer.
Se estou tentando fazer algo que realmente não irá funcionar, ou se é algo errado na minha lógica!
Alguém aqui no fórum utiliza ou já utilizou destes eventos para para uso com sc_select() / sc_sql_exec() em outras tabelas ?, há algum link ou material onde possa encontrar apoio para estudos para solucionar isto, ou devo esquecer disto ?, pois até o momento já usei pelo menos umas 15:00 hrs testando este evento.
Neste evento só consegui fazer funcionar se usar o sc_sql_exec(), mas tratar um resultset do sc_select() / sc_lookup() isto não encontrei como fazer!
Att,
Jocimar