Olá pessoal,
sabia que o valor de um item do aplicativo pode ser compartilhado entre aplicações do mesmo espaço de trabalho?
Para demonstrar isso, iremos criar duas aplicações em que cada uma delas conterá 2 itens: um com escopo global e outro de aplicativo.
Veremos que o item com escopo de aplicativo só é válido em uma sessão de um único aplicativo e o item com escopo global pode ser compartilhado com outra aplicação desde que compartilhe a mesma sessão.
Detalhe: o compartilhamento de sessão só é permitido entre aplicações do mesmo espaço de trabalho!
Iremos criar um processo para incrementar o valor dos itens e apresentar os valores na tela para ver a diferença.
(Caso queira apenas ver o resultado final, acesse os Passos 8, 12, 13, 14)
Para isso vamos fazer o seguinte:
Criação da aplicação 1
Passo 1 - Acesse "App Builder" > "Criar" > "Novo Aplicativo", defina o Nome para "Aplicação 1" e pressione "Criar Aplicativo".
Passo 2 - Acesse "Componentes compartilhados" > "Itens do Aplicativo" > "Criar", defina o Nome como "G_GLOBAL", o Escopo para "Global" e pressione "Criar Item do Aplicativo".
Após isso, vamos criar um item de aplicativo com escopo de aplicativoPasso 3 - Acesse "Componentes compartilhados" > "Itens do Aplicativo" > "Criar", defina o Nome como "G_APLICATIVO", o Escopo para "Aplicativo" e pressione "Criar Item do Aplicativo".
Para poder compartilhar um item global é necessário habilitar o compartilhamento de sessão.
Passo 4 - Acesse "Componentes compartilhados" > "Esquemas de Autenticação" > Selecione o esquema de autenticação atual > Em Compartilhamento de Sessão escolha o Tipo: "Compartilhamento de Espaço de Trabalho" e clique em "Aplicar Alterações".
Agora vamos criar uma região para exibir o valor dos itens.
Passo 5 - Acesse a página 1 no Designer de Página, clique com o botão direito do mouse em Content Body, escolha "Criar Região", defina como Texto de Origem da região com o código abaixo. (IMPORTANTE: Substitua XYZ pelo id da aplicação que será criada nos próximos passos.<a href="f?p=XYZ::&APP_SESSION.">Acessar outra aplicação na mesma sessão</a>
<p><p>Global: &G_GLOBAL.
<p>Aplicativo:&G_APLICATIVO.
Agora vamos criar um botão para manipular o valor dos itens.
Passo 6 - Crie um botão na nova região e coloque como Nome do Botão: "INCREMENTAR".
Vamos agora definir o processo que será executado ao clicar no botão.
Passo 7 - Na aba Processamento, crie um Processo chamado "Incrementa itens" e defina para executar o código abaixo:
:G_GLOBAL := NVL(:G_GLOBAL,0) + 1;
:G_APLICATIVO := NVL(:G_APLICATIVO,0) + 1;
Passo 12 - Volte para a Aplicação 1 e clique no link para ir para a Aplicação 2 e repare que o item global já está com o valor 5, ou seja, o item foi compartilhado entre as aplicações na mesma sessão. Entretanto, o item de aplicativo não foi inicializado ainda.
Passo 14 - Clique no link para voltar para a Aplicação 1 e veja que o valor do item global também estará 15 e o valor do item com escopo de aplicativo permaneceu com o valor 5.
Espero que tenha gostado.
Até a próxima!