powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Page or Application Process
19 сообщений из 19, страница 1 из 1
Page or Application Process
    #37824614
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно ли получить значение айди или название процесса через какую-то специальную переменную или функцию из APEX по типу :APP_ID?
...
Рейтинг: 0 / 0
Page or Application Process
    #37824716
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazeBio,

возникает естественный вопрос: зачем? И ещё один: где получить?
...
Рейтинг: 0 / 0
Page or Application Process
    #37824770
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLerBlazeBio,

возникает естественный вопрос: зачем? И ещё один: где получить?
Для того, чтобы узнать, какие процессы были активированы или запущены пользователем при работе с приложением в APEX. Что-то вроде лога в таблицу.
...
Рейтинг: 0 / 0
Page or Application Process
    #37824898
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazeBioДля того, чтобы узнать, какие процессы были активированы или запущены пользователем при работе с приложением в APEX. Что-то вроде лога в таблицу.

Если это нужно для отладки (debug), то её и следует использовать.

Если хочется собирать статистику по выполнению без использования отладки, то придётся вставлять в Source процессов вызов собственного логгера, работающего в автономной транзакции. Либо обращаться к сторонним решениям. Например .

Добраться до ID / имени процесса не получится, потому что они, как и прочая информация о процессах, при обработке страницы хранятся в коллекциях WWV_FLOW.G_PROCESS%. А индекс текущего процесса -- не глобальная переменная.
...
Рейтинг: 0 / 0
Page or Application Process
    #37825301
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLerBlazeBioДля того, чтобы узнать, какие процессы были активированы или запущены пользователем при работе с приложением в APEX. Что-то вроде лога в таблицу.

Если это нужно для отладки (debug), то её и следует использовать.

Если хочется собирать статистику по выполнению без использования отладки, то придётся вставлять в Source процессов вызов собственного логгера, работающего в автономной транзакции. Либо обращаться к сторонним решениям. Например .

Добраться до ID / имени процесса не получится, потому что они, как и прочая информация о процессах, при обработке страницы хранятся в коллекциях WWV_FLOW.G_PROCESS%. А индекс текущего процесса -- не глобальная переменная.
Спасибо за развёрнутый ответ. Приму к сведению
...
Рейтинг: 0 / 0
Page or Application Process
    #37825633
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,
скажите как обратиться к WWW_FLOW.G_PROCESS%?
Пробывал такое
Код: plsql
1.
select * from apex_collections where collection_name like '%WWW_FLOW%';



В итоге пусто. Или я чего не понимаю?
...
Рейтинг: 0 / 0
Page or Application Process
    #37825676
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazeBio,

Речь шла о пакетных переменных в apex_application.*
Встроенный debug не подойдет?

в 4.1 есть такая штука APEX_DEBUG_MESSAGE.ENABLE_DEBUG_MESSAGES, которую можно использовать в pl/sql (например, в app processes, включая на нужные запросы), потом брать из вьюшки APEX_DEBUG_MESSAGES
...
Рейтинг: 0 / 0
Page or Application Process
    #37825926
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

У нас версия Application Express 4.0.1.00.03. И во вью APEX_DEBUG_MESSAGES нет процесса(PROCESS) , то чего мне надо.
...
Рейтинг: 0 / 0
Page or Application Process
    #37825981
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazeBioИ во вью APEX_DEBUG_MESSAGES нет процесса(PROCESS)
Привожу debug из 4.1

Elapsed Execution Message Level 0.21900 0.00000 ...http header processing 4 0.21900 0.00000 Processes - point: BEFORE_HEADER 4 0.21900 0.00000 ...Process "PROCESS NAME 1" - Type: PLSQL 4 0.21900 0.00000 ...Process "PROCESS NAME 2" - Type: PLSQL 4
...
Рейтинг: 0 / 0
Page or Application Process
    #37826363
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Я так понял, что нужно запускать так. Тестовый пример из доки.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
DECLARE
    l_value varchar2(100) := 'test value';
BEGIN
    APEX_040000.APEX_DEBUG_MESSAGE.ENABLE_DEBUG_MESSAGES(p_level => 3);
 
 APEX_040000.APEX_DEBUG_MESSAGE.LOG_MESSAGE(p_message => 'test value'|| l_value,
    p_level => 1 );
 
END;



Выдаётся ошибка
Код: plsql
1.
2.
3.
ORA-01400: cannot insert NULL into ("APEX_040000"."WWV_FLOW_DEBUG_MESSAGES2"."SECURITY_GROUP_ID")
ORA-06512: at "APEX_040000.WWV_FLOW_DEBUG_MESSAGE", line 178
ORA-06512: at line 6
...
Рейтинг: 0 / 0
Page or Application Process
    #37826403
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazeBio,

Откуда вызываете? Нужно вызывать из контекста сессии апекса, где-нибудь внутри приложения.
Если из внешней к апексу сессии, смысла большого не вижу, но можно попробовать установить SET_SECURITY_GROUP_ID и т.д., но мороки много будет.
...
Рейтинг: 0 / 0
Page or Application Process
    #37827048
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevBlazeBio,

Откуда вызываете? Нужно вызывать из контекста сессии апекса, где-нибудь внутри приложения.
Если из внешней к апексу сессии, смысла большого не вижу, но можно попробовать установить SET_SECURITY_GROUP_ID и т.д., но мороки много будет.

