Erro ao chamar uma Procedure



  • Estou com um erro que não consegui entender por que.
    Nâo sou muito bom no Maker, estou aprendendo agora na verdade.
    Coloquei um documento em anexo.
    Alguem poderia me ajudar?
    No aguardo

    Abraço.


  • http://suporte.softwell.com.br/maker/manual2_7/pt/dicas_e_truques/funcoes/procedure/utilizando_a_funcao_executar_procedure.htm


  • Acredito que tenha algum problema na minha versão do Maker, pq no exemplo aparece uma coisa e qdo crio o objeto aparece o seguinte:

    VEJA QUE EXISTEM 5 VARIANTES E NÃO APENAS 4 COMO NO EXEMPLO.

    Essa função executa uma procedure do banco de dados.

    Parâmetros:
    1. Nome da procedure a ser executada
    2. Lista contendo parâmetros de entrada da procedure (Nulo se a procedure não tiver parâmetros de entrada)
    3. Conexão (Caso a conexão seja nula, será usada a conexão principal do sistema)
    4. Uma lista de número referente ao tipo de dados que serão retornados (Verificar número correspondente na tabela)
    5. Uma lista de Tipos Complexos

    Retorno:
    Uma lista de Variantes
    Segue a tabela com os tipos que podem ser retornados:
    -------------------------------
    12 - VARCHAR
    2 - NUMERIC
    16 - BOOLEAN
    91 - DATE
    92 - TIME
    93 - TIMESTAMP
    8 - DOUBLE
    6 - FLOAT
    7 - REAL
    - 2 - BINARY
    1 - CHAR
    2004 - BLOB
    2005 - CLOB
    5 - BIGINT
    - 10 - CURSOR (ORACLE) (É necessário avançar para o primeiro registro)
    -------------------------------
    Ex.: Para executar uma procedure do banco, passa-se o nome da procedure no primeiro parâmetro, em seguida
    será passado uma lista contendo os parâmetros de entrada da procedure, o terceiro parâmetro da função será
    uma conexão (passando nulo para usar a conexão principal do sistema) e por fim o quarto parâmetro que corresponde
    a uma lista criada contendo valores correspondendo ao tipo de retorno (esses valores correspondem aos informados
    acima) .

    Observações:
    1. Se no lugar da lista informada do quarto parâmetro for fornecido um valor nulo, a função entenderá que a procedure
    não possui retorno.
    1. procedureExecutarComando
    2. valores de entrada
    3. conexão
    4. retornos (12,12,8)
    Legenda referente aos elementos de retorno da procedure
    Primeiro elemento da lista = Tipo 12 (Varchar)
    Segundo elemento da lista = Tipo 12 (Varchar)
    Terceiro elemento da lista = Tipo 8 (Double)
    2. Os numeros que forem inclusos na lista do 4º parâmetro devem ser do tipo INT.

    Versão: 1.0.0.0


  • É para usar esta função:
    http://suporte.softwell.com.br/maker/manual2_7/pt/maker_2/fluxos_e_acoes/Relacao_de_funcoes/funcoes/funcoes_categoria_banco_de_dados/executar_procedure.htm

    E vc está utilizando esta:

    http://suporte.softwell.com.br/maker/manual2_7/pt/maker_2/fluxos_e_acoes/Relacao_de_funcoes/funcoes/funcoes_categoria_banco_de_dados/executar_procedure_com_retorno_complexo.htm


  • Então Alex, eu estou usando a que vc pediu para usar. Inclusive criei um projetinho novo só para este teste.
    E no seu exemplo vem 1 LETRA e 3 VARIANTE.
    E no que estou usando tem 1 LETRA e 4 VARIANTE, a 5 VARIANTE é este : tipo de lista complexo conforme eu coloquei na minha dúvida.

    Ai ele retorna o erro:
    REGRA: teste_procedure
    MENSAGEM: tipo desconhecido.

    Coloquei para depurar ele não vai nem no fluxo, já da erro.
    [380_procedure.doc](/assets/uploads/files/380_procedure.doc)


  • Se vc estiver usando a função "Executar Procedure" e tá me dizendo que ela contém 5 parâmetros, realmente tem algo de errado!

    Entre em contato com o suporte da Softwell, eles irão verificar o pq dessa função está errada na sua API e te passar alguma correção!


  • Ah... Blz.. Então eu estou fazendo o download da versão 2.7, pq aqui na minha maquina estava a 2.6.
    Vou atualizar e ver se consigo fazer o exemplo.
    Alex, desde já agradeço muito a sua ajuda.
    Mandamos o email para o Adriano conforme vc nos falou, estou aguardando uma resposta dele sobre data e custo do curso.
    Grande abraço.

Log in to reply