piątek, 10 stycznia 2014

Jak przygotować link w Oracle APEX (cz. 1)

Linki w APEX-ie mają swoją specyfikę na którą składają się stałe elementy typu nazwa hosta, nr portu, kontekstu apex oraz jednej "strony" f z jednym parametrem p. Parametr p może przyjmować następujące wartości: nazwa/numer aplikacji, nazwa/numer strony, numer sesji, requesty, nazwy zmiennych i ich wartości... itp.


W zależności od potrzeb możemy dynamicznie generować prawidłowe adresy url do naszej aplikacji APEX.
Chcąc stworzyć link do naszej aplikacji, który chcielibyśmy udostępniać na zewnątrz, np poprzez mail możemy posłużyć się odpowiednim wzorem:
--Niniejszy kod zadziała tylko uruchomiony z aplikacji APEX !

DECLARE
V_URL varchar2(4000);
BEGIN
V_URL := apex_util.host_url('SCRIPT') || 'f?p=' || v('APP_ALIAS') || ':HOME:0';
END;       

W wyniku wykonania tego procesu zmienna V_URL przyjmie przykładowo następującą wartość:
http://forumapex.dbe.pl/apex/f?p=FORUM:HOME:0

Na co warto zwrócić uwagę:
  • apex_util.host_url('SCRIPT') - zwraca adres serwera na którym uruchomiliśmy proces. Taki zapis zabezpiecza nas przed wszelkimi zmianami nazwy hosta/domeny/portu itp.
  • v('APP_ALIAS') - przybiera wartość aliasu aplikacji w której generujemy link. Oczywiści nic nie stoi na przeszkodzie aby użyć zmiennej V('APP_ID'), która to zwróci numer aplikacji.
  • Końcowe 0 (zero) - jest to numer sesji. Dzięki temu jeżeli link odnosi się do strony publicznej to adres po przekierowaniu na stronę nie będzie zawierał numeru sesji wygenerowanego przez APEX-a. Po prostu będzie bardziej przyjaźnie : ).



Brak komentarzy:

Prześlij komentarz