View Single Post
  #11 (permalink)  
Old 12-14-09, 06:31
yassar yassar is offline
Registered User
 
Join Date: Nov 2009
Posts: 10
yes ..i am using informix version 11.5...in that stil i am geting an error like...


# ^
# 667: Variable(var_ba_action_id) not declared.
#

and the complete procedure is ...

CREATE PROCEDURE savetabledetails1(var_table_name char(20),var_row_id char(20),var_action_occured char(20))

DEFINE var_pkid_name char(20);
DEFINE var_column_name char(20);
DEFINE var_column_length char(20);
DEFINE i int;
DEFINE var_ar_pk_id char(20);
DEFINE var_ar_alert_id char(20);
DEFINE var_al_when char(20);
DEFINE var_al_numberof_days char(20);

DEFINE var_ba_action_id char(20);

DEFINE var_query lvarchar(2000);
DEFINE var_query1 lvarchar(2000);
LET i = 0;
LET var_query="select colname from syscolumns where tabid=(select tabid from systables where tabname=?)";
select MAX(colno) into var_column_length from syscolumns where tabid=(select tabid from systables where tabname=var_table_name);
select first 1 colname into var_pkid_name from syscolumns where tabid=(select tabid from systables where tabname=var_table_name);

PREPARE var_query_stmt FROM var_query;
DECLARE var_query_cur cursor FOR var_query_stmt;
OPEN var_query_cur USING var_table_name;


WHILE (i<var_column_length)
FETCH var_query_cur INTO var_column_name;

FOREACH SELECT ar_pk_id ,ar_alert_id INTO var_ar_pk_id,var_ar_alert_id FROM bam_alert_rule where (ar_l_table_name=var_table_name and ar_l_field= var_column_name) or (ar_r_table_name=var_table_name and ar_r_field= var_column_name)


IF( var_ar_pk_id is not null and var_ar_alert_id is not null ) then

--select ba_action_id into var_ba_action_id from bam_alert_actions where (ba_alert_id=var_ar_alert_id and ba_action_id like var_action_occured);

LET var_query1="select ba_action_id into var_ba_action_id from bam_alert_actions where ba_alert_id=var_ar_alert_id and ba_action_id like '" || trim(var_action_occured) || "' ";
EXECUTE IMMEDIATE var_query1;
if(var_ba_action_id is not null) then
select al_when,al_numberof_days into var_al_when ,var_al_numberof_days from bam_alerts where al_pk_id=var_ar_alert_id;
insert into bam_alert_table_details(bat_pk_id,bat_alert_id,bat _table_name,bat_field_name,bat_row_id,bat_alert_st atus,bat_name_pkid,bat_action_occured,bam_alert_wh en,bam_no_of_days)values(bam_changed_table_details _seq.NEXTVAL,var_ar_alert_id,var_table_name,var_co lumn_name,var_row_id ,'Pending',var_pkid_name,var_action_occured,var_al _when,var_al_numberof_days);
end if;
END IF;
END FOREACH;
LET i=i+1;
END WHILE;
CLOSE var_query_cur;
FREE var_query_cur;
FREE var_query_stmt;
END PROCEDURE;

why that error is coming....please help me out...its very urgent..

Last edited by yassar; 12-14-09 at 06:35.
Reply With Quote