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


05. ASSUNTOS RELACIONADOS


Templatedocumentos


HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>