1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

Duvida Tratamento de Erro

Discussão em 'Progress 4GL' iniciado por MatheusHLX, Janeiro 7, 2014.

  1. MatheusHLX

    MatheusHLX Sem Pontuação

    Galera minha duvida é bem simples, mas por eu ser iniciante em progress, eu estou com dúvida. Bom, é o seguinte eu faço um FOR EACH no meu banco de dados, e dependendo da minhas condições ele não encontra nenhum resultado, e quando isso acontece ele me retorna um erro, queria saber o que fazer para tratar esse erro. O código é o seguinte:



    ELSE IF rs-classif = 3 THEN DO:
    FOR EACH funcionario
    WHERE val_premio_concedid > 0
    AND MONTH(histor_sal_func.dat_liber_sal) = MONTH (c-ini-data)
    AND YEAR(histor_sal_func.dat_liber_sal) = YEAR(c-ini-data)
    NO-LOCK :
    PUT STREAM s-text UNFORMAT
    funcionario.cdn_funcionario ";" /* MATRÍCULA FUNCIONÁRIO */
    funcionario.nom_pessoa_fisic ";" /* NOME DO FUNCIONÁRIO */
    cargo_basic.des_cargo_basic ";" /* CARGO */
    cargo_basic.cod_classif_ocupac ";" /* CARGO */
    funcionario.val_salario_atual ";" /* SALARIO ATUAL */
    "00/00/0000" ";" /* DATA ADMISSAO */
    "00/00/0000" ";" /* DATA DESLIGAMENTO */
    SKIP.
    END.
    END.
  2. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Boa tarde, quais erros são exibidos?
  3. MatheusHLX

    MatheusHLX Sem Pontuação

    o seguinte erro:


    ---------------------------
    Erro (Press HELP to view stack trace)
    ---------------------------
    Ocorreu erro durante acesso a componente da propriedade/metodo: refresh.
    Exceção.

    Error code: 0x80020009 prghur/dsp/padraoexcelrp.p (5890)
    ---------------------------
    OK Ajuda
    ---------------------------
  4. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    O código que você mostrou não o é que gera o erro 5890, pois este é um erro da interface COM (Progress x Excel), onde o método Refresh pode estar sendo executando em um objeto que não tem este.
    Veja no programa padraoexcelerp.p onde é utilizado o método Refresh e se ele existe como método para o objeto em questão, use o Com Object Viewer para visualizar os métodos/atributos.

    Abraço.
  5. MatheusHLX

    MatheusHLX Sem Pontuação

    Cara obrigado pela resposta, no fim eu acabei fazendo o seguinte, na pi-executar, eu coloquei o seguinte código
    Código:
    IF INPUT FRAME f-pg-sel c-ini-data = ? THEN DO:
                run utp/ut-msgs.p (input "show":U, input 17006, input "Informe data de inicio valida").
                apply "ENTRY":U to tt-digita.ordem in browse br-digita.
               
                return error.
        END.
    Então se o meu campo de data tiver o valor nulo, ele não permite executar o relatório.

Compartilhe esta Página