Data

4 mai, 2015

As principais variáveis do Oracle APEX

Publicidade

Oi, pessoal! Tudo certo?

Há algum tempo atrás em outro artigo escrevi como funciona o acesso aos itens. Hoje vou falar um pouco mais sobre as principais variáveis do Oracle APEX e como podemos utilizá-las.

Vamos relembrar como funcionam os acessos aos Itens e Variáveis no Oracle APEX.

Temos basicamente cinco formas de acessar as variáveis:

Funções V / NV

São funções nativas do Oracle APEX que estão compiladas no banco de dados. A função V permite retornar em caractere o conteúdo de qualquer variável do ambiente. Já a função NV é exclusiva para retornar variáveis com valores numéricos. Geralmente a função V é a mais utilizada.

Como devo utilizar?

É representada por V nome da variável / item que deseja acessar.

Exemplo:

  • v(‘P10_TABLE_AUDITORIA’)– Retorna o item P10_TABLE_AUDITORIA da página 10.
  • v(‘APP_ALIAS’)– Retorna o alias da aplicação.

Onde utilizo essa função?

Você pode utilizar essa função em qualquer lugar que um código SQL ou PL/SQL é executado (Queries de relatórios, processos de validações etc) e isso inclui objetos compilados no banco de dados (Triggers, Procedures, Funções etc).

Exemplo:

CREATE OR REPLACE TRIGGER "LOG_CMMI_ESTIMATIVA"
  BEFORE INSERT OR UPDATE ON "CMMI_ESTIMATIVA" 
  FOR EACH ROW 
BEGIN 
    IF(INSERTING)THEN
             :NEW.DATA_INCLUSAO := SYSDATE;
             :NEW.USUARIO_INCLUSAO := NVL(V('APP_USER'),USER);
    ELSIF(UPDATING)THEN
             :NEW.DATA_ALTERACAO := SYSDATE;
             :NEW.USUARIO_ALTERACAO := NVL(V('APP_USER'),USER);
    END IF;
END LOG_CMMI_ESTIMATIVA;

Por exemplo em uma trigger do banco de dados.

Variáveis de substituição

São as variáveis que são substituídas pelo seu conteúdo antes de executar o código.

Como devo utilizar?

É representada pelo & nome da variável / item que deseja acessar e . ao final da variável.

Exemplo

  • &P22_DT_EMISSAO. – Substitui a marcação da variável P22_DT_EMISSAO pelo conteúdo do item DT_EMISSAO da página 22.
  • &APP_SESSION. – Substitui a marcação da variável APP_SESSION pelo ID da sessão corrente do usuário.

Onde utilizo essas variáveis?

É possível utilizar essa variável em regiões HTML, URLs e em códigos PL/SQL e SQL.

Exemplo:

ll11

No caso acima é possível substituir o título de uma região HTML pelo conteúdo do item P1_DESCRICAO_PERFIL.

ll12

Veja como o Oracle APEX possui uma notação interna utilizando as variáveis de substituição na montagem das URLs de seus Branches.

Hash

São como variáveis de substituição, com a diferença que representa um conteúdo HTML.

Como devo utilizar?

É representada por # nome da coluna que deseja acessar e no final #.

Exemplo

  • #LABEL# – Retorna o label de um item em uma mensagem de validação quando está é associada à um item.
  • #HOME_LINK# – Retorna o endereço da página inicial da aplicação.

Onde utilizo essas variáveis?

As variáveis do tipo hash são comumente utilizadas na definição de templates ou um valor da coluna de um relatório na linha corrente.

Exemplo:

ll13

Utilizado para referenciar um os valores de uma grid no link de edição do registro.

ShortCuts

É um repositório de mensagem e conteúdo HTML que pode ser estático ou dinâmico.

Como devo utilizar?

Cadastre o conteúdo da variável em “Shared Components > ShortCuts”:

ll14

A variável é representada por “nome da variável / item que deseja acessar e ao final”.

Exemplo:

  • “DELETE_CONFIRM_MSG” – Retorna o a mensagem de confirmação de deleção de um registro.

Onde utilizo essas variáveis?

É possível utilizar essas variáveis em Regiões de Templates HTML, Labels de Itens, Valores defaults de Item, Ajuda de Itens e Header da Página.

Exemplo:

ll15

No exemplo acima a mensagem está sendo atribuída à variável do Javascript.

Bind Variables

As bind variables seguem os mesmos princípio das do banco de dados. Ou seja, são utilizadas como parâmetro automaticamente para a execução de um comando PL/SQL ou SQL.

Como devo utilizar?

É representada por : nome da variável / item que deseja acessar.

Exemplo

  • :P18_ID_PRODUTO – Retorna o item P18_ID_PRODUTO da página 18.
  • :APP_USER – Retorna o usuário logado na aplicação.

Onde utilizo essas variáveis?

É possível utilizar as bind variables em qualquer lugar do Oracle APEX que executa um comando PL/SQL ou SQL (Queries de Relatórios, Processos de Validações etc). Entretanto, não é possível utilizar em objetos compilados diretamente no banco de dados.

Exemplo:

ll16

No exemplo acima o uso da bind variable está sendo utilizada em uma lista de valores de um item do tipo POPLOV.

Principais Variáveis do Oracle APEX

Abaixo vou listar as principais variáveis do Oracle APEX e seus significados:

  • APP_SESSION – ID da Sessão atual.
  • APP_ID – ID da aplicação atual.
  • APP_PAGE_ID – ID da página atual.

Exemplo:

f?p=&APP_ID.:&APP_PAGE_ID.:&APP_SESSION.

  • APP_USER – Username do usuário que está executando a aplicação.
  • BROWSER_LANGUAGE – Idioma do browser do usuário.

Exemplo:

ll17

  • HOME_LINK – URL da página inicial da aplicação.
  • LOGIN_URL – URL da página de login da aplicação.
  • LOGOUT_URL – URL da página de logout da aplicação.

Exemplo:

ll18

  • APP_IMAGES – Caminho virtual do diretório de Imagens e Scripts do Oracle APEX.

Exemplo:

ll19

  • PRINTER_FRIENDLY – Demostra que a página será exibida em modo de impressão.
  • REQUEST – Variável que determina qual foi o Botão que foi clicado ao submeter uma página.

Exemplo:

ll20

  • MRU_COUNT – Quantidade de linhas alteradas em um formulário tabular.
  • MRI_COUNT – Quantidade de linhas inseridas em um formulário tabular.
  • SQLERRM – Mensagem Completa de erro do PL/SQL, com o código do erro.
  • SQLERRM_TEXT – Mensagem de Erro do PL/SQL, sem o código do erro.

Exemplo:

ll21

  • SYSDATE_YYYYMMDD – Data atual do servidor do banco de dados no formato YYYYMMDD.

Exemplo:

ll22

Quer saber mais sobre as variáveis do Oracle APEX? Acesse este link.

Conclusão

Neste artigo foi demostrado como utilizar as principais variáveis do Oracle APEX utilizando os principais métodos de acesso.

Até a próxima!

Para acessar a aplicação demo da nossa série de artigos utilize o seguinte link.

  • Usuário: DEMO
  • Senha: imasters