105: l_sql_stmt :=l_sql_stmt||' user_name = :1'; -- fix for literals bug#3075851
106: l_sql_stmt :=l_sql_stmt||' AND user_type <> :2'; -- "
107:
108:
109: l_curr := dbms_sql.open_cursor;
110: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
111: dbms_sql.define_column(l_curr,1,user_info.user_pwd,100);
112: dbms_sql.define_column(l_curr,2,user_info.user_id);
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
106: l_sql_stmt :=l_sql_stmt||' AND user_type <> :2'; -- "
107:
108:
109: l_curr := dbms_sql.open_cursor;
110: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
111: dbms_sql.define_column(l_curr,1,user_info.user_pwd,100);
112: dbms_sql.define_column(l_curr,2,user_info.user_id);
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
114: dbms_sql.define_column(l_curr,4,h_st_dt_chk);
107:
108:
109: l_curr := dbms_sql.open_cursor;
110: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
111: dbms_sql.define_column(l_curr,1,user_info.user_pwd,100);
112: dbms_sql.define_column(l_curr,2,user_info.user_id);
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
114: dbms_sql.define_column(l_curr,4,h_st_dt_chk);
115: dbms_sql.define_column(l_curr,5,h_end_dt_chk);
108:
109: l_curr := dbms_sql.open_cursor;
110: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
111: dbms_sql.define_column(l_curr,1,user_info.user_pwd,100);
112: dbms_sql.define_column(l_curr,2,user_info.user_id);
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
114: dbms_sql.define_column(l_curr,4,h_st_dt_chk);
115: dbms_sql.define_column(l_curr,5,h_end_dt_chk);
116: dbms_sql.bind_variable(l_curr,':1',user_info.user_name); -- fix for literals bug#3075851
109: l_curr := dbms_sql.open_cursor;
110: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
111: dbms_sql.define_column(l_curr,1,user_info.user_pwd,100);
112: dbms_sql.define_column(l_curr,2,user_info.user_id);
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
114: dbms_sql.define_column(l_curr,4,h_st_dt_chk);
115: dbms_sql.define_column(l_curr,5,h_end_dt_chk);
116: dbms_sql.bind_variable(l_curr,':1',user_info.user_name); -- fix for literals bug#3075851
117: dbms_sql.bind_variable(l_curr,':2',BSC_SECURITY.DB_USER_TYPE); -- "
110: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
111: dbms_sql.define_column(l_curr,1,user_info.user_pwd,100);
112: dbms_sql.define_column(l_curr,2,user_info.user_id);
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
114: dbms_sql.define_column(l_curr,4,h_st_dt_chk);
115: dbms_sql.define_column(l_curr,5,h_end_dt_chk);
116: dbms_sql.bind_variable(l_curr,':1',user_info.user_name); -- fix for literals bug#3075851
117: dbms_sql.bind_variable(l_curr,':2',BSC_SECURITY.DB_USER_TYPE); -- "
118:
111: dbms_sql.define_column(l_curr,1,user_info.user_pwd,100);
112: dbms_sql.define_column(l_curr,2,user_info.user_id);
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
114: dbms_sql.define_column(l_curr,4,h_st_dt_chk);
115: dbms_sql.define_column(l_curr,5,h_end_dt_chk);
116: dbms_sql.bind_variable(l_curr,':1',user_info.user_name); -- fix for literals bug#3075851
117: dbms_sql.bind_variable(l_curr,':2',BSC_SECURITY.DB_USER_TYPE); -- "
118:
119: l_val := dbms_sql.execute(l_curr);
112: dbms_sql.define_column(l_curr,2,user_info.user_id);
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
114: dbms_sql.define_column(l_curr,4,h_st_dt_chk);
115: dbms_sql.define_column(l_curr,5,h_end_dt_chk);
116: dbms_sql.bind_variable(l_curr,':1',user_info.user_name); -- fix for literals bug#3075851
117: dbms_sql.bind_variable(l_curr,':2',BSC_SECURITY.DB_USER_TYPE); -- "
118:
119: l_val := dbms_sql.execute(l_curr);
120: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
113: dbms_sql.define_column(l_curr,3,user_info.user_type);
114: dbms_sql.define_column(l_curr,4,h_st_dt_chk);
115: dbms_sql.define_column(l_curr,5,h_end_dt_chk);
116: dbms_sql.bind_variable(l_curr,':1',user_info.user_name); -- fix for literals bug#3075851
117: dbms_sql.bind_variable(l_curr,':2',BSC_SECURITY.DB_USER_TYPE); -- "
118:
119: l_val := dbms_sql.execute(l_curr);
120: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
121: dbms_sql.column_value(l_curr,1,user_info.user_pwd);
115: dbms_sql.define_column(l_curr,5,h_end_dt_chk);
116: dbms_sql.bind_variable(l_curr,':1',user_info.user_name); -- fix for literals bug#3075851
117: dbms_sql.bind_variable(l_curr,':2',BSC_SECURITY.DB_USER_TYPE); -- "
118:
119: l_val := dbms_sql.execute(l_curr);
120: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
121: dbms_sql.column_value(l_curr,1,user_info.user_pwd);
122: dbms_sql.column_value(l_curr,2,user_info.user_id);
123: dbms_sql.column_value(l_curr,3,user_info.user_type);
116: dbms_sql.bind_variable(l_curr,':1',user_info.user_name); -- fix for literals bug#3075851
117: dbms_sql.bind_variable(l_curr,':2',BSC_SECURITY.DB_USER_TYPE); -- "
118:
119: l_val := dbms_sql.execute(l_curr);
120: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
121: dbms_sql.column_value(l_curr,1,user_info.user_pwd);
122: dbms_sql.column_value(l_curr,2,user_info.user_id);
123: dbms_sql.column_value(l_curr,3,user_info.user_type);
124: dbms_sql.column_value(l_curr,4,h_st_dt_chk);
117: dbms_sql.bind_variable(l_curr,':2',BSC_SECURITY.DB_USER_TYPE); -- "
118:
119: l_val := dbms_sql.execute(l_curr);
120: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
121: dbms_sql.column_value(l_curr,1,user_info.user_pwd);
122: dbms_sql.column_value(l_curr,2,user_info.user_id);
123: dbms_sql.column_value(l_curr,3,user_info.user_type);
124: dbms_sql.column_value(l_curr,4,h_st_dt_chk);
125: dbms_sql.column_value(l_curr,5,h_end_dt_chk);
118:
119: l_val := dbms_sql.execute(l_curr);
120: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
121: dbms_sql.column_value(l_curr,1,user_info.user_pwd);
122: dbms_sql.column_value(l_curr,2,user_info.user_id);
123: dbms_sql.column_value(l_curr,3,user_info.user_type);
124: dbms_sql.column_value(l_curr,4,h_st_dt_chk);
125: dbms_sql.column_value(l_curr,5,h_end_dt_chk);
126: END IF;
119: l_val := dbms_sql.execute(l_curr);
120: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
121: dbms_sql.column_value(l_curr,1,user_info.user_pwd);
122: dbms_sql.column_value(l_curr,2,user_info.user_id);
123: dbms_sql.column_value(l_curr,3,user_info.user_type);
124: dbms_sql.column_value(l_curr,4,h_st_dt_chk);
125: dbms_sql.column_value(l_curr,5,h_end_dt_chk);
126: END IF;
127: dbms_sql.close_cursor(l_curr);
120: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
121: dbms_sql.column_value(l_curr,1,user_info.user_pwd);
122: dbms_sql.column_value(l_curr,2,user_info.user_id);
123: dbms_sql.column_value(l_curr,3,user_info.user_type);
124: dbms_sql.column_value(l_curr,4,h_st_dt_chk);
125: dbms_sql.column_value(l_curr,5,h_end_dt_chk);
126: END IF;
127: dbms_sql.close_cursor(l_curr);
128: EXCEPTION
121: dbms_sql.column_value(l_curr,1,user_info.user_pwd);
122: dbms_sql.column_value(l_curr,2,user_info.user_id);
123: dbms_sql.column_value(l_curr,3,user_info.user_type);
124: dbms_sql.column_value(l_curr,4,h_st_dt_chk);
125: dbms_sql.column_value(l_curr,5,h_end_dt_chk);
126: END IF;
127: dbms_sql.close_cursor(l_curr);
128: EXCEPTION
129: WHEN NO_DATA_FOUND THEN
123: dbms_sql.column_value(l_curr,3,user_info.user_type);
124: dbms_sql.column_value(l_curr,4,h_st_dt_chk);
125: dbms_sql.column_value(l_curr,5,h_end_dt_chk);
126: END IF;
127: dbms_sql.close_cursor(l_curr);
128: EXCEPTION
129: WHEN NO_DATA_FOUND THEN
130: h_message := bsc_apps.get_message('BSC_INV_USER_NAME');
131: RAISE h_undefined_user;
148: l_sql_stmt :=l_sql_stmt||' FROM '||user_table_name;
149: l_sql_stmt :=l_sql_stmt||' WHERE ';
150: l_sql_stmt :=l_sql_stmt||' user_name LIKE ''OBSC%''';
151: l_sql_stmt :=l_sql_stmt||' AND user_type = :1'; --||DB_USER_TYPE;
152: l_curr := dbms_sql.open_cursor;
153: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
154: dbms_sql.define_column(l_curr,1,user_info.obsc_un,100);
155: dbms_sql.define_column(l_curr,2,user_info.obsc_pwd,100);
156:
149: l_sql_stmt :=l_sql_stmt||' WHERE ';
150: l_sql_stmt :=l_sql_stmt||' user_name LIKE ''OBSC%''';
151: l_sql_stmt :=l_sql_stmt||' AND user_type = :1'; --||DB_USER_TYPE;
152: l_curr := dbms_sql.open_cursor;
153: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
154: dbms_sql.define_column(l_curr,1,user_info.obsc_un,100);
155: dbms_sql.define_column(l_curr,2,user_info.obsc_pwd,100);
156:
157: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
150: l_sql_stmt :=l_sql_stmt||' user_name LIKE ''OBSC%''';
151: l_sql_stmt :=l_sql_stmt||' AND user_type = :1'; --||DB_USER_TYPE;
152: l_curr := dbms_sql.open_cursor;
153: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
154: dbms_sql.define_column(l_curr,1,user_info.obsc_un,100);
155: dbms_sql.define_column(l_curr,2,user_info.obsc_pwd,100);
156:
157: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
158: l_val := dbms_sql.execute(l_curr);
151: l_sql_stmt :=l_sql_stmt||' AND user_type = :1'; --||DB_USER_TYPE;
152: l_curr := dbms_sql.open_cursor;
153: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
154: dbms_sql.define_column(l_curr,1,user_info.obsc_un,100);
155: dbms_sql.define_column(l_curr,2,user_info.obsc_pwd,100);
156:
157: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
158: l_val := dbms_sql.execute(l_curr);
159:
153: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
154: dbms_sql.define_column(l_curr,1,user_info.obsc_un,100);
155: dbms_sql.define_column(l_curr,2,user_info.obsc_pwd,100);
156:
157: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
158: l_val := dbms_sql.execute(l_curr);
159:
160: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
161: dbms_sql.column_value(l_curr,1,user_info.obsc_un);
154: dbms_sql.define_column(l_curr,1,user_info.obsc_un,100);
155: dbms_sql.define_column(l_curr,2,user_info.obsc_pwd,100);
156:
157: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
158: l_val := dbms_sql.execute(l_curr);
159:
160: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
161: dbms_sql.column_value(l_curr,1,user_info.obsc_un);
162: dbms_sql.column_value(l_curr,2,user_info.obsc_pwd);
156:
157: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
158: l_val := dbms_sql.execute(l_curr);
159:
160: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
161: dbms_sql.column_value(l_curr,1,user_info.obsc_un);
162: dbms_sql.column_value(l_curr,2,user_info.obsc_pwd);
163: ELSE
164: user_info.obsc_un :=' ';
157: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
158: l_val := dbms_sql.execute(l_curr);
159:
160: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
161: dbms_sql.column_value(l_curr,1,user_info.obsc_un);
162: dbms_sql.column_value(l_curr,2,user_info.obsc_pwd);
163: ELSE
164: user_info.obsc_un :=' ';
165: user_info.obsc_pwd :=' ';
158: l_val := dbms_sql.execute(l_curr);
159:
160: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
161: dbms_sql.column_value(l_curr,1,user_info.obsc_un);
162: dbms_sql.column_value(l_curr,2,user_info.obsc_pwd);
163: ELSE
164: user_info.obsc_un :=' ';
165: user_info.obsc_pwd :=' ';
166: END IF;
163: ELSE
164: user_info.obsc_un :=' ';
165: user_info.obsc_pwd :=' ';
166: END IF;
167: dbms_sql.close_cursor(l_curr);
168: EXCEPTION
169: WHEN NO_DATA_FOUND THEN
170: h_message := bsc_apps.get_message('BSC_INV_OBSC');
171: RAISE h_undefined_obsc_user;
182: l_sql_stmt :=l_sql_stmt||' WHERE ';
183: l_sql_stmt :=l_sql_stmt||' user_name LIKE ''UBSC%''';
184: l_sql_stmt :=l_sql_stmt||' AND user_type = :1'; --||DB_USER_TYPE;
185:
186: l_curr := dbms_sql.open_cursor;
187: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
188: dbms_sql.define_column(l_curr,1,user_info.ubsc_un,100);
189: dbms_sql.define_column(l_curr,2,user_info.ubsc_pwd,100);
190:
183: l_sql_stmt :=l_sql_stmt||' user_name LIKE ''UBSC%''';
184: l_sql_stmt :=l_sql_stmt||' AND user_type = :1'; --||DB_USER_TYPE;
185:
186: l_curr := dbms_sql.open_cursor;
187: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
188: dbms_sql.define_column(l_curr,1,user_info.ubsc_un,100);
189: dbms_sql.define_column(l_curr,2,user_info.ubsc_pwd,100);
190:
191: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
184: l_sql_stmt :=l_sql_stmt||' AND user_type = :1'; --||DB_USER_TYPE;
185:
186: l_curr := dbms_sql.open_cursor;
187: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
188: dbms_sql.define_column(l_curr,1,user_info.ubsc_un,100);
189: dbms_sql.define_column(l_curr,2,user_info.ubsc_pwd,100);
190:
191: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
192: l_val := dbms_sql.execute(l_curr);
185:
186: l_curr := dbms_sql.open_cursor;
187: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
188: dbms_sql.define_column(l_curr,1,user_info.ubsc_un,100);
189: dbms_sql.define_column(l_curr,2,user_info.ubsc_pwd,100);
190:
191: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
192: l_val := dbms_sql.execute(l_curr);
193: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
187: dbms_sql.parse(l_curr, l_sql_stmt, dbms_sql.native);
188: dbms_sql.define_column(l_curr,1,user_info.ubsc_un,100);
189: dbms_sql.define_column(l_curr,2,user_info.ubsc_pwd,100);
190:
191: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
192: l_val := dbms_sql.execute(l_curr);
193: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
194: dbms_sql.column_value(l_curr,1,user_info.ubsc_un);
195: dbms_sql.column_value(l_curr,2,user_info.ubsc_pwd);
188: dbms_sql.define_column(l_curr,1,user_info.ubsc_un,100);
189: dbms_sql.define_column(l_curr,2,user_info.ubsc_pwd,100);
190:
191: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
192: l_val := dbms_sql.execute(l_curr);
193: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
194: dbms_sql.column_value(l_curr,1,user_info.ubsc_un);
195: dbms_sql.column_value(l_curr,2,user_info.ubsc_pwd);
196: ELSE
189: dbms_sql.define_column(l_curr,2,user_info.ubsc_pwd,100);
190:
191: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
192: l_val := dbms_sql.execute(l_curr);
193: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
194: dbms_sql.column_value(l_curr,1,user_info.ubsc_un);
195: dbms_sql.column_value(l_curr,2,user_info.ubsc_pwd);
196: ELSE
197: user_info.ubsc_un :=' ';
190:
191: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
192: l_val := dbms_sql.execute(l_curr);
193: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
194: dbms_sql.column_value(l_curr,1,user_info.ubsc_un);
195: dbms_sql.column_value(l_curr,2,user_info.ubsc_pwd);
196: ELSE
197: user_info.ubsc_un :=' ';
198: user_info.ubsc_pwd :=' ';
191: dbms_sql.bind_variable(l_curr,':1',DB_USER_TYPE); -- literals fix
192: l_val := dbms_sql.execute(l_curr);
193: IF dbms_sql.fetch_rows(l_curr)> 0 THEN
194: dbms_sql.column_value(l_curr,1,user_info.ubsc_un);
195: dbms_sql.column_value(l_curr,2,user_info.ubsc_pwd);
196: ELSE
197: user_info.ubsc_un :=' ';
198: user_info.ubsc_pwd :=' ';
199: END IF;
196: ELSE
197: user_info.ubsc_un :=' ';
198: user_info.ubsc_pwd :=' ';
199: END IF;
200: dbms_sql.close_cursor(l_curr);
201: EXCEPTION
202: WHEN NO_DATA_FOUND THEN
203: h_message := bsc_apps.get_message('BSC_INV_UBSC');
204: RAISE h_undefined_ubsc_user;
658: ' AND c.session_id <> :1 '||
659: ' AND c.user_id = u.user_id (+)';
660: END IF;
661:
662: h_cursor := DBMS_SQL.OPEN_CURSOR;
663: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
664: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
665: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
666: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
659: ' AND c.user_id = u.user_id (+)';
660: END IF;
661:
662: h_cursor := DBMS_SQL.OPEN_CURSOR;
663: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
664: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
665: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
666: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
667: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
660: END IF;
661:
662: h_cursor := DBMS_SQL.OPEN_CURSOR;
663: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
664: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
665: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
666: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
667: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
668:
661:
662: h_cursor := DBMS_SQL.OPEN_CURSOR;
663: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
664: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
665: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
666: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
667: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
668:
669: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_session_id); -- fix for literals bug#3075851
662: h_cursor := DBMS_SQL.OPEN_CURSOR;
663: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
664: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
665: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
666: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
667: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
668:
669: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_session_id); -- fix for literals bug#3075851
670: h_ret := DBMS_SQL.EXECUTE(h_cursor);
663: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
664: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
665: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
666: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
667: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
668:
669: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_session_id); -- fix for literals bug#3075851
670: h_ret := DBMS_SQL.EXECUTE(h_cursor);
671:
665: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
666: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
667: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
668:
669: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_session_id); -- fix for literals bug#3075851
670: h_ret := DBMS_SQL.EXECUTE(h_cursor);
671:
672: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
673: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
666: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
667: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
668:
669: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_session_id); -- fix for literals bug#3075851
670: h_ret := DBMS_SQL.EXECUTE(h_cursor);
671:
672: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
673: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
674: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
668:
669: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_session_id); -- fix for literals bug#3075851
670: h_ret := DBMS_SQL.EXECUTE(h_cursor);
671:
672: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
673: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
674: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
675: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
676: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
669: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_session_id); -- fix for literals bug#3075851
670: h_ret := DBMS_SQL.EXECUTE(h_cursor);
671:
672: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
673: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
674: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
675: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
676: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
677:
670: h_ret := DBMS_SQL.EXECUTE(h_cursor);
671:
672: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
673: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
674: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
675: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
676: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
677:
678: l_message := l_lock_msg;
671:
672: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
673: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
674: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
675: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
676: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
677:
678: l_message := l_lock_msg;
679: l_message := bsc_apps.replace_token(l_message, 'COMPONENT', h_components(h_program_id));
672: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
673: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
674: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
675: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
676: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
677:
678: l_message := l_lock_msg;
679: l_message := bsc_apps.replace_token(l_message, 'COMPONENT', h_components(h_program_id));
680: l_message := bsc_apps.replace_token(l_message, 'USERNAME', h_username);
686: --------------------------------------------------------------
687: h_machine2 := REPLACE(h_machine, CHR(0));
688: l_message := bsc_apps.replace_token(l_message, 'MACHINE', h_machine2);
689: l_message := bsc_apps.replace_token(l_message, 'TERMINAL', h_terminal);
690: DBMS_SQL.CLOSE_CURSOR(h_cursor);
691: raise BSC_Lock_Error;
692: END IF;
693: DBMS_SQL.CLOSE_CURSOR(h_cursor);
694:
689: l_message := bsc_apps.replace_token(l_message, 'TERMINAL', h_terminal);
690: DBMS_SQL.CLOSE_CURSOR(h_cursor);
691: raise BSC_Lock_Error;
692: END IF;
693: DBMS_SQL.CLOSE_CURSOR(h_cursor);
694:
695: -- register the process in bsc_current_sessions
696: -- 08/29/02 COMENT OUT NOCOPY USER_ID until this column is approved; Approved USER_ID column on 09/09/02
697: -- 03/18/03 Approved ICX_SESSOIN_ID column on 03/18/03, fix bug#2728234
880: ' where vs.audsid = userenv(''SESSIONID'')'||
881: ' )'; */
882: h_sql := 'select s.user#, s.audsid from bsc_session_v@'||c_src_db_link||' s';
883:
884: h_cursor := DBMS_SQL.OPEN_CURSOR;
885: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
886: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_src_user_id);
887: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_src_session_id);
888: h_ret := DBMS_SQL.EXECUTE(h_cursor);
881: ' )'; */
882: h_sql := 'select s.user#, s.audsid from bsc_session_v@'||c_src_db_link||' s';
883:
884: h_cursor := DBMS_SQL.OPEN_CURSOR;
885: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
886: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_src_user_id);
887: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_src_session_id);
888: h_ret := DBMS_SQL.EXECUTE(h_cursor);
889:
882: h_sql := 'select s.user#, s.audsid from bsc_session_v@'||c_src_db_link||' s';
883:
884: h_cursor := DBMS_SQL.OPEN_CURSOR;
885: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
886: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_src_user_id);
887: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_src_session_id);
888: h_ret := DBMS_SQL.EXECUTE(h_cursor);
889:
890: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
883:
884: h_cursor := DBMS_SQL.OPEN_CURSOR;
885: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
886: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_src_user_id);
887: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_src_session_id);
888: h_ret := DBMS_SQL.EXECUTE(h_cursor);
889:
890: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
891: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_src_user_id);
884: h_cursor := DBMS_SQL.OPEN_CURSOR;
885: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
886: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_src_user_id);
887: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_src_session_id);
888: h_ret := DBMS_SQL.EXECUTE(h_cursor);
889:
890: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
891: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_src_user_id);
892: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_src_session_id);
886: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_src_user_id);
887: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_src_session_id);
888: h_ret := DBMS_SQL.EXECUTE(h_cursor);
889:
890: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
891: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_src_user_id);
892: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_src_session_id);
893: END IF;
894: DBMS_SQL.CLOSE_CURSOR(h_cursor);
887: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_src_session_id);
888: h_ret := DBMS_SQL.EXECUTE(h_cursor);
889:
890: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
891: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_src_user_id);
892: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_src_session_id);
893: END IF;
894: DBMS_SQL.CLOSE_CURSOR(h_cursor);
895:
888: h_ret := DBMS_SQL.EXECUTE(h_cursor);
889:
890: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
891: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_src_user_id);
892: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_src_session_id);
893: END IF;
894: DBMS_SQL.CLOSE_CURSOR(h_cursor);
895:
896:
890: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
891: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_src_user_id);
892: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_src_session_id);
893: END IF;
894: DBMS_SQL.CLOSE_CURSOR(h_cursor);
895:
896:
897: -- Get the session id in the current(target) system
898: -- Ref: bug#3482442 In corner cases this query can return more than one
930: ' WHERE c.session_id = s.audsid'||
931: ' AND c.program_id in (-100, -101, -200, -201, -202, -300, -400, -500, -600, -700, -800)'||
932: ' AND c.session_id <> :1 ';
933:
934: h_cursor := DBMS_SQL.OPEN_CURSOR;
935: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
936: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
937: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
938: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
931: ' AND c.program_id in (-100, -101, -200, -201, -202, -300, -400, -500, -600, -700, -800)'||
932: ' AND c.session_id <> :1 ';
933:
934: h_cursor := DBMS_SQL.OPEN_CURSOR;
935: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
936: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
937: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
938: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
939: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
932: ' AND c.session_id <> :1 ';
933:
934: h_cursor := DBMS_SQL.OPEN_CURSOR;
935: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
936: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
937: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
938: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
939: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
940:
933:
934: h_cursor := DBMS_SQL.OPEN_CURSOR;
935: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
936: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
937: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
938: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
939: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
940:
941: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_src_session_id); -- fixed for literals bug
934: h_cursor := DBMS_SQL.OPEN_CURSOR;
935: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
936: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
937: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
938: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
939: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
940:
941: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_src_session_id); -- fixed for literals bug
942: h_ret := DBMS_SQL.EXECUTE(h_cursor);
935: DBMS_SQL.PARSE(h_cursor, h_sql, DBMS_SQL.NATIVE);
936: DBMS_SQL.DEFINE_COLUMN(h_cursor, 1, h_program_id);
937: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
938: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
939: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
940:
941: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_src_session_id); -- fixed for literals bug
942: h_ret := DBMS_SQL.EXECUTE(h_cursor);
943:
937: DBMS_SQL.DEFINE_COLUMN(h_cursor, 2, h_username, 100);
938: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
939: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
940:
941: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_src_session_id); -- fixed for literals bug
942: h_ret := DBMS_SQL.EXECUTE(h_cursor);
943:
944: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
945: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
938: DBMS_SQL.DEFINE_COLUMN(h_cursor, 3, h_machine, 100);
939: DBMS_SQL.DEFINE_COLUMN(h_cursor, 4, h_terminal, 100);
940:
941: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_src_session_id); -- fixed for literals bug
942: h_ret := DBMS_SQL.EXECUTE(h_cursor);
943:
944: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
945: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
946: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
940:
941: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_src_session_id); -- fixed for literals bug
942: h_ret := DBMS_SQL.EXECUTE(h_cursor);
943:
944: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
945: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
946: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
947: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
948: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
941: DBMS_SQL.BIND_VARIABLE(h_cursor,':1', h_src_session_id); -- fixed for literals bug
942: h_ret := DBMS_SQL.EXECUTE(h_cursor);
943:
944: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
945: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
946: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
947: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
948: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
949:
942: h_ret := DBMS_SQL.EXECUTE(h_cursor);
943:
944: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
945: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
946: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
947: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
948: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
949:
950: l_message := l_lock_msg;
943:
944: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
945: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
946: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
947: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
948: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
949:
950: l_message := l_lock_msg;
951: l_message := bsc_apps.replace_token(l_message, 'COMPONENT', h_components(h_program_id));
944: IF DBMS_SQL.FETCH_ROWS(h_cursor) > 0 THEN
945: DBMS_SQL.COLUMN_VALUE(h_cursor, 1, h_program_id);
946: DBMS_SQL.COLUMN_VALUE(h_cursor, 2, h_username);
947: DBMS_SQL.COLUMN_VALUE(h_cursor, 3, h_machine);
948: DBMS_SQL.COLUMN_VALUE(h_cursor, 4, h_terminal);
949:
950: l_message := l_lock_msg;
951: l_message := bsc_apps.replace_token(l_message, 'COMPONENT', h_components(h_program_id));
952: l_message := bsc_apps.replace_token(l_message, 'USERNAME', h_username);
954: l_message := bsc_apps.replace_token(l_message, 'TERMINAL', h_terminal);
955:
956: raise BSC_Lock_Error;
957: END IF;
958: DBMS_SQL.CLOSE_CURSOR(h_cursor);
959:
960: -- register the process in bsc_current_sessions
961: h_sql := 'Insert Into bsc_current_sessions@'||c_src_db_link||
962: ' (SESSION_ID,PROGRAM_ID,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN)'||