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
英文地址,請注明出處:http://en.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…