50782: EXIT WHEN SQL%NOTFOUND ;
50783: commit;
50784:
50785: lv_message := to_char(p_task_name)||','||to_char(lv_batch_id);
50786: DBMS_PIPE.PACK_MESSAGE(lv_message);
50787: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
50788: RAISE EX_PIPE_SND;
50789: END IF;
50790: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'p_task_name: '||lv_message);
50783: commit;
50784:
50785: lv_message := to_char(p_task_name)||','||to_char(lv_batch_id);
50786: DBMS_PIPE.PACK_MESSAGE(lv_message);
50787: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
50788: RAISE EX_PIPE_SND;
50789: END IF;
50790: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'p_task_name: '||lv_message);
50791: lv_task_not_completed := lv_task_not_completed + 1;
50799: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_WARNING,'Error in Sending message in Pipe');
50800: WHEN OTHERS THEN
50801: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_WARNING,'Error in Batch ID generation: ' || SQLERRM);
50802: lv_message := to_char(p_task_name)||','||to_char(0);
50803: DBMS_PIPE.PACK_MESSAGE(lv_message );
50804: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
50805: RAISE EX_PIPE_SND ;
50806: END IF;
50807: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_WARNING,'p_task_name: '||lv_message);
50800: WHEN OTHERS THEN
50801: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_WARNING,'Error in Batch ID generation: ' || SQLERRM);
50802: lv_message := to_char(p_task_name)||','||to_char(0);
50803: DBMS_PIPE.PACK_MESSAGE(lv_message );
50804: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
50805: RAISE EX_PIPE_SND ;
50806: END IF;
50807: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_WARNING,'p_task_name: '||lv_message);
50808: lv_task_not_completed := lv_task_not_completed + 1;
52824: END IF;
52825:
52826: -- ============= Get the Task from Task Que ==============
52827:
52828: lv_pipe_ret_code := DBMS_PIPE.RECEIVE_MESSAGE( v_pipe_task_que, PIPE_TIME_OUT);
52829:
52830: IF lv_pipe_ret_code<>0 THEN
52831:
52832: IF lv_pipe_ret_code<> 1 THEN Raise EX_PIPE_RCV; END IF;
52832: IF lv_pipe_ret_code<> 1 THEN Raise EX_PIPE_RCV; END IF;
52833:
52834: ELSE
52835:
52836: IF DBMS_PIPE.next_item_type = 0 then
52837:
52838: dbms_lock.sleep(2); -- sleep for 2 seconds and then check again
52839:
52840: ELSE
52838: dbms_lock.sleep(2); -- sleep for 2 seconds and then check again
52839:
52840: ELSE
52841:
52842: DBMS_PIPE.UNPACK_MESSAGE(lv_message);
52843: lv_task_number := get_task_num (lv_message);
52844:
52845: IF lv_task_number< 0 or lv_task_number = TASK_ALL_COMPLETED then
52846: EXIT ;
52853: lv_batch_id := get_batch_id(lv_message);
52854: EXECUTE_TASK( lv_task_status, lv_task_number, lv_batch_id );
52855:
52856: IF lv_task_status <> OK THEN
52857: DBMS_PIPE.PACK_MESSAGE( -lv_task_number);
52858: ELSE
52859: DBMS_PIPE.PACK_MESSAGE( lv_task_number);
52860: END IF;
52861:
52855:
52856: IF lv_task_status <> OK THEN
52857: DBMS_PIPE.PACK_MESSAGE( -lv_task_number);
52858: ELSE
52859: DBMS_PIPE.PACK_MESSAGE( lv_task_number);
52860: END IF;
52861:
52862: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52863: RAISE EX_PIPE_SND;
52858: ELSE
52859: DBMS_PIPE.PACK_MESSAGE( lv_task_number);
52860: END IF;
52861:
52862: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52863: RAISE EX_PIPE_SND;
52864: END IF;
52865:
52866: IF lv_task_status <> OK THEN
52877:
52878: IF lv_task_number = TASK_ALL_COMPLETED THEN
52879: COMMIT;
52880:
52881: DBMS_PIPE.PACK_MESSAGE( SYS_YES);
52882:
52883: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_status)<>0 THEN
52884: RAISE EX_PIPE_SND;
52885: END IF;
52879: COMMIT;
52880:
52881: DBMS_PIPE.PACK_MESSAGE( SYS_YES);
52882:
52883: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_status)<>0 THEN
52884: RAISE EX_PIPE_SND;
52885: END IF;
52886:
52887: FND_MESSAGE.SET_NAME('MSC', 'MSC_PP_SUCCEED');
52896: ELSE -- unknown error occurs
52897:
52898: ROLLBACK;
52899:
52900: DBMS_PIPE.PACK_MESSAGE( SYS_YES);
52901:
52902: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_status)<>0 THEN
52903: RAISE EX_PIPE_SND;
52904: END IF;
52898: ROLLBACK;
52899:
52900: DBMS_PIPE.PACK_MESSAGE( SYS_YES);
52901:
52902: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_status)<>0 THEN
52903: RAISE EX_PIPE_SND;
52904: END IF;
52905:
52906: FND_MESSAGE.SET_NAME('MSC', 'MSC_PP_FAIL');
52923: RETCODE := G_ERROR;
52924: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS, ERRBUF);
52925:
52926: -- send a message of 'unresolvable error' to monitor
52927: DBMS_PIPE.PACK_MESSAGE( UNRESOVLABLE_ERROR);
52928:
52929: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52930: FND_MESSAGE.SET_NAME('MSC', 'MSC_MSG_SEND_FAIL');
52931: FND_MESSAGE.SET_TOKEN('PIPE', v_pipe_wm);
52925:
52926: -- send a message of 'unresolvable error' to monitor
52927: DBMS_PIPE.PACK_MESSAGE( UNRESOVLABLE_ERROR);
52928:
52929: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52930: FND_MESSAGE.SET_NAME('MSC', 'MSC_MSG_SEND_FAIL');
52931: FND_MESSAGE.SET_TOKEN('PIPE', v_pipe_wm);
52932: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,FND_MESSAGE.GET);
52933: END IF;
52943: RETCODE := G_ERROR;
52944: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,ERRBUF);
52945:
52946: -- send a message of 'unresolavable error' to monitor
52947: DBMS_PIPE.PACK_MESSAGE( UNRESOVLABLE_ERROR);
52948:
52949: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52950: FND_MESSAGE.SET_NAME('MSC', 'MSC_MSG_SEND_FAIL');
52951: FND_MESSAGE.SET_TOKEN('PIPE', v_pipe_wm);
52945:
52946: -- send a message of 'unresolavable error' to monitor
52947: DBMS_PIPE.PACK_MESSAGE( UNRESOVLABLE_ERROR);
52948:
52949: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52950: FND_MESSAGE.SET_NAME('MSC', 'MSC_MSG_SEND_FAIL');
52951: FND_MESSAGE.SET_TOKEN('PIPE', v_pipe_wm);
52952: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,FND_MESSAGE.GET);
52953: END IF;
52962: RETCODE := G_ERROR;
52963: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS, ERRBUF);
52964:
52965: -- send a message of 'unresolavable error' to monitor
52966: DBMS_PIPE.PACK_MESSAGE( UNRESOVLABLE_ERROR);
52967:
52968: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52969: FND_MESSAGE.SET_NAME('MSC', 'MSC_MSG_SEND_FAIL');
52970: FND_MESSAGE.SET_TOKEN('PIPE', v_pipe_wm);
52964:
52965: -- send a message of 'unresolavable error' to monitor
52966: DBMS_PIPE.PACK_MESSAGE( UNRESOVLABLE_ERROR);
52967:
52968: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52969: FND_MESSAGE.SET_NAME('MSC', 'MSC_MSG_SEND_FAIL');
52970: FND_MESSAGE.SET_TOKEN('PIPE', v_pipe_wm);
52971: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,FND_MESSAGE.GET);
52972: END IF;
52980:
52981: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS, ERRBUF);
52982:
52983: -- send a message of 'unresolavable error' to monitor
52984: DBMS_PIPE.PACK_MESSAGE( UNRESOVLABLE_ERROR);
52985:
52986: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52987: FND_MESSAGE.SET_NAME('MSC', 'MSC_MSG_SEND_FAIL');
52988: FND_MESSAGE.SET_TOKEN('PIPE', v_pipe_wm);
52982:
52983: -- send a message of 'unresolavable error' to monitor
52984: DBMS_PIPE.PACK_MESSAGE( UNRESOVLABLE_ERROR);
52985:
52986: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_wm)<>0 THEN
52987: FND_MESSAGE.SET_NAME('MSC', 'MSC_MSG_SEND_FAIL');
52988: FND_MESSAGE.SET_TOKEN('PIPE', v_pipe_wm);
52989: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,FND_MESSAGE.GET);
52990: END IF;
52989: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,FND_MESSAGE.GET);
52990: END IF;
52991:
52992: -- send a message of 'the worker ends its process' to monitor
52993: DBMS_PIPE.PACK_MESSAGE( SYS_YES);
52994:
52995: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_status)<>0 THEN
52996: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS, 'FAIL TO SEND MESSAGE');
52997: END IF;
52991:
52992: -- send a message of 'the worker ends its process' to monitor
52993: DBMS_PIPE.PACK_MESSAGE( SYS_YES);
52994:
52995: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_status)<>0 THEN
52996: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS, 'FAIL TO SEND MESSAGE');
52997: END IF;
52998:
52999: END LAUNCH_WORKER;
53483: prec.kpi_bis_flag:=SYS_YES;
53484: END IF;
53485:
53486: --- Purge the existing pipes so that new pipes would be created
53487: DBMS_PIPE.PURGE( v_pipe_task_que);
53488: DBMS_PIPE.PURGE( v_pipe_wm);
53489: DBMS_PIPE.PURGE( v_pipe_mw);
53490: DBMS_PIPE.PURGE( v_pipe_status);
53491:
53484: END IF;
53485:
53486: --- Purge the existing pipes so that new pipes would be created
53487: DBMS_PIPE.PURGE( v_pipe_task_que);
53488: DBMS_PIPE.PURGE( v_pipe_wm);
53489: DBMS_PIPE.PURGE( v_pipe_mw);
53490: DBMS_PIPE.PURGE( v_pipe_status);
53491:
53492: -- ============ Lauch the Workers here ===============
53485:
53486: --- Purge the existing pipes so that new pipes would be created
53487: DBMS_PIPE.PURGE( v_pipe_task_que);
53488: DBMS_PIPE.PURGE( v_pipe_wm);
53489: DBMS_PIPE.PURGE( v_pipe_mw);
53490: DBMS_PIPE.PURGE( v_pipe_status);
53491:
53492: -- ============ Lauch the Workers here ===============
53493:
53486: --- Purge the existing pipes so that new pipes would be created
53487: DBMS_PIPE.PURGE( v_pipe_task_que);
53488: DBMS_PIPE.PURGE( v_pipe_wm);
53489: DBMS_PIPE.PURGE( v_pipe_mw);
53490: DBMS_PIPE.PURGE( v_pipe_status);
53491:
53492: -- ============ Lauch the Workers here ===============
53493:
53494: lvs_request_id.EXTEND( p_total_worker_num);
53559: END IF;
53560:
53561: FOR lc_i IN 1..p_total_worker_num LOOP
53562:
53563: DBMS_PIPE.PACK_MESSAGE( '-1');
53564:
53565: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53566: RAISE EX_PIPE_SND;
53567: END IF;
53561: FOR lc_i IN 1..p_total_worker_num LOOP
53562:
53563: DBMS_PIPE.PACK_MESSAGE( '-1');
53564:
53565: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53566: RAISE EX_PIPE_SND;
53567: END IF;
53568:
53569: END LOOP;
53596:
53597: -- ============ Send Tasks to Task Que 'v_pipe_task_que' =============
53598:
53599: lv_message := to_char(TASK_BIS_PERIODS);
53600: DBMS_PIPE.PACK_MESSAGE(lv_message );
53601: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53602: RAISE EX_PIPE_SND;
53603: END IF;
53604: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_BIS_PERIODS: '||lv_message);
53597: -- ============ Send Tasks to Task Que 'v_pipe_task_que' =============
53598:
53599: lv_message := to_char(TASK_BIS_PERIODS);
53600: DBMS_PIPE.PACK_MESSAGE(lv_message );
53601: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53602: RAISE EX_PIPE_SND;
53603: END IF;
53604: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_BIS_PERIODS: '||lv_message);
53605: lv_task_not_completed := lv_task_not_completed + 1;
53654: -- send out the batches to the workers' task Pipe
53655:
53656: FOR j in lv_batch_start..lv_batch_last LOOP
53657: lv_message := to_char(TASK_ITEM)||','||to_char(j);
53658: DBMS_PIPE.PACK_MESSAGE(lv_message );
53659: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53660: RAISE EX_PIPE_SND;
53661: END IF;
53662: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM: '||lv_message);
53655:
53656: FOR j in lv_batch_start..lv_batch_last LOOP
53657: lv_message := to_char(TASK_ITEM)||','||to_char(j);
53658: DBMS_PIPE.PACK_MESSAGE(lv_message );
53659: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53660: RAISE EX_PIPE_SND;
53661: END IF;
53662: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM: '||lv_message);
53663: lv_total_item_batches := lv_total_item_batches + 1;
53665: END LOOP;
53666:
53667: ELSE
53668: lv_message := to_char(TASK_ITEM)||','||to_char(0);
53669: DBMS_PIPE.PACK_MESSAGE(lv_message );
53670: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53671: RAISE EX_PIPE_SND;
53672: END IF;
53673: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM: '||lv_message);
53666:
53667: ELSE
53668: lv_message := to_char(TASK_ITEM)||','||to_char(0);
53669: DBMS_PIPE.PACK_MESSAGE(lv_message );
53670: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53671: RAISE EX_PIPE_SND;
53672: END IF;
53673: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM: '||lv_message);
53674: lv_total_item_batches := lv_total_item_batches + 1;
53681: EXCEPTION
53682: when others then
53683: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'Error in Item Batch ID generation: ' || SQLERRM);
53684: lv_message := to_char(TASK_ITEM)||','||to_char(0);
53685: DBMS_PIPE.PACK_MESSAGE(lv_message );
53686: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53687: RAISE EX_PIPE_SND;
53688: END IF;
53689: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM: '||lv_message);
53682: when others then
53683: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'Error in Item Batch ID generation: ' || SQLERRM);
53684: lv_message := to_char(TASK_ITEM)||','||to_char(0);
53685: DBMS_PIPE.PACK_MESSAGE(lv_message );
53686: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53687: RAISE EX_PIPE_SND;
53688: END IF;
53689: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM: '||lv_message);
53690: lv_total_item_batches := lv_total_item_batches + 1;
53697: -- kludge to launch the dependent tasks even if
53698: -- item is not enabled for processing
53699:
53700: lv_message := to_char(TASK_ITEM)||','||to_char(0);
53701: DBMS_PIPE.PACK_MESSAGE(lv_message );
53702: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53703: RAISE EX_PIPE_SND;
53704: END IF;
53705: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM: '||lv_message);
53698: -- item is not enabled for processing
53699:
53700: lv_message := to_char(TASK_ITEM)||','||to_char(0);
53701: DBMS_PIPE.PACK_MESSAGE(lv_message );
53702: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53703: RAISE EX_PIPE_SND;
53704: END IF;
53705: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM: '||lv_message);
53706: lv_total_item_batches := lv_total_item_batches + 1;
53714: EXIT WHEN is_request_status_running <> SYS_YES;
53715:
53716: EXIT WHEN is_worker_status_valid(lvs_request_id) <> SYS_YES;
53717:
53718: lv_pipe_ret_code:= DBMS_PIPE.RECEIVE_MESSAGE( v_pipe_wm, PIPE_TIME_OUT);
53719:
53720: IF lv_pipe_ret_code=0 THEN
53721: IF DBMS_PIPE.next_item_type <> 0 then
53722:
53717:
53718: lv_pipe_ret_code:= DBMS_PIPE.RECEIVE_MESSAGE( v_pipe_wm, PIPE_TIME_OUT);
53719:
53720: IF lv_pipe_ret_code=0 THEN
53721: IF DBMS_PIPE.next_item_type <> 0 then
53722:
53723: DBMS_PIPE.UNPACK_MESSAGE( lv_task_number );
53724:
53725: IF lv_task_number>0 THEN -- If it's ok, the value is the task number
53719:
53720: IF lv_pipe_ret_code=0 THEN
53721: IF DBMS_PIPE.next_item_type <> 0 then
53722:
53723: DBMS_PIPE.UNPACK_MESSAGE( lv_task_number );
53724:
53725: IF lv_task_number>0 THEN -- If it's ok, the value is the task number
53726: lv_task_not_completed := lv_task_not_completed -1;
53727:
53740: END IF;
53741:
53742: IF p_comp_users_enabled = SYS_YES AND v_MSC_CONFIGURATION IN(2,3) THEN
53743: lv_message := to_char(TASK_COMPANY_USERS);
53744: DBMS_PIPE.PACK_MESSAGE(lv_message);
53745: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53746: RAISE EX_PIPE_SND;
53747: END IF;
53748: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_COMPANY_USERS: '||lv_message);
53741:
53742: IF p_comp_users_enabled = SYS_YES AND v_MSC_CONFIGURATION IN(2,3) THEN
53743: lv_message := to_char(TASK_COMPANY_USERS);
53744: DBMS_PIPE.PACK_MESSAGE(lv_message);
53745: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53746: RAISE EX_PIPE_SND;
53747: END IF;
53748: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_COMPANY_USERS: '||lv_message);
53749: lv_task_not_completed := lv_task_not_completed + 1;
53750: END IF;
53751:
53752: IF p_uom_class_enabled = SYS_YES THEN
53753: lv_message := to_char(TASK_UOM_CONV);
53754: DBMS_PIPE.PACK_MESSAGE(lv_message);
53755: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53756: RAISE EX_PIPE_SND;
53757: END IF;
53758: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_UOM_CONV: '||lv_message);
53751:
53752: IF p_uom_class_enabled = SYS_YES THEN
53753: lv_message := to_char(TASK_UOM_CONV);
53754: DBMS_PIPE.PACK_MESSAGE(lv_message);
53755: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53756: RAISE EX_PIPE_SND;
53757: END IF;
53758: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_UOM_CONV: '||lv_message);
53759: lv_task_not_completed := lv_task_not_completed + 1;
53760: END IF;
53761:
53762: IF p_item_cst_enabled = SYS_YES AND v_sce_installed THEN
53763: lv_message := to_char(TASK_ITEM_CST);
53764: DBMS_PIPE.PACK_MESSAGE(lv_message);
53765: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53766: RAISE EX_PIPE_SND;
53767: END IF;
53768: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM_CST: '||lv_message);
53761:
53762: IF p_item_cst_enabled = SYS_YES AND v_sce_installed THEN
53763: lv_message := to_char(TASK_ITEM_CST);
53764: DBMS_PIPE.PACK_MESSAGE(lv_message);
53765: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53766: RAISE EX_PIPE_SND;
53767: END IF;
53768: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM_CST: '||lv_message);
53769: lv_task_not_completed := lv_task_not_completed + 1;
53770: END IF;
53771:
53772:
53773: lv_message := to_char(TASK_SUPPLIER_CAPACITY);
53774: DBMS_PIPE.PACK_MESSAGE(lv_message);
53775: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53776: RAISE EX_PIPE_SND;
53777: END IF;
53778: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SUPPLIER_CAPACITY: '||lv_message);
53771:
53772:
53773: lv_message := to_char(TASK_SUPPLIER_CAPACITY);
53774: DBMS_PIPE.PACK_MESSAGE(lv_message);
53775: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53776: RAISE EX_PIPE_SND;
53777: END IF;
53778: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SUPPLIER_CAPACITY: '||lv_message);
53779: lv_task_not_completed := lv_task_not_completed + 1;
53778: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SUPPLIER_CAPACITY: '||lv_message);
53779: lv_task_not_completed := lv_task_not_completed + 1;
53780:
53781: lv_message := to_char(TASK_CAL_ASSIGNMENTS);
53782: DBMS_PIPE.PACK_MESSAGE(lv_message);
53783: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53784: RAISE EX_PIPE_SND;
53785: END IF;
53786: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_CAL_ASSIGNMENTS: '||lv_message);
53779: lv_task_not_completed := lv_task_not_completed + 1;
53780:
53781: lv_message := to_char(TASK_CAL_ASSIGNMENTS);
53782: DBMS_PIPE.PACK_MESSAGE(lv_message);
53783: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53784: RAISE EX_PIPE_SND;
53785: END IF;
53786: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_CAL_ASSIGNMENTS: '||lv_message);
53787: lv_task_not_completed := lv_task_not_completed + 1;
53786: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_CAL_ASSIGNMENTS: '||lv_message);
53787: lv_task_not_completed := lv_task_not_completed + 1;
53788:
53789: lv_message := to_char(TASK_SAFETY_STOCK);
53790: DBMS_PIPE.PACK_MESSAGE(lv_message);
53791: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53792: RAISE EX_PIPE_SND;
53793: END IF;
53794: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SAFETY_STOCK: '||lv_message);
53787: lv_task_not_completed := lv_task_not_completed + 1;
53788:
53789: lv_message := to_char(TASK_SAFETY_STOCK);
53790: DBMS_PIPE.PACK_MESSAGE(lv_message);
53791: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53792: RAISE EX_PIPE_SND;
53793: END IF;
53794: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SAFETY_STOCK: '||lv_message);
53795: lv_task_not_completed := lv_task_not_completed + 1;
53795: lv_task_not_completed := lv_task_not_completed + 1;
53796:
53797:
53798: lv_message := to_char(TASK_CATEGORIES_SOURCING);
53799: DBMS_PIPE.PACK_MESSAGE(lv_message);
53800: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53801: RAISE EX_PIPE_SND;
53802: END IF;
53803: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_CATEGORIES_SOURCING: '||lv_message);
53796:
53797:
53798: lv_message := to_char(TASK_CATEGORIES_SOURCING);
53799: DBMS_PIPE.PACK_MESSAGE(lv_message);
53800: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53801: RAISE EX_PIPE_SND;
53802: END IF;
53803: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_CATEGORIES_SOURCING: '||lv_message);
53804: lv_task_not_completed := lv_task_not_completed + 1;
53803: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_CATEGORIES_SOURCING: '||lv_message);
53804: lv_task_not_completed := lv_task_not_completed + 1;
53805:
53806: lv_message := to_char(TASK_DEPT_RESOURCES);
53807: DBMS_PIPE.PACK_MESSAGE(lv_message);
53808: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53809: RAISE EX_PIPE_SND;
53810: END IF;
53811: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_DEPT_RESOURCES: '||lv_message);
53804: lv_task_not_completed := lv_task_not_completed + 1;
53805:
53806: lv_message := to_char(TASK_DEPT_RESOURCES);
53807: DBMS_PIPE.PACK_MESSAGE(lv_message);
53808: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53809: RAISE EX_PIPE_SND;
53810: END IF;
53811: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_DEPT_RESOURCES: '||lv_message);
53812: lv_task_not_completed := lv_task_not_completed + 1;
53811: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_DEPT_RESOURCES: '||lv_message);
53812: lv_task_not_completed := lv_task_not_completed + 1;
53813:
53814: lv_message := to_char(TASK_ITEM_SUBSTITUTE);
53815: DBMS_PIPE.PACK_MESSAGE(lv_message);
53816: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53817: RAISE EX_PIPE_SND;
53818: END IF;
53819: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM_SUBSTITUTE: '||lv_message);
53812: lv_task_not_completed := lv_task_not_completed + 1;
53813:
53814: lv_message := to_char(TASK_ITEM_SUBSTITUTE);
53815: DBMS_PIPE.PACK_MESSAGE(lv_message);
53816: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53817: RAISE EX_PIPE_SND;
53818: END IF;
53819: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ITEM_SUBSTITUTE: '||lv_message);
53820: lv_task_not_completed := lv_task_not_completed + 1;
53821:
53822:
53823: IF p_fiscal_cal_enabled = SYS_YES THEN
53824: lv_message := to_char(TASK_FISCAL_TIME);
53825: DBMS_PIPE.PACK_MESSAGE(lv_message);
53826: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53827: RAISE EX_PIPE_SND;
53828: END IF;
53829: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_FISCAL_TIME: '||lv_message);
53822:
53823: IF p_fiscal_cal_enabled = SYS_YES THEN
53824: lv_message := to_char(TASK_FISCAL_TIME);
53825: DBMS_PIPE.PACK_MESSAGE(lv_message);
53826: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53827: RAISE EX_PIPE_SND;
53828: END IF;
53829: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_FISCAL_TIME: '||lv_message);
53830: lv_task_not_completed := lv_task_not_completed + 1;
53832:
53833:
53834: IF p_comp_cal_enabled = SYS_YES THEN
53835: lv_message := to_char(TASK_COMPOSITE_TIME);
53836: DBMS_PIPE.PACK_MESSAGE(lv_message);
53837: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53838: RAISE EX_PIPE_SND;
53839: END IF;
53840: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_COMPOSITE_TIME: '||lv_message);
53833:
53834: IF p_comp_cal_enabled = SYS_YES THEN
53835: lv_message := to_char(TASK_COMPOSITE_TIME);
53836: DBMS_PIPE.PACK_MESSAGE(lv_message);
53837: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53838: RAISE EX_PIPE_SND;
53839: END IF;
53840: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_COMPOSITE_TIME: '||lv_message);
53841: lv_task_not_completed := lv_task_not_completed + 1;
53893: -- send out the batches to the workers' task Pipe
53894:
53895: FOR j in lv_batch_start..lv_batch_last LOOP
53896: lv_message := to_char(TASK_MATERIAL_SUPPLY)||','||to_char(j);
53897: DBMS_PIPE.PACK_MESSAGE(lv_message);
53898: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53899: RAISE EX_PIPE_SND;
53900: END IF;
53901: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_MATERIAL_SUPPLY: '||lv_message);
53894:
53895: FOR j in lv_batch_start..lv_batch_last LOOP
53896: lv_message := to_char(TASK_MATERIAL_SUPPLY)||','||to_char(j);
53897: DBMS_PIPE.PACK_MESSAGE(lv_message);
53898: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53899: RAISE EX_PIPE_SND;
53900: END IF;
53901: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_MATERIAL_SUPPLY: '||lv_message);
53902: lv_total_supply_batches := lv_total_supply_batches + 1;
53968: -- send out the batches to the workers' task Pipe
53969:
53970: FOR j in lv_batch_start..lv_batch_last LOOP
53971: lv_message := to_char(TASK_MATERIAL_DEMAND)||','||to_char(j);
53972: DBMS_PIPE.PACK_MESSAGE(lv_message);
53973: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53974: RAISE EX_PIPE_SND;
53975: END IF;
53976: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_MATERIAL_DEMAND: '||lv_message);
53969:
53970: FOR j in lv_batch_start..lv_batch_last LOOP
53971: lv_message := to_char(TASK_MATERIAL_DEMAND)||','||to_char(j);
53972: DBMS_PIPE.PACK_MESSAGE(lv_message);
53973: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
53974: RAISE EX_PIPE_SND;
53975: END IF;
53976: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_MATERIAL_DEMAND: '||lv_message);
53977: lv_total_demand_batches := lv_total_demand_batches + 1;
54050: -- send out the batches to the workers' task Pipe
54051:
54052: FOR j in lv_batch_start..lv_batch_last LOOP
54053: lv_message := to_char(TASK_SO_DEMAND)||','||to_char(j);
54054: DBMS_PIPE.PACK_MESSAGE(lv_message);
54055: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54056: RAISE EX_PIPE_SND;
54057: END IF;
54058: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54051:
54052: FOR j in lv_batch_start..lv_batch_last LOOP
54053: lv_message := to_char(TASK_SO_DEMAND)||','||to_char(j);
54054: DBMS_PIPE.PACK_MESSAGE(lv_message);
54055: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54056: RAISE EX_PIPE_SND;
54057: END IF;
54058: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54059: lv_total_demand_batches := lv_total_demand_batches + 1;
54062:
54063: CREATE_INDEXES('SO');
54064: ELSE
54065: lv_message := to_char(TASK_SO_DEMAND)||','||to_char(0);
54066: DBMS_PIPE.PACK_MESSAGE(lv_message );
54067: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54068: RAISE EX_PIPE_SND;
54069: END IF;
54070: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54063: CREATE_INDEXES('SO');
54064: ELSE
54065: lv_message := to_char(TASK_SO_DEMAND)||','||to_char(0);
54066: DBMS_PIPE.PACK_MESSAGE(lv_message );
54067: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54068: RAISE EX_PIPE_SND;
54069: END IF;
54070: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54071: lv_total_demand_batches := lv_total_demand_batches + 1;
54076: EXCEPTION
54077: when others then
54078: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'Error in Sales Order Demands Batch ID generation: ' || SQLERRM);
54079: lv_message := to_char(TASK_SO_DEMAND)||','||to_char(0);
54080: DBMS_PIPE.PACK_MESSAGE(lv_message );
54081: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54082: RAISE EX_PIPE_SND;
54083: END IF;
54084: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54077: when others then
54078: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'Error in Sales Order Demands Batch ID generation: ' || SQLERRM);
54079: lv_message := to_char(TASK_SO_DEMAND)||','||to_char(0);
54080: DBMS_PIPE.PACK_MESSAGE(lv_message );
54081: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54082: RAISE EX_PIPE_SND;
54083: END IF;
54084: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54085: lv_total_demand_batches := lv_total_demand_batches + 1;
54093: -- kludge to launch the dependent tasks even if
54094: -- demand is not enabled for processing
54095:
54096: lv_message := to_char(TASK_SO_DEMAND)||','||to_char(0);
54097: DBMS_PIPE.PACK_MESSAGE(lv_message );
54098: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54099: RAISE EX_PIPE_SND;
54100: END IF;
54101: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54094: -- demand is not enabled for processing
54095:
54096: lv_message := to_char(TASK_SO_DEMAND)||','||to_char(0);
54097: DBMS_PIPE.PACK_MESSAGE(lv_message );
54098: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54099: RAISE EX_PIPE_SND;
54100: END IF;
54101: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54102: lv_total_demand_batches := lv_total_demand_batches + 1;
54110:
54111: IF lv_demand_batches_completed = lv_total_demand_batches THEN
54112:
54113: lv_message := to_char(TASK_RESERVATION);
54114: DBMS_PIPE.PACK_MESSAGE(lv_message);
54115: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54116: RAISE EX_PIPE_SND;
54117: END IF;
54118: LOG_MESSAGE('TASK_RESERVATION: '||lv_message);
54111: IF lv_demand_batches_completed = lv_total_demand_batches THEN
54112:
54113: lv_message := to_char(TASK_RESERVATION);
54114: DBMS_PIPE.PACK_MESSAGE(lv_message);
54115: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54116: RAISE EX_PIPE_SND;
54117: END IF;
54118: LOG_MESSAGE('TASK_RESERVATION: '||lv_message);
54119:
54123:
54124: ELSIF lv_task_number= TASK_DEPT_RESOURCES THEN
54125:
54126: lv_message := to_char(TASK_BOM_ROUTING);
54127: DBMS_PIPE.PACK_MESSAGE(lv_message);
54128: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54129: RAISE EX_PIPE_SND;
54130: END IF;
54131: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_BOM_ROUTING: '||lv_message);
54124: ELSIF lv_task_number= TASK_DEPT_RESOURCES THEN
54125:
54126: lv_message := to_char(TASK_BOM_ROUTING);
54127: DBMS_PIPE.PACK_MESSAGE(lv_message);
54128: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54129: RAISE EX_PIPE_SND;
54130: END IF;
54131: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_BOM_ROUTING: '||lv_message);
54132:
54136:
54137: ELSIF lv_task_number= TASK_BOM_ROUTING THEN
54138:
54139: lv_message := to_char(TASK_RESOURCE_DEMAND);
54140: DBMS_PIPE.PACK_MESSAGE(lv_message);
54141: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54142: RAISE EX_PIPE_SND;
54143: END IF;
54144: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_RESOURCE_DEMAND: '||lv_message);
54137: ELSIF lv_task_number= TASK_BOM_ROUTING THEN
54138:
54139: lv_message := to_char(TASK_RESOURCE_DEMAND);
54140: DBMS_PIPE.PACK_MESSAGE(lv_message);
54141: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54142: RAISE EX_PIPE_SND;
54143: END IF;
54144: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_RESOURCE_DEMAND: '||lv_message);
54145:
54145:
54146: lv_task_not_completed := lv_task_not_completed + 1;
54147:
54148: lv_message := to_char(TASK_IRO);
54149: DBMS_PIPE.PACK_MESSAGE(lv_message);
54150: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54151: RAISE EX_PIPE_SND;
54152: END IF;
54153:
54146: lv_task_not_completed := lv_task_not_completed + 1;
54147:
54148: lv_message := to_char(TASK_IRO);
54149: DBMS_PIPE.PACK_MESSAGE(lv_message);
54150: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54151: RAISE EX_PIPE_SND;
54152: END IF;
54153:
54154: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_IRO: '||lv_message);
54154: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_IRO: '||lv_message);
54155: lv_task_not_completed := lv_task_not_completed + 1;
54156:
54157: lv_message := to_char(TASK_ERO);
54158: DBMS_PIPE.PACK_MESSAGE(lv_message);
54159: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54160: RAISE EX_PIPE_SND;
54161: END IF;
54162: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ERO: '||lv_message);
54155: lv_task_not_completed := lv_task_not_completed + 1;
54156:
54157: lv_message := to_char(TASK_ERO);
54158: DBMS_PIPE.PACK_MESSAGE(lv_message);
54159: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54160: RAISE EX_PIPE_SND;
54161: END IF;
54162: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_ERO: '||lv_message);
54163: lv_task_not_completed := lv_task_not_completed + 1;
54218: -- send out the batches to the workers' task Pipe
54219:
54220: FOR j in lv_batch_start..lv_batch_last LOOP
54221: lv_message := to_char(TASK_LEVEL_VALUE)||','||to_char(j);
54222: DBMS_PIPE.PACK_MESSAGE(lv_message);
54223: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54224: RAISE EX_PIPE_SND;
54225: END IF;
54226: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54219:
54220: FOR j in lv_batch_start..lv_batch_last LOOP
54221: lv_message := to_char(TASK_LEVEL_VALUE)||','||to_char(j);
54222: DBMS_PIPE.PACK_MESSAGE(lv_message);
54223: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54224: RAISE EX_PIPE_SND;
54225: END IF;
54226: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_SO_DEMAND: '||lv_message);
54227: lv_total_lvalue_batches := lv_total_lvalue_batches + 1;
54229: END LOOP;
54230: -- CREATE_INDEXES('LEVEL_VALUE');
54231: ELSE
54232: lv_message := to_char(TASK_LEVEL_VALUE)||','||to_char(0);
54233: DBMS_PIPE.PACK_MESSAGE(lv_message );
54234: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54235: RAISE EX_PIPE_SND;
54236: END IF;
54237: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_LEVEL_VALUE: '||lv_message);
54230: -- CREATE_INDEXES('LEVEL_VALUE');
54231: ELSE
54232: lv_message := to_char(TASK_LEVEL_VALUE)||','||to_char(0);
54233: DBMS_PIPE.PACK_MESSAGE(lv_message );
54234: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54235: RAISE EX_PIPE_SND;
54236: END IF;
54237: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_LEVEL_VALUE: '||lv_message);
54238: lv_total_lvalue_batches := lv_total_lvalue_batches + 1;
54244: EXCEPTION
54245: when others then
54246: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'Error in Batch ID generation: ' || SQLERRM);
54247: lv_message := to_char(TASK_LEVEL_VALUE)||','||to_char(0);
54248: DBMS_PIPE.PACK_MESSAGE(lv_message );
54249: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54250: RAISE EX_PIPE_SND;
54251: END IF;
54252: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_LEVEL_VALUE: '||lv_message);
54245: when others then
54246: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'Error in Batch ID generation: ' || SQLERRM);
54247: lv_message := to_char(TASK_LEVEL_VALUE)||','||to_char(0);
54248: DBMS_PIPE.PACK_MESSAGE(lv_message );
54249: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54250: RAISE EX_PIPE_SND;
54251: END IF;
54252: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_LEVEL_VALUE: '||lv_message);
54253: lv_total_lvalue_batches := lv_total_lvalue_batches + 1;
54260: -- kludge to launch the dependent tasks even if
54261: -- level_value is not enabled for processing
54262:
54263: lv_message := to_char(TASK_LEVEL_VALUE)||','||to_char(0);
54264: DBMS_PIPE.PACK_MESSAGE(lv_message );
54265: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54266: RAISE EX_PIPE_SND;
54267: END IF;
54268: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_LEVEL_VALUE: '||lv_message);
54261: -- level_value is not enabled for processing
54262:
54263: lv_message := to_char(TASK_LEVEL_VALUE)||','||to_char(0);
54264: DBMS_PIPE.PACK_MESSAGE(lv_message );
54265: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54266: RAISE EX_PIPE_SND;
54267: END IF;
54268: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'TASK_LEVEL_VALUE: '||lv_message);
54269: lv_total_lvalue_batches := lv_total_lvalue_batches + 1;
54389: /* not required since worker always send unresolvable errors
54390: ** even if we enable this how do we get the batch id ?
54391: EXIT WHEN lv_task_number= UNRESOVLABLE_ERROR;
54392: lv_message := to_char (-lv_task_number);
54393: DBMS_PIPE.PACK_MESSAGE(lv_message); -- resend the task to the task que
54394: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54395: RAISE EX_PIPE_SND;
54396: END IF;
54397: */
54390: ** even if we enable this how do we get the batch id ?
54391: EXIT WHEN lv_task_number= UNRESOVLABLE_ERROR;
54392: lv_message := to_char (-lv_task_number);
54393: DBMS_PIPE.PACK_MESSAGE(lv_message); -- resend the task to the task que
54394: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54395: RAISE EX_PIPE_SND;
54396: END IF;
54397: */
54398:
54397: */
54398:
54399: END IF; -- lv_task_number > 0
54400:
54401: END IF; -- DBMS_PIPE.next_item_type <> 0
54402:
54403: ELSIF lv_pipe_ret_code <> 1 THEN -- not time out, either 2 (record too big for buffer) or 3 (interuppted)
54404:
54405: RAISE EX_PIPE_RCV;
54421: end if ;
54422:
54423: IF lv_task_not_completed > 0 THEN
54424:
54425: DBMS_PIPE.PURGE( v_pipe_task_que);
54426:
54427: lv_task_number:= -1;
54428:
54429: ROLLBACK;
54458:
54459: FOR lc_i IN 1..p_total_worker_num LOOP
54460:
54461: lv_message := to_char(lv_task_number);
54462: DBMS_PIPE.PACK_MESSAGE( lv_message);
54463: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54464: RAISE EX_PIPE_SND;
54465: END IF;
54466: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'v_pipe_task_que: '||lv_message);
54459: FOR lc_i IN 1..p_total_worker_num LOOP
54460:
54461: lv_message := to_char(lv_task_number);
54462: DBMS_PIPE.PACK_MESSAGE( lv_message);
54463: IF DBMS_PIPE.SEND_MESSAGE( v_pipe_task_que)<>0 THEN
54464: RAISE EX_PIPE_SND;
54465: END IF;
54466: MSC_UTIL.LOG_MSG(MSC_UTIL.G_LVL_STATUS,'v_pipe_task_que: '||lv_message);
54467:
54472: lv_start_time:= SYSDATE;
54473:
54474: LOOP
54475:
54476: lv_pipe_ret_code:= DBMS_PIPE.RECEIVE_MESSAGE( v_pipe_status, PIPE_TIME_OUT);
54477:
54478: IF lv_pipe_ret_code=0 THEN
54479:
54480: lv_worker_committed:= lv_worker_committed+1;