如何在 APEX 4.1 中为单项表单创建更新流程
Posted
技术标签:
【中文标题】如何在 APEX 4.1 中为单项表单创建更新流程【英文标题】:How to create update process for single entry form in APEX 4.1 【发布时间】:2012-08-29 17:47:16 【问题描述】:我是 APEX 的新手。我确信此解决方案可能可用,但无法在任何地方找到正确的答案。
以下是案例场景:(为用户提供更新特定报告行的能力)。
第 1 页有报告 A,其中有一个特定列,例如 B 列,它具有指向其所有行的链接,通过单击一个特定行,用户导航到新页面 (Page2)。
第 2 页在区域 1 中具有单个条目形式,其中包含项目列表(大约 10 个),而在同一页面的区域 2(第 2 页)中,它具有表格形式。
第 2 页区域 1 中的某些项目是根据第 1 页报告详细信息中的信息填充的。有些物品有LOV,有些物品用户可以添加信息。
第 2 页区域 2 中的表格形式是根据用户可以编辑的订单项 id 生成的。表格形式仅与一个表格相关联。
页面上有两个按钮,取消按钮返回报表页面,而保存按钮将数据保存到数据库表中。单个表单项将更新 2 个表格,而表格形式将更新一个表格。
需要如何建立通过 apex 更新基础表的流程。
现在表格形式具有内置的 MRU 更新流程(但我不确定我是否可以将此流程与单一条目表格配合使用,或者最好创建一个单独的流程来处理这两个更新)
任何人都可以告诉我如何实现这一点,或者解释这个过程的链接吗?
【问题讨论】:
【参考方案1】:您将需要手动创建 plsql 进程来处理提交的值并将它们应用到您的表中。您不能使用内置的行处理来执行此操作:您不能定义每页 2 个。 (这是有道理的,因为您无法指示哪个列映射到哪个表。您只能将“数据库列”定义为项目的源。这意味着即使您有 2 个进程,也会尝试处理这些列这两个过程都会导致错误。)
查看这篇文章,了解有关如何设置流程的一些想法:https://***.com/a/7877933/814048
【讨论】:
谢谢,我正在关注您提供的链接。有什么方法可以检查项目的值是否已更新,并且仅在更新基础表/列时才更新。我的意思是 APEX 是否有一些我们可以用来检查的功能。表格形式怎么样,是否有检查行元素是否已更新,如果已更新,则仅更新那几列..而不是全部。如果没有更新字段,则不处理更新... 是的。这是链接帖子的“乐观锁定”部分。这是行级。如果您需要更细化,可以尝试使用 apex_item.md5_checksum docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/… ,尽管这会很有创意:)【参考方案2】:if :P42_ORDER_STATUS in ('IP','OW') then
begin
FOR I in 1..APEX_APPLICATION.G_F01.COUNT LOOP
update sales_mst set ORDER_STATUS = 'DR'
where id = to_number(apex_application.g_f01(i));
end loop;
end;
end if;
【讨论】:
请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助,质量更高,更有可能吸引投票。以上是关于如何在 APEX 4.1 中为单项表单创建更新流程的主要内容,如果未能解决你的问题,请参考以下文章