PROCEDURE SP_JY_JYTXM0 ( PBRID00 in number , PMZZYBZ in char , PDCXCS0 in char default 'N' , --单条重新产生 PYJDJH0 in varchar, PJYYWID in varchar default '0', PCOMMIT in char default 'Y' ) as VTXMQZ0 JY_TXMDY0.TXMQZ0%type; --专业组别ID Vyzcfid yj_yw0000.yzcfid%type; --医嘱号 Vtxm000 jy_yw0000.txm000%type; --条形码 VZLXMID BM_ZLZD00.ZLXMID%type; VZLXMJC BM_ZLZD00.ZLXMJC%type; COUNTER number(3); Verrmsg varchar2(255); VZYGHID jy_yw0000.ZYGHID%type; VBBID00 jy_yw0000.BBID00%type; VYJDJH0 jy_yw0000.YJDJH0%type; VYJFZH0 jy_yw0000.YJFZH0%type; VYXBZ00 jy_yw0000.YXBZ00%type; VSFQFJZ xt_xtcs00.value0%type; VJYYWID JY_YW0000.JYYWID%type; VSQBQ00 JY_YW0000.SQBQ00%type; VSFYTM0 JY_TXMLB0.SFYTM0%type; VYEXM00 JY_YW0000.YEXM00%type; VSQRQ00 JY_YW0000.SQRQ00%type; JY_JYZDYTXMWS xt_xtcs00.value0%type; JY_JYCJSFCYZDYHYTM xt_xtcs00.value0%type; JY_TXMCXSCTXMSFPDTZBZ xt_xtcs00.value0%type; JY_JYTXMWSBBZDZJHZ xt_xtcs00.value0%type; V_YJDJH1 varchar2(10); V_YJDJH2 varchar2(10); V_YJDJH3 varchar2(10); V_YJDJH4 varchar2(10); V_YJDJH5 varchar2(10); V_YJDJH6 varchar2(10); V_YJDJH7 varchar2(10); V_YJDJH8 varchar2(10); V_YJDJH9 varchar2(10); V_YJDJH10 varchar2(10); V_YJDJH11 varchar2(10); V_YJDJH12 varchar2(10); V_YJDJH13 varchar2(10); V_YJDJH14 varchar2(10); V_YJDJH15 varchar2(10); V_YJDJH16 varchar2(10); V_YJDJH17 varchar2(10); V_YJDJH18 varchar2(10); V_YJDJH19 varchar2(10); V_YJDJH20 varchar2(10); V_YJDJH21 varchar2(200); V_POS001 number; V_POS002 number; cursor CUR_JY_TXM000 is select a.yjdjh0,a.YJFZH0,b.TXMQZ0,a.BBID00,a.txm000,a.ZLXMID,a.ZYGHID,a.yxbz00,JYYWID ,a.sqBq00,b.SFYTM0,A.YEXM00,A.SQRQ00 from JY_YW0000 a,VM_JY_TXMDY0 b where a.BRID00=PBRID00 and a.MZZYBZ=PMZZYBZ and ((a.mzzybz=b.qzsyfw) or (b.qzsyfw='3')) and a.JGZT00='0' and A.TXM000 is null and a.ZLXMID=b.ZLXMID orDER BY a.ZYGHID ASC,A.sqrq00 desc , a.TXM000 asc; --,a.YJDJH0 asc cursor CUR_JY_TXM001 is select a.yjdjh0,a.YJFZH0,b.TXMQZ0,a.BBID00,a.txm000,a.ZLXMID,a.ZYGHID,b.SFYTM0,A.YEXM00,A.SQRQ00 from JY_YW0000 a,VM_JY_TXMDY0 b where a.BRID00=PBRID00 and a.MZZYBZ=PMZZYBZ and a.JGZT00='0' and A.TXM000 is null and a.ZLXMID=b.ZLXMID and ((a.mzzybz=b.qzsyfw) or (b.qzsyfw='3')) and A.YJDJH0 in (V_YJDJH1,V_YJDJH2,V_YJDJH3,V_YJDJH4,V_YJDJH5,V_YJDJH6,V_YJDJH7, V_YJDJH8,V_YJDJH9,V_YJDJH10,V_YJDJH11,V_YJDJH12,V_YJDJH13,V_YJDJH14, V_YJDJH15,V_YJDJH16,V_YJDJH17,V_YJDJH18,V_YJDJH19,V_YJDJH20) orDER BY a.ZYGHID ASC, a.TXM000 asc; --,a.YJDJH0 asc begin begin select trim(value0) into VSFQFJZ from xt_xtcs00 where name00='JY_TXMSFQFJZ'; exception when others then VSFQFJZ:='Y'; end; begin select trim(value0) into JY_TXMCXSCTXMSFPDTZBZ from xt_xtcs00 where name00='JY_TXMCXSCTXMSFPDTZBZ'; exception when others then JY_TXMCXSCTXMSFPDTZBZ:='N'; end; begin select trim(value0) into JY_JYZDYTXMWS from xt_xtcs00 where name00='JY_JYZDYTXMWS'; exception when others then JY_JYZDYTXMWS:='12'; end; begin select trim(value0) into JY_JYTXMWSBBZDZJHZ from xt_xtcs00 where name00='JY_JYTXMWSBBZDZJHZ'; exception when others then JY_JYTXMWSBBZDZJHZ:='N'; end; begin select trim(value0) into JY_JYCJSFCYZDYHYTM from xt_xtcs00 where name00='JY_JYCJSFCYZDYHYTM' ; exception when others then JY_JYCJSFCYZDYHYTM:='N'; end; if PDCXCS0 = 'Y' then select ZLXMID into VZLXMID from JY_YW0000 where YJDJH0=PYJDJH0 and ((PJYYWID='0') or (jyywid=PJYYWID)) ; if JY_JYCJSFCYZDYHYTM='Y' then select COUNT(*) into COUNTER from VM_JY_TXMDY0 where ZLXMID=VZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and TXMQZ0 is not null; if COUNTER = 0 then return; end if; else select COUNT(*) into COUNTER from VM_JY_TXMDY0 where ZLXMID=VZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and TXMQZ0 is not null; if COUNTER = 0 then select ZLXMJC into VZLXMJC from BM_ZLZD00 where ZLXMID=VZLXMID; RAisE_APPLICATION_ERRor(-20001,'项目:"'||VZLXMJC||'"没有和条码进行对应!*'); end if; end if; if JY_JYZDYTXMWS='12' then select TXMQZ0||to_char(sysdate,'YYMMDD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=VZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; else select TXMQZ0||lpad(to_char((to_number(to_char(sysdate,'YY'))-20)*12+to_number(to_char(sysdate,'MM'))),2,'0')||to_char(sysdate,'DD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=VZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; end if; if (JY_JYTXMWSBBZDZJHZ<>'N') and (length(VTXM000)=to_number(JY_JYZDYTXMWS)) then VTXM000:=VTXM000||trim(JY_JYTXMWSBBZDZJHZ); end if; update JY_YW0000 A set BBCYRQ=null,BBCYSJ=null,BBDYBZ=0,JGZT00='0',TXM000=VTXM000 where YJDJH0 = PYJDJH0 and ((PJYYWID='0') or (jyywid=PJYYWID)) ; else if (PYJDJH0 is not null) and (PYJDJH0 <> '-1,') then V_YJDJH21:='1,'||PYJDJH0||',1'; V_POS001 := instr(V_YJDJH21,',',1,1); V_POS002 := instr(V_YJDJH21,',',1,2); V_YJDJH1 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,2); V_POS002 := instr(V_YJDJH21,',',1,3); V_YJDJH2 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,3); V_POS002 := instr(V_YJDJH21,',',1,4); V_YJDJH3 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,4); V_POS002 := instr(V_YJDJH21,',',1,5); V_YJDJH4 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,5); V_POS002 := instr(V_YJDJH21,',',1,6); V_YJDJH5 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,6); V_POS002 := instr(V_YJDJH21,',',1,7); V_YJDJH6 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,7); V_POS002 := instr(V_YJDJH21,',',1,8); V_YJDJH7 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,8); V_POS002 := instr(V_YJDJH21,',',1,9); V_YJDJH8 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,9); V_POS002 := instr(V_YJDJH21,',',1,10); V_YJDJH9 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,10); V_POS002 := instr(V_YJDJH21,',',1,11); V_YJDJH10 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,11); V_POS002 := instr(V_YJDJH21,',',1,12); V_YJDJH11 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,12); V_POS002 := instr(V_YJDJH21,',',1,13); V_YJDJH12 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,13); V_POS002 := instr(V_YJDJH21,',',1,14); V_YJDJH13 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,14); V_POS002 := instr(V_YJDJH21,',',1,15); V_YJDJH14 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,15); V_POS002 := instr(V_YJDJH21,',',1,16); V_YJDJH15 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,16); V_POS002 := instr(V_YJDJH21,',',1,17); V_YJDJH16 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,17); V_POS002 := instr(V_YJDJH21,',',1,18); V_YJDJH17 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,18); V_POS002 := instr(V_YJDJH21,',',1,19); V_YJDJH18 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,19); V_POS002 := instr(V_YJDJH21,',',1,20); V_YJDJH19 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); V_POS001 := instr(V_YJDJH21,',',1,20); V_POS002 := instr(V_YJDJH21,',',1,21); V_YJDJH20 := substr(V_YJDJH21,V_POS001+1,V_POS002-V_POS001-1); if JY_JYCJSFCYZDYHYTM='Y' then update JY_YW0000 A SET A.BBCYRQ=null,A.BBCYSJ=null,A.TXM000=null where A.BRID00=PBRID00 and A.JGZT00='0' and A.BBDYBZ=0 and A.YJDJH0 in (V_YJDJH1,V_YJDJH2,V_YJDJH3,V_YJDJH4,V_YJDJH5,V_YJDJH6,V_YJDJH7, V_YJDJH8,V_YJDJH9,V_YJDJH10,V_YJDJH11,V_YJDJH12,V_YJDJH13,V_YJDJH14, V_YJDJH15,V_YJDJH16,V_YJDJH17,V_YJDJH18,V_YJDJH19,V_YJDJH20) and exists (select 1 from VM_JY_TXMDY0 where ((a.mzzybz=qzsyfw) or (qzsyfw='3')) and zlxmid=A.zlxmid and SFYTM0='N'); else update JY_YW0000 SET BBCYRQ=null,BBCYSJ=null,TXM000=null where BRID00=PBRID00 and JGZT00='0' and BBDYBZ=0 and YJDJH0 in (V_YJDJH1,V_YJDJH2,V_YJDJH3,V_YJDJH4,V_YJDJH5,V_YJDJH6,V_YJDJH7, V_YJDJH8,V_YJDJH9,V_YJDJH10,V_YJDJH11,V_YJDJH12,V_YJDJH13,V_YJDJH14,V_YJDJH15,V_YJDJH16,V_YJDJH17,V_YJDJH18,V_YJDJH19,V_YJDJH20); end if; open CUR_JY_TXM001; fetch CUR_JY_TXM001 into VYJDJH0,VYJFZH0, VTXMQZ0, VBBID00, Vtxm000, VZLXMID, VZYGHID,VSFYTM0,VYEXM00,VSQRQ00; close CUR_JY_TXM001; for YJ in CUR_JY_TXM001 loop if YJ.TXMQZ0 is null then select ZLXMJC into VZLXMJC from BM_ZLZD00 where ZLXMID=YJ.ZLXMID; RAisE_APPLICATION_ERRor(-20001,'项目:"'||VZLXMJC||'"没有和条码进行对应!*'); end if; if (YJ.SFYTM0='Y') and (JY_JYCJSFCYZDYHYTM='Y') then null; else if trim(VZYGHID) <> trim(YJ.ZYGHID) then if JY_JYZDYTXMWS='12' then select TXMQZ0||to_char(sysdate,'YYMMDD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; else select TXMQZ0||lpad(to_char((to_number(to_char(sysdate,'YY'))-20)*12+to_number(to_char(sysdate,'MM'))),2,'0')||to_char(sysdate,'DD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; end if; end if; begin select A.TXM000 into VTXM000 from JY_YW0000 a,JY_TXMDY0 b where a.BRID00=PBRID00 and a.MZZYBZ=PMZZYBZ and a.JGZT00 = '0' and A.TXM000 is not null and a.ZLXMID=b.ZLXMID and b.TXMQZ0=YJ.TXMQZ0 and nvl(a.YEXM00,0)= nvl(YJ.YEXM00,0) and nvl(a.BBID00,0)=nvl(YJ.BBID00,0) and A.ZYGHID = YJ.ZYGHID and A.YJDJH0 in (V_YJDJH1,V_YJDJH2,V_YJDJH3,V_YJDJH4,V_YJDJH5,V_YJDJH6,V_YJDJH7, V_YJDJH8,V_YJDJH9,V_YJDJH10,V_YJDJH11,V_YJDJH12,V_YJDJH13,V_YJDJH14, V_YJDJH15,V_YJDJH16,V_YJDJH17,V_YJDJH18,V_YJDJH19,V_YJDJH20) and ((JY_TXMCXSCTXMSFPDTZBZ='N') or (a.ZLXMID in (select zlxmid from bm_zlzd00 where TMTZBH =(select TMTZBH from bm_zlzd00 where zlxmid=YJ.zlxmid and a.ZLXMID<>zlxmid and rownum =1 ) and TMTZBH is not null))) and a.SQRQ00=YJ.SQRQ00 and rowNUM=1; exception when NO_DATA_FOUND then if JY_JYZDYTXMWS='12' then select TXMQZ0||to_char(sysdate,'YYMMDD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; else select TXMQZ0||lpad(to_char((to_number(to_char(sysdate,'YY'))-20)*12+to_number(to_char(sysdate,'MM'))),2,'0')||to_char(sysdate,'DD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; end if; end; if (JY_JYTXMWSBBZDZJHZ<>'N') and (length(VTXM000)=to_number(JY_JYZDYTXMWS)) then VTXM000:=VTXM000||trim(JY_JYTXMWSBBZDZJHZ); end if; update JY_YW0000 set txm000=Vtxm000 where YJDJH0=YJ.YJDJH0; select YJ.ZYGHID into VZYGHID from DUAL; end if; end loop; else open CUR_JY_TXM000; fetch CUR_JY_TXM000 into VYJDJH0,VYJFZH0, VTXMQZ0, VBBID00, Vtxm000, VZLXMID, VZYGHID,VYXBZ00,VJYYWID,VSQBQ00,VSFYTM0,VYEXM00,VSQRQ00; close CUR_JY_TXM000; for YJ in CUR_JY_TXM000 loop if (YJ.SFYTM0='Y') and (JY_JYCJSFCYZDYHYTM='Y') then null; else if YJ.TXMQZ0 is null then select ZLXMJC into VZLXMJC from BM_ZLZD00 where ZLXMID=YJ.ZLXMID; RAisE_APPLICATION_ERRor(-20001,'项目:"'||VZLXMJC||'"没有和条码进行对应!*'); end if; if trim(VZYGHID) <> trim(YJ.ZYGHID) then if JY_JYZDYTXMWS='12' then select TXMQZ0||to_char(sysdate,'YYMMDD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; else select TXMQZ0||lpad(to_char((to_number(to_char(sysdate,'YY'))-20)*12+to_number(to_char(sysdate,'MM'))),2,'0')||to_char(sysdate,'DD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; end if; end if; begin select A.TXM000 into VTXM000 from JY_YW0000 a,JY_TXMDY0 b where a.BRID00=PBRID00 and a.MZZYBZ=PMZZYBZ and a.JGZT00 = '0' and A.TXM000 is not null and a.ZLXMID=b.ZLXMID and b.TXMQZ0=YJ.TXMQZ0 and nvl(a.YEXM00,0)= nvl(YJ.YEXM00,0) and nvl(a.BBID00,0)=nvl(YJ.BBID00,0) and ZYGHID = YJ.ZYGHID and nvl(a.sqbq00,0)=nvl(YJ.sqbq00,0) and a.ZLXMID in (select zlxmid from bm_zlzd00 where TMTZBH =(select TMTZBH from bm_zlzd00 where zlxmid=YJ.zlxmid and a.ZLXMID<>zlxmid and rownum =1 ) and TMTZBH is not null) and a.SQRQ00=YJ.SQRQ00 and rowNUM=1; exception when NO_DATA_FOUND then if JY_JYZDYTXMWS='12' then select TXMQZ0||to_char(sysdate,'YYMMDD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; else select TXMQZ0||lpad(to_char((to_number(to_char(sysdate,'YY'))-20)*12+to_number(to_char(sysdate,'MM'))),2,'0')||to_char(sysdate,'DD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; end if; end; if VSFQFJZ='Y' then select count(*) into COUNTER from JY_YW0000 where txm000=Vtxm000 and zlxmid =YJ.ZLXMID; else select count(*) into COUNTER from JY_YW0000 where txm000=Vtxm000 ; end if; if COUNTER>0 then begin select A.TXM000 into VTXM000 from JY_YW0000 a,JY_TXMDY0 b where a.BRID00=PBRID00 and a.MZZYBZ=PMZZYBZ and a.JGZT00 = '0' and A.TXM000 is not null and a.ZLXMID=b.ZLXMID and b.TXMQZ0=YJ.TXMQZ0 and nvl(a.BBID00,0)=nvl(YJ.BBID00,0) and ZYGHID = YJ.ZYGHID and nvl(a.YEXM00,0)= nvl(YJ.YEXM00,0) and nvl(a.sqbq00,0)=nvl(YJ.sqbq00,0) and a.ZLXMID in (select zlxmid from bm_zlzd00 where TMTZBH =(select TMTZBH from bm_zlzd00 where zlxmid=YJ.zlxmid and a.ZLXMID<>zlxmid and rownum =1 ) and TMTZBH is not null) and A.TXM000 not in (select A.TXM000 from JY_YW0000 a,JY_TXMDY0 b where a.BRID00=PBRID00 and a.MZZYBZ=PMZZYBZ and a.JGZT00 = '0' and A.TXM000 is not null and a.ZLXMID=b.ZLXMID and b.TXMQZ0=YJ.TXMQZ0 and nvl(a.BBID00,0)=nvl(YJ.BBID00,0) and ZYGHID = YJ.ZYGHID and a.ZLXMID=YJ.ZLXMID ) and (a.yxbz00=YJ.YXBZ00 or VSFQFJZ='Y') --急症与非急症是要拆分 and rowNUM=1 ; exception when NO_DATA_FOUND then if JY_JYZDYTXMWS='12' then select TXMQZ0||to_char(sysdate,'YYMMDD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; else select TXMQZ0||lpad(to_char((to_number(to_char(sysdate,'YY'))-20)*12+to_number(to_char(sysdate,'MM'))),2,'0')||to_char(sysdate,'DD')||LPAD(PRinT_TXM.nextval,4,'0') into Vtxm000 from VM_JY_TXMDY0 where ZLXMID=YJ.ZLXMID and ((PMZZYBZ=qzsyfw) or (qzsyfw='3')) and rowNUM=1; end if; end; end if; if (JY_JYTXMWSBBZDZJHZ<>'N') and (length(VTXM000)=to_number(JY_JYZDYTXMWS)) then VTXM000:=VTXM000||trim(JY_JYTXMWSBBZDZJHZ); end if; update JY_YW0000 set txm000=Vtxm000,TMDYRQ=null where jyywid=yj.jyywid; --yjdjh0=YJ.YJDJH0 and ZLXMID=YJ.ZLXMID; --拆分组合项目时YJDJH0一样 lintj select YJ.ZYGHID into VZYGHID from DUAL; end if; end loop; end if; end if; if PCOMMIT = 'Y' then COMMIT; end if; exception when others then RAisE_APPLICATION_ERRor(-20020, nvl(SQLERRM, '原因不明出错!*')); end SP_JY_JYTXM0;