sc_lookup() dentro de funções não funciona

Olá e boa tarde a todos!

Estou tentando utilizar a função sc_lookup() dentro de uma função “function()” que está dentro de uma biblioteca comum ao projeto mas dá erro.

//* Busca Parametros de Horarios para o Depsrtamento
$SQL = "SELECT ho_DiaLimite, ho_HorarioLimite, ho_SuspenderBloqueio 
		FROM T_Horarios 
		WHERE dp_Id = '".$Departamento."' AND ca_Id = '".$Cargo."'"; 

sc_lookup(rs, $SQL);

Nota: Dentro da aplicação ela funciona direitinho mas quando decidi transferir para uma função, pois a utilizo muito, ela dá o seguinte erro: Fatal error: Call to undefined function sc_lookup()

Alguém tem uma idéia se é BUG ou tem outro procedimento?

Obrigado!

Pelo que entendi, você criou uma biblioteca e inseriu esse código.

Ao chamar na aplicação, a biblioteca foi setada na interface da aplicação, em “Programação” -> “Biblioteca Internas”?
De que forma foi chamada essa bilbioteca na aplicação?

Colocou para carregar a biblioteca assim:

Olá Jailton e Yuri,

Sim fiz tudo direitinho.

Mas como disse, não funciona se estiver dentro de uma biblioteca.

Uso sempre a mesma biblioteca pois tenho outras funções lá.

Me parece que é algo errado com as funções do SC, no caso sc_lookup(), dentro de bibliotecas.

Será?

:frowning:

Confirmado,

Nunca consegui fazer funcionar esta macro nas bibliotecas interna, somente uso a macro: sc_exec_sql( $sql )

Oi Jocimar,

Obrigado pela confirmação.

Resolvi o problema abrindo o BD no código PHP mesmo. Mas é ruim não poder usar o sc_lookup().

Vamos torcer para o pessoal do suporte ver esse tópico de BUG e resolver o problema.

[]s.

Não sei o que quer dizer com biblioteca comum.
Se VC coloca mais de uma função dentro de uma biblioteca interna, o SC não traduz as macros apenas faz um include do script com as funções.
Biblioteca interna já eh uma função declarada em seu scopo.
Eu tenho um código capaz de fazer o que as macros SC lookup e select fazem em bibliotecas externas.

Essa questão do sc_lookup não funcionar em bibliotecas internas já foi resolvida no SC 9 ?

Alguem poderia me responder?

Estou com problema semelhante conforme pode ser lido no post:
http://www.scriptcase.com.br/forum/index.php/topic,16716.msg87784.html#msg87784

Obrigado

Utilizo o sc_lookup() em bibliotecas internas sem problemas.
Versão 8.1

Tô achando “engraçado” que sempre usei sc_lookup em bibliotecas internas de projeto e nunca tive problemas.
Atualizei para a v9.2 e agora não funciona mais.
Qual a lógica disso?

1 Curtida

Boa noite Haroldo!

Você pode compartilhar este código comigo?

Para usar sc_lookup, sc_select, sc_sql_exec em biblioteca externa?

Pelo que eu entendi em seu post original você tinha um código exemplo que implementava pois o SC não permite o uso .
Fiz um programa exemplo e quando não rodou, eu pesquisei no fórum e encontrei sua postagem a respeito do problema específico que estou tendo.
Parece simples, mas como não tenho muita experiência no mundo da programação web, tal conhecimento vai tomar um bom tempo para atingir a solução.

Específica melhor seu problema que nós nos podemos te ajudar.

De antemão, agradeço qualquer ajuda que possa me auxiliar a compreender melhor a solução do problema.
Em tempo, vi que muitas postagens suas em que é disponibilizado o link de exemplo ou redirecionando a outra discussão o destino não é alcançado. É por causa do tempo da postagem ou é alguma restrição no fórum?

O fórum migrou de plataforma, quebrando os links de referências internas.
Abra um tópico novo com seu problema.
A ajuda vai chegar de um ou de outro.

No código abaixo, o comando sc_select não é aceito

<?php sc_select(rs, " SELECT id, concat(no_processo , ' - ' , ds_processo) , ds_criador " ." FROM tb_processo " ." where case when '".[usr_login]."' = 'admin' " ." then ds_criador != '' " ." else ds_criador = '".[usr_login]."' " ." end " ." ORDER BY no_processo"); ?>
Escolha um processo: <?php
		if ({rs}!==False)
		{
			while (!$rs->EOF)
			{

?>
<option value=<?php echo "$rs->fields[0]";?>><?php echo "$rs->fields[1]";?>

<?php $rs->MoveNext(); } $rs->Close(); } ?>
		</option>
	</select>
</div>

A ideia é tem um aplicativo html que um layer de uma aplicação menu relacione os processos do usuário e no evento on_change o processo selecionado possa ser capturado na aplicação recupera_processo.php e transferido para uma variável global.

Ultrapassado o problema da execução do select na base de dados, em teoria o problema estaria resolvido.

Dei outra solução para o pessoal que está desenvolvendo a solução que era a abertura de um control ao se selecionar a opção de chamada de seleção de processos no menu principal e depois seria direcionado para uma outra aplicação com o submenu mas convenhamos que é, no mínimo, uma solução não muito convencional para o usuário final.

Esse seu código é aplicado em que tipo de aplicação e em qual evento?

a sequencia de execução seria a seguinte:

  1. menu_pesquisa (implementado no SC) -> possui um layer onde é feita uma chamada a uma aplicação da biblioteca externa do projeto (busca_processo)

  2. na biblioteca externa existe uma aplicação html (obtem_processo) que é responsável pela leitura dos dados do processo e sua população em um objeto select que será exibido no layer de menu_pesquisa --> o código exibido está neste modulo.

  1. Em um evento on_change o valor selecionado é capturado e encaminhado via post para o modulo recupera_processo.php que recebe o valor do post e popula a variável global [chave_processo] que é usada como chave de acesso para as demais opções do menu.

Haroldo, eu mexo mais com gestão de ti e estou dando uma mão para a equipe de desenvolvimento, desculpe se não consegui explicar com todos os detalhes.

Pelo que eu entendi, o problema todo está no fato de que o comando sc_select não é executado na biblioteca externa

Esse evento onchange não existe em app menu.
Segunda acesso sua máquina e tentamos entender sua necessidade e achar a melhor solução.