问题描述
当我创建记录时,我想用当前的 ldap 用户填充其中一个字段 (P34_CONTACT)。
我正在使用(上图)创建动态代码:
apex.item("P34_CONTACT").setValue(:FULL_USER_NAME)
Uncaught SyntaxError: Unexpected token ':'
当我删除冒号时,我得到:
未捕获的引用错误:未定义 FULL_USER_NAME
我的认证架构如下:
当我设置固定名称时: 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());