Ajax Onchange, Não funciona corretamente, ora funciona ora não funciona

Bom Dia Pessoal,
Estou com um problema a 3 dias e não consigo resolver

Tenho uma tabela de veículos cadastrados no banco, nesta tabela também tem campos de motorista, centro de custo e serviço, para já predetermina quando escolher pela placa do veículo:

Já no ScriptCase existe um campo VEÍCULO, o tipo é Texto Auto-Complete, quando coloca a letra já puxa as placas e quando escolhe a placa automaticamente, através do recurso ajax OnChange, ele lança o motorista padrão, o centro de custo e serviço, abaixo segue o script do ajax

$sql = ‘SELECT VEIC_ID,VEIC_MOTORISTA FROM tb_veiculo WHERE VEIC_ID =’.{COMB_VEICULO};
sc_lookup(ds,$sql);
{COMB_MOTORISTA} = {ds[0][1]};

$sql1 = ‘SELECT VEIC_CENTRO,VEIC_ID FROM tb_veiculo WHERE VEIC_ID =’.{COMB_VEICULO};
sc_lookup(sql,$sql1);
{COMB_CENTRO} = {sql[0][0]};

$sql2 = ‘SELECT VEIC_SERVICE,VEIC_ID FROM tb_veiculo WHERE VEIC_ID =’.{COMB_VEICULO};
sc_lookup(dsd,$sql2);
{COMB_SERVICE} = {dsd[0][0]};

Até ai tudo bem a questão é que quando coloca a placa o Centro de Custo e o Serviço aparece normalmente, e o motorista ora funciona, ora não aparece e não sei o que fazer já tentei de tudo me ajudem, desde já agradeço

Você não critica nenhum dos lookups?

É certo o retorno verdadeiro de todos os selects?

Coloque o modo debug e avalie o que o sc está enxergando nessas instruções

hAroldo desde já agradeço pela ajuda, bom coloquei em modo Debug e todas as consultas estão tudo certinho e os lookups o retorno são todos verdadeiros. o pior de tudo haroldo é que as outras consultas estão tudo certinhas e puxam automaticamente só o campo motorista que não puxa

Como o Haroldo falou, o correto é verificar o retorno se não fizer isso ele não dá erro mas não mostra o restante, e usar o evento: OnBlur

E fazer um código só quando passar na Placa com o TAB:

[code]/* Macro sc_lookup */

sc_lookup(plc,"
SELECT
VEIC_MOTORISTA,
VEIC_CENTRO,
VEIC_SERVICE
FROM
tb_veiculo
WHERE
VEIC_ID = {COMB_VEICULO}
");

/* Erro no lookup /
if (FALSE === {plc}) {
sc_error_message(“Ocorreu um erro no acesso ao banco de dados.
”);
}
elseif (empty({plc})) { /
EOF */
sc_error_message(“Placa não CADASTRADA!
”); // Caso não quiser criticar o erro
// coloque // no inicio da linha.
}
else {

/* Inclua aqui sua rotina de processamento */
{COMB_MOTORISTA} = {plc[0][0]};
    {COMB_CENTRO} = {plc[0][1]};
    {COMB_SERVICE} = {plc[0][2]};

}
[/code]

Tente assim e veja se não resolve.

Jailton, funciona do mesmo jeito sendo que só o campo motorista não funciona, e ora ele pega ora não pega, e não tem jeito de ele funciona direito, e já verifiquei todos os lookups e selects estão tudo certinho, só este campo ora puxa ora não puxa mesmo se tratando de uma mesma linha de resultado

O que vc quer dizer que o retorno dos selects estão ok, mas o campo motorista ao atribuir o valor não é exibido?

Isso ocorre quando há erro de javascript, as vezes um sc_field_display num campo com nome errado…

Mas Haroldo, as vezes funciona, agora fica instável as vezes puxa tudo certinho e as vezes não, e o problema não é no banco os valores todos são true os selects funcionam direitinho, pensi na complicação

Samuel bom dia,

Você tem alguma variável local ou global que seja tipo [COMB_MOTORISTA] ou $COMB_MOTORISTA?