日期:2014-05-17 浏览次数:20932 次
CREATE OR REPLACE PROCEDURE CHG_SHEET_STA(
p_SHEET_LVL varchar2,
p_SHEET_ID varchar2,
p_OPT_ID int)
AS
new_SHEET_STATUS varchar2(16);
S_ID int;
BEGIN
tran tran_CHG_SHEET_STA;
execute HOLD_SHEET_LOCK;
if p_SHEET_LVL is null or p_SHEET_ID is null or p_OPT_ID is null then
return ;
end if;
new_SHEET_STATUS := null;
execute immediate 'call GET_SHEET_STA_BY_OPT SHEET_LVL(:SHEET_LVL,:SHEET_ID,:OPT_ID,:OPT_ID,:p_new_SHEET_STATUS)' using p_SHEET_LVL,p_SHEET_ID,p_OPT_ID,new_SHEET_STATUS;
if new_SHEET_STATUS is not null then
if p_SHEET_LVL = 'MAIN_SHEET' then
execute immediate 'call CHG_FS_STA(:p1_SHEET_STREAM_NO,:p1_new_SHEET_STATUS)' using p_SHEET_ID, new_SHEET_STATUS;
elsif p_SHEET_LVL = 'SUB_FAULT' then
S_ID := to_number( p_SHEET_ID) ;
execute immediate 'call CHG_SFS_STA(:p1_SUB_FAULT_SHEET _ID,:p1_new_SHEET_STATUS)' using S_ID,new_SHEET_STATUS;
elsif p_SHEET_LVL = 'SUB_SHEET' then
S_ID := to_number(p_SHEET_ID) ;
execute immediate 'call CHG_SS_STA(:p1_SUB_SHEET_ID,:p1_new_SHEET_STATUS) ' using S_ID,new_SHEET_STATUS;
end if;
end if;
execute immediate 'call CHG_SHEET_FLAG(:SHEET_LVL,:SHEET_ID,:OPT_ID)' using p_SHEET_LVL,p_SHEET_ID,p_OPT_ID
commit tran tran_CHG_SHEET_STA;
END;