Установка APP_USER в качестве значения для передачи на целевую страницу в APEX - PullRequest
0 голосов
/ 16 ноября 2011

Я делаю систему управления студентами на вершине.Суть в том, что здесь могут зайти лекторы и студенты.Лекторы создают задания, назначают их, отмечают их, посещают, записывают проблемы ... все это, и студенты входят в систему, чтобы просмотреть их посещаемость и результаты.

Теперь, когда студент нажимает «Мои результаты»"ссылка, по которой он переходит на ту же страницу, которую видит лектор, хотя список выбора, где студент выбирается для просмотра результатов, скрыт.В списке выбора отображается имя студента и возвращается идентификатор этого студента, который также является именем пользователя для входа в систему студента.

Поэтому я хочу передать значение app-user, когдаСтудент нажимает на ссылку, чтобы отображались только его результаты.

Я пытался установить

these items
:P10_SELECT_STUDENT
with these values
#APP_USER#

, которая работает, но сообщение «данные не найдены» не отображается.

Просто для тестирования я установил этот список выбора, который будет отображаться для студента, и при загрузке страницы он загружается со значением null в верхней части списка, которое составляет

display value
select a student
return value
-1

Я пошел и вручную установил значение, переданное в качестве идентификатора тестового студента.работает, данные загружаются для этого студента !!

Так кто-нибудь знает, почему значение # APP_USSER #, которое я отправляю, не устанавливается в списке

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 16 ноября 2011

Что вам нужно, так это состояние сеанса переменной APP_USER.В запросе вы бы указали это с помощью :APP_USER.Когда вам нужно передать значение в качестве параметра, например, для ссылки, вы должны использовать нотацию подстановки &APP_USER. Почти так же, как вы бы ссылались на любую другую переменную / элемент страницы.

Например, настройка кнопки: button setup with app_user

Хорошая страница для чтения на строках подстановки: Основные понятия Application Builder

ХешНотация -sign обычно используется для подстановки не-plsql-переменных, например, значения столбца в отчете при передаче по ссылке

0 голосов
/ 03 декабря 2011

Зак,

Если пользователи не аутентифицировались, тогда параметр: APP_USER имеет значение null. Если пользователь прошел проверку подлинности с помощью единого входа, учетных данных БД или чего-либо еще, что у вас есть в приложении, то появится: APP_USER.

Вот что я понял: На странице 12 P12_STUDENTS - это список выбора, и вы хотите, чтобы он отражал текущего ученика, если он входит, или полный список, если он учитель, верно?

Вам не нужно передавать: APP_USER по ссылке, ветке или как угодно. Он существует как глобальная переменная Apex и отображается на странице 12 через: APP_USER, но, опять же, его ноль, если пользователь не аутентифицирован.

Ваш источник списка выбора должен выглядеть так:

 select display d,  return r
  from table
  where (:APP_USER is NULL
        OR (:APP_USER IS NOT NULL AND :APP_USER = student))

скажите, поможет ли это?

С уважением,

Alex

...