Arquivo da tag: Oracle Forms

Problema ao instalar o Oracle Forms 10g no Windows 7

Ao instalar o Oracle Forms 10g em uma máquina com o sistema operacional Windows 7, a seguinte mensagem de erro aparece:

Usando paramFile: C:\Users\paulo.costa\Desktop\Ambiente de Desenvolvimento\Oracle Forms 10g\ds_windows_x86_101202_disk1\install\oraparam.ini
Verificando requisitos do Installer…
Verificando a versão do sistema operacional: deve ser 5.0, 5.1 or 5.2. Reais 6.1 Falha <<<<
Encerrando o Oracle Universal Installer; o log para esta sessão pode ser encontrado em C:\Users\PAULO~1.COS\AppData\Local\Temp\OraInstall2015-02-04_01-22-20PM\installActions2015-02-04_01-22-20PM.log

Pressione Enter para sair…

Para solucionar este problema, abra o Windows Explorer e clique com o botão direito sobre o item “Computador”, abrirá a página “Painel de Controle\Sistema e Segurança\Sistema”. Clique sobre a opção “Configurações avançadas do sistema”. Abrirá a janela “Propriedades do sistema”. Na aba “avançado” clique no botão “Configurações” de desempenho. Abrirá a janela “Opções de Desempenho”; selecione a aba “Avançado” e clique no botão “Alterar” memória virtual. Desmarque a opção “Gerenciar automaticamente o tamanho do arquivo de paginação de todas as unidades”. E em tamanho personalizado escolha 1024MB e 2048MB para o mínimo e máximo. Clique em OK para finalizar. O último passo é fazer com que a instalação seja executada no modo de compatibilidade do Windows XP: clique com o botão direito sobre o executável “setup.exe” e selecione prorpriedades. Na janela “Propriedades de setup” escolha a aba “Compatibilidade” e selecione “Executar este programa em modo de compatibilidade”: Windows XP (Service Pack 3). Para concluir reinicie o computador.

Inicie a instalação, e no momento que for questionado sobre o tipo de instalação, escolha o tipo “Concluído (1.14GB)”. Selecione as opções padrão e continue a instalação.

Para finalizar, não se esqueça de salvar o arquivo “TNSNAMES.ORA” atualizado na pasta “\DevSuiteHome_1\NETWORK\ADMIN”. Este arquivo informa ao Oracle Forms 10g quais os endereços dos servidores de banco de dados.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Procedimento para executar depuração de formulários no Oracle Forms 6i

Para realizar a depuração (“debugar”) de um formulário em busca de erros, basta utilizar a ferramenta “Depurador de Forms” contido no pacote do Oracle Forms Builder 6i. Importante lembrar que o modo de depuração pode variar de acordo com a versão do Oracle Forms. Este procedimento é voltado para a versão 6i.

Inicie o Depurador de Forms, clicando no botão “Executar o Depurador de Forms” – presente na caixa de ferramentas do Oracle Forms Builder.

Executar_Depurador_Forms

A janela do depurador será exibida:

OracleForms6i_-_Depurador

No depurador você terá alguns nós:

  • Módulos: contendo informações sobre os formulários abertos, incluindo seus gatilhos, blocos, variáveis;
  • Variáveis globais;
  • Variáveis do sistema;
  • Parâmetros da Linha de Comandos;
  • Ações de Depuração;
  • Stack: exibe o valor das variáveis do escopo atual;
  • Objetos de Banco de Dados;

Dentro do item “Módulos”, selecione o gatilho ou procedimento que você deseja depurar. Após selecionar, dê um clique duplo sobre a linha que você deseja inserir um ponto de parada (Break Point);

OracleForms6i_-_Ponto_de_Parada

Agora é só clicar no “X vermelho na barra de ferramenta do depurador para que inicie a execução.

OracleForms6i_-_Depurador

Você pode navegar através do execução usando comandos como:

  • botao-01 “Entrar” – Executa a próxima linha, caso ela seja uma função o depurador iniciará a depuração do código da função;
  • botao-02 “Transpor” – Executa a próxima linha, caso ela seja uma função o depurador calcula o resultado não entrando no código desta;
  • botao-03 “Sair”;
  • botao-04 “Ir” – Executa o código até que encontre o próximo ponto de parada.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Procedimento para finalizar aplicação em Oracle Forms 6i que está travada

Uma aplicação feita em Oracle Forms 6i é executada através do aplicativo Oracle Forms Runform. Assim, uma aplicação travada pode ser finalizada matando o processo do RunForm (ifdbg60.exe). Isso pode ser realizado através do Gerenciador de Tarefas do Windows (CTRL L + SHIFT L + ESC) ou através da execução do comando:

taskkill /F /IM ifdbg60.exe

Este comando pode ser adicionado a um arquivo *.bat facilitando a sua execução quando necessária. E caso o usuário deseje, é possível ainda vincular um atalho para este arquivo bat, finalizando a tarefa através de um sismples comando “CTRL + ALT + K”, por exemplo.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como preencher um Popup List (“Item da Lista”)) programaticamente no Oracle Forms 6i

