89:
90: -- Build Dynamic Sql statment which locates all Position KFFs with the same
91: -- seqment values (excluding sequence) and returns the highest sequence found +1.
92:
93: l_cur := dbms_sql.open_cursor;
94: l_stmt := 'SELECT MAX(TO_NUMBER('||p_seq_location||')) max_seq '||
95: 'FROM per_position_definitions pde WHERE id_flex_num= '||l_id_flex_num;
96: --
97: l_seq_loc := SUBSTR(p_seq_location,8);
166: l_stmt := l_stmt||' AND EXISTS (SELECT 1 FROM per_positions pos'
167: ||' WHERE pde.position_definition_id = pos.position_definition_id)';
168:
169: --
170: -- dbms_sql.parse format (number, statement , language_flag)
171: dbms_sql.parse(l_cur, l_stmt, DBMS_SQL.NATIVE);
172: dbms_sql.define_column(l_cur, 1, l_max_seq,150);
173: l_fetch_rows := dbms_sql.execute(l_cur);
174: l_fetch_rows := dbms_sql.fetch_rows(l_cur);
167: ||' WHERE pde.position_definition_id = pos.position_definition_id)';
168:
169: --
170: -- dbms_sql.parse format (number, statement , language_flag)
171: dbms_sql.parse(l_cur, l_stmt, DBMS_SQL.NATIVE);
172: dbms_sql.define_column(l_cur, 1, l_max_seq,150);
173: l_fetch_rows := dbms_sql.execute(l_cur);
174: l_fetch_rows := dbms_sql.fetch_rows(l_cur);
175: dbms_sql.column_value(l_cur, 1, l_max_seq);
168:
169: --
170: -- dbms_sql.parse format (number, statement , language_flag)
171: dbms_sql.parse(l_cur, l_stmt, DBMS_SQL.NATIVE);
172: dbms_sql.define_column(l_cur, 1, l_max_seq,150);
173: l_fetch_rows := dbms_sql.execute(l_cur);
174: l_fetch_rows := dbms_sql.fetch_rows(l_cur);
175: dbms_sql.column_value(l_cur, 1, l_max_seq);
176: dbms_sql.close_cursor(l_cur);
169: --
170: -- dbms_sql.parse format (number, statement , language_flag)
171: dbms_sql.parse(l_cur, l_stmt, DBMS_SQL.NATIVE);
172: dbms_sql.define_column(l_cur, 1, l_max_seq,150);
173: l_fetch_rows := dbms_sql.execute(l_cur);
174: l_fetch_rows := dbms_sql.fetch_rows(l_cur);
175: dbms_sql.column_value(l_cur, 1, l_max_seq);
176: dbms_sql.close_cursor(l_cur);
177: --
170: -- dbms_sql.parse format (number, statement , language_flag)
171: dbms_sql.parse(l_cur, l_stmt, DBMS_SQL.NATIVE);
172: dbms_sql.define_column(l_cur, 1, l_max_seq,150);
173: l_fetch_rows := dbms_sql.execute(l_cur);
174: l_fetch_rows := dbms_sql.fetch_rows(l_cur);
175: dbms_sql.column_value(l_cur, 1, l_max_seq);
176: dbms_sql.close_cursor(l_cur);
177: --
178:
171: dbms_sql.parse(l_cur, l_stmt, DBMS_SQL.NATIVE);
172: dbms_sql.define_column(l_cur, 1, l_max_seq,150);
173: l_fetch_rows := dbms_sql.execute(l_cur);
174: l_fetch_rows := dbms_sql.fetch_rows(l_cur);
175: dbms_sql.column_value(l_cur, 1, l_max_seq);
176: dbms_sql.close_cursor(l_cur);
177: --
178:
179: /*
172: dbms_sql.define_column(l_cur, 1, l_max_seq,150);
173: l_fetch_rows := dbms_sql.execute(l_cur);
174: l_fetch_rows := dbms_sql.fetch_rows(l_cur);
175: dbms_sql.column_value(l_cur, 1, l_max_seq);
176: dbms_sql.close_cursor(l_cur);
177: --
178:
179: /*
180: dbms_output.put_line(substr(l_stmt,1,100));
180: dbms_output.put_line(substr(l_stmt,1,100));
181: dbms_output.put_line(substr(l_stmt,101,100));
182: dbms_output.put_line(substr(l_stmt,201,100));
183: dbms_output.put_line('l_cur: '||l_cur);
184: dbms_output.put_line('DBMS_SQL: '||DBMS_SQL.NATIVE);
185: */
186:
187: --
188: RETURN(l_max_seq);