Oracle ERP FORM开发 — 新增查询条件

1 根据值来查询

        具体流程步骤看第2节,这里提供核心的增加查询条件的触发器代码:

1.1 可完全匹配的值

        比如“是”,“否”,“物料”,“”汽车 等等这些可以直接通过对应的值匹配,特点就是词语,短小。

-- 将查询条件中的type_code字段值复制到headers记录的type_code字段,用于后续处理或查询过滤
copy(:query.type_code, 'headers.type_code');-- 将查询条件中的orig_system字段值复制到headers记录的orig_system字段,用于后续处理或查询过滤
copy(:query.orig_system, 'headers.orig_system');-- 将查询条件中的status_name字段值复制到headers记录的status_name字段,用于后续处理或查询过滤
copy(:query.status_name, 'headers.status_name');-- 将查询条件中的batch_id字段值复制到headers记录的batch_id字段,用于后续处理或查询过滤
copy(:query.batch_id, 'headers.batch_id');-- 将查询条件中的status字段值复制到headers记录的status字段,用于后续处理或查询过滤
copy(:query.status, 'headers.status');

1.2 需模糊查询的值

比如:

[{"origlineid":"b78c1780fda649d1a0f59ba4a869f22a@LL25072225119&CSG030100002","status":"200","errmsg":""}",{"origlineid":"aa0d7b5bff3c43af80d48a070c75ab08@LL25072225119&D029900001","status":"200","errmsg":""}"]

         这个的特点就是长,比如一个json字典,里面有几十种,几百种的类别值,我们只需要根据其中关键的信息进行搜索即可,这种情况怎么办呢,如下:

-- 判断查询条件中的data字段是否不为空
if :query.data is not null then-- 如果data不为空,则将其值前后加上通配符%,形成模糊查询字符串,再复制到headers.DATA字段-- 这样可以实现类似SQL中的LIKE '%data%'查询copy('%' || :query.data || '%', 'headers.DATA');
else-- 如果data为空,则直接将空值复制到headers.DATA字段,避免影响查询逻辑copy(:query.data, 'headers.DATA');
end if;

2 根据时间范围来查询

2.1 新增查询数据块的项:START_DATE和END_DATE

        设置起始时间(START_DATE)和截至时间(END_DATE)字段, 

 2.2 查询按钮触发器和属性模板

        查询按钮的属性,就是很普通的属性。

        查询按钮下的触发器WHEN-BUTTON-PRESSED代码可以看出,他是直接跳转到了需要查询的数据块,然后执行查询。这是一套EBS内置的函数,一个大致的模板如下所示。

-- 跳转到需要查询的数据块
go_block('select_block');
-- 执行查询
execute_query;

2.3 被查询的数据块触发器PRE-QUERY修改

        我们最终需要实现的效果应当如下表所示: 

起始时间(Start Date)截止时间(End Date)查询时间范围说明
为空不为空查询截止时间之前的记录,起始时间为“当前日期往前”
不为空为空查询起始时间之后的记录,截止时间为“当前日期往后”
不为空不为空查询起始时间和截止时间之间的记录
为空为空默认查询全部或根据业务需求处理

        一定要在查询前的触发器PRE-QUERY上修改,一个大致的模板如下所示:

  • 赋值即绑定
    当你使用copy给headers.XXX赋值后,Forms自动将这个值绑定到查询语句中,执行查询时就会用这个值作为过滤条件。

  • 动态过滤实现
    这样就实现了根据用户输入动态过滤数据的功能,赋值就是告诉查询引擎“我要用这个条件来筛选数据”。

-- 调用自定义过程app_find.query_range,传入查询条件中的起始时间和截止时间,以及headers表中的creation_date字段名
-- 该过程会根据起止时间设置查询条件,实现按时间范围过滤数据
app_find.query_range(:query.start_date,:query.end_date,'headers.creation_date');

2.4 时间范围文本框的界面设计

        start_date直接提示设计为“创建时间”,end_date直接设计为“~”,而不是“截止时间”。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93614.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter实现列表功能

