43: BEGIN
44: --
45: -- Added for GSI Bug 5472781
46: --
47: IF hr_utility.chk_product_install('Oracle Human Resources', 'RU') THEN
48: --
49: OPEN c_asg_details(p_assignment_id,p_effective_date);
50: FETCH c_asg_details INTO l_person_id,l_eff_start_date,l_eff_end_date,l_business_group_id;
51: CLOSE c_asg_details;
78: AND p_effective_date >= hou.date_from
79: AND p_effective_date <= NVL(hou.date_to,TO_DATE('31-12-4712','DD-MM-YYYY'));
80: EXCEPTION
81: WHEN NO_DATA_FOUND THEN
82: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
83: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','EMPLOYER'));
84: hr_utility.raise_error;
85: END;
86: END IF;
79: AND p_effective_date <= NVL(hou.date_to,TO_DATE('31-12-4712','DD-MM-YYYY'));
80: EXCEPTION
81: WHEN NO_DATA_FOUND THEN
82: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
83: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','EMPLOYER'));
84: hr_utility.raise_error;
85: END;
86: END IF;
87: IF p_segment2 <> hr_api.g_varchar2 OR p_segment2 IS NULL THEN
80: EXCEPTION
81: WHEN NO_DATA_FOUND THEN
82: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
83: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','EMPLOYER'));
84: hr_utility.raise_error;
85: END;
86: END IF;
87: IF p_segment2 <> hr_api.g_varchar2 OR p_segment2 IS NULL THEN
88: IF p_segment2 IS NOT NULL THEN
98: ,l_person_id
99: ,l_business_group_id
100: );
101: IF l_asg_status = 'Y' THEN
102: hr_utility.set_message(800, 'HR_RU_INVALID_EMP_TYPE');
103: hr_utility.raise_error;
104: END IF;
105: END IF;
106: END IF;
99: ,l_business_group_id
100: );
101: IF l_asg_status = 'Y' THEN
102: hr_utility.set_message(800, 'HR_RU_INVALID_EMP_TYPE');
103: hr_utility.raise_error;
104: END IF;
105: END IF;
106: END IF;
107: IF p_segment3 <> hr_api.g_varchar2 THEN
109: ,p_assignment_id
110: ,l_business_group_id
111: );
112: IF l_cont_status = 'Y' THEN
113: hr_utility.set_message(800, 'HR_RU_INVALID_CONTRACT_NUMBER');
114: hr_utility.raise_error;
115: END IF;
116: END IF;
117: IF p_segment4 <> hr_api.g_varchar2 THEN
110: ,l_business_group_id
111: );
112: IF l_cont_status = 'Y' THEN
113: hr_utility.set_message(800, 'HR_RU_INVALID_CONTRACT_NUMBER');
114: hr_utility.raise_error;
115: END IF;
116: END IF;
117: IF p_segment4 <> hr_api.g_varchar2 THEN
118: IF fnd_date.canonical_to_date(p_segment4) < l_min_start_date THEN
115: END IF;
116: END IF;
117: IF p_segment4 <> hr_api.g_varchar2 THEN
118: IF fnd_date.canonical_to_date(p_segment4) < l_min_start_date THEN
119: hr_utility.set_message(800, 'HR_RU_INVALID_ISSUE_DATE');
120: hr_utility.raise_error;
121: END IF;
122: END IF;
123: IF p_segment5 <> hr_api.g_varchar2 THEN
116: END IF;
117: IF p_segment4 <> hr_api.g_varchar2 THEN
118: IF fnd_date.canonical_to_date(p_segment4) < l_min_start_date THEN
119: hr_utility.set_message(800, 'HR_RU_INVALID_ISSUE_DATE');
120: hr_utility.raise_error;
121: END IF;
122: END IF;
123: IF p_segment5 <> hr_api.g_varchar2 THEN
124: IF fnd_date.canonical_to_date(p_segment5) < l_min_start_date THEN
121: END IF;
122: END IF;
123: IF p_segment5 <> hr_api.g_varchar2 THEN
124: IF fnd_date.canonical_to_date(p_segment5) < l_min_start_date THEN
125: hr_utility.set_message(800, 'HR_RU_INVALID_END_DATE');
126: hr_utility.raise_error;
127: END IF;
128: END IF;
129: IF p_segment6 <> hr_api.g_varchar2 THEN
122: END IF;
123: IF p_segment5 <> hr_api.g_varchar2 THEN
124: IF fnd_date.canonical_to_date(p_segment5) < l_min_start_date THEN
125: hr_utility.set_message(800, 'HR_RU_INVALID_END_DATE');
126: hr_utility.raise_error;
127: END IF;
128: END IF;
129: IF p_segment6 <> hr_api.g_varchar2 THEN
130: hr_ru_utility.check_lookup_value(hr_general.decode_lookup('RU_FORM_LABELS','CONT_LIMIT_REASON'),
134: END IF;
135: IF p_assignment_status_type_id <> hr_api.g_number THEN
136: IF (p_assignment_status_type_id = 3 OR p_assignment_status_type_id = 8) AND
137: p_segment7 IS NULL THEN
138: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
139: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','TERM_REASON'));
140: hr_utility.raise_error;
141: END IF;
142: END IF;
135: IF p_assignment_status_type_id <> hr_api.g_number THEN
136: IF (p_assignment_status_type_id = 3 OR p_assignment_status_type_id = 8) AND
137: p_segment7 IS NULL THEN
138: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
139: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','TERM_REASON'));
140: hr_utility.raise_error;
141: END IF;
142: END IF;
143: IF p_segment7 <> hr_api.g_varchar2 THEN
136: IF (p_assignment_status_type_id = 3 OR p_assignment_status_type_id = 8) AND
137: p_segment7 IS NULL THEN
138: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
139: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','TERM_REASON'));
140: hr_utility.raise_error;
141: END IF;
142: END IF;
143: IF p_segment7 <> hr_api.g_varchar2 THEN
144: hr_ru_utility.check_lookup_value(hr_general.decode_lookup('RU_FORM_LABELS','END_REASON'),
151: SELECT '1' INTO l_lookup_exists FROM hr_lookups WHERE lookup_type='RU_SPECIAL_WORK_CONDITIONS'
152: AND lookup_code=p_segment8 AND enabled_flag='Y';
153: EXCEPTION
154: WHEN NO_DATA_FOUND THEN
155: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
156: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','SPECIAL_WORK_CONDITIONS'));
157: hr_utility.raise_error;
158: END;
159: END IF;
152: AND lookup_code=p_segment8 AND enabled_flag='Y';
153: EXCEPTION
154: WHEN NO_DATA_FOUND THEN
155: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
156: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','SPECIAL_WORK_CONDITIONS'));
157: hr_utility.raise_error;
158: END;
159: END IF;
160: IF p_segment12 <> hr_api.g_varchar2 THEN
153: EXCEPTION
154: WHEN NO_DATA_FOUND THEN
155: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
156: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','SPECIAL_WORK_CONDITIONS'));
157: hr_utility.raise_error;
158: END;
159: END IF;
160: IF p_segment12 <> hr_api.g_varchar2 THEN
161: BEGIN
162: SELECT '1' INTO l_lookup_exists FROM hr_lookups WHERE lookup_type='RU_LONG_SERVICE'
163: AND lookup_code=p_segment12 AND enabled_flag='Y';
164: EXCEPTION
165: WHEN NO_DATA_FOUND THEN
166: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
167: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','LONG_SERVICE_REASON'));
168: hr_utility.raise_error;
169: END;
170: END IF;
163: AND lookup_code=p_segment12 AND enabled_flag='Y';
164: EXCEPTION
165: WHEN NO_DATA_FOUND THEN
166: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
167: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','LONG_SERVICE_REASON'));
168: hr_utility.raise_error;
169: END;
170: END IF;
171: IF p_segment9 <> hr_api.g_varchar2 THEN
164: EXCEPTION
165: WHEN NO_DATA_FOUND THEN
166: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
167: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','LONG_SERVICE_REASON'));
168: hr_utility.raise_error;
169: END;
170: END IF;
171: IF p_segment9 <> hr_api.g_varchar2 THEN
172: hr_ru_utility.check_lookup_value(hr_general.decode_lookup('RU_FORM_LABELS','TERRITORY_CONDITIONS'),
230: BEGIN
231: --
232: -- Added for GSI Bug 5472781
233: --
234: IF hr_utility.chk_product_install('Oracle Human Resources', 'RU') THEN
235: --
236: l_eff_start_date := p_effective_date;
237: l_eff_end_date := hr_general.end_of_time;
238: OPEN c_person_details(p_person_id,p_effective_date);
253: AND p_effective_date >= hou.date_from
254: AND p_effective_date <= NVL(hou.date_to,TO_DATE('31-12-4712','DD-MM-YYYY'));
255: EXCEPTION
256: WHEN NO_DATA_FOUND THEN
257: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
258: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','EMPLOYER'));
259: hr_utility.raise_error;
260: END;
261: END IF;
254: AND p_effective_date <= NVL(hou.date_to,TO_DATE('31-12-4712','DD-MM-YYYY'));
255: EXCEPTION
256: WHEN NO_DATA_FOUND THEN
257: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
258: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','EMPLOYER'));
259: hr_utility.raise_error;
260: END;
261: END IF;
262: IF p_scl_segment2 IS NOT NULL THEN
255: EXCEPTION
256: WHEN NO_DATA_FOUND THEN
257: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
258: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','EMPLOYER'));
259: hr_utility.raise_error;
260: END;
261: END IF;
262: IF p_scl_segment2 IS NOT NULL THEN
263: hr_ru_utility.check_lookup_value(hr_general.decode_lookup('RU_FORM_LABELS','EMP_TYPE'),
272: ,p_person_id
273: ,l_business_group_id
274: );
275: IF l_asg_status = 'Y' THEN
276: hr_utility.set_message(800, 'HR_RU_INVALID_EMP_TYPE');
277: hr_utility.raise_error;
278: END IF;
279: END IF;
280: IF p_scl_segment3 IS NOT NULL THEN
273: ,l_business_group_id
274: );
275: IF l_asg_status = 'Y' THEN
276: hr_utility.set_message(800, 'HR_RU_INVALID_EMP_TYPE');
277: hr_utility.raise_error;
278: END IF;
279: END IF;
280: IF p_scl_segment3 IS NOT NULL THEN
281: l_cont_status := hr_ru_utility.check_contract_number_unique(p_scl_segment3
282: ,NULL
283: ,l_business_group_id
284: );
285: IF l_cont_status = 'Y' THEN
286: hr_utility.set_message(800, 'HR_RU_INVALID_CONTRACT_NUMBER');
287: hr_utility.raise_error;
288: END IF;
289: END IF;
290: IF p_scl_segment4 IS NOT NULL THEN
283: ,l_business_group_id
284: );
285: IF l_cont_status = 'Y' THEN
286: hr_utility.set_message(800, 'HR_RU_INVALID_CONTRACT_NUMBER');
287: hr_utility.raise_error;
288: END IF;
289: END IF;
290: IF p_scl_segment4 IS NOT NULL THEN
291: IF fnd_date.canonical_to_date(p_scl_segment4) < p_effective_date THEN
288: END IF;
289: END IF;
290: IF p_scl_segment4 IS NOT NULL THEN
291: IF fnd_date.canonical_to_date(p_scl_segment4) < p_effective_date THEN
292: hr_utility.set_message(800, 'HR_RU_INVALID_ISSUE_DATE');
293: hr_utility.raise_error;
294: END IF;
295: END IF;
296: IF p_scl_segment5 IS NOT NULL THEN
289: END IF;
290: IF p_scl_segment4 IS NOT NULL THEN
291: IF fnd_date.canonical_to_date(p_scl_segment4) < p_effective_date THEN
292: hr_utility.set_message(800, 'HR_RU_INVALID_ISSUE_DATE');
293: hr_utility.raise_error;
294: END IF;
295: END IF;
296: IF p_scl_segment5 IS NOT NULL THEN
297: IF fnd_date.canonical_to_date(p_scl_segment5) < p_effective_date THEN
294: END IF;
295: END IF;
296: IF p_scl_segment5 IS NOT NULL THEN
297: IF fnd_date.canonical_to_date(p_scl_segment5) < p_effective_date THEN
298: hr_utility.set_message(800, 'HR_RU_INVALID_END_DATE');
299: hr_utility.raise_error;
300: END IF;
301: END IF;
302: IF p_scl_segment6 IS NOT NULL THEN
295: END IF;
296: IF p_scl_segment5 IS NOT NULL THEN
297: IF fnd_date.canonical_to_date(p_scl_segment5) < p_effective_date THEN
298: hr_utility.set_message(800, 'HR_RU_INVALID_END_DATE');
299: hr_utility.raise_error;
300: END IF;
301: END IF;
302: IF p_scl_segment6 IS NOT NULL THEN
303: hr_ru_utility.check_lookup_value(hr_general.decode_lookup('RU_FORM_LABELS','CONT_LIMIT_REASON'),
306: p_effective_date);
307: END IF;
308: IF (p_assignment_status_type_id = 3 OR p_assignment_status_type_id = 8) AND
309: p_scl_segment7 IS NULL THEN
310: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
311: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','TERM_REASON'));
312: hr_utility.raise_error;
313: END IF;
314: IF p_scl_segment7 IS NOT NULL THEN
307: END IF;
308: IF (p_assignment_status_type_id = 3 OR p_assignment_status_type_id = 8) AND
309: p_scl_segment7 IS NULL THEN
310: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
311: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','TERM_REASON'));
312: hr_utility.raise_error;
313: END IF;
314: IF p_scl_segment7 IS NOT NULL THEN
315: hr_ru_utility.check_lookup_value(hr_general.decode_lookup('RU_FORM_LABELS','END_REASON'),
308: IF (p_assignment_status_type_id = 3 OR p_assignment_status_type_id = 8) AND
309: p_scl_segment7 IS NULL THEN
310: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
311: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','TERM_REASON'));
312: hr_utility.raise_error;
313: END IF;
314: IF p_scl_segment7 IS NOT NULL THEN
315: hr_ru_utility.check_lookup_value(hr_general.decode_lookup('RU_FORM_LABELS','END_REASON'),
316: p_scl_segment7,
322: SELECT '1' INTO l_lookup_exists FROM hr_lookups WHERE lookup_type='RU_SPECIAL_WORK_CONDITIONS'
323: AND lookup_code=p_scl_segment8 AND enabled_flag='Y';
324: EXCEPTION
325: WHEN NO_DATA_FOUND THEN
326: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
327: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','SPECIAL_WORK_CONDITIONS'));
328: hr_utility.raise_error;
329: END;
330: END IF;
323: AND lookup_code=p_scl_segment8 AND enabled_flag='Y';
324: EXCEPTION
325: WHEN NO_DATA_FOUND THEN
326: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
327: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','SPECIAL_WORK_CONDITIONS'));
328: hr_utility.raise_error;
329: END;
330: END IF;
331: IF p_scl_segment12 <> hr_api.g_varchar2 THEN
324: EXCEPTION
325: WHEN NO_DATA_FOUND THEN
326: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
327: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','SPECIAL_WORK_CONDITIONS'));
328: hr_utility.raise_error;
329: END;
330: END IF;
331: IF p_scl_segment12 <> hr_api.g_varchar2 THEN
332: BEGIN
333: SELECT '1' INTO l_lookup_exists FROM hr_lookups WHERE lookup_type='RU_LONG_SERVICE'
334: AND lookup_code=p_scl_segment12 AND enabled_flag='Y';
335: EXCEPTION
336: WHEN NO_DATA_FOUND THEN
337: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
338: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','LONG_SERVICE_REASON'));
339: hr_utility.raise_error;
340: END;
341: END IF;
334: AND lookup_code=p_scl_segment12 AND enabled_flag='Y';
335: EXCEPTION
336: WHEN NO_DATA_FOUND THEN
337: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
338: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','LONG_SERVICE_REASON'));
339: hr_utility.raise_error;
340: END;
341: END IF;
342: IF p_scl_segment9 <> hr_api.g_varchar2 THEN
335: EXCEPTION
336: WHEN NO_DATA_FOUND THEN
337: hr_utility.set_message (800, 'HR_7209_API_LOOK_INVALID');
338: hr_utility.set_message_token ('ARGUMENT', hr_general.decode_lookup('RU_FORM_LABELS','LONG_SERVICE_REASON'));
339: hr_utility.raise_error;
340: END;
341: END IF;
342: IF p_scl_segment9 <> hr_api.g_varchar2 THEN
343: hr_ru_utility.check_lookup_value(hr_general.decode_lookup('RU_FORM_LABELS','TERRITORY_CONDITIONS'),