Duvida com campo BLOB

Discussão em 'Progress 4GL' iniciado por danielsufiatti, Outubro 27, 2011.

  1. danielsufiatti

    danielsufiatti Sem Pontuação

    Olá Pessoal,
    tenho no banco, um campo do tipo blob(longchar), onde onde gravo um arquivo xml,
    e preciso fazer um relatório onde, eu mostre os registros que tem o arquivo gravado nesse campo, e os que nao tem.

    como nao posso por no where o campo blob, faço o seguinte comando:

    Código:
    DEF VAR reg AS CHAR NO-UNDO.
    FOR EACH BANCO.TABELA NO-LOCK:
         COPY-LOB BANCO.TABELA.CampoXml TO FILE "c:\teste.xml". 
         INPUT FROM VALUE("c:\teste.xml").
         REPEAT:
             IMPORT UNFORMATTED Reg.
             IF (Reg = "") or (Reg = ?) THEN  
                   /*Nao tem o xml*/     
             else if Reg <> "" then
                   /*o Registro tem o XML*/
         end.
    end.
    
    só que o problema é o seguinte, minha tabela, tem por ex, 600 registros,
    só entram nesse if 90 :/
    tentei debugar, o reg, volta em branco, e ele nao entra no if,
    tentei colocar um else do: no fim, também nao adiantou.
    Alguém sabe uma forma de fazer isso com um campo blob?
    pode ser usando essa idéia, ou uma outra forma
    Atenciosamente.
  2. bhfs

    bhfs Sem Pontuação

    Nunca precisei mexer com BLOB, mas tem uma coisa que me chamou atenção...
    O input não deveria ficar fora do for each?
    Crie o arquivo .xml todo primeiro e depois, fora do for each, use o input com repeat para ir validando as informações... Confira se o arquivo foi gerado com os 600 registros...

    As vezes está acontecendo algum problema nesse ponto, não acha?

    Se não for isso e quiser que eu teste, mande um .df e um .d para eu testar aqui.
    Att.

    Bruno

Compartilhe esta Página