[Home] [Help]
11363: EXIT WHEN (l_instance_id_tbl.count = 0);
11364:
11365: -- insert into BUE table.
11366: FORALL instance_indx IN l_instance_id_tbl.FIRST..l_instance_id_tbl.LAST
11367: INSERT INTO AHL_BUE_WORKER_DATA
11368: (parent_conc_request_id,
11369: csi_item_instance_id,
11370: child_conc_request_id,
11371: last_update_date,
11415:
11416: BEGIN
11417: -- insert into BUE table.
11418: FORALL instance_indx IN l_instance_id_tbl.FIRST..l_instance_id_tbl.LAST SAVE EXCEPTIONS
11419: INSERT INTO AHL_BUE_WORKER_DATA
11420: (parent_conc_request_id,
11421: csi_item_instance_id,
11422: child_conc_request_id,
11423: last_update_date,
11447:
11448: x_return_status := 'E';
11449:
11450: IF (p_concurrent_flag = 'Y') THEN
11451: fnd_file.put_line(fnd_file.log, 'Following error(s) occured while inserting into table ahl_bue_worker_data');
11452: FOR j IN 1..sql%bulk_exceptions.count
11453: LOOP
11454: fnd_file.put_line(fnd_file.log, sql%bulk_exceptions(j).error_index || ', ' ||
11455: sqlerrm(-sql%bulk_exceptions(j).error_code) );
11474: END IF;
11475: END IF; -- l_opt_uc
11476:
11477: -- delete duplicate rows.
11478: DELETE FROM ahl_bue_worker_data
11479: WHERE parent_conc_request_id = p_conc_request_id
11480: AND rowid not in (SELECT MIN(rowid)
11481: FROM ahl_bue_worker_data
11482: WHERE parent_conc_request_id = p_conc_request_id
11477: -- delete duplicate rows.
11478: DELETE FROM ahl_bue_worker_data
11479: WHERE parent_conc_request_id = p_conc_request_id
11480: AND rowid not in (SELECT MIN(rowid)
11481: FROM ahl_bue_worker_data
11482: WHERE parent_conc_request_id = p_conc_request_id
11483: GROUP BY csi_item_instance_id, parent_conc_request_id) ;
11484:
11485: -- save changes.
11504:
11505: CURSOR ahl_bue_worker_csr (p_parent_conc_pgm_id IN NUMBER)
11506: IS
11507: SELECT rowid, csi_item_instance_id, object_version_number
11508: FROM ahl_bue_worker_data
11509: WHERE parent_conc_request_id = p_parent_conc_pgm_id
11510: AND child_conc_request_id IS NULL;
11511: --FOR UPDATE OF child_conc_request_id;
11512:
11512:
11513: CURSOR bue_lock_row (p_rowid IN urowid, p_parent_conc_pgm_id IN NUMBER )
11514: IS
11515: SELECT rowid, csi_item_instance_id
11516: FROM ahl_bue_worker_data
11517: WHERE parent_conc_request_id = p_parent_conc_pgm_id
11518: AND child_conc_request_id IS NULL
11519: AND ROWID = p_rowid
11520: FOR UPDATE OF child_conc_request_id NOWAIT;
11547: OPEN bue_lock_row(l_rowid, p_parent_conc_pgm_id);
11548: FETCH bue_lock_row into l_rowid, l_instance_id;
11549: IF (bue_lock_row%FOUND) THEN
11550: -- update only if ovn remains the same.
11551: UPDATE ahl_bue_worker_data
11552: set child_conc_request_id = p_conc_child_req_id,
11553: last_update_date = sysdate,
11554: object_version_number = object_version_number + 1,
11555: last_update_login = fnd_global.login_id,
11630: PRAGMA AUTONOMOUS_TRANSACTION;
11631:
11632: CURSOR get_undeleted_parents(p_conc_request_id IN NUMBER) IS
11633: SELECT DISTINCT parent_conc_request_id
11634: FROM ahl_bue_worker_data
11635: WHERE parent_conc_request_id <> p_conc_request_id;
11636:
11637: CURSOR get_undeleted_child(p_conc_request_id IN NUMBER) IS
11638: SELECT DISTINCT child_conc_request_id
11635: WHERE parent_conc_request_id <> p_conc_request_id;
11636:
11637: CURSOR get_undeleted_child(p_conc_request_id IN NUMBER) IS
11638: SELECT DISTINCT child_conc_request_id
11639: FROM ahl_bue_worker_data
11640: WHERE parent_conc_request_id = p_conc_request_id;
11641:
11642: CURSOR lock_child_rows(p_parent_conc_id IN NUMBER,
11643: p_child_conc_id IN NUMBER) IS
11641:
11642: CURSOR lock_child_rows(p_parent_conc_id IN NUMBER,
11643: p_child_conc_id IN NUMBER) IS
11644: SELECT rowid
11645: FROM ahl_bue_worker_data
11646: WHERE parent_conc_request_id = p_parent_conc_id
11647: AND child_conc_request_id = p_child_conc_id
11648: FOR UPDATE OF object_version_number NOWAIT;
11649:
11683:
11684: IF (p_child_conc_request_id IS NOT NULL) THEN
11685: G_DEBUG_LINE_NUM := 300;
11686: -- cleanup rows processed by this worker.
11687: DELETE from ahl_bue_worker_data
11688: WHERE parent_conc_request_id = p_parent_conc_request_id
11689: AND child_conc_request_id = p_child_conc_request_id ;
11690: COMMIT WORK;
11691: END IF;
11750: BEGIN
11751: SAVEPOINT lock_child_rows_upd_s;
11752: FORALL j IN l_rowid_tbl.FIRST..l_rowid_tbl.LAST
11753: -- delete for parent concurrent.
11754: DELETE FROM ahl_bue_worker_data
11755: WHERE rowid = l_rowid_tbl(j);
11756:
11757: COMMIT;
11758: --
11962: WHERE item_instance_id = ue.csi_item_instance_id)
11963: )
11964: ) valid_inst
11965: WHERE NOT EXISTS (Select 1
11966: FROM AHL_BUE_WORKER_DATA
11967: WHERE csi_item_instance_id = valid_inst.csi_item_instance_id
11968: AND parent_conc_request_id = p_conc_request_id) ;
11969:
11970: l_relationship_tbl nbr_tbl_type;
12040:
12041: BEGIN
12042: -- insert into BUE table.
12043: FORALL instance_indx IN l_instance_id_tbl.FIRST..l_instance_id_tbl.LAST SAVE EXCEPTIONS
12044: INSERT INTO AHL_BUE_WORKER_DATA
12045: (parent_conc_request_id,
12046: csi_item_instance_id,
12047: child_conc_request_id,
12048: last_update_date,
12072:
12073: x_return_status := 'E';
12074:
12075: IF (p_concurrent_flag = 'Y') THEN
12076: fnd_file.put_line(fnd_file.log, 'Following error(s) occured while inserting into table ahl_bue_worker_data');
12077: FOR j IN 1..sql%bulk_exceptions.count
12078: LOOP
12079: fnd_file.put_line(fnd_file.log, sql%bulk_exceptions(j).error_index || ', ' ||
12080: sqlerrm(-sql%bulk_exceptions(j).error_code) );
12106: EXIT WHEN (l_instance_id_tbl.COUNT = 0);
12107: BEGIN
12108: -- insert into BUE table.
12109: FORALL instance_indx IN l_instance_id_tbl.FIRST..l_instance_id_tbl.LAST SAVE EXCEPTIONS
12110: INSERT INTO AHL_BUE_WORKER_DATA
12111: (parent_conc_request_id,
12112: csi_item_instance_id,
12113: child_conc_request_id,
12114: last_update_date,
12135: END IF;
12136: x_return_status := 'E';
12137:
12138: IF (p_concurrent_flag = 'Y') THEN
12139: fnd_file.put_line(fnd_file.log, 'Following error(s) occured while inserting into table ahl_bue_worker_data');
12140: FOR j IN 1..sql%bulk_exceptions.count
12141: LOOP
12142: fnd_file.put_line(fnd_file.log, sql%bulk_exceptions(j).error_index || ', ' ||
12143: sqlerrm(-sql%bulk_exceptions(j).error_code) );
12155: END LOOP;
12156: CLOSE get_extra_ue_na;
12157:
12158: -- delete duplicate rows.
12159: DELETE FROM ahl_bue_worker_data
12160: WHERE parent_conc_request_id = p_conc_request_id
12161: AND rowid not in (SELECT MIN(rowid)
12162: FROM ahl_bue_worker_data
12163: WHERE parent_conc_request_id = p_conc_request_id
12158: -- delete duplicate rows.
12159: DELETE FROM ahl_bue_worker_data
12160: WHERE parent_conc_request_id = p_conc_request_id
12161: AND rowid not in (SELECT MIN(rowid)
12162: FROM ahl_bue_worker_data
12163: WHERE parent_conc_request_id = p_conc_request_id
12164: GROUP BY csi_item_instance_id, parent_conc_request_id) ;
12165:
12166: