问题描述
我想记录当前执行的流程步骤的流程。 这意味着当用户下次登录时,他可以看到进程的当前状态。 为此,我在表中有一个名为 STATE 的列(在此过程中由所有参与者编辑)。当表被编辑或删除时,触发器总是将其设置为不同的状态(如 REQUESTED、ACCEPTED、DENIED....)。 现在我希望当用户登录时,检查他在流程中的状态,并在此基础上决定应该向他显示哪个流程步骤。
所以我的问题是,如何才能达到这个目标?我如何与州合作? 我不是在这里要求任何代码,只是一个提示,如果可能的话,最好是一些关键字,这样我就可以搜索正确的东西来实现它。
解决方法
我希望当用户登录时,会检查他在流程中的状态,并在此基础上决定应该向他显示哪个流程步骤。。 >
你会在哪里展示它?在我看来,您好像要将 STATE
列添加到交互式报告、表单或用户登录时访问的任何位置以查看进程状态。
无论您选择哪个选项,最后都会是一种或多种 select
语句,例如
- 在交互式报告的查询中,
- 项目的来源,
- 也许是一个接受例如的存储函数进程 ID 并返回其状态),
- 可能是在应用程序计算或进程中填充其值的应用程序项,
- 等
我认为您可以通过使用 Apex Preference 功能来完成您想要做的事情,您可以在其中将这些值保存为会话的一部分,并在下次连接时检索它。不需要您自己的数据库表。我已经使用它很多年了,它非常适合像这样的简单事情。
手册中的语法:
APEX_UTIL.SET_PREFERENCE (
p_preference IN VARCHAR2 DEFAULT NULL,p_value IN VARCHAR2 DEFAULT NULL,p_user IN VARCHAR2 DEFAULT NULL);
APEX_UTIL.GET_PREFERENCE (
p_preference IN VARCHAR2 DEFAULT NULL,p_user IN VARCHAR2 DEFAULT V('USER'))
RETURN VARCHAR2;