Linkedin

Total de visualizações de página

terça-feira, 14 de fevereiro de 2017

Mensagens da rotina de atualização automática


Skip to end of metadata
Go to start of metadata

As mensagens de falha na execução da rotina de atualização automática passaram a fornecer mais detalhes sobre a ocorrência, tanto na aplicação TOTVS | SmartClient, como também no console do TOTVS | Application Server, de modo a auxiliar o administrador do ambiente a identificar a causa da ocorrência. 

ERP 10 e 11
Abrangência


Ocorrência
"Não foi recebido nenhum arquivo a atualizar."
"-Notifique o Administrador do sistema para proceder atualização da versão do TOTVS | SmartClient"
Possíveis causas
  • O diretório especificado para a atualização, na configuração do TOTVS | Application Server, não contém nenhum arquivo a atualizar. Verifique se o diretório informado existe no ambiente do servidor, e se os arquivos do TOTVS | SmartClient para atualização encontram-se no diretório informado. Neste caso, é exibido no console do TOTVS | Application Server a seguinte mensagem: 
[02/02/2005 16:50:36] Starting Thread for remote update *** WARNING: Update directory [c:\p11\bin\rmtupd_windows\] EMPTY. *** UNABLE TO PROCEED WITH AUTOMATIC REMOTE UPDATE *** Please verify update server path. [02/02/2005 16:50:54] Finishing Thread for remote update 
 
  • O TOTVS | Application Server foi atualizado, porém o diretório especificado para a atualização dos arquivos do TOTVS | SmartClient não foi atualizado. Quando uma estação remota iniciar o TOTVS | SmartClient, e proceder com a atualização automática, caso os arquivos da estação estejam atualizados em relação aos arquivos informados no TOTVS | Application Server, o servidor não enviará nenhum arquivo à estação remota. Verifique se os arquivos colocados na pasta configurada para atualização no TOTVS | Application Server são compatíveis com a build do servidor ERP atualmente em uso. Neste caso, é exibido no console do TOTVS | Application Server a seguinte mensagem:
[02/02/2005 17:03:22] Starting Thread for remote update *** WARNING : Build mismatch on files in update server. *** Verify if remote update files math with this Protheus Build. [02/02/2005 17:03:25] Finishing Thread for remote update 
  • O TOTVS | Application Server está sendo executado em um ambiente Linux/Unix, e existem um ou mais arquivos no diretório de atualização configurado no TOTVS | Application Server, que possuem em seu nome caracteres em letra maiúscula. Todos os arquivos colocados nos diretórios de atualização automática configurados no TOTVS | Application Server, quando trabalhamos com o mesmo em ambiente Linux, devem ser colocados em letras minúsculas. Neste caso, os nomes de todos os arquivos inválidos são exibidos no console do TOTVS | Application Server, através da seguinte mensagem:
*** WARNING : Invalid update file[/protheus8/bin/remote_windows/ApExcel.xla]

Ocorrência
"Não foi possível atualizar o executável do TOTVS | SmartClient."
"-Notifique o Administrador do sistmea para proceder a atualização da versão do TOTVS | SmartClient."
Possíveis causas
  • O diretório especificado para a atualização, na configuração do TOTVS | Application Server, não contém o executável do TOTVS | SmartClient. Verifique no servidor, se o arquivo executável do remote encontra-se na pasta de atualização.
  • O arquivo executável do TOTVS | SmartClient está com um atributo de “somente-leitura” ligado. Retire o atributo de “somente-leitura” do arquivo.
  • O usuário logado na estação remota não tem direito de escrita no diretório de trabalho do TOTVS | SmartClient. Verifique os direitos do usuário logado na estação remota.

Ocorrência
"Não foi possível atualizar um arquivo do TOTVS | SmartClient"
"Arquivo [xxxxxxxxxxx]"
"-Verifique os atributos do arquivo, e se este arquivo está em uso por outro aplicativo."
"-Notifique o Administrador do sistema para proceder atualização da versão do TOTVS | SmartClient."
Possíveis causas
  • O arquivo informado na mensagem está com um atributo de “somente-leitura” ligado. Retire o atributo de “somente-leitura” do arquivo.
  • O arquivo informado na mensagem pode estar em uso por outra aplicação da estação. Verifique se não existe outra aplicação que esteja realizando algum acesso a este arquivo. Feche os demais aplicativos da estação para certificar-se disso.
  • O usuário logado na estação remota não tem direito de escrita no diretório de trabalho do TOTVS | SmartClient. Verifique os direitos do usuário logado na estação remota.

