日期:2014-05-16 浏览次数:20642 次
IF (V_COUNT > 0) THEN --更新ets_item_info UPDATE ETS_ITEM_INFO SET FINANCE_PROP = 'CTZC', LAST_UPDATE_DATE = SYSDATE, LAST_UPDATE_BY =P_USER_ID WHERE SYSTEMID = P_SYSTEMID; RETURN 1; ELSE GOTO lable; END IF; <<lable>> NULL; EXCEPTION WHEN OTHERSTHEN BEGIN P_ERRMSG := SQLERRM; RETURN 0; END;
?
<<lable>> 后面不能直接跟EXCEPTION这种关键字类的语句,要用NULL把标签跟关键字隔开。类似的关键字还有ENDLOOP之类的。。。
PROCEDURE PRC_F_yaa012_yw_ht ( prm_aae076 IN ad04a1.aae076%TYPE, -- 财务接口流水号 prm_yad060 IN ad04a1.yad060%TYPE, -- 收付种类 prm_yab003 IN ad04a1.yab003%TYPE, -- 社保经办机构 prm_YAA012 IN ad04a1.yaa012%TYPE, -- 财务处理标志 prm_AAB191 IN ad04a1.AAB191%TYPE, -- 实际到账日期 prm_AAE036 IN ad04a1.AAE036%TYPE, -- 登账日期 prm_AppCode OUT VARCHAR2, -- 执行代码 prm_ErrorMsg OUT VARCHAR2) -- 出错信息 IS --定义变量 var_bz CHAR(1); BEGIN /*初始化变量*/ prm_AppCode := pkg_COMM.gn_def_OK; prm_ErrorMsg := ''; var_bz := SUBSTR(prm_yad060,1,1); IF var_bz = 'R' THEN --居民医疗 --调用居民医保业务表同步过程 pkg_P_Comm.prc_P_updateFundAllocation (prm_aae076 , --单据号 prm_yad060 , --收付种类 prm_yab003 , --社保经办机构 prm_yaa012 , --财务处理标志 prm_aab191 , --到帐时间 prm_AAE036 , --财务结算日期 prm_AppCode , --错误代码 prm_ErrorMsg ); --错误内容 IF prm_AppCode <> pkg_COMM.gn_def_OK THEN GOTO label_ERROR; END IF; ELSIF var_bz = 'K' THEN --医疗待遇 pkg_k_PaymentComm.prc_k_PaymentWriteYw ( prm_aae076 , -- 财务接口流水号 prm_yad060 , -- 收付种类 prm_yab003 , -- 社保经办机构 prm_YAA012 , -- 财务处理标志 prm_AAB191 , -- 实际到账日期 prm_AAE036 , -- 登账日期 prm_AppCode , -- 错误代码 prm_ErrorMsg ); -- 错误内容 IF prm_AppCode <> pkg_COMM.gn_def_OK THEN GOTO label_ERROR; END IF; ELSE prm_AppCode := PRE_ERRCODE ||'0506'; prm_ErrorMsg := '无法同步财务接口流水号为' || prm_aae076||'的业务表!'; GOTO label_ERROR; END IF; /*成功处理*/ <<label_OK>> /*关闭打开的游标*/ /*给返回参数赋值*/ prm_AppCode := pkg_COMM.gn_def_OK ; prm_ErrorMsg := '' ; RETURN ; /*处理失败*/ <<label_ERROR>> /*关闭打开的游标*/ /*给返回参数赋值*/ IF prm_AppCode = pkg_COMM.gn_def_OK THEN prm_AppCode := PRE_ERRCODE || pkg_COMM.gn_def_ERR; END IF ; RETURN ; EXCEPTION -- WHEN NO_DATA_FOUND THEN -- WHEN TOO_MANY_ROWS THEN -- WHEN DUP_VAL_ON_INDEX THEN WHEN OTHERS THEN /*关闭打开的游标*/ prm_AppCode := PRE_ERRCODE || pkg_COMM.gn_def_ERR; prm_ErrorMsg := '数据库错误'|| SQLERRM ; RETURN; END PRC_F_yaa012_yw_ht;
?