[Home] [Help]
PACKAGE BODY: APPS.CSI_PRICING_ATTRIB_VLD_PVT
Source
1 PACKAGE BODY csi_pricing_attrib_vld_pvt AS
2 /* $Header: csivpavb.pls 120.0 2005/05/24 17:35:40 appldev noship $ */
3 G_PKG_NAME VARCHAR2(30) := 'csi_pricing_attrib_vld_pvt';
4
5 /*----------------------------------------------------------*/
6 /* Function Name : Is_Valid_instance_id */
7 /* */
8 /* Description : This function checks if instance */
9 /* ids are valid */
10 /*----------------------------------------------------------*/
11
12 FUNCTION Is_Valid_instance_id
13 (p_instance_id IN NUMBER
14 ,p_event IN VARCHAR2
15 ,p_stack_err_msg IN BOOLEAN)
16 RETURN BOOLEAN
17 IS
18 l_instance_id NUMBER;
19 BEGIN
20 -- Verify that instance id is passed
21 IF p_instance_id IS NULL THEN
22 IF ( p_stack_err_msg = TRUE ) THEN
23 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_INSTANCE_ID');
24 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',p_instance_id);
25 FND_MSG_PUB.Add;
26 END IF;
27 RETURN FALSE;
28 ELSE
29 BEGIN
30 SELECT '1'
31 INTO l_instance_id
32 FROM csi_item_instances
33 WHERE instance_id = p_instance_id
34 AND ((active_end_date is NULL) OR (active_end_date >= SYSDATE));
35
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_EXP_PRI_INST_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 /*----------------------------------------------------------*/
62 /* Function Name : Val_inst_id_for_update */
63 /* */
64 /* Description : This function checks if instance */
65 /* ids can be updated */
66 /*----------------------------------------------------------*/
67
68 FUNCTION Val_inst_id_for_update
69 (p_instance_id_new IN NUMBER
70 ,p_instance_id_old IN NUMBER
71 ,p_stack_err_msg IN BOOLEAN)
72 RETURN BOOLEAN
73 IS
74 l_instance_id NUMBER;
75 BEGIN
76 -- Verify that instance id is passed
77 IF (p_instance_id_old = p_instance_id_new) THEN
78 RETURN TRUE;
79 ELSE
80 IF ( p_stack_err_msg = TRUE ) THEN
81 FND_MESSAGE.SET_NAME('CSI','CSI_API_CANT_CHANGE_INST_ID');
82 FND_MESSAGE.SET_TOKEN('INSTANCE_ID_OLD',p_instance_id_old);
83 FND_MSG_PUB.Add;
84 END IF;
85 RETURN FALSE;
86 END IF;
87
88 EXCEPTION
89 WHEN OTHERS THEN
90 IF ( p_stack_err_msg = TRUE ) THEN
91 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_INSTANCE_ID');
92 FND_MESSAGE.SET_TOKEN('INSTANCE_ID_OLD',p_instance_id_old);
93 FND_MSG_PUB.Add;
94 END IF;
95 RETURN FALSE;
96 END Val_inst_id_for_update;
97
98
99
100
101 /*----------------------------------------------------------*/
102 /* Function Name : Is_StartDate_Valid */
103 /* */
104 /* Description : This function checks if start date */
105 /* is valid */
106 /*----------------------------------------------------------*/
107
108 FUNCTION Is_StartDate_Valid
109 ( p_start_date IN OUT NOCOPY DATE,
110 p_end_date IN DATE,
111 p_instance_id IN NUMBER,
112 p_stack_err_msg IN BOOLEAN
113 ) RETURN BOOLEAN IS
114
115 l_return_value BOOLEAN := TRUE;
116 CURSOR c1 IS
117 SELECT active_start_date,
118 active_end_date
119 FROM csi_item_instances
120 WHERE instance_id = p_instance_id;
121 l_date_rec c1%ROWTYPE;
122
123 BEGIN
124 IF ((p_start_date IS NULL) OR (p_start_date = FND_API.G_MISS_DATE)) THEN
125 p_start_date := SYSDATE;
126 RETURN l_return_value;
127 END IF;
128
129 IF ((p_end_date is NOT NULL)
130 AND
131 (p_end_date <> FND_API.G_MISS_DATE)
132 AND
133 (p_start_date > p_end_date)) THEN
134 l_return_value := FALSE;
135 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_START_DATE');
136 FND_MESSAGE.SET_TOKEN('START_DATE',p_start_date);
137 FND_MSG_PUB.Add;
138 RETURN l_return_value;
139 END IF;
140
141 OPEN c1;
142 FETCH c1 INTO l_date_rec;
143 IF c1%NOTFOUND THEN
144 l_return_value := FALSE;
145 IF ( p_stack_err_msg = TRUE ) THEN
146 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_INST_START_DATE');
147 FND_MESSAGE.SET_TOKEN('ENTITY','Pricing Attribute');
148 FND_MSG_PUB.Add;
149 END IF;
150 END IF;
151
152 IF (p_start_date < l_date_rec.active_start_date)
153 OR
154 (p_start_date > NVL(l_date_rec.active_end_date,p_start_date))
155 OR
156 (p_start_date > SYSDATE)
157 THEN
158 l_return_value := FALSE;
159 IF ( p_stack_err_msg = TRUE ) THEN
160 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_START_DATE');
161 FND_MESSAGE.SET_TOKEN('START_DATE',p_start_date);
162 FND_MSG_PUB.Add;
163 END IF;
164 END IF;
165 CLOSE c1;
166 RETURN l_return_value;
167
168
169 END Is_StartDate_Valid;
170
171
172 /*----------------------------------------------------------*/
173 /* Function Name : Is_EndDate_Valid */
174 /* */
175 /* Description : This function checks if end date */
176 /* is valid */
177 /*----------------------------------------------------------*/
178
179 FUNCTION Is_EndDate_Valid
180 (
181 p_start_date IN DATE,
182 p_end_date IN DATE,
183 p_instance_id IN NUMBER,
184 p_pricing_attr_id IN NUMBER,
185 p_txn_id IN NUMBER,
186 p_stack_err_msg IN BOOLEAN
187 ) RETURN BOOLEAN IS
188
189 l_return_value BOOLEAN := TRUE;
190 l_transaction_date date;
191
192 CURSOR c1 IS
193 SELECT active_start_date,
194 active_end_date
195 FROM csi_item_instances
196 WHERE instance_id = p_instance_id;
197
198 l_date_rec c1%ROWTYPE;
199
200 BEGIN
201 IF ((p_pricing_attr_id IS NULL) OR (p_pricing_attr_id = FND_API.G_MISS_NUM)) THEN
202 IF ((p_end_date is NOT NULL) AND (p_end_date <> fnd_api.g_miss_date)) THEN
203
204 IF p_end_date < SYSDATE THEN
205 l_return_value := FALSE;
206 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_END_DATE');
207 FND_MESSAGE.SET_TOKEN('END_DATE',p_end_date);
208 FND_MSG_PUB.Add;
209 l_return_value := FALSE;
210 RETURN l_return_value;
211 END IF;
212 END IF;
213 RETURN l_return_value;
214
215 ELSE
216
217 IF p_end_date < sysdate THEN
218 SELECT MAX(t.transaction_date)
219 INTO l_transaction_date
220 FROM csi_i_pricing_attribs_h s,
221 csi_transactions t
222 WHERE s.pricing_attribute_id=p_pricing_attr_id
223 AND s.transaction_id=t.transaction_id
224 AND t.transaction_id <>nvl(p_txn_id, -99999);
225
226 IF l_transaction_date > p_end_date
227 THEN
228 fnd_message.set_name('CSI','CSI_HAS_TXNS');
229 fnd_message.set_token('END_DATE_ACTIVE',p_end_date);
230 fnd_msg_pub.add;
231 l_return_value := FALSE;
232 RETURN l_return_value;
233 END IF;
234 END IF;
235
236 IF ((p_end_date is not null) and (p_end_date <> fnd_api.g_miss_date)) then
237 OPEN c1;
238 FETCH c1 INTO l_date_rec;
239
240 IF (p_end_date > NVL(l_date_rec.active_end_date, p_end_date))
241 OR
242 (p_end_date < l_date_rec.active_start_date)
243 THEN
244 l_return_value := FALSE;
245 IF ( p_stack_err_msg = TRUE ) THEN
246 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_END_DATE');
247 FND_MESSAGE.SET_TOKEN('END_DATE',p_end_date);
248 FND_MSG_PUB.Add;
249 END IF;
250 RETURN l_return_value;
251 END IF;
252 CLOSE c1;
253 END IF;
254 END IF;
255 RETURN l_return_value;
256
257 END Is_EndDate_Valid;
258
259
260 /*----------------------------------------------------------*/
261 /* Function Name : Is_Valid_pricing_attrib_id */
262 /* */
263 /* Description : This function checks if pricing_attrib */
264 /* ids are valid */
265 /*----------------------------------------------------------*/
266
267 FUNCTION Is_Valid_pricing_attrib_id
268 (p_pricing_attrib_id IN NUMBER
269 ,p_stack_err_msg IN BOOLEAN
270 )
271 RETURN BOOLEAN
272 IS
273 l_pricing_attrib_id NUMBER;
274 BEGIN
275 -- Verify that pricing attrib_id is valid
276 IF p_pricing_attrib_id IS NULL THEN
277 IF ( p_stack_err_msg = TRUE ) THEN
278 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PRI_ATT_ID');
279 FND_MESSAGE.SET_TOKEN('PRICING_ATTRIB_ID',p_pricing_attrib_id);
280 FND_MSG_PUB.Add;
281 END IF;
282 RETURN FALSE;
283 ELSE
284 SELECT '1'
285 INTO l_pricing_attrib_id
286 FROM csi_i_pricing_attribs
287 WHERE pricing_attribute_id = p_pricing_attrib_id;
288 IF ( p_stack_err_msg = TRUE ) THEN
289 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PRI_ATT_ID');
290 FND_MESSAGE.SET_TOKEN('PRICING_ATTRIB_ID',p_pricing_attrib_id);
291 FND_MSG_PUB.Add;
292 END IF;
293 RETURN FALSE;
294 END IF;
295
296 EXCEPTION
297 WHEN NO_DATA_FOUND THEN
298 RETURN TRUE;
299 END Is_Valid_pricing_attrib_id;
300
301
302
303 /*----------------------------------------------------------*/
304 /* Function Name : Val_and_get_pri_att_id */
305 /* */
306 /* Description : This function checks if pricing_attrib */
307 /* ids are valid and returns values */
308 /*----------------------------------------------------------*/
309
310 FUNCTION Val_and_get_pri_att_id
311 (p_pricing_attrib_id IN NUMBER
312 ,p_pricing_attribs_rec OUT NOCOPY csi_datastructures_pub.pricing_attribs_rec
313 ,p_stack_err_msg IN BOOLEAN
314 )
315 RETURN BOOLEAN
316 IS
317 l_pricing_attrib_id NUMBER;
318 BEGIN
319 IF p_pricing_attrib_id IS NULL THEN
320 IF ( p_stack_err_msg = TRUE ) THEN
321 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PRI_ATT_ID');
322 FND_MESSAGE.SET_TOKEN('PRICING_ATTRIB_ID',p_pricing_attrib_id);
323 FND_MSG_PUB.Add;
324 END IF;
325 RETURN FALSE;
326 ELSE
327 -- Verify that pricing attribute id is passed
328 SELECT pricing_attribute_id,
329 instance_id,
330 active_start_date,
331 active_end_date,
332 pricing_context,
333 pricing_attribute1,
334 pricing_attribute2,
335 pricing_attribute3,
336 pricing_attribute4,
337 pricing_attribute5,
338 pricing_attribute6,
339 pricing_attribute7,
340 pricing_attribute8,
341 pricing_attribute9,
342 pricing_attribute10,
343 pricing_attribute11,
344 pricing_attribute12,
345 pricing_attribute13,
346 pricing_attribute14,
347 pricing_attribute15,
348 pricing_attribute16,
349 pricing_attribute17,
350 pricing_attribute18,
351 pricing_attribute19,
352 pricing_attribute20,
353 pricing_attribute21,
354 pricing_attribute22,
355 pricing_attribute23,
356 pricing_attribute24,
357 pricing_attribute25,
358 pricing_attribute26,
359 pricing_attribute27,
360 pricing_attribute28,
361 pricing_attribute29,
362 pricing_attribute30,
363 pricing_attribute31,
364 pricing_attribute32,
365 pricing_attribute33,
366 pricing_attribute34,
367 pricing_attribute35,
368 pricing_attribute36,
369 pricing_attribute37,
370 pricing_attribute38,
371 pricing_attribute39,
372 pricing_attribute40,
373 pricing_attribute41,
374 pricing_attribute42,
375 pricing_attribute43,
376 pricing_attribute44,
377 pricing_attribute45,
378 pricing_attribute46,
379 pricing_attribute47,
380 pricing_attribute48,
381 pricing_attribute49,
382 pricing_attribute50,
383 pricing_attribute51,
384 pricing_attribute52,
385 pricing_attribute53,
386 pricing_attribute54,
387 pricing_attribute55,
388 pricing_attribute56,
389 pricing_attribute57,
390 pricing_attribute58,
391 pricing_attribute59,
392 pricing_attribute60,
393 pricing_attribute61,
394 pricing_attribute62,
395 pricing_attribute63,
396 pricing_attribute64,
397 pricing_attribute65,
398 pricing_attribute66,
399 pricing_attribute67,
400 pricing_attribute68,
401 pricing_attribute69,
402 pricing_attribute70,
403 pricing_attribute71,
404 pricing_attribute72,
405 pricing_attribute73,
406 pricing_attribute74,
407 pricing_attribute75,
408 pricing_attribute76,
409 pricing_attribute77,
410 pricing_attribute78,
411 pricing_attribute79,
412 pricing_attribute80,
413 pricing_attribute81,
414 pricing_attribute82,
415 pricing_attribute83,
416 pricing_attribute84,
417 pricing_attribute85,
418 pricing_attribute86,
419 pricing_attribute87,
420 pricing_attribute88,
421 pricing_attribute89,
422 pricing_attribute90,
423 pricing_attribute91,
424 pricing_attribute92,
425 pricing_attribute93,
426 pricing_attribute94,
427 pricing_attribute95,
428 pricing_attribute96,
429 pricing_attribute97,
430 pricing_attribute98,
431 pricing_attribute99,
432 pricing_attribute100,
433 context,
434 attribute1,
435 attribute2,
436 attribute3,
437 attribute4,
438 attribute5,
439 attribute6,
440 attribute7,
441 attribute8,
442 attribute9,
443 attribute10,
444 attribute11,
445 attribute12,
446 attribute13,
447 attribute14,
448 attribute15,
449 object_version_number
450 INTO p_pricing_attribs_rec.pricing_attribute_id,
451 p_pricing_attribs_rec.instance_id,
452 p_pricing_attribs_rec.active_start_date,
453 p_pricing_attribs_rec.active_end_date,
454 p_pricing_attribs_rec.pricing_context,
455 p_pricing_attribs_rec.pricing_attribute1,
456 p_pricing_attribs_rec.pricing_attribute2,
457 p_pricing_attribs_rec.pricing_attribute3,
458 p_pricing_attribs_rec.pricing_attribute4,
459 p_pricing_attribs_rec.pricing_attribute5,
460 p_pricing_attribs_rec.pricing_attribute6,
461 p_pricing_attribs_rec.pricing_attribute7,
462 p_pricing_attribs_rec.pricing_attribute8,
463 p_pricing_attribs_rec.pricing_attribute9,
464 p_pricing_attribs_rec.pricing_attribute10,
465 p_pricing_attribs_rec.pricing_attribute11,
466 p_pricing_attribs_rec.pricing_attribute12,
467 p_pricing_attribs_rec.pricing_attribute13,
468 p_pricing_attribs_rec.pricing_attribute14,
469 p_pricing_attribs_rec.pricing_attribute15,
470 p_pricing_attribs_rec.pricing_attribute16,
471 p_pricing_attribs_rec.pricing_attribute17,
472 p_pricing_attribs_rec.pricing_attribute18,
473 p_pricing_attribs_rec.pricing_attribute19,
474 p_pricing_attribs_rec.pricing_attribute20,
475 p_pricing_attribs_rec.pricing_attribute21,
476 p_pricing_attribs_rec.pricing_attribute22,
477 p_pricing_attribs_rec.pricing_attribute23,
478 p_pricing_attribs_rec.pricing_attribute24,
479 p_pricing_attribs_rec.pricing_attribute25,
480 p_pricing_attribs_rec.pricing_attribute26,
481 p_pricing_attribs_rec.pricing_attribute27,
482 p_pricing_attribs_rec.pricing_attribute28,
483 p_pricing_attribs_rec.pricing_attribute29,
484 p_pricing_attribs_rec.pricing_attribute30,
485 p_pricing_attribs_rec.pricing_attribute31,
486 p_pricing_attribs_rec.pricing_attribute32,
487 p_pricing_attribs_rec.pricing_attribute33,
488 p_pricing_attribs_rec.pricing_attribute34,
489 p_pricing_attribs_rec.pricing_attribute35,
490 p_pricing_attribs_rec.pricing_attribute36,
491 p_pricing_attribs_rec.pricing_attribute37,
492 p_pricing_attribs_rec.pricing_attribute38,
493 p_pricing_attribs_rec.pricing_attribute39,
494 p_pricing_attribs_rec.pricing_attribute40,
495 p_pricing_attribs_rec.pricing_attribute41,
496 p_pricing_attribs_rec.pricing_attribute42,
497 p_pricing_attribs_rec.pricing_attribute43,
498 p_pricing_attribs_rec.pricing_attribute44,
499 p_pricing_attribs_rec.pricing_attribute45,
500 p_pricing_attribs_rec.pricing_attribute46,
501 p_pricing_attribs_rec.pricing_attribute47,
502 p_pricing_attribs_rec.pricing_attribute48,
503 p_pricing_attribs_rec.pricing_attribute49,
504 p_pricing_attribs_rec.pricing_attribute50,
505 p_pricing_attribs_rec.pricing_attribute51,
506 p_pricing_attribs_rec.pricing_attribute52,
507 p_pricing_attribs_rec.pricing_attribute53,
508 p_pricing_attribs_rec.pricing_attribute54,
509 p_pricing_attribs_rec.pricing_attribute55,
510 p_pricing_attribs_rec.pricing_attribute56,
511 p_pricing_attribs_rec.pricing_attribute57,
512 p_pricing_attribs_rec.pricing_attribute58,
513 p_pricing_attribs_rec.pricing_attribute59,
514 p_pricing_attribs_rec.pricing_attribute60,
515 p_pricing_attribs_rec.pricing_attribute61,
516 p_pricing_attribs_rec.pricing_attribute62,
517 p_pricing_attribs_rec.pricing_attribute63,
518 p_pricing_attribs_rec.pricing_attribute64,
519 p_pricing_attribs_rec.pricing_attribute65,
520 p_pricing_attribs_rec.pricing_attribute66,
521 p_pricing_attribs_rec.pricing_attribute67,
522 p_pricing_attribs_rec.pricing_attribute68,
523 p_pricing_attribs_rec.pricing_attribute69,
524 p_pricing_attribs_rec.pricing_attribute70,
525 p_pricing_attribs_rec.pricing_attribute71,
526 p_pricing_attribs_rec.pricing_attribute72,
527 p_pricing_attribs_rec.pricing_attribute73,
528 p_pricing_attribs_rec.pricing_attribute74,
529 p_pricing_attribs_rec.pricing_attribute75,
530 p_pricing_attribs_rec.pricing_attribute76,
531 p_pricing_attribs_rec.pricing_attribute77,
532 p_pricing_attribs_rec.pricing_attribute78,
533 p_pricing_attribs_rec.pricing_attribute79,
534 p_pricing_attribs_rec.pricing_attribute80,
535 p_pricing_attribs_rec.pricing_attribute81,
536 p_pricing_attribs_rec.pricing_attribute82,
537 p_pricing_attribs_rec.pricing_attribute83,
538 p_pricing_attribs_rec.pricing_attribute84,
539 p_pricing_attribs_rec.pricing_attribute85,
540 p_pricing_attribs_rec.pricing_attribute86,
541 p_pricing_attribs_rec.pricing_attribute87,
542 p_pricing_attribs_rec.pricing_attribute88,
543 p_pricing_attribs_rec.pricing_attribute89,
544 p_pricing_attribs_rec.pricing_attribute90,
545 p_pricing_attribs_rec.pricing_attribute91,
546 p_pricing_attribs_rec.pricing_attribute92,
547 p_pricing_attribs_rec.pricing_attribute93,
548 p_pricing_attribs_rec.pricing_attribute94,
549 p_pricing_attribs_rec.pricing_attribute95,
550 p_pricing_attribs_rec.pricing_attribute96,
551 p_pricing_attribs_rec.pricing_attribute97,
552 p_pricing_attribs_rec.pricing_attribute98,
553 p_pricing_attribs_rec.pricing_attribute99,
554 p_pricing_attribs_rec.pricing_attribute100,
555 p_pricing_attribs_rec.context,
556 p_pricing_attribs_rec.attribute1,
557 p_pricing_attribs_rec.attribute2,
558 p_pricing_attribs_rec.attribute3,
559 p_pricing_attribs_rec.attribute4,
560 p_pricing_attribs_rec.attribute5,
561 p_pricing_attribs_rec.attribute6,
562 p_pricing_attribs_rec.attribute7,
563 p_pricing_attribs_rec.attribute8,
564 p_pricing_attribs_rec.attribute9,
565 p_pricing_attribs_rec.attribute10,
566 p_pricing_attribs_rec.attribute11,
567 p_pricing_attribs_rec.attribute12,
568 p_pricing_attribs_rec.attribute13,
569 p_pricing_attribs_rec.attribute14,
570 p_pricing_attribs_rec.attribute15,
571 p_pricing_attribs_rec.object_version_number
572 FROM csi_i_pricing_attribs
573 WHERE pricing_attribute_id = p_pricing_attrib_id;
574 RETURN TRUE;
575 END IF;
576
577 EXCEPTION
578 WHEN NO_DATA_FOUND THEN
579 IF ( p_stack_err_msg = TRUE ) THEN
580 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PRI_ATT_ID');
581 FND_MESSAGE.SET_TOKEN('PRICING_ATTRIB_ID',p_pricing_attrib_id);
582 FND_MSG_PUB.Add;
583 END IF;
584 RETURN FALSE;
585 END Val_and_get_pri_att_id ;
586
587
588 /*----------------------------------------------------------*/
589 /* Function Name : Is_Expire_Op */
590 /* */
591 /* Description : This function checks if it is a */
592 /* ids are valid and returns values */
593 /*----------------------------------------------------------*/
594
595 FUNCTION Is_Expire_Op
596 (p_pricing_attribs_rec IN csi_datastructures_pub.pricing_attribs_rec
597 ,p_stack_err_msg IN BOOLEAN
598 )
599 RETURN BOOLEAN
600 IS
601 BEGIN
602 IF (p_pricing_attribs_rec.instance_id = FND_API.G_MISS_NUM) AND
603 (p_pricing_attribs_rec.active_start_date = FND_API.G_MISS_DATE) AND
604 (p_pricing_attribs_rec.active_end_date = SYSDATE) AND
605 (p_pricing_attribs_rec.pricing_context = FND_API.G_MISS_CHAR) AND
606 (p_pricing_attribs_rec.pricing_attribute1 = FND_API.G_MISS_CHAR) AND
607 (p_pricing_attribs_rec.pricing_attribute2 = FND_API.G_MISS_CHAR) AND
608 (p_pricing_attribs_rec.pricing_attribute3 = FND_API.G_MISS_CHAR) AND
609 (p_pricing_attribs_rec.pricing_attribute4 = FND_API.G_MISS_CHAR) AND
610 (p_pricing_attribs_rec.pricing_attribute5 = FND_API.G_MISS_CHAR) AND
611 (p_pricing_attribs_rec.pricing_attribute6 = FND_API.G_MISS_CHAR) AND
612 (p_pricing_attribs_rec.pricing_attribute7 = FND_API.G_MISS_CHAR) AND
613 (p_pricing_attribs_rec.pricing_attribute8 = FND_API.G_MISS_CHAR) AND
614 (p_pricing_attribs_rec.pricing_attribute9 = FND_API.G_MISS_CHAR) AND
615 (p_pricing_attribs_rec.pricing_attribute10 = FND_API.G_MISS_CHAR) AND
616 (p_pricing_attribs_rec.pricing_attribute11 = FND_API.G_MISS_CHAR) AND
617 (p_pricing_attribs_rec.pricing_attribute12 = FND_API.G_MISS_CHAR) AND
618 (p_pricing_attribs_rec.pricing_attribute13 = FND_API.G_MISS_CHAR) AND
619 (p_pricing_attribs_rec.pricing_attribute14 = FND_API.G_MISS_CHAR) AND
620 (p_pricing_attribs_rec.pricing_attribute15 = FND_API.G_MISS_CHAR) AND
621 (p_pricing_attribs_rec.pricing_attribute16 = FND_API.G_MISS_CHAR) AND
622 (p_pricing_attribs_rec.pricing_attribute17 = FND_API.G_MISS_CHAR) AND
623 (p_pricing_attribs_rec.pricing_attribute18 = FND_API.G_MISS_CHAR) AND
624 (p_pricing_attribs_rec.pricing_attribute19 = FND_API.G_MISS_CHAR) AND
625 (p_pricing_attribs_rec.pricing_attribute20 = FND_API.G_MISS_CHAR) AND
626 (p_pricing_attribs_rec.pricing_attribute21 = FND_API.G_MISS_CHAR) AND
627 (p_pricing_attribs_rec.pricing_attribute22 = FND_API.G_MISS_CHAR) AND
628 (p_pricing_attribs_rec.pricing_attribute23 = FND_API.G_MISS_CHAR) AND
629 (p_pricing_attribs_rec.pricing_attribute24 = FND_API.G_MISS_CHAR) AND
630 (p_pricing_attribs_rec.pricing_attribute25 = FND_API.G_MISS_CHAR) AND
631 (p_pricing_attribs_rec.pricing_attribute26 = FND_API.G_MISS_CHAR) AND
632 (p_pricing_attribs_rec.pricing_attribute27 = FND_API.G_MISS_CHAR) AND
633 (p_pricing_attribs_rec.pricing_attribute28 = FND_API.G_MISS_CHAR) AND
634 (p_pricing_attribs_rec.pricing_attribute29 = FND_API.G_MISS_CHAR) AND
635 (p_pricing_attribs_rec.pricing_attribute30 = FND_API.G_MISS_CHAR) AND
636 (p_pricing_attribs_rec.pricing_attribute31 = FND_API.G_MISS_CHAR) AND
637 (p_pricing_attribs_rec.pricing_attribute32 = FND_API.G_MISS_CHAR) AND
638 (p_pricing_attribs_rec.pricing_attribute33 = FND_API.G_MISS_CHAR) AND
639 (p_pricing_attribs_rec.pricing_attribute34 = FND_API.G_MISS_CHAR) AND
640 (p_pricing_attribs_rec.pricing_attribute35 = FND_API.G_MISS_CHAR) AND
641 (p_pricing_attribs_rec.pricing_attribute36 = FND_API.G_MISS_CHAR) AND
642 (p_pricing_attribs_rec.pricing_attribute37 = FND_API.G_MISS_CHAR) AND
643 (p_pricing_attribs_rec.pricing_attribute38 = FND_API.G_MISS_CHAR) AND
644 (p_pricing_attribs_rec.pricing_attribute39 = FND_API.G_MISS_CHAR) AND
645 (p_pricing_attribs_rec.pricing_attribute40 = FND_API.G_MISS_CHAR) AND
646 (p_pricing_attribs_rec.pricing_attribute41 = FND_API.G_MISS_CHAR) AND
647 (p_pricing_attribs_rec.pricing_attribute42 = FND_API.G_MISS_CHAR) AND
648 (p_pricing_attribs_rec.pricing_attribute43 = FND_API.G_MISS_CHAR) AND
649 (p_pricing_attribs_rec.pricing_attribute44 = FND_API.G_MISS_CHAR) AND
650 (p_pricing_attribs_rec.pricing_attribute45 = FND_API.G_MISS_CHAR) AND
651 (p_pricing_attribs_rec.pricing_attribute46 = FND_API.G_MISS_CHAR) AND
652 (p_pricing_attribs_rec.pricing_attribute47 = FND_API.G_MISS_CHAR) AND
653 (p_pricing_attribs_rec.pricing_attribute48 = FND_API.G_MISS_CHAR) AND
654 (p_pricing_attribs_rec.pricing_attribute49 = FND_API.G_MISS_CHAR) AND
655 (p_pricing_attribs_rec.pricing_attribute50 = FND_API.G_MISS_CHAR) AND
656 (p_pricing_attribs_rec.pricing_attribute51 = FND_API.G_MISS_CHAR) AND
657 (p_pricing_attribs_rec.pricing_attribute52 = FND_API.G_MISS_CHAR) AND
658 (p_pricing_attribs_rec.pricing_attribute53 = FND_API.G_MISS_CHAR) AND
659 (p_pricing_attribs_rec.pricing_attribute54 = FND_API.G_MISS_CHAR) AND
660 (p_pricing_attribs_rec.pricing_attribute55 = FND_API.G_MISS_CHAR) AND
661 (p_pricing_attribs_rec.pricing_attribute56 = FND_API.G_MISS_CHAR) AND
662 (p_pricing_attribs_rec.pricing_attribute57 = FND_API.G_MISS_CHAR) AND
663 (p_pricing_attribs_rec.pricing_attribute58 = FND_API.G_MISS_CHAR) AND
664 (p_pricing_attribs_rec.pricing_attribute59 = FND_API.G_MISS_CHAR) AND
665 (p_pricing_attribs_rec.pricing_attribute60 = FND_API.G_MISS_CHAR) AND
666 (p_pricing_attribs_rec.pricing_attribute61 = FND_API.G_MISS_CHAR) AND
667 (p_pricing_attribs_rec.pricing_attribute62 = FND_API.G_MISS_CHAR) AND
668 (p_pricing_attribs_rec.pricing_attribute63 = FND_API.G_MISS_CHAR) AND
669 (p_pricing_attribs_rec.pricing_attribute64 = FND_API.G_MISS_CHAR) AND
670 (p_pricing_attribs_rec.pricing_attribute65 = FND_API.G_MISS_CHAR) AND
671 (p_pricing_attribs_rec.pricing_attribute66 = FND_API.G_MISS_CHAR) AND
672 (p_pricing_attribs_rec.pricing_attribute67 = FND_API.G_MISS_CHAR) AND
673 (p_pricing_attribs_rec.pricing_attribute68 = FND_API.G_MISS_CHAR) AND
674 (p_pricing_attribs_rec.pricing_attribute69 = FND_API.G_MISS_CHAR) AND
675 (p_pricing_attribs_rec.pricing_attribute70 = FND_API.G_MISS_CHAR) AND
676 (p_pricing_attribs_rec.pricing_attribute71 = FND_API.G_MISS_CHAR) AND
677 (p_pricing_attribs_rec.pricing_attribute72 = FND_API.G_MISS_CHAR) AND
678 (p_pricing_attribs_rec.pricing_attribute73 = FND_API.G_MISS_CHAR) AND
679 (p_pricing_attribs_rec.pricing_attribute74 = FND_API.G_MISS_CHAR) AND
680 (p_pricing_attribs_rec.pricing_attribute75 = FND_API.G_MISS_CHAR) AND
681 (p_pricing_attribs_rec.pricing_attribute76 = FND_API.G_MISS_CHAR) AND
682 (p_pricing_attribs_rec.pricing_attribute77 = FND_API.G_MISS_CHAR) AND
683 (p_pricing_attribs_rec.pricing_attribute78 = FND_API.G_MISS_CHAR) AND
684 (p_pricing_attribs_rec.pricing_attribute79 = FND_API.G_MISS_CHAR) AND
685 (p_pricing_attribs_rec.pricing_attribute80 = FND_API.G_MISS_CHAR) AND
686 (p_pricing_attribs_rec.pricing_attribute81 = FND_API.G_MISS_CHAR) AND
687 (p_pricing_attribs_rec.pricing_attribute82 = FND_API.G_MISS_CHAR) AND
688 (p_pricing_attribs_rec.pricing_attribute83 = FND_API.G_MISS_CHAR) AND
689 (p_pricing_attribs_rec.pricing_attribute84 = FND_API.G_MISS_CHAR) AND
690 (p_pricing_attribs_rec.pricing_attribute85 = FND_API.G_MISS_CHAR) AND
691 (p_pricing_attribs_rec.pricing_attribute86 = FND_API.G_MISS_CHAR) AND
692 (p_pricing_attribs_rec.pricing_attribute87 = FND_API.G_MISS_CHAR) AND
693 (p_pricing_attribs_rec.pricing_attribute88 = FND_API.G_MISS_CHAR) AND
694 (p_pricing_attribs_rec.pricing_attribute89 = FND_API.G_MISS_CHAR) AND
695 (p_pricing_attribs_rec.pricing_attribute90 = FND_API.G_MISS_CHAR) AND
696 (p_pricing_attribs_rec.pricing_attribute91 = FND_API.G_MISS_CHAR) AND
697 (p_pricing_attribs_rec.pricing_attribute92 = FND_API.G_MISS_CHAR) AND
698 (p_pricing_attribs_rec.pricing_attribute93 = FND_API.G_MISS_CHAR) AND
699 (p_pricing_attribs_rec.pricing_attribute94 = FND_API.G_MISS_CHAR) AND
700 (p_pricing_attribs_rec.pricing_attribute95 = FND_API.G_MISS_CHAR) AND
701 (p_pricing_attribs_rec.pricing_attribute96 = FND_API.G_MISS_CHAR) AND
702 (p_pricing_attribs_rec.pricing_attribute97 = FND_API.G_MISS_CHAR) AND
703 (p_pricing_attribs_rec.pricing_attribute98 = FND_API.G_MISS_CHAR) AND
704 (p_pricing_attribs_rec.pricing_attribute99 = FND_API.G_MISS_CHAR) AND
705 (p_pricing_attribs_rec.pricing_attribute100 = FND_API.G_MISS_CHAR) AND
706 (p_pricing_attribs_rec.context = FND_API.G_MISS_CHAR) AND
707 (p_pricing_attribs_rec.attribute1 = FND_API.G_MISS_CHAR) AND
708 (p_pricing_attribs_rec.attribute2 = FND_API.G_MISS_CHAR) AND
709 (p_pricing_attribs_rec.attribute3 = FND_API.G_MISS_CHAR) AND
710 (p_pricing_attribs_rec.attribute4 = FND_API.G_MISS_CHAR) AND
711 (p_pricing_attribs_rec.attribute5 = FND_API.G_MISS_CHAR) AND
712 (p_pricing_attribs_rec.attribute6 = FND_API.G_MISS_CHAR) AND
713 (p_pricing_attribs_rec.attribute7 = FND_API.G_MISS_CHAR) AND
714 (p_pricing_attribs_rec.attribute8 = FND_API.G_MISS_CHAR) AND
715 (p_pricing_attribs_rec.attribute9 = FND_API.G_MISS_CHAR) AND
716 (p_pricing_attribs_rec.attribute10 = FND_API.G_MISS_CHAR) AND
717 (p_pricing_attribs_rec.attribute11 = FND_API.G_MISS_CHAR) AND
718 (p_pricing_attribs_rec.attribute12 = FND_API.G_MISS_CHAR) AND
719 (p_pricing_attribs_rec.attribute13 = FND_API.G_MISS_CHAR) AND
720 (p_pricing_attribs_rec.attribute14 = FND_API.G_MISS_CHAR) AND
721 (p_pricing_attribs_rec.attribute15 = FND_API.G_MISS_CHAR) THEN
722
723 RETURN TRUE;
724 ELSE
725 RETURN FALSE;
726 END IF;
727
728 END Is_Expire_Op;
729
730
731
732 /*----------------------------------------------------------*/
733 /* Function Name : Is_Updatable */
734 /* */
735 /* Description : This function checks if this is a */
736 /* an updatable record */
737 /*----------------------------------------------------------*/
738
739 FUNCTION Is_Updatable
740 (p_old_date IN DATE
741 ,p_new_date IN DATE
742 ,p_stack_err_msg IN BOOLEAN
743 )
744 RETURN BOOLEAN
745 IS
746 BEGIN
747 IF p_old_date < SYSDATE THEN
748 IF p_new_date = FND_API.G_MISS_DATE THEN
749 IF ( p_stack_err_msg = TRUE ) THEN
750 FND_MESSAGE.SET_NAME('CSI','CSI_API_NOT_UPDATABLE');
751 FND_MESSAGE.SET_TOKEN('ACTIVE_END_DATE',p_old_date);
752 FND_MSG_PUB.Add;
753 RAISE FND_API.G_EXC_ERROR;
754 END IF;
755 RETURN FALSE;
756 ELSE
757 RETURN TRUE;
758 END IF;
759 ELSE
760 RETURN TRUE;
761 END IF;
762
763 END Is_Updatable;
764
765
766
767 /*----------------------------------------------------------*/
768 /* Function Name : get_pricing_attrib_id */
769 /* */
770 /* Description : This function generates */
771 /* pricing_attrib_id using a sequence */
772 /*----------------------------------------------------------*/
773
774 FUNCTION get_pricing_attrib_id
775 ( p_stack_err_msg IN BOOLEAN
776 )
777 RETURN NUMBER
778 IS
779 l_pricing_attrib_id NUMBER;
780 BEGIN
781 SELECT csi_i_pricing_attribs_s.nextval
782 INTO l_pricing_attrib_id
783 FROM dual;
784 RETURN l_pricing_attrib_id ;
785 EXCEPTION
786 WHEN OTHERS THEN
787 IF ( p_stack_err_msg = TRUE ) THEN
788 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PRI_ATT_ID');
789 FND_MESSAGE.SET_TOKEN('PRICING_ATTRIB_ID',l_pricing_attrib_id);
790 FND_MSG_PUB.Add;
791 END IF;
792 END get_pricing_attrib_id;
793
794
795
796 /*----------------------------------------------------------*/
797 /* Function Name : get_pricing_attrib_h_id */
798 /* */
799 /* Description : This function generates */
800 /* pricing_attrib_h_id using a sequence */
801 /*----------------------------------------------------------*/
802
803 FUNCTION get_pricing_attrib_h_id
804 ( p_stack_err_msg IN BOOLEAN
805 )
806 RETURN NUMBER
807 IS
808 l_pricing_attrib_h_id NUMBER;
809 BEGIN
810 SELECT csi_i_pricing_attribs_h_s.nextval
811 INTO l_pricing_attrib_h_id
812 FROM dual;
813 RETURN l_pricing_attrib_h_id ;
814 EXCEPTION
815 WHEN OTHERS THEN
816 IF ( p_stack_err_msg = TRUE ) THEN
817 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_ATT_H_ID');
818 FND_MESSAGE.SET_TOKEN('PRICING_ATTRIB_H_ID',l_pricing_attrib_h_id);
819 FND_MSG_PUB.Add;
820 END IF;
821 END get_pricing_attrib_h_id;
822
823
824 /*-------------------------------------------------------------- */
825 /* Function Name : get_object_version_number */
826 /* */
827 /* Description : This function generates object_version_number */
828 /* using previous version numbers */
829 /*---------------------------------------------------------------*/
830
831 FUNCTION get_object_version_number
832 (p_object_version_number IN NUMBER
833 ,p_stack_err_msg IN BOOLEAN
834 )
835 RETURN NUMBER
836 IS
837 l_object_version_number NUMBER;
838
839 BEGIN
840 l_object_version_number := p_object_version_number + 1;
841 RETURN l_object_version_number;
842 EXCEPTION
843 WHEN OTHERS THEN
844 IF ( p_stack_err_msg = TRUE ) THEN
845 FND_MESSAGE.SET_NAME('CSI','CSI_API_OBJ_VER_MISMATCH');
846 FND_MSG_PUB.Add;
847 END IF;
848 END get_object_version_number ;
849
850
851 /*-------------------------------------------------------------- */
852 /* Function Name : Is_valid_obj_ver_num */
853 /* */
854 /* Description : This function generates object_version_number */
855 /* using previous version numbers */
856 /*---------------------------------------------------------------*/
857
858 FUNCTION Is_valid_obj_ver_num
859 (p_obj_ver_numb_new IN NUMBER
860 ,p_obj_ver_numb_old IN NUMBER
861 ,p_stack_err_msg IN BOOLEAN
862 )
863 RETURN BOOLEAN
864 IS
865 l_object_version_number NUMBER;
866
867 BEGIN
868 IF (p_obj_ver_numb_new = p_obj_ver_numb_old ) THEN
869 RETURN TRUE;
870 ELSE
871 IF ( p_stack_err_msg = TRUE ) THEN
872 FND_MESSAGE.SET_NAME('CSI','CSI_API_OBJ_VER_MISMATCH');
873 FND_MSG_PUB.Add;
874 END IF;
875 RETURN FALSE;
876 END IF;
877
878 EXCEPTION
879 WHEN OTHERS THEN
880 IF ( p_stack_err_msg = TRUE ) THEN
881 FND_MESSAGE.SET_NAME('CSI','CSI_API_OBJ_VER_MISMATCH');
882 FND_MSG_PUB.Add;
883 RETURN FALSE;
884 END IF;
885 END Is_valid_obj_ver_num;
886
887
888 /*-------------------------------------------------------------- */
889 /* Function Name : get_full_dump_frequency */
890 /* */
891 /* Description : This function gets the dump frequency */
892 /* */
893 /*---------------------------------------------------------------*/
894
895 FUNCTION get_full_dump_frequency
896 (p_stack_err_msg IN BOOLEAN
897 )
898 RETURN NUMBER
899 IS
900 l_dump_frequency NUMBER;
901
902 BEGIN
903 IF csi_datastructures_pub.g_install_param_rec.fetch_flag IS NULL THEN
904 csi_gen_utility_pvt.populate_install_param_rec;
905 END IF;
906 --
907 l_dump_frequency := csi_datastructures_pub.g_install_param_rec.history_full_dump_frequency;
908 --
909 IF p_stack_err_msg = TRUE THEN
910 IF l_dump_frequency IS NULL THEN
911 FND_MESSAGE.SET_NAME('CSI','CSI_API_GET_FULL_DUMP_FAILED');
912 FND_MSG_PUB.ADD;
913 END IF;
914 END IF;
915
916 RETURN l_dump_frequency;
917 END get_full_dump_frequency;
918
919
920 END csi_pricing_attrib_vld_pvt;