Nie musisz przekazywać wartości za pośrednictwem adresu URL. Możesz zmodyfikować schemat uwierzytelniania, aby ustawić te wartości, gdy użytkownik się loguje. Na przykład:
W wybranym schemacie uwierzytelniania ustaw Proces po uwierzytelnieniu do:
APEX_UTIL.SET_SESSION_STATE('CURRENT_NODE_ID', 0);
APEX_UTIL.SET_SESSION_STATE('P1_ID', 0);
Generalnie robię to w procedurze bazy danych i umieszczam wywołanie w schemacie uwierzytelniania - dlatego używam APEX_UTIL.SET_SESSION_STATE. Nie próbowałem tego, ale może to również zadziałać w tej dziedzinie:
:CURRENT_NODE_ID := 0;
:P1_ID := 0;
EDYTUJ
Aby zmodyfikować swój schemat uwierzytelniania (te instrukcje dotyczą Apex 4, ale powinny być takie same dla wcześniejszych wersji):
- Przejdź do Konstruktora aplikacji
- Otwórz aplikację, którą chcesz zmodyfikować
- Przejdź do Udostępnionych składników
- Wybierz Schematy uwierzytelniania
- Otwórz aktualny schemat uwierzytelniania
- Przewiń w dół do Przetwarzanie logowania
- Umieść swój kod w procesie po uwierzytelnieniu