segunda-feira, 26 de junho de 2017

Collation Protheus

O Collation correto da aplicação é: Latin1_General_BIN

O collation incorreto pode influenciar em problemas de hash, sort, entre outros nas consultas. 


Como verificar em T-Sql:
Select ServerProperty('Collation')

Sistemas operacionais homologados Build Protheus

Se o seu ambiente utiliza a versão Windows Server 2008 R2 Enterprise, está versão não oferece mais suporte por parte do fabricante bem como por parte da TOTVS para ambientes Protheus.

É importante considerar a Build do Protheus para atualizar com um windows server com suporte.











http://tdn.totvs.com/display/tec/Application+Server+-+Sistemas+operacionais

sexta-feira, 23 de junho de 2017

Atualizador UPDDISTR Protheus

Atualizador de dicionário e base de dados - UPDDISTR
UPDDISTR é utilizado no Protheus 12 para atualização de dicionários, releases ( 12.1.6, 12.1.7, 12.1.14, 12.1.16, ... ) e em algumas rotinas no 11.8, como por exemplo no SIGATAF.

Roteiro atualização:

Um dicionário de dados diferencial é um dicionário parcial que é utilizado para atualizar o dicionário de dados (metadado) do Protheus em uso. O dicionário de dados diferencial pode ser utilizado para diversos fins, a saber:

- Atualizar o dicionário de dados do Protheus para uma versão atualizada dentro de um mesmo release.
- Inserir o dicionário de um novo produto, módulo ou funcionalidade.
- Efetuar atualizações pontuais devido a um novo requisito legal. Preparando o ambiente:
Para aplicar o dicionário de dados diferencial, utilizamos uma ferramenta especial chamada UPDDISTR. 

O UPDDISTR atualiza o dicionário de dados do Protheus usando as mesmas regras e  funcionalidades do atualizador de versão do Protheus. De fato, o "core" (núcleo) do UPDDISTR e o do atualizador de versão são exatamente iguais, garantindo que não haja disparidade de regras entre as duas ferramentas. 


A maior diferença reside no fato do UPDDISTR poder utilizar um dicionário parcial, enquanto o atualizador de versão sempre exigir um dicionário completo. Informação:

Antes de executar o UPDDISTR você deve baixar tanto o arquivo de dicionário completo (SXSBRA.TXT, por exemplo) quanto o dicionário diferencial (SDFBRA.TXTpor exemplo), e descompactá-los na pasta Systemload

Embora a migração de release utilize apenas o arquivo diferencial, o arquivo completo também deve ser baixado para a pasta, pois futuramente, quando for criar uma nova empresa ou filial, por exemplo, o arquivo que será utilizado será o COMPLETO.
 Além do dicionário de dados, as alterações na base de dados decorrentes do novo dicionário (como por exemplo tamanho de campos) também são efetuadas, da mesma maneira que no atualizador de versão padrão.

Observação importante: 
A ferramenta UPDDISTR apenas atualiza o dicionário de dados (metadado), os helps de campo e a base de dados. 

As alterações no repositório do sistema (sejam elas substituição do repositório, aplicação de "patchs", "updates" e pacotes) e atualizações de menus devem continuar sendo efetuadas conforme instruído em cada processo específico.   Procedimento para Implementação:
O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) de Lib, contendo os fontes abaixo cuja data seja igual ou superior às datas informadas.UPDDISTR.PRW – 01/07/2013APUPD030.PRW – 16/10/2013APUPDATE.PRW – 18/09/2013 Procedimentos para Utilização:

Recomendamos fortemente que qualquer processo que envolva atualização do dicionário e base de dados do sistema seja efetuado inicialmente em ambiente de homologação e que os processos mais importantes para a operação da empresa sejam validados. Seja efetuada uma CÓPIA FRIA (todos os serviços parados)
e CONSISTENTE (das pastas adequadas e banco de dados) da base de produção antes da aplicação dessa atualização. Seja efetuada uma CÓPIA FRIA (todos os serviços parados) e CONSISTENTE das pastas de dicionário de dados ("startpath" - pasta "system" e similares) antes da aplicação da atualização.


Estas recomendações tornam-se obrigatórias no caso de sistemas de missão crítica, quando a operação da empresa depende totalmente ou quase que totalmente do sistema Protheus.  Para utilizar este procedimento é preciso dispor de um dicionário diferencial.


