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.
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.
Caro colega, me envia esta include "ofcdp/ofcd0501.i" para compilar aqui e verificar o que está ocorrendo.
Blz Galera, consegui achar era uma include desatualizada que colocaram indevidamente aqui no propath, muito obrigado pelo apoio