Запустил внутри приложения APEX. Работает. Данные записываются в лог. Только допустим при нажатии на кнопку записывается название кнопки, а сам процесс, вызванный кнопкой не записывается. У меня стоит 7-й уровень - APEX_040000.APEX_DEBUG_MESSAGE.ENABLE_DEBUG_MESSAGES(p_level => 7). Всё-таки название процесса в логе не проскакивает подобного, как у вас в примере, ...Process "PROCESS NAME 1" - Type: PLSQL.
...
Рейтинг: 0 / 0
Page or Application Process
    #37827253
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В APEX_DEBUG_MESSAGES.MESSAGE попадает ...Unconditional branch taken вместо выполняемого процесса
...
Рейтинг: 0 / 0
Page or Application Process
    #37827544
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazeBioДля того, чтобы узнать, какие процессы были активированы или запущены пользователем при работе с приложением в APEX. Что-то вроде лога в таблицу.
Вы так и не ответили на вопрос, для чего у вас будут использоваться эти логи?
- Найти и отладить ошибки?
- Найти узкое место в приложении, которое тормозит систему?
- Отследить исполнение бизнес процессов, которое реализует ваше приложение? Oo
- Сомневаетесь в безопасности приложения и хотите иметь возможность оследить несанкционированное/ошибочное обращение к процессам?

BlazeBioВсё-таки название процесса в логе не проскакивает подобного, как у вас в примере, ...Process "PROCESS NAME 1" - Type: PLSQL.
...и приводил debug из 4.1. Имени может у вас и нет (различия в конкретных версиях не помню, в старых в debug попадает меньше информации), тем не менее, там должна быть строчка, которая показывает время выполнения для выполненных процессов. (про различия page rendering и page processing я надеюсь, рассказывать не надо)
...
Рейтинг: 0 / 0
Page or Application Process
    #37827763
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Для выявления кривых действий пользователей в приложение АПЕКС. Мы тратим очень много времени на поиск косяков пользователей, потому что нет никакого лога по тем же изменениям в АПЕКС. В приложении присутствует приличное количество процессов на основе, как правило, PL/SQL, многие пересчитывают данные в БД, которые используются в последующих репортах и процедурах и влияют критическим образом на работу всего приложения.
...
Рейтинг: 0 / 0
Page or Application Process
    #37827848
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazeBio, я так думаю:

Если хотите найти причину, которая позволила выполнить кривые действия (ошибки приложения) используйте debug, что-то другое использовать не вижу смысла.

BlazeBioВ приложении присутствует приличное количество процессов на основе, как правило, PL/SQL, многие пересчитывают данные в БД, которые используются в последующих репортах и процедурах и влияют критическим образом на работу всего приложения.
Пользователи выполняют эти действия в рамках каких-то бизнес-процессов.
Эти действия, зачастую, не соотносятся с именами процессов приложения, которые часто играют лишь вспомогательную роль,
поэтому логи исполнения бизнес процессов нужно программировать руками (автономные транзакции и т.д., как указал suPPLer).

P.S. я конечно понимаю, что хочется даром, без усилий, но запрашиваемой возможности у апекса нет, и такой подход для такой задачи не совсем правильный, я считаю.
...
Рейтинг: 0 / 0
Page or Application Process
    #37827888
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazeBioДля выявления кривых действий пользователей в приложение АПЕКС. Мы тратим очень много времени на поиск косяков пользователей, потому что нет никакого лога по тем же изменениям в АПЕКС.
У меня в приложении около сотни APPLICATION PROCESS. В каждом процессе содержится такой фрагмент кода
Код: plsql
1.
2.
3.
4.
5.
6.
7.
EXCEPTION
   WHEN OTHERS
   THEN
      apex_ra.get_error (:APP_USER,
                         SQLERRM,
                         SQLCODE,
                         'AP0_ADD_TERRIT');


Процедура get_error генерирует письмо разработчику с указанием пользователя, ошибки, названия завалившегося APPLICATION PROCESS, времени.
...
Рейтинг: 0 / 0
Page or Application Process
    #37827967
BlazeBio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
haXbatУ меня в приложении около сотни APPLICATION PROCESS. В каждом процессе содержится такой фрагмент кода
Код: plsql
1.
2.
3.
4.
5.
6.
7.
EXCEPTION
   WHEN OTHERS
   THEN
      apex_ra.get_error (:APP_USER,
                         SQLERRM,
                         SQLCODE,
                         'AP0_ADD_TERRIT');


Процедура get_error генерирует письмо разработчику с указанием пользователя, ошибки, названия завалившегося APPLICATION PROCESS, времени.

тут даже не сколько ошибки в работе, сколько изменение данных, когда пользователь не признаётся, или не помнит, что сделал. Вот такого рода скорее лазейки.
...
Рейтинг: 0 / 0
Page or Application Process
    #37827968
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat,

Я попроще, хочу отчетик в интерфейс добавить, типа

Код: plsql
1.
2.
3.
4.
select t.view_date, t.apex_user, t.application_name, t.page_name, t.page_id, t.error_message, t.error_on_component_type, t.error_on_component_name
from APEX_WORKSPACE_ACTIVITY_LOG t
where t.error_message is not null
order by t.view_date desc
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Page or Application Process
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]