44: l_func varchar2(240) := g_package||'.col_info_rec';
45: begin
46:
47: if g_debug then
48: hr_utility.set_location('Entering: '||l_func,10);
49: end if;
50:
51: column_info_record.column_NAME := column_NAME;
52: column_info_record.value_NUMBER := value_NUMBER;
53: column_info_record.value_VARCHAR := value_VARCHAR;
54: column_info_record.value_DATE := value_DATE;
55:
56: if g_debug then
57: hr_utility.set_location('Leaving: '||l_func,100);
58: end if;
59:
60: return column_info_record;
61: end;
98: l_func varchar2(240) := g_package||'.ref_info_rec';
99: begin
100:
101: if g_debug then
102: hr_utility.set_location('Entering: '||l_func,10);
103: end if;
104:
105: ref_info_record.ref_entity := p_ref_entity_NAME;
106: ref_info_record.column_info := p_column_info_rec;
105: ref_info_record.ref_entity := p_ref_entity_NAME;
106: ref_info_record.column_info := p_column_info_rec;
107:
108: if g_debug then
109: hr_utility.set_location('Leaving: '||l_func,100);
110: end if;
111:
112: return ref_info_record;
113: end;
127:
128: begin
129:
130: if g_debug then
131: hr_utility.set_location('Entering: '||l_func,10);
132: end if;
133:
134: per_ric_pkg.chk_integrity(
135: p_entity_NAME => p_entity_NAME
147: ,p_ref_type => p_ref_type
148: ,p_integrity_error => l_integrity_error);
149:
150: if g_debug then
151: hr_utility.set_location('Leaving: '||l_func,100);
152: end if;
153:
154: end;
155:
168:
169: begin
170:
171: if g_debug then
172: hr_utility.set_location('Entering: '||l_proc,10);
173: end if;
174:
175: per_ric_pkg.chk_integrity(
176: p_entity_NAME => p_entity_NAME
188: ,p_ref_type => p_ref_type
189: ,p_integrity_error => p_integrity_error);
190:
191: if g_debug then
192: hr_utility.set_location('Leaving: '||l_proc,100);
193: end if;
194:
195: end;
196:
206:
207: begin
208:
209: if g_debug then
210: hr_utility.set_location('Entering: '||l_proc,10);
211: end if;
212:
213: per_ric_pkg.chk_integrity(
214: p_entity_NAME => p_entity_NAME
220: ,p_ref_type => p_ref_type
221: ,p_integrity_error => l_integrity_error);
222:
223: if g_debug then
224: hr_utility.set_location('Leaving: '||l_proc,100);
225: end if;
226:
227: end;
228:
238:
239: begin
240:
241: if g_debug then
242: hr_utility.set_location('Entering: '||l_proc,10);
243: end if;
244:
245: per_ric_pkg.chk_integrity(
246: p_entity_NAME => p_entity_NAME
252: ,p_ref_type => p_ref_type
253: ,p_integrity_error => p_integrity_error);
254:
255: if g_debug then
256: hr_utility.set_location('Leaving: '||l_proc,100);
257: end if;
258:
259: end;
260:
270:
271: begin
272:
273: if g_debug then
274: hr_utility.set_location('Entering: '||l_proc,10);
275: end if;
276:
277: per_ric_pkg.chk_integrity(
278: p_entity_NAME => p_entity_NAME
280: ,p_ref_type => p_ref_type
281: ,p_integrity_error => l_integrity_error);
282:
283: if g_debug then
284: hr_utility.set_location('Leaving: '||l_proc,100);
285: end if;
286:
287: end;
288:
364:
365: BEGIN
366:
367: if g_debug then
368: hr_utility.set_location('Entering: '||l_proc,10);
369: end if;
370: --
371: -- Checking whether a NULL parameter is passed to the procedure
372: --
382: ELSIF p_ref_type IS NULL THEN
383: l_argument := 'p_ref_type';
384: END IF;
385:
386: hr_utility.set_message(801, 'HR_7207_API_MANDATORY_ARG');
387: hr_utility.set_message_token('API_NAME', 'per_integrity_check_pkg');
388: hr_utility.set_message_token('ARGUMENT', l_argument);
389: hr_utility.raise_error;
390: --
383: l_argument := 'p_ref_type';
384: END IF;
385:
386: hr_utility.set_message(801, 'HR_7207_API_MANDATORY_ARG');
387: hr_utility.set_message_token('API_NAME', 'per_integrity_check_pkg');
388: hr_utility.set_message_token('ARGUMENT', l_argument);
389: hr_utility.raise_error;
390: --
391: END IF;
384: END IF;
385:
386: hr_utility.set_message(801, 'HR_7207_API_MANDATORY_ARG');
387: hr_utility.set_message_token('API_NAME', 'per_integrity_check_pkg');
388: hr_utility.set_message_token('ARGUMENT', l_argument);
389: hr_utility.raise_error;
390: --
391: END IF;
392:
385:
386: hr_utility.set_message(801, 'HR_7207_API_MANDATORY_ARG');
387: hr_utility.set_message_token('API_NAME', 'per_integrity_check_pkg');
388: hr_utility.set_message_token('ARGUMENT', l_argument);
389: hr_utility.raise_error;
390: --
391: END IF;
392:
393: if g_debug then
390: --
391: END IF;
392:
393: if g_debug then
394: hr_utility.set_location('p_entity_NAME: '||p_entity_NAME,20);
395: end if;
396: --
397: -- Checking p_ref_type passed is either INS/DEL to raise the
398: -- error(if INS/DEL is not passed).
419: 'Error: Entity name passed is incorrect');
420: END;
421:
422: if g_debug then
423: hr_utility.set_location('p_ref_type: '||p_ref_type,30);
424: end if;
425: --
426: -- Checking whether the passed entities in pl-sql table p_ref_entities exists or not
427: --
432: l_sql_stmt := 'SELECT 1 FROM '
433: || l_table_NAME;
434:
435: if g_debug then
436: hr_utility.set_location('p_ref_table_NAME: '||l_table_NAME,40);
437: end if;
438: --
439: BEGIN
440: EXECUTE IMMEDIATE l_sql_stmt;
484: IF l_sql_condition IS NULL THEN
485: l_sql_condition := p_ref_entity_info(i).column_info(j).column_NAME
486: ||' = '
487: ||p_ref_entity_info(i).column_info(j).value_NUMBER;
488: hr_utility.set_location(l_sql_condition,300);
489: ELSE
490: l_sql_condition := l_sql_condition
491: ||' and '
492: ||p_ref_entity_info(i).column_info(j).column_NAME
518: --
519: l_counter := 1;
520: while l_counter < length(l_sql_stmt)
521: loop
522: hr_utility.set_location(substr(l_sql_stmt,l_counter,l_counter+70),60);
523: l_counter := l_counter + 70;
524: end loop;
525: --
526: end if;
555: -- Executing the SQL prepared in the above code.
556: --
557:
558: if g_debug then
559: hr_utility.set_location('Leaving: '||l_proc,100);
560: end if;
561:
562: --
563: -- Exception to throw the referential integrity error.
565:
566: EXCEPTION
567: WHEN e_integrity_constraint THEN
568: if g_debug then
569: hr_utility.set_location('Exception Leaving: '||l_proc,100);
570: end if;
571: hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
572: hr_utility.set_message_token('PROCEDURE', l_proc);
573: hr_utility.set_message_token('CONSTRAINT_NAME',p_entity_NAME||'.'||p_ref_type||'_REFERENTIAL_INTEGRITY');
567: WHEN e_integrity_constraint THEN
568: if g_debug then
569: hr_utility.set_location('Exception Leaving: '||l_proc,100);
570: end if;
571: hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
572: hr_utility.set_message_token('PROCEDURE', l_proc);
573: hr_utility.set_message_token('CONSTRAINT_NAME',p_entity_NAME||'.'||p_ref_type||'_REFERENTIAL_INTEGRITY');
574: hr_utility.raise_error;
575: END;
568: if g_debug then
569: hr_utility.set_location('Exception Leaving: '||l_proc,100);
570: end if;
571: hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
572: hr_utility.set_message_token('PROCEDURE', l_proc);
573: hr_utility.set_message_token('CONSTRAINT_NAME',p_entity_NAME||'.'||p_ref_type||'_REFERENTIAL_INTEGRITY');
574: hr_utility.raise_error;
575: END;
576:
569: hr_utility.set_location('Exception Leaving: '||l_proc,100);
570: end if;
571: hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
572: hr_utility.set_message_token('PROCEDURE', l_proc);
573: hr_utility.set_message_token('CONSTRAINT_NAME',p_entity_NAME||'.'||p_ref_type||'_REFERENTIAL_INTEGRITY');
574: hr_utility.raise_error;
575: END;
576:
577: END per_ric_pkg;
570: end if;
571: hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
572: hr_utility.set_message_token('PROCEDURE', l_proc);
573: hr_utility.set_message_token('CONSTRAINT_NAME',p_entity_NAME||'.'||p_ref_type||'_REFERENTIAL_INTEGRITY');
574: hr_utility.raise_error;
575: END;
576:
577: END per_ric_pkg;