员工单据姓名为空问题
## 背景:
第三方系统和星空做了集成,三方系统同步数据到员工单据,但发现员工单据姓名字段偶发出现为空。需要定位原因。
## 解决方法:
在员工姓名所在的表加触发器,如果员工姓名被更新为空,抛出异常,引起功能终断,在根据日志去排查问题。问题解决后需删除触发器。
1.加触发器
CREATE TRIGGER trg_BDEmpCheckYourFieldNotNull
ON T_HR_EMPINFO_L
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
-- 检查插入的记录
IF EXISTS (
SELECT 1
FROM inserted
WHERE FNAME = '' or FNAME is null
)
BEGIN
RAISERROR('Error: T_HR_EMPINFO_L.FNAME.A cannot be NULL for new records.', 16, 1);
ROLLBACK TRANSACTION; -- 回滚事务,阻止数据写入
RETURN;
END
-- 检查更新的记录
IF EXISTS (
SELECT 1
FROM deleted d
JOIN inserted i ON d.FPKID = i.FPKID -- 替换PrimaryKeyColumn为您的主键列名
WHERE d.FNAME IS NOT NULL AND (i.FNAME IS NULL or i.FNAME = '')
)
BEGIN
RAISERROR('Error: T_HR_EMPINFO_L.FNAME.B cannot be set to NULL for existing records.', 16, 1);
ROLLBACK TRANSACTION; -- 回滚事务,阻止数据写入
RETURN;
END
END;
2.删除触发器
drop trigger trg_BDEmpCheckYourFieldNotNull
以上是针对sqlserver数据库写的触发器。oracle需自行调整
员工单据姓名为空问题
## 背景:第三方系统和星空做了集成,三方系统同步数据到员工单据,但发现员工单据姓名字段偶发出现为空。需要定位原因。## 解决方法:在...
点击下载文档
上一篇:在服务端插件新建物料下一篇:部门反禁用,提示非禁用的相同部门
本文2024-09-23 03:40:07发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-160326.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章