Páginas filhas
  • Registro de acesso a programas com Dados Protegidos

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Este registro acontece utilizando a função FWPDLogUser(cFunction,nOpc). Esta função utiliza como base as referências de programas inseridas pelo módulos ou os dados do dicionário de tabelas SX2 (campo X2_SYSOBJ ) para descobrir os programas e tabelas envolvidas.

Com este mecanismo o acesso a programas direto do menu dos módulos e o consumo de serviços rest FwModel são registrados por padrão e ficam disponíveis para consulta posteriormente no relatório de Log de Acesso de usuários (APCFGR40). Os casos que não forem registrados precisam que a pessoa desenvolvendo faça ajuste do programa e o log chamando a função FwPdLogUser.

Para criar os recursos fundamentais no sistema é necessário a aplicação da lib, atualizada com label mínimo 20200214, e atualização do sistema com upddistr.

A aplicação do UPDDISTR pode acontecer com:

    • pacote diferencial de upgrade para o Release 12.1.27;
    • pacote específico para Dados Protegidos, nos Releases 12.1.17, 12.1.23 e 12.1.25.
    Aviso

    Release 12.1.17 somente para clientes com garantia estendida

03. FAZENDO O REGISTRO

Para o registro de log em situações não cobertas pelo padrão é necessário deixar a chamada da função FwPdLogUser explicitamente no programa.
O primeiro parâmetro é o nome do programa sendo acessado e o segundo parâmetro é o tipo de operação sendo realizada 2-Visualizar, 3-Incluir, etc., a lista de tabelas e consequentemente os campos a serem avaliados, são conseguidos procurando pelo programa no mapeamento interno e depois no dicionário de tabelas.

...

A alternativa a mudança explícita na lista de mapeamento é utilizar o ponto de entrada. A função será invocada somente uma vez na inicialização do mapeamento.

O ponto de entrada não terá parâmetro disponível para leitura e deverá retornar a lista para mapeamentorecebe os mapeamentos já existentes e deve devolver os mesmos mais os mapeamentos adicionais. Exemplo:

Bloco de código
languagetext
linenumberstrue
user function pdusrlog(aList)
  local aList := {}
  
  aAdd(aList,'func1', '|SA1|SUS|SU5|')
  aAdd(aList,'func2', '|SA2|')
  aAdd(aList,'func2', '|SA2|')
  
return aList

...


05ASSUNTOS RELACIONADOS

...