235: p_expiry_information := 0;
236: RETURN;
237:
238: ELSE
239: hr_utility.set_message(801, 'NO_EXP_CHECK_FOR_DIMENSION');
240: hr_utility.raise_error;
241:
242: END IF;
243:
236: RETURN;
237:
238: ELSE
239: hr_utility.set_message(801, 'NO_EXP_CHECK_FOR_DIMENSION');
240: hr_utility.raise_error;
241:
242: END IF;
243:
244: IF p_user_effective_date >= l_expiry_date THEN
285: l_expiry_date DATE := NULL;
286:
287: BEGIN
288:
289: hr_utility.set_location('Entering: date_ec', 10);
290: hr_utility.set_location('p_owner_payroll_action_id :'||p_owner_payroll_action_id, 20);
291: hr_utility.set_location('p_user_payroll_action_id :'||p_user_payroll_action_id, 20);
292: hr_utility.set_location('p_owner_assignment_action_id :'||p_owner_assignment_action_id, 20);
293: hr_utility.set_location('p_user_assignment_action_id :'||p_user_assignment_action_id, 20);
286:
287: BEGIN
288:
289: hr_utility.set_location('Entering: date_ec', 10);
290: hr_utility.set_location('p_owner_payroll_action_id :'||p_owner_payroll_action_id, 20);
291: hr_utility.set_location('p_user_payroll_action_id :'||p_user_payroll_action_id, 20);
292: hr_utility.set_location('p_owner_assignment_action_id :'||p_owner_assignment_action_id, 20);
293: hr_utility.set_location('p_user_assignment_action_id :'||p_user_assignment_action_id, 20);
294: hr_utility.set_location('p_owner_effective_date :'||p_owner_effective_date, 20);
287: BEGIN
288:
289: hr_utility.set_location('Entering: date_ec', 10);
290: hr_utility.set_location('p_owner_payroll_action_id :'||p_owner_payroll_action_id, 20);
291: hr_utility.set_location('p_user_payroll_action_id :'||p_user_payroll_action_id, 20);
292: hr_utility.set_location('p_owner_assignment_action_id :'||p_owner_assignment_action_id, 20);
293: hr_utility.set_location('p_user_assignment_action_id :'||p_user_assignment_action_id, 20);
294: hr_utility.set_location('p_owner_effective_date :'||p_owner_effective_date, 20);
295: hr_utility.set_location('p_user_effective_date :'||p_user_effective_date, 20);
288:
289: hr_utility.set_location('Entering: date_ec', 10);
290: hr_utility.set_location('p_owner_payroll_action_id :'||p_owner_payroll_action_id, 20);
291: hr_utility.set_location('p_user_payroll_action_id :'||p_user_payroll_action_id, 20);
292: hr_utility.set_location('p_owner_assignment_action_id :'||p_owner_assignment_action_id, 20);
293: hr_utility.set_location('p_user_assignment_action_id :'||p_user_assignment_action_id, 20);
294: hr_utility.set_location('p_owner_effective_date :'||p_owner_effective_date, 20);
295: hr_utility.set_location('p_user_effective_date :'||p_user_effective_date, 20);
296: hr_utility.set_location('p_dimension_name :'||p_dimension_name, 20);
289: hr_utility.set_location('Entering: date_ec', 10);
290: hr_utility.set_location('p_owner_payroll_action_id :'||p_owner_payroll_action_id, 20);
291: hr_utility.set_location('p_user_payroll_action_id :'||p_user_payroll_action_id, 20);
292: hr_utility.set_location('p_owner_assignment_action_id :'||p_owner_assignment_action_id, 20);
293: hr_utility.set_location('p_user_assignment_action_id :'||p_user_assignment_action_id, 20);
294: hr_utility.set_location('p_owner_effective_date :'||p_owner_effective_date, 20);
295: hr_utility.set_location('p_user_effective_date :'||p_user_effective_date, 20);
296: hr_utility.set_location('p_dimension_name :'||p_dimension_name, 20);
297:
290: hr_utility.set_location('p_owner_payroll_action_id :'||p_owner_payroll_action_id, 20);
291: hr_utility.set_location('p_user_payroll_action_id :'||p_user_payroll_action_id, 20);
292: hr_utility.set_location('p_owner_assignment_action_id :'||p_owner_assignment_action_id, 20);
293: hr_utility.set_location('p_user_assignment_action_id :'||p_user_assignment_action_id, 20);
294: hr_utility.set_location('p_owner_effective_date :'||p_owner_effective_date, 20);
295: hr_utility.set_location('p_user_effective_date :'||p_user_effective_date, 20);
296: hr_utility.set_location('p_dimension_name :'||p_dimension_name, 20);
297:
298: IF p_dimension_name like '%RUN' THEN
291: hr_utility.set_location('p_user_payroll_action_id :'||p_user_payroll_action_id, 20);
292: hr_utility.set_location('p_owner_assignment_action_id :'||p_owner_assignment_action_id, 20);
293: hr_utility.set_location('p_user_assignment_action_id :'||p_user_assignment_action_id, 20);
294: hr_utility.set_location('p_owner_effective_date :'||p_owner_effective_date, 20);
295: hr_utility.set_location('p_user_effective_date :'||p_user_effective_date, 20);
296: hr_utility.set_location('p_dimension_name :'||p_dimension_name, 20);
297:
298: IF p_dimension_name like '%RUN' THEN
299: -- must check for special case: if payroll action id's are the same,
292: hr_utility.set_location('p_owner_assignment_action_id :'||p_owner_assignment_action_id, 20);
293: hr_utility.set_location('p_user_assignment_action_id :'||p_user_assignment_action_id, 20);
294: hr_utility.set_location('p_owner_effective_date :'||p_owner_effective_date, 20);
295: hr_utility.set_location('p_user_effective_date :'||p_user_effective_date, 20);
296: hr_utility.set_location('p_dimension_name :'||p_dimension_name, 20);
297:
298: IF p_dimension_name like '%RUN' THEN
299: -- must check for special case: if payroll action id's are the same,
300: -- then don't expire. This facilitates meaningful access of these
300: -- then don't expire. This facilitates meaningful access of these
301: -- balances outside of runs.
302:
303: p_expiry_information := p_owner_effective_date;
304: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
305:
306: ELSIF p_dimension_name like '%PAYMENTS' THEN
307:
308: p_expiry_information := p_owner_effective_date;
305:
306: ELSIF p_dimension_name like '%PAYMENTS' THEN
307:
308: p_expiry_information := p_owner_effective_date;
309: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
310:
311: ELSIF p_dimension_name like '%PTD' THEN
312:
313: p_expiry_information := next_period(p_owner_payroll_action_id,
311: ELSIF p_dimension_name like '%PTD' THEN
312:
313: p_expiry_information := next_period(p_owner_payroll_action_id,
314: p_owner_effective_date) - 1;
315: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
316:
317: ELSIF p_dimension_name like '%MONTH' THEN
318:
319: p_expiry_information := next_month(p_owner_effective_date) -1 ;
316:
317: ELSIF p_dimension_name like '%MONTH' THEN
318:
319: p_expiry_information := next_month(p_owner_effective_date) -1 ;
320: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
321:
322: ELSIF p_dimension_name like '%FQTD' THEN
323: SELECT fnd_date.canonical_to_date(org_information11)
324: INTO l_beg_of_fiscal_year
329: AND PACT.payroll_action_id = p_owner_payroll_action_id;
330:
331: p_expiry_information := next_fiscal_quarter(l_beg_of_fiscal_year,
332: p_owner_effective_date) - 1;
333: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
334:
335: ELSIF p_dimension_name like '%FYTD' THEN
336: SELECT fnd_date.canonical_to_date(org_information11)
337: INTO l_beg_of_fiscal_year
342: AND HOI.organization_id = PACT.business_group_id
343: AND PACT.payroll_action_id = p_owner_payroll_action_id;
344:
345: p_expiry_information := next_fiscal_year(l_beg_of_fiscal_year, p_owner_effective_date) - 1;
346: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
347:
348: ELSIF p_dimension_name like '%QTD' THEN
349:
350: p_expiry_information := next_quarter(p_owner_effective_date) - 1;
347:
348: ELSIF p_dimension_name like '%QTD' THEN
349:
350: p_expiry_information := next_quarter(p_owner_effective_date) - 1;
351: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
352:
353: ELSIF p_dimension_name like '%YTD' THEN
354:
355: p_expiry_information := next_year(p_owner_effective_date) - 1;
352:
353: ELSIF p_dimension_name like '%YTD' THEN
354:
355: p_expiry_information := next_year(p_owner_effective_date) - 1;
356: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
357:
358: ELSIF p_dimension_name like '%LTD' THEN
359:
360: p_expiry_information := fnd_date.canonical_to_date('4712/12/31');
357:
358: ELSIF p_dimension_name like '%LTD' THEN
359:
360: p_expiry_information := fnd_date.canonical_to_date('4712/12/31');
361: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
362:
363: ELSE
364:
365: hr_utility.set_message(801, 'NO_EXP_CHECK_FOR_DIMENSION');
361: hr_utility.set_location('p_expiry_information'||p_dimension_name||':'||p_expiry_information, 30);
362:
363: ELSE
364:
365: hr_utility.set_message(801, 'NO_EXP_CHECK_FOR_DIMENSION');
366: hr_utility.raise_error;
367:
368: END IF;
369:
362:
363: ELSE
364:
365: hr_utility.set_message(801, 'NO_EXP_CHECK_FOR_DIMENSION');
366: hr_utility.raise_error;
367:
368: END IF;
369:
370: hr_utility.set_location('Ending: date_ec', 40);
366: hr_utility.raise_error;
367:
368: END IF;
369:
370: hr_utility.set_location('Ending: date_ec', 40);
371:
372: END date_ec; /* bug 2797863 */
373:
374:
454: ELSIF l_dimension_name like '%LTD' THEN
455: RETURN l_end_of_time;
456:
457: ELSE
458: hr_utility.set_message(801, 'NO_EXPIRY_DATE_FOR_DIMENSION');
459: hr_utility.raise_error;
460:
461: END IF;
462:
455: RETURN l_end_of_time;
456:
457: ELSE
458: hr_utility.set_message(801, 'NO_EXPIRY_DATE_FOR_DIMENSION');
459: hr_utility.raise_error;
460:
461: END IF;
462:
463: END get_expiry_date;