Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Procedures Dinamicas SIGAPCO (Planejamento e Controle Orçamentário)

Produto:

Microsiga Protheus

Versões:

12.1.17

Ocorrência:

Realização de testes nas procedures dinâmicas do modulo planejamento e controle orçamentário em banco de dados PostgreSQL.

Passo a passo:

  • Foi realizado o levantamento da quantidade de procedures dinâmicas no modulo planejamento e controle orçamentário, totalizando 5
Em seguida através de rotina automática as

  • Execução das funções responsáveis
pela execução das
  • pelas querys foram chamadas, e
executadas Descrição da
  • processadas diretamente no banco de dados PostgreSQL versão 1.6

  • 27 procedures foram retornadas com sucesso após a chamada da função MsParse.
Rotina


PCOA122 - Query para obter recnos da tabela AK2 ou AK3 da nova versao

Rotina

Função

Descrição

da Função

Observação

Postgre

ConclusãoCTBXATU

PCOA122.PRW

Rotina GenéricaCriaSP169()Cria a procedure CTB169 dinamicamenteExecutar através de uma user function e testar sintaxe direto no banco de dados.

CallXFilial

Função xFilial para uso dentro do corpo das procedures dinâmicas do PCO, recebe como parâmetro as strings das variáveis da procedure a serem utilizadas

CREATE FUNCTION - Query returned successfully in

356

103 msec.

CTBXSAL

PCOA122.PRW

Rotina GenéricaCriaSPMVT()Cria a procedure CTB169 dinamicamenteExecutar através de uma user function e testar sintaxe direto no banco de dados.

Popula_AK2

Chama as funções que fazem a criação e instalação de procedures que geram níveis superiores para as entidades

CREATE FUNCTION - Query returned successfully in
103
582 msec.
CTBA360

PCOA122.PRW

Atualiza os saldos compostos.CTBA360H()cria CTBA360H - Ct360Flag - Atualiza flag de slds compostosExecutar através de uma user function e testar sintaxe direto no banco de dados.

Popula_AK3

Chama as funções que fazem a criação e instalação de procedures que geram níveis superiores para as entidades

CREATE FUNCTION - Query returned successfully in

156

58 msec.

CTBA360G()Recuperar slds anteriores a data inicial do CTYExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 164 msec.CTBA360F()Recuperar slds anteriores a datainicial do CTXExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 108 msec.CTBA360E()Recuperar slds anteriores a data inicial do CTWExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 95 msec.CTBA360D()SLDANTCTV - Recuperar slds anteriores a data inicial do CTVExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 95 msec.CTBA360C()Recuperar slds anteriores a data inicial do CTUExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 88 msec.CTBA360B()Apaga Slds da tabela destino ( CTU/CTV/CTW/CTX/CTY )Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 89 msec.

PCOA122.PRW

PcoCriaPai

Chama as funções que fazem a criação e instalação de procedures que geram níveis superiores para as entidades

CREATE FUNCTION - Query returned successfully in 93 msec.

PCOA122.PRW

A122LastDay

Cria procedure que retorna o último dia do mês

CREATE FUNCTION - Query returned successfully in 125 msec.

PCOA122.PRW

PCOA122B

Cria as procedures de atualização do AKT

CREATE FUNCTION - Query returned successfully in 78 msec.

PCOA122.PRW

PCOA122A

Cria procedures para atualização do AKT para os níveis superiores (sintéticas) do Cubo 

CREATE FUNCTION - Query returned successfully in 258 msec.

PCOA122.PRW

PCOA122Proc

Cria procedures pai

CREATE FUNCTION - Query returned successfully in 82 msec.

PCOA122.PRW

PCOA122_Del

Cria procedure de exclusão do AKD 

CREATE FUNCTION - Query returned successfully in 603 msec.


Rotinas que precisam ser alteradas

Rotina

Função

DESCRIÇÃO

PCOA120.PRW

Pco120Frv

Validação para o banco Postgre

PCOXDIV.PRW

