RESOLVIDO - Compara IF - Com resultado falso.

Pessoal.

Coloquei esta ação no OnChange de um evento Ajax.
O que tem de errado na estrutura abaixo? Ja tentei mudar os TIPOS de VARIAVEIS mas nao consigo um resultado true.

$check_sql=’’; //limpa query
$tempo=0; //limpa variavel do tempo

$ano = ‘ANO(S)’;

$check_sql = “SELECT guarda_corrente_numeral, guarda_corrente_tempo, CODIGO_TIPO_DOCUMENTAL”
. " FROM TB_TIPO_DOCUMENTAL"
. " WHERE especie_documento = ‘" . {ESPECIE_DOCTO}. "’ and codigo_tipo_documental = ‘". {ESPECIE_DOCTO_DET} . "’";
sc_lookup(rs, $check_sql);

{tempo}={rs[0][0]};
{tempo_corrente}={rs[0][1]};

var_dump({tempo_corrente} == $ano); --> Este $ano teria que ser {ano}?

if ({tempo_corrente} == $ano){
somar_data({DATA_DOCTO}, 0, 0, {TEMPO}); //SOMAR ANO/

var_dump({tempo_corrente} == {ano}); -> Essa comparação nunca é verdadeira!

Onde poderia estar errado?

Abraços e obrigado

Remove este seu código do Ajax OnChange e coloca este evento no OnBlur:
$_Ano=‘ANO(S)’;

/* Macro sc_lookup */

$sql = "
SELECT
guarda_corrente_numeral,
guarda_corrente_tempo,
CODIGO_TIPO_DOCUMENTAL
FROM
TB_TIPO_DOCUMENTAL
WHERE
especie_documento=’{ESPECIE_DOCTO}’ AND codigo_tipo_documental=’{ESPECIE_DOCTO_DET}’
";

sc_lookup(checar_tempo, $sql);

/* Erro no lookup /
if (FALSE === {checar_tempo[}) {
sc_error_message(“Ocorreu um erro no acesso ao banco de dados.
”);
}
elseif (empty({checar_tempo[})) { /
EOF */

sc_error_message("Nenhum valor foi retornado pelo banco.<BR>");

}
else {

/* Inclua aqui sua rotina de processamento */

$_Tempo={checar_tempo[0][0]};
$_Tempo_corrente={checar_tempo[0][1]};

if ($_Tempo_corrente == $_Ano) { // Se $_Tempo_corrente = 'ANO(S)'
    somar_data({DATA_DOCTO}, 0, 0, $_Tempo)  //SOMAR ANO
};

}

$_Ano='ANO(S)'; 

/* Macro sc_lookup */

$sql = "
SELECT
      guarda_corrente_numeral,
      guarda_corrente_tempo,
      CODIGO_TIPO_DOCUMENTAL	  
FROM
      TB_TIPO_DOCUMENTAL
WHERE
      especie_documento='{ESPECIE_DOCTO}' AND codigo_tipo_documental='{ESPECIE_DOCTO_DET}'
";

sc_lookup(checar_tempo, $sql);

/* Erro no lookup */
if (FALSE === {checar_tempo[}) {
	sc_error_message("Ocorreu um erro no acesso ao banco de dados.<BR>");
}
elseif (empty({checar_tempo[})) { /* EOF */

	sc_error_message("Nenhum valor foi retornado pelo banco.<BR>");
}
else {

	/* Inclua aqui sua rotina de processamento */

	$_Tempo={checar_tempo[0][0]};
	$_Tempo_corrente={checar_tempo[0][1]};

	if ($_Tempo_corrente == $_Ano) { // Se $_Tempo_corrente = 'ANO(S)'
	    somar_data({DATA_DOCTO}, 0, 0, $_Tempo)  //SOMAR ANO
	};
	
}

Jailton.

Funcionou, perfeitamente.

Só não entendi a diferença entre o OnChange para o OnBlur no evento Ajax. Eles se comportam de modo diferente?

Abs

Sim dependendo do campo, conteúdo, o OnChange não pega direito, ai tem que usar o OnBlur.

onBlur sempre que o campo perde o foco. onChange somente quando o campo teve qualquer tipo de alteração.

Ok. Jailton e Haroldo.

Obrigado a ambos pela orientação.

Abs