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 e que torna possível a visualização dos programas dependentes no programa de permisões de acesso, 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.
Sintaxe
APPLICATION_setDependent( < l_appMain >, < l_appDependent >, < l_appDependentTitle > )
Parâmetros
Nome | Tipo | Obrigatório? | Descrição |
---|---|---|---|
l_appMain |
| Sim | Nome da aplicação principal pra qual será definida uma aplicação dependente. |
l_appDependent |
| Sim | Nome da aplicação dependente pra qual será definida uma aplicação dependente. |
l_appDependentTitle |
| Sim | Título da aplicação dependente. 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. |
Exemplo
#-----------------------------------------------# FUNCTION APPLICATION_setDependent_test() #-----------------------------------------------# CALL APPLICATION_setDependent("LOG05050","LOG02700","") # Neste caso é formulário metadado que possui título cadastrado via FRM1002 CALL APPLICATION_setDependent("LOG05050","LOG02710","") CALL APPLICATION_setDependent("LOG05050","LOG02720","") 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: application.4gl
Observações
Quando utilizar esta função?
Quando houver necessidade de visualizar a lista de programas acionados a partir de outro programa que é desenvolvido com uma interface para centralizar chamada de diversos programas, denominado como estilo COCKPIT, que possui um menu lateral com a lista de programas que o usuário pode acionar.
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.
Isso ocorre, pois geralmente, no caso de programas no estilo COCKPIT, apenas o programa principal tem seu atalho cadastrado no menu do produto e os demais programas acionados a partir dele 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.
Como aplicar o uso desta função?
É necessário desenvolver uma função no programa principal para identificar quais são os seus programas dependentes. Esta função precisa seguir um padrão de nomeclatura pré-definida da seguinte forma:
<PROGRAMA_PRINCIPAL>_get_app_dependents(), onde <PROGRAMA_PRINCIPAL> é o nome do programa centralizador, como por exemplo, CON10000_get_app_dependents().
Dentre as instruções contidas na função <PROGRAMA_PRINCIPAL>_get_app_dependents() deverá ser prevista uma ou mais chamadas da função APPLICATION_setDependent(), sendo uma chamada para cada programa que será definido como dependente. Veja um exemplo:
#--------------------------------------# 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