Botao finalizar processo

Boa tarde,

Por favor alguem poderia me dar uma ajuda?

Tenho uma aplicação formulario mestre/detalhes, no mestre/detalhe criei um botao para finalizar um processo, onde ao clicar no botao ele desabilita a opção de edição do registro, inserindo no campo status_cotacao = 2, o que indica que este registro nao pode ser mais editado. Estou usando o codigo abaixo:

// Check for record

$update_table  = 'cotacao ';              // Table name
$update_where  = "nr_transacao = '{nr_transacao}'"; // Where clause
$update_fields = array(                   // Field list, add as many as needed
                 //"operador_id= '$var_usuarios_global'",
                 "status_cotacao = '2'"
             );

// Update record
$update_sql = ‘UPDATE ’ . $update_table
. ’ SET ’ . implode(’, ', $update_fields)
. ’ WHERE ’ . $update_where;
sc_exec_sql($update_sql);

Esta realizando o processo de desabilitar a edição do registro corretamente, porem se eu tenho mais de um registro no form principal ao clicar no botao ele aplica a regra do botao para os demais registros do form principal.
O que preciso realizar para que altere somente o registro selecionado do form principal?

No Evento Onloadrecord estou usando esse codigo:

/**

  • Selecting a field from another table
    */

// Check for record
$check_sql = “SELECT status_cotacao”
. " FROM cotacao"
. " WHERE status_cotacao = ‘2’";
//nr_transacao = ‘{nr_transacao}’";
//status_cotacao = ‘2’";
sc_lookup(rs, $check_sql);

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

if($cotacao =="2"){

//não exibe os botões do sistema quando a ocorrência estiver encerrada
sc_btn_display (‘insert’, ‘off’);
sc_btn_display (‘update’, ‘off’);
sc_btn_display (‘new’, ‘off’);
sc_btn_display (‘finalizar_cotacao’, ‘off’);

}

Alguem para me ajudar?

Gustavo, a sua tabela mestre é a própria tabela cotacao?

Coloque a app em modo debug e analise as querys.

Bom dia Endrigo,

Nao a tabela cotaçao nao é a mestre.

Boa tarde,

Consegui ajustar o codigo do botao com ajuda de um colega.

Na linha ( $update_where = “nr_transacao = ‘{nr_transacao}’”; ) alterei o valor {nr_transacao} para ‘".[var_nr_transacao]."’"; alterei tambem la no meu form_mestre/detalhes o parametro de ligação entre as aplicações declarando a variavel [var_nr_transacao] recebendo o valor do campo {nr_transacao}.

Esta rodando certinho agora.

Muito obrigado pela ajuda de todos.

Só para realçar:

Supondo que {nr_transacao}=123 =>
$update_where = “nr_transacao = ‘{nr_transacao}’”;

resultado: nr_transacao = '123 ’

O sc coloca um espaço quando da utilização de campos sc, isso se resolve concatenando:
$update_where = “nr_transacao = '”.{nr_transacao}."’";

Rsrs não sabia disto, más sempre usei concatenando…
vlw a dica.