Ocorrência
"Não foi possível atualizar o atributo de execução do TOTVS | SmartClient"
Observação: Ocorrência reproduzida apenas na atualização remota de estações Linux.
Possíveis causasVerifique se o usuário, atualmente logada na estação remota, possui direitos para alteração do atributo do executável do TOTVS | SmartClient.

Ocorrência"Não foi possível identificar os arquivos no diretório do TOTVS | SmartClient"
Possíveis causas
  • Verificar se o usuário, atualmente logado na estação remota, possui direitos de leitura no diretório de trabalho do TOTVS | SmartClient.
  • Verificar a localização física dos arquivos do TOTVS | SmartClient na estação remota, e de que maneira a aplicação TOTVS | SmartClient está sendo executada; caso esteja sendo executado a partir de um 'atalho', verificar se o diretório de trabalho do atalho é o mesmo em que se encontra o executável do TOTVS | SmartClient.

Proteção contra libs distintas aplicadas no mesmo ambiente


Skip to end of metadata


Implementação:
Proteção contra libs distintas aplicadas no mesmo ambiente e alteração das tabelas XX4, XXD, XXV, XB0, SXH e SXI para o banco de dados.
A partir da lib. label 10102016 (versão 11 e versão 12) as tabelas XX4 (Cadastro de Adapters), XXD (De-para de Empresas do EAI), XXV (Tags do EAI), XB0 (Rotas X Adapters), SXH (Eventos EventViewer) e SXI (Inscrições EventViewer), para bases de dados TOPCONN, serão importadas para o banco de dados, deixando de existir como tabelas locais.
Um mesmo ambiente Protheus não pode possuir rpos com libs de label diferentes sendo usadas ao mesmo tempo. A partir deste label, caso seja verificada a incompatibilidade de estruturas destas tabelas o sistema é abortado, informando que existem libs diferentes no sistema.
Caso seja verificado que uma destas tabelas existe tanto no banco de dados como localmente o sistema é abortado para evitar inconsistências.
O sistema também irá abortar no seguinte cenário: Aplicação de um label que altere a estrutura destas tabelas e logo após, o retorno de um label anterior. Quando da aplicação de um label mais novo, que contenha o tratamento de verificação de estruturas, o sistema também será abortado.
Ações a serem tomadas caso o sistema seja abortado:
  • O administrador deverá verificar quais registros deseja manter: se os registros do banco de dados ou os registros locais;
  • Se a opção é utilizar um label antigo, a tabela deverá ser excluída do banco de dados;
  • Se a opção é utilizar o novo label, a tabela deverá ser removida da pasta system.
Importação das tabelas para o banco de dados
As tabelas são importadas por demanda, e as tabelas locais são renomeadas, junto com seus índices para “TABELA_aaaammddhmmss_bkp”, onde aaaa é o ano com dois dígitos, mm o mês com dois dígitos, dd o dia com dois dígitos, hh a hora com dois dígitos, mm os minutos com dois dígitos e ss os segundos com dois dígitos do momento da importação da tabela.
Como verificar que existem libs diferentes no mesmo ambiente:
  • É possível verificar, através do atalho Shift+F6, dentro do sistema, a versão de Lib Protheus em uso atualmente;
  • Em caso de tentativa de uso de algum repositório com versão de Lib diferente, a mensagem a seguir é apresentada (o exemplo a seguir leva em conta que foi encontrada inconsistência na tabela SXH).
    Tabela SXH no banco de dados e no StartPath.
    Erro ocasionado pela existência de Rpos com versões de libs diferentes ou tentativa de atualização 'a quente' do repositório.
    Verifique a tabela local, o backup (tabela+xxxxxxxxxxxxxx+BKP). Não será possível acessar o sistema com a tabela no banco e no StartPath.
    Contate o administrador do sistema para que o ambiente seja reestabelecido.

