2409: -- assume that all concurrent workers completed normally, unless found otherwise
2410: l_workers_completed := TRUE;
2411:
2412: Select request_id BULK COLLECT into l_sub_requests
2413: from Fnd_Concurrent_Requests R
2414: Where Parent_Request_Id = FND_GLOBAL.conc_request_id
2415: and (phase_code<>'C' or status_code<>'C');
2416:
2417: IF l_sub_requests.count>0 THEN
3158: outandlog('Waiting for workers to complete');
3159:
3160: BEGIN
3161: IF l_req1 <> 1 THEN
3162: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req1),
3163: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3164: IF dphase <> 'COMPLETE' THEN
3165: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3166: FND_MESSAGE.SET_TOKEN('ID' ,l_req1);
3173: RAISE FND_API.G_EXC_ERROR;
3174: END IF;
3175: END IF;
3176: IF l_req2 <> 1 THEN
3177: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req2),
3178: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3179: IF dphase <> 'COMPLETE' THEN
3180: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3181: FND_MESSAGE.SET_TOKEN('ID' ,l_req2);
3188: RAISE FND_API.G_EXC_ERROR;
3189: END IF;
3190: END IF;
3191: IF l_req3 <> 1 THEN
3192: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req3),
3193: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3194: IF dphase <> 'COMPLETE' THEN
3195: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3196: FND_MESSAGE.SET_TOKEN('ID' ,l_req3);
3203: RAISE FND_API.G_EXC_ERROR;
3204: END IF;
3205: END IF;
3206: IF l_req4 <> 1 THEN
3207: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req4),
3208: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3209: IF dphase <> 'COMPLETE' THEN
3210: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3211: FND_MESSAGE.SET_TOKEN('ID' ,l_req3);
3218: RAISE FND_API.G_EXC_ERROR;
3219: END IF;
3220: END IF;
3221: IF l_req5 <> 1 THEN
3222: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req5),
3223: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3224: IF dphase <> 'COMPLETE' THEN
3225: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3226: FND_MESSAGE.SET_TOKEN('ID' ,l_req4);
3233: RAISE FND_API.G_EXC_ERROR;
3234: END IF;
3235: END IF;
3236: IF l_req6 <> 1 THEN
3237: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req6),
3238: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3239: IF dphase <> 'COMPLETE' THEN
3240: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3241: FND_MESSAGE.SET_TOKEN('ID' ,l_req5);
3248: RAISE FND_API.G_EXC_ERROR;
3249: END IF;
3250: END IF;
3251: IF l_req7 <> 1 THEN
3252: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req7),
3253: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3254: IF dphase <> 'COMPLETE' THEN
3255: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3256: FND_MESSAGE.SET_TOKEN('ID' ,l_req6);
3263: RAISE FND_API.G_EXC_ERROR;
3264: END IF;
3265: END IF;
3266: IF l_req8 <> 1 THEN
3267: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req8),
3268: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3269: IF dphase <> 'COMPLETE' THEN
3270: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3271: FND_MESSAGE.SET_TOKEN('ID' ,l_req8);
3278: RAISE FND_API.G_EXC_ERROR;
3279: END IF;
3280: END IF;
3281: IF l_req9 <> 1 THEN
3282: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req9),
3283: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3284: IF dphase <> 'COMPLETE' THEN
3285: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3286: FND_MESSAGE.SET_TOKEN('ID' ,l_req9);
3293: RAISE FND_API.G_EXC_ERROR;
3294: END IF;
3295: END IF;
3296: IF l_req10 <> 1 THEN
3297: l_bool := FND_CONCURRENT.wait_for_request(TO_NUMBER(l_req10),
3298: 30, 144000, uphase, ustatus, dphase, dstatus, message);
3299: IF dphase <> 'COMPLETE' THEN
3300: FND_MESSAGE.SET_NAME('AR', 'HZ_STAGE_WORKER_ERROR');
3301: FND_MESSAGE.SET_TOKEN('ID' ,l_req10);
3420: where rnum = 1000;
3421: update hz_staged_parties set d_ps = 'SYNC', d_ct = 'SYNC', d_cpt = 'SYNC', concat_col = concat_col
3422: where party_id between l_min_id and tmp;
3423: AD_CTX_DDL.sync_index(l_index_owner|| '.hz_stage_parties_t1');
3424: FND_Concurrent.af_commit;
3425: l_min_id:=tmp+1;
3426: END LOOP;
3427: EXCEPTION
3428: WHEN NO_DATA_FOUND THEN
3429: update hz_staged_parties set concat_col = concat_col,
3430: d_ps = 'SYNC', d_ct = 'SYNC', d_cpt = 'SYNC'
3431: where party_id between l_min_id and l_max_id ;
3432: AD_CTX_DDL.sync_index(l_index_owner ||'.hz_stage_parties_t1');
3433: FND_Concurrent.af_commit;
3434: WHEN OTHERS THEN
3435: FND_FILE.put_line(FND_FILE.log, 'Error during DENORM PARTY Index Synchronization SQLEERM=' ||SQLERRM);
3436: retcode := 2;
3437: errbuf := SQLERRM;
3460: where party_id between l_min_id and tmp;
3461: FND_FILE.put_line(FND_FILE.log, 'Attempting to SYNC the hz_stage_parties_t1 index');
3462: AD_CTX_DDL.sync_index(l_index_owner|| '.hz_stage_parties_t1');
3463: FND_FILE.put_line(FND_FILE.log, 'SYNC of the hz_stage_parties_t1 index successful');
3464: FND_Concurrent.af_commit;
3465: l_min_id:=tmp+1;
3466: END LOOP;
3467: EXCEPTION
3468: WHEN NO_DATA_FOUND THEN
3470: where party_id between l_min_id and l_max_id ;
3471: FND_FILE.put_line(FND_FILE.log, 'Attempting to SYNC the hz_stage_parties_t1 index');
3472: AD_CTX_DDL.sync_index(l_index_owner ||'.hz_stage_parties_t1');
3473: FND_FILE.put_line(FND_FILE.log, 'SYNC of the hz_stage_parties_t1 index successful');
3474: FND_Concurrent.af_commit;
3475: WHEN OTHERS THEN
3476: FND_FILE.put_line(FND_FILE.log, 'Error during PARTY Index Synchronization SQLEERM=' ||SQLERRM);
3477: retcode := 2;
3478: errbuf := SQLERRM;
3507: where party_id between l_min_id and tmp;
3508: FND_FILE.put_line(FND_FILE.log, 'Attempting to SYNC the hz_stage_party_sites_t1 index');
3509: AD_CTX_DDL.sync_index(l_index_owner ||'.hz_stage_party_sites_t1');
3510: FND_FILE.put_line(FND_FILE.log, 'SYNC of the hz_stage_party_sites_t1 index successful');
3511: FND_Concurrent.af_commit;
3512: l_min_id:=tmp+1;
3513: END LOOP;
3514: EXCEPTION
3515: WHEN NO_DATA_FOUND THEN
3517: where party_site_id between l_min_id and l_max_id ;
3518: FND_FILE.put_line(FND_FILE.log, 'Attempting to SYNC the hz_stage_party_sites_t1 index');
3519: AD_CTX_DDL.sync_index(l_index_owner ||'.hz_stage_party_sites_t1');
3520: FND_FILE.put_line(FND_FILE.log, 'SYNC of the hz_stage_party_sites_t1 index successful');
3521: FND_Concurrent.af_commit;
3522: WHEN OTHERS THEN
3523: FND_FILE.put_line(FND_FILE.log, 'Error during PARTY SITES Index Synchronization SQLEERM=' ||SQLERRM);
3524: retcode := 2;
3525: errbuf := SQLERRM;
3555: where org_contact_id between l_min_id and tmp;
3556: FND_FILE.put_line(FND_FILE.log, 'Attempting to SYNC the hz_stage_contact_t1 index');
3557: AD_CTX_DDL.sync_index(l_index_owner||'.hz_stage_contact_t1');
3558: FND_FILE.put_line(FND_FILE.log, 'SYNC of the hz_stage_contact_t1 index successful');
3559: FND_Concurrent.af_commit;
3560: l_min_id:=tmp+1;
3561: END LOOP;
3562: EXCEPTION
3563: WHEN NO_DATA_FOUND THEN
3565: where org_contact_id between l_min_id and l_max_id ;
3566: FND_FILE.put_line(FND_FILE.log, 'Attempting to SYNC the hz_stage_contact_t1 index');
3567: AD_CTX_DDL.sync_index(l_index_owner||'.hz_stage_contact_t1');
3568: FND_FILE.put_line(FND_FILE.log, 'SYNC of the hz_stage_contact_t1 index successful');
3569: FND_Concurrent.af_commit;
3570: WHEN OTHERS THEN
3571: FND_FILE.put_line(FND_FILE.log, 'Error during CONTACTS Index Synchronization SQLEERM=' ||SQLERRM);
3572: retcode := 2;
3573: errbuf := SQLERRM;
3603: where contact_point_id between l_min_id and tmp;
3604: FND_FILE.put_line(FND_FILE.log, 'Attempting to SYNC the hz_stage_cpt_t1 index');
3605: AD_CTX_DDL.sync_index(l_index_owner||'.hz_stage_cpt_t1');
3606: FND_FILE.put_line(FND_FILE.log, 'SYNC of the hz_stage_cpt_t1 index successful');
3607: FND_Concurrent.af_commit;
3608: l_min_id:=tmp+1;
3609: END LOOP;
3610: EXCEPTION
3611: WHEN NO_DATA_FOUND THEN
3613: where contact_point_id between l_min_id and l_max_id ;
3614: FND_FILE.put_line(FND_FILE.log, 'Attempting to SYNC the hz_stage_cpt_t1 index');
3615: AD_CTX_DDL.sync_index(l_index_owner||'.hz_stage_cpt_t1');
3616: FND_FILE.put_line(FND_FILE.log, 'SYNC of the hz_stage_cpt_t1 index successful');
3617: FND_Concurrent.af_commit;
3618: WHEN OTHERS THEN
3619: FND_FILE.put_line(FND_FILE.log, 'Error during CONTACT POINTS Index Synchronization SQLEERM=' ||SQLERRM);
3620: retcode := 2;
3621: errbuf := SQLERRM;
5508: l(' END; ');
5509: l(' END IF; ');
5510: l('');
5511: l(' IF l_last_fetch THEN');
5512: l(' FND_CONCURRENT.AF_Commit;');
5513: l(' EXIT;');
5514: l(' END IF;');
5515: l('');
5516: l(' FND_CONCURRENT.AF_Commit;');
5512: l(' FND_CONCURRENT.AF_Commit;');
5513: l(' EXIT;');
5514: l(' END IF;');
5515: l('');
5516: l(' FND_CONCURRENT.AF_Commit;');
5517: l('');
5518: l(' END LOOP;');
5519: l(' log (''End Synchronizing Parties''); ');
5520: l(' END;');
5807: l('');
5808: l(' BEGIN');
5809: l(' req_id := FND_GLOBAL.CONC_REQUEST_ID;');
5810: l(' LOOP');
5811: l(' call_status := FND_CONCURRENT.GET_REQUEST_STATUS(');
5812: l(' req_id, null,null,rphase,rstatus,dphase,dstatus,message);');
5813: l(' IF dstatus = ''TERMINATING'' THEN');
5814: l(' FND_FILE.put_line(FND_FILE.log,''Aborted by User'');');
5815: l(' RAISE USER_TERMINATE;');
5931: l(' ROLLBACK to party_batch;');
5932: l(' RAISE;');
5933: l(' END;');
5934: l(' IF l_last_fetch THEN');
5935: l(' FND_CONCURRENT.AF_Commit;');
5936: l(' EXIT;');
5937: l(' END IF;');
5938: l(' FND_CONCURRENT.AF_Commit;');
5939: l(' END LOOP;');
5934: l(' IF l_last_fetch THEN');
5935: l(' FND_CONCURRENT.AF_Commit;');
5936: l(' EXIT;');
5937: l(' END IF;');
5938: l(' FND_CONCURRENT.AF_Commit;');
5939: l(' END LOOP;');
5940: l(' END;');
5941:
5942: l('');
6920: l(' log (''Eror Message is - ''|| sqlerrm); ');
6921: l(' END; ');
6922: l(' END IF; ');
6923: l('');
6924: l(' FND_CONCURRENT.AF_Commit;');
6925: l(' EXIT;');
6926: l(' END IF;');
6927: l('');
6928: l(' FND_CONCURRENT.AF_Commit;');
6924: l(' FND_CONCURRENT.AF_Commit;');
6925: l(' EXIT;');
6926: l(' END IF;');
6927: l('');
6928: l(' FND_CONCURRENT.AF_Commit;');
6929: l('');
6930: l(' END LOOP;');
6931: l(' log (''End Synchronizing Party Sites''); ');
6932: l(' END;');
8227: l(' log (''Eror Message is - ''|| sqlerrm); ');
8228: l(' END; ');
8229: l(' END IF; ');
8230: l('');
8231: l(' FND_CONCURRENT.AF_Commit;');
8232: l(' EXIT;');
8233: l(' END IF;');
8234: l('');
8235: l(' FND_CONCURRENT.AF_Commit;');
8231: l(' FND_CONCURRENT.AF_Commit;');
8232: l(' EXIT;');
8233: l(' END IF;');
8234: l('');
8235: l(' FND_CONCURRENT.AF_Commit;');
8236: l('');
8237: l(' END LOOP;');
8238: l(' log (''End Synchronizing Contacts''); ');
8239: l(' END;');
9504: l(' log (''Eror Message is - ''|| sqlerrm); ');
9505: l(' END; ');
9506: l(' END IF; ');
9507: l('');
9508: l(' FND_CONCURRENT.AF_Commit;');
9509: l(' EXIT;');
9510: l(' END IF;');
9511: l('');
9512: l(' FND_CONCURRENT.AF_Commit;');
9508: l(' FND_CONCURRENT.AF_Commit;');
9509: l(' EXIT;');
9510: l(' END IF;');
9511: l('');
9512: l(' FND_CONCURRENT.AF_Commit;');
9513: l('');
9514: l(' END LOOP;');
9515: l(' log (''End Synchronizing Contact Points''); ');
9516: l(' END;');
10469: END IF;
10470: END LOOP;
10471: l(' WHERE PARTY_ID=H_PARTY_ID(I);');
10472: l(' IF l_last_fetch THEN');
10473: l(' FND_CONCURRENT.AF_Commit;');
10474: l(' EXIT;');
10475: l(' END IF;');
10476: l(' FND_CONCURRENT.AF_Commit;');
10477: l(' END LOOP;');
10472: l(' IF l_last_fetch THEN');
10473: l(' FND_CONCURRENT.AF_Commit;');
10474: l(' EXIT;');
10475: l(' END IF;');
10476: l(' FND_CONCURRENT.AF_Commit;');
10477: l(' END LOOP;');
10478: l(' END;');
10479: END IF;
10480: END;
10735: l(';');
10736: END IF ;
10737:
10738: l(' IF l_last_fetch THEN');
10739: l(' FND_CONCURRENT.AF_Commit;');
10740: l(' EXIT;');
10741: l(' END IF;');
10742: l(' FND_CONCURRENT.AF_Commit;');
10743: l(' END LOOP;');
10738: l(' IF l_last_fetch THEN');
10739: l(' FND_CONCURRENT.AF_Commit;');
10740: l(' EXIT;');
10741: l(' END IF;');
10742: l(' FND_CONCURRENT.AF_Commit;');
10743: l(' END LOOP;');
10744: l(' END;');
10745: END IF ;
10746: -- NO NEW TRANSFORMATIONS BUT THERE ARE SOME NEW DENORM ATTRIBUTES
10804:
10805:
10806:
10807: l(' IF l_last_fetch THEN');
10808: l(' FND_CONCURRENT.AF_Commit;');
10809: l(' EXIT;');
10810: l(' END IF;');
10811: l(' FND_CONCURRENT.AF_Commit;');
10812: l(' END LOOP ; ');
10807: l(' IF l_last_fetch THEN');
10808: l(' FND_CONCURRENT.AF_Commit;');
10809: l(' EXIT;');
10810: l(' END IF;');
10811: l(' FND_CONCURRENT.AF_Commit;');
10812: l(' END LOOP ; ');
10813: l(' END ; ');
10814: END IF ;
10815:
11061: ELSE
11062: l(';');
11063: END IF ;
11064: l(' IF l_last_fetch THEN');
11065: l(' FND_CONCURRENT.AF_Commit;');
11066: l(' EXIT;');
11067: l(' END IF;');
11068: l(' FND_CONCURRENT.AF_Commit;');
11069: l(' END LOOP;');
11064: l(' IF l_last_fetch THEN');
11065: l(' FND_CONCURRENT.AF_Commit;');
11066: l(' EXIT;');
11067: l(' END IF;');
11068: l(' FND_CONCURRENT.AF_Commit;');
11069: l(' END LOOP;');
11070: l(' END;');
11071: END IF ;
11072: -- NO NEW TRANSFORMATIONS BUT THERE ARE SOME NEW DENORM ATTRIBUTES
11125: l('END ;');
11126: l('END LOOP ;');
11127:
11128: l(' IF l_last_fetch THEN');
11129: l(' FND_CONCURRENT.AF_Commit;');
11130: l(' EXIT;');
11131: l(' END IF;');
11132: l(' FND_CONCURRENT.AF_Commit;');
11133: l(' END LOOP ;');
11128: l(' IF l_last_fetch THEN');
11129: l(' FND_CONCURRENT.AF_Commit;');
11130: l(' EXIT;');
11131: l(' END IF;');
11132: l(' FND_CONCURRENT.AF_Commit;');
11133: l(' END LOOP ;');
11134: l(' END ; ');
11135: END IF ;
11136: END;
11377: ELSE
11378: l(';');
11379: END IF ;
11380: l(' IF l_last_fetch THEN');
11381: l(' FND_CONCURRENT.AF_Commit;');
11382: l(' EXIT;');
11383: l(' END IF;');
11384: l(' FND_CONCURRENT.AF_Commit;');
11385: l(' END LOOP;');
11380: l(' IF l_last_fetch THEN');
11381: l(' FND_CONCURRENT.AF_Commit;');
11382: l(' EXIT;');
11383: l(' END IF;');
11384: l(' FND_CONCURRENT.AF_Commit;');
11385: l(' END LOOP;');
11386: l(' END;');
11387: END IF;
11388: ELSE
11444:
11445:
11446:
11447: l(' IF l_last_fetch THEN');
11448: l(' FND_CONCURRENT.AF_Commit;');
11449: l(' EXIT;');
11450: l(' END IF;');
11451: l(' FND_CONCURRENT.AF_Commit;');
11452: l(' END LOOP ; ');
11447: l(' IF l_last_fetch THEN');
11448: l(' FND_CONCURRENT.AF_Commit;');
11449: l(' EXIT;');
11450: l(' END IF;');
11451: l(' FND_CONCURRENT.AF_Commit;');
11452: l(' END LOOP ; ');
11453: l(' END ; ');
11454: END IF ;
11455:
11740:
11741: l_bool BOOLEAN;
11742:
11743: BEGIN
11744: l_bool := FND_CONCURRENT.wait_for_request(p_request_id,
11745: 60, 144000, uphase, ustatus, dphase, dstatus, message);
11746:
11747: IF dphase <> 'COMPLETE' and dstatus <> 'NORMAL' THEN
11748: return 'ERROR';