Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #82343
    targinosilveira
    Participante

      Boa tarde amigos, achei essa comunidade hoje e fiquei muito feliz pois a alguns dias procurava algo assim, eu estou iniciando no oracle, e estou començando fazendo alguns pequenos formulários no Forms 6i, não sei se essa era a seção correta do forum para que eu fizesse minha pergunta, mas tudo bem agora já foi 😀 .

      Minha questão é o seguinte, tenho um canvas com alguns campos e em um deses campos tenhum que é um codigo puxado de outra tabela atraves de um LOV, eu queria que após a seleção desse codigo ao sair so campo, fosse apresentado na frente dele num objeto tipo rotuo a descrição desse campo, alguém poderia me dar uma ajudinha?

      Atecipadamente agradeço qualquer ajuda.

      #82348
      targinosilveira
      Participante

        Olá amigos, boa tarde, ontem fiz essa pergunta aqui no forúm, e como hoje pela manhão achei a solução achei interessante posta-la aqui para que outras pessoas possam ser beneficiadas.

        Caso alguém precise de algo assim e não conseguir realiza esse exemplo me envie um e-mail.

        Codigo executado ao sair do campo:

        BEGIN //Inicia a a procedure
        //Na proxima linha será selecionado o campo a ser apresentador, logo em //seguida ele é jogado no campo de display através do INTO
        SELECT DSC_BANCO INTO :DSP_BANCO FROM LOCA.T_BANCOS
        //Aqui executo um clasula de pesquisa para o registro que preciso
        WHERE COD_BANCO = :BANCO;
        //E aqui indico o aviso a ser apresentado no display caso não seja encontrado dados
        EXCEPTION
        WHEN others THEN
        :DSP_BANCO := 'Inválido!';
        END;

        Abraços.

        #82539
        rodfbar
        Participante

          ola…

          algumas dicas interessantes:
          – utilizar o nome do bloco antes de fazer a referencia a algum item;
          (evitar erro se existirem nomes de itens iguais no seu form em blocos diferentes)
          – verificar se o campo código foi informado antes de executar a consulta
          – preparar a busca para tratar melhor algum outro possivel erro

          por exemplo no caso que voce fez

          IF :nome_do_bloco.BANCO IS NOT NULL THEN
          BEGIN
          SELECT DSC_BANCO
          INTO :nome_do_bloco.DSP_BANCO
          FROM LOCA.T_BANCOS
          WHERE COD_BANCO = :nome_do_bloco.BANCO;
          EXCEPTION
          WHEN NO_DATA_FOUND THEN
          :nome_do_bloco.DSP_BANCO := 'Inválido!';
          WHEN OTHERS THEN
          MESSAGE('Erro ao buscar descricao do banco: ' || SQLERRM);
          MESSAGE(' ',NO_ACKNOWLEDGE);
          :nome_do_bloco.DSP_BANCO := NULL;
          RAISE FORM_TRIGGER_FAILURE;
          END;
          ELSE
          :nome_do_bloco.DSP_BANCO := NULL;
          /E CASO O CAMPO SEJA OBRIGATÓRIO/
          MESSAGE('BANCO DEVE SER INFORMADO.');
          MESSAGE(' ',NO_ACKNOWLEDGE);
          RAISE FORM_TRIGGER_FAILURE;
          END IF;

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress