Oracle APEX,将字段填充为 ldap 当前用户

问题描述

当我创建记录时,我想用当前的 ldap 用户填充其中一个字段 (P34_CONTACT)。

enter image description here

我正在使用(上图)创建动态代码

apex.item("P34_CONTACT").setValue(:FULL_USER_NAME)

我收到一个错误

Uncaught SyntaxError: Unexpected token ':'

当我删除冒号时,我得到:

未捕获的引用错误:未定义 FULL_USER_NAME

我的认证架构如下:

enter image description here

当我设置固定名称时: apex.item("P34_CONTACT").setValue("FULL_USER_NAME") 字段正在填充“FULL_USER_NAME”,所以基本上我需要一个正确的变量或正确的语法 有人可以帮忙吗?

解决方法

首先,您应该修改身份验证方案中的 PL/SQL 代码以设置 :FULL_USER_NAME 值。示例如下:

apex_util.set_session_state('FULL_USER_NAME',util_ldap.gv_displayName);

然后,创建一个隐藏的页面项,例如 P1_FN 并将其默认值设置为该项,并指定该应用程序项 FULL_USER_NAME。然后你就可以使用以下方法获得它:

apex.item("P34_CONTACT").setValue(apex.item("P1_FN").getValue());