Undefined variable no evento OnValidadeSucess

Parece que quando precisamos engrenar em um projeto só da M…

Estou em um app control e no evento onvalidatesucess eu executo o código abaixo:

/*
Insere a operação do OPL
*/

// Variável de SESSION carregada no login ou troca de franquia
$franquia_id = [usr_franquia_id_sessao];
// ID do cadastro da OPL (futuramento parâmetro global)
$producao_operacao_id = 1;
$operacao_situacao = 'A';
$status_pdcl = 'P';
$operacao_origem = 'MA';
$data_prevista_colheita = {data_prevista_colheita};
$dias_para_colheita = {dias_para_colheita};
$plan_operador_cadastro = [usr_operador_cadastro];
$plan_data = {plan_data};
$plan_operador1 = {plan_operador1};
$plan_operador2 = {plan_operador2};
if (empty($plan_operador2)){
	$plan_operador2 = 'NULL';
}
$plan_variedade_id = {plan_variedade_id};
$plan_quantidade_bandeja = {plan_quantidade_bandeja};
$plan_quantidade_variedade_bandeja = {plan_quantidade_variedade_bandeja};
$plan_total_operacao = {plan_total_operacao};
$plan_observacao = {plan_observacao};


$sql_insert = "INSERT INTO operacao(franquia_id, producao_operacao_id, operacao_situacao, status_pdcl, operacao_origem,  data_prevista_colheita, dias_para_colheita, plan_operador_cadastro, plan_data, plan_operador1, plan_operador2, plan_variedade_id, plan_quantidade_bandeja, plan_quantidade_variedade_bandeja, plan_total_operacao, plan_observacao) VALUES ($franquia_id, $producao_operacao_id, '$operacao_situacao', '$status_pdcl', '$operacao_origem', '$data_prevista_colheita', $dias_para_colheita, $plan_operador_cadastro, '$plan_data', $plan_operador1, $plan_operador2, $plan_variedade_id, $plan_quantidade_bandeja, $plan_quantidade_variedade_bandeja, $plan_total_operacao, '$plan_observacao')";		
sc_exec_sql($sql_insert);

{data_prevista_colheita} = '';
{plan_data} = '';

sc_alert('Operação de Plantio (OPL) inserida com sucesso!\nData Planejada:'.$plan_data.' | Variedade:'.$plan_variedade_id.' | Total operação:'.$plan_total_operacao.'\n\nSe desejar, altere a data de plantio planejada e insera outros registros ou altere a variedade.\n\nVerifique as informações carregadas automaticamente (quantidade bandeja, dias produção).\n\nSe encerrou o planejamento, feche a janela.');

No ALERT não mostra os valores das variáveis e quando retorna para o app control aparece a mensagem:
Atenção Fechar
Undefined variable: plan_data
Undefined variable: plan_variedade_id
Undefined variable: plan_total_operacao

Desde quando é preciso definir variável no PHP?

O que pode estar ocorrendo?

A bruxa tá solta…

veja a documentação de sc_alert:
http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_alert

pela documentação ela não pode ser usada nesse evento.

troque o sc_alert por um echo para testar.

Desde quando é preciso definir variáveis php?
Desde de sempre.
E suas variáveis pelo que vi estão definidas.

usar o sc_commit_trans() também é uma boa prática.

Consegui resolver com este código abaixo.
O SC_ALERT funcionou com no evento ONVALIDATESUCESS, porém optei por mesclar com o ECHO.
A variável $plan_total_operacao parece que é perdida depois que utilizo no INSERT.
O importante é que deu certo. Vamos evoluindo e aprendendo.
Obrigado Haroldo.

/*
Insere a operação do OPL
*/

// Variável de SESSION carregada no login ou troca de franquia
$franquia_id = [usr_franquia_id_sessao];
// ID do cadastro da OPL (futaramento parâmetro global)
$producao_operacao_id = 1;
$operacao_situacao = 'A';
$status_pdcl = 'P';
$operacao_origem = 'MA';
$data_prevista_colheita = {data_prevista_colheita};
$dias_para_colheita = {dias_para_colheita};
$plan_operador_cadastro = [usr_operador_cadastro];
$plan_data = {plan_data};
$plan_operador1 = {plan_operador1};
$plan_operador2 = {plan_operador2};
if (empty($plan_operador2)){
	$plan_operador2 = 'NULL';
}
$plan_variedade_id = {plan_variedade_id};
$plan_quantidade_bandeja = {plan_quantidade_bandeja};
$plan_quantidade_variedade_bandeja = {plan_quantidade_variedade_bandeja};
$plan_total_operacao = {plan_total_operacao};
$plan_observacao = {plan_observacao};


$sql_insert = "INSERT INTO operacao(franquia_id, producao_operacao_id, operacao_situacao, status_pdcl, operacao_origem,  data_prevista_colheita, dias_para_colheita, plan_operador_cadastro, plan_data, plan_operador1, plan_operador2, plan_variedade_id, plan_quantidade_bandeja, plan_quantidade_variedade_bandeja, plan_total_operacao, plan_observacao) VALUES ($franquia_id, $producao_operacao_id, '$operacao_situacao', '$status_pdcl', '$operacao_origem', '$data_prevista_colheita', $dias_para_colheita, $plan_operador_cadastro, '$plan_data', $plan_operador1, $plan_operador2, $plan_variedade_id, $plan_quantidade_bandeja, $plan_quantidade_variedade_bandeja, $plan_total_operacao, '$plan_observacao')";		
sc_exec_sql($sql_insert);

$plan_data_alert = sc_date_conv($plan_data, "aaaammdd", "dd/mm/aaaa");
$plan_total_operacao_alert = {plan_total_operacao};
$msg_alert = "<center><strong>Operação de Plantio (OPL) inserida com sucesso!<br>Data Planejada:$plan_data_alert | Variedade:$plan_variedade_id | Total operação:$plan_total_operacao_alert</strong><br>Se desejar continuar planejando, altere a data de plantio planejada.<br>Verifique as informações carregadas automaticamente (quantidade bandeja, dias produção).<br>Se encerrou o planejamento, feche a janela.</center>";

{data_prevista_colheita} = '';
{plan_data} = '';

sc_commit_trans ();

sc_alert('OPL PLANEJADA COM SUCESSO!');
echo $msg_alert;