2013-02-25 10 views
5

Napisałem niestandardową funkcję pl sql dla autoryzacji. Wiem, że moja funkcja jest wywoływana przez hak autoryzacji Apex. Ale muszę debugować, co się dzieje w mojej funkcji authz.wwv_flow.debug() vs apex_debug.message()

Z powodzeniem użyłem wcześniej wwv_flow.debug() w debugowaniu wywołań ajaxów, które robiłem dla przechowywanych proc. Mogłem zobaczyć moje wiadomości w oknie debugowania wierzchołka.

Ale podczas debugowania funkcji autoryzacji nie widzę komunikatów debugowania. Staram się używać zarówno wwv_flow.debug() i() apex_debug.message

To prowadzi mnie do 2 pytania:

  1. Jaka jest różnica między wwv_flow.debug() i apex_debug.message ()? Kiedy należy użyć każdego z nich?

  2. Jakieś pomysły na to, dlaczego moje komunikaty debugowania nie pojawiają się podczas połączenia z funkcją autoryzacji?

Dzięki.

AKTUALIZACJA: okazuje się, że moje wiadomości nie były wyświetlane, ponieważ autoryzacja była buforowana i mój kod pl/sql nie był wywoływany, więc rozwiązałem pytanie nr 2. I widzę oba moje wwv_flow.debug() i apex_debug.messages(). Pytanie nr 1 wciąż jednak jest aktualne.

Odpowiedz

5

wwv_flow.debug to starsza wersja, nadal obsługiwana z myślą o zgodności wstecznej.

apex_debug.message jest bardziej nowoczesną wersją i obsługuje łańcuchy zastępcze, np.

apex_debug.message('the value of %s + %s equals %s', 3, 5, 'eight'); 

Ten przykład jest z APEX 4.2 docs

+0

dziękuje Czyści, że w górę. To nie było tak jasne z dokumentów. Widziałem, że apex_debug zastąpił apex_debug_message, więc tyle wiedziałem. :-) – lostdorje