111: end if;
112: end if;
113:
114: -- run the statement
115: source_cursor := dbms_sql.open_cursor;
116: dbms_sql.parse(source_cursor, v_sql_statement, dbms_sql.v7);
117: if V_DATATYPE = 1 then
118: dbms_sql.define_column(source_cursor, 1, return_value_char, 1500);
119: elsif V_DATATYPE = 2 then
112: end if;
113:
114: -- run the statement
115: source_cursor := dbms_sql.open_cursor;
116: dbms_sql.parse(source_cursor, v_sql_statement, dbms_sql.v7);
117: if V_DATATYPE = 1 then
118: dbms_sql.define_column(source_cursor, 1, return_value_char, 1500);
119: elsif V_DATATYPE = 2 then
120: dbms_sql.define_column(source_cursor, 1, return_value_num);
114: -- run the statement
115: source_cursor := dbms_sql.open_cursor;
116: dbms_sql.parse(source_cursor, v_sql_statement, dbms_sql.v7);
117: if V_DATATYPE = 1 then
118: dbms_sql.define_column(source_cursor, 1, return_value_char, 1500);
119: elsif V_DATATYPE = 2 then
120: dbms_sql.define_column(source_cursor, 1, return_value_num);
121: else
122: dbms_sql.define_column(source_cursor, 1, return_value_date);
116: dbms_sql.parse(source_cursor, v_sql_statement, dbms_sql.v7);
117: if V_DATATYPE = 1 then
118: dbms_sql.define_column(source_cursor, 1, return_value_char, 1500);
119: elsif V_DATATYPE = 2 then
120: dbms_sql.define_column(source_cursor, 1, return_value_num);
121: else
122: dbms_sql.define_column(source_cursor, 1, return_value_date);
123: end if;
124: ignore := dbms_sql.execute(source_cursor);
118: dbms_sql.define_column(source_cursor, 1, return_value_char, 1500);
119: elsif V_DATATYPE = 2 then
120: dbms_sql.define_column(source_cursor, 1, return_value_num);
121: else
122: dbms_sql.define_column(source_cursor, 1, return_value_date);
123: end if;
124: ignore := dbms_sql.execute(source_cursor);
125:
126: -- now get the value and return it
120: dbms_sql.define_column(source_cursor, 1, return_value_num);
121: else
122: dbms_sql.define_column(source_cursor, 1, return_value_date);
123: end if;
124: ignore := dbms_sql.execute(source_cursor);
125:
126: -- now get the value and return it
127:
128: -- For Bug2243760. Added Close_cursor statement in
127:
128: -- For Bug2243760. Added Close_cursor statement in
129: -- below three cases.
130:
131: if dbms_sql.fetch_rows(source_cursor)>0 then
132: if V_DATATYPE = 1 then
133: dbms_sql.column_value(source_cursor,1, return_value_char);
134: dbms_sql.close_cursor(source_cursor);
135: RETURN(return_value_char);
129: -- below three cases.
130:
131: if dbms_sql.fetch_rows(source_cursor)>0 then
132: if V_DATATYPE = 1 then
133: dbms_sql.column_value(source_cursor,1, return_value_char);
134: dbms_sql.close_cursor(source_cursor);
135: RETURN(return_value_char);
136: elsif V_DATATYPE = 2 then
137: dbms_sql.column_value(source_cursor,1, return_value_num);
130:
131: if dbms_sql.fetch_rows(source_cursor)>0 then
132: if V_DATATYPE = 1 then
133: dbms_sql.column_value(source_cursor,1, return_value_char);
134: dbms_sql.close_cursor(source_cursor);
135: RETURN(return_value_char);
136: elsif V_DATATYPE = 2 then
137: dbms_sql.column_value(source_cursor,1, return_value_num);
138: dbms_sql.close_cursor(source_cursor);
133: dbms_sql.column_value(source_cursor,1, return_value_char);
134: dbms_sql.close_cursor(source_cursor);
135: RETURN(return_value_char);
136: elsif V_DATATYPE = 2 then
137: dbms_sql.column_value(source_cursor,1, return_value_num);
138: dbms_sql.close_cursor(source_cursor);
139: RETURN(to_char(return_value_num));
140: else
141: dbms_sql.column_value(source_cursor,1, return_value_date);
134: dbms_sql.close_cursor(source_cursor);
135: RETURN(return_value_char);
136: elsif V_DATATYPE = 2 then
137: dbms_sql.column_value(source_cursor,1, return_value_num);
138: dbms_sql.close_cursor(source_cursor);
139: RETURN(to_char(return_value_num));
140: else
141: dbms_sql.column_value(source_cursor,1, return_value_date);
142: dbms_sql.close_cursor(source_cursor);
137: dbms_sql.column_value(source_cursor,1, return_value_num);
138: dbms_sql.close_cursor(source_cursor);
139: RETURN(to_char(return_value_num));
140: else
141: dbms_sql.column_value(source_cursor,1, return_value_date);
142: dbms_sql.close_cursor(source_cursor);
143: RETURN(to_char(return_value_date));
144: end if;
145: end if;
138: dbms_sql.close_cursor(source_cursor);
139: RETURN(to_char(return_value_num));
140: else
141: dbms_sql.column_value(source_cursor,1, return_value_date);
142: dbms_sql.close_cursor(source_cursor);
143: RETURN(to_char(return_value_date));
144: end if;
145: end if;
146: