sexta-feira, 4 de novembro de 2016

Como habilitar LogProfiler Avaliação Desempenho Protheus (trace para rotinas ADVPL)

1) Vamos iniciar abrindo o arquivo de configuração de seus servidores, mais conhecido como appserver.

2) Para ativar o LogProfiler e necessário adicionar a clausula "LogProfiler=1" 
no ambiente que deseja monitorar.

Importante: Quando habilitamos o LogProfiler gera uma pequena queda de performance 
no ambiente (environment), por isso, recomendo utilizar um ambiente exclusivo para geração do trace.

Exemplo para habilitar o LogProfiler

[SEU AMBIENTE]
SourcePath=C:\P12.1.7\Protheus_data\apo
RootPath=C:\P12.1.7\Protheus_data\
StartPath=\system\
RpoDb=top
RpoLanguage=portuguese
RpoVersion=120
LocalFiles=ctree
localdbextension=.dtc
PictFormat=DEFAULT
DateFormat=DEFAULT
RegionalLanguage=BR
PanelServer=localhost
PanelPort=1231
HelpServer=localhost:8079
LOGPROFILER=1 (concordo) Voce deve habilitar o log no ambiente

[Drivers]
Active=TCP

[TCP]
TYPE=TCPIP
Port=1236

[General]
InstallPath=C:\P12
CONSOLELOG=1 
CONSOLEMAXSIZE=100999888

Deve-se habilitar o consolelog para que o trace seja gerado 
nos arquivos console.log e/ou console.bak

Importante: quando habilitamos o CONSOLELOG=1 os arquivos 
console.log e console.bak serão gravados dentro da 
pasta \System, porem existe a clausula "ConsoleFile" 
onde o administrador do sistema pode alterar o local de 
gravação do arquivo e seu nome físico, por este motivo devemos
prestar atenção a esta configuração.

Veja o exemplo:

[General]
InstallPath=C:\P12
CONSOLELOG=1
ConsoleFile=c:\Sistema\P11\Logs\Server_01.log (erro)   

(Quando utilizamos está opção o administrador do sistema pode 
alterar o nome do arquivo - Ponto de Atenção)

3) Antes de executar a rotina que sera monitorada e necessário 
limpar os arquivos de console.log e console.bak.
Observação: Você não ira conseguir limpar os arquivos se o serviço 
do appserver.exe estiver no ar, por isso, derrube o serviço e 
limpe os arquivos. (Antes de derrubar verifique se existem usuários 
conectados no sistema)

4) Vamos executar a rotina a ser monitorada.

Baixe o vídeo no link abaixo e veja o exemplo de geração do LogProfiler.

O LogProfiler não consegue enxergar processamento realizados por Stored Procedures, por este motivo antes de habilitar o monitoramento verifique se a rotina em questão possui procedures.
O LogProfiler e gerado dentro dos arquivos Console.Log e Console.bak (Caso tenha em seu ambiente)
Para utilização e necessário habilitar o ConsoleLog=1 na sessão "General" do arquivo appserver.ini

Maiores detalhes sobre o LogProfiler acesse o Link 

REF:

sexta-feira, 28 de outubro de 2016

Campo MEMO Descriptografar Protheus

Abaixo, um exemplo do comando em SQL.

SELECT A.RA_FILIAL, A.RA_MAT, A.RA_NOME, A.RA_XBLVTVR
,ISNULL(CONVERT(VARCHAR(1024),CONVERT(VARBINARY(1024),RA_XHSTBLQ)),'') AS RA_XHSTBLQ
FROM SRA010 A WITH (NOLOCK)
WHERE A.RA_XHSTBLQ IS NOT NULL AND A.RA_XBLVTVR = 'S'
ORDER BY 4 ASC

REF:
http://www.blacktdn.com.br/2011/10/protheus-mssql-retornando-o-conteudo-de.html

quinta-feira, 27 de outubro de 2016

Propriedades Atalho Protheus

Segue o comando nas propriedades:

ANTES:
C:\smartclient_erp\Smartclient.exe

DEPOIS:
C:\smartclient_erp\Smartclient.exe -m -p=SIGAADV -c=TCP -e=PRODUCAO

terça-feira, 25 de outubro de 2016

Reestruturação do financeiro SE5 - FK - PROTHEUS V12

A tabela SE5 - Movimentações bancárias cresceu ao longo do ciclo de vida das versões do Microsiga Protheus, que ocasionou alguns problemas estruturais e lógicos, impactando principalmente na performance das rotinas envolvidas e também no processo de evolução do produto.
Para que fosse possível manter um processo contínuo de evolução do produto, foi elaborado um projeto para reestruturação da tabela de movimentações bancárias, criando uma nova família de tabelas para normalização da tabela SE5. Essa nova família de tabelas, com o prefixo FK, possui 11 tabelas, sendo:

