代码拉取完成,页面将自动刷新
FUNCTION MST_商品更新 (
参数_MST_商品_行 IN 内部_MST_商品_行
) RETURN INTEGER --0:成功,-1:失败
AS
变量_异常日志 SVP_异常日志%ROWTYPE;
BEGIN
--初始化【异常日志】
变量_异常日志.处理开始时间 := TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS FF3');
变量_异常日志.包名 := 常量_包名;
变量_异常日志.对象名 := 'MST_商品更新';
变量_异常日志.调用路径 := 常量_包名 || SVP_常量.字符_点 || 'MST_商品更新';
UPDATE MST_商品 SET
商品代码 = CASE WHEN 参数_MST_商品_行.商品代码 IS NULL THEN 商品代码 ELSE 参数_MST_商品_行.商品代码 END
,商品编码 = CASE WHEN 参数_MST_商品_行.商品编码 IS NULL THEN 商品编码 ELSE 参数_MST_商品_行.商品编码 END
,助记码 = CASE WHEN 参数_MST_商品_行.助记码 IS NULL THEN 助记码 ELSE 参数_MST_商品_行.助记码 END
,商品名 = CASE WHEN 参数_MST_商品_行.商品名 IS NULL THEN 商品名 ELSE 参数_MST_商品_行.商品名 END
,通用名 = CASE WHEN 参数_MST_商品_行.通用名 IS NULL THEN 通用名 ELSE 参数_MST_商品_行.通用名 END
,规格 = CASE WHEN 参数_MST_商品_行.规格 IS NULL THEN 规格 ELSE 参数_MST_商品_行.规格 END
,剂型 = CASE WHEN 参数_MST_商品_行.剂型 IS NULL THEN 剂型 ELSE 参数_MST_商品_行.剂型 END
,产地 = CASE WHEN 参数_MST_商品_行.产地 IS NULL THEN 产地 ELSE 参数_MST_商品_行.产地 END
,生产厂名 = CASE WHEN 参数_MST_商品_行.生产厂名 IS NULL THEN 生产厂名 ELSE 参数_MST_商品_行.生产厂名 END
,单位名称 = CASE WHEN 参数_MST_商品_行.单位名称 IS NULL THEN 单位名称 ELSE 参数_MST_商品_行.单位名称 END
,批准文号 = CASE WHEN 参数_MST_商品_行.批准文号 IS NULL THEN 批准文号 ELSE 参数_MST_商品_行.批准文号 END
,商品分类 = CASE WHEN 参数_MST_商品_行.商品分类 IS NULL THEN 商品分类 ELSE 参数_MST_商品_行.商品分类 END
,OTC药品 = CASE WHEN 参数_MST_商品_行.OTC药品 IS NULL THEN OTC药品 ELSE 参数_MST_商品_行.OTC药品 END
,有效标记 = CASE WHEN 参数_MST_商品_行.有效标记 IS NULL THEN 有效标记 ELSE 参数_MST_商品_行.有效标记 END
,更新时间 = SYSDATE
WHERE MST_商品.商品代码 = 参数_MST_商品_行.商品代码;
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO MST_商品 (
商品代码
,商品编码
,助记码
,商品名
,通用名
,规格
,剂型
,产地
,生产厂名
,单位名称
,批准文号
,商品分类
,OTC药品
,有效标记
,更新类型
) VALUES (
CASE WHEN 参数_MST_商品_行.商品代码 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.商品代码 END
,CASE WHEN 参数_MST_商品_行.商品编码 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.商品编码 END
,CASE WHEN 参数_MST_商品_行.助记码 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.助记码 END
,CASE WHEN 参数_MST_商品_行.商品名 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.商品名 END
,CASE WHEN 参数_MST_商品_行.通用名 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.通用名 END
,CASE WHEN 参数_MST_商品_行.规格 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.规格 END
,CASE WHEN 参数_MST_商品_行.剂型 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.剂型 END
,CASE WHEN 参数_MST_商品_行.产地 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.产地 END
,CASE WHEN 参数_MST_商品_行.生产厂名 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.生产厂名 END
,CASE WHEN 参数_MST_商品_行.单位名称 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.单位名称 END
,CASE WHEN 参数_MST_商品_行.批准文号 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.批准文号 END
,CASE WHEN 参数_MST_商品_行.商品分类 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.商品分类 END
,CASE WHEN 参数_MST_商品_行.OTC药品 IS NULL THEN 'NONE' ELSE 参数_MST_商品_行.OTC药品 END
,CASE WHEN 参数_MST_商品_行.有效标记 IS NULL THEN 'Y' ELSE 参数_MST_商品_行.有效标记 END
,SVP_常量.更新类型_新增
);
END IF;
RETURN SVP_常量.处理状态_成功;
--错误处理
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
变量_异常日志.MSG编码 := SQLCODE;
变量_异常日志.MSG内容 := SQLERRM;
变量_异常日志.辅助内容 := 参数_MST_商品_行.商品代码;
SVP_工具.记录异常日志(参数_异常日志_行 =>变量_异常日志);
RETURN SVP_常量.处理状态_失败;
END MST_商品更新;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。