1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Compilação lenta conforme sintaxe

Discussão em 'Progress 4GL' iniciado por julioccribeiro, Outubro 9, 2017.

  1. julioccribeiro

    julioccribeiro Sem Pontuação

    Boa tarde.

    Estou tendo problema com compilação lenta quando não é informado o nome das tabelas antes do nome dos campos.

    Exemplo 1: COMPILA RAPIDAMENTE.
    for each tabelaX:
    disp tabelaX:campo-x.
    end.

    Exemplo 2: COMPILA LENTAMENTE.
    for each tabelaX:
    disp campo-x.
    end.

    Ambos os programas funcionam mas o segundo exemplo é muito mais lente tanto para compilar como checar sintaxe.

    Como alguns programas são longos e possuem includes fica muito dificil identificar as linhas com problemas.

    Alguem sabe de algum comando que acuse a falta da informação da tabela antes dos campos ?.

    Julio.
  2. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    A compilação fica lenta mesmo porque, como não está explícito a tabela, ele procura o campo em todas as tabelas que são mencionadas no código ao invés de uma específica.

    Acredito não haver essa possibilidade, o jeito é abrir um por um e analisar o código.
  3. julioccribeiro

    julioccribeiro Sem Pontuação

    Vou verificar se existe algum parametro de compilação ou sessão que force a informação do nome da tabela.
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Quanto mais vc deixa o progress ADIVINHAR as coisas, mais lento fica, por isso que a datasul criou os nomes de campos do EMS5 de forma unica, pode ver que raramente eles tem um campo 'codigo' nas tabelas, é sempre cod_cta_ctbl, cod_ccusto, assim o nome do campo é unico e o progress tem menos trabalho pra achar quem é o dono desse campo.
  5. julioccribeiro

    julioccribeiro Sem Pontuação

    Alguem sabe de algum comando que acuse a falta da informação da tabela antes dos campos ?.

Compartilhe esta Página