1 PACKAGE BODY csi_org_unit_vld_pvt AS
2 /* $Header: csivouvb.pls 120.2.12010000.2 2009/03/06 21:29:52 hyonlee ship $ */
3
4 g_pkg_name VARCHAR2(30) := 'csi_org_unit_vld_pvt';
5
6 /*----------------------------------------------------------*/
7 /* Function Name : Is_Valid_instance_id */
8 /* */
9 /* Description : This function checks if instance */
10 /* ids are valid */
11 /*----------------------------------------------------------*/
12
13 FUNCTION Is_Valid_instance_id
14 (p_instance_id IN NUMBER
15 ,p_event IN VARCHAR2
16 ,p_stack_err_msg IN BOOLEAN )
17 RETURN BOOLEAN
18 IS
19 l_instance_id NUMBER;
20 BEGIN
21 -- Verify that instance id is passed
22 IF p_instance_id IS NULL THEN
23 IF ( p_stack_err_msg = TRUE ) THEN
24 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_INSTANCE_ID');
25 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',p_instance_id);
26 FND_MSG_PUB.Add;
27 END IF;
28 RETURN FALSE;
29 ELSE
30 BEGIN
31 SELECT '1'
32 INTO l_instance_id
33 FROM csi_item_instances
34 WHERE instance_id = p_instance_id
35 AND ((active_end_date is NULL) OR (active_end_date >= SYSDATE));
36 RETURN TRUE;
37 EXCEPTION
38 WHEN NO_DATA_FOUND THEN
39 IF p_event = 'INSERT' THEN
40 IF ( p_stack_err_msg = TRUE ) THEN
41 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_INSTANCE_ID');
42 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',p_instance_id);
43 FND_MSG_PUB.Add;
44 END IF;
45 RETURN FALSE;
46 ELSIF p_event = 'UPDATE' THEN
47 IF ( p_stack_err_msg = TRUE ) THEN
48 FND_MESSAGE.SET_NAME('CSI','CSI_API_EXPIRED_INSTANCE_ID');
49 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',p_instance_id);
50 FND_MSG_PUB.Add;
51 END IF;
52 RETURN FALSE;
53 END IF;
54 END;
55 END IF;
56 END Is_Valid_instance_id;
57
58
59
60 /*----------------------------------------------------------*/
61 /* Function Name : Val_inst_id_for_update */
62 /* */
63 /* Description : This function checks if instance */
64 /* ids can be updated */
65 /*----------------------------------------------------------*/
66
67 FUNCTION Val_inst_id_for_update
68 (p_instance_id_new IN NUMBER
69 ,p_instance_id_old IN NUMBER
70 ,p_stack_err_msg IN BOOLEAN )
71 RETURN BOOLEAN
72 IS
73 l_instance_id NUMBER;
74 BEGIN
75 -- Verify that instance id is passed
76 IF (p_instance_id_old = p_instance_id_new) THEN
77 RETURN TRUE;
78 ELSE
79 IF ( p_stack_err_msg = TRUE ) THEN
80 FND_MESSAGE.SET_NAME('CSI','CSI_API_CANT_CHANGE_INST_ID');
81 FND_MESSAGE.SET_TOKEN('INSTANCE_ID_OLD',p_instance_id_old);
82 FND_MSG_PUB.Add;
83 END IF;
84 RETURN FALSE;
85 END IF;
86
87 EXCEPTION
88 WHEN OTHERS THEN
89 IF ( p_stack_err_msg = TRUE ) THEN
90 FND_MESSAGE.SET_NAME('CSI','CSI_API_CANT_CHANGE_INST_ID');
91 FND_MESSAGE.SET_TOKEN('INSTANCE_ID_OLD',p_instance_id_old);
92 FND_MSG_PUB.Add;
93 END IF;
94 RETURN FALSE;
95 END Val_inst_id_for_update;
96
97 /*----------------------------------------------------------*/
98 /* Function Name : Is_StartDate_Valid */
99 /* */
100 /* Description : This function checks if start date */
101 /* is valid */
102 /*----------------------------------------------------------*/
103
104 FUNCTION Is_StartDate_Valid
105 (p_start_date IN OUT NOCOPY DATE,
106 p_end_date IN DATE,
107 p_instance_id IN NUMBER,
108 p_stack_err_msg IN BOOLEAN
109 ) RETURN BOOLEAN IS
110 l_return_value BOOLEAN := TRUE;
111 CURSOR c1 IS
112 SELECT active_start_date,
113 active_end_date
114 FROM csi_item_instances
115 WHERE instance_id = p_instance_id ;
116 l_date_rec c1%ROWTYPE;
117 BEGIN
118 IF ((p_start_date IS NULL) OR (p_start_date = FND_API.G_MISS_DATE)) THEN
119 p_start_date := SYSDATE;
120 RETURN l_return_value;
121 END IF;
122
123 IF ((p_end_date is NOT NULL)
124 AND
125 (p_end_date <> FND_API.G_MISS_DATE)
126 AND
127 (p_start_date > p_end_date)) THEN
128 l_return_value := FALSE;
129 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_START_DATE');
130 FND_MESSAGE.SET_TOKEN('START_DATE',p_start_date);
131 FND_MSG_PUB.Add;
132 RETURN l_return_value;
133 END IF;
134
135 OPEN c1;
136 FETCH c1 INTO l_date_rec;
137 IF c1%NOTFOUND THEN
138 l_return_value := FALSE;
139 IF ( p_stack_err_msg = TRUE ) THEN
140 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_INST_START_DATE');
141 FND_MESSAGE.SET_TOKEN('ENTITY','Operating Unit');
142 FND_MSG_PUB.Add;
143 END IF;
144 END IF;
145
146 --IF block for bug 5939688--
147 IF (to_date(p_start_date,'DD-MM-YY HH24:MI') < to_date(l_date_rec.active_start_date,'DD-MM-YY HH24:MI')) -- Modified for bug 7333900
148 THEN
149 l_return_value := TRUE;
150 p_start_date := l_date_rec.active_start_date;
151 END IF;
152
153 IF (to_date(p_start_date,'DD-MM-YY HH24:MI') > NVL(to_date(l_date_rec.active_end_date,'DD-MM-YY HH24:MI'),to_date(p_start_date,'DD-MM-YY HH24:MI')) -- Modified for bug 7333900
154 OR
155 (to_date(p_start_date,'DD-MM-YY HH24:MI') > to_date(SYSDATE,'DD-MM-YY HH24:MI'))) -- Modified for bug 7333900
156 THEN
157 l_return_value := FALSE;
158 IF ( p_stack_err_msg = TRUE ) THEN
159 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_START_DATE');
160 FND_MESSAGE.SET_TOKEN('START_DATE',p_start_date);
161 FND_MSG_PUB.Add;
162 END IF;
163 END IF;
164 CLOSE c1;
165 RETURN l_return_value;
166 END Is_StartDate_Valid;
167
168
169 /*----------------------------------------------------------*/
170 /* Function Name : Is_EndDate_Valid */
171 /* */
172 /* Description : This function checks if end date */
173 /* is valid */
174 /*----------------------------------------------------------*/
175 FUNCTION Is_EndDate_Valid
176 ( p_start_date IN DATE,
177 p_end_date IN DATE,
178 p_instance_id IN NUMBER,
179 p_instance_ou_id IN NUMBER,
180 p_txn_id IN NUMBER,
181 p_stack_err_msg IN BOOLEAN
182 ) RETURN BOOLEAN IS
183
184 l_return_value BOOLEAN := TRUE;
185 l_transaction_date date;
186
187 CURSOR c1 IS
188 SELECT active_end_date,
189 active_start_date
190 FROM csi_item_instances
191 WHERE instance_id = p_instance_id ;
192 l_date_rec c1%ROWTYPE;
193
194 BEGIN
195 IF ((p_instance_ou_id IS NULL) OR (p_instance_ou_id = FND_API.G_MISS_NUM)) THEN
196 IF ((p_end_date is NOT NULL) and (p_end_date <> fnd_api.g_miss_date)) THEN
197 IF p_end_date < sysdate THEN
198 l_return_value := FALSE;
199 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_END_DATE');
200 FND_MESSAGE.SET_TOKEN('END_DATE',p_end_date);
201 FND_MSG_PUB.Add;
202 l_return_value := FALSE;
203 RETURN l_return_value;
204 END IF;
205 END IF;
206 RETURN l_return_value;
207
208 ELSE
209
210 IF p_end_date < sysdate THEN
211 SELECT MAX(t.transaction_date)
212 INTO l_transaction_date
213 FROM csi_i_org_assignments_h s,
214 csi_transactions t
215 WHERE s.instance_ou_id=p_instance_ou_id
216 AND s.transaction_id=t.transaction_id
217 AND t.transaction_id <> p_txn_id;
218
219 IF l_transaction_date > p_end_date
220 THEN
221 fnd_message.set_name('CSI','CSI_HAS_TXNS');
222 fnd_message.set_token('END_DATE_ACTIVE',p_end_date);
223 fnd_msg_pub.add;
224 l_return_value := FALSE;
225 RETURN l_return_value;
226 END IF;
227 END IF;
228
229 IF ((p_end_date is not null) and (p_end_date <> fnd_api.g_miss_date)) then
230 OPEN c1;
231 FETCH c1 INTO l_date_rec;
232 IF (p_end_date > NVL(l_date_rec.active_end_date, p_end_date))
233 OR
234 (p_end_date < l_date_rec.active_start_date)
235 THEN
236 l_return_value := FALSE;
237 IF ( p_stack_err_msg = TRUE ) THEN
238 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_END_DATE');
239 FND_MESSAGE.SET_TOKEN('END_DATE',p_end_date);
240 FND_MSG_PUB.Add;
241 END IF;
242 RETURN l_return_value;
243 END IF;
244 CLOSE c1;
245 END IF;
246 END IF;
247 RETURN l_return_value;
248
249 END Is_EndDate_Valid;
250
251
252 /*----------------------------------------------------------*/
253 /* Function Name : Is_Valid_operating_unit_id */
254 /* */
255 /* Description : This function checks if operating */
256 /* unit ids are valid */
257 /*----------------------------------------------------------*/
258
259 FUNCTION Is_Valid_operating_unit_id
260 (p_operating_unit_id IN NUMBER
261 ,p_stack_err_msg IN BOOLEAN)
262 RETURN BOOLEAN
263 IS
264 l_operating_unit_id NUMBER;
265 BEGIN
266
267 -- Verify that operating unit is passed
268 IF p_operating_unit_id IS NULL THEN
269 RETURN FALSE;
270 ELSE
271 BEGIN
272 SELECT '1'
273 INTO l_operating_unit_id
274 FROM hr_operating_units
275 WHERE organization_id = p_operating_unit_id ;
276 RETURN TRUE;
277
278 EXCEPTION
279 WHEN NO_DATA_FOUND THEN
280 IF ( p_stack_err_msg = TRUE ) THEN
281 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_OPERATING_UNIT');
282 FND_MESSAGE.SET_TOKEN('OPERATING_UNIT',p_operating_unit_id);
283 FND_MSG_PUB.Add;
284 END IF;
285 RETURN FALSE;
286 END;
287 END IF;
288 END Is_Valid_operating_unit_id;
289
290
291 /*----------------------------------------------------------*/
292 /* Function Name : Is_Valid_rel_type_code */
293 /* */
294 /* Description : This function checks if */
295 /* relationship_type_code is valid */
296 /*----------------------------------------------------------*/
297
298 FUNCTION Is_Valid_rel_type_code
299 (p_relationship_type_code IN VARCHAR2
300 ,p_stack_err_msg IN BOOLEAN )
301 RETURN BOOLEAN
302 IS
303 l_relationship_type_code VARCHAR2(30);
304 l_rltn_lookup_type VARCHAR2(30) := 'CSI_IO_RELATIONSHIP_TYPE_CODE';
305 BEGIN
306 SELECT '1'
307 INTO l_relationship_type_code
308 FROM csi_lookups
309 WHERE lookup_type = l_rltn_lookup_type
310 AND lookup_code = p_relationship_type_code;
311
312 RETURN TRUE;
313 EXCEPTION
314 WHEN NO_DATA_FOUND THEN
315 IF ( p_stack_err_msg = TRUE ) THEN
316 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_REL_TYPE_CODE');
317 FND_MESSAGE.SET_TOKEN('RELATIONSHIP_TYPE_CODE',p_relationship_type_code);
318 FND_MSG_PUB.Add;
319 END IF;
320 RETURN FALSE;
321 END Is_Valid_rel_type_code;
322
323
324 /*----------------------------------------------------------*/
325 /* Function Name : Alternate_PK_exists */
326 /* */
327 /* Description : This function checks if */
328 /* alternate PKs are valid */
329 /*----------------------------------------------------------*/
330
331 FUNCTION Alternate_PK_exists
332 (p_instance_id IN NUMBER
333 ,p_operating_unit_id IN NUMBER
334 ,p_relationship_type_code IN VARCHAR2
335 ,p_instance_ou_id IN NUMBER
336 ,p_stack_err_msg IN BOOLEAN )
337 RETURN BOOLEAN
338 IS
339 l_dummy VARCHAR2(30);
340 l_instance_ou_id NUMBER;
341
342 BEGIN
343 -- Verify that instance id is passed
344 IF p_instance_ou_id IS NULL THEN
345 l_instance_ou_id := -9999;
346 ELSE
347 l_instance_ou_id := p_instance_ou_id;
348 END IF;
349 --
350 SELECT '1'
351 INTO l_dummy
352 FROM csi_i_org_assignments
353 WHERE instance_id = p_instance_id
354 -- AND operating_unit_id = p_operating_unit_id -- Fix for Bug # 3918188
355 AND instance_ou_id <> l_instance_ou_id
356 AND relationship_type_code = p_relationship_type_code;
357
358 IF ( p_stack_err_msg = TRUE ) THEN
359 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_ALTERNATE_PK');
360 FND_MESSAGE.SET_TOKEN('ALTERNATE_PK',p_instance_id||' '||p_relationship_type_code);
361 FND_MSG_PUB.Add;
362 END IF;
363 RETURN FALSE;
364
365 EXCEPTION
366 WHEN NO_DATA_FOUND THEN
367 RETURN TRUE;
368 WHEN OTHERS THEN
369 IF ( p_stack_err_msg = TRUE ) THEN
370 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_ALTERNATE_PK');
371 FND_MESSAGE.SET_TOKEN('ALTERNATE_PK',p_instance_id||' '||p_relationship_type_code);
372 FND_MSG_PUB.Add;
373 END IF;
374 RETURN FALSE;
375 END Alternate_PK_exists;
376
377 /*----------------------------------------------------------*/
378 /* Function Name : Is_Valid_instance_ou_id */
379 /* */
380 /* Description : This function checks if */
381 /* instance_ou_id is valid */
382 /*----------------------------------------------------------*/
383
384 FUNCTION Is_Valid_instance_ou_id
385 (p_instance_ou_id IN NUMBER
386 ,p_stack_err_msg IN BOOLEAN
387 )
388 RETURN BOOLEAN
389 IS
390 l_instance_ou_id NUMBER;
391 BEGIN
392 -- Verify that instance id is passed
393 SELECT '1'
394 INTO l_instance_ou_id
395 FROM csi_i_org_assignments
396 WHERE instance_ou_id = p_instance_ou_id;
397
398 IF ( p_stack_err_msg = TRUE ) THEN
399 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_INST_OU_ID');
400 FND_MESSAGE.SET_TOKEN('INSTANCE_OU_ID',p_instance_ou_id);
401 FND_MSG_PUB.Add;
402 END IF;
403 RETURN FALSE;
404
405 EXCEPTION
406 WHEN NO_DATA_FOUND THEN
407 RETURN TRUE;
408 END Is_Valid_instance_ou_id;
409
410
411
412 /*----------------------------------------------------------*/
413 /* Function Name : Val_and_get_inst_ou_id */
414 /* */
415 /* Description : This function checks if */
416 /* instance_ou_id is valid */
417 /*----------------------------------------------------------*/
418
419
420 FUNCTION Val_and_get_inst_ou_id
421 (p_instance_ou_id IN NUMBER
422 ,p_org_unit_rec OUT NOCOPY csi_datastructures_pub.organization_units_rec
423 ,p_stack_err_msg IN BOOLEAN )
424 RETURN BOOLEAN
425 IS
426
427 BEGIN
428 -- Verify that instance id is passed
429 SELECT instance_ou_id ,
430 instance_id ,
431 operating_unit_id,
432 relationship_type_code,
433 active_start_date,
434 active_end_date,
435 context,
436 attribute1 ,
437 attribute2,
438 attribute3,
439 attribute4,
440 attribute5,
441 attribute6,
442 attribute7,
443 attribute8,
444 attribute9,
445 attribute10,
446 attribute11,
447 attribute12,
448 attribute13,
449 attribute14,
450 attribute15,
451 object_version_number
452 INTO p_org_unit_rec.instance_ou_id ,
453 p_org_unit_rec.instance_id,
454 p_org_unit_rec.operating_unit_id,
455 p_org_unit_rec.relationship_type_code,
456 p_org_unit_rec.active_start_date,
457 p_org_unit_rec.active_end_date,
458 p_org_unit_rec.context,
459 p_org_unit_rec.attribute1,
460 p_org_unit_rec.attribute2,
461 p_org_unit_rec.attribute3,
462 p_org_unit_rec.attribute4,
463 p_org_unit_rec.attribute5,
464 p_org_unit_rec.attribute6,
465 p_org_unit_rec.attribute7,
466 p_org_unit_rec.attribute8,
467 p_org_unit_rec.attribute9,
468 p_org_unit_rec.attribute10,
469 p_org_unit_rec.attribute11,
470 p_org_unit_rec.attribute12,
471 p_org_unit_rec.attribute13,
472 p_org_unit_rec.attribute14,
473 p_org_unit_rec.attribute15,
474 p_org_unit_rec.object_version_number
475 FROM csi_i_org_assignments
476 WHERE instance_ou_id = p_instance_ou_id;
477 RETURN TRUE;
478
479
480 EXCEPTION
481 WHEN NO_DATA_FOUND THEN
482 IF ( p_stack_err_msg = TRUE ) THEN
483 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_INST_OU_ID');
484 FND_MESSAGE.SET_TOKEN('INSTANCE_OU_ID',p_instance_ou_id);
485 FND_MSG_PUB.Add;
486 END IF;
487 RETURN FALSE;
488 END Val_and_get_inst_ou_id;
489
490
491 /*----------------------------------------------------------*/
492 /* Function Name : Is_Expire_Op */
493 /* */
494 /* Description : This function checks if it is a */
495 /* ids are valid and returns values */
496 /*----------------------------------------------------------*/
497
498 FUNCTION Is_Expire_Op
499 (p_org_unit_rec IN csi_datastructures_pub.organization_units_rec
500 ,p_stack_err_msg IN BOOLEAN
501 )
502 RETURN BOOLEAN
503 IS
504 BEGIN
505 IF (p_org_unit_rec.instance_id = FND_API.G_MISS_NUM) AND
506 (p_org_unit_rec.operating_unit_id = FND_API.G_MISS_NUM) AND
507 (p_org_unit_rec.relationship_type_code = FND_API.G_MISS_CHAR) AND
508 (p_org_unit_rec.active_start_date = FND_API.G_MISS_DATE) AND
509 (p_org_unit_rec.active_end_date = SYSDATE) AND
510 (p_org_unit_rec.context = FND_API.G_MISS_CHAR) AND
511 (p_org_unit_rec.attribute1 = FND_API.G_MISS_CHAR) AND
512 (p_org_unit_rec.attribute2 = FND_API.G_MISS_CHAR) AND
513 (p_org_unit_rec.attribute3 = FND_API.G_MISS_CHAR) AND
514 (p_org_unit_rec.attribute4 = FND_API.G_MISS_CHAR) AND
515 (p_org_unit_rec.attribute5 = FND_API.G_MISS_CHAR) AND
516 (p_org_unit_rec.attribute6 = FND_API.G_MISS_CHAR) AND
517 (p_org_unit_rec.attribute7 = FND_API.G_MISS_CHAR) AND
518 (p_org_unit_rec.attribute8 = FND_API.G_MISS_CHAR) AND
519 (p_org_unit_rec.attribute9 = FND_API.G_MISS_CHAR) AND
520 (p_org_unit_rec.attribute10 = FND_API.G_MISS_CHAR) AND
521 (p_org_unit_rec.attribute11 = FND_API.G_MISS_CHAR) AND
522 (p_org_unit_rec.attribute12 = FND_API.G_MISS_CHAR) AND
523 (p_org_unit_rec.attribute13 = FND_API.G_MISS_CHAR) AND
524 (p_org_unit_rec.attribute14 = FND_API.G_MISS_CHAR) AND
525 (p_org_unit_rec.attribute15 = FND_API.G_MISS_CHAR) THEN
526 RETURN TRUE;
527 ELSE
528 RETURN FALSE;
529 END IF;
530
531 END Is_Expire_Op;
532
533
534
535 /*----------------------------------------------------------*/
536 /* Function Name : Is_Updatable */
537 /* */
538 /* Description : This function checks if this is a */
539 /* an updatable record */
540 /*----------------------------------------------------------*/
541
542 FUNCTION Is_Updatable
543 (p_old_date IN DATE
544 ,p_new_date IN DATE
545 ,p_stack_err_msg IN BOOLEAN
546 )
547 RETURN BOOLEAN
548 IS
549 BEGIN
550 IF p_old_date < SYSDATE THEN
551 IF p_new_date = FND_API.G_MISS_DATE THEN
552 IF ( p_stack_err_msg = TRUE ) THEN
553 FND_MESSAGE.SET_NAME('CSI','CSI_API_NOT_UPDATABLE');
554 FND_MESSAGE.SET_TOKEN('ACTIVE_END_DATE',p_old_date);
555 FND_MSG_PUB.Add;
556 END IF;
557 RETURN FALSE;
558 ELSE
559 RETURN TRUE;
560 END IF;
561 ELSE
562 RETURN TRUE;
563 END IF;
564
565 END Is_Updatable;
566
567
568 /*----------------------------------------------------------*/
569 /* Function Name : Get_instance_ou_id */
570 /* */
571 /* Description : This function generates */
572 /* instance_ou_ids using a sequence */
573 /*----------------------------------------------------------*/
574 FUNCTION Get_instance_ou_id
575 ( p_stack_err_msg IN BOOLEAN
576 )
577 RETURN NUMBER
578 IS
579 l_instance_ou_id NUMBER;
580 BEGIN
581 SELECT csi_i_org_assignments_s.nextval
582 INTO l_instance_ou_id
583 FROM dual;
584 RETURN l_instance_ou_id;
585 EXCEPTION
586 WHEN OTHERS THEN
587 IF ( p_stack_err_msg = TRUE ) THEN
588 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_INST_OU_ID');
589 FND_MESSAGE.SET_TOKEN('INSTANCE_OU_ID',l_instance_ou_id);
590 FND_MSG_PUB.Add;
591 END IF;
592 END Get_instance_ou_id;
593
594 /*----------------------------------------------------------*/
595 /* Function Name : get_cis_i_org_assign_h_id */
596 /* */
597 /* Description : This function generates */
598 /* cis_i_org_assign_h_id using a sequence */
599 /*----------------------------------------------------------*/
600 FUNCTION get_cis_i_org_assign_h_id
601 ( p_stack_err_msg IN BOOLEAN
602 )
603 RETURN NUMBER
604 IS
605 l_cis_i_org_assign_h_id NUMBER;
606
607 BEGIN
608 SELECT csi_i_org_assignments_h_s.nextval
609 INTO l_cis_i_org_assign_h_id
610 FROM dual;
611 RETURN l_cis_i_org_assign_h_id;
612 EXCEPTION
613 WHEN OTHERS THEN
614 IF ( p_stack_err_msg = TRUE ) THEN
615 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_ORG_ASS_H_ID');
616 FND_MESSAGE.SET_TOKEN('ORG_ASSIGN_H_ID',l_cis_i_org_assign_h_id);
617 FND_MSG_PUB.Add;
618 END IF;
619 END get_cis_i_org_assign_h_id;
620
621
622 /*-------------------------------------------------------------- */
623 /* Function Name : get_object_version_number */
624 /* */
625 /* Description : This function generates object_version_number */
626 /* using previous version numbers */
627 /*---------------------------------------------------------------*/
628 FUNCTION get_object_version_number
629 (p_object_version_number IN NUMBER
630 ,p_stack_err_msg IN BOOLEAN
631 )
632 RETURN NUMBER
633 IS
634 l_object_version_number NUMBER;
635
636 BEGIN
637 l_object_version_number := p_object_version_number + 1;
638 RETURN l_object_version_number;
639 EXCEPTION
640 WHEN OTHERS THEN
641 IF ( p_stack_err_msg = TRUE ) THEN
642 FND_MESSAGE.SET_NAME('CSI','CSI_API_OBJ_VER_MISMATCH');
643 FND_MSG_PUB.Add;
644 END IF;
645 END get_object_version_number ;
646
647
648 /*-------------------------------------------------------------- */
649 /* Function Name : Is_valid_obj_ver_num */
650 /* */
651 /* Description : This function generates object_version_number */
652 /* using previous version numbers */
653 /*---------------------------------------------------------------*/
654 FUNCTION Is_valid_obj_ver_num
655 (p_obj_ver_numb_new IN NUMBER
656 ,p_obj_ver_numb_old IN NUMBER
657 ,p_stack_err_msg IN BOOLEAN
658 )
659 RETURN BOOLEAN
660 IS
661 l_object_version_number NUMBER;
662
663 BEGIN
664 IF (p_obj_ver_numb_new = p_obj_ver_numb_old ) THEN
665 RETURN TRUE;
666 ELSE
667 IF ( p_stack_err_msg = TRUE ) THEN
668 FND_MESSAGE.SET_NAME('CSI','CSI_API_OBJ_VER_MISMATCH');
669 FND_MSG_PUB.Add;
670 END IF;
671 RETURN FALSE;
672 END IF;
673
674 EXCEPTION
675 WHEN OTHERS THEN
676 IF ( p_stack_err_msg = TRUE ) THEN
677 FND_MESSAGE.SET_NAME('CSI','CSI_API_OBJ_VER_MISMATCH');
678 FND_MSG_PUB.Add;
679 END IF;
680 RETURN FALSE;
681 END Is_valid_obj_ver_num;
682
683
684
685 /*-------------------------------------------------------------- */
686 /* Function Name : get_full_dump_frequency */
687 /* */
688 /* Description : This function gets the dump frequency */
689 /* */
690 /*---------------------------------------------------------------*/
691
692 FUNCTION get_full_dump_frequency
693 (p_stack_err_msg IN BOOLEAN
694 )
695 RETURN NUMBER
696 IS
697 l_dump_frequency NUMBER;
698
699 BEGIN
700 IF csi_datastructures_pub.g_install_param_rec.fetch_flag IS NULL THEN
701 csi_gen_utility_pvt.populate_install_param_rec;
702 END IF;
703 --
704 l_dump_frequency := csi_datastructures_pub.g_install_param_rec.history_full_dump_frequency;
705 --
706 IF p_stack_err_msg = TRUE THEN
707 IF l_dump_frequency IS NULL THEN
708 FND_MESSAGE.SET_NAME('CSI','CSI_API_GET_FULL_DUMP_FAILED');
709 FND_MSG_PUB.ADD;
710 END IF;
711 END IF;
712 RETURN l_dump_frequency;
713 END get_full_dump_frequency;
714
715
716 END csi_org_unit_vld_pvt;