198: END IF;
199: OPEN C_proc_entry(p_element_entry_id);
200: FETCH C_proc_entry INTO rec_proc_entry;
201: IF C_proc_entry%FOUND THEN
202: fnd_message.set_name ('PAY', 'PAY_75075_CPAM_PROCESS_INS_NA');
203: fnd_message.raise_error;
204: END IF;
205:
206: --
199: OPEN C_proc_entry(p_element_entry_id);
200: FETCH C_proc_entry INTO rec_proc_entry;
201: IF C_proc_entry%FOUND THEN
202: fnd_message.set_name ('PAY', 'PAY_75075_CPAM_PROCESS_INS_NA');
203: fnd_message.raise_error;
204: END IF;
205:
206: --
207: IF C_info_entry%ISOPEN THEN
247: ELSE
248: -- Validate entry values
249: -- 1) Days
250: IF rec_input_values.Days > (rec_input_values.To_Dt - rec_input_values.Frm_dt + 1) THEN
251: fnd_message.set_name ('PAY', 'PAY_75070_CPAM_INFO_INV_DAYS');
252: fnd_message.raise_error;
253: END IF;
254: */
255: END IF;
248: -- Validate entry values
249: -- 1) Days
250: IF rec_input_values.Days > (rec_input_values.To_Dt - rec_input_values.Frm_dt + 1) THEN
251: fnd_message.set_name ('PAY', 'PAY_75070_CPAM_INFO_INV_DAYS');
252: fnd_message.raise_error;
253: END IF;
254: */
255: END IF;
256: -- 2) Invalid Gross Amount
254: */
255: END IF;
256: -- 2) Invalid Gross Amount
257: IF rec_input_values.Gross_Amount <> (rec_input_values.Gross_Daily_Rate * rec_input_values.Days) THEN
258: fnd_message.set_name ('PAY', 'PAY_75071_CPAM_INFO_INV_GR_AMT');
259: fnd_message.raise_error;
260: END IF;
261: -- 3) Invalid Net Amount
262: IF rec_input_values.Net_Amount <> (rec_input_values.Net_Daily_Rate * rec_input_values.Days) THEN
255: END IF;
256: -- 2) Invalid Gross Amount
257: IF rec_input_values.Gross_Amount <> (rec_input_values.Gross_Daily_Rate * rec_input_values.Days) THEN
258: fnd_message.set_name ('PAY', 'PAY_75071_CPAM_INFO_INV_GR_AMT');
259: fnd_message.raise_error;
260: END IF;
261: -- 3) Invalid Net Amount
262: IF rec_input_values.Net_Amount <> (rec_input_values.Net_Daily_Rate * rec_input_values.Days) THEN
263: fnd_message.set_name ('PAY', 'PAY_75072_CPAM_INFO_INV_NT_AMT');
259: fnd_message.raise_error;
260: END IF;
261: -- 3) Invalid Net Amount
262: IF rec_input_values.Net_Amount <> (rec_input_values.Net_Daily_Rate * rec_input_values.Days) THEN
263: fnd_message.set_name ('PAY', 'PAY_75072_CPAM_INFO_INV_NT_AMT');
264: fnd_message.raise_error;
265: END IF;
266: hr_utility.trace(' INS Fetched and cross validated Input values');
267: -- 4) Invalid dates
260: END IF;
261: -- 3) Invalid Net Amount
262: IF rec_input_values.Net_Amount <> (rec_input_values.Net_Daily_Rate * rec_input_values.Days) THEN
263: fnd_message.set_name ('PAY', 'PAY_75072_CPAM_INFO_INV_NT_AMT');
264: fnd_message.raise_error;
265: END IF;
266: hr_utility.trace(' INS Fetched and cross validated Input values');
267: -- 4) Invalid dates
268: IF C_info_entries%ISOPEN THEN
270: END IF;
271: OPEN C_info_entries(p_assignment_id,rec_input_values.frm_dt,rec_input_values.to_dt,p_element_entry_id);
272: FETCH C_info_entries INTO rec_info_entries;
273: IF C_info_entries%FOUND THEN
274: fnd_message.set_name ('PAY','PAY_75074_CPAM_INFO_INV_DATES');
275: fnd_message.set_token('PAY_PERIOD',to_char(rec_info_entries.effective_start_date));
276: fnd_message.raise_error;
277: END IF;
278: CLOSE C_info_entries;
271: OPEN C_info_entries(p_assignment_id,rec_input_values.frm_dt,rec_input_values.to_dt,p_element_entry_id);
272: FETCH C_info_entries INTO rec_info_entries;
273: IF C_info_entries%FOUND THEN
274: fnd_message.set_name ('PAY','PAY_75074_CPAM_INFO_INV_DATES');
275: fnd_message.set_token('PAY_PERIOD',to_char(rec_info_entries.effective_start_date));
276: fnd_message.raise_error;
277: END IF;
278: CLOSE C_info_entries;
279: hr_utility.trace(' INS Checked for overlapping INFO entries');
272: FETCH C_info_entries INTO rec_info_entries;
273: IF C_info_entries%FOUND THEN
274: fnd_message.set_name ('PAY','PAY_75074_CPAM_INFO_INV_DATES');
275: fnd_message.set_token('PAY_PERIOD',to_char(rec_info_entries.effective_start_date));
276: fnd_message.raise_error;
277: END IF;
278: CLOSE C_info_entries;
279: hr_utility.trace(' INS Checked for overlapping INFO entries');
280: IF C_iv_ids%ISOPEN THEN
311:
312: --Bug #3040003
313: IF (rec_absences.ijss_ineligible_date <= rec_input_values.Frm_Dt
314: OR rec_absences.ijss_ineligible_date <= rec_input_values.To_Dt) THEN
315: fnd_message.set_name ('PAY','PAY_75078_CPAM_INFO_IJSS_IN_DT');
316: fnd_message.set_token('INELIG_DT',to_char(rec_absences.ijss_ineligible_date));
317: fnd_message.raise_error;
318: END IF;
319:
312: --Bug #3040003
313: IF (rec_absences.ijss_ineligible_date <= rec_input_values.Frm_Dt
314: OR rec_absences.ijss_ineligible_date <= rec_input_values.To_Dt) THEN
315: fnd_message.set_name ('PAY','PAY_75078_CPAM_INFO_IJSS_IN_DT');
316: fnd_message.set_token('INELIG_DT',to_char(rec_absences.ijss_ineligible_date));
317: fnd_message.raise_error;
318: END IF;
319:
320: -- Does the absence cross a period boundary?
313: IF (rec_absences.ijss_ineligible_date <= rec_input_values.Frm_Dt
314: OR rec_absences.ijss_ineligible_date <= rec_input_values.To_Dt) THEN
315: fnd_message.set_name ('PAY','PAY_75078_CPAM_INFO_IJSS_IN_DT');
316: fnd_message.set_token('INELIG_DT',to_char(rec_absences.ijss_ineligible_date));
317: fnd_message.raise_error;
318: END IF;
319:
320: -- Does the absence cross a period boundary?
321: -- Query number of per_time_periods from the payroll on the assignment
413: END IF; -- Pay IJSS Estimate chk
414: END LOOP; -- Absences Loop
415:
416: IF cnt_absences = 0 THEN
417: fnd_message.set_name ('PAY', 'PAY_75073_CPAM_INFO_DTS_MIS');
418: fnd_message.raise_error;
419: END IF;
420: END IF; -- Info Entry Chk
421:
414: END LOOP; -- Absences Loop
415:
416: IF cnt_absences = 0 THEN
417: fnd_message.set_name ('PAY', 'PAY_75073_CPAM_INFO_DTS_MIS');
418: fnd_message.raise_error;
419: END IF;
420: END IF; -- Info Entry Chk
421:
422: -- #3030587