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

Aumentar nº de agentes v. 10.1A

Discussão em 'Progress 4GL' iniciado por antenor, Março 13, 2014.

  1. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Você deu algum FIND na tabela PEDIDO antes de usar o os campos da tabela?
    PS. Sobre BUFFER:
    Última edição: Março 17, 2014
  2. antenor

    antenor Membro Participativo

    Não é direto no FOR-EACH mais a consulta do C-Where.
  3. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Então, o erro é porque você está usando um campo da tabela pedido sem ter registro no buffer,
  4. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Veja se isso te ajuda:
    <script language="SpeedScript">
    DEFINE VARIABLE cWhere AS CHAR NO-UNDO.
    DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
    DEFINE QUERY dQuery FOR Pedido scrolling.
    DEF VAR iCont AS INT NO-UNDO.

    IF NOT AVAIL Pedido THEN DO:
    MESSAGE
    "==========================" SKIP
    "PEDIDO NAO DISPONIVEL" SKIP
    "==========================" SKIP.
    END.
    ELSE DO:
    hQuery = QUERY dQuery:HANDLE.
    ASSIGN cWhere = ""
    cWhere = IF GET-VALUE("ug") <> "" THEN cWhere + " Pedido.UG_Codug = '" + GET-VALUE("ug") + "' AND" ELSE ""
    cWhere = IF GET-VALUE("cat") <> "" THEN cWhere + " Pedido.Cat_Cat BEGINS '" + GET-VALUE("cat") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("pi") <> "" THEN cWhere + " Pedido.Proj_PI BEGINS '" + GET-VALUE("pi") + "' AND" ELSE cWhere
    /*cWhere = IF GET-VALUE("despesa") <> "" THEN cWhere + " Pedido.Proj_PI MATCHES '" + "*" + (GET-VALUE("despesa")) + "' AND" ELSE cWhere (só final do PI)*/
    cWhere = IF GET-VALUE("despesa") <> "" THEN cWhere + " Pedido.Proj_PI MATCHES '" + "*" + (GET-VALUE("despesa")) + "*" + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("fonte") <> "" THEN cWhere + " Pedido.Fon_Cod BEGINS '" + GET-VALUE("fonte") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("vinc") <> "" THEN cWhere + " Pedido.Vinc_Cod = '" + GET-VALUE("vinc") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("ptres") <> "" THEN cWhere + " Pedido.proj_ptres BEGINS '" + GET-VALUE("ptres") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("tc") <> "" THEN cWhere + " Pedido.Nr_Transf = '" + GET-VALUE("tc") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("flag") <> "" THEN cWhere + " Pedido.Ped_flag_ped BEGINS '" + GET-VALUE("flag") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("origem")<> "" THEN cWhere + " Pedido.Ped_OP_Destaque BEGINS '" + GET-VALUE("origem") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("os") <> "" THEN cWhere + " Pedido_OS_Cod = '" + GET-VALUE("os") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("data") <> "" THEN cWhere + " Pedido.Ped_dat_lib >= '" + GET-VALUE("data") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("data2") <> "" THEN cWhere + " Pedido.Ped_dat_lib <= '" + GET-VALUE("data2") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("data3") <> "" THEN cWhere + " Pedido.Ped_data >= '" + GET-VALUE("data3") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("data4") <> "" THEN cWhere + " Pedido.Ped_data <= '" + GET-VALUE("data4") + "' AND" ELSE cWhere
    cWhere = IF GET-VALUE("ano") <> "" THEN cWhere + " Pedido.Ped_Ano = '" + GET-VALUE("ano") + "' AND" ELSE cWhere
    cWhere = IF cWhere <> "" THEN "WHERE " + RIGHT-TRIM(cWhere,"AND") ELSE "".
    IF cWhere <> "" THEN do:
    IF hQuery:QUERY-PREPARE("FOR EACH Pedido NO-LOCK " + cWhere) THEN
    hQuery:QUERY-OPEN().
    def var somatorio as decimal .
    def var somatorio0 as decimal .
    def var recolhido as decimal.
    def var liquido as decimal.
    def var rec_val as decimal.
    REPEAT:
    hQuery:GET-NEXT().
    IF NOT AVAIL Pedido THEN
    LEAVE.
    ASSIGN iCont = iCont + 1.
    END.
    END.
    END.
    </script>
  5. antenor

    antenor Membro Participativo

    Desta forma a busca resulta vazia. Desculpe incomodar, mas caso tenha mais alguma dica eu agradeço.
  6. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Mas apareceu a mensagem no log e não deu mais o erro 91 ?

Compartilhe esta Página