48: END IF;
49:
50: /*Added an additional check fnd_profile.value('PER_NATIONAL_IDENTIFIER_VALIDATION')IN ('ERROR','WARN')*/
51: IF l_field IS NOT NULL AND fnd_profile.value('PER_NATIONAL_IDENTIFIER_VALIDATION')IN ('ERROR','WARN') THEN
52: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
53: fnd_message.set_token('NAME',l_field, translate => true );
54: hr_utility.raise_error;
55: END IF;
56: --
49:
50: /*Added an additional check fnd_profile.value('PER_NATIONAL_IDENTIFIER_VALIDATION')IN ('ERROR','WARN')*/
51: IF l_field IS NOT NULL AND fnd_profile.value('PER_NATIONAL_IDENTIFIER_VALIDATION')IN ('ERROR','WARN') THEN
52: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
53: fnd_message.set_token('NAME',l_field, translate => true );
54: hr_utility.raise_error;
55: END IF;
56: --
57: END IF;
213: IF p_org_info_type_code = 'DK_SERVICE_PROVIDER_DETAILS' OR p_org_info_type_code = 'DK_LEGAL_ENTITY_DETAILS' THEN
214: open orgnum;
215: fetch orgnum into l_org_information1;
216: if l_org_information1 = p_org_information1 then
217: fnd_message.set_name('PER','HR_377005_DK_CVR_NUMBER_UNIQUE');
218: fnd_message.raise_error;
219: end if;
220: close orgnum;
221: END IF;
214: open orgnum;
215: fetch orgnum into l_org_information1;
216: if l_org_information1 = p_org_information1 then
217: fnd_message.set_name('PER','HR_377005_DK_CVR_NUMBER_UNIQUE');
218: fnd_message.raise_error;
219: end if;
220: close orgnum;
221: END IF;
222:
228: l_curr_sec27_ed := fnd_date.canonical_to_date(p_org_information3);
229:
230: /* Check if Section 27 Registration start date is before end date */
231: IF l_curr_sec27_sd > l_curr_sec27_ed THEN
232: fnd_message.set_name('PER','HR_377068_DK_SECTION27_DATES_E');
233: fnd_message.raise_error;
234: END IF;
235:
236: OPEN csr_get_sickpay_defaults(l_business_group_id);
229:
230: /* Check if Section 27 Registration start date is before end date */
231: IF l_curr_sec27_sd > l_curr_sec27_ed THEN
232: fnd_message.set_name('PER','HR_377068_DK_SECTION27_DATES_E');
233: fnd_message.raise_error;
234: END IF;
235:
236: OPEN csr_get_sickpay_defaults(l_business_group_id);
237: FETCH csr_get_sickpay_defaults BULK COLLECT INTO l_sickpay_records;
247: l_sec27_sd := fnd_date.canonical_to_date(l_sickpay_records(l_index).date1);
248: l_sec27_ed := fnd_date.canonical_to_date(l_sickpay_records(l_index).date2);
249:
250: IF l_curr_sec27_sd BETWEEN l_sec27_sd AND l_sec27_ed THEN
251: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
252: fnd_message.raise_error;
253: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
254: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
255: fnd_message.raise_error;
248: l_sec27_ed := fnd_date.canonical_to_date(l_sickpay_records(l_index).date2);
249:
250: IF l_curr_sec27_sd BETWEEN l_sec27_sd AND l_sec27_ed THEN
251: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
252: fnd_message.raise_error;
253: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
254: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
255: fnd_message.raise_error;
256: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
250: IF l_curr_sec27_sd BETWEEN l_sec27_sd AND l_sec27_ed THEN
251: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
252: fnd_message.raise_error;
253: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
254: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
255: fnd_message.raise_error;
256: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
257: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
258: fnd_message.raise_error;
251: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
252: fnd_message.raise_error;
253: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
254: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
255: fnd_message.raise_error;
256: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
257: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
258: fnd_message.raise_error;
259: END IF;
253: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
254: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
255: fnd_message.raise_error;
256: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
257: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
258: fnd_message.raise_error;
259: END IF;
260:
261: END LOOP;
254: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
255: fnd_message.raise_error;
256: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
257: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
258: fnd_message.raise_error;
259: END IF;
260:
261: END LOOP;
262: END IF;
331: IF p_org_info_type_code = 'DK_SERVICE_PROVIDER_DETAILS' OR p_org_info_type_code = 'DK_LEGAL_ENTITY_DETAILS' THEN
332: open orgnum;
333: fetch orgnum into l_org_information1;
334: if l_org_information1 = p_org_information1 then
335: fnd_message.set_name('PER','HR_377005_DK_CVR_NUMBER_UNIQUE');
336: fnd_message.raise_error;
337: end if;
338: close orgnum;
339: END IF;
332: open orgnum;
333: fetch orgnum into l_org_information1;
334: if l_org_information1 = p_org_information1 then
335: fnd_message.set_name('PER','HR_377005_DK_CVR_NUMBER_UNIQUE');
336: fnd_message.raise_error;
337: end if;
338: close orgnum;
339: END IF;
340:
345: l_curr_sec27_ed := fnd_date.canonical_to_date(p_org_information3);
346:
347: /* Check if Section 27 Registration start date is before end date */
348: IF l_curr_sec27_sd > l_curr_sec27_ed THEN
349: fnd_message.set_name('PER','HR_377068_DK_SECTION27_DATES_E');
350: fnd_message.raise_error;
351: END IF;
352:
353: OPEN csr_get_sickpay_defaults(l_business_group_id,l_organization_id);
346:
347: /* Check if Section 27 Registration start date is before end date */
348: IF l_curr_sec27_sd > l_curr_sec27_ed THEN
349: fnd_message.set_name('PER','HR_377068_DK_SECTION27_DATES_E');
350: fnd_message.raise_error;
351: END IF;
352:
353: OPEN csr_get_sickpay_defaults(l_business_group_id,l_organization_id);
354: FETCH csr_get_sickpay_defaults BULK COLLECT INTO l_sickpay_records;
364: l_sec27_sd := fnd_date.canonical_to_date(l_sickpay_records(l_index).date1);
365: l_sec27_ed := fnd_date.canonical_to_date(l_sickpay_records(l_index).date2);
366:
367: IF l_curr_sec27_sd BETWEEN l_sec27_sd AND l_sec27_ed THEN
368: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
369: fnd_message.raise_error;
370: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
371: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
372: fnd_message.raise_error;
365: l_sec27_ed := fnd_date.canonical_to_date(l_sickpay_records(l_index).date2);
366:
367: IF l_curr_sec27_sd BETWEEN l_sec27_sd AND l_sec27_ed THEN
368: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
369: fnd_message.raise_error;
370: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
371: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
372: fnd_message.raise_error;
373: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
367: IF l_curr_sec27_sd BETWEEN l_sec27_sd AND l_sec27_ed THEN
368: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
369: fnd_message.raise_error;
370: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
371: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
372: fnd_message.raise_error;
373: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
374: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
375: fnd_message.raise_error;
368: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
369: fnd_message.raise_error;
370: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
371: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
372: fnd_message.raise_error;
373: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
374: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
375: fnd_message.raise_error;
376: END IF;
370: ELSIF l_curr_sec27_ed BETWEEN l_sec27_sd AND l_sec27_ed THEN
371: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
372: fnd_message.raise_error;
373: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
374: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
375: fnd_message.raise_error;
376: END IF;
377:
378: END LOOP;
371: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
372: fnd_message.raise_error;
373: ELSIF l_curr_sec27_sd <= l_sec27_sd AND l_curr_sec27_ed >= l_sec27_ed THEN
374: fnd_message.set_name('PER','HR_377069_DK_SECTION27_OVERLAP');
375: fnd_message.raise_error;
376: END IF;
377:
378: END LOOP;
379: END IF;
405: --
406: IF p_assignment_status_type_id = 3 THEN
407: IF p_segment6 IS NULL THEN
408: l_field := hr_general.decode_lookup('DK_FORM_LABELS','TR');
409: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
410: fnd_message.set_token('NAME',l_field, translate => true );
411: hr_utility.raise_error;
412: END IF;
413:
406: IF p_assignment_status_type_id = 3 THEN
407: IF p_segment6 IS NULL THEN
408: l_field := hr_general.decode_lookup('DK_FORM_LABELS','TR');
409: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
410: fnd_message.set_token('NAME',l_field, translate => true );
411: hr_utility.raise_error;
412: END IF;
413:
414: IF p_segment7 IS NULL THEN
412: END IF;
413:
414: IF p_segment7 IS NULL THEN
415: l_field := hr_general.decode_lookup('DK_FORM_LABELS','ND');
416: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
417: fnd_message.set_token('NAME',l_field, translate => true );
418: hr_utility.raise_error;
419: END IF;
420:
413:
414: IF p_segment7 IS NULL THEN
415: l_field := hr_general.decode_lookup('DK_FORM_LABELS','ND');
416: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
417: fnd_message.set_token('NAME',l_field, translate => true );
418: hr_utility.raise_error;
419: END IF;
420:
421: IF p_segment8 IS NULL THEN
419: END IF;
420:
421: IF p_segment8 IS NULL THEN
422: l_field := hr_general.decode_lookup('DK_FORM_LABELS','TD');
423: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
424: fnd_message.set_token('NAME',l_field, translate => true );
425: hr_utility.raise_error;
426: END IF;
427: IF p_segment9 IS NULL THEN
420:
421: IF p_segment8 IS NULL THEN
422: l_field := hr_general.decode_lookup('DK_FORM_LABELS','TD');
423: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
424: fnd_message.set_token('NAME',l_field, translate => true );
425: hr_utility.raise_error;
426: END IF;
427: IF p_segment9 IS NULL THEN
428: l_field := hr_general.decode_lookup('DK_FORM_LABELS','AD');
425: hr_utility.raise_error;
426: END IF;
427: IF p_segment9 IS NULL THEN
428: l_field := hr_general.decode_lookup('DK_FORM_LABELS','AD');
429: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
430: fnd_message.set_token('NAME',l_field, translate => true );
431: hr_utility.raise_error;
432: END IF;
433:
426: END IF;
427: IF p_segment9 IS NULL THEN
428: l_field := hr_general.decode_lookup('DK_FORM_LABELS','AD');
429: fnd_message.set_name('PER', 'HR_377002_DK_MANDATORY_MSG');
430: fnd_message.set_token('NAME',l_field, translate => true );
431: hr_utility.raise_error;
432: END IF;
433:
434: ELSE
433:
434: ELSE
435: -- GSI Bug 4585094
436: IF p_segment6 <> hr_api.g_varchar2 THEN
437: fnd_message.set_name('PER', 'HR_377009_DK_TR_INVALID');
438: hr_utility.raise_error;
439: END IF;
440: -- GSI Bug 4585094
441: IF p_segment7 <> hr_api.g_varchar2 THEN
438: hr_utility.raise_error;
439: END IF;
440: -- GSI Bug 4585094
441: IF p_segment7 <> hr_api.g_varchar2 THEN
442: fnd_message.set_name('PER', 'HR_377010_DK_ND_INVALID');
443: hr_utility.raise_error;
444: END IF;
445: -- GSI Bug 4585094
446: IF p_segment8 <> hr_api.g_varchar2 THEN
443: hr_utility.raise_error;
444: END IF;
445: -- GSI Bug 4585094
446: IF p_segment8 <> hr_api.g_varchar2 THEN
447: fnd_message.set_name('PER', 'HR_377011_DK_TD_INVALID');
448: hr_utility.raise_error;
449: END IF;
450:
451: END IF;
462: -- Validation rule : notified date > assignment start date --
463: if p_segment7 <> hr_api.g_varchar2 -- GSI Bug 4585094
464: and l_asg_start_date is not NULL then
465: if fnd_date.canonical_to_date(p_segment7) < fnd_date.canonical_to_date(l_asg_start_date) then
466: fnd_message.set_name('PER', 'HR_377006_DK_NOTIFIED_DATE');
467: hr_utility.raise_error;
468: end if;
469: end if;
470: -- Validation rule : Termination date >= notified date --
470: -- Validation rule : Termination date >= notified date --
471: if p_segment8 <> hr_api.g_varchar2 -- GSI Bug 4585094
472: and p_segment7 <> hr_api.g_varchar2 then
473: if fnd_date.canonical_to_date(p_segment8) < fnd_date.canonical_to_date(p_segment7) then
474: fnd_message.set_name('PER', 'HR_377007_DK_TERM_DATE_ERR');
475: hr_utility.raise_error;
476: end if;
477: end if;
478: -- Validation rule : Adjusted seniority date < notified date --
478: -- Validation rule : Adjusted seniority date < notified date --
479: if p_segment9 <> hr_api.g_varchar2 -- GSI Bug 4585094
480: and p_segment7 <> hr_api.g_varchar2 then
481: if fnd_date.canonical_to_date(p_segment9) >= fnd_date.canonical_to_date(p_segment7) then
482: fnd_message.set_name('PER', 'HR_377008_DK_ASD_ERR');
483: hr_utility.raise_error;
484: end if;
485: end if;
486:
542: fetch orgtype into l_int_ext_flag;
543: close orgtype;
544:
545: if l_int_ext_flag='INT' then
546: fnd_message.set_name('PER','HR_377013_DK_PENSION_PVDR');
547: fnd_message.raise_error;
548: end if;
549:
550: END IF;
543: close orgtype;
544:
545: if l_int_ext_flag='INT' then
546: fnd_message.set_name('PER','HR_377013_DK_PENSION_PVDR');
547: fnd_message.raise_error;
548: end if;
549:
550: END IF;
551:
555: fetch orgtype into l_int_ext_flag;
556: close orgtype;
557:
558: if l_int_ext_flag='INT' then
559: fnd_message.set_name('PER','HR_377014_DK_SERVICE_PVDR');
560: fnd_message.raise_error;
561: end if;
562:
563: /* Added for bug fix 4227055 */
556: close orgtype;
557:
558: if l_int_ext_flag='INT' then
559: fnd_message.set_name('PER','HR_377014_DK_SERVICE_PVDR');
560: fnd_message.raise_error;
561: end if;
562:
563: /* Added for bug fix 4227055 */
564:
579: END IF;
580: END IF;
581: EXCEPTION
582: WHEN SP_DATA_FOUND THEN
583: fnd_message.set_name('PER','HR_377035_DK_SP_UNIQUE');
584: fnd_message.raise_error;
585:
586:
587:
580: END IF;
581: EXCEPTION
582: WHEN SP_DATA_FOUND THEN
583: fnd_message.set_name('PER','HR_377035_DK_SP_UNIQUE');
584: fnd_message.raise_error;
585:
586:
587:
588: END validate_create_org_cat;