Como preencher dinamicamente um Popup List (traduzido no Oracle Forms 6i como “Item da Lista”) em tempo de execução? Você pode utilizar um cursor e adicionar cada um dos elementos usando o comando ADD_LIST_ELEMENT, ou a forma abaixo que acredito ser a mais fácil:

DECLARE

	lobj_grupoID RecordGroup;
	lobj_listaID Item := Find_Item('BLOCODEDADOS.LST_NOMEDALISTA');
	lint_grupoStatus NUMBER;
	
BEGIN

	-- ----------------------------------------------------------------------
	-- Remove todos os itens da lista.
	-- ----------------------------------------------------------------------

	Clear_List(lobj_listaID); 

	-- ----------------------------------------------------------------------
	-- Preenche o PopupList com o nome dos cursos
	-- ----------------------------------------------------------------------

	lobj_grupoID := Create_Group_From_Query('listaCursos', 'SELECT DESCRICAO, TO_CHAR(CODIGO) CODIGO FROM CURSO ORDER BY DESCRICAO');
	lint_grupoStatus := Populate_Group('listaCursos');
	Populate_List(lobj_listaID, lobj_grupoID);

END;

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como Exibir ou Ocultar um Canvas Empilhado (Stacked Canvas) no Oracle Forms 6i?

Para Exibir é possível utilizar os comandos set_view_property(‘NOMEDOCANVAS’, VISIBLE, PROPERTY_TRUE); ou Show_View(‘NOMEDOCANVAS’);

Para Ocultar é possível utilizar os comandos set_view_property(‘NOMEDOCANVAS’, VISIBLE, PROPERTY_FALSE); ou Hide_View(‘NOMEDOCANVAS’);

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

FRM-13005: A retirada de objetos deste tipo no editor de layout não é suportada.

Ao tentar adicionar um Canvas (Empilhado) a outro canvas (Conteúdo) a ferramenta pergunta: “Você quer copiar o objeto ou dividi-lo em subclasses?”. Não interessa qual das opções seja escolhida (SubClasse ou Cópia) a resposta será a mesma: FRM-13005: A retirada de objetos deste tipo no editor de layout não é suportada.

Aparentemente o usuário não pode mover um canvas do Navegador de Objetos para o Editor de Layout. A forma correta de se fazer é criar o Canvas empilhado através do item “Canvas Empilhado” da barra de ferramentas do editor de layout.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

REP-0305: ‘Nome da Variável’ não pode ser usado como parâmetro lexical, porque não é um valor de caractere.

Esta mensagem aparece quando um formulário do Oracle Forms tenta executar um relatório do Oracle Reports tentando passar um texto para uma variável que foi definida no relatório como numérica.

Para solucionar o problema, abra o relatório no Oracle Reports, navegue até “Parâmetros de Usuário” (Modelo de Dados) e selecione a variável e visualize suas propriedades (F4). Modifique então o tipo de dados de Numérico para Caractere e ajuste a largura para o tamanho máximo da string que será passada.

 

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como fazer validação de um campo de e-mail no Oracle Forms 6i?

Para realizar a validação de um campo de e-mail no Oracle Forms 6i teremos que criar um gatilho “WHEN-VALIDATE-ITEM” no campo que será validado. Toda vez que o usuário tentar salvar o formulário ou preencher este campo e remover o foco dele, o evento abaixo será ativado.

DECLARE
BEGIN

	IF :TXT_EMAIL IS NOT NULL THEN
	
		IF ( nomedoschema.VALIDAR_EMAIL(:TXT_EMAIL) = FALSE ) THEN
			// Mensagem de alerta informando que o campo não contém um e-mail válido;
			raise form_trigger_failure;
		END IF;

	END IF;

END;

O código abaixo é um procedimento PL/SQL armazeando no banco que será executado no momento da validação (nomedoschema.VALIDAR_EMAIL):

CREATE OR REPLACE FUNCTION VALIDAR_EMAIL(pstr_email IN VARCHAR2) RETURN BOOLEAN
IS

    lint_emailValido NUMBER(1);

BEGIN

    SELECT
        1 INTO lint_emailValido
    FROM
        DUAL
    WHERE
        regexp_like(pstr_email ,'^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*(.[a-zA-Z]{2,4})$');
  
    RETURN TRUE;

EXCEPTION

    WHEN no_data_found THEN RETURN FALSE;
    WHEN others THEN RETURN FALSE;

END VALIDAR_EMAIL;

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

FRM-10201: Nenhum parâmetro é necessário.

Mensagem de Erro: FRM-10201: Nenhum parâmetro é necessário. (FRM-10201: No parameters needed.)
Causa: Você apertou [Digite os parâmetros da aplicação] ou [digite os parâmetros do Menu], mas nenhum é necessário neste contexto.
Ação: Nenhuma ação necessária.
Nível: 25
Gatilho: Nenhum

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

FRM-10200: Função ilegal neste contexto.

Mensagem de Erro: FRM-10200: Função ilegal neste contexto. (FRM-10200: Illegal function in this context.)
Causa: você pressionou uma tecla que não é válida neste contexto.
Ação: Pressione [Mostrar Teclas] para visualizar a Lista de teclas válidas.
Nível: 25
Gatilho: Nenhum

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).