O dicionário diferencial é um arquivo texto que possui o seguinte formato: SDFppp.txt, onde ppp é o código do país (localização).


--> Dessa forma, um dicionário diferencial para o Brasil deve possuir o nome SDFBRA.TXT. 

Um dicionário diferencial para a Argentina deve possuir o nome SDFARG.TXT. 

Cada processo de atualização (atualização do Protheus, novo módulo, nova legislação) vai disponibilizar um arquivo com conteúdo diferente. 


Ao mesmo tempo, poderá ser disponibilizado um arquivo diferencial de helps de campo e alertas, com o seguinte formato: HLPDFiii.TXT, onde iii é o código do idioma.


--> Dessa forma, um help de campo para o idioma português deve possuir o nome HLPDFPOR.TXT. Diferentemente do arquivo de dicionário, no Help a diferenciação por país encontra-se no próprio arquivo (interna). 


O(s) arquivo(s) de atualização deve(m) ser posicionado(s) na pasta de carga "\systemload" (pasta criada a partir da pasta "root" (raiz) do Protheus).
 --> Solicitamos que ao executar uma dada atualização pela primeira vez seja excluído (se existir) o arquivo MPUPDDISTRI.TSK do diretório APPSERVER da instalação do Protheus em uso. Este arquivo apenas é necessário caso o processo tenha sido interrompido antes de sua conclusão, e guarda quais tarefas foram concluídas e quais ainda estão pendentes. Para atualizar, efetuar a chamada do programa de atualização UPDDISTR, na tela inicial do Protheus, ou seja, digitar UPDDISTR como se fosse o nome de um módulo do Protheus  (os demais dados da janela, como conexão e ambiente, são apenas exemplos).


A partir do pacote de LIB disponibilizado em 07/04/2016 será possível escolher quais grupos de empresas serão considerados na atualização. 


Será exibida uma janela onde é possível marcar os grupos de empresas desejados. 
Por padrão, todos os grupos já vem selecionados. Se desejar utilizar todos os grupos, basta clicar no botão OK. Caso uma dada migração seja reiniciada, deve-se escolher exatamente os mesmos grupos de empresas para retomar o processo
  
Algumas tabelas não possuem grupo de empresas em seu nome, logo essa configuração não terá efeito sobre elas. 


Os arquivos de help, por exemplo, são compartilhados por todos os grupos de empresas de dado STARTPATH. Dessa forma, o arquivo compartilhado será atualizado. Após a chamada, será exibido um assistente de atualização. 

A primeira janela faz uma breve explicação da funcionalidade.

Deve-se avançar para a segunda janela. 

Na segunda janela deve-se informar: O usuário e senha do administrador do Protheus.


Se é uma simulação.

Se o dicionário de índices é exclusivo por grupo de empresas (SIX) ou se é utilizado o dicionário SINDEX.


Deve-se avançar para a terceira janela. 

Na terceira janela deve-se informar: 

O diretório de dados (X2_PATH) para cada grupo de empresas para as novas tabelas a serem inseridas pela atualização. 


No caso de bases de dados SQL (Top Connect) não é necessário informar o diretório. 


Deve-se avançar para a quarta janela. 


Na quarta janela são definidas informações quanto ao LOG de processamento.

Em Configuração de execução do Update, indicamos manter apenas as opções:

--> 
manter Log de Critical Error

--> 
manter Corrigir erros automaticamente habilitadas, lembrando que a opção de corrigir os erros automaticamente executará as alterações de base pelo próprio sistema

--> NÃO marque a opção Manter o arquivo de log existente


Ao confirmar, será exibida uma janela confirmando quais grupos de empresas serão processados e quais operações serão executadas. 


Em seguida será efetuada uma análise da base de dados existente. 


A análise verificará diversos fatores, como por exemplo a consistência da base de dados em relação ao dicionário existente. 


Se forem encontrados problemas, os mesmos deverão ser corrigidos antes que a atualização possa prosseguir. 


Deve-se notar que nesta fase é analisado apenas o conteúdo da base de dados e do dicionário já existente. 


Nesse momento não é efetuada nenhuma consulta ao dicionário de dados diferencial que se pretende aplicar. 


Caso não existam erros ou os mesmos já tenham sido corrigidos a atualização iniciará logo após o processo de verificação. 


Deve-se aguardar o final da atualização e encerrar.

