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

Problema com Campo Vazio

Discussão em 'Progress 4GL' iniciado por denismaster, Setembro 3, 2014.

  1. denismaster

    denismaster Membro Participativo

    Boa noite pessoal.

    Pode ser besta para alguns mais nunca vi isso.
    Estou dando um for each no mgcad.item-uf para mostrar item-uf.per-sub-tri.
    Sei que existem registros que não possuem nenhum valor no per-sub-tri...
    E no for each não dá erro, porém não aparece nem zero nem nada...
    Tentei fazer um if avail... mas não deu certo pq tem registro na tabela...
    Tentei fazer um if item-uf per-sub-tri = ? ou = "" ou = ''.... não deu certo
    Tentei transformar em string para pegar o length mas não mostra nada...

    Bom se alguém puder ajudar... Muito Obrigado.
  2. elmo

    elmo Membro Ativo

    Bom dia,
    Poste o código onde apreseta essa situação.
  3. denismaster

    denismaster Membro Participativo

    Corrigindo o que eu disse... O registro não existe.

    Então a dúvida fica assim:

    Como posso identificar que o for each não obteve resultados?

    Exemplo:

    Na tabela de itens existem os registros:
    01
    02
    03
    04
    05

    E na item-uf existem os registros:
    01
    02
    03
    05

    Visualmente sei que não existe o 4 na item-uf.

    Mas queria uma forma de descobrir isso no for each.
  4. jaozi_nho

    jaozi_nho Membro Participativo

    Para esses casos deve-se usar uma query com OUTER-JOIN, abraço .
  5. denismaster

    denismaster Membro Participativo

    Não sei usar isso...

    Vou pesquisar... se você tiver algum exemplo me passa por favor...

    Basicamente o código que eu fiz é esse:

    FOR EACH item-uf WHERE item-uf.it-codigo = "03.001" AND item-uf.cod-estado-orig = 'SP' AND item-uf.estado = 'MG' NO-LOCK:
    IF AVAILABLE item-uf THEN DO:
    MESSAGE "EXISTE" VIEW-AS ALERT-BOX.
    END.
    ELSE DO:
    MESSAGE "NÃO EXISTE" VIEW-AS ALERT-BOX.
    END.
    END.
  6. pizzaia

    pizzaia Membro Participativo

    Código:
    FOR EACH item-uf
        WHERE item-uf.it-codigo     = "03.001"
        AND item-uf.cod-estado-orig = 'SP'
        AND item-uf.estado          = 'MG'
        NO-LOCK:
    
        /* se você estar o available aqui dentro
        sempre será true, pois voce está dentro do for each 
        */
    
    END.
    
    /*
    se voce testar aqui fora, sempre vai dar false, por causa do for each
    se voce usar for first no lugar do for each vai funcionar neste exemplo,
    porém vale lembrar que o indice da tabela ainda está faltando o estabelecimento
    */
    IF AVAILABLE item-uf THEN
        MESSAGE "EXISTE" VIEW-AS ALERT-BOX.
    ELSE
        MESSAGE "NÃO EXISTE" VIEW-AS ALERT-BOX.
    

Compartilhe esta Página