296: l_base_owner asg_pub_item.base_owner%TYPE;
297: l_base_object asg_pub_item.base_object_name%TYPE;
298: l_access_owner asg_pub_item.access_owner%TYPE;
299: l_access_name asg_pub_item.access_name%TYPE;
300: l_accessList dbms_sql.Number_table;
301: l_qidList dbms_sql.Number_table;
302: l_cur_id NUMBER;
303: l_cur_rc NUMBER;
304:
297: l_base_object asg_pub_item.base_object_name%TYPE;
298: l_access_owner asg_pub_item.access_owner%TYPE;
299: l_access_name asg_pub_item.access_name%TYPE;
300: l_accessList dbms_sql.Number_table;
301: l_qidList dbms_sql.Number_table;
302: l_cur_id NUMBER;
303: l_cur_rc NUMBER;
304:
305: BEGIN
314: LOOP
315: l_att_col_list := l_att_col_list || ', attribute'||i;
316: END LOOP;
317:
318: -- Copy Values to DBMS_SQL Table Structure
319: FOR i IN 1..p_accessList.COUNT
320: LOOP
321: l_accessList (i) := p_accessList(i);
322: l_qidList (i) := p_qidList(i);
327: ' FROM asg_pub_item WHERE name=:1';
328: EXECUTE IMMEDIATE l_dml INTO l_base_owner, l_base_object, l_access_owner,
329: l_access_name USING p_pub_item;
330:
331: l_cur_id := DBMS_SQL.OPEN_CURSOR;
332:
333: IF ( (l_access_owner IS NULL) AND (l_access_name IS NULL) ) THEN
334: DBMS_SQL.PARSE (l_cur_id, 'INSERT INTO asg_delete_queue '
335: || '(qid, creation_date, created_by, '
330:
331: l_cur_id := DBMS_SQL.OPEN_CURSOR;
332:
333: IF ( (l_access_owner IS NULL) AND (l_access_name IS NULL) ) THEN
334: DBMS_SQL.PARSE (l_cur_id, 'INSERT INTO asg_delete_queue '
335: || '(qid, creation_date, created_by, '
336: || 'last_update_date, last_updated_by '
337: || l_att_col_list
338: || ') SELECT :1, sysdate, '
337: || l_att_col_list
338: || ') SELECT :1, sysdate, '
339: || '1, sysdate, 1, '||l_pk_list
340: || ' FROM '||l_base_owner||'.'||l_base_object
341: || ' WHERE access_id = :2', DBMS_SQL.v7);
342: ELSE
343: DBMS_SQL.PARSE (l_cur_id, 'INSERT INTO asg_delete_queue '
344: || ' (qid, creation_date, '
345: || 'created_by, last_update_date, '
339: || '1, sysdate, 1, '||l_pk_list
340: || ' FROM '||l_base_owner||'.'||l_base_object
341: || ' WHERE access_id = :2', DBMS_SQL.v7);
342: ELSE
343: DBMS_SQL.PARSE (l_cur_id, 'INSERT INTO asg_delete_queue '
344: || ' (qid, creation_date, '
345: || 'created_by, last_update_date, '
346: || 'last_updated_by '||l_att_col_list
347: || ') SELECT :1, sysdate, '
346: || 'last_updated_by '||l_att_col_list
347: || ') SELECT :1, sysdate, '
348: || '1, sysdate, 1, '||l_pk_list
349: || ' FROM '||l_access_owner||'.'||l_access_name
350: || ' WHERE access_id = :2', DBMS_SQL.v7);
351: END IF;
352:
353: DBMS_SQL.BIND_ARRAY (l_cur_id, ':1', l_qidList, 1, l_qidList.COUNT);
354: DBMS_SQL.BIND_ARRAY (l_cur_id, ':2', l_accessList, 1, l_accessList.COUNT);
349: || ' FROM '||l_access_owner||'.'||l_access_name
350: || ' WHERE access_id = :2', DBMS_SQL.v7);
351: END IF;
352:
353: DBMS_SQL.BIND_ARRAY (l_cur_id, ':1', l_qidList, 1, l_qidList.COUNT);
354: DBMS_SQL.BIND_ARRAY (l_cur_id, ':2', l_accessList, 1, l_accessList.COUNT);
355:
356: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur_id );
357: DBMS_SQL.CLOSE_CURSOR (l_cur_id);
350: || ' WHERE access_id = :2', DBMS_SQL.v7);
351: END IF;
352:
353: DBMS_SQL.BIND_ARRAY (l_cur_id, ':1', l_qidList, 1, l_qidList.COUNT);
354: DBMS_SQL.BIND_ARRAY (l_cur_id, ':2', l_accessList, 1, l_accessList.COUNT);
355:
356: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur_id );
357: DBMS_SQL.CLOSE_CURSOR (l_cur_id);
358:
352:
353: DBMS_SQL.BIND_ARRAY (l_cur_id, ':1', l_qidList, 1, l_qidList.COUNT);
354: DBMS_SQL.BIND_ARRAY (l_cur_id, ':2', l_accessList, 1, l_accessList.COUNT);
355:
356: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur_id );
357: DBMS_SQL.CLOSE_CURSOR (l_cur_id);
358:
359: log ('END Function storeDeletedPK');
360:
353: DBMS_SQL.BIND_ARRAY (l_cur_id, ':1', l_qidList, 1, l_qidList.COUNT);
354: DBMS_SQL.BIND_ARRAY (l_cur_id, ':2', l_accessList, 1, l_accessList.COUNT);
355:
356: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur_id );
357: DBMS_SQL.CLOSE_CURSOR (l_cur_id);
358:
359: log ('END Function storeDeletedPK');
360:
361: RETURN OK;
1138: l_rc NUMBER;
1139: l_ctr NUMBER;
1140: BEGIN
1141:
1142: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1143:
1144: l_dml := 'SELECT a.name, a.comp_ref, b.online_query ' ||
1145: 'FROM ' || CONS_SCHEMA || '.c$pub_list_q a, asg_pub_item b ' ||
1146: 'WHERE a.name = b.name ' ||
1145: 'FROM ' || CONS_SCHEMA || '.c$pub_list_q a, asg_pub_item b ' ||
1146: 'WHERE a.name = b.name ' ||
1147: 'ORDER by online_query desc, comp_ref desc';
1148:
1149: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1150: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1151: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 2, l_comp_ref_flag, 1);
1152: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 3, l_online_query_flag, 1);
1153: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1146: 'WHERE a.name = b.name ' ||
1147: 'ORDER by online_query desc, comp_ref desc';
1148:
1149: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1150: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1151: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 2, l_comp_ref_flag, 1);
1152: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 3, l_online_query_flag, 1);
1153: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1154: l_ctr := 1;
1147: 'ORDER by online_query desc, comp_ref desc';
1148:
1149: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1150: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1151: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 2, l_comp_ref_flag, 1);
1152: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 3, l_online_query_flag, 1);
1153: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1154: l_ctr := 1;
1155:
1148:
1149: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1150: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1151: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 2, l_comp_ref_flag, 1);
1152: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 3, l_online_query_flag, 1);
1153: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1154: l_ctr := 1;
1155:
1156: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1149: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1150: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1151: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 2, l_comp_ref_flag, 1);
1152: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 3, l_online_query_flag, 1);
1153: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1154: l_ctr := 1;
1155:
1156: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1157: LOOP
1152: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 3, l_online_query_flag, 1);
1153: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1154: l_ctr := 1;
1155:
1156: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1157: LOOP
1158:
1159: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 1, l_pub_item);
1160: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 2, l_comp_ref_flag);
1155:
1156: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1157: LOOP
1158:
1159: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 1, l_pub_item);
1160: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 2, l_comp_ref_flag);
1161: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 3, l_online_query_flag);
1162:
1163: /* All Pub Items List */
1156: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1157: LOOP
1158:
1159: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 1, l_pub_item);
1160: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 2, l_comp_ref_flag);
1161: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 3, l_online_query_flag);
1162:
1163: /* All Pub Items List */
1164: IF (g_pub_items_list IS NULL) THEN
1157: LOOP
1158:
1159: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 1, l_pub_item);
1160: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 2, l_comp_ref_flag);
1161: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 3, l_online_query_flag);
1162:
1163: /* All Pub Items List */
1164: IF (g_pub_items_list IS NULL) THEN
1165: g_pub_items_list := ''''||l_pub_item;
1198: log (' Incremental Refresh Pub Item: ' || l_pub_item);
1199: END IF;
1200: END IF;
1201: END LOOP;
1202: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1203:
1204: END find_pubitem_lists;
1205:
1206:
1232: l_c_access_id asg_system_dirty_queue.access_id%TYPE;
1233: l_c_dml_type asg_system_dirty_queue.dml_type%TYPE;
1234: l_cur_rc NUMBER;
1235: l_rc NUMBER;
1236: l_qid_tmp_list DBMS_SQL.NUMBER_TABLE;
1237: l_tmpqry VARCHAR2(32767);
1238: l_qid_list NUMBER_TABLE;
1239: l_cur NUMBER;
1240: l_qid NUMBER;
1292: */
1293: l_tmpqry := 'select qid from asg_system_dirty_queue where '||
1294: 'client_id = :1 and dml_type=0 and ' ||
1295: ' pub_item in ('||l_complete_ref_pub_items||')';
1296: l_curid := DBMS_SQL.OPEN_CURSOR;
1297: DBMS_SQL.PARSE(l_curid,l_tmpqry, DBMS_SQL.v7);
1298: DBMS_SQL.bind_variable(l_curid,':1',p_clientid);
1299: DBMS_SQL.DEFINE_COLUMN (l_curid, 1, l_qid);
1300: l_rc :=DBMS_SQL.EXECUTE ( l_curid );
1293: l_tmpqry := 'select qid from asg_system_dirty_queue where '||
1294: 'client_id = :1 and dml_type=0 and ' ||
1295: ' pub_item in ('||l_complete_ref_pub_items||')';
1296: l_curid := DBMS_SQL.OPEN_CURSOR;
1297: DBMS_SQL.PARSE(l_curid,l_tmpqry, DBMS_SQL.v7);
1298: DBMS_SQL.bind_variable(l_curid,':1',p_clientid);
1299: DBMS_SQL.DEFINE_COLUMN (l_curid, 1, l_qid);
1300: l_rc :=DBMS_SQL.EXECUTE ( l_curid );
1301: WHILE ( DBMS_SQL.FETCH_ROWS(l_curid) > 0 ) LOOP
1294: 'client_id = :1 and dml_type=0 and ' ||
1295: ' pub_item in ('||l_complete_ref_pub_items||')';
1296: l_curid := DBMS_SQL.OPEN_CURSOR;
1297: DBMS_SQL.PARSE(l_curid,l_tmpqry, DBMS_SQL.v7);
1298: DBMS_SQL.bind_variable(l_curid,':1',p_clientid);
1299: DBMS_SQL.DEFINE_COLUMN (l_curid, 1, l_qid);
1300: l_rc :=DBMS_SQL.EXECUTE ( l_curid );
1301: WHILE ( DBMS_SQL.FETCH_ROWS(l_curid) > 0 ) LOOP
1302: DBMS_SQL.COLUMN_VALUE (l_curid, 1, l_qid);
1295: ' pub_item in ('||l_complete_ref_pub_items||')';
1296: l_curid := DBMS_SQL.OPEN_CURSOR;
1297: DBMS_SQL.PARSE(l_curid,l_tmpqry, DBMS_SQL.v7);
1298: DBMS_SQL.bind_variable(l_curid,':1',p_clientid);
1299: DBMS_SQL.DEFINE_COLUMN (l_curid, 1, l_qid);
1300: l_rc :=DBMS_SQL.EXECUTE ( l_curid );
1301: WHILE ( DBMS_SQL.FETCH_ROWS(l_curid) > 0 ) LOOP
1302: DBMS_SQL.COLUMN_VALUE (l_curid, 1, l_qid);
1303: l_qid_tmp_list(l_counter) := l_qid;
1296: l_curid := DBMS_SQL.OPEN_CURSOR;
1297: DBMS_SQL.PARSE(l_curid,l_tmpqry, DBMS_SQL.v7);
1298: DBMS_SQL.bind_variable(l_curid,':1',p_clientid);
1299: DBMS_SQL.DEFINE_COLUMN (l_curid, 1, l_qid);
1300: l_rc :=DBMS_SQL.EXECUTE ( l_curid );
1301: WHILE ( DBMS_SQL.FETCH_ROWS(l_curid) > 0 ) LOOP
1302: DBMS_SQL.COLUMN_VALUE (l_curid, 1, l_qid);
1303: l_qid_tmp_list(l_counter) := l_qid;
1304: l_counter := l_counter+1;
1297: DBMS_SQL.PARSE(l_curid,l_tmpqry, DBMS_SQL.v7);
1298: DBMS_SQL.bind_variable(l_curid,':1',p_clientid);
1299: DBMS_SQL.DEFINE_COLUMN (l_curid, 1, l_qid);
1300: l_rc :=DBMS_SQL.EXECUTE ( l_curid );
1301: WHILE ( DBMS_SQL.FETCH_ROWS(l_curid) > 0 ) LOOP
1302: DBMS_SQL.COLUMN_VALUE (l_curid, 1, l_qid);
1303: l_qid_tmp_list(l_counter) := l_qid;
1304: l_counter := l_counter+1;
1305: END LOOP;
1298: DBMS_SQL.bind_variable(l_curid,':1',p_clientid);
1299: DBMS_SQL.DEFINE_COLUMN (l_curid, 1, l_qid);
1300: l_rc :=DBMS_SQL.EXECUTE ( l_curid );
1301: WHILE ( DBMS_SQL.FETCH_ROWS(l_curid) > 0 ) LOOP
1302: DBMS_SQL.COLUMN_VALUE (l_curid, 1, l_qid);
1303: l_qid_tmp_list(l_counter) := l_qid;
1304: l_counter := l_counter+1;
1305: END LOOP;
1306:
1320:
1321:
1322: log(' After Delete SDQ : '||to_char(sysdate,'dd-mon-yyyy hh24:mi:ss'));
1323: IF (l_qid_tmp_list.COUNT > 0) THEN
1324: l_cur := DBMS_SQL.OPEN_CURSOR;
1325: DBMS_SQL.PARSE (l_cur, 'DELETE FROM asg_delete_queue '
1326: || ' WHERE qid in (:2)', DBMS_SQL.v7);
1327: DBMS_SQL.BIND_ARRAY (l_cur, ':2', l_qid_tmp_list, 1,
1328: l_qid_tmp_list.COUNT);
1321:
1322: log(' After Delete SDQ : '||to_char(sysdate,'dd-mon-yyyy hh24:mi:ss'));
1323: IF (l_qid_tmp_list.COUNT > 0) THEN
1324: l_cur := DBMS_SQL.OPEN_CURSOR;
1325: DBMS_SQL.PARSE (l_cur, 'DELETE FROM asg_delete_queue '
1326: || ' WHERE qid in (:2)', DBMS_SQL.v7);
1327: DBMS_SQL.BIND_ARRAY (l_cur, ':2', l_qid_tmp_list, 1,
1328: l_qid_tmp_list.COUNT);
1329: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur );
1322: log(' After Delete SDQ : '||to_char(sysdate,'dd-mon-yyyy hh24:mi:ss'));
1323: IF (l_qid_tmp_list.COUNT > 0) THEN
1324: l_cur := DBMS_SQL.OPEN_CURSOR;
1325: DBMS_SQL.PARSE (l_cur, 'DELETE FROM asg_delete_queue '
1326: || ' WHERE qid in (:2)', DBMS_SQL.v7);
1327: DBMS_SQL.BIND_ARRAY (l_cur, ':2', l_qid_tmp_list, 1,
1328: l_qid_tmp_list.COUNT);
1329: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur );
1330: DBMS_SQL.CLOSE_CURSOR (l_cur);
1323: IF (l_qid_tmp_list.COUNT > 0) THEN
1324: l_cur := DBMS_SQL.OPEN_CURSOR;
1325: DBMS_SQL.PARSE (l_cur, 'DELETE FROM asg_delete_queue '
1326: || ' WHERE qid in (:2)', DBMS_SQL.v7);
1327: DBMS_SQL.BIND_ARRAY (l_cur, ':2', l_qid_tmp_list, 1,
1328: l_qid_tmp_list.COUNT);
1329: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur );
1330: DBMS_SQL.CLOSE_CURSOR (l_cur);
1331: END IF;
1325: DBMS_SQL.PARSE (l_cur, 'DELETE FROM asg_delete_queue '
1326: || ' WHERE qid in (:2)', DBMS_SQL.v7);
1327: DBMS_SQL.BIND_ARRAY (l_cur, ':2', l_qid_tmp_list, 1,
1328: l_qid_tmp_list.COUNT);
1329: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur );
1330: DBMS_SQL.CLOSE_CURSOR (l_cur);
1331: END IF;
1332:
1333: log(' After Delete delQ : '||to_char(sysdate,'dd-mon-yyyy hh24:mi:ss'));
1326: || ' WHERE qid in (:2)', DBMS_SQL.v7);
1327: DBMS_SQL.BIND_ARRAY (l_cur, ':2', l_qid_tmp_list, 1,
1328: l_qid_tmp_list.COUNT);
1329: l_cur_rc := DBMS_SQL.EXECUTE ( l_cur );
1330: DBMS_SQL.CLOSE_CURSOR (l_cur);
1331: END IF;
1332:
1333: log(' After Delete delQ : '||to_char(sysdate,'dd-mon-yyyy hh24:mi:ss'));
1334: END IF;
1339: l_incr_ref_pub_items := l_incr_ref_pub_items || '''';
1340: /* Determine pub items dirty since last Sync */
1341: log (' Changed Pub Items List ');
1342:
1343: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1344: /*
1345: l_dml := 'SELECT DISTINCT pub_item FROM asg_system_dirty_queue '
1346: || ' WHERE client_id='''||p_clientid
1347: ||''' AND (transaction_id IS NULL '
1352: || ' WHERE client_id= :1 AND (transaction_id IS NULL '
1353: || ' OR transaction_id > :2 ) '
1354: || ' AND pub_item IN ('||l_incr_ref_pub_items||')';
1355:
1356: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1357: dbms_sql.bind_variable(l_cursor_id,':1',p_clientid);
1358: dbms_sql.bind_variable(l_cursor_id,':2',p_last_tranid);
1359: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1360: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1353: || ' OR transaction_id > :2 ) '
1354: || ' AND pub_item IN ('||l_incr_ref_pub_items||')';
1355:
1356: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1357: dbms_sql.bind_variable(l_cursor_id,':1',p_clientid);
1358: dbms_sql.bind_variable(l_cursor_id,':2',p_last_tranid);
1359: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1360: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1361:
1354: || ' AND pub_item IN ('||l_incr_ref_pub_items||')';
1355:
1356: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1357: dbms_sql.bind_variable(l_cursor_id,':1',p_clientid);
1358: dbms_sql.bind_variable(l_cursor_id,':2',p_last_tranid);
1359: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1360: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1361:
1362: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1355:
1356: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1357: dbms_sql.bind_variable(l_cursor_id,':1',p_clientid);
1358: dbms_sql.bind_variable(l_cursor_id,':2',p_last_tranid);
1359: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1360: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1361:
1362: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1363: LOOP
1356: DBMS_SQL.PARSE (l_cursor_id, l_dml, DBMS_SQL.v7);
1357: dbms_sql.bind_variable(l_cursor_id,':1',p_clientid);
1358: dbms_sql.bind_variable(l_cursor_id,':2',p_last_tranid);
1359: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1360: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1361:
1362: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1363: LOOP
1364:
1358: dbms_sql.bind_variable(l_cursor_id,':2',p_last_tranid);
1359: DBMS_SQL.DEFINE_COLUMN (l_cursor_id, 1, l_pub_item, 30);
1360: l_rc := DBMS_SQL.EXECUTE (l_cursor_id);
1361:
1362: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1363: LOOP
1364:
1365: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 1, l_pub_item);
1366: log (' '||l_pub_item);
1361:
1362: WHILE ( DBMS_SQL.FETCH_ROWS(l_cursor_id) > 0 )
1363: LOOP
1364:
1365: DBMS_SQL.COLUMN_VALUE (l_cursor_id, 1, l_pub_item);
1366: log (' '||l_pub_item);
1367: IF ((l_complete_ref_pub_items IS NULL) OR
1368: (INSTR(l_complete_ref_pub_items, l_pub_item) = 0)) THEN
1369: IF ( l_changed_pub_items IS NULL ) THEN
1373: || l_pub_item;
1374: END IF;
1375: END IF;
1376: END LOOP;
1377: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1378:
1379: -- Changed/Dirty Pub Items List
1380: IF ( l_changed_pub_items IS NOT NULL ) THEN
1381: l_changed_pub_items := l_changed_pub_items || '''';
1508: RETURN OK;
1509: EXCEPTION
1510: WHEN OTHERS THEN
1511: IF ( l_cursor_id <> 0 ) THEN
1512: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1513: END IF;
1514: log(sqlerrm);
1515: RAISE;
1516: END processSdq;