PROCEDURE GET_IDS ( P_ALERT_ID IN ALRT.ALRT_ID%TYPE, P_PROCESS_ID IN ALRT_PYMT_TMP.PROC_ID%TYPE, P_BATCH_CUR OUT T_BATCH_CUR ) IS V_COUNT NUMBER; V_CURRENT_TIME DATE; BEGIN -- check if any batch in TMP_BAT_LST has been marked "being processed" by this process ID SELECT COUNT(BAT_ID) INTO V_COUNT FROM ALRT_PYMT_TMP WHERE PROC_ID=P_PROCESS_ID; IF V_COUNT=0 THEN --This is a new process, we use this process to process all "current" batches. V_CURRENT_TIME:=SYSDATE; --For New Item: Set the process indicator to a "working" status (Cut-off at current time) UPDATE ALRT_PYMT_TMP SET PROC_IN=1, ALRT_PROC_TS=V_CURRENT_TIME, PROC_ID=P_PROCESS_ID WHERE BAT_IMPR_TS 1) OR (ALL_LOCKBOX_IN IS NULL)) AND ALRT.STS_CD=1 AND ALRT_PYMT_TMP.PROC_ID=P_PROCESS_ID AND ALRT.ALRT_ID=P_ALERT_ID; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20001,'ERROR IN PKG_ALERT_ENGINE.SP_GET_BATCH_IDS ' || SQLERRM); END GET_IDS;