Boa tarde! Eu estou desenvolvendo um específico para que a execução orçamentaria seja feita na confirmação do planejamento da produção, mas estou encontrando um erro Progress que não consigo explicar seu motivo. Tem o programa pl0901p.p (ems 2.06), que faz a confirmação do planejamento. Criei uma EPC para ele, essa EPC verifica se tem orçamento, faz a execução orçamentaria, chamando o programa bgc700za. Quando não há orçamento a EPC retorna NOK para o pl0901p.p e la dentro quando ele recebe um NOK ele da um "undo, leave". Se nós retornamos NOK forçadamente, sem rodar a API do bgc, na nossa upc, apenas para carater de teste, ele da o "undo, leave" sem erros, e a ordem de compra não é gerada. Se nós realmente rodamos a API do bgc e depois, por não possuir orçamento, retornamos NOK, o "undo, leave" mostra a mensagem de erro "tentativa de acessar um registro sem identificador valido (6167)" e a base fecha. Não consegui encontrar um motivo para o bgc estar influenciando no comando "undo" que é executado em outro programa, lá no planejamento. Só consigo imaginar que alguma transação criada pelo bgc e ainda não finalizada (se é que isso é possivel), está tentando ser desfeita no pl0901p.p, ocorrendo erro pois os registros e variaveis não estão definidas. Bem, se alguém quiser mais informações é só pedir que eu envio. Espero que alguém entenda esse comportamento bizarro ai do Progress hehe. Abraços!
Sei que já faz tempo que postou isso e espero que á tenha resolvido o problema. Quando ocorrem erros estranhos até mesmo o "System Error" do prowin32 use o rastreador do progress que deve ser configurado em um .PF especifico. Segue dica do suporte... LOG PROGRESS <PROGRESS 9> Prezado Cliente, Solicitamos a realização de uma nova simulação sendo que, antes de iniciar a sessão, deve ser incluído no atalho de execução do EMS os seguintes parâmetros: -debugalert -clientlog c:\tmp\log.lst -logginglevel 4 -logentrytypes 2 -y -yc -yx -debugalert -clientlog c:\temp\log.lst -logginglevel 4 -logentrytypes 2 -y -yc -yx Com isso serão gerados - os arquivos client.mon e proc.mon no diretório temporário da sessão do produto (apenas para Progress 9.1D em diante); - o arquivo log.lst no diretório tmp (caso não exista, favor criá-lo); Analise o arquivo gerado .lst e descubra se o erro é na sua customizacao ou no produto padrão...daí sim encaminhe para o suporte os logs gerados caso o problema seja em alguma procedure deles... um abraço...