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

segunda-feira, 22 de novembro de 2010

Configurando JOB no protheus

Vamos mostrar com um exemplo de como se configura um JOB.

  1. Configurar um JOB é bem simples, primeiramente devemos alterar o .ini do nosso TotvsAppServer onde colocaremos o seguinte:

    1. [ONSTART]
Jobs=U_FJOB
Refreshrate=600 //10 min

[U_FJOB]
Main=U_FJOB
Environment=environment

O ‘U_FJOB’ pode ser qualquer função sua, ou seja, é uma User Function.

  1. Devemos iniciar o servidor por console, para isso crie um atalho do TotvsAppServer e nas propriedades do atalho informe ‘-console’.

  1. Ao iniciar o servidor você perceberá mensagens no console informando o inicio do JOB ‘Starting Job [U_FJOB]’.


P.S. Sobre o refreshrate, eu prefiro não informa-lo pois se usarmos mais de um JOB o tempo ficará para os dois, portanto, geralmente eu prefiro usar um while com sleep dentro da função do JOB.

Espero ter ajudado qualquer duvida informem.

Obrigado e deixem seus comentários.

quarta-feira, 3 de novembro de 2010

Configurando Protheus + Sql Server + Win Srv 2008 64bts


1-      Instalando o TOP:


a.       Utilizando um CD com o protheus ou baixando no site da TOTVS o TOP (Totvsdbaccess) intale ele por completo;
b.      A instalação é bem simples  a primeira opção é a língua, escolha português;
c.       O restante é so usar o velho “next” até finalizar a instalação.

d.      Como estamos em um sistema operacional 64bits e o Protheus se trata de uma plataforma 32bits, então precisamos fazer algumas operações para que o TOP crie o serviço no windows 64:

                                                              i.      Pelo prompt de comando com permissão de administrador, vá a pasta do TOP, se você instalou na pasta padrão vá a pasta: “C:\Program Files (x86)\Totvs DBAccess” e digite: “–install TotvsDBAccess”;
                                                            ii.      Va aos serviços do windows procure pelo “TotvsDbaAccess” configure para que ele inicie automaticamente. Pronto, agora sim temos o TOP completamente instalado com um serviço;


2-      Configurando o ODBC:


a.       Para configurar o ODBC não podemos pegar qualquer ODBC. Como se trata de plataformas diferentes o ODBC padrão da pasta do windows não funcionará, portanto vá em “C:\Windows\SysWOW64\odbcad32.exe”;
b.      Abrindo o ODBCAD32.EXE va em “Fonte de dados do sistema” e configure o seu banco de dados, no nosso caso SQL Server, escolha o “SQL Server Native Client 10.0”;
c.       Informe o nome, descrição e ip do seu servidor. O ip pode ser substituído por um ‘.’ se for localhost;
d.      Informe autenticação do SQL Server e informe o login e senha do banco;
e.       Por fim, escolha a sua Database padrão e conclua, antes faça o teste de conexão, se o mesmo informar sucesso, a configuração esta completa.

3-      Configurando a conexão entre o TOP e ODBC:


a.       Abra o TOP(TotvsDbaAccess), selecione localhost e deixe a porta padrão;
b.      Va em configurações > Microsoft SQL. Escolha um novo ambiente e inclua qualquer nome, eu particularmente coloco tudo padronizado, o mesmo nome que coloquei na configuração do ODBC, LEMBRE-SE!!! SEMPRE USE CAIXA ALTA! Esse realmente é um erro que muitos cometem, utilizando tudo caixa alta você tem a certeza que vai dar certo;
c.       Informe o login e senha do banco e salve;
d.      Va em Assistentes > Validação de Conexão > Selecione o banco: Microsoft SQL e informe em caixa alta o nome que você informou no ambiente e finalize;
e.       Caso informe ‘Conexão ok!’ então esta tudo pronto. Caso informe -35, verifique a caixa alta e veja o nome do ambiente.


Logo mais tentarei colocar figuras ilustrativas, obrigado por visitar meu Blog. Esse é meu primeiro post, um pouco básico mas espero ajudar.