Tabela
Descrição
Função
FK1Baixas a receberRegistrar as baixas de títulos a receber
FK2Baixas a pagarRegistrar as baixas de títulos a pagar
FK3Impostos calculadosArmazenar os valores de impostos calculados para títulos a receber ou pagar
FK4Impostos retidosArmazenar os valores de impostos retidos para títulos a receber ou pagar
FK5Movimentos bancáriosRegistra as movimentações bancárias de títulos a receber, a pagar e individuais
FK6Valores acessóriosRegistra os valores de juros, multas, descontos, acréscimos e etc. de títulos a receber e pagar
FK7Tabela auxiliarNessa tabela são armazenadas as chaves de amarração entre as tabelas SE1 e SE2 com as tabelas FK1 e FK2
FK8Dados contábeisGravação de dados complementares da tabela FK5, exclusivamente com dados contábeis
FK9Complemento de movimentoGravação de dados complementares da tabela FK5, com dados de origem de módulos que integram ao Financeiro
FKARastreio de movimentoReúne em um único processo as informações referentes às baixas (FK1/FK2), movimento bancário (FK5) e cheques (SEF) e suas operações de estorno
FKBTipos de movimentosUso interno

REF:
http://tdn.totvs.com/pages/releaseview.action?pageId=183730415

quarta-feira, 19 de outubro de 2016

License Server 2014 TOTVS Protheus

Com o novo TOTVS LICENSE SERVER 2014, não será mais necessário hardlock, parar as operações para atualizar as licenças, fazer novas solicitações de arquivo de licenças, entre outras vantagens. A conexão será efetuada diariamente, automaticamente atualizando o serviço sempre para mais 21 dias. Assim caso perca a conexão com a internet o serviço irá ter o funcionamento limite de 21 dias, até o retorno da conexão com a internet.Abaixo segue o Link do TDN com documentação completa:

Para atualização, será necessário baixar o instalador do link ftp://ftp.totvs.com.br/hlcloud/Instaladores/ e executá-lo. 

REF:
http://tdn.totvs.com/display/framework/TOTVS+|+License+Server+2014


Neste momento será atualizado o Binário e Repositório de Objetos (RPO) do License Server.

Com o Novo License Server você evita: 
• Paradas do servidor
• Aberturas de chamado
• Poup-ups indesejáveis

IMPORTANTE:
Caso as licenças full e light subam corretamente, porém o dbaccess não considere mais do que 2 usuários e o seu licenciamento não seja por processador, 
deverá ser colocado a tag  LicenseModel=USER no dbaccess.ini

Ex:

[General]
LicenseServer=192.XXX.XX.XX

LicensePort=5555
LicenseModel=USER
...

segunda-feira, 3 de outubro de 2016

Proxy Mashup Protheus

A estrutura montada inicialmente pela TOTVS gerou um gargalo. Pois toda a lógica de execução do TOTVS Mashup é baseada em um servidor hospedado no Data Center da TOTVS, por este motivo, toda a comunicação com os sites de terceiros é feita a partir da rede da TOTVS, o que em alguns casos, causa um bloqueio de IPs devido ao alto número de requisições vindos da mesma rede.

Qual foi a solução apresentada pela TOTVS. Eles criaram o Proxy TOTVS Mashup. Ele será instalado no servidor do Cliente toda a comunicação com os sites de terceiros será feita diretamente da rede local. O serviço irá fazer a comunicação com o servidor TOTVS somente para carregar a lógica de execução do Mashup e para a validação do usuário, assim quando o Mashup for atualizado no servidor, automaticamente será atualizado no Proxy. Com esta solução iremos diminuir o número de requisições vindos do mesmo IP e consequentemente diminuir as chances de bloqueio.

No meu caso, foi necessário atualizar o service pack e o windows framework.

Windows Server 2008 R2 C/ SP1
Microsoft .NET Framework 4.6.1

Requisitos:

Windows com suporte a .NET Framework 4.0 ou superior
4 GB de RAM e 4 núcleos de processamento.
Permissão de saída para internet sem necessidade de proxy.
Liberação para se comunicar em qualquer porta com qualquer site, utilizando os protocolos HTTP e HTTPS.
Se você utilizar o Protheus 11 deve atualizar a lib mais recente disponível no portal.

Parâmetro:
MV_URLMSHP
Tipo: Caracter
Conteúdo: http://localhost:8055/TOTVSSoa.Host/SOAManager.svc

REF.:



Para fazer o download do Proxy TOTVS Mashups, basta acessar o link abaixo:


Abaixo está o link do TDN para instalação e configuração do Proxy TOTVS Mashups:


sexta-feira, 30 de setembro de 2016

+ Servidor de Aplicação - Appserver

Abaixo bons itens de leitura, sobre atualização sistêmica:

