[Home] [Help]
PACKAGE BODY: APPS.QP_FORMULA_UTIL
Source
1 PACKAGE BODY QP_Formula_Util AS
2 /* $Header: QPXUPRFB.pls 120.1 2005/06/12 23:13:25 appldev $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Formula_Util';
7
8 -- Procedure Clear_Dependent_Attr
9
10 PROCEDURE Clear_Dependent_Attr
11 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
12 , p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
13 , p_old_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type :=
14 QP_Price_Formula_PUB.G_MISS_FORMULA_REC
15 , x_FORMULA_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_Formula_PUB.Formula_Rec_Type
16 )
17 IS
18 l_index NUMBER := 0;
19 l_src_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
20 l_dep_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
21 BEGIN
22
23 oe_debug_pub.add('Entering proc clear_dependent_attr in Formula Util Pkg');
24 -- Load out record
25
26 x_FORMULA_rec := p_FORMULA_rec;
27
28 -- If attr_id is missing compare old and new records and for
29 -- every changed attribute clear its dependent fields.
30
31 IF p_attr_id = FND_API.G_MISS_NUM THEN
32
33 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute1,p_old_FORMULA_rec.attribute1)
34 THEN
35 l_index := l_index + 1;
36 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE1;
37 END IF;
38
39 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute10,p_old_FORMULA_rec.attribute10)
40 THEN
41 l_index := l_index + 1;
42 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE10;
43 END IF;
44
45 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute11,p_old_FORMULA_rec.attribute11)
46 THEN
47 l_index := l_index + 1;
48 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE11;
49 END IF;
50
51 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute12,p_old_FORMULA_rec.attribute12)
52 THEN
53 l_index := l_index + 1;
54 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE12;
55 END IF;
56
57 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute13,p_old_FORMULA_rec.attribute13)
58 THEN
59 l_index := l_index + 1;
60 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE13;
61 END IF;
62
63 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute14,p_old_FORMULA_rec.attribute14)
64 THEN
65 l_index := l_index + 1;
66 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE14;
67 END IF;
68
69 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute15,p_old_FORMULA_rec.attribute15)
70 THEN
71 l_index := l_index + 1;
72 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE15;
73 END IF;
74
75 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute2,p_old_FORMULA_rec.attribute2)
76 THEN
77 l_index := l_index + 1;
78 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE2;
79 END IF;
80
81 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute3,p_old_FORMULA_rec.attribute3)
82 THEN
83 l_index := l_index + 1;
84 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE3;
85 END IF;
86
87 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute4,p_old_FORMULA_rec.attribute4)
88 THEN
89 l_index := l_index + 1;
90 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE4;
91 END IF;
92
93 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute5,p_old_FORMULA_rec.attribute5)
94 THEN
95 l_index := l_index + 1;
96 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE5;
97 END IF;
98
99 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute6,p_old_FORMULA_rec.attribute6)
100 THEN
101 l_index := l_index + 1;
102 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE6;
103 END IF;
104
105 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute7,p_old_FORMULA_rec.attribute7)
106 THEN
107 l_index := l_index + 1;
108 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE7;
109 END IF;
110
111 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute8,p_old_FORMULA_rec.attribute8)
112 THEN
113 l_index := l_index + 1;
114 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE8;
115 END IF;
116
117 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute9,p_old_FORMULA_rec.attribute9)
118 THEN
119 l_index := l_index + 1;
120 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE9;
121 END IF;
122
123 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.context,p_old_FORMULA_rec.context)
124 THEN
125 l_index := l_index + 1;
126 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_CONTEXT;
127 END IF;
128
129 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.created_by,p_old_FORMULA_rec.created_by)
130 THEN
131 l_index := l_index + 1;
132 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_CREATED_BY;
133 END IF;
134
135 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.creation_date,p_old_FORMULA_rec.creation_date)
136 THEN
137 l_index := l_index + 1;
138 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_CREATION_DATE;
139 END IF;
140
141 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.description,p_old_FORMULA_rec.description)
142 THEN
143 l_index := l_index + 1;
144 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_DESCRIPTION;
145 END IF;
146
147 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.end_date_active,p_old_FORMULA_rec.end_date_active)
148 THEN
149 l_index := l_index + 1;
150 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_END_DATE_ACTIVE;
151 END IF;
152
153 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.formula,p_old_FORMULA_rec.formula)
154 THEN
155 l_index := l_index + 1;
156 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_FORMULA;
157 END IF;
158
159 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.last_updated_by,p_old_FORMULA_rec.last_updated_by)
160 THEN
161 l_index := l_index + 1;
162 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_LAST_UPDATED_BY;
163 END IF;
164
165 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.last_update_date,p_old_FORMULA_rec.last_update_date)
166 THEN
167 l_index := l_index + 1;
168 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_LAST_UPDATE_DATE;
169 END IF;
170
171 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.last_update_login,p_old_FORMULA_rec.last_update_login)
172 THEN
173 l_index := l_index + 1;
174 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_LAST_UPDATE_LOGIN;
175 END IF;
176
177 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.name,p_old_FORMULA_rec.name)
178 THEN
179 l_index := l_index + 1;
180 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_NAME;
181 END IF;
182
183 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.price_formula_id,p_old_FORMULA_rec.price_formula_id)
184 THEN
185 l_index := l_index + 1;
186 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_PRICE_FORMULA;
187 END IF;
188
189 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.start_date_active,p_old_FORMULA_rec.start_date_active)
190 THEN
191 l_index := l_index + 1;
192 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_START_DATE_ACTIVE;
193 END IF;
194
195 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
196 l_index := l_index + 1;
197 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE1;
198 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
199 l_index := l_index + 1;
200 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE10;
201 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
202 l_index := l_index + 1;
203 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE11;
204 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
205 l_index := l_index + 1;
206 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE12;
207 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
208 l_index := l_index + 1;
209 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE13;
210 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
211 l_index := l_index + 1;
212 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE14;
213 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
214 l_index := l_index + 1;
215 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE15;
216 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
217 l_index := l_index + 1;
218 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE2;
219 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
220 l_index := l_index + 1;
221 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE3;
222 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
223 l_index := l_index + 1;
224 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE4;
225 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
226 l_index := l_index + 1;
227 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE5;
228 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
229 l_index := l_index + 1;
230 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE6;
231 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
232 l_index := l_index + 1;
233 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE7;
234 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
235 l_index := l_index + 1;
236 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE8;
237 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
238 l_index := l_index + 1;
239 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_ATTRIBUTE9;
240 ELSIF p_attr_id = G_CONTEXT THEN
241 l_index := l_index + 1;
242 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_CONTEXT;
243 ELSIF p_attr_id = G_CREATED_BY THEN
244 l_index := l_index + 1;
245 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_CREATED_BY;
246 ELSIF p_attr_id = G_CREATION_DATE THEN
247 l_index := l_index + 1;
248 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_CREATION_DATE;
249 ELSIF p_attr_id = G_DESCRIPTION THEN
250 l_index := l_index + 1;
251 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_DESCRIPTION;
252 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
253 l_index := l_index + 1;
254 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_END_DATE_ACTIVE;
255 ELSIF p_attr_id = G_FORMULA THEN
256 l_index := l_index + 1;
257 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_FORMULA;
258 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
259 l_index := l_index + 1;
260 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_LAST_UPDATED_BY;
261 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
262 l_index := l_index + 1;
263 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_LAST_UPDATE_DATE;
264 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
265 l_index := l_index + 1;
266 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_LAST_UPDATE_LOGIN;
267 ELSIF p_attr_id = G_NAME THEN
268 l_index := l_index + 1;
269 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_NAME;
270 ELSIF p_attr_id = G_PRICE_FORMULA THEN
271 l_index := l_index + 1;
272 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_PRICE_FORMULA;
273 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
274 l_index := l_index + 1;
275 l_src_attr_tbl(l_index) := QP_FORMULA_UTIL.G_START_DATE_ACTIVE;
276 END IF;
277
278 oe_debug_pub.add('Leaving proc clear_dependent_attr in Formula Util Pkg');
279 END Clear_Dependent_Attr;
280
281 -- Procedure Apply_Attribute_Changes
282
283 PROCEDURE Apply_Attribute_Changes
284 ( p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
285 , p_old_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type :=
286 QP_Price_Formula_PUB.G_MISS_FORMULA_REC
287 , x_FORMULA_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_Formula_PUB.Formula_Rec_Type
288 )
289 IS
290 BEGIN
291
292 oe_debug_pub.add('Entering proc Apply_attribute_Changes in Formula Util Pkg');
293 -- Load out NOCOPY record
294
295 x_FORMULA_rec := p_FORMULA_rec;
296
297 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute1,p_old_FORMULA_rec.attribute1)
298 THEN
299 NULL;
300 END IF;
301
302 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute10,p_old_FORMULA_rec.attribute10)
303 THEN
304 NULL;
305 END IF;
306
307 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute11,p_old_FORMULA_rec.attribute11)
308 THEN
309 NULL;
310 END IF;
311
312 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute12,p_old_FORMULA_rec.attribute12)
313 THEN
314 NULL;
315 END IF;
316
317 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute13,p_old_FORMULA_rec.attribute13)
318 THEN
319 NULL;
320 END IF;
321
322 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute14,p_old_FORMULA_rec.attribute14)
323 THEN
324 NULL;
325 END IF;
326
327 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute15,p_old_FORMULA_rec.attribute15)
328 THEN
329 NULL;
330 END IF;
331
332 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute2,p_old_FORMULA_rec.attribute2)
333 THEN
334 NULL;
335 END IF;
336
337 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute3,p_old_FORMULA_rec.attribute3)
338 THEN
339 NULL;
340 END IF;
341
342 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute4,p_old_FORMULA_rec.attribute4)
343 THEN
344 NULL;
345 END IF;
346
347 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute5,p_old_FORMULA_rec.attribute5)
348 THEN
349 NULL;
350 END IF;
351
352 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute6,p_old_FORMULA_rec.attribute6)
353 THEN
354 NULL;
355 END IF;
356
357 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute7,p_old_FORMULA_rec.attribute7)
358 THEN
359 NULL;
360 END IF;
361
362 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute8,p_old_FORMULA_rec.attribute8)
363 THEN
364 NULL;
365 END IF;
366
367 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.attribute9,p_old_FORMULA_rec.attribute9)
368 THEN
369 NULL;
370 END IF;
371
372 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.context,p_old_FORMULA_rec.context)
373 THEN
374 NULL;
375 END IF;
376
377 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.created_by,p_old_FORMULA_rec.created_by)
378 THEN
379 NULL;
380 END IF;
381
382 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.creation_date,p_old_FORMULA_rec.creation_date)
383 THEN
384 NULL;
385 END IF;
386
387 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.description,p_old_FORMULA_rec.description)
388 THEN
389 NULL;
390 END IF;
391
392 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.end_date_active,p_old_FORMULA_rec.end_date_active)
393 THEN
394 NULL;
395 END IF;
396
397 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.formula,p_old_FORMULA_rec.formula)
398 THEN
399 NULL;
400 END IF;
401
402 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.last_updated_by,p_old_FORMULA_rec.last_updated_by)
403 THEN
404 NULL;
405 END IF;
406
407 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.last_update_date,p_old_FORMULA_rec.last_update_date)
408 THEN
409 NULL;
410 END IF;
411
412 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.last_update_login,p_old_FORMULA_rec.last_update_login)
413 THEN
414 NULL;
415 END IF;
416
417 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.name,p_old_FORMULA_rec.name)
418 THEN
419 NULL;
420 END IF;
421
422 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.price_formula_id,p_old_FORMULA_rec.price_formula_id)
423 THEN
424 NULL;
425 END IF;
426
427 IF NOT QP_GLOBALS.Equal(p_FORMULA_rec.start_date_active,p_old_FORMULA_rec.start_date_active)
428 THEN
429 NULL;
430 END IF;
431
432 oe_debug_pub.add('Leaving proc Apply_attribute_Changes in Formula Util Pkg');
433 END Apply_Attribute_Changes;
434
435 -- Function Complete_Record
436
437 FUNCTION Complete_Record
438 ( p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
439 , p_old_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
440 ) RETURN QP_Price_Formula_PUB.Formula_Rec_Type
441 IS
442 l_FORMULA_rec QP_Price_Formula_PUB.Formula_Rec_Type := p_FORMULA_rec;
443 BEGIN
444
445 oe_debug_pub.add('Entering proc Complete_Record in Formula Util Pkg');
446 IF l_FORMULA_rec.attribute1 = FND_API.G_MISS_CHAR THEN
447 l_FORMULA_rec.attribute1 := p_old_FORMULA_rec.attribute1;
448 END IF;
449
450 IF l_FORMULA_rec.attribute10 = FND_API.G_MISS_CHAR THEN
451 l_FORMULA_rec.attribute10 := p_old_FORMULA_rec.attribute10;
452 END IF;
453
454 IF l_FORMULA_rec.attribute11 = FND_API.G_MISS_CHAR THEN
455 l_FORMULA_rec.attribute11 := p_old_FORMULA_rec.attribute11;
456 END IF;
457
458 IF l_FORMULA_rec.attribute12 = FND_API.G_MISS_CHAR THEN
459 l_FORMULA_rec.attribute12 := p_old_FORMULA_rec.attribute12;
460 END IF;
461
462 IF l_FORMULA_rec.attribute13 = FND_API.G_MISS_CHAR THEN
463 l_FORMULA_rec.attribute13 := p_old_FORMULA_rec.attribute13;
464 END IF;
465
466 IF l_FORMULA_rec.attribute14 = FND_API.G_MISS_CHAR THEN
467 l_FORMULA_rec.attribute14 := p_old_FORMULA_rec.attribute14;
468 END IF;
469
470 IF l_FORMULA_rec.attribute15 = FND_API.G_MISS_CHAR THEN
471 l_FORMULA_rec.attribute15 := p_old_FORMULA_rec.attribute15;
472 END IF;
473
474 IF l_FORMULA_rec.attribute2 = FND_API.G_MISS_CHAR THEN
475 l_FORMULA_rec.attribute2 := p_old_FORMULA_rec.attribute2;
476 END IF;
477
478 IF l_FORMULA_rec.attribute3 = FND_API.G_MISS_CHAR THEN
479 l_FORMULA_rec.attribute3 := p_old_FORMULA_rec.attribute3;
480 END IF;
481
482 IF l_FORMULA_rec.attribute4 = FND_API.G_MISS_CHAR THEN
483 l_FORMULA_rec.attribute4 := p_old_FORMULA_rec.attribute4;
484 END IF;
485
486 IF l_FORMULA_rec.attribute5 = FND_API.G_MISS_CHAR THEN
487 l_FORMULA_rec.attribute5 := p_old_FORMULA_rec.attribute5;
488 END IF;
489
490 IF l_FORMULA_rec.attribute6 = FND_API.G_MISS_CHAR THEN
491 l_FORMULA_rec.attribute6 := p_old_FORMULA_rec.attribute6;
492 END IF;
493
494 IF l_FORMULA_rec.attribute7 = FND_API.G_MISS_CHAR THEN
495 l_FORMULA_rec.attribute7 := p_old_FORMULA_rec.attribute7;
496 END IF;
497
498 IF l_FORMULA_rec.attribute8 = FND_API.G_MISS_CHAR THEN
499 l_FORMULA_rec.attribute8 := p_old_FORMULA_rec.attribute8;
500 END IF;
501
502 IF l_FORMULA_rec.attribute9 = FND_API.G_MISS_CHAR THEN
503 l_FORMULA_rec.attribute9 := p_old_FORMULA_rec.attribute9;
504 END IF;
505
506 IF l_FORMULA_rec.context = FND_API.G_MISS_CHAR THEN
507 l_FORMULA_rec.context := p_old_FORMULA_rec.context;
508 END IF;
509
510 IF l_FORMULA_rec.created_by = FND_API.G_MISS_NUM THEN
511 l_FORMULA_rec.created_by := p_old_FORMULA_rec.created_by;
512 END IF;
513
514 IF l_FORMULA_rec.creation_date = FND_API.G_MISS_DATE THEN
515 l_FORMULA_rec.creation_date := p_old_FORMULA_rec.creation_date;
516 END IF;
517
518 IF l_FORMULA_rec.description = FND_API.G_MISS_CHAR THEN
519 l_FORMULA_rec.description := p_old_FORMULA_rec.description;
520 END IF;
521
522 IF l_FORMULA_rec.end_date_active = FND_API.G_MISS_DATE THEN
523 l_FORMULA_rec.end_date_active := p_old_FORMULA_rec.end_date_active;
524 END IF;
525
526 IF l_FORMULA_rec.formula = FND_API.G_MISS_CHAR THEN
527 l_FORMULA_rec.formula := p_old_FORMULA_rec.formula;
528 END IF;
529
530 IF l_FORMULA_rec.last_updated_by = FND_API.G_MISS_NUM THEN
531 l_FORMULA_rec.last_updated_by := p_old_FORMULA_rec.last_updated_by;
532 END IF;
533
534 IF l_FORMULA_rec.last_update_date = FND_API.G_MISS_DATE THEN
535 l_FORMULA_rec.last_update_date := p_old_FORMULA_rec.last_update_date;
536 END IF;
537
538 IF l_FORMULA_rec.last_update_login = FND_API.G_MISS_NUM THEN
539 l_FORMULA_rec.last_update_login := p_old_FORMULA_rec.last_update_login;
540 END IF;
541
542 IF l_FORMULA_rec.name = FND_API.G_MISS_CHAR THEN
543 l_FORMULA_rec.name := p_old_FORMULA_rec.name;
544 END IF;
545
546 IF l_FORMULA_rec.price_formula_id = FND_API.G_MISS_NUM THEN
547 l_FORMULA_rec.price_formula_id := p_old_FORMULA_rec.price_formula_id;
548 END IF;
549
550 IF l_FORMULA_rec.start_date_active = FND_API.G_MISS_DATE THEN
551 l_FORMULA_rec.start_date_active := p_old_FORMULA_rec.start_date_active;
552 END IF;
553
554 oe_debug_pub.add('Leaving proc Complete_Record in Formula Util Pkg');
555 RETURN l_FORMULA_rec;
556
557 END Complete_Record;
558
559 -- Function Convert_Miss_To_Null
560
561 FUNCTION Convert_Miss_To_Null
562 ( p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
563 ) RETURN QP_Price_Formula_PUB.Formula_Rec_Type
564 IS
565 l_FORMULA_rec QP_Price_Formula_PUB.Formula_Rec_Type := p_FORMULA_rec;
566 BEGIN
567
568 oe_debug_pub.add('Entering proc Convert_Miss_To_Null in Formula Util Pkg');
569 IF l_FORMULA_rec.attribute1 = FND_API.G_MISS_CHAR THEN
570 l_FORMULA_rec.attribute1 := NULL;
571 END IF;
572
573 IF l_FORMULA_rec.attribute10 = FND_API.G_MISS_CHAR THEN
574 l_FORMULA_rec.attribute10 := NULL;
575 END IF;
576
577 IF l_FORMULA_rec.attribute11 = FND_API.G_MISS_CHAR THEN
578 l_FORMULA_rec.attribute11 := NULL;
579 END IF;
580
581 IF l_FORMULA_rec.attribute12 = FND_API.G_MISS_CHAR THEN
582 l_FORMULA_rec.attribute12 := NULL;
583 END IF;
584
585 IF l_FORMULA_rec.attribute13 = FND_API.G_MISS_CHAR THEN
586 l_FORMULA_rec.attribute13 := NULL;
587 END IF;
588
589 IF l_FORMULA_rec.attribute14 = FND_API.G_MISS_CHAR THEN
590 l_FORMULA_rec.attribute14 := NULL;
591 END IF;
592
593 IF l_FORMULA_rec.attribute15 = FND_API.G_MISS_CHAR THEN
594 l_FORMULA_rec.attribute15 := NULL;
595 END IF;
596
597 IF l_FORMULA_rec.attribute2 = FND_API.G_MISS_CHAR THEN
598 l_FORMULA_rec.attribute2 := NULL;
599 END IF;
600
601 IF l_FORMULA_rec.attribute3 = FND_API.G_MISS_CHAR THEN
602 l_FORMULA_rec.attribute3 := NULL;
603 END IF;
604
605 IF l_FORMULA_rec.attribute4 = FND_API.G_MISS_CHAR THEN
606 l_FORMULA_rec.attribute4 := NULL;
607 END IF;
608
609 IF l_FORMULA_rec.attribute5 = FND_API.G_MISS_CHAR THEN
610 l_FORMULA_rec.attribute5 := NULL;
611 END IF;
612
613 IF l_FORMULA_rec.attribute6 = FND_API.G_MISS_CHAR THEN
614 l_FORMULA_rec.attribute6 := NULL;
615 END IF;
616
617 IF l_FORMULA_rec.attribute7 = FND_API.G_MISS_CHAR THEN
618 l_FORMULA_rec.attribute7 := NULL;
619 END IF;
620
621 IF l_FORMULA_rec.attribute8 = FND_API.G_MISS_CHAR THEN
622 l_FORMULA_rec.attribute8 := NULL;
623 END IF;
624
625 IF l_FORMULA_rec.attribute9 = FND_API.G_MISS_CHAR THEN
626 l_FORMULA_rec.attribute9 := NULL;
627 END IF;
628
629 IF l_FORMULA_rec.context = FND_API.G_MISS_CHAR THEN
630 l_FORMULA_rec.context := NULL;
631 END IF;
632
633 IF l_FORMULA_rec.created_by = FND_API.G_MISS_NUM THEN
634 l_FORMULA_rec.created_by := NULL;
635 END IF;
636
637 IF l_FORMULA_rec.creation_date = FND_API.G_MISS_DATE THEN
638 l_FORMULA_rec.creation_date := NULL;
639 END IF;
640
641 IF l_FORMULA_rec.description = FND_API.G_MISS_CHAR THEN
642 l_FORMULA_rec.description := NULL;
643 END IF;
644
645 IF l_FORMULA_rec.end_date_active = FND_API.G_MISS_DATE THEN
646 l_FORMULA_rec.end_date_active := NULL;
647 END IF;
648
649 IF l_FORMULA_rec.formula = FND_API.G_MISS_CHAR THEN
650 l_FORMULA_rec.formula := NULL;
651 END IF;
652
653 IF l_FORMULA_rec.last_updated_by = FND_API.G_MISS_NUM THEN
654 l_FORMULA_rec.last_updated_by := NULL;
655 END IF;
656
657 IF l_FORMULA_rec.last_update_date = FND_API.G_MISS_DATE THEN
658 l_FORMULA_rec.last_update_date := NULL;
659 END IF;
660
661 IF l_FORMULA_rec.last_update_login = FND_API.G_MISS_NUM THEN
662 l_FORMULA_rec.last_update_login := NULL;
663 END IF;
664
665 IF l_FORMULA_rec.name = FND_API.G_MISS_CHAR THEN
666 l_FORMULA_rec.name := NULL;
667 END IF;
668
669 IF l_FORMULA_rec.price_formula_id = FND_API.G_MISS_NUM THEN
670 l_FORMULA_rec.price_formula_id := NULL;
671 END IF;
672
673 IF l_FORMULA_rec.start_date_active = FND_API.G_MISS_DATE THEN
674 l_FORMULA_rec.start_date_active := NULL;
675 END IF;
676
677 oe_debug_pub.add('Leaving proc Convert_Miss_To_Null in Formula Util Pkg');
678 RETURN l_FORMULA_rec;
679
680 END Convert_Miss_To_Null;
681
682 -- Procedure Update_Row
683
684 PROCEDURE Update_Row
685 ( p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
686 )
687 IS
688 BEGIN
689
690 oe_debug_pub.add('Entering proc Update_Row in Formula Util Pkg');
691 UPDATE QP_PRICE_FORMULAS_B
692 SET ATTRIBUTE1 = p_FORMULA_rec.attribute1
693 , ATTRIBUTE10 = p_FORMULA_rec.attribute10
694 , ATTRIBUTE11 = p_FORMULA_rec.attribute11
695 , ATTRIBUTE12 = p_FORMULA_rec.attribute12
696 , ATTRIBUTE13 = p_FORMULA_rec.attribute13
697 , ATTRIBUTE14 = p_FORMULA_rec.attribute14
698 , ATTRIBUTE15 = p_FORMULA_rec.attribute15
699 , ATTRIBUTE2 = p_FORMULA_rec.attribute2
700 , ATTRIBUTE3 = p_FORMULA_rec.attribute3
701 , ATTRIBUTE4 = p_FORMULA_rec.attribute4
702 , ATTRIBUTE5 = p_FORMULA_rec.attribute5
703 , ATTRIBUTE6 = p_FORMULA_rec.attribute6
704 , ATTRIBUTE7 = p_FORMULA_rec.attribute7
705 , ATTRIBUTE8 = p_FORMULA_rec.attribute8
706 , ATTRIBUTE9 = p_FORMULA_rec.attribute9
707 , CONTEXT = p_FORMULA_rec.context
708 , CREATED_BY = p_FORMULA_rec.created_by
709 , CREATION_DATE = p_FORMULA_rec.creation_date
710 , END_DATE_ACTIVE = p_FORMULA_rec.end_date_active
711 , FORMULA = p_FORMULA_rec.formula
712 , LAST_UPDATED_BY = p_FORMULA_rec.last_updated_by
713 , LAST_UPDATE_DATE = p_FORMULA_rec.last_update_date
714 , LAST_UPDATE_LOGIN = p_FORMULA_rec.last_update_login
715 , PRICE_FORMULA_ID = p_FORMULA_rec.price_formula_id
716 , START_DATE_ACTIVE = p_FORMULA_rec.start_date_active
717 WHERE PRICE_FORMULA_ID = p_FORMULA_rec.price_formula_id
718 ;
719
720 UPDATE QP_PRICE_FORMULAS_TL
721 SET DESCRIPTION = p_FORMULA_rec.description
722 , SOURCE_LANG = userenv('LANG')
723 , LAST_UPDATED_BY = p_FORMULA_rec.last_updated_by
724 , LAST_UPDATE_DATE = p_FORMULA_rec.last_update_date
725 , LAST_UPDATE_LOGIN = p_FORMULA_rec.last_update_login
726 , NAME = p_FORMULA_rec.name
727 WHERE PRICE_FORMULA_ID = p_FORMULA_rec.price_formula_id
728 AND LANGUAGE = userenv('LANG');
729
730 oe_debug_pub.add('Leaving proc Update_Row in Formula Util Pkg');
731 EXCEPTION
732
733 WHEN OTHERS THEN
734
735 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
736 THEN
737 OE_MSG_PUB.Add_Exc_Msg
738 ( G_PKG_NAME
739 , 'Update_Row'
740 );
741 END IF;
742
743 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
744
745 END Update_Row;
746
747 -- Procedure Insert_Row
748
749 PROCEDURE Insert_Row
750 ( p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
751 )
752 IS
753 BEGIN
754
755 oe_debug_pub.add('Entering proc Insert_Row in Formula Util Pkg');
756 INSERT INTO QP_PRICE_FORMULAS_B
757 ( ATTRIBUTE1
758 , ATTRIBUTE10
759 , ATTRIBUTE11
760 , ATTRIBUTE12
761 , ATTRIBUTE13
762 , ATTRIBUTE14
763 , ATTRIBUTE15
764 , ATTRIBUTE2
765 , ATTRIBUTE3
766 , ATTRIBUTE4
767 , ATTRIBUTE5
768 , ATTRIBUTE6
769 , ATTRIBUTE7
770 , ATTRIBUTE8
771 , ATTRIBUTE9
772 , CONTEXT
773 , CREATED_BY
774 , CREATION_DATE
775 , END_DATE_ACTIVE
776 , FORMULA
777 , LAST_UPDATED_BY
778 , LAST_UPDATE_DATE
779 , LAST_UPDATE_LOGIN
780 , PRICE_FORMULA_ID
781 , START_DATE_ACTIVE
782 )
783 VALUES
784 ( p_FORMULA_rec.attribute1
785 , p_FORMULA_rec.attribute10
786 , p_FORMULA_rec.attribute11
787 , p_FORMULA_rec.attribute12
788 , p_FORMULA_rec.attribute13
789 , p_FORMULA_rec.attribute14
790 , p_FORMULA_rec.attribute15
791 , p_FORMULA_rec.attribute2
792 , p_FORMULA_rec.attribute3
793 , p_FORMULA_rec.attribute4
794 , p_FORMULA_rec.attribute5
795 , p_FORMULA_rec.attribute6
796 , p_FORMULA_rec.attribute7
797 , p_FORMULA_rec.attribute8
798 , p_FORMULA_rec.attribute9
799 , p_FORMULA_rec.context
800 , p_FORMULA_rec.created_by
801 , p_FORMULA_rec.creation_date
802 , p_FORMULA_rec.end_date_active
803 , p_FORMULA_rec.formula
804 , p_FORMULA_rec.last_updated_by
805 , p_FORMULA_rec.last_update_date
806 , p_FORMULA_rec.last_update_login
807 , p_FORMULA_rec.price_formula_id
808 , p_FORMULA_rec.start_date_active
809 );
810
811 INSERT INTO QP_PRICE_FORMULAS_TL
812 ( CREATED_BY
813 , CREATION_DATE
814 , DESCRIPTION
815 , LANGUAGE
816 , LAST_UPDATED_BY
817 , LAST_UPDATE_DATE
818 , LAST_UPDATE_LOGIN
819 , NAME
820 , PRICE_FORMULA_ID
821 , SOURCE_LANG
822 )
823 SELECT p_FORMULA_rec.created_by
824 , p_FORMULA_rec.creation_date
825 , p_FORMULA_rec.description
826 , L.LANGUAGE_CODE
827 , p_FORMULA_rec.last_updated_by
828 , p_FORMULA_rec.last_update_date
829 , p_FORMULA_rec.last_update_login
830 , p_FORMULA_rec.name
831 , p_FORMULA_rec.price_formula_id
832 , userenv('LANG')
833 FROM FND_LANGUAGES L
834 WHERE L.INSTALLED_FLAG IN ('I', 'B')
835 AND NOT EXISTS (SELECT NULL
836 FROM QP_PRICE_FORMULAS_TL T
837 WHERE T.PRICE_FORMULA_ID = p_FORMULA_rec.price_formula_id
838 AND T.LANGUAGE = L.LANGUAGE_CODE);
839
840 oe_debug_pub.add('Leaving proc Insert_Row in Formula Util Pkg');
841 EXCEPTION
842
843 WHEN OTHERS THEN
844
845 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
846 THEN
847 OE_MSG_PUB.Add_Exc_Msg
848 ( G_PKG_NAME
849 , 'Insert_Row'
850 );
851 END IF;
852
853 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
854
855 END Insert_Row;
856
857 -- Procedure Delete_Row
858
859 PROCEDURE Delete_Row
860 ( p_price_formula_id IN NUMBER
861 )
862 IS
863 BEGIN
864
865 oe_debug_pub.add('Entering proc Delete_Row in Formula Util Pkg');
866 DELETE FROM QP_PRICE_FORMULAS_TL
867 WHERE PRICE_FORMULA_ID = p_price_formula_id;
868
869 DELETE FROM QP_PRICE_FORMULAS_B
870 WHERE PRICE_FORMULA_ID = p_price_formula_id;
871 oe_debug_pub.add('Leaving proc Delete_Row in Formula Util Pkg');
872
873 EXCEPTION
874
875 WHEN OTHERS THEN
876
877 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
878 THEN
879 OE_MSG_PUB.Add_Exc_Msg
880 ( G_PKG_NAME
881 , 'Delete_Row'
882 );
883 END IF;
884
885 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
886
887 END Delete_Row;
888
889 -- Function Query_Row
890
891 FUNCTION Query_Row
892 ( p_price_formula_id IN NUMBER
893 ) RETURN QP_Price_Formula_PUB.Formula_Rec_Type
894 IS
895 l_FORMULA_rec QP_Price_Formula_PUB.Formula_Rec_Type;
896 BEGIN
897
898 oe_debug_pub.add('Entering proc Query_Row in Formula Util Pkg');
899 SELECT ATTRIBUTE1
900 , ATTRIBUTE10
901 , ATTRIBUTE11
902 , ATTRIBUTE12
903 , ATTRIBUTE13
904 , ATTRIBUTE14
905 , ATTRIBUTE15
906 , ATTRIBUTE2
907 , ATTRIBUTE3
908 , ATTRIBUTE4
909 , ATTRIBUTE5
910 , ATTRIBUTE6
911 , ATTRIBUTE7
912 , ATTRIBUTE8
913 , ATTRIBUTE9
914 , CONTEXT
915 , CREATED_BY
916 , CREATION_DATE
917 , END_DATE_ACTIVE
918 , FORMULA
919 , LAST_UPDATED_BY
920 , LAST_UPDATE_DATE
921 , LAST_UPDATE_LOGIN
922 , PRICE_FORMULA_ID
923 , START_DATE_ACTIVE
924 INTO l_FORMULA_rec.attribute1
925 , l_FORMULA_rec.attribute10
926 , l_FORMULA_rec.attribute11
927 , l_FORMULA_rec.attribute12
928 , l_FORMULA_rec.attribute13
929 , l_FORMULA_rec.attribute14
930 , l_FORMULA_rec.attribute15
931 , l_FORMULA_rec.attribute2
932 , l_FORMULA_rec.attribute3
933 , l_FORMULA_rec.attribute4
934 , l_FORMULA_rec.attribute5
935 , l_FORMULA_rec.attribute6
936 , l_FORMULA_rec.attribute7
937 , l_FORMULA_rec.attribute8
938 , l_FORMULA_rec.attribute9
939 , l_FORMULA_rec.context
940 , l_FORMULA_rec.created_by
941 , l_FORMULA_rec.creation_date
942 , l_FORMULA_rec.end_date_active
943 , l_FORMULA_rec.formula
944 , l_FORMULA_rec.last_updated_by
945 , l_FORMULA_rec.last_update_date
946 , l_FORMULA_rec.last_update_login
947 , l_FORMULA_rec.price_formula_id
948 , l_FORMULA_rec.start_date_active
949 FROM QP_PRICE_FORMULAS_B
950 WHERE PRICE_FORMULA_ID = p_price_formula_id
951 ;
952
953 SELECT DESCRIPTION
954 , NAME
955 INTO l_FORMULA_rec.description
956 , l_FORMULA_rec.name
957 FROM QP_PRICE_FORMULAS_TL
958 WHERE PRICE_FORMULA_ID = p_price_formula_id
959 AND LANGUAGE = userenv('LANG');
960
961 oe_debug_pub.add('Leaving proc Query_Row in Formula Util Pkg');
962 RETURN l_FORMULA_rec;
963
964 EXCEPTION
965
966 WHEN OTHERS THEN
967
968 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
969 THEN
970 OE_MSG_PUB.Add_Exc_Msg
971 ( G_PKG_NAME
972 , 'Query_Row'
973 );
974 END IF;
975
976 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
977
978 END Query_Row;
979
980 -- Procedure lock_Row
981 --
982
983 PROCEDURE Lock_Row
984 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
985 , p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
986 , x_FORMULA_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_Formula_PUB.Formula_Rec_Type
987 )
988 IS
989 l_FORMULA_rec QP_Price_Formula_PUB.Formula_Rec_Type;
990 BEGIN
991
992 oe_debug_pub.add('Entering proc Lock_Row in Formula Util Pkg');
993 SELECT ATTRIBUTE1
994 , ATTRIBUTE10
995 , ATTRIBUTE11
996 , ATTRIBUTE12
997 , ATTRIBUTE13
998 , ATTRIBUTE14
999 , ATTRIBUTE15
1000 , ATTRIBUTE2
1001 , ATTRIBUTE3
1002 , ATTRIBUTE4
1003 , ATTRIBUTE5
1004 , ATTRIBUTE6
1005 , ATTRIBUTE7
1006 , ATTRIBUTE8
1007 , ATTRIBUTE9
1008 , CONTEXT
1009 , CREATED_BY
1010 , CREATION_DATE
1011 , END_DATE_ACTIVE
1012 , FORMULA
1013 , LAST_UPDATED_BY
1014 , LAST_UPDATE_DATE
1015 , LAST_UPDATE_LOGIN
1016 , PRICE_FORMULA_ID
1017 , START_DATE_ACTIVE
1018 INTO l_FORMULA_rec.attribute1
1019 , l_FORMULA_rec.attribute10
1020 , l_FORMULA_rec.attribute11
1021 , l_FORMULA_rec.attribute12
1022 , l_FORMULA_rec.attribute13
1023 , l_FORMULA_rec.attribute14
1024 , l_FORMULA_rec.attribute15
1025 , l_FORMULA_rec.attribute2
1026 , l_FORMULA_rec.attribute3
1027 , l_FORMULA_rec.attribute4
1028 , l_FORMULA_rec.attribute5
1029 , l_FORMULA_rec.attribute6
1030 , l_FORMULA_rec.attribute7
1031 , l_FORMULA_rec.attribute8
1032 , l_FORMULA_rec.attribute9
1033 , l_FORMULA_rec.context
1034 , l_FORMULA_rec.created_by
1035 , l_FORMULA_rec.creation_date
1036 , l_FORMULA_rec.end_date_active
1037 , l_FORMULA_rec.formula
1038 , l_FORMULA_rec.last_updated_by
1039 , l_FORMULA_rec.last_update_date
1040 , l_FORMULA_rec.last_update_login
1041 , l_FORMULA_rec.price_formula_id
1042 , l_FORMULA_rec.start_date_active
1043 FROM QP_PRICE_FORMULAS_B
1044 WHERE PRICE_FORMULA_ID = p_FORMULA_rec.price_formula_id
1045 FOR UPDATE NOWAIT;
1046
1047 -- Row locked. Compare IN attributes to DB attributes.
1048
1049 IF QP_GLOBALS.Equal(p_FORMULA_rec.attribute1,
1050 l_FORMULA_rec.attribute1)
1051 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute10,
1052 l_FORMULA_rec.attribute10)
1053 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute11,
1054 l_FORMULA_rec.attribute11)
1055 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute12,
1056 l_FORMULA_rec.attribute12)
1057 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute13,
1058 l_FORMULA_rec.attribute13)
1059 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute14,
1060 l_FORMULA_rec.attribute14)
1061 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute15,
1062 l_FORMULA_rec.attribute15)
1063 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute2,
1064 l_FORMULA_rec.attribute2)
1065 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute3,
1066 l_FORMULA_rec.attribute3)
1067 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute4,
1068 l_FORMULA_rec.attribute4)
1069 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute5,
1070 l_FORMULA_rec.attribute5)
1071 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute6,
1072 l_FORMULA_rec.attribute6)
1073 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute7,
1074 l_FORMULA_rec.attribute7)
1075 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute8,
1076 l_FORMULA_rec.attribute8)
1077 AND QP_GLOBALS.Equal(p_FORMULA_rec.attribute9,
1078 l_FORMULA_rec.attribute9)
1079 AND QP_GLOBALS.Equal(p_FORMULA_rec.context,
1080 l_FORMULA_rec.context)
1081 AND QP_GLOBALS.Equal(p_FORMULA_rec.created_by,
1082 l_FORMULA_rec.created_by)
1083 AND QP_GLOBALS.Equal(p_FORMULA_rec.creation_date,
1084 l_FORMULA_rec.creation_date)
1085 AND QP_GLOBALS.Equal(p_FORMULA_rec.end_date_active,
1086 l_FORMULA_rec.end_date_active)
1087 AND QP_GLOBALS.Equal(p_FORMULA_rec.formula,
1088 l_FORMULA_rec.formula)
1089 AND QP_GLOBALS.Equal(p_FORMULA_rec.last_updated_by,
1090 l_FORMULA_rec.last_updated_by)
1091 AND QP_GLOBALS.Equal(p_FORMULA_rec.last_update_date,
1092 l_FORMULA_rec.last_update_date)
1093 AND QP_GLOBALS.Equal(p_FORMULA_rec.last_update_login,
1094 l_FORMULA_rec.last_update_login)
1095 AND QP_GLOBALS.Equal(p_FORMULA_rec.price_formula_id,
1096 l_FORMULA_rec.price_formula_id)
1097 AND QP_GLOBALS.Equal(p_FORMULA_rec.start_date_active,
1098 l_FORMULA_rec.start_date_active)
1099 THEN
1100
1101 -- Row has not changed. Set out parameter.
1102
1103 x_FORMULA_rec := l_FORMULA_rec;
1104
1105 -- Set return status
1106
1107 x_return_status := FND_API.G_RET_STS_SUCCESS;
1108 x_FORMULA_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1109
1110 ELSE
1111
1112 -- Row has changed by another user.
1113
1114 x_return_status := FND_API.G_RET_STS_ERROR;
1115 x_FORMULA_rec.return_status := FND_API.G_RET_STS_ERROR;
1116
1117 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1118 THEN
1119
1120 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
1121 OE_MSG_PUB.Add;
1122
1123 END IF;
1124
1125 END IF;
1126
1127 oe_debug_pub.add('Leaving proc Lock_Row in Formula Util Pkg');
1128 EXCEPTION
1129
1130 WHEN NO_DATA_FOUND THEN
1131
1132 x_return_status := FND_API.G_RET_STS_ERROR;
1133 x_FORMULA_rec.return_status := FND_API.G_RET_STS_ERROR;
1134
1135 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1136 THEN
1137
1138 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
1139 OE_MSG_PUB.Add;
1140
1141 END IF;
1142 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1143
1144 x_return_status := FND_API.G_RET_STS_ERROR;
1145 x_FORMULA_rec.return_status := FND_API.G_RET_STS_ERROR;
1146
1147 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1148 THEN
1149
1150 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
1151 OE_MSG_PUB.Add;
1152
1153 END IF;
1154 WHEN OTHERS THEN
1155
1156 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1157 x_FORMULA_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1158
1159 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1160 THEN
1161 OE_MSG_PUB.Add_Exc_Msg
1162 ( G_PKG_NAME
1163 , 'Lock_Row'
1164 );
1165 END IF;
1166
1167 END Lock_Row;
1168
1169 -- Function Get_Values
1170
1171 FUNCTION Get_Values
1172 ( p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
1173 , p_old_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type :=
1174 QP_Price_Formula_PUB.G_MISS_FORMULA_REC
1175 ) RETURN QP_Price_Formula_PUB.Formula_Val_Rec_Type
1176 IS
1177 l_FORMULA_val_rec QP_Price_Formula_PUB.Formula_Val_Rec_Type;
1178 BEGIN
1179
1180 oe_debug_pub.add('Entering proc Get_Values in Formula Util Pkg');
1181 IF p_FORMULA_rec.price_formula_id IS NOT NULL AND
1182 p_FORMULA_rec.price_formula_id <> FND_API.G_MISS_NUM AND
1183 NOT QP_GLOBALS.Equal(p_FORMULA_rec.price_formula_id,
1184 p_old_FORMULA_rec.price_formula_id)
1185 THEN
1186 l_FORMULA_val_rec.price_formula := QP_Id_To_Value.Price_Formula
1187 ( p_price_formula_id => p_FORMULA_rec.price_formula_id
1188 );
1189 END IF;
1190
1191 oe_debug_pub.add('Leaving proc Get_Values in Formula Util Pkg');
1192 RETURN l_FORMULA_val_rec;
1193
1194 END Get_Values;
1195
1196 -- Function Get_Ids
1197
1198 FUNCTION Get_Ids
1199 ( p_FORMULA_rec IN QP_Price_Formula_PUB.Formula_Rec_Type
1200 , p_FORMULA_val_rec IN QP_Price_Formula_PUB.Formula_Val_Rec_Type
1201 ) RETURN QP_Price_Formula_PUB.Formula_Rec_Type
1202 IS
1203 l_FORMULA_rec QP_Price_Formula_PUB.Formula_Rec_Type;
1204 BEGIN
1205
1206 oe_debug_pub.add('Entering proc Get_Ids in Formula Util Pkg');
1207 -- initialize return_status.
1208
1209 l_FORMULA_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1210
1211 -- initialize l_FORMULA_rec.
1212
1213 l_FORMULA_rec := p_FORMULA_rec;
1214
1215 IF p_FORMULA_val_rec.price_formula <> FND_API.G_MISS_CHAR
1216 THEN
1217
1218 IF p_FORMULA_rec.price_formula_id <> FND_API.G_MISS_NUM THEN
1219
1220 l_FORMULA_rec.price_formula_id := p_FORMULA_rec.price_formula_id;
1221
1222 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1223 THEN
1224
1225 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
1226 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula');
1227 OE_MSG_PUB.Add;
1228
1229 END IF;
1230
1231 ELSE
1232
1233 l_FORMULA_rec.price_formula_id := QP_Value_To_Id.price_formula
1234 ( p_price_formula => p_FORMULA_val_rec.price_formula
1235 );
1236
1237 IF l_FORMULA_rec.price_formula_id = FND_API.G_MISS_NUM THEN
1238 l_FORMULA_rec.return_status := FND_API.G_RET_STS_ERROR;
1239 END IF;
1240
1241 END IF;
1242
1243 END IF;
1244
1245
1246 oe_debug_pub.add('Leaving proc Get_Ids in Formula Util Pkg');
1247 RETURN l_FORMULA_rec;
1248
1249 END Get_Ids;
1250
1251 END QP_Formula_Util;