将APP_USER设置为要传递到APEX中的目标页面的值

时间:2011-11-16 07:46:06

标签: parameter-passing oracle-apex

我正在制作一个关于顶点的学生管理系统。缺少它是讲师和学生可以登录的地方。讲师创建作业,分配作业,标记作业,参加考试,记录问题......所有这些,以及学生登录以查看他们的出勤率和结果。

现在,当学生点击“我的结果”链接时,它会导航到讲师看到的同一页面,但是隐藏了选择学生以查看结果的选择列表。选择列表显示学生姓名并返回该学生的ID,该ID也恰好是学生登录的用户名。

所以我想在学生点击链接时传递app-user的值,以便只显示他们的结果。

我试过设置

these items
:P10_SELECT_STUDENT
with these values
#APP_USER#

有效,但没有显示“未找到数据”的消息。

只是为了测试我已经设置了为学生显示的选择列表,当页面加载时,它会加载列表顶部的null

display value
select a student
return value
-1

我已经离开并手动设置传递的值为测试学生的id。为这个学生加载数据!!

所以有人知道为什么发送的#APP_USSER#值不在列表框中设置

提前致谢

2 个答案:

答案 0 :(得分:1)

您需要的是APP_USER变量的会话状态。在查询中,您可以使用:APP_USER来引用它。当您需要将值作为参数传递给(例如)链接时,您将使用替换字符串表示法&APP_USER.与引用任何其他变量/页面项的方式非常相似。

例如,设置按钮: button setup with app_user

阅读替换字符串的好页面:Application Builder Concepts

哈希符号表示法通常用于非plsql-variables替换,例如在链接中传递时报表中列的值,

答案 1 :(得分:0)

Zac,

如果用户未对自己进行身份验证,则:APP_USER参数为null。如果用户通过SSO或通过数据库凭据或应用程序中的任何内容进行身份验证,则会填充:APP_USER。

以下是我的理解: 在第12页中,P12_STUDENTS是一个选择列表,如果他进入,您希望它反映当前学生,如果他是老师,您希望它反映完整列表吗?

您无需通过链接或分支或其他任何方式传递:APP_USER。它作为全局Apex变量存在,并且在第12页中通过:APP_USER可见,但如果用户未经过身份验证,则为null。

您的选择列表来源应该是:

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

告诉我这是否有帮助?

的问候,

亚历