Arquivos DBF sem suporte no Protheus 12
Como atualizar Dicionário de Dados
Como atualizar o Dicionário de Dados do Protheus 12
Como atualizar o Help de Campos
Como configurar o ambiente para utilização das tabelas SXE e SXF para controle de numeração
Página: Como configurar o Help Online no sistema
Como criar um ambiente em Inglês ou Espanhol
Como proceder com o Balanceamento de carga entre serviços LoadBalance?
Procedimento de Migração de Release do Protheus 11
Procedimento de Migração de Versão - para Protheus 11
Procedimento de Migração de Versão - para Protheus 12
Procedimento para criar base de teste baseada em cópia da base de produção
Procedimento para efetuar a atualização básica do Protheus 11
Procedimento para efetuar a atualização básica do Protheus 12
Procedimento para migrar arquivos .DBF para .DTC
Quais são os Erros Críticos mais comuns durante a migração de versão?

Arquivos DBF sem suporte no Protheus 12

Término do suporte a arquivos no formato DBF (localFiles=ADS) a partir do Protheus 12.
Assim como o binário 64 bits do Protheus 11, a versão 32 bits do Protheus 12 também não possui suporte à utilização de arquivos no formato DBF. É necessária a utilização de arquivos em formato Ctree (.dtc).

Para clientes que estiverem migrando de versões anteriores ao Protheus 12, antes de iniciar o processo de migração é necessário converter os arquivos de .DBF para .DTC.

terça-feira, 2 de agosto de 2016

Nova estrutura de tradução do Protheus - arquivos .CH

O modelo de resource vai facilitar a criação de outros idiomas no futuro, permitindo a inserção de novos idiomas sem a recompilação de fontes no repositório.
O arquivo .CH foi simplificado, passando a fazer a “ponte” entre os programas atuais e as funções de leitura dos resources e dos termos Flavour.
No novo modelo, além do arquivo .CH vinculado a cada fonte, temos um arquivo de resource por idioma. Hoje tratamos 4 idiomas, sendo o Português de Portugal tratado como idioma:
  • Português do Brasil - identificador "pt-br"
  • Português de Portugal - identificador "pt-pt"
  • Espanhol - identificador "es"
  • Inglês - identificador "en"
Dessa forma, para cada CH cadastrado temos 4 arquivos TRES (Translate RESource).
Exemplo: Para o programa MATA410 (pedido de vendas), temos vinculados os seguintes resources:

  • MATA410_pt-br.TRES
  • MATA410_pt-pt.TRES
  • MATA410_es.TRES
  • MATA410_en.TRES

VERSÃO 11
Os arquivos CH da versão 12 não são compatíveis com os da versão 11. Seguem exemplos de CH:
#define STR0001 "Protheus Sniffer"
#define STR0002 "Ferramenta de diagnóstico do Protheus - Geração do Script de processamento"
#define STR0003 "Identificador"
#define STR0004 "Descrição"
#define STR0005 "Versão"
#define STR0006 "Marcar todos"
#define STR0007 "Desmarcar todos"
#define STR0008 "Geração do script cancelada !"
#define STR0009 If( cPaisLoc $ "ANG|PTG", "Erro na criação do ficheiro de script. Código -> ", "Erro na criação do arquivo de script. Código -> " )
#define STR0010 If( cPaisLoc $ "ANG|PTG", "Ficheiro ", "Arquivo " )
Versão 12
#DEFINE STR0001 FWI18NLang("SNFXFUN","STR0001",1)
#DEFINE STR0002 FWI18NLang("SNFXFUN","STR0002",2)
#DEFINE STR0003 FWI18NLang("SNFXFUN","STR0003",3)
#DEFINE STR0004 FWI18NLang("SNFXFUN","STR0004",4)
#DEFINE STR0005 FWI18NLang("SNFXFUN","STR0005",5)
#DEFINE STR0006 FWI18NLang("SNFXFUN","STR0006",6)
#DEFINE STR0007 FWI18NLang("SNFXFUN","STR0007",7)
#DEFINE STR0008 FWI18NLang("SNFXFUN","STR0008",8)
#DEFINE STR0009 FWI18NLang("SNFXFUN","STR0009",9)
#DEFINE STR0010 FWI18NLang("SNFXFUN","STR0010",10)

Exemplo de arquivo .TRES, português do Brasil. 
0001#STR0001#ALL#Protheus Sniffer
0002#STR0002#ALL#Ferramenta de diagnóstico do Protheus - Geração do Script de processamento
0003#STR0003#ALL#Identificador
0004#STR0004#ALL#Descrição
0005#STR0005#ALL#Versão
0006#STR0006#ALL#Marcar todos
0007#STR0007#ALL#Desmarcar todos
0008#STR0008#ALL#Geração do script cancelada !
0009#STR0009#ALL#Erro na criação do arquivo de script. Código ->
0010#STR0010#ALL#Arquivo

REF:
http://tdn.totvs.com/pages/viewpage.action?pageId=181965465