AuxRevisa

Validação para o banco Postgre




PCOA300 - Rotina de reprocessamento de cubos

RotinaFunçãoDescriçãoPostgre
PCOA300.PRWA300LastDayCria  procedure que retorna o ultimo dia do mêsCREATE FUNCTION - Query returned successfully in 603 msec.
PCOA300.PRWPCOA300BCria as procedures de atualizacao do AKTCREATE FUNCTION - Query returned successfully in 216 msec.
PCOA300.PRWPCOA300FCria procedure Exclusao de AKT do periodoCREATE FUNCTION - Query returned successfully in 109 msec.
PCOA300.PRWPCOA300ACria procedures pa atualizacao do AKT para todos os niveis do cuboCREATE FUNCTION - Query returned successfully in 237 msec.
PCOA300.PRWPCOA300ProcCria procedures PaiCREATE FUNCTION - Query returned successfully in 136 msec.
PCOA300.PRWCallXFilial
CTBA360A()Procedure pai - Ctb360SlCmp() - Atualiza os Saldos CompostosExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 103 msec.CallXFilial()Funcao xFilial para uso dentro do corpo das procedures dinamicasExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 93 msec.CTBA370.PRWRecalcula o valor dos lancamentos em moedas fortesCTBA370A()Cria a procedure de conversao de valoresExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 103 msec.CTBA370Proc()Cria as procedures de atualizacao Debitos do CT7,CT3,CT4,CTIExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 95 msec.CallXFilial()Funcao xFilial para uso dentro do corpo das procedures dinamicasExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 93 msec.CTBA810.PRWRotina de Amarração de entidades contabeisCriaProc()Monta a procedure de concatenação das entidades.Testada na rotina CTBA250Query returned successfully in 113 msec. Colocar Postgres na validação: Alltrim( Upper(TcGetDb())) $ 'MSSQL7|MSSQL|ORACLE|DB2|INFORMIX' Linha 652 Função FiltraDestino()CTBA810Grava()Gravação de entidadesTestada na rotina CTBA250Query returned successfully in 141 msec.CT2SeqIDX.PRWGravacao do campo CT2_SEQIDX para lanc. c/chave duplicada.SeqIdxProc()Procedure p/ a gravacao do campo CT2_SEQIDX ch duplicadaExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 110 msec.CTBM300.PRWPermitir copiar saldos analiticos ou sinteticos de uma determinada conta, cc, item ou classe de valor para umsegundo tipo de saldo informado pelo usuario.CTBM300CTI()Atualiza saldos no CQ7Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 95 msec.CTBM300CT4()Atualiza saldos no CQ5Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 92 msec.CTBM300CT3()Atualiza saldos no CQ3Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 96 msec.CTBM300CT7()Atualiza saldos no CT7Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 104 msec.CTBM300DOC()Gera proxima linha, doc e loteExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 83 msec.CTBM300PAI()Copia dos tipos de saldos selecionadosExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 101 msec.CallXFilial()
Funcao xFilial para uso dentro do corpo das procedures dinamicas
Executar através de uma user function e testar sintaxe direto no banco de dados.
do PCO, recebe como parametro as strings das variaveis da procedure a serem utilizadasCREATE FUNCTION - Query returned successfully in
93 msecCTBM300LDAY()Retorna o ultimo dia do mêsExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 84 msec.CTBM300CTC()Insercao / Atualizacao CTCExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 93 msec.CTBR403.PRWRazao por entidadeR403SldAnt()Cria e instala procedure que busca o Saldo anteriorExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 116 msec.CTBXINT.PRWRotina GenéricaCriaManad1()Cria procedure para popular a tabela temporariaExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 83 msec.CriaManad2()Cria procedure para popular a tabela temporariaExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 100 msec.CTK811.PRWPrograma de Atualizacao do CTKProcCTK811()Programa de Atualizacao do CTK.Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 94 msec.CTBS011.PRWEscrituração Contabil - ECD/ECFCt11PtoE()Cria Procedures de ponto de entrada ECDCHVMOVExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 95 msec.Ct11DtLp()Cria procedure par verifcar se a data e de apuracao de Lucros e PerdasExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 81 msec.Ct11PopCSA()Cria procedure de gravacao de movimentos no CSAExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 90 msec.Ct11PopCSB()Cria procedure de gravacao de movimentos no CSBExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 89 msec.Ct11PopCSL()Cria procedure de gravacao de movimentos na tabela CSLExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 95 msec.Ct11ProcPa()Cria procedure de gravacao de movimentos no CSBExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 93 msecCt11Filial()Funcao xFilial para uso dentro do corpo das procedures dinamicasExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 100 msec.ProcCtaRef()Cria procedure de gravacao das contas referenciaisExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 84 msec.Ct11PMF()Cria procedure de gravacao de movimentos no CSBExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 89 msecCT220DOC.PRWEx de rdmake para gerar linhas sempre diferentes no CT2.CT220DOC()Ex de rdmake para gerar linhas sempre diferentes no CT2.Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 94 msec.CTBA220.PRWAglutinação de dados. Segue o mesmo modelo do SIGACON -> Aglut mod ACt220ExecP()Copia as tabelas para empresa destinoExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 200 msec.Ctb220CQ7()Cria procedure p geracao de lactos de saldos inciais do CQ7Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 106 msec.Ctb220CQ5()Cria procedure p geracao de lactos de saldos inciais do CQ5Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 87 msec.Ctb220CQ3()Procedure de geracao de lactos de slds iniciais CQ3Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 155 msec.Ctb220CQ1()Cria procedure p geracao de lactos de saldos inciais do CT7Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 153 msec.Ctb220DEL()Exclui dados das tagelas de cadastros CT1/CTT/CTD/CTHExecutar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 124 msec.CTB220Alt()Ponto de entrada permite alteração de valor e hist na gravação da tabela CT2Executar através de uma user function e testar sintaxe direto no banco de dados.Query returned successfully in 91 msec.As procedures da rotina CTBA231 (Aglutinação de dados Configurada - Modelo B) retornaram erros mesmo após a chamada da função MsParse:
Ct231ExecP()Aglutinação dos saldos/lançamentos ERROR: type "number" does not exist
LINE 20: vvalor NUMBER( 16 , 2 ) ;
^
********** Error **********
ERROR: type "number" does not exist
SQL state: 42704
Character: 418 MsParse não tratou o tipo Number não usado no PostgreCt231SlInP()Gera lançamentos de saldo inicial ERROR: type "number" does not exist
LINE 17: vdebito NUMBER( 16 , 2 ) ;
^
********** Error **********
ERROR: type "number" does not exist
SQL state: 42704
Character: 345 MsParse não tratou o tipo Number não usado no PostgreNa rotina CTBA105 (Lançamentos Contábeis) as procedures encontradas não foram homologadas para nenhum banco de dados sendo necessário um estudo especifico de sua funcionalidade dentro do sistema, visto que atualmente estão inutilizadas:
Ct105LOKPr()Criação da procedure de validação da linkaok(tela de contabilização) quando tmp criado direto no banco de dadosNa função CtbIniLan() a variável lUseProc está como .F. com a seguinte observação: MANTER FALSO ATE VALIDAR AS PROCEDURES NA VERSAO 12.1.16, ou seja, a procedure não é realizada. Essas alterações foram feitas na versão 12.1.16 Changeset 451481 com a data 26/05/2017, verificar o porque da anulação das execuções das procedures.CtbPrcAmar()Criação da procedure para verificar se a contra regra esta contido na regra quando parâmetro MV_CTBAMAR = 1 (Padrão) 
300 msec.



