quinta-feira, 3 de fevereiro de 2011

Reabertura de folha no protheus



1.   OBJETIVO

O objetivo deste documento e fazer a reabertura da folha de pagamento do Microsiga.

No momento de fechamento da Folha do Microsiga se por algum motivo o processo de fechamento for finalizado / abortado provavelmente o processo de fechamento não foi finalizado de forma correta e deve-se ser executado novamente. Se no momento de executar novamente o processo o Microsiga informar que não vai ser possível deve-se executar o que esta descrito neste documento.

2.   O QUE O MICROSIGA FAZ NO MOMENTO DE EXECUTAR O FECHAMENTO DA FOLHA

Para exemplificar o processo vamos supor que esta sendo feito o fechamento da competência 03/2008 da Empresa 03 cadastrado no sistema.

Assim que é executado a rotina do Microsiga o sistema executa os
seguintes passos:

2.1.          Atualiza o parâmetro MV_FOLMES para a competência que esta
sendo em aberto, no caso de estar sendo fechada a competência 03/2008 o parâmetro será preenchido com o conteúdo 200804 que é
a competência que esta se iniciando em este momento.
Solução caso o parâmetro foi atualizado volte o parâmetro para
a competência anterior 200803

2.2.         O sistema cria uma tabela temporária no seguinte formato
GPeeaamm, onde ee _ Código da empresa, no exemplo 03,
aa_ano e mm_mês.
No exempo seria criado a tabela GP030803
2.2 O sistema cria a tabela RCeeaamm, onde ee_Empresa, aa_Ano,
mm_mês.

2.3.         O sistema grava as informações da tabela SRCee0 – Movimento
Mensal, na tabela SRDee0 – Movimento Acumulados / Ficha
Financeiro naquela competência no caso 03/2008 e limpa as
infomações da SRCee0, onde ee_ código da empresa.
No momento que aconte-se um erro no processo de fechamento mensal
e o processo é abortado uma das 3 etapas descritas acuma não é
concluída,sendo necessário refazer o processo todo, mais o Microsiga
não vai deixar executar o processo novamente se as tabelas GPeeaamm ou RCeeaamm naquela empresa e naquela competência não seja apagadas / Deletadas.
A seguir descreveremos o que fazer e que validações deverá ser feitas
para reabertura daquela competência.

3.   VALIDAÇÕES

Como descrito anteriormente vamos supor que a competência 03/2008 estava sendo encerrada e a empresa seria a 03, sendo assim, executar as seguintes testes.

3.1.         _ Volte o parâmentro MV_FOLMES para 200803

3.2.         Verifique se existem registros na tabela SRDee0 na competência
03/2008 para isto execute o seguinte Script:
Se a query acima retornar alguma quantidade de registros é necessário
apagar os mesmos executando o seguinte script

SELECT COUNT(*)
FROM SRDee0
WHERE RD_DATARQ = '200803'
AND D_E_L_E_T_ <> '*'

DELETE SRD990
WHERE RD_DATARQ = '200803'
AND D_E_L_E_T_ <> '*'

3.3.         Checar a quantidade de registros das tabelas SRCee0, GPeeaamm e RCeeaamm, para isto execute os seguintes scripts

3.3.1.    Numero de registros no Primeiro Select é maior que dos dois outros Selects.
Se o primeiro Select na tabela SRCee0 der o maior numero de registros, signigica que no processo de fechamento do mês não consegui gerar gravar as informações completamente nas tabelas GPeeaamm e RCeeaamm, sendo assim, é só Dropar / Apagar as tabelas GPeeaamm e RCeeaamm para isto execute os comandos.
Depois e refazer o processo de fechamento novamente.

3.3.2.   Registros da tabela GPeeaamm ou RCeeaamm maior do que SRCee0.
Neste caso deve-se primeiramente apagar os registros da tabela SRCee0 utilizando-se o comando.
Após apagar os registos da SRCee0 deve-se copiar os registros da tabela GPeeaamm ou RCeeaamm para a tabela SRCee0 utilizando-se APSDU.
Deve-se escolher a tabela que tiver mais registros entre a GP ou RC.
Após copiar os dados na SRCee0 deve-se verificar os dados na tabela de movimentação mensal pelo Microsiga

--PRIMEIRO SELECT
SELECT COUNT(*)
FROM SRCee0
WHERE D_E_L_E_T_ <> '*'
GO

--SEGUNDO SELECT
SELECT COUNT(*)
FROM GPeeaamm
GO

--TERCEIRO SELECT
SELECT COUNT(*)
FROM RCeeaamm

DROP TABLE GPeeaamm
GO

DROP TABLE RCeeaamm

DELETE FROM SIGA.SRCee00

Após verificação das informações deve-se apagar / Dropar as tabelas.
Após apagar as tabelas deve-se executar a rotina novamente de fechamento mensal.

DROP TABLE SIGA.GPeeaamm
GO
DROP TABLE SIGA.RCeeaamm