在Flutter中,可以通过ListView和ListTile等组件来实现类似Android中RecyclerView和Adapter的功能。以下是一个通用的设计架构,用于设计列表数据: 1. 定义数据模型 首先,定义一个数据模型类,用于存储列表中每一项的数据。例如: class ItemModel {final String title;fi…

2.1、Redis的单线程本质和多线程的操作

Redis的单线程本质 1. 核心单线程部分 #mermaid-svg-iFErSltthPIEsuiP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-iFErSltthPIEsuiP .error-icon{fill:#552222;}#mermaid-svg-iFErSltthPIEsuiP .error-text{fil…

文件权限值的表示方法

文章目录字符表示方法8 进制数值表示方法字符表示方法 Linux表示说明Linux表示说明r--只读-w-仅可写--x仅可执行rw-可读可写-wx可写可执行r-x可读可执行rwx可读可写可执行---无权限 8 进制数值表示方法 权限符号8进制2进制r4100w2010x1001rw6110rx5101wx3011rwx7111---0000

【38】WinForm入门到精通 ——WinForm平台为AnyCPU 无法切换为x64,也无法添加 x64及其他平台

WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要应用。.NET 提供了大量 Windows 风格的控件和事件,可以直接拿来使用。本专栏内容是按照标题序号逐渐深入…

门控激活函数:GLU/GTU/Swish/HSwish/Mish/SwiGLU

10 门控激活函数 10.1 GLU:门控线性单元函数Gated Linear Unit10.2 GTU:门控Tanh单元函数Gated Tanh Unit自门控激活函数(Self-gated activation function)是一种通过自身机制动态调节信息流动的激活函数,其核心在于模…

Linux内核IPv4多播路由深度解析:从数据结构到高效转发

多播路由是网络通信的核心技术之一,Linux内核通过精密的多层设计实现了高性能的IPv4多播路由功能。本文将深入剖析其核心实现机制,揭示其高效运转的秘密。一、核心数据结构:路由系统的基石1. 多播路由表(struct mr_table&#xff…

ffmpeg-7.1.1 下载安装 windows 版,MP4 转 m3u8 切片,遇到报错 Unrecognized option ‘vbsf‘的解决办法

工作中偶尔会需要造指定大小的文档文件,不要求内容,可以随意填充任意无毒内容,所以打算用ts文件填充,现记录下过程。一、下载 ffmpeg废话不多说,上链接,https://ffmpeg.org/会跳转新页面,向下拉…

Linux网络编程:网络基础概念(下)

目录 前言: 一、网络传输基本流程 1.1、认识MAC地址 1.2、认识IP地址 二、socket编程预备 2.1、端口号 2.2、传输层的代表 2.3、网络字节序 2.4、sockaddr 结构 总结: 前言: 大家好,上一篇文章,我们说到了…

亚马逊广告进阶指南:如何优化流量实现新品快速起量

“新品上架如何快速获取精准流量?”“如何降低ACOS同时提升转化率?”“竞品流量拦截有哪些高效方法?”“关键词广告和ASIN广告如何协同投放?”“人工投放效果不稳定,AI工具真的能解决问题吗?”如果你也在思…

路径平滑优化算法--Clothoid 路径平滑

路径平滑优化算法–Clothoid 路径平滑 文章目录路径平滑优化算法--Clothoid 路径平滑0 为什么选 Clothoid?1 数学基础:严谨推导(Mathematical Foundation)可视化解释1.1 曲率线性假设1.2 切向角(Heading Angle&#…

PCB学习笔记(一)

文章目录一、PCB的制作过程了解1.1 覆铜板一、核心作用:制作印制电路板(PCB)二、不同类型覆铜板的针对性用途三、延伸应用1.2 覆铜板和信号线的关系一、覆铜板不是“全是铜”,原始结构是“绝缘基材铜箔”二、信号线就是铜&#xf…

【19】C# 窗体应用WinForm ——【列表框ListBox、复选列表框CheckedListBox】属性、方法、实例应用

文章目录9 复选列表框CheckedListBox10. 列表框ListBox10.1 实例:买菜10.2 实例:购菜 应用二WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要…

新注册企业信息查询“数据大集网”:驱动企业增长的源头活水

商贸繁荣的齐鲁大地上,“赶大集”曾是千年传承的民间智慧。而今天,一场以新注册企业信息为核心的“数据大集”正悄然重塑商业生态——数据大集网,以“聚天下好数,促万企互联”为使命,将分散的企业信息转化为精准商机&a…

项目目标如何拆解,才能提高执行效率和效果

项目目标要有效拆解以提高执行效率和效果,需要遵循以下关键步骤:明确整体目标、划分阶段性目标和里程碑、具体化任务细分并设定优先级、分配明确的责任人和时间节点、持续跟踪与反馈调整。其中,划分阶段性目标和里程碑尤为重要,通…

spring-ai-alibaba动态 Prompt 最佳实践

Spring AI Alibaba 使用 Nacos 的配置中心能力来动态管理 AI 应用的 Prompt。以此来实现动态更新 Prompt 的功能。 环境准备 Nacos: 具备配置中心能力的 Nacos,本例中使用 Nacos 3.0.2。Nacos 2.X 亦可, spring-ai版本1.0.0 ,spring-ai-al…

基于词频统计、关键词提取、情感分析与AI大模型自动生成系统的设计与实现

文章目录有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主一、研究背景与项目意义二、项目目标与研究内容三、系统架构与功能模块1. AI对话生成模块2. 分词与关键词提取模块3. 情感分析模块4. 行为预测模块5. 系统管理模块6. 可视化展示模块四、技术…

JVM工具

首先,JDK 自带了很多监控工具,都位于 JDK 的 bin 目录下,其中最常用的是 jconsole 和 jvisualvm 这两款视图监控工具。 一、jps(Java Process Status) 用于查看有权访问的虚拟机的进程,并显示他们的进程号 -v:列出虚拟…

VisionPro系列讲解 - 03 Simulator 模拟器使用

一、VisionOS Simulator 简介 VisionOS Simulator 模拟器是专为 VisionOS 操作系统开发的调试和测试工具。它允许开发者在没有实际硬件设备的情况下,在计算机上模拟 VisionOS 环境,进行应用的开发、调试和优化。该模拟器帮助开发者快速验证应用的功能和界…

huggingface是什么?2025-07-30

huggingface被我看做是ai模型的试用空间 体验了一下image edit的功能,去除背景的功能不错 models 模型库 dataset 目前对我来说没用 spaces huggingface的spaces是什么? 演示空间吧。 令人震惊的背景移除能力H200是什么?

mysql索引下推和索引失效

索引下推:ICP过滤的条件可以不限于用于索引查找(index lookup)的字段。只要存储引擎在扫描当前索引时能够访问到该字段的值,就可以用它来过滤。索引可以分为聚簇索引和非聚簇索引没有索引下推:当使用聚簇索引的时候&am…