Do realizacji zadania zastosujemy funkcję JavaScript "apex.server.process", oferowaną przez
Oracle APEX API Reference.
apex.server.process - pokrótce wywołuje "on-demand process PL/SQL", który może być zdefiniowanym
procesem aplikacyjnym lub procesem na wybranej stronie.
Przykład - zapisywanie wartości P100_ITEM_1 do sesji
apex.server.process ( "dummy", {
pageItems: "#P100_ITEM_1"
}
);
Co potrzebujemy ?1. Item
2. Proces aplikacyjny
3. Wyzwalacz powyższego kodu (np: przycisk)
#P100_ITEM_1 - nazwa "submitowanego" Item do sesji.
dummy - nazwa procesu aplikacyjnego "on-demand".
W tym wypadku chcemy tylko zapisać Item do sesji.
Z racji tego, iż funkcja wymaga podania parametru to
tworzymy atrapę procesu wpisując w źródle null;
To wszystko, wystarczy podpiąć powyższy kod do wybranej funkcjonalności (przycisk, Dynamiczna akcja, skrypt JS itp.)
W momencie wywoływania powyższej funkcji, wartość P100_ITEM_1 zostanie zapisana do sesji.
Rezultaty możemy podglądać z paska developerskiego kilkając w "Session", a następnie wybierając z listy "Session State".
Oczywiście apex.server.process oferuje większy zakres funkcjonalności niż pokazano w
powyższym przykładzie m.in. przekazywanie zmiennych do procesu, success, refreshObject, clear ... (po więcej funkcjonalności odsyłam do API)
W następnym wpisie pokażę, w jaki sposób przekazywać zmienne do procesu aplikacyjnego.
Jeden wpis w miesiącu to trochę mało. Wieje nudą i marazmem.
OdpowiedzUsuńMasz rację. Ale niestety ostatnio mamy bardzo dużo pracy.
OdpowiedzUsuńMyślę, że po październiku powinno być lepiej.
pozdrawiam
piotr