Erro ao compilar programas

Discussão em 'Progress 4GL' iniciado por diegocf, Outubro 14, 2010.

  1. diegocf

    diegocf Membro Participativo

    Bom dia Galera,

    Ca estou eu novamente precisando de voces, so que agora a coisa ta seria, de uma hora pra outra todos os nosso programas customizados, estão dando problema na compilação, nao sei se são includes, ou se é a instalação do programa mas ele alega um erro que nao tem nada a ver, "erro de comentario"

    ** An open comment string (/*) was found, but no closing string. (134)
    Missing &ENDIF. (2964)
    ** Preprocessor could not understand line 327 in file ''. (2124)

    Ja checamos tudo nao tem comentario aberto, e como isto tambem poderia acontecer com todos os programas ?

    Por favor me ajudem.

    Abaixo esta um dos programas

    Código:
    {include/i-prgvrs.i ofcd0501rp 1.00.00.001} 
    /*******************************************************************************
    ** Programa....: ofcd0501rp
    ** Objetivo....: Geração do Resumo da Situação dos Emitentes Unificado - Ouro Fino
    ** Data Criação: 29/07/08
    ********************************************************************************/
    /* includes */
    {utp/ut-glob.i}
    {ofcdp/ofcd0501.i new}
    
    /* definicao temp-table */
    define temp-table tt-param
        field destino          as integer format "9"
        field arquivo          as char    format "x(80)"
        field usuario          as char    format "x(15)"
        field data-exec        as date    format "99/99/9999"
        field hora-exec        as integer format "99999999"
        field emp-ini          as integer format ">>9"
        field emp-fim          as integer format ">>9"
        field estab-ini        as char    format "x(03)"
        field estab-fim        as char    format "x(03)"
        field emit-ini         as char    format "x(12)"
        field emit-fim         as char    format "x(12)".
    
    def temp-table tt-raw-digita
        field raw-digita   as raw.
    
    def temp-table tt-resum-emit-temp like tt-resum-emit.
    def temp-table bb-tt-resum-emit   like tt-resum-emit.
    def temp-table tt-resum-emit-orig like tt-resum-emit.
    
    /* definicao buffer´s */
    def buffer b-emitente  for emitente.
    def buffer b-estabelec for estabelec.
    def buffer b-empresa   for empresa.
    
    /* definicao parametros entrada */
    def input parameter raw-param as raw no-undo.
    def input parameter table for tt-raw-digita.
    
    /* definicao variaveis locais */
    def var t-ap-ant-aberto             as deci format ">>,>>>,>>>,>>9.99" .
    def var t-ap-sl-aberto              as deci format ">>,>>>,>>>,>>9.99" .
    def var t-cr-ant-aberto             as deci format ">>,>>>,>>>,>>9.99" .
    def var t-cr-av-db-atraso           as deci format ">>,>>>,>>>,>>9.99" .
    def var t-cr-dp-atraso              as deci format ">>,>>>,>>>,>>9.99" .
    def var t-cr-sl-aberto              as deci format ">>,>>>,>>>,>>9.99" .
    def var t-pd-sl-aberto              as deci format ">>,>>>,>>>,>>9.99" .
    def var t-pd-sl-ap-forc             as deci format ">>,>>>,>>>,>>9.99" .
    def var t-pd-vl-faturado            as deci format ">>,>>>,>>>,>>9.99" .
    def var h-acomp                     as handle              no-undo.      
    def var c-nome-ini                  as char format "x(12)".
    def var c-nome-fim                  as char format "x(12)".
    def var d-valor-abto-cr-out-empr    as deci format "->>>,>>>,>>>,>>9.99".
    def var d-valor-abto-pd-out-empr    as deci format "->>>,>>>,>>>,>>9.99".
    
    /* bloco principal */
    create tt-param.
    raw-transfer raw-param to tt-param.  
    
    /* include padrão para variáveis de relatório  */
    {include/i-rpvar.i}
    
    /* include padrão para output de relatórios */
    {include/i-rpout.i}
    
    find first para-ped     no-lock no-error.
    find first param-global no-lock no-error.
    
    assign c-empresa  = grupo
           c-programa = "OfCD0501".
    
    {include/i-rpcab.i} 
           
    form  "Nome Abrev"      at 2
          "Est"             at 15
          "Emp"             at 19
          "Sl Ab Pedidos"   at 25
          "Sl Pd Aprv Forc" at 41
          "Ult Venda"       at 59
          "Vl Fat Pedidos"  at 79
          "CR Saldo Aber"   at 97
          "CR Dupli Atra"   at 115 
          "CR Ult Atraso"   at 130  
          "-----------------------------------------------------------------------------------------------------------------------------------------------" skip
    with stream-io no-box no-labels no-attr-space down width 145 frame f-cabec.
           
    form  tt-resum-emit.nome-abrev       at 2
          tt-resum-emit.cod-estabel      at 15
          tt-resum-emit.ep-codigo        at 19
          tt-resum-emit.pd-sl-aberto     at 23
          tt-resum-emit.pd-sl-ap-forc    at 41
          tt-resum-emit.pd-ult-venda     at 59
          tt-resum-emit.pd-vl-faturado   at 77
          tt-resum-emit.cr-sl-aberto     at 95
          tt-resum-emit.cr-dp-atraso     at 113 format "->>>,>>>,>>9.99"
          tt-resum-emit.cr-ult-atraso    at 129 format "99/99/9999" skip
    with stream-io no-box no-labels no-attr-space down width 145 frame f-detalhe.
    
    empty temp-table tt-resum-emit.
    
    assign c-nome-ini = tt-param.emit-ini
           c-nome-fim = tt-param.emit-fim.
    
    run utp/ut-acomp.p persistent set h-prog.
    run pi-inicializar in h-prog(input "Selecionando os Clientes..." ).
    
    for each b-emitente fields (b-emitente.nome-abrev b-emitente.nome-emit ) use-index nome no-lock 
       where(b-emitente.identific    = 1         
          or b-emitente.identific    = 3):
    
        if b-emitente.nome-abrev > c-nome-fim  then next.
        if b-emitente.nome-abrev < c-nome-ini  then next.
    
        /*******************************************************************************
        ** Criando os registros para todos os b-estabelecimentos
        ********************************************************************************/
        for each b-estabelec 
           where b-estabelec.cons-ap = yes 
             and b-estabelec.cons-cr = yes 
             and b-estabelec.cons-ft = yes 
             and b-estabelec.cons-pd = yes 
        break by b-estabelec.ep-codigo:
    
            if first-of(b-estabelec.ep-codigo) then 
            do:
                create tt-resum-emit.
                assign tt-resum-emit.nome-abrev       = b-emitente.nome-abrev
                       tt-resum-emit.ep-codigo        = b-estabelec.ep-codigo
                       tt-resum-emit.cod-estabel      = b-estabelec.cod-estabel
                       tt-resum-emit.cd-maquina-gerac = b-estabelec.ep-codigo.
            end.
        end.
        run pi-acompanhar in h-prog(input "Cliente : " + string(b-emitente.nome-abrev) + " " + string(b-emitente.nome-emit)).
    
    end.
    
    run pi-finalizar in h-prog.
    
    for each bd-of no-lock:
        if connected(string(bd-of.nome-log)) then 
            disconnect value(bd-of.nome-log).
            connect value(bd-of.script).
            create alias dictdb for database value(bd-of.nome-bd).
            run ofcdp\ofcd0501rp-a.p(input tt-param.emp-ini, 
                                     input tt-param.emp-fim, 
                                     input tt-param.estab-ini, 
                                     input tt-param.estab-fim,
                                     input tt-param.emit-ini, 
                                     input tt-param.emit-fim , 
                                     input bd-of.ep-codigo).
            disconnect value(bd-of.nome-log).
    end.
    
    /*******************************************************************************
    ** Transferindo os registros para a Temp-table, obtendo melhor performance
    ********************************************************************************/
    
    run utp/ut-acomp.p persistent set h-prog.
    run pi-inicializar in h-prog(input "Transferindo dados......" ).
    
    for each tt-resum-emit.
        create bb-tt-resum-emit.
        raw-transfer tt-resum-emit to bb-tt-resum-emit.
        run pi-acompanhar in h-prog(input "Cliente : " + string(tt-resum-emit.nome-abrev)).
    end.
    
    run pi-finalizar in h-prog.
    
    run utp/ut-acomp.p persistent set h-prog.
    run pi-inicializar in h-prog(input "Sumarizando os Registros dos Clientes...." ).
    
    for each tt-resum-emit use-index index-nome 
    break by tt-resum-emit.nome-abrev.
        run pi-acompanhar in h-prog(input "Sumarizando Cliente: " + string(tt-resum-emit.nome-abrev)).
    
        if first-of(tt-resum-emit.nome-abrev) then 
        do:
            for each bb-tt-resum-emit use-index index-nome 
               where bb-tt-resum-emit.nome-abrev = tt-resum-emit.nome-abrev:
    
                find first tt-resum-emit-temp use-index index-nome 
                     where tt-resum-emit-temp.nome-abrev = tt-resum-emit.nome-abrev 
                       and tt-resum-emit-temp.ep-codigo = 999 no-error.
                if avail tt-resum-emit-temp then 
                do:
                    assign tt-resum-emit-temp.pd-sl-aberto     = tt-resum-emit-temp.pd-sl-aberto    + bb-tt-resum-emit.pd-sl-aberto  
                           tt-resum-emit-temp.pd-sl-ap-forc    = tt-resum-emit-temp.pd-sl-ap-forc   + bb-tt-resum-emit.pd-sl-ap-forc 
                           tt-resum-emit-temp.pd-vl-faturado   = tt-resum-emit-temp.pd-vl-faturado  + bb-tt-resum-emit.pd-vl-faturado
                           tt-resum-emit-temp.cr-sl-aberto     = tt-resum-emit-temp.cr-sl-aberto    + bb-tt-resum-emit.cr-sl-aberto  
                           tt-resum-emit-temp.cr-dp-atraso     = tt-resum-emit-temp.cr-dp-atraso    + bb-tt-resum-emit.cr-dp-atraso
                           tt-resum-emit-temp.cr-ant-aberto    = tt-resum-emit-temp.cr-ant-aberto   + bb-tt-resum-emit.cr-ant-aberto
                           tt-resum-emit-temp.ap-ant-aberto    = tt-resum-emit-temp.ap-ant-aberto   + bb-tt-resum-emit.ap-ant-aberto 
                           tt-resum-emit-temp.ap-sl-aberto     = tt-resum-emit-temp.ap-sl-aberto    + bb-tt-resum-emit.ap-sl-aberto
                           tt-resum-emit-temp.cr-av-db-atraso  = tt-resum-emit-temp.cr-av-db-atraso + bb-tt-resum-emit.cr-av-db-atraso.
    
                    if bb-tt-resum-emit.cr-ult-atraso <> ? then 
                    do:
                        if tt-resum-emit-temp.cr-ult-atraso = ? then 
                            assign tt-resum-emit-temp.cr-ult-atraso = bb-tt-resum-emit.cr-ult-atraso.
                        else if tt-resum-emit-temp.cr-ult-atraso <> ? and tt-resum-emit-temp.cr-ult-atraso > bb-tt-resum-emit.cr-ult-atraso then assign tt-resum-emit-temp.cr-ult-atraso = bb-tt-resum-emit.cr-ult-atraso.
                    end.
                end.
                else
                do:
                    create tt-resum-emit-temp.
                    assign tt-resum-emit-temp.ep-codigo        = 999
                           tt-resum-emit-temp.nome-abrev       = bb-tt-resum-emit.nome-abrev
                           tt-resum-emit-temp.hr-ult-atual     = string(time,"HH:MM:SS")        
                           tt-resum-emit-temp.dt-ult-atual     = today
                           tt-resum-emit-temp.cod-estabel      = "GER"
                           tt-resum-emit-temp.cr-ult-atraso    = bb-tt-resum-emit.cr-ult-atraso
                           tt-resum-emit-temp.pd-ult-venda     = bb-tt-resum-emit.pd-ult-venda
                           tt-resum-emit-temp.cd-maquina-gerac = 999
                           tt-resum-emit-temp.pd-sl-aberto     = bb-tt-resum-emit.pd-sl-aberto   
                           tt-resum-emit-temp.pd-sl-ap-forc    = bb-tt-resum-emit.pd-sl-ap-forc  
                           tt-resum-emit-temp.pd-vl-faturado   = bb-tt-resum-emit.pd-vl-faturado 
                           tt-resum-emit-temp.cr-sl-aberto     = bb-tt-resum-emit.cr-sl-aberto   
                           tt-resum-emit-temp.cr-dp-atraso     = bb-tt-resum-emit.cr-dp-atraso   
                           tt-resum-emit-temp.cr-ant-aberto    = bb-tt-resum-emit.cr-ant-aberto
                           tt-resum-emit-temp.ap-ant-aberto    = bb-tt-resum-emit.ap-ant-aberto 
                           tt-resum-emit-temp.ap-sl-aberto     = bb-tt-resum-emit.ap-sl-aberto
                           tt-resum-emit-temp.situacao         = bb-tt-resum-emit.situacao
                           tt-resum-emit-temp.cr-av-db-atraso  = bb-tt-resum-emit.cr-av-db-atraso.
                end.
                delete bb-tt-resum-emit. /* Enxugando a temp-table */
            end.
        end.
    end.
    
    /*******************************************************************************
    ** Transferindo os valores originais para a temp-table tt-resum-emit-orig
    ********************************************************************************/
    for each tt-resum-emit:
        create tt-resum-emit-orig.
        raw-transfer tt-resum-emit to tt-resum-emit-orig.
    end.
    
    /*******************************************************************************
    ** Aqui estou transferindo o valor sumarizado para os cada registro do emitente
    ********************************************************************************/
    for each tt-resum-emit-temp use-index index-nome 
       where tt-resum-emit-temp.ep-codigo = 999:
    
        run pi-acompanhar in h-prog(input "Atualizando os Dados: " + string(tt-resum-emit-temp.nome-abrev)).
        for each tt-resum-emit use-index index-nome 
           where tt-resum-emit.nome-abrev = tt-resum-emit-temp.nome-abrev 
        break by tt-resum-emit.ep-codigo:
            assign tt-resum-emit.hr-ult-atual     = string(time,"HH:MM:SS")           
                   tt-resum-emit.dt-ult-atual     = today                             
                   tt-resum-emit.cr-ult-atraso    = tt-resum-emit-temp.cr-ult-atraso    
                   tt-resum-emit.pd-ult-venda     = tt-resum-emit-temp.pd-ult-venda     
                   tt-resum-emit.pd-sl-aberto     = tt-resum-emit-temp.pd-sl-aberto     
                   tt-resum-emit.pd-sl-ap-forc    = tt-resum-emit-temp.pd-sl-ap-forc    
                   tt-resum-emit.pd-vl-faturado   = tt-resum-emit-temp.pd-vl-faturado   
                   tt-resum-emit.cr-sl-aberto     = tt-resum-emit-temp.cr-sl-aberto     
                   tt-resum-emit.cr-dp-atraso     = tt-resum-emit-temp.cr-dp-atraso     
                   tt-resum-emit.cr-ant-aberto    = tt-resum-emit-temp.cr-ant-aberto    
                   tt-resum-emit.ap-ant-aberto    = tt-resum-emit-temp.ap-ant-aberto    
                   tt-resum-emit.ap-sl-aberto     = tt-resum-emit-temp.ap-sl-aberto     
                   tt-resum-emit.situacao         = tt-resum-emit-temp.situacao         
                   tt-resum-emit.cr-av-db-atraso  = tt-resum-emit-temp.cr-av-db-atraso.
                 /*tt-resum-emit.cd-maquina-gerac = 999.*/
          
        end.
    end.
    
    empty temp-table tt-resum-emit-temp.
    
    
    for each tt-resum-emit:
        create tt-resum-emit-temp.
        raw-transfer tt-resum-emit to tt-resum-emit-temp.
              assign tt-resum-emit-temp.cd-maquina-gerac = 999.
    end.
    
    for each tt-resum-emit-temp:
        assign d-valor-abto-cr-out-empr = 0
               d-valor-abto-pd-out-empr = 0.
    
        for each tt-resum-emit-orig 
           where tt-resum-emit-orig.nome-abrev =  tt-resum-emit-temp.nome-abrev 
             and tt-resum-emit-orig.ep-codigo  <> tt-resum-emit-temp.ep-codigo:
    
            assign d-valor-abto-cr-out-empr = d-valor-abto-cr-out-empr + tt-resum-emit-orig.cr-sl-aberto
                   d-valor-abto-pd-out-empr = d-valor-abto-pd-out-empr + tt-resum-emit-orig.pd-sl-aberto.
        end.
    
        create tt-resum-emit.
        raw-transfer tt-resum-emit-temp to tt-resum-emit.
        assign tt-resum-emit.cr-sl-aberto = d-valor-abto-cr-out-empr
               tt-resum-emit.pd-sl-aberto = d-valor-abto-pd-out-empr.
    end.
    
    run pi-finalizar in h-prog.
    
    /*******************************************************************************
    ** Iniciando a conexão com todos os bancos de todas empresas para criar os 
    ** registros resumidos
    ********************************************************************************/
    for each bd-of no-lock:
        if connected(string(bd-of.nome-log)) then 
            disconnect value(bd-of.nome-log).
            connect value(bd-of.script).
            create alias dictdb for database value(bd-of.nome-bd).
            run ofcdp\ofcd0501rp-b.p(input bd-of.ep-codigo).
            disconnect value(bd-of.nome-log).
    end.
    
    view frame f-cabec.
    
    for each tt-resum-emit use-index index-nome.
        disp tt-resum-emit.nome-abrev     
             tt-resum-emit.cod-estabel    
             tt-resum-emit.ep-codigo      
             tt-resum-emit.pd-sl-aberto   
             tt-resum-emit.pd-sl-ap-forc  
             tt-resum-emit.pd-ult-venda   
             tt-resum-emit.pd-vl-faturado 
             tt-resum-emit.cr-sl-aberto   
             tt-resum-emit.cr-dp-atraso 
             tt-resum-emit.cr-ult-atraso 
            with frame f-detalhe.
        down with frame f-detalhe.
    
    end.
    
  2. startbit

    startbit Membro Participativo

    você já testou o conteúdo das includes?

    Elas não apresentam nenhum espaço comentário aberto? "/* "

    Se você garante que o código está certo, sobrou para as includes...

    Dá uma verificada.
  3. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Caro colega, me envia esta include "ofcdp/ofcd0501.i" para compilar aqui e verificar o que está ocorrendo.
  4. diegocf

    diegocf Membro Participativo

    Blz Galera, consegui achar era uma include desatualizada que colocaram indevidamente aqui no propath, muito obrigado pelo apoio

Compartilhe esta Página