Páginas filhas
  • APPLICATION_setDependent

Versões comparadas

Chave

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

Define uma aplicação dependente para uma outra aplicação.

As aplicações dependentes não são cadastradas no menu , para que não possam ser executadas diretamente, apenas pela aplicação principal.

Esta função é utilizada pelos nos programas que possuem aplicações dependentes ,através desta e que torna possível a utilização visualização dos programas dependentes no programa de permissão de permisões de acesso, mesmo não estando cadastrada sem a necessidade de registrá-los no menu.

Para mais informações de QUANDO E COMO USAR esta função acesse o tópico Observações.

...

Nome

Tipo

Obrigatório?

Descrição

l_appMain

CHAR

Sim

Nome da aplicação principal pra qual será definida uma aplicação dependente.

l_appDependent

CHAR

Sim

Nome da aplicação dependente pra qual será definida uma aplicação dependente.

l_appDependentTitle

CHAR

Sim

Título da aplicação dependente.

(informação) Se a aplicação dependente estiver no menu ou for um formulário metadado, pode ser informado nulo neste parâmetro, pois o título será recuperado automaticamente do cadastro do formulário metadado.

Retorno

...

Tipo

...

Descrição

...

INTEGER

...

Quantidade de conexões ativas no Logix para o usuário/programa considerando os parâmetros informados para filtro.

Exemplo

Bloco de código
languagebash
linenumberstrue
#-----------------------------------------------#
 FUNCTION APPLICATION_setDependent_test()
#-----------------------------------------------#
   DEFINE l_count SMALLINT
   
   #Quantidade de sessões/programas/menu em execução pelo usuário 'admlog' no LogixCALL APPLICATION_setDependent("LOG05050","LOG02700","") # Neste caso é formulário metadado que possui título cadastrado via FRM1002
   LET l_count =CALL LOG_getCount_dados_sessao_logix('admlog',NULL,NULL) 
APPLICATION_setDependent("LOG05050","LOG02710","")
     CALL conout("O usuário admlog possui "||l_count||" sessões ativas no Logix")
APPLICATION_setDependent("LOG05050","LOG02720","")
   #Quantidade de sessões/programas/menu em execução pelo usuário 'admlog' relacionadas ao menu Logix (men1100)
   LET l_count = LOG_getCount_dados_sessao_logix('admlog','men1100',NULL) 
   CALL conout("O usuário admlog possui "||l_count||" sessões ativas no MENU Logix")
   
   #Quantidade de sessões/programas/menu em execução por qualquer usuário do produto Logix
   LET l_count = LOG_getCount_dados_sessao_logix(NULL,NULL,NULL) 
   CALL conout("Existem "||l_count||" sessões ativas de usuários no produto Logix")
CALL APPLICATION_setDependent("LOG05050","LOG00077","")

     CALL APPLICATION_setDependent("LOG05050","LOG5500","Permissão Acesso") # Neste caso é informado um título no 3o parâmetro pois é um formulário desenvolvido em FREEFORM que não possui título definido.
     CALL APPLICATION_setDependent("LOG05050","LOG5510","Permissão Acesso (Consulta Relacional)")

     CALL APPLICATION_setDependent("LOG05050","LOG00081","")
     CALL APPLICATION_setDependent("LOG05050","LOG00082","")
 END FUNCTION

Informações

Fontes: log0010 application.4gl

Observações 
Âncora
obs
obs

...

Esta visualização geralmente é interessante a partir do programa de Permissões de Acesso (Central de Usuários → Permissões de Acesso), para que seja possível aplicar permissões para o programa principal (estilo COCKPIT) e replicar estas permissões para os programas dependentes.

Iso ocoreIsso ocorre, pois geralmente, no caso de programas no estilo cockpit COCKPIT, apenas o programa principal tem seu atalho cadastrado no menu do produto e os demais programas acionados a partir dele seriam são considerados como os "Programas Dependentes" e não precisam ser registrados no menu quando o programa principal tem definida a lista completa de programas dependentes, que muitas vezes não podem ser executados individualmente.

...

Bloco de código
languageruby
themeConfluence
linenumberstrue
#--------------------------------------#
 FUNCTION log05050_get_app_dependents()
#--------------------------------------#
     #Neste caso o 3o parâmetro foi informado EM BRANCO pois se tratam de formulários cadastrados no metadado e o título dos programas é recuperado automaticamente do cadastro metadado
     CALL APPLICATION_setDependent("LOG05050","LOG02700","")
     CALL APPLICATION_setDependent("LOG05050","LOG02710","")
     CALL APPLICATION_setDependent("LOG05050","LOG02720","")
     CALL APPLICATION_setDependent("LOG05050","LOG00077","")

     #Neste caso o 3o parâmetro foi informado com o título do programa LOG5500, pois ele não se trata de um formulário metadado e sim um programa desenvolvido no estilo FREEFORM (Desenvolvimento livre utilizando os mesmos componentes do metadado)
     CALL APPLICATION_setDependent("LOG05050","LOG5500","Permissão Acesso")
     CALL APPLICATION_setDependent("LOG05050","LOG5510","Permissão Acesso (Consulta Relacional)")

     CALL APPLICATION_setDependent("LOG05050","LOG00081","")
     CALL APPLICATION_setDependent("LOG05050","LOG00082","")
 END FUNCTION

Aviso
iconfalse

IMPORTANTE:  

  • Por padrão de desenvolvimento, esta função deve ser chamada SEMPRE na função <PROGRAMA_PRINCIPAL>_get_app_dependents() do programa principal, para que o sistema, a partir de funções Framework, consiga identificar automaticamente a lista de programas dependentes de outro programa e aplicar algumas regras de segurança.
  • Quando um programa possuir dependentes, estes dependentes devem também sempre prever a chamada da função LOG_initApp() no início da aplicação para que respeite as regras das permissões de acesso.