PCOA310 - Programa para reprocessamento dos pontos de lançamento

RotinaFunçãoDescriçãoPostgre
PCOA310.PRWA310ProcDelProcedure para excluir registros da AKD do processoCREATE FUNCTION - Query returned successfully in 68 msec.
PCOA310.PRWA310LOTAKDFuncao para lockar o proximo lote da AKDCREATE FUNCTION - Query returned successfully in 72 msec.
PCOA310.PRWA310LoteIdFuncao para gerar proximo id do loteCREATE FUNCTION - Query returned successfully in 72 msec.
PCOA310.PRWA310ProcedCriar procedure principal do reprocessamento de lancamentosCREATE FUNCTION - Query returned successfully in 220 msec.


PCOC361-Programa de Consulta a visao por cubos em periodos

RotinaFunçãoDescriçãoPostgre
PCOC361.PRWPco_360SldRetorna o array aProcessa quando chamada pela funcao PcoCub_Vis()CREATE FUNCTION - Query returned successfully in 598 msec.

Obs: A rotina é chamada pela rotina PCOC360.PRW ("Consulta Saldos por Periodo")


Rotina que de ver alterado

Rotina

Função

DESCRIÇÃO

PCOA361.PRW

Pco_360Sld

Validação para o banco Postgre



PCOXINC- Programa de montagem da tela de planilha orcamentaria

