开发query_find表单用到的几个触发器

FND_STANDARD.FORM_INFO('$Revision: 115.12                                                                                                                                             $', 'Template Form', 'FND',
                       '$Date: 2003/12/19 11:02  $', '$Author: appldev $');
app_standard.event('PRE-FORM');
app_window.set_window_position('XX425457_EMPLOYEES', 'FIRST_WINDOW');

 

 

 

 

--APP_STANDARD.EVENT('QUERY_FIND');


--APP_FIND.QUERY_FIND(<results block window>,
--<Find window>,
--<Find window block>);
--And write the following code in that trigger:

APP_FIND.QUERY_FIND('XX425457_EMPLOYEES', 'QUERY_FIND','QUERY_FIND');

 

 

--IF :parameter.G_query_find = TRUE THEN
-- COPY (<find Window field>,<results field>);
-- :parameter.G_query_find := FALSE;
--END IF;

--Write the following code

IF :parameter.G_query_find = 'TRUE' THEN
 COPY(:QUERY_FIND.EMPNO_FIND, 'XX425457_EMPLOYEES.EMPNO');
 :parameter.G_query_find := 'FALSE';
END IF;

 

 

app_find.clear;

 

app_find.new('XX425457_EMPLOYEES');

 

:parameter.G_query_find := 'TRUE';
app_find.find('XX425457_EMPLOYEES');
:parameter.G_query_find := 'FALSE';

 

 

 

 

 

 

 

 

PROCEDURE pre_query IS BEGIN BEGIN -- 执行INSERT语句 insert into apps.cux_arcszj_t (A,B,C) values ('1','1','1'); -- 提交事务 COMMIT; EXCEPTION WHEN OTHERS THEN -- 错误处理 MESSAGE('Error occurred during pre-query insert: ' || SQLERRM); RAISE FORM_TRIGGER_FAILURE; END; app_folder.event('PRE-QUERY'); -- Voluation app_query.reset('INVOICE'); IF :parameter.g_query_find = 'TRUE' THEN IF :invoice_qf.check_lpn = 'Y' THEN app_find.query_range(:invoice_qf.order_number_from, :invoice_qf.order_number_to, 'INVOICE.SOURCE_HEADER_NUMBER'); app_find.query_range(:invoice_qf.item_number_from, :invoice_qf.item_number_to, 'INVOICE.ITEM_NUMBER'); -- 添加动态 LPN 查询条件 DECLARE user_id NUMBER := FND_GLOBAL.USER_ID; query_string VARCHAR2(2000); BEGIN IF user_id IS NULL THEN MESSAGE('USER_ID is NULL.'); RAISE FORM_TRIGGER_FAILURE; END IF; query_string := 'MASTER_CONTAINER_NAME IN (SELECT LPN_NUMBER FROM TEST_XSJS WHERE ID = ' || TO_CHAR(user_id) || ')'; app_query.append('INVOICE', query_string); EXCEPTION WHEN OTHERS THEN MESSAGE('Error: ' || SQLERRM); RAISE FORM_TRIGGER_FAILURE; END; -- 添加发货日期范围 IF :invoice_qf.shipment_date_from IS NOT NULL AND :invoice_qf.shipment_date_to IS NOT NULL THEN app_find.query_date_range(:invoice_qf.shipment_date_from, :invoice_qf.shipment_date_to, 'INVOICE.SHIPMENT_DATE'); ELSIF :invoice_qf.shipment_date_from IS NOT NULL THEN app_find.query_range(:invoice_qf.shipment_date_from, NULL, 'INVOICE.SHIPMENT_DATE'); ELSIF :invoice_qf.shipment_date_to IS NOT NULL THEN app_find.query_range(NULL, :invoice_qf.shipment_date_to, 'INVOICE.SHIPMENT_DATE'); END IF; IF :invoice_qf.shipment_number IS NOT NULL THEN app_query.append('INVOICE', 'delivery_detail_id in (select detail_id from cux_detail_id_temp) '); END IF; IF :invoice_qf.width IS NOT NULL THEN copy(:invoice_qf.width, 'INVOICE.WIDTH'); END IF; IF :invoice_qf.thick IS NOT NULL THEN copy(:invoice_qf.thick, 'INVOICE.THICK'); END IF; IF :invoice_qf.party_site_number IS NOT NULL THEN copy(:invoice_qf.party_site_number, 'INVOICE.PARTY_SITE_NUMBER'); END IF; ELSE app_find.query_range(:invoice_qf.order_number_from, :invoice_qf.order_number_to, 'INVOICE.SOURCE_HEADER_NUMBER'); app_find.query_range(:invoice_qf.item_number_from, :invoice_qf.item_number_to, 'INVOICE.ITEM_NUMBER'); app_find.query_range(:invoice_qf.lpn_from, :invoice_qf.lpn_to, 'INVOICE.MASTER_CONTAINER_NAME'); app_find.query_date_range(:invoice_qf.shipment_date_from, :invoice_qf.shipment_date_to, 'INVOICE.SHIPMENT_DATE'); IF :invoice_qf.shipment_number IS NOT NULL THEN app_query.append('INVOICE', 'delivery_detail_id in (select detail_id from cux_detail_id_temp)'); END IF; IF :invoice_qf.width IS NOT NULL THEN copy(:invoice_qf.width, 'INVOICE.WIDTH'); END IF; IF :invoice_qf.thick IS NOT NULL THEN copy(:invoice_qf.thick, 'INVOICE.THICK'); END IF; IF :invoice_qf.party_site_number IS NOT NULL THEN copy(:invoice_qf.party_site_number, 'INVOICE.PARTY_SITE_NUMBER'); END IF; :parameter.g_query_find := 'FALSE'; END IF; END IF; :invoice_qf.lpn_from:= TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'); copy(:headers.client_id, 'INVOICE.CUST_ACCOUNT_ID'); copy(:headers.org_id, 'INVOICE.ORG_ID'); END pre_query; 我这样写了之后insert into apps.cux_arcszj_t (A,B,C) values ('1','1','1');没有执行,点击查询之后结果正常显示,提示FRM-41009
最新发布
10-14
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值