Protheus Sped Fiscal 2017 REF 2016

O Sped Fiscal é gerado somente através da rotina SPEDFISCAL.PRW.

Segue atualização:

- Em Janeiro 2017 a Receita atualizou o SPEDFISCAL para Layout versão 11,
com isso o Protheus foi atualizado em Janeiro.

Boletim Ténico:
http://tdn.totvs.com/display/PROT/96199+MSERV-215+DT+SPED+FISCAL+LEIAUTE+2017

- Aplique as patchs abaixo:
https://suporte.totvs.com/portal/p/10098/download?e=535188
Atualização MATR460
https://suporte.totvs.com/portal/p/10098/download?e=570897
https://suporte.totvs.com/portal/p/10098/download?e=578163

Utilize opção aceito somente fontes atualizados.

Após isso, deve-se aplicar o compatibilizador U_UPDSIGAFIS
para a criação dos novos campos exigidos pela nova versão do Layout SPED,
a não execução do Compatibilizador impacta em ocorrência devido a não
atualização do Dicionário.

- Uma vez aplicada a patch o processo para geração do Bloco H será:

Ao gerar o P7 na Wizard pergunta 24

ARQUIVO EXP. SPED FISCAL ?

informe como nome a data do inventário no formato AAAAMMDD

O sistema irá salvar o arquivo na pasta SYSTEM

Ao gerar o SPEDFISCAL o sistema irá buscar automaticamente o arquivo na pasta
SYSTEM

- Passos para geração:

1 . Configuraras perguntas do relatório MATR460 colocando para gerar o arquivo
do SPED (Tratamento já realizado anteriormente)

Esse tratamento permite que seja gerado vários períodos para serem processados
pelo SPEDFISCAL

2. Depois de gerado o relatório o arquivo estará na pasta System com o nome
informando no relatório. (O arquivo não deve ser apagado.)

3. Realizar a geração do SPEDFISCAL com a opção para gerar inventario = Sim

4. Depois de processado o SPEDFISCAL Verifique o arquivo, estará com as
informações do Bloco H010.

- A pergunta volta ao padrão antigo, onde informamos o nome do arquivo?
A pergunta não está disponível, a própria rotina é responsável por ler o arquivo
, que tem um nomenclatura definida.

· Gerar Exp. SPED FISCAL :=  SIM // Para gerar DBF na Pasta System,
para ser levado para SPED FISCAL no Bloco H.

· Data de fechamento de estoque := 31/12/2017//Data do arquivo de Inventario,
de quando foi fechado.

· Nome Arq. Gerado no Reg. In. MOD 7 :=  20171231
//Informe o nome do arquivo com mesma data a ser informado no parâmetro de
geração do SPED FISCAL, Data de fechamento do estoque - Informe a data em que
foi feito o fechamento do estoque, caso queira gerar os registros de inventário.

Gera Inventário := Sim
// Selecione se deseja gerar os registros de inventário (bloco H).

Data de fechamento do estoque:= Informe a data em que foi feito o fechamento
do estoque, caso queira gerar os registros de inventário.

Onde fonte irá buscar na sua pasta /SYSTEM/ .DBF ou .DTC com a mesma data gerado
pelo Relatório Reg. Invent. Mod. 7 (MATR460).

quarta-feira, 7 de junho de 2017

Workflow Protheus

Irei explicar o comportamento da tabela WFA no workflow com webex.

Se excluirmos os registros dessa tabela, nenhum link de workflow funcionará, apresentará a mensagem, processo não encontrado ou inexistente.

Se apresentar a mensagem processo ignorado, FINALIZADO anteriormente se trata do processo já ter sido respondido (WFA_TIPO = 4) ou ocorrido alguma falha(WFA_TIPO = 1).
Se ocorrer um erro, o WFA_TIPO ficará com 1, isso significado que o processo está travado.
É importante subir o appserver do workflow em console, para identificar se existe algum erro em advpl.







Quando respondido o sistema deve apresentar a mensagem resposta enviada para o servidor e se não existir falha na rotina de retorno, o WFA_TIPO ficará com 4.


Se existir falha, o WFA_TIPO ficará com 1, nesse momento é importante corrigir o desenvolvimento advpl e voltar o processo para 3 (WFA_TIPO = 3).


Dessa forma será possível responder novamente um link que havia apresentado processo ignorado.