2

我正在尝试执行以下操作:

  • 具有唯一密钥的匿名用户输入代码并单击“开始调查”
  • 该按钮需要调用一个 plsql 进程来填充一些隐藏的页面项。
  • 一旦设置了值,就会跳转到调查页面,该页面将使用隐藏的项目来过滤结果。

问题

到目前为止,无论我尝试了什么,当我进入下一页时,流程设置的项目都是空的。我认为这是因为它没有提交。我现在的方式是:

  • 按钮导航到下一页
  • 按下按钮时设置的新进程设置页面项目的值。

到下一页时,它们又是空白的。

我可以将按钮设置为提交并在处理中执行分支,但我认为提交会在设置值之前发生。我发现这些事情发生的顺序令人困惑。

我可以在完成这项工作方面获得帮助吗?有没有关于更好地理解这个领域的好文章?

这是将值放入的过程中的代码:

Begin

select id into :P1_pat_id 
from lic_paticipent
where unique_id = :P1_unique_code;

select sur_id into :P1_sur_id 
from lic_paticipent
where unique_id = :P1_unique_code;

select id into :P1_first_res_id
  from lic_result r
  where r.pat_id = :P1_pat_id
  and   r.sur_id = :P1_sur_id
  and   r.qop_id is null
  and   rownum = 1;

End;

在此先感谢您的帮助。

4

2 回答 2

3

好的,我解决了它,这是我在解决另一个问题。我已将隐藏字段设置为“始终替换”而不是“仅在为空时”,因此 plsql 进程更新了会话而不是项目,因此当我提交时,空项目替换了 plsql 进程设置的内容。我曾预计,当会话更新时,它也会更新项目。我通过使隐藏字段可见来解决它,并且可以看到它是空白的,但在我检查会话状态时有一个值。

在此处输入图像描述

于 2016-05-05T02:57:55.587 回答
2

除非您的当前页面是全局页面,否则您当前页面中的隐藏页面项不能在其他页面中使用。您必须将该值传递给另一个页面中的另一个页面项。

尝试这个:

  • 转到另一页并创建隐藏项以捕获要从第一页传递的值。

  • 返回第一页并保留您的流程并创建一个分支流程。然后将其设置为重定向到另一个页面。然后你会看到下面的设置项目。将隐藏的项目放在左侧的其他页面中,然后将隐藏的项目放在右侧的当前页面中,格式为 &P1_NEW。(带句号)

它应该看起来像这样

设置项目

P11_PAT_ID--------------&P1_PAT_ID。


P11_SUR_ID--------------&P1_SUR_ID。

等等

于 2016-05-05T01:31:46.053 回答