prompt 26.1¡¢×¡Ôº²¡È˷ѱðÐÞ¸Ä SP_ZY_BRFB00_EDIT00 -- MODIFICATION HISTORY -- Person Date Comments -- jlg 2007.06.18 Ôö¼ÓÏÃÃŹ¤ÉËÉç±£²¡ÈË´¦Àí ; -- jlg 2007.10.19 Ð޸ķѱðת»»ÂýµÄÎÊÌâ -- jlg 2007.10.30 Ð޸ķѱðת»»ÂýµÄÎÊÌâ -- XZW 2007.11.13 ·Ñ±ðÐÞ¸Äʱ²åÈë±íBM_BRCZRZ±íÖеļǼҪÇóÏêϸЩ -- zhr 2008.03.10 ×Ô·ÑתũºÏ£¬ÒªÐÞ¸ÄÏà¹Ø¼Ç¼±íµÄ×Ô¸¶±ÈÀý -- zhr 2008.08.30 ³ÇÕò¾ÓÃñÒ½±£ÓòÎÊýXT_CZJMYB_BRZTQKÀ´¶¨Ò壬Èç¹ûÊdzÇÕò¾ÓÃñÒ½±££¬Ò½±£ÖÐÐıäΪÐéÄâµÄ³ÇÕò¾ÓÃñÒ½±£·ÖÖÐÐÄ¡£ -- xzw 2009.03.27 ΪÁËÇø±ð³ö³ÇÕò¾ÓÃñÒ½±££¬¸ù¾ÝÒ½±£·µ»ØµÄ²¡ÈËÖ°ÍËÇé¿ö£¬´Ó±íBM_BRZTQKÖвéÕÒYBBRLB... -- qks 2009.08.26 ×Ô·Ñתҽ±££¬ZY_BRXXB0.YBKH00ҪдÈë -- xzw 2009.09.09 ·Ñ±ðת»»£ºÃÅÕ│״̬²»Òª¸Ä±ä³ÉÔÝͣʹÓÿ¨; -- qks 2009.10.30 Ôö¼ÓÌõ¼þ and BRLBMC not like '%³ÇÕò%' and BRLBMC not like '%¾ÓÃñ%' -- qks 2009.10.30 ÐÂÔöÒìµØÒ½±£·ÖÖÐÐÄ±í£¬¸ù¾ÝBM_FZXDY0µÄÐÅÏ¢ÕÒµ½´óÖÐÐÄ -- qks 2009.12.24 ×ԷѲ¡È˵Äas_FBMC00´«ÈëÖµ¿ÉÄÜÊÇ¡°·ÇÒ½±£¡± CREATE OR REPLACE PROCEDURE SP_ZY_BRFB00_EDIT00 ( ad_BRID00 IN NUMBER, --²¡ÈËID ad_ZYID00 IN NUMBER, --²¡ÈËסԺID as_FBMC00 IN CHAR, --²¡È˷ѱðÃû³Æ as_YBKH00 IN CHAR, --²¡ÈËÒ½±£¿¨ºÅ as_YBID00 IN CHAR, --²¡ÈËÒ½ÁƱ£ÏÕºÅ(Ò½±£ID) as_YBLB00 IN CHAR, --²¡ÈËËùÊôÒ½±£ÖÐÐÄÃû³Æ as_BRZTQK IN CHAR, --²¡ÈËÖ°ÍËÇé¿ö,Á½»á¼°±£½¡µÄÒ½±£²¡ÈËÀà±ðÈ¡µÄÊǸÃÖµ as_BCKBCS IN CHAR, --²¡ÈËסԺ´ÎÊý as_ZYLSH0 IN CHAR, --Ò½±£×¡ÔºÁ÷Ë®ºÅ as_XM0000 IN CHAR, --²¡ÈËÐÕÃû,Ò½±£·µ»ØµÄ²¡ÈË ad_CZY000 IN CHAR, --²Ù×÷Ô± as_CZYXM0 IN CHAR, --²Ù×÷Ô±ÐÕÃû as_rylb00 in char, --ÈëÔºÀà±ð as_tsbz00 in char default '1', as_GSDJH0 IN CHAR, --¹¤É˵ǼǺŠas_YHMSG0 OUT VARCHAR, --´æ´¢¹ý³ÌÌáʾµÄ´íÎóÐÅÏ¢ as_SYSMSG OUT VARCHAR --ϵͳÌáʾµÄ´íÎóÐÅÏ¢ ) as ls_FBBH00 BM_BRFBB0.FBBH00%TYPE; --²¡È˷ѱð±àºÅ ls_YBLBBH IC_YBBRLB.YBLB00%TYPE; --Ò½±£·ÖÖÐÐĶÔÓ¦µÄ±àºÅ ls_YBZXLB IC_YBBRLB.YBZXLB%TYPE; --Ò½±£ÖÐÐĶÔÓ¦µÄ±àºÅ ls_OLDFB0 BM_BRFBB0.FBMC00%TYPE; ls_YBBRLB BM_YBBRLB.YBBRLB%TYPE; LS_JFLBID ZY_BRZHXX.JFLBID%TYPE; ls_CZYKSH ZY_BRFY00.CZYKS0%TYPE; LS_ZYID00 ZY_BRXXB0.ZYID00%TYPE; ls_ZYH000 ZY_BRFY00.ZYH000%TYPE; ls_jzje00 ZY_FYMX00.JZJE00%TYPE; LS_JZJE01 ZY_FYMX00.JZJE00%TYPE; LS_ZFJE00 ZY_FYMX00.ZFJE00%TYPE; LS_ZFY000 ZY_FYMX00.HJJE00%TYPE; ls_DJH000 ZY_BRFY00.DJH000%TYPE; ls_ZXJ000 ZY_BRJFB0.JFJE00%TYPE; ls_ZZZ000 ZY_BRJFB0.JFJE00%TYPE; ls_tsjk00 bm_ybbrlb.tsjk00%type; ls_COUNT0 NUMBER(5); ls_CZRQ00 CHAR(8); ls_CZSJ00 CHAR(8); ZY_SFYGFSX varchar2(12); ls_oldybm IC_YBBRLB.ybmc00%type; ls_newybm IC_YBBRLB.ybmc00%type; ls_FBBH01 BM_BRFBB0.FBBH00%TYPE; --²¡ÈËת»»Ç°µÄ·Ñ±ð±àºÅ BEGIN begin select trim(value0) into ZY_SFYGFSX from xt_xtcs00 where name00='ZY_SFYGFSX'; exception when others then ZY_SFYGFSX:='N'; end; ls_CZRQ00 := to_char(sysdate,'YYYYMMDD'); ls_CZSJ00 := to_char(sysdate,'HH24:MI:SS'); ls_YBLBBH := '0'; --ÈôÊÇ·ÇÒ½±£²¡ÈË,ĬÈÏΪ'0' ls_YBBRLB := '0'; as_SYSMSG:='select B.FBMC00 from BM_BRXXB0 A,BM_BRFBB0 B where A.FBBH00 = B.FBBH00 and A.BRID00='||to_char(ad_BRID00); select B.FBMC00,substr(A.yblb00,1,1),A.FBBH00 into ls_OLDFB0,ls_YBLBBH,ls_FBBH01 from BM_BRXXB0 A,BM_BRFBB0 B where A.FBBH00 = B.FBBH00 and A.BRID00=ad_BRID00; as_SYSMSG:='select FBBH00 from BM_BRFBB0 where FBMC00 = '||as_FBMC00||' and rownum=1'; --select FBBH00 into ls_FBBH00 from BM_BRFBB0 where FBMC00 = as_FBMC00 and rownum=1; select FBBH00 into ls_FBBH00 from BM_BRFBB0 where (FBMC00 = as_FBMC00 or as_FBMC00='×Ô·Ñ' and FBMC00 ='·ÇÒ½±£') and rownum=1; as_SYSMSG:='SELECT JFLBID FROM ZY_BRZHXX WHERE BRID00='||to_char(ad_BRID00)||' AND SFDJ00=0'; SELECT JFLBID INTO LS_JFLBID FROM ZY_BRZHXX WHERE BRID00=ad_BRID00 AND SFDJ00='0'; as_SYSMSG:='SELECT ZYH000,ZYID00 FROM ZY_BRXXB0 WHERE ZYID00=(SELECT MAX(ZYID00) FROM ZY_BRXXB0 WHERE BRID00='||to_char(ad_BRID00)||')'; SELECT ZYH000,ZYID00 INTO LS_ZYH000,LS_ZYID00 FROM ZY_BRXXB0 WHERE ZYID00=(SELECT MAX(ZYID00) FROM ZY_BRXXB0 WHERE BRID00=ad_BRID00); as_SYSMSG:='select A.BMBH00 from bm_bmbm00 A,BM_YGBM00 B WHERE B.BMBH00=A.BMBH00 and b.ygbh00='||ad_CZY000||' and rownum=1'; select A.BMBH00 into ls_CZYKSH from bm_bmbm00 A,BM_YGBM00 B WHERE B.BMBH00=A.BMBH00 and b.ygbh00=to_number(ad_CZY000) and rownum=1; --µÃµ½Ô­À´µÄÒ½±£ÖÐÐÄÃû³Æ BEGIN select A.YBMC00 into ls_oldybm from IC_YBBRLB A,BM_BRFBB0 B where A.FBBH00 = B.FBBH00 and A.yblb00 = ls_YBLBBH and a.fbbh00=ls_FBBH01; EXCEPTION WHEN NO_DATA_FOUND THEN as_YHMSG0:='Ò½±£²¡ÈËËùÊôÒ½±£ÖÐÐÄÃû³ÆÓÐ´í£¬ÏµÍ³×Öµäά»¤²»ÍêÕû£¡'; as_SYSMSG:=SQLERRM||'Not exists(select * from IC_YBBRLB A,BM_BRFBB0 B where A.FBBH00 = B.FBBH00 and A.yblb00 ='||ls_YBLBBH||')'; ROLLBACK; RETURN; END; --ÅжÏÒ½±£ÖÐÐĶÔÓ¦µÄÒ½±£µÄ±àºÅ BEGIN --select YBLB00,YBZXLB,YBMC00 into ls_YBLBBH,ls_YBZXLB,ls_newybm from IC_YBBRLB where YBMC00 = as_YBLB00 and FBBH00 = ls_FBBH00; select YBLB00,YBZXLB,YBMC00 into ls_YBLBBH,ls_YBZXLB,ls_newybm from IC_YBBRLB where (YBMC00 = as_YBLB00 or as_YBLB00='×Ô·Ñ' and YBMC00 ='·ÇÒ½±£') and FBBH00 = ls_FBBH00; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN select A.YBLB00,A.YBZXLB,A.YBMC00 into ls_YBLBBH,ls_YBZXLB,ls_newybm from IC_YBBRLB a,BM_FZXDY0 b where a.FBBH00=b.FBBH00 and a.YBLB00=b.YBLB00 and b.FZXMC0 = as_YBLB00 and b.FBBH00 = ls_FBBH00; EXCEPTION WHEN NO_DATA_FOUND THEN as_YHMSG0:='Ò½±£²¡ÈËËùÊôÒ½±£ÖÐÐÄÃû³ÆÓÐ´í£¬ÏµÍ³×Öµäά»¤²»ÍêÕû£¡'; as_SYSMSG:=SQLERRM||'Not exists(select * from ic_ybbrlb where ybmc00='||as_YBLB00||')'; ROLLBACK; RETURN; END; END; --Ò½/Å©±£×ª×Ô·Ñ ,»ò×Ô·Ñתҽ/Å©±£ --IF as_FBMC00 = 'Ò½±£' THEN --ÊÇ·ñÊÇÒ½±£²¡ÈËÐÅÏ¢µÇ¼Ç,'Y':Ò½±£²¡ÈË --IF (as_FBMC00 = 'Ò½±£' or (ls_FBBH00=90)) or ((ls_OLDFB0='Ò½±£' or (ls_FBBH01=90)) and (as_FBMC00 = '×Ô·Ñ')) THEN --ÊÇ·ñÊÇÒ½±£²¡ÈËÐÅÏ¢µÇ¼Ç,'Y':Ò½±£²¡ÈË IF ((as_FBMC00 = 'Ò½±£' or (ls_FBBH00=90)) and (ls_FBBH01=1)) or ((ls_OLDFB0='Ò½±£' or (ls_FBBH01=90)) and (ls_FBBH00=1)) THEN --ÊÇ·ñÊÇÒ½±£²¡ÈËÐÅÏ¢µÇ¼Ç,'Y':Ò½±£²¡ÈË --(as_FBMC00 = '×Ô·Ñ')»»Îª(ls_FBBH00=1) BEGIN --µÃµ½Ò½±£²¡ÈËÀà±ð select YBBRLB into ls_YBBRLB from BM_BRZTQK where ZTQKMC = as_BRZTQK and YBZXLB = ls_YBZXLB and FBBH00 = ls_FBBH00; exception when others then begin select YBBRLB into ls_YBBRLB from BM_YBBRLB where BRLBMC = as_BRZTQK and YBZXLB=ls_YBZXLB and FBBH00 = ls_FBBH00; EXCEPTION WHEN NO_DATA_FOUND THEN select count(*) into ls_COUNT0 from BM_YBBRLB where YBZXLB=ls_YBZXLB and BRLBMC not like '%³ÇÕò%' and BRLBMC not like '%¾ÓÃñ%'; if ls_COUNT0 > 1 then --˵Ã÷»¹Ó¦¸ÃÓв¡ÈËÀà±ðµÄÖµ as_YHMSG0:='Ò½±£²¡È˶ÔÓ¦µÄ²¡ÈËÀà±ðÃû³Æ{'||as_BRZTQK||'}ÔÚÒ½±£Àà±ð×Öµä±íÖв»´æÔÚ£¬ÇëÓëϵͳ¹ÜÀíÔ±ÁªÏµ£¡'; as_SYSMSG:=SQLERRM||'Not exists(select * from bm_ybbrlb where ybzxlb='||ls_YBZXLB||' and BRLBMC='''||as_BRZTQK||''')'; ROLLBACK; RETURN; else ls_YBBRLB:='0'; end if; end; END; --2008.08.30 zhr ³ÇÕò¾ÓÃñÒ½±£ÐéÄâÒ»¸öеÄÒ½±£·ÖÖÐÐÄ /*if ls_FBBH00=3 then select count(*) into ls_COUNT0 from IC_YBBRLB where YBZXLB=ls_YBZXLB and YBLB00='€' and FBBH00=3; if ls_COUNT0>0 then select count(*) into ls_COUNT0 from XT_XTCS00 where instrb(';'||trim(VALUE0)||';',';'||as_BRZTQK||';')>0 and NAME00='XT_CZJMYB_BRZTQK'; if ls_COUNT0>0 then ls_YBLBBH:='€'; end if; end if; end if;*/ Update BM_BRXXB0 set FBBH00 = ls_FBBH00, --·Ñ±ð±àºÅ YBKH00 = as_YBKH00, --Ò½±£¿¨ºÅ YBID00 = as_YBID00, --Ò½±£ID YBLB00 = ls_YBLBBH, --Ò½±£Àà±ð±àºÅ YBBRLB = ls_YBBRLB, --Ò½±£²¡ÈËÀà±ð BRZTQK = as_BRZTQK --²¡ÈËÖ°ÍËÇé¿ö where BRID00 = ad_BRID00; Update ZY_BRXXB0 set FBBH00 = ls_FBBH00, --·Ñ±ðÃû³Æ YBZYCS = as_BCKBCS, --²¡ÈËסԺ´ÎÊý YBZYH0 = as_ZYLSH0, --Ò½±£×¡ÔºÁ÷Ë®ºÅ YBKH00 = as_YBKH00, --Ò½±£¿¨ºÅ RYLB00 = as_rylb00, YBLB00 = ls_YBLBBH, --Ò½±£Àà±ð±àºÅ GSDJH0 = as_GSDJH0, YBBRLB = ls_YBBRLB, YBZXLB = ls_YBZXLB where BRID00 = ad_BRID00 and ZYID00 = ad_ZYID00 and XM0000 = as_XM0000 and CYRQ00 is null; if SQL%NOTFOUND then as_YHMSG0:='²¡È˷ѱðÐ޸ĴíÎó,ÇëÉÔºîÔÙÊÔ!'; as_SYSMSG:=SQLERRM; ROLLBACK; RETURN; end if; IF (as_FBMC00 = 'Ò½±£') or (ls_YBZXLB='@') then --×Ô·Ñתҽ±£ begin --ZY_FYMX00 ±íµÄ zfbl00 update ZY_FYMX00 A SET ZFBL00= (select ZFBL00 from VW_BM_YBSFDY B where B.SFXMID=A.XMBH00 AND B.SFYP00='N' and B.FBBH00=ls_FBBH00 AND B.YBBRLB=ls_YBBRLB AND B.YBZXLB=ls_YBZXLB ) where MXID00 IN (select X.MXID00 from ZY_BRFY00 D,ZY_FYMX00 X where X.DJH000=D.DJH000 AND D.ZYID00=ad_ZYID00 AND D.JZDH00+0=0 and X.XMBH00 < 9999999990 ) ; --zy_cfmx00 ±íµÄ ZFBL00 update YF_ZYCFMX A SET (ZFBL00,YBLB00) = (select ZFBL00,B.YBLB00 from VW_BM_YBSFDY B where B.SFXMID=A.YPNM00 AND B.SFYP00='Y' and B.FBBH00=ls_FBBH00 AND B.YBBRLB=ls_YBBRLB AND B.YBZXLB=ls_YBZXLB) WHERE CFID00 IN (SELECT CFID00 from YF_ZYCF00 D,ZY_BRFY00 F,YF_ZYCFMX X where F.ZYID00=ad_ZYID00 AND F.JZDH00+0=0 and D.ZYID00=F.ZYID00 and D.DJH000=F.DJH000 and X.CFLSH0=D.CFLSH0); --YF_YZYPSQ update YF_YZYPSQ A SET ZFBL00= (select ZFBL00 from VW_BM_YBSFDY B where B.SFXMID=A.YPNM00 AND B.SFYP00='Y' and B.FBBH00=ls_FBBH00 AND B.YBBRLB=ls_YBBRLB AND B.YBZXLB=ls_YBZXLB) where YPQLPC in (select YPQLPC from YF_YZYPSQ D,ZY_BRFY00 F where F.ZYID00=ad_ZYID00 AND F.JZDH00+0=0 and D.ZYID00=F.ZYID00 and d.DJH000=F.DJH000) ; end ; else begin --Ò½±£×ª ×Ô·Ñ --ZY_FYMX00 ±íµÄ zfbl00 update ZY_FYMX00 A SET ZFBL00=1 where djh000 in (SELECT djh000 FROM ZY_BRFY00 D WHERE D.ZYID00=ad_ZYID00 AND D.JZDH00+0=0); -- zy_cfmx00 ±íµÄ ZFBL00 update YF_ZYCFMX A SET ZFBL00= 1,YBLB00='7' where cflsh0 in (select cflsh0 from YF_ZYCF00 D,ZY_BRFY00 E where D.ZYID00=ad_ZYID00 AND D.DJH000=E.DJH000 AND E.JZDH00+0=0); --YF_YZYPSQ update YF_YZYPSQ A SET ZFBL00=1 where exists (select 1 from ZY_BRFY00 E where DJH000=A.DJH000 AND E.JZDH00+0=0 AND E.ZYID00=ad_ZYID00 AND E.ZYID00=A.ZYID00 ) and ZYID00=ad_ZYID00 ; end; end if; update ic_yhxx00 set zt0000='2' where brid00=ad_BRID00 and -- not exists (select 1 from xt_yyxx00 where yyid00='223368');--°Ñ×Ô·Ñ¿¨Í£Óà not exists (select 1 from xt_yyxx00 where yyid00 in ('223368','221094'));--°Ñ×Ô·Ñ¿¨Í£Óà --2007.02.05ÆÎÌï,·Î¿ÆÒªÇó×Ô·Ñ¿¨²»ÒªÍ£Óà --´¦ÀíÄÏÆ½Ò½±£ÈÕÇåµ¥·¢ËÍ update zy_brfy00 set YBFSDH=0 where ZYID00=ad_ZYID00; update zy_brzhxx set ybyjs0=0,ybyzf0=0,ybzfje=0 where brid00=ad_BRID00; ELSE Update BM_BRXXB0 set FBBH00 = ls_FBBH00, --·Ñ±ð±àºÅ YBKH00 = '0', --Ò½±£¿¨ºÅ YBID00 = '0', --Ò½±£ID YBLB00 = ls_YBLBBH, --Ò½±£Àà±ð±àºÅ YBBRLB = '0' where BRID00 = ad_BRID00; Update ZY_BRXXB0 set FBBH00 = ls_FBBH00, --·Ñ±ðÃû³Æ YBZYCS = 0, --²¡ÈËסԺ´ÎÊý YBZYH0 = '0', --Ò½±£×¡ÔºÁ÷Ë®ºÅ YBLB00 = ls_YBLBBH, --Ò½±£Àà±ð±àºÅ RYLB00 = as_rylb00, --ÈëÔºÀà±ð GSDJH0 = '', YBBRLB = '0' where BRID00 = ad_BRID00 and ZYID00 = ad_ZYID00 and XM0000 = as_XM0000 and CYRQ00 is null; if SQL%NOTFOUND then as_YHMSG0:='²¡È˷ѱðÐ޸ĴíÎó,ÇëÉÔºîÔÙÊÔ!'; as_SYSMSG:=SQLERRM; ROLLBACK; RETURN; end if; IF trim(ZY_SFYGFSX)='N' THEN --ËùÓÐÒѼÇÕÊ·ÑÓÃзѱðϵļÇÕʽð¶î SELECT SF_ZY_GETYBJZ(ad_BRID00) into ls_jzje00 FROM dual; --ËùÓÐÒѼÇÕÊ·ÑÓÃÀúÊ·µÄ¼ÇÕʽð¶î SELECT SUM(JZJE00) INTO LS_JZJE01 FROM ZY_BRFY00 WHERE BRID00=ad_BRID00 AND JZDH00+0=0;--×Ô¸¶½ð¶î --¼ÆËã¼ÇÕʽð¶î²î LS_JZJE00:=LS_JZJE00-LS_JZJE01; --¼ÆËã×Ô¸¶½ð¶î²î,ĿǰË㷨̫¸´ÔÓ£¬Êµ¼Ê¾ÍµÈÓÚ -ls_jzje00 SELECT (SUM(HJJE00)-LS_JZJE00-LS_JZJE01)-SUM(ZFJE00)-SUM(gfje00),SUM(HJJE00) INTO LS_ZFJE00,LS_ZFY000 FROM ZY_BRFY00 WHERE BRID00=ad_BRID00 AND JZDH00+0=0;--×Ô¸¶½ð¶î select SQ_ZY_BRJFB0_DJH000.nextval into ls_DJH000 from dual; Insert into ZY_BRFY00(DJH000,ZYH000,ZYID00,JFLBID,BRID00,XM0000,BRFB00,HJJE00,ZFJE00,JZJE00,GFJE00,BRYE00, CZRQ00,CZSJ00,CZY000,CZYXM0,CZYKS0,JZDH00) values (ls_DJH000,ls_ZYH000,ad_ZYID00,0,ad_BRID00,as_XM0000,ls_FBBH00,0,NVL(LS_ZFJE00,0),NVL(ls_JZJE00,0),0,0, ls_CZRQ00,ls_CZSJ00,to_number(ad_CZY000),as_CZYXM0,ls_CZYKSH,0);--LS_JFLBID UPDATE ZY_BRFY00 SET JFLBID=LS_JFLBID WHERE ZYID00=ad_ZYID00 AND DJH000=ls_DJH000; --Ð޸IJ¡È˵ÄÕÊ»§ÐÅÏ¢ SELECT SUM(ZFJE00) INTO LS_ZFJE00 FROM ZY_BRFY00 WHERE BRID00=ad_BRID00 AND JZDH00+0=0;--×Ô¸¶½ð¶î if SQL%NOTFOUND then as_YHMSG0:='²¡È˷ѱðÐ޸ĴíÎó,ÇëÉÔºîÔÙÊÔ!'; as_SYSMSG:=SQLERRM; ROLLBACK; RETURN; end if; select NVL(sum(JFJE00),0) into ls_ZXJ000 from ZY_BRJFB0 where BRID00 = ad_BRID00 and JZDH00+0=0 and JFLBID = LS_JFLBID and ZFFS00 in (1,8); --ÏÖ½ð --ÀۼƵÄתÕʽ»·Ñ½ð¶î select NVL(sum(JFJE00),0) into ls_ZZZ000 from ZY_BRJFB0 where BRID00 = ad_BRID00 and JZDH00+0=0 and JFLBID = LS_JFLBID and ZFFS00 = 2; --תÕÊ if NVL(LS_ZFJE00,0)>NVL(ls_ZZZ000,0) then ls_ZXJ000 := nvl(ls_ZXJ000,0)+NVL(ls_ZZZ000,0); ls_ZXJ000 := NVL(ls_ZXJ000,0)-NVL(LS_ZFJE00,0); ls_ZZZ000 := 0; else ls_ZXJ000 := nvl(ls_ZXJ000,0); ls_ZZZ000 := NVL(ls_ZZZ000,0)-NVL(LS_ZFJE00,0); end if; Update ZY_BRZHXX set XJYE00=NVL(LS_ZXJ000,0), zzye00=nvl(ls_ZZZ000,0), ZYE000=NVL(LS_ZXJ000,0)+NVL(ls_ZZZ000,0), YKZYE0=NVL(LS_ZXJ000,0)+NVL(ls_ZZZ000,0), YBTCJE = 0, YBZFJE = 0 where BRID00=ad_BRID00; if SQL%NOTFOUND then as_YHMSG0:='²¡È˷ѱðÐ޸ĴíÎó,ÇëÉÔºîÔÙÊÔ!'; as_SYSMSG:=SQLERRM; ROLLBACK; RETURN; END IF; END IF; END IF; --·Ñ±ðת»»È¨ÏÞ¿ØÖÆ if as_tsbz00='2' then as_SYSMSG:='select tsjk00 from IC_YBBRLB where YBLB00='||ls_YBLBBH||' and FBBH00='||ls_FBBH00; select tsjk00 into ls_tsjk00 from IC_YBBRLB where YBLB00 = ls_YBLBBH and FBBH00=ls_FBBH00; if ls_tsjk00='1' then as_YHMSG0:='±¾²Ù×÷ԱûÓвÙ×÷ȨÏÞ'; as_SYSMSG:=SQLERRM; ROLLBACK; RETURN; end if; end if; --²åÈë·Ñ±ðת»»ÈÕÖ¾ Insert into BM_BRCZRZ(BRID00,CZRQ00,CZSJ00,CZY000,CZYXM0,OLDXX0,NEWXX0,BZ0000) values(ad_BRID00,to_char(sysdate,'YYYYMMDD'),to_char(sysdate,'HH24:MI:SS'),to_number(ad_CZY000),as_CZYXM0,ls_oldybm,ls_newybm,'סԺ·Ñ±ðÐÞ¸Ä'); --δ¼ÇÕʵĴ¦·½ºÍÒ½¼¼µ¥µÄ×Ô¸¶±ÈÀýµÈÐÅÏ¢¸ÄΪзѱð SP_ZY_FBEDIT_FYGX00(ad_BRID00,as_YHMSG0,as_SYSMSG); COMMIT; EXCEPTION WHEN NO_DATA_FOUND THEN as_YHMSG0:='²¡È˵ķѱðÃû³Æ²»´æÔÚ,ÇëÖØÐÂÊäÈ벡È˷ѱðÃû³Æ!'; as_SYSMSG:=SQLERRM||as_SYSMSG; ROLLBACK; WHEN OTHERS THEN as_YHMSG0:='³ö´íÔ­Òò²»Ïê,Çë¼Ç¼´ËÐÅÏ¢²¢ºÍϵͳ¹ÜÀíÔ±ÁªÏµ£¡'; as_SYSMSG:=substr(SQLERRM||'Ö´Ðд洢¹ý³Ì´íÎó:SP_ZY_BRFB00_EDIT00('||to_char(ad_BRID00)||','||as_FBMC00||','||as_YBKH00||','||as_YBID00||','||as_YBLB00||',as_YHMSG0,as_SYSMSG)',1,150); ROLLBACK; END; / show error; --%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%