Faz algumas semanas que relatei um problema na geração de formulário com BD Progress, porém até o momento não foi enviado nenhuma resposta sobre o assunto. Também postei aqui no FORUM, mas a sugestão de mudar o código gerado pelo SC3, apesar de inviável, foi feita e não apresentou sucesso. Provavelmente a Netmake entede que para correção de BUG, tenho que contratar serviço de UPGRADE, isso não é uma prática exclusiva da Netmake e acredito não está amparada em nenhuma lei de software.
Isto é claro que não ocorre quando você compra a licença de uso do Windows, Norton, etc., pois são realizadas atualizações para correção de problemas independente do tempo em que foi adquirida a licença.
Usei a versão 2 para fazer o mesmo formulário e funcionou sem problemas, inclusive o código gerado está com aspas dupla na clausula select.
=========================/======================
Código SC2:
$nmgp_select = "SELECT \"Cust-Num\", Name, Address, Address2, City, State, Country, Phone, Contact, \"Sales-Rep\", Comments, \"Credit-Limit\", Balance, Terms, Discount, \"Postal-Code\" from " . $this->ini->nm_tabela ;
}
if ($this->nmgp_opcao == "igual")
{
if (in_array(strtolower($this->ini->nm_tpbanco), $this->ini->nm_bases_access))
{
$nmgp_select .= " WHERE \"Cust-Num\" = $cust_num ";
}
else
{
$nmgp_select .= " WHERE \"Cust-Num\" = $cust_num ";
}
}
if ($_SESSION['sc_session'][$this->ini->sc_page]['frmCustomer']['run_iframe'] == "F" || $_SESSION['sc_session'][$this->ini->sc_page]['frmCustomer']['run_iframe'] == "R")
{
====================//======================
Código SC3
$_SESSION['sc_session'][$this->Ini->sc_page]['frmCustomer']['dados_select'] = $this->nmgp_dados_select;
if (!isset($_SESSION['sc_session'][$this->Ini->sc_page]['frmCustomer']['total']))
{
$sc_where_pos = " WHERE (("Cust-Num" < $this->cust_num))";
if ('' != $sc_where)
{
if ('where ' == strtolower(substr(trim($sc_where), 0, 6)))
{
$sc_where = substr(trim($sc_where), 6);
}
if ('and ' == strtolower(substr(trim($sc_where), 0, 4)))
{
$sc_where = substr(trim($sc_where), 4);
}
$sc_where_pos .= ' AND (' . $sc_where . ')';
$sc_where = ' WHERE ' . $sc_where;
========================/===========================
Grata,
Msilva.