RotinaFunçãoDescriçãoPgAdmin
PCOXINC.PRWPcoCC_UserFuncao que verifica os direitos do Usuario x Centro Custo.CREATE FUNCTION - Query returned successfully in 598 msec.
PCOXINC.PRWPcoIC_UserFuncao que verifica os direitos do Usuario x Item Contabil.CREATE FUNCTION - Query returned successfully in 598 msec.
PCOXINC.PRWPcoSPAK5SupCria as procedures para popular a tabela de superioresCREATE FUNCTION - Query returned successfully in 598 msec.
PCOXINC.PRWPcoSPCTTSupCria as procedures para popular a tabela de superioresCREATE FUNCTION - Query returned successfully in 598 msec.
PCOXINC.PRWPcoSPCTDSupCria as procedures para popular a tabela de superiores - CTD Item ContábilCREATE FUNCTION - Query returned successfully in 598 msec.
PCOXINC.PRWPcoSPCTHSupCria as procedures para popular a tabela de superiores - CTH Classe de ValorCREATE FUNCTION - Query returned successfully in 598 msec.
PCOXINC.PRWPcoSPCV0SupCria as procedures para popular a tabela de superiores - CV0CREATE FUNCTION - Query returned successfully in 598 msec.


Rotina que de ver alterado

RotinaFunçãoDescrição
PCOXINC.PRWPcoCC_UserValidação para o banco Postgre
PCOXINC.PRWPcoIC_UserValidação para o banco Postgre
CtbPRegra()Criação da procedure para verificar se a contra regra esta contido na regra quando parâmetro MV_CTBAMAR = 1 (Padrão)  Ct105PrGrv()Criação da procedure para gravação dos movimentos contábeis CT2/CV3 e TRW para atualização dos saldos e chamada da multithread para execução da procedure Ct105Doc()Gera próxima linha, documento e lote  Ct105105CT2()PE CT105CT2 chamada na procedure de Gravação do CT2  Ct105CTBGRV()PE CTBGRV chamada na procedure de Gravação do CT2 CtPrCT2Psq()Criação da procedure Pesquisa linha, no documento e lote CtbPFilial()Criação da procedure para verificar se a contra regra esta contido na regra quando parâmetro MV_CTBAMAR = 1 (Padrão)  Na rotina CTBA810(Rotina de Amarração de entidades contábeis) a função A810Tools() chama a procedure StrZero / Soma1 onde a mesma é retornada com erro, sendo necessária a utilização do MsParse:
A810Tools()Cria Procedure StrZero / Soma1Usar MsParse() erro na criação da procedure



Observações:
  • Ressaltando que as procedures foram executadas diretamente no banco de dados, testando a sintaxe da query para o banco de dados PostgreSQL 1.6.
  • As querys não foram testadas executando o Protheus no sistema operacional Astra Linux.