Replace com string > 32000

Discussão em 'Progress 4GL' iniciado por erickles, Setembro 25, 2009.

  1. erickles

    erickles Membro Participativo

    Olá Pessoal,

    Alguém já de deparou com o problema da string de um replace for maior que 32000? O que fizeram para resolver, quebraram a string(dividiram)?
  2. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Olá,

    Quando tive este problema tive que quebrar o texto, mas existe a possibilidade de trabalhar com variáveis do tipo memptr e longchar, dependendo que esta esta querendo fazer.

    T+
  3. jonas

    jonas Membro Participativo

    Antes de atribuir os dados para a variável você pode verificar o tamanho antes. Tive esse problema e fiz da seguinte forma:

    Código:
    /*
    Estava acumulando os dados de uma temp-table em uma variável para salvar em outra temp-table.
     Por segurança jogue o tamanho maior do que 31.000 */
    for each tt-dados:
        assign c-Variavel = c-Variavel + tt-dados.tt-descricao.
        if length(c-Variavel) >= 31000 then do:
            /* Executar sua lógica*/
            assign c-Variavel = "".
        end.
    end.
    
    Desta forma resolvi o problema.

Compartilhe esta Página