首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Oracle APEX调用EBS EBS服务时如何传递EBS用户to

从Oracle APEX调用EBS EBS服务时如何传递EBS用户to
EN

Stack Overflow用户
提问于 2019-05-22 17:44:47
回答 1查看 124关注 0票数 0

我从Oracle APEX调用一个EBS Webservice "Assign Roles“。它将被成功调用,并将角色分配给所需的用户。但是,如果我查看"wf_user_role_assignments“表,created_by字段中有顶层用户的userid,而不是EBS用户的userid。我该怎么做呢?

在从APEX调用webservice时,我传递了EBS_ user_id。我调试了从the服务调用的代码。

它调用"UMX_REGISTRATION_PVT“包,而后者又调用"wf_local_synch.propagateUserRole”。但是传递的参数没有包含"created_by“字段。

代码语言:javascript
复制
 wf_local_synch.propagateUserRole (
    p_user_name        => l_requested_for_user_name,
    p_role_name        => l_wf_role_name,
    p_start_date       => l_requested_start_date,
    p_expiration_date  => l_requested_end_date,
    p_raiseErrors      => true,
    p_assignmentReason => l_justification);

因此,当这个过程被实际调用时,它将NULL值作为"created_by“参数。

此后,当此过程调用WF_Directory.CreateUserRole时,它会将

代码语言:javascript
复制
l_creatby := nvl(CreateUserRole.created_by,WFA_SEC.USER_ID);

它接受APEX用户的值。

我想要在"wf_user_role_assignments“表的创建者字段中填充EBS userid?我该怎么做呢,因为"wf_local_synch.propagateUserRole“在调用时没有包含该参数,所以我不能传递正确的值。由于这是一个标准的oracle包,因此不建议对其进行修改。

EN

回答 1

Stack Overflow用户

发布于 2019-05-24 07:14:19

EBS字段是EBS中的标准审计字段(称为created_by列)-它是FND_USER的外键,并且必须与EBS用户相对应。webservice作为具有附加privs的中央EBS用户运行,系统将此列的值设置为代码运行时所使用的用户,而不是代码运行时所使用的用户。

这样做是不可取的,因为您将绕过审计列的意图。所以,更好的问题是,你为什么要这样做?你能从另一个地方获取信息吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56253902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档