oracle - ORACLE Forms (WHEN-BUTTON-PRESSED) 事件问题
问题描述
我更新了我的脚本。然后,我的问题有两个部分。对于第 1 部分,“检查文本项和 LOV 字段中的空记录”
IF (:CREATE_BLOCK.COMPANY IS NULL AND F_SHOW_LOV('LOV_COMPANY_CREATE') IS NULL ) THEN
MSG('Cannot to Null record!');
RAISE FORM_TRIGGER_FAILURE;
END IF;
结果是失败。当我删除文本字段中的数据但未触发错误消息时。
第 2 部分:我创建程序。然后,我在数据库实例中运行该过程。结果很好。我尝试在表单中调用程序,但错误消息不会显示在屏幕上。我可以知道我的脚本有什么问题吗?
DECLARE
O_ERR_MSG nvarchar2 (500);
L_SUCCESS BOOLEAN;
v_count number;
BEGIN
SELECT count (*)
INTO v_count
FROM CMX_OFIN_LOC_MAPPING
WHERE company = :CREATE_BLOCK.COMPANY
AND NEO_LOC = :CREATE_BLOCK.NEO_LOC
AND OFIN_LOC = :CREATE_BLOCK.OFIN_LOC
AND OFIN_COMP = :CREATE_BLOCK.OFIN_COMP
AND OCC = :CREATE_BLOCK.OCC
AND segment12 = :CREATE_BLOCK.SEGMENT12_MAP
AND BRAND_CODE_IN = :CREATE_BLOCK.BRAND_CODE
;
IF (:CREATE_BLOCK.COMPANY IS NOT NULL AND
:CREATE_BLOCK.NEO_LOC IS NOT NULL AND
:CREATE_BLOCK.OFIN_LOC IS NOT NULL AND
:CREATE_BLOCK.OFIN_COMP IS NOT NULL AND
:CREATE_BLOCK.OCC IS NOT NULL AND
:CREATE_BLOCK.SEGMENT12_MAP IS NOT NULL AND
:CREATE_BLOCK.BRAND_CODE IS NOT NULL) AND v_count < 1 THEN
L_SUCCESS := cmx_OFIN_MAP_UTILITY.CMX_LOC_IUD (:CREATE_BLOCK.COMPANY,
'CMX_OFIN_LOC_MAPPING' ,
'I',
:CREATE_BLOCK.NEO_LOC,
:CREATE_BLOCK.OFIN_LOC,
:CREATE_BLOCK.OFIN_COMP,
:CREATE_BLOCK.OCC,
:CREATE_BLOCK.SEGMENT12_MAP,
:CREATE_BLOCK.BRAND_CODE,-- SYSDATE, SYSDATE, USER, NULL,
O_ERR_MSG);
COMMIT;
MSG_SUCCESS('Success to created!');
RAISE FORM_TRIGGER_FAILURE;
IF L_SUCCESS = FALSE THEN
dbms_output.put_line(O_ERR_MSG);
ELSE
MSG(O_ERR_MSG);
RAISE FORM_TRIGGER_FAILURE;
END IF;
END IF;
EXCEPTION
when FORM_TRIGGER_FAILURE then
raise;
when OTHERS then
raise FORM_TRIGGER_FAILURE;
END ;
解决方案
推荐阅读
- php - 使用 Ajax 将数据发布到数据库时刷新从控制器发送的列表
- java - 通过“mixins”进行验证
- javascript - 部署到 Cloud Foundry 的应用程序无法启动
- c - UART 和寄存器
- rotation - CGAL:如何将一个 3D 矢量旋转到另一个?
- javascript - 如何从另一个javascript获取元素
- java - 当该列属于Spring中的复合主键时如何按一列过滤
- python - 用于 reddit 的 feedparser 返回空
- javascript - Vis.js 时间轴 - 如何在不嵌套的情况下折叠组
- android - google_maps_flutter 在 Android 上崩溃 NullPointerException