Erro!!! ou estou fazendo errado...

Criei um formulário simples para atualizar somente um campo, mas para a tela ficar apresentável eu coloquei os outros campos na tela normal como se fosse a edição, para manter o layout.
Até ai tudo blz, mas precisava me assegurar que o usuário não alterasse outros campos, assim sendo na ação onload do formulário criei as variáveis com o conteúdo dos campos, com objetivo de que quando eu fosse validar o form eu devolver os valores originais de cada campo na abertura do form teoricamente simples concordam?
Então ficou assim:

no evento onload
$_nome = {nome};
$_data = {data_lanc};
peguei os valores originais de cada campo ok?

e no evento onvalidade eu devolvo os valores para os devidos donos simples assim
{nome} = $_nome;
{data_lanc} = $_data;

para a minha surpresa ele fala que a variável $_nome não existe quando eu mando atualizar o form…

Alguém já passou por situação parecida, e conseguiu ter solução!!!

Não seria mais simples marcar os campos como somente leitura?

Se eu quiser manter o layout de entrada não.

$_nome; esta transformando em global?
A variavel $_nome criada no evento não é usada em todo o formulario tem que tranformar ela em global.
Pelo menos só consigo usar assim.

Correto Fernando as variáveis criadas em um evento não são válidas em outro.

Por exemplo você pode criar $nome no onLoad, e no onAplicationIniti.

Agora se você fizer assim sc_set_global($nome);

E atribuir [nome] ao campo depois, vai funcionar.