Escopo e criação de variáveis???

Prezados,
Estou tentando aprender um pouco de PHP e mais especificamente dentro do Scriptcase. Contudo, estou com um grande problema. Montei uma simples aplicação com várias tabelas em MYSQL e preciso em uma aplicação atualizar dados no banco, entretanto dois campos ao serem atualizados devem ser concatenados e copiados para outro campo. Tentei utilizar o evento onload e onBeforeUpdate para obter os valores dos dois campos. Quando uso o evento onBeforeUpdate as variáveis que armazenam os valores concatenados são reconhecidas no evento onAfterUpdate, momento que gravo no banco apenas o campo de histórico anterior, porém com os valores novos e não os anteriores à mudança. Quando tento usar o evento onLoad ou um evento ajax criado no onchange do campo comporá o histórico, a variável não é conhecida. Acho que o escopo da variável não está correto, contudo não sei onde declara-lá corretamente. Se alguém puder me ajudar ficarei muito grato.

minhas tentativas seguem abaixo e quero utilizar a variável $loc_ant no evento onAfterUpdate, só que neste formato a aplicação retorna informação que a variável não existe.

Evento onload
#$loc_ant = {localizacao_anterior};
#$loc_ant = $local .’ * ‘. $caixa;
#$loc_ant = {local} .’ * ‘. {caixa};
#$loc_ant = {local_COD_LOCAL} .’ * ‘. {caixa_COD_CAIXA};
#$localizacao_anterior = {local} .’ * '. {caixa};
$data_alteracao = date(“Y-m-d”);
$data = date(“Y-m-d”);
#$pado = preg_replace("/[^0-9]/", “”, {processo});

$check_sql = “SELECT RESPONSAVEL”
. " FROM responsavel"
. " WHERE COD_RESP = ‘" . {responsavel_COD_RESP} . "’";
sc_lookup(rs, $check_sql);

if (isset({rs[0][0]})) // Row found
{
$loc_ant = {rs[0][0]};
}

$check_sql = “SELECT LOCAL”
. " FROM local"
. " WHERE COD_LOCAL = ‘" . {local_COD_LOCAL} . "’";
sc_lookup(rs, $check_sql);

if (isset({rs[0][0]})) // Row found
{
$loc_ant = $loc_ant. " * ". {rs[0][0]};
}

$check_sql = “SELECT CAIXA”
. " FROM caixa"
. " WHERE COD_CAIXA = ‘" . {caixa_COD_CAIXA} . "’";
sc_lookup(rs, $check_sql);

if (isset({rs[0][0]})) // Row found
{
$loc_ant = $loc_ant. " * ". {rs[0][0]};

}

o evento onAfterUpdate é para depois do update, teste no onBeforeUpdate (antes de atualizar).
$loc_ant é um campo do formulário? Se sim, faça {loc_ant} = {loc_ant}. " * ". {rs[0][0]};

Prezado colega, o grande problema é que a variável só reconhecida se estiver com atribuição de valor dentro do evento onBeforeUpdate, contudo eu preciso que os valores seja atribuídos antes que os campos do formulário sejam alterados.
Tentei atribuir valores em um evento ajax onchange do campo do formulário, entretanto quando utilizo a variável no sql recebo uma informação que a variável não existe.
Não sei nem como, nem onde criar uma variável que seja visível por todas as funções da aplicação.
Aguardo mais orientações.

Esse erro acontece pois o seu select retornou vazio e logo após não encontrou $loc_ant , no início do onLoad inicie a variável
$loc_ant = “”; //deve ser a primeira linha do onLoad.
Habilite o modo debug e verifique se os selects estão funcionando.