|
将表中的数据游标获取,然后更新相应的字段数据
SQLCODE 要定义,用于循环结束判断。
CREATE PROCEDURE "HDEVSHEAM"."LOANUPDATEEFFTYPE" ( )
BEGIN
DECLARE V_EFFTYPE VARCHAR(10);
DECLARE V_APPNO VARCHAR(30);
DECLARE V_POLNO VARCHAR(30);
DECLARE SQLCODE INT;
DECLARE C1 CURSOR
FOR select (SELECT case when l.SOS_FLAG='Y' then '20005' else '20004' end FROM LOAN_APP_FORM L WHERE l.LOAN_NO=i.LOAN_NO),I.APPNO,I.POLNO from LOAN_APPNO_POLICY_INSURED i with ur;
OPEN C1;
FETCH_LOOP :LOOP
FETCH C1 INTO V_EFFTYPE,V_APPNO,V_POLNO;
IF (SQLCODE<>0) THEN
LEAVE FETCH_LOOP;
END IF;
/*IF (V_APPNO IS NULL) AND (V_POLNO IS NULL) THEN
LEAVE FETCH_LOOP;
END IF;*/
IF(LENGTH(V_APPNO)>1) THEN
UPDATE app_form a set eff_type =V_EFFTYPE WHERE A.APPNO=V_APPNO;
END IF;
IF(LENGTH(V_POLNO)>1) THEN
UPDATE POLICY_FORM SET EFF_TYPE = V_EFFTYPE WHERE POLNO =V_POLNO;
END IF;
END LOOP FETCH_LOOP;
--- END FOR;
close C1;
END;
传参数例子:
CREATE PROCEDURE "HDEVSHEAM"."LOANUPDATEEFFTYPE1"
(IN "C_APPNO" VARCHAR(30) )
BEGIN
DECLARE V_EFFTYPE VARCHAR(10);
DECLARE V_APPNO VARCHAR(30);
DECLARE V_POLNO VARCHAR(30);
DECLARE SQLCODE INT;
DECLARE C1 CURSOR
FOR select (SELECT case when l.SOS_FLAG='Y' then '20005' else '20004' end FROM LOAN_APP_FORM L WHERE l.LOAN_NO=i.LOAN_NO),I.APPNO,I.POLNO from LOAN_APPNO_POLICY_INSURED iwhere I.APPNO=C_APPNO;
OPEN C1;
FETCH_LOOP :LOOP
FETCH C1 INTO V_EFFTYPE,V_APPNO,V_POLNO;
IF (SQLCODE<>0) THEN
LEAVE FETCH_LOOP;
END IF;
/*IF (V_APPNO IS NULL) AND (V_POLNO IS NULL) THEN
LEAVE FETCH_LOOP;
END IF;*/
IF(LENGTH(V_APPNO)>1) THEN
UPDATE app_form a set eff_type =V_EFFTYPE WHERE A.APPNO=V_APPNO;
END IF;
IF(LENGTH(V_POLNO)>1) THEN
UPDATE POLICY_FORM SET EFF_TYPE = V_EFFTYPE WHERE POLNO =V_POLNO;
END IF;
END LOOP FETCH_LOOP;
--- END FOR;
close C1;
END;
CREATE PROCEDURE "HDEVSHEAM"."GET_DZ_NO"
(INOUT "ODZNO" VARCHAR(30),
IN "ICVCHTYP" VARCHAR(2),
IN "ICDPTCDE" VARCHAR(11),
IN "ICYEAR" VARCHAR(4),
IN "ICPRODNO" VARCHAR(7),
IN "INUSR" VARCHAR(30),
IN "UPDATEMARK" INTEGER,
INOUT "ICFLAG" INTEGER
)
/*
产生系统单证号
ODZNO 输入输出系统单证号
ICVCHTYP 单证类型
ICDPTCDE 机构编码
ICYEAR 日期年
ICPRODNO 产品编码
INUSR 操作员
UPDATEMARK 是否更新标志 1--更新序号表 0--不更新 主要是财务接口用来判断
--ICFLAG 成功标志
*/
BEGIN
DECLARE MTK_RETURN_COND CONDITION FOR SQLSTATE 'OR001';
DECLARE EXIT HANDLER FOR MTK_RETURN_COND
BEGIN
END;
BEGIN
--| /*****************中华联合业务号规则*****************************************
--| 1.保单号、批单号、赔案号编码:
--| 格式(共19位):XX XX XXXXXXXX XXXX XXXXXX
--| 标识 年度 机构(支公司) 险种 流水号
--|
--| 其中”标识”产用智软公司的现有规则,原1位变成2位,前面补零
--|
--| 2.单证号: 2位年 + 2位 省代码 + 2位 中支代码 + 9位流水号(需要改程序,不是存储过程产生)
--|
--| 3.其他未尽的业务号规则,原则上按照智软公司现有规则处理,如果智软方面有疑问的请提出来确认
--|
--| ******************单证类型icVchTyp参数的说明*********************************
--| 1 ,保单
--| 保单号 = 标识(1)+机构(4)+产品(4)+年份(4)+流水号(6)
--| 3 ,批单
--| 批单号 = 保单号+'-'+XX
--| 4 ,赔案
--| 赔案号 = 标识(1)+机构(4)+产品码(4)+年份(4)+流水号(6)
--| 5 ,投保单
--| 投保单号 = 标识(1)+机构(4)+产品码(4)+年份(4)+流水号(6)
--| 6 ,网销保单
--| 保单号 = 标识(6)+机构(4)+产品(4)+年份(4)+流水号(6)
--| 7 ,批改申请单
--| 批改申请单 = 保单号+'A'+XX
--| 9 ,报案
--| 报案号 = 标识(1)+机构(4)+产品码(4)+年份(4)+流水号(6)
--| L3,结案归档号
--| 结案归档号 = 标识'6'(1)+机构(4)+产品码(4)+年份(4)+流水号(6)
--| 01,追偿案件
--| 追偿立案号 = 标识'z'(1)+机构(4)+产品(4)+年份(4)+二级分类'1'(1)+流水号(5)
--| 02,追偿案件
--| 追偿结案号 = 标识'z'(1)+机构(4)+产品(4)+年份(4)+二级分类'2'(1)+流水号(5)
--| A ,合作协议
--| 合作协议号 = 标识(1)+分公司(2)+年份(4)+流水号(6)
--| B ,代理协议
--| 代理协议号 = 标识(1)+分公司(2)+年份(4)+流水号(6)
--| C,预约协议
--| 预约协议号 = 标识(1)+分公司(2)+年份(4)+流水号(6)
--| M ,赔款
--| 赔款收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5)
--| R ,保费收据
--| 保费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5)
--| S ,手续费收据
--| 手续费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5)
--| U ,退保费
--| 退保费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5)
--| N ,无赔退费
--| 无赔退费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5)
--| K ,经纪费
--| 经纪费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5)
--| D ,约定退费
--| 约定退费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5)
--| E ,代理人
--|
--| F ,经纪人
--|
--| G ,其它保险公司
--|
--| *****************************************************************************/
DECLARE v_serieno BIGINT; --序列号
DECLARE iJmpFlag FLOAT; --跳号标志
DECLARE v_dptcde0 VARCHAR(11); --未使用
DECLARE v_dptcde VARCHAR(11);--机构编码
DECLARE v_ProdNo VARCHAR(7);--产品编码
DECLARE v_DptCdeLvl2 VARCHAR(11); --未使用
DECLARE v_cYear VARCHAR(4);--年日期
-- DECLARE v_cFlag INT;--成功标志
DECLARE v_nRet SMALLINT; --未使用
DECLARE nCount FLOAT;--
DECLARE nTemp FLOAT; --未使用
DECLARE v_sno VARCHAR(20);
DECLARE v_stemp VARCHAR(30); --未使用
DECLARE sztemp VARCHAR(10);
DECLARE SQLERRM VARCHAR(255);--SQL错误标志
DECLARE v_odzno VARCHAR(30); /*add by yuanf, 批单(申请)号跳号时使用*/
DECLARE INITED int; --序列号是否已初始
DECLARE SERNODEPTNO VARCHAR(11); --输入的机构编码对应的产生序列好机构编码
-- DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING --, NOT FOUND
-- BEGIN
-- GET DIAGNOSTICS EXCEPTION 1 SQLERRM = MESSAGE_TEXT;
-- SET odzno = 'aaa';
-- SET icflag = -1;
-- RESIGNAL MTK_RETURN_COND;
-- END;
--去空格
SET v_prodno = ltrim(rtrim(icprodno));
SET v_cyear = ltrim(rtrim(icyear));
--SET v_cflag = COALESCE(icflag,0);
SET ijmpflag = 0;
SET v_odzno = odzno; /*add by yuanf, 2005-0819*/
--参数检测
--IF LENGTH(v_prodno) <> 7
-- OR v_prodno IS NULL
-- OR LENGTH(v_cyear) <> 4
-- OR v_cyear IS NULL THEN
-- SET odzno = NULL;
-- SET icflag = -1;
-- RETURN 0;
--END IF;
if v_cyear is null or v_cyear='' then
set v_cyear=CHAR(year(current date));
end if;
set INITED=0;
SELECT C_DPT_SERNO INTO SERNODEPTNO FROM T_DEPARTMENT WHERE C_DPT_CDE=ltrim(rtrim(ICDPTCDE));
SELECT COUNT(*) INTO INITED FROM T_SERIENO WHERE C_VCH_TYP=ltrim(rtrim(ICVCHTYP)) AND C_DPT_CDE=SERNODEPTNO
AND C_YEAR=v_cyear AND C_PROD_NO=v_prodno;
IF INITED=0 THEN
INSERT INTO T_SERIENO(C_VCH_TYP,C_DPT_CDE,C_YEAR,C_PROD_NO,C_SERIE_NO) VALUES (ltrim(rtrim(ICVCHTYP)),SERNODEPTNO,v_cyear,v_prodno,0);
END IF;
/*
IN ICVCHTYP VARCHAR(2),
IN ICDPTCDE VARCHAR(11),
IN ICYEAR VARCHAR(4),
IN ICPRODNO VARCHAR(7),
OUT ISSUCC INT)
*/
-- LOOP_LABEL:
-- LOOP
-- SET v_cflag = 1;
--获取流水号产生机构,流水号及年度。每一个机构都有一个流水号产生机构
-- if icvchtyp <> '3' and icvchtyp <> '7' then --批单号与流水号无关 Luoxq 2005-06-25
SELECT ltrim(rtrim(b.c_dpt_serno)),
COALESCE(a.c_serie_no, 0) + 1--,
-- COALESCE(a.c_year, RTRIM(TO_CHAR(YEAR(CURRENT TIMESTAMP))))
INTO v_dptcde,
v_serieno--,
-- v_cyear
FROM t_serieno a,
t_department b
WHERE a.c_vch_typ = icvchtyp
AND a.c_prod_no = icprodno
AND b.c_dpt_cde = ltrim(rtrim(icdptcde))
and a.c_year=v_cyear
AND a.c_dpt_cde = b.c_dpt_serno;
IF UPDATEMARK=1 THEN
UPDATE t_serieno
SET c_serie_no = v_serieno
WHERE c_vch_typ = icvchtyp
AND c_dpt_cde = v_dptcde
AND c_prod_no = v_prodno
and c_year=v_cyear;
END IF;
set v_dptcde = left(rtrim(v_dptcde)||'00000000', 8); --填充机构编码
-- end if;
--生成单证号
--投保单号
IF icvchtyp = '5' THEN
-- SET odzno = '05' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(fill_zero(TO_CHAR(v_serieno), 6, 0), '');
SET odzno ='05'|| COALESCE(v_cyear, '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(right('000000'||rtrim(CHAR(v_serieno)), 6), '');
-- SELECT COUNT(*) INTO ijmpflag
-- FROM t_ply_base
-- WHERE c_ply_app_no = odzno;
--
-- IF ijmpflag > 0 THEN
-- INSERT INTO t_seriejmpno (c_crt_cde, t_crt_tm, c_upd_cde, t_upd_tm,
-- c_dpt_cde, c_prod_no, c_vch_typ, c_chg_rsn,
-- c_tgt_serie_no,
-- c_tgt_year) VALUES
-- (inusr,CURRENT TIMESTAMP ,inusr,CURRENT TIMESTAMP ,v_dptcde,v_prodno,icvchtyp,'1',TO_NUMBER(fill_zero(TO_CHAR(v_serieno), 6, 0)),rtrim(TO_CHAR(year(CURRENT TIMESTAMP))));
-- SET v_cflag = -1;
-- END IF;
--代理保单号
ElseIf icvchtyp = '2' THEN
--SET odzno = '02' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(fill_zero( TO_CHAR(v_serieno), 6, 0), '');
--保单号
ELSEIF icvchtyp = '1' THEN
-- SET odzno = '01' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(fill_zero(TO_CHAR(v_serieno), 6, 0), '');
SET odzno = '01' || COALESCE(v_cyear, '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(right('000000'||rtrim(CHAR(v_serieno)), 6), '');
--网销保单号
ELSEIF icvchtyp = '6' THEN
SET odzno = '06' || COALESCE(v_cyear, '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(right('000000'||rtrim(CHAR(v_serieno)), 6), '');
--批改申请单号=保单号+A+序号
ELSEIF icvchtyp = '7' THEN
SET odzno ='07'|| COALESCE(v_cyear, '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(right('000000'||rtrim(CHAR(v_serieno)), 6), '');
BEGIN
-- if ijmpflag = 0 then
-- SELECT COUNT(*)
-- INTO ncount
-- FROM t_edr_base
-- WHERE c_ply_no = odzno;
-- elseif ijmpflag > 0 then
-- /*如果存在就进行跳号,由于其流水号不是根据t_serieno表产生,所以需要做以下处理*/
-- SET ncount = ncount+1;
-- if nCount>99 then
-- /*如果跳了100次还不行,则强行退出*/
-- SET v_cflag = -2;
-- LEAVE LOOP_LABEL;
-- end if;
-- end if;
--
-- SET v_sno = fill_zero(TO_CHAR(ncount + 1), 2, 0);
--
-- --SET odzno = COALESCE(odzno, '') || 'A' || COALESCE(v_sno, ''); del by yuanf
-- SET odzno = COALESCE(v_odzno, '') || 'A' || COALESCE(v_sno, '');
--
-- SELECT COUNT(*)
-- INTO ijmpflag
-- FROM t_edr_base
-- WHERE c_edr_app_no = odzno;
-- --有重号
-- IF ijmpflag > 0 THEN
--
-- /*INSERT INTO t_seriejmpno (c_crt_cde, t_crt_tm, c_upd_cde, t_upd_tm,
-- c_dpt_cde, c_prod_no, c_vch_typ, c_chg_rsn,
-- c_tgt_serie_no,
-- c_tgt_year) VALUES (inusr,CURRENT TIMESTAMP ,inusr,CURRENT TIMESTAMP ,v_dptcde,v_prodno,icvchtyp,'1',TO_NUMBER(SUBSTR(odzno, 14)),RTRIM(TO_CHAR(YEAR(CURRENT TIMESTAMP))));
-- */
-- SET v_cflag = -1;
--
-- END IF;
END;
--批单号=保单号+序号
ELSEIF icvchtyp = '3' THEN
SET odzno ='03'|| COALESCE(v_cyear, '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(right('000000'||rtrim(CHAR(v_serieno)), 6), '');
BEGIN
-- if ijmpflag = 0 then
-- SELECT COUNT(*)
-- INTO ncount
-- FROM t_edr_base
-- WHERE c_ply_no = odzno;
-- elseif ijmpflag > 0 then
-- /*如果存在就进行跳号,由于其流水号不是根据t_serieno表产生,所以需要做以下处理*/
-- SET ncount = ncount+1;
-- if nCount>99 then
-- /*如果跳了100次还不行,则强行退出*/
-- SET v_cflag = -2;
-- LEAVE LOOP_LABEL;
-- end if;
-- end if;
--
-- SET v_sno = fill_zero(TO_CHAR(ncount), 2, 0);
--
-- --SET odzno = COALESCE(odzno, '') || '-' || COALESCE(v_sno, '');
-- SET odzno = COALESCE(v_odzno, '') || '-' || COALESCE(v_sno, '');
--
-- SELECT COUNT(*)
-- INTO ijmpflag
-- FROM t_edr_base
-- WHERE c_edr_no = odzno;
--
-- IF ijmpflag > 0 THEN
--
-- /*INSERT INTO t_seriejmpno (c_crt_cde, t_crt_tm, c_upd_cde, t_upd_tm,
-- c_dpt_cde, c_prod_no, c_vch_typ, c_chg_rsn,
-- c_tgt_serie_no,
-- c_tgt_year) VALUES (inusr,CURRENT TIMESTAMP ,inusr,CURRENT TIMESTAMP ,v_dptcde,v_prodno,icvchtyp,'1',TO_NUMBER(SUBSTR(odzno, 14)),RTRIM(TO_CHAR(YEAR(CURRENT TIMESTAMP))));
-- */
-- SET v_cflag = -1;
--
-- END IF;
END;
--报案号 = 年份(4)+机构(4)+产品码(7)+流水号(6)
ELSEIF icvchtyp = '9' THEN
SET odzno ='09'|| COALESCE(v_cyear, '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(right('000000'||rtrim(CHAR(v_serieno)), 6), '');
--赔案号 =年份(4)+ 机构(4)+产品码(4)+流水号(6)
ELSEIF icvchtyp = '4' THEN
SET odzno ='04'|| COALESCE(v_cyear, '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(right('000000'||rtrim(CHAR(v_serieno)), 6), '');
--结案归档号 = 标识(2)+年份(2)+机构(4)+产品码(4)+流水号(6)
ELSEIF icvchtyp = 'L3' THEN
-- BEGIN
-- SET odzno = '06' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || COALESCE(right('000000'||CHAR(v_serieno), 6), '');
-- END;
--追偿号 = 标识(1)+年份(2)+机构(4)+产品码(4)+二级分类'1'(1)+流水号(6)*/
ELSEIF icvchtyp = '01' THEN
-- BEGIN
-- SET odzno = 'Z' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || '1' || COALESCE(right('000000'||CHAR(v_serieno), 6), '');
-- END;
--追偿结案号 = 标识(1)+机构(4)+产品码(4)+年份(4)+二级分类'2'(1)+流水号(6)
/*ELSEIF icvchtyp = '02' THEN
BEGIN
SET odzno = 'Z' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(v_prodno, '') || '2' || COALESCE(right('000000'||CHAR(v_serieno), 6), '');
END;
*/
--财务保费收据号 = 标识(1)+年份(2)+机构(4)+产品(4)+流水号(5)*/
ELSEIF icvchtyp = 'R' THEN
BEGIN
SET sztemp = right('000000'||rtrim(CHAR(v_serieno)),6);
SET odzno = 'R' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(LTRIM(RTRIM(v_prodno)), '') || COALESCE(sztemp, '');
END;
/* 财务手续费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5) */
ELSEIF icvchtyp = 'S' THEN
BEGIN
SET sztemp =right('000000'||rtrim(CHAR(v_serieno)),6);
SET odzno = 'S' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(LTRIM(RTRIM(v_prodno)), '') || COALESCE(sztemp, '');
END;
/* 财务赔款收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5) */
ELSEIF icvchtyp = 'M' THEN
BEGIN
SET sztemp = right('000000'||rtrim(CHAR(v_serieno)),6);
SET odzno = 'M' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(LTRIM(RTRIM(v_prodno)), '') || COALESCE(sztemp, '');
END;
/* 财务退保费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5) */
ELSEIF icvchtyp = 'U' THEN
BEGIN
SET sztemp = right('000000'||rtrim(CHAR(v_serieno)),6);
SET odzno = 'U' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(LTRIM(RTRIM(v_prodno)), '') || COALESCE(sztemp, '');
END;
/* 财务无赔退费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5) */
ELSEIF icvchtyp = 'N' THEN
BEGIN
SET sztemp = right('000000'||rtrim(CHAR(v_serieno)),6);
SET odzno = 'N' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(LTRIM(RTRIM(v_prodno)), '') || COALESCE(sztemp, '');
END;
/* 财务经纪费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5) */
ELSEIF icvchtyp = 'K' THEN
BEGIN
SET sztemp = right('000000'||rtrim(CHAR(v_serieno)),6);
SET odzno = 'K' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(LTRIM(RTRIM(v_prodno)), '') || COALESCE(sztemp, '');
END;
/* 约定退费收据号 = 标识(1)+机构(4)+年份(4)+产品大类(2)+流水号(5) */
ELSEIF icvchtyp = 'D' THEN
BEGIN
SET sztemp = right('000000'||rtrim(CHAR(v_serieno)),6);
SET odzno = 'D' || COALESCE(SUBSTR(v_cyear, 3, 2), '') || COALESCE(v_dptcde, '') || COALESCE(LTRIM(RTRIM(v_prodno)), '') || COALESCE(sztemp, '');
END;
--合作协议号,代理协议号,预约协议号 放在CreateSerieno中去了
/*ELSEIF (icvchtyp = 'B' or icvchtyp = 'C' or icvchtyp = 'A' ) THEN
SET odzno = icvchtyp || COALESCE(getupdptcode( icdptcde, 2 ), '') || COALESCE(v_cyear, '') || COALESCE(fill_zero(TO_CHAR(v_serieno), 5, 0), '');
SELECT COUNT(*)
INTO ijmpflag
FROM t_confer
WHERE c_agt_agr_no = odzno;
IF ijmpflag > 0 THEN
INSERT INTO t_seriejmpno (c_crt_cde, t_crt_tm, c_upd_cde, t_upd_tm,
c_dpt_cde, c_prod_no, c_vch_typ, c_chg_rsn,
c_tgt_serie_no,
c_tgt_year ) VALUES (inusr,CURRENT TIMESTAMP ,inusr,CURRENT TIMESTAMP ,v_dptcde,v_prodno,icvchtyp,'1',TO_NUMBER(fill_zero(TO_CHAR(v_serieno), 5, 0)),RTRIM(TO_CHAR(YEAR(CURRENT TIMESTAMP))));
SET v_cflag = '-1';
END IF;
*/
/* 赔案费用收据号 */
ELSE
SET sztemp =right('000000'||rtrim(CHAR(v_serieno)),6);
SET odzno = EMPTY_TO_NULL(COALESCE((COALESCE((COALESCE((COALESCE(icvchtyp, '') || COALESCE(SUBSTR(v_cyear, 3, 2), '')), '') || COALESCE(v_dptcde, '')), '') || COALESCE(LTRIM(RTRIM(v_prodno)), '')), '') || COALESCE(sztemp, ''));
END IF;
--IF v_cflag <> -1 THEN
-- LEAVE LOOP_LABEL;
--END IF;
--END LOOP LOOP_LABEL;
--SET icflag = v_cflag;
END;
END; |
|