Senhores, boa tarde!
Tenho um form tipo CONTROLE. Nele há dois campos SELECT, tipo número ([w_idProcesso] está definido como global e w_idCandidato, como variável local), que não estão sendo modificados quando eu seleciono a opção no formulário.
Para a var global [w_idProcesso] o comando SQL relacionado no select é este:
SELECT id, “codigoProcesso”
FROM “public”.“tb_processosSeletivos”
ORDER BY “codigoProcesso”
Para a variavel local w_idCandidato, o SQL associado a ela no select é o seguinte:
SELECT id, sc_concat(“numInscricaoCandidato”,’ - ', “nomeCandidato”)
FROM “public”.tb_candidatos
ORDER BY “nomeCandidato”
Os listbox associados as duas variáveis estão aparecendo no form e eu consigo selecionar as opções dos arquivos associados.
Ocorre que nenhum dos selects carrega os campos {id} de cada um dos dois arquivos (tb_processosSeletivos.id => [w_idProcesso] e tb_candidatos.id => $w_idCandidato) e a evidência disso decorre do processamento de um evento ajax onclick (w_idCandidato_onclick) associado a variavel $w_idCandidato, que tem o seguinte processamento:
echo "id Processo - (global) : ".[w_idProcesso];
echo "id Candidato -(local) : ".$w_idCandidato;
$w_comandoSQL = ‘SELECT
id,
“textoQuestao”,
“dataInclusao”,
“dataAtualizacao”,
status,
“enfoqueAvaliacao”,
“pesoQuestao”,
“areaConhecimento”,
“idProcesso”
FROM
public.tb_questoes
WHERE
(tb_questoes.“idProcesso” =’. [w_idProcesso] .’);’;
sc_lookup(w_arrayresultado,$w_comandoSQL);
if ($w_arrayresultado==“null”) {echo “Resultado Vazio”;} else
{
$i = 0;
while ($i < 10)
{
echo "id: ".{w_arrayresultado[$i][0]};
echo "textoQuestao: ". {w_arrayresultado[$i][1]};
echo “dataInclusao”. {w_arrayresultado[$i][2]};
echo {w_arrayresultado[$i][3]};
echo {w_arrayresultado[$i][4]};
echo {w_arrayresultado[$i][5]};
echo {w_arrayresultado[$i][6]};
echo {w_arrayresultado[$i][7]};
echo {w_arrayresultado[$i][8]};
$i=$i+1;
}
$w_areaConhecimento = {w_arrayresultado[1][7]};
echo "Id Processo ".{w_arrayresultado[1][8]};
echo "Area de Conhecimento ".{w_arrayresultado[1][7]};
}
As duas primeiras instruções “echo” não estão retornam nada e vejam que eu passei na clausula WHERE do SELECT ($w_comandoSQL) a var global [w_idProcesso] e, mesmo que selecionado o processo correto, ele não retorna nada.
Somente retorna conteúdo quando defino um conteúdo para a variavel global ([w_idProcesso]=1;) no evento onscriptInit.
Mas, o processamento NAO cai na condição do array nulo (w_arrayresultado).
Agora há pouco, consultando um post do scriptcase, se eu entendi direito a sugestão do produto, eles recomendam abrir a opção “Dados de Sessão” e manipular a variável global por lá, informando se devo ou não usar a variável.
QUE QUE É ISSO !!! UM COMPLETO ABSURDO !!!
A linguagem tem que “se bastar” no conteúdo do código que o programador fez porque ali que está a lógica do programa.
Se o programador definir uma variável global (de sessão) e implementar uma lógica de programação usando a variável, não deveria ser preciso que ele se utilizasse desse expediente (na minha maneira de ver uma gambiarra) de “ajustar” o uso da variável através do “Dados de Sessão”, que por sinal é uma bagunça, porque aparece dados de outras aplicações que você rodou instantes atras e não te oferece funcionalidades para você entender e fazer bom uso (os manuais do scriptcase são horríveis) e gerenciar isso.
Por favor, me ajudem com isso.
Eu fiz alguma coisa de errada no código ou o ScriptCase é assim mesmo, tem essas…nuances funcionais (manejar dados da aplicação por fora da aplicação, nos Dados de Sessão), por assim dizer.
E olha que eu só estou fazendo um protótipo que deveria ser realizado em pouco tempo (ferramenta RAD).
Obrigado.
César Azeredo
11 98380.2102