Fonte envolvido:
FWDAEAI.PRW com data superior a 06/10/2016

segunda-feira, 6 de fevereiro de 2017

AxCadastro - Tela padrão da mBrowse (criar tela)

Ir para o início dos metadados



Abrangências:Todas versões
Versões:Todas
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)

Descrição:
Função utilizada para montar a tela padrão da mbrowse (modelo 1).

Programa Fonte:
MATXATU.PRX

Sintaxe:
AxCadastro - Tela padrão da mBrowse ( [ cAlias ] [ cTitle ] [ cDel ] [ cOk ] [ aRotAdic ] [ bPre ] [ bOK ] [ bTTS ] [ bNoTTS ] [ aAuto ] [ nOpcAuto ] [ aButtons ] [ aACS ] [ cTela ] )

Retorno:
    ()


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Exemplos
User Function TesteCad()   
 Local aRotAdic :={} 
 Local bPre := {||MsgAlert('Chamada antes da função')}
 Local bOK  := {||MsgAlert('Chamada ao clicar em OK'), .T.}
 Local bTTS  := {||MsgAlert('Chamada durante transacao')}
 Local bNoTTS  := {||MsgAlert('Chamada após transacao')}    
 Local aButtons := {}//adiciona botões na tela de inclusão, alteração, visualização e exclusao
 aadd(aButtons,{ "PRODUTO", {|| MsgAlert("Teste")}, "Teste""Botão Teste" }  ) //adiciona chamada no aRotina
 aadd(aRotAdic,{ "Adicional","U_Adic", 0 , 6 })
 AxCadastro("SA1""Clientes""U_DelOk()""U_COK()", aRotAdic, bPre, bOK, bTTS, bNoTTS, , , aButtons, , )  
Return(.T.)                        
User Function DelOk()  
 MsgAlert("Chamada antes do delete"
Return 
User Function COK()    
MsgAlert("Clicou botao OK"
Return .t.      
User Function Adic()   
MsgAlert("Rotina adicional"
Return
 

Parâmetros:

 Nome  Tipo  Descrição  Default  Obrigatório  Referência 
 cAlias  Caracter  Alias da Tabela cadastrada no dicionário (SX2) que será baseada a mBrowse.          
 cTitle  Array of Record  Título da janela.          
 cDel  Array of Record  Função a ser executada ao deletar o registro.          
 cOk  Array of Record  Função a ser executada ao clicar no botão OK para gravar o registro(inclusão e alteração).          
 aRotAdic  Array of Record  Array contendo as rotinas adicionais para ser acrescentado ao array aRotina.          
 bPre  Array of Record  Codeblock a ser executado antes da abertura do diálogo de inclusão, alteração ou exclusão.          
 bOK  Array of Record  Codeblock a ser executado ao clicar no botão OK do diálogo de inclusão, alteração ou exclusão.          
 bTTS  Array of Record  Codeblock a ser executado durante a transação de inclusão, alteração ou exclusão.          
 bNoTTS  Array of Record  Codeblock a ser executado após a transação de inclusão, alteração ou exclusão.          
 aAuto  Array of Record  Array com os campos a serem considerados pela rotina automática.          
 nOpcAuto  Array of Record  Numero da opção selecionada (Inclusão, Alteração, Exclusão, Visualização) para a rotina automática.          
 aButtons  Array of Record  Array contendo os botões da EnchoiceBar com a seguinte estrutura: aButtons[1][1] – Nome do arquivo da imagem do botão.aButtons[1][2] – Bloco de execução.aButtons[1][3] – Mensagem de exibição no ToolTip.aButtons[1][4] – Nome do botão.          
 aACS  Array of Record  
Array que substituí o controle de acessos das funções básicas do aRotina (Pesquisar, Visualizar, Incluir, Alterar, Excluir).
Ex: aACS := { , , , ,3  }
No exemplo acima a opção de excluir irá respeitar o 3º acesso da lista de acessos do usuário conforme link abaixo:
          
 cTela  Array of Record  Nome da variável tipo "private" que a enchoice utilizará no lugar da variável aTela.