Pessoal eu tenho esse código em BeforeInsert:
$eventos = explode(";", {evt_doc});
$count = count($eventos);
for ($i=0; $i<$count; $i++) {
$insert_table = 'evt_doc'; // Nome da Tabela
$insert_fields = array( // List
'DOC001_CODE' => "'". [code_kb] ."'",
'EVT004_ID' => "'". $eventos[$i] ."'",
);
$insert_sql = 'INSERT INTO ' . $insert_table
. ' (' . implode(', ', array_keys($insert_fields)) . ')'
. ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';
sc_exec_sql($insert_sql);
}
Que cadastra vários eventos para o mesmo documento, de acordo com os eventos escolhidos pelo cliente em um Double Select, até ai tudo bem, mas quando eu fui colocar o código no BeforeUpdate:
$eventos = explode(";", $evt_doc);
$count = count($eventos);
for ($i=0; $i<$count; $i++) {
if ($eventos[$i] !== '') {
// SQL
$check_table = 'evt_doc'; // Tebela
$check_where = "DOC001_CODE = '" . {DOC001_CODE} ."'"; // Where
$check_and = "EVT004_ID = '" . $eventos[$i] ."'";
// VERIFICA
$check_sql = 'SELECT *'
. ' FROM ' . $check_table
. ' WHERE ' . $check_where
. ' AND ' . $check_and;
sc_select(dataset, $check_sql);
if (false == {dataset})
{
sc_error_message("Sem acesso ao banco de dados!");
}
elseif ({dataset}->EOF) // Se não existir ainda.
{
$delete_sql = "DELETE FROM evt_doc WHERE DOC001_CODE = '". {DOC001_CODE} ."'";
sc_exec_sql($delete_sql);
$insert_table = 'evt_doc'; // Tabela
$insert_fields = array( // Lista
'DOC001_CODE' => "'". {DOC001_CODE} ."'",
'EVT004_ID' => "'". $eventos[$i] ."'",
);
// Inserção.
$insert_sql = 'INSERT INTO ' . $insert_table
. ' (' . implode(', ', array_keys($insert_fields)) . ')'
. ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';
sc_exec_sql($insert_sql);
}
}
}
Até ai tudo bem ele faz até o primeiro FOR. Só que da esse erro na tela:
E não faz a inclusão certinha da forma que eu quero. O que me da raiva é que esse código fora do scriptCase funciona.