[Home] [Help]
Skip to content
PACKAGE BODY: APPS.QP_QP_FORM_CURR_LISTS
Source
1 PACKAGE BODY QP_QP_Form_Curr_Lists AS
2 /* $Header: QPXFCURB.pls 120.1 2005/06/13 00:35:52 appldev $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_QP_Form_Curr_Lists';
7
8 -- Global variables holding cached record.
9
10 g_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
11 g_db_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_CURR_LISTS
16 ( p_CURR_LISTS_rec IN QP_Currency_PUB.Curr_Lists_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 FUNCTION Get_CURR_LISTS
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_currency_header_id IN NUMBER
23 )
24 RETURN QP_Currency_PUB.Curr_Lists_Rec_Type;
25
26 PROCEDURE Clear_CURR_LISTS;
27
28 -- Global variable holding performed operations.
29
30 g_opr__tbl QP_Currency_PUB.Curr_Lists_Tbl_Type;
31
32 -- Procedure : Default_Attributes
33 --
34
35 PROCEDURE Default_Attributes
36 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
37 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
38 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
39 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
40 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
41 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
42 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
43 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
44 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
45 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
46 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
47 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
48 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
49 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
50 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
51 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
52 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
53 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
54 , x_base_currency_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
55 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
56 , x_currency_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
57 , x_description OUT NOCOPY /* file.sql.39 change */ VARCHAR2
58 , x_name OUT NOCOPY /* file.sql.39 change */ VARCHAR2
59 -- , x_row_id OUT NOCOPY /* file.sql.39 change */ ROWID -- Commented by Sunil
60 , x_base_currency OUT NOCOPY /* file.sql.39 change */ VARCHAR2
61 , x_currency_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
62 , x_base_rounding_factor OUT NOCOPY /* file.sql.39 change */ NUMBER
63 , x_base_markup_operator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
64 , x_base_markup_value OUT NOCOPY /* file.sql.39 change */ NUMBER
65 , x_base_markup_formula OUT NOCOPY /* file.sql.39 change */ VARCHAR2
66 , x_base_markup_formula_id OUT NOCOPY /* file.sql.39 change */ NUMBER
67 -- , x_row OUT NOCOPY /* file.sql.39 change */ VARCHAR2
68 )
69 IS
70 l_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
71 l_CURR_LISTS_val_rec QP_Currency_PUB.Curr_Lists_Val_Rec_Type;
72 l_control_rec QP_GLOBALS.Control_Rec_Type;
73 l_return_status VARCHAR2(1);
74 l_x_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
75 l_x_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type;
76 l_x_CURR_DETAILS_tbl QP_Currency_PUB.Curr_Details_Tbl_Type;
77 BEGIN
78
79 -- Set control flags.
80
81 l_control_rec.controlled_operation := TRUE;
82 l_control_rec.default_attributes := TRUE;
83
84 l_control_rec.change_attributes := FALSE;
85 l_control_rec.validate_entity := FALSE;
86 l_control_rec.write_to_DB := FALSE;
87 l_control_rec.process := FALSE;
88
89 -- Instruct API to retain its caches
90
91 l_control_rec.clear_api_cache := FALSE;
92 l_control_rec.clear_api_requests := FALSE;
93
94 -- Load IN parameters if any exist
95
96
97 -- Defaulting of flex values is currently done by the form.
98 -- Set flex attributes to NULL in order to avoid defaulting them.
99
100 l_CURR_LISTS_rec.attribute1 := NULL;
101 l_CURR_LISTS_rec.attribute10 := NULL;
102 l_CURR_LISTS_rec.attribute11 := NULL;
103 l_CURR_LISTS_rec.attribute12 := NULL;
104 l_CURR_LISTS_rec.attribute13 := NULL;
105 l_CURR_LISTS_rec.attribute14 := NULL;
106 l_CURR_LISTS_rec.attribute15 := NULL;
107 l_CURR_LISTS_rec.attribute2 := NULL;
108 l_CURR_LISTS_rec.attribute3 := NULL;
109 l_CURR_LISTS_rec.attribute4 := NULL;
110 l_CURR_LISTS_rec.attribute5 := NULL;
111 l_CURR_LISTS_rec.attribute6 := NULL;
112 l_CURR_LISTS_rec.attribute7 := NULL;
113 l_CURR_LISTS_rec.attribute8 := NULL;
114 l_CURR_LISTS_rec.attribute9 := NULL;
115 l_CURR_LISTS_rec.context := NULL;
116
117 -- Set Operation to Create
118
119 l_CURR_LISTS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
120
121 -- oe_debug_pub.add('Calling QP_Currency_PVT.Process_Currency from F package; Default_Attributes');
122 -- Call QP_Currency_PVT.Process_Currency
123
124 QP_Currency_PVT.Process_Currency
125 ( p_api_version_number => 1.0
126 , p_init_msg_list => FND_API.G_TRUE
127 , x_return_status => l_return_status
128 , x_msg_count => x_msg_count
129 , x_msg_data => x_msg_data
130 , p_control_rec => l_control_rec
131 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
132 , x_CURR_LISTS_rec => l_x_CURR_LISTS_rec
133 , x_CURR_DETAILS_tbl => l_x_CURR_DETAILS_tbl
134 );
135 -- oe_debug_pub.add('AFTER Calling QP_Currency_PVT.Process_Currency from F package; Default_Attributes');
136
137 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
138 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
139 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
140 RAISE FND_API.G_EXC_ERROR;
141 END IF;
142
143
144 -- Load OUT parameters.
145
146 x_attribute1 := l_x_CURR_LISTS_rec.attribute1;
147 x_attribute10 := l_x_CURR_LISTS_rec.attribute10;
148 x_attribute11 := l_x_CURR_LISTS_rec.attribute11;
149 x_attribute12 := l_x_CURR_LISTS_rec.attribute12;
150 x_attribute13 := l_x_CURR_LISTS_rec.attribute13;
151 x_attribute14 := l_x_CURR_LISTS_rec.attribute14;
152 x_attribute15 := l_x_CURR_LISTS_rec.attribute15;
153 x_attribute2 := l_x_CURR_LISTS_rec.attribute2;
154 x_attribute3 := l_x_CURR_LISTS_rec.attribute3;
155 x_attribute4 := l_x_CURR_LISTS_rec.attribute4;
156 x_attribute5 := l_x_CURR_LISTS_rec.attribute5;
157 x_attribute6 := l_x_CURR_LISTS_rec.attribute6;
158 x_attribute7 := l_x_CURR_LISTS_rec.attribute7;
159 x_attribute8 := l_x_CURR_LISTS_rec.attribute8;
160 x_attribute9 := l_x_CURR_LISTS_rec.attribute9;
161 x_base_currency_code := l_x_CURR_LISTS_rec.base_currency_code;
162 x_context := l_x_CURR_LISTS_rec.context;
163 x_currency_header_id := l_x_CURR_LISTS_rec.currency_header_id;
164 x_description := l_x_CURR_LISTS_rec.description;
165 x_name := l_x_CURR_LISTS_rec.name;
166 x_base_rounding_factor := l_x_CURR_LISTS_rec.base_rounding_factor;
167 x_base_markup_operator := l_x_CURR_LISTS_rec.base_markup_operator;
168 x_base_markup_value := l_x_CURR_LISTS_rec.base_markup_value;
169 x_base_markup_formula_id := l_x_CURR_LISTS_rec.base_markup_formula_id;
170 -- x_row_id := l_x_CURR_LISTS_rec.row_id; -- Commented by Sunil
171
172 -- Load display out parameters if any
173
174 l_CURR_LISTS_val_rec := QP_Curr_Lists_Util.Get_Values
175 ( p_CURR_LISTS_rec => l_x_CURR_LISTS_rec
176 );
177 x_base_currency := l_CURR_LISTS_val_rec.base_currency;
178 x_currency_header := l_CURR_LISTS_val_rec.currency_header;
179 x_base_markup_formula := l_CURR_LISTS_val_rec.base_markup_formula;
180 -- x_row := l_CURR_LISTS_val_rec.row;
181
182 -- Write to cache.
183 -- Set db_flag to False before writing to cache
184
185 l_x_CURR_LISTS_rec.db_flag := FND_API.G_FALSE;
186
187 Write_CURR_LISTS
188 ( p_CURR_LISTS_rec => l_x_CURR_LISTS_rec
189 );
190
191 -- Set return status.
192
193 x_return_status := FND_API.G_RET_STS_SUCCESS;
194
195 -- Get message count and data
196
197 OE_MSG_PUB.Count_And_Get
198 ( p_count => x_msg_count
199 , p_data => x_msg_data
200 );
201
202
203 EXCEPTION
204
205 WHEN FND_API.G_EXC_ERROR THEN
206
207 x_return_status := FND_API.G_RET_STS_ERROR;
208
209 -- Get message count and data
210
211 OE_MSG_PUB.Count_And_Get
212 ( p_count => x_msg_count
213 , p_data => x_msg_data
214 );
215
216 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
217
218 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
219
220 -- Get message count and data
221
222 OE_MSG_PUB.Count_And_Get
223 ( p_count => x_msg_count
224 , p_data => x_msg_data
225 );
226
227 WHEN OTHERS THEN
228
229 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
230
231 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
232 THEN
233 OE_MSG_PUB.Add_Exc_Msg
234 ( G_PKG_NAME
235 , 'Default_Attributes'
236 );
237 END IF;
238
239 -- Get message count and data
240
241 OE_MSG_PUB.Count_And_Get
242 ( p_count => x_msg_count
243 , p_data => x_msg_data
244 );
245
246 END Default_Attributes;
247
248 -- Procedure : Change_Attribute
249 --
250
251 PROCEDURE Change_Attribute
252 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
253 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
254 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
255 , p_currency_header_id IN NUMBER
256 , p_attr_id IN NUMBER
257 , p_attr_value IN VARCHAR2
258 , p_attribute1 IN VARCHAR2
262 , p_attribute13 IN VARCHAR2
259 , p_attribute10 IN VARCHAR2
260 , p_attribute11 IN VARCHAR2
261 , p_attribute12 IN VARCHAR2
263 , p_attribute14 IN VARCHAR2
264 , p_attribute15 IN VARCHAR2
265 , p_attribute2 IN VARCHAR2
266 , p_attribute3 IN VARCHAR2
267 , p_attribute4 IN VARCHAR2
268 , p_attribute5 IN VARCHAR2
269 , p_attribute6 IN VARCHAR2
270 , p_attribute7 IN VARCHAR2
271 , p_attribute8 IN VARCHAR2
272 , p_attribute9 IN VARCHAR2
273 , p_context IN VARCHAR2
274 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
275 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
276 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
277 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
278 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
279 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
280 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
281 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
282 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
283 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
284 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
285 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
286 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
287 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
288 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
289 , x_base_currency_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
290 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
291 , x_currency_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
292 , x_description OUT NOCOPY /* file.sql.39 change */ VARCHAR2
293 , x_name OUT NOCOPY /* file.sql.39 change */ VARCHAR2
294 -- , x_row_id OUT NOCOPY /* file.sql.39 change */ ROWID -- Commented by Sunil
295 , x_base_currency OUT NOCOPY /* file.sql.39 change */ VARCHAR2
296 , x_currency_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
297 , x_base_rounding_factor OUT NOCOPY /* file.sql.39 change */ NUMBER
298 , x_base_markup_operator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
299 , x_base_markup_value OUT NOCOPY /* file.sql.39 change */ NUMBER
300 , x_base_markup_formula OUT NOCOPY /* file.sql.39 change */ VARCHAR2
301 , x_base_markup_formula_id OUT NOCOPY /* file.sql.39 change */ NUMBER
302 -- , x_row OUT NOCOPY /* file.sql.39 change */ VARCHAR2
303 )
304 IS
305 l_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
306 l_old_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
307 l_CURR_LISTS_val_rec QP_Currency_PUB.Curr_Lists_Val_Rec_Type;
308 l_control_rec QP_GLOBALS.Control_Rec_Type;
309 l_return_status VARCHAR2(1);
310 l_x_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
311 l_x_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type;
312 l_x_CURR_DETAILS_tbl QP_Currency_PUB.Curr_Details_Tbl_Type;
313 BEGIN
314
315 -- Set control flags.
316
317 l_control_rec.controlled_operation := TRUE;
318 l_control_rec.change_attributes := TRUE;
319
320 l_control_rec.default_attributes := FALSE;
321 l_control_rec.validate_entity := FALSE;
322 l_control_rec.write_to_DB := FALSE;
323 l_control_rec.process := FALSE;
324
325 -- Instruct API to retain its caches
326
327 l_control_rec.clear_api_cache := FALSE;
328 l_control_rec.clear_api_requests := FALSE;
329
330 -- Read CURR_LISTS from cache
331
332 -- oe_debug_pub.add('BEFORE CALLING Get_CURR_LISTS in Change_Attribute');
333 l_CURR_LISTS_rec := Get_CURR_LISTS
334 ( p_db_record => FALSE
335 , p_currency_header_id => p_currency_header_id
336 );
337
338 -- oe_debug_pub.add('Cache HDR_ID: '||NVL(g_CURR_LISTS_rec.currency_header_id, -999999));
339 -- oe_debug_pub.add('Passed HDR_ID: '||p_currency_header_id);
340 -- oe_debug_pub.add('Passed Attribute_id: '||p_attr_id);
341 -- oe_debug_pub.add('Passed Attribute_id: '||p_attr_value);
342 -- oe_debug_pub.add('DB_FLAG:'|| l_CURR_LISTS_rec.db_flag );
343
344 l_old_CURR_LISTS_rec := l_CURR_LISTS_rec;
345
346 IF p_attr_id = QP_Curr_Lists_Util.G_BASE_CURRENCY THEN
347 l_CURR_LISTS_rec.base_currency_code := p_attr_value;
348 ELSIF p_attr_id = QP_Curr_Lists_Util.G_CURRENCY_HEADER THEN
349 l_CURR_LISTS_rec.currency_header_id := TO_NUMBER(p_attr_value);
350 ELSIF p_attr_id = QP_Curr_Lists_Util.G_DESCRIPTION THEN
351 l_CURR_LISTS_rec.description := p_attr_value;
352 ELSIF p_attr_id = QP_Curr_Lists_Util.G_NAME THEN
353 l_CURR_LISTS_rec.name := p_attr_value;
354 ELSIF p_attr_id = QP_Curr_Lists_Util.G_base_rounding_factor THEN
355 l_CURR_LISTS_rec.base_rounding_factor := TO_NUMBER(p_attr_value);
356 ELSIF p_attr_id = QP_Curr_Lists_Util.G_base_markup_operator THEN
357 l_CURR_LISTS_rec.base_markup_operator := p_attr_value;
358 ELSIF p_attr_id = QP_Curr_Lists_Util.G_base_markup_value THEN
359 -- oe_debug_pub.add('Assigning Base Markup Value');
360 l_CURR_LISTS_rec.base_markup_value := TO_NUMBER(p_attr_value);
364 -- l_CURR_LISTS_rec.row_idELSIF
361 ELSIF p_attr_id = QP_Curr_Lists_Util.G_base_markup_formula THEN
362 l_CURR_LISTS_rec.base_markup_formula_id := TO_NUMBER(p_attr_value);
363 -- ELSIF p_attr_id = QP_Curr_Lists_Util.G_ROW THEN
365 ELSIF p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE1
366 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE10
367 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE11
368 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE12
369 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE13
370 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE14
371 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE15
372 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE2
373 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE3
374 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE4
375 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE5
376 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE6
377 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE7
378 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE8
379 OR p_attr_id = QP_Curr_Lists_Util.G_ATTRIBUTE9
380 OR p_attr_id = QP_Curr_Lists_Util.G_CONTEXT
381 THEN
382
383 l_CURR_LISTS_rec.attribute1 := p_attribute1;
384 l_CURR_LISTS_rec.attribute10 := p_attribute10;
385 l_CURR_LISTS_rec.attribute11 := p_attribute11;
386 l_CURR_LISTS_rec.attribute12 := p_attribute12;
387 l_CURR_LISTS_rec.attribute13 := p_attribute13;
388 l_CURR_LISTS_rec.attribute14 := p_attribute14;
389 l_CURR_LISTS_rec.attribute15 := p_attribute15;
390 l_CURR_LISTS_rec.attribute2 := p_attribute2;
391 l_CURR_LISTS_rec.attribute3 := p_attribute3;
392 l_CURR_LISTS_rec.attribute4 := p_attribute4;
393 l_CURR_LISTS_rec.attribute5 := p_attribute5;
394 l_CURR_LISTS_rec.attribute6 := p_attribute6;
395 l_CURR_LISTS_rec.attribute7 := p_attribute7;
396 l_CURR_LISTS_rec.attribute8 := p_attribute8;
397 l_CURR_LISTS_rec.attribute9 := p_attribute9;
398 l_CURR_LISTS_rec.context := p_context;
399
400 ELSE
401
402 -- Unexpected error, unrecognized attribute
403
404 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
405 THEN
406 OE_MSG_PUB.Add_Exc_Msg
407 ( G_PKG_NAME
408 , 'Change_Attribute'
409 , 'Unrecognized attribute'
410 );
411 END IF;
412
413 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
414
415 END IF;
416
417 -- Set Operation.
418
419 IF FND_API.To_Boolean(l_CURR_LISTS_rec.db_flag) THEN
420 l_CURR_LISTS_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
421 ELSE
422 l_CURR_LISTS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
423 END IF;
424
425 -- Call QP_Currency_PVT.Process_Currency
426 -- oe_debug_pub.add('Calling QP_Currency_PVT.Process_Currency from F package; Change_Attribute');
427
428 QP_Currency_PVT.Process_Currency
429 ( p_api_version_number => 1.0
430 , p_init_msg_list => FND_API.G_TRUE
431 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
432 , x_return_status => l_return_status
433 , x_msg_count => x_msg_count
434 , x_msg_data => x_msg_data
435 , p_control_rec => l_control_rec
436 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
437 , p_old_CURR_LISTS_rec => l_old_CURR_LISTS_rec
438 , x_CURR_LISTS_rec => l_x_CURR_LISTS_rec
439 , x_CURR_DETAILS_tbl => l_x_CURR_DETAILS_tbl
440 );
441 -- oe_debug_pub.add('AFTER Calling QP_Currency_PVT.Process_Currency from F package; Change_Attribute');
442 -- oe_debug_pub.add('AFTER Calling QP_Currency_PVT.Process_Currency from F package; Change_Attribute; l_x_CURR_LISTS_rec.base_markup_value: '||l_x_CURR_LISTS_rec.base_markup_value);
443 -- oe_debug_pub.add('AFTER Calling QP_Currency_PVT.Process_Currency from F package; Change_Attribute; l_x_CURR_LISTS_rec.Description: '||l_x_CURR_LISTS_rec.Description);
444
445 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
446 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
447 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
448 RAISE FND_API.G_EXC_ERROR;
449 END IF;
450
451
452 -- Init OUT parameters to missing.
453
454 x_attribute1 := FND_API.G_MISS_CHAR;
455 x_attribute10 := FND_API.G_MISS_CHAR;
456 x_attribute11 := FND_API.G_MISS_CHAR;
457 x_attribute12 := FND_API.G_MISS_CHAR;
458 x_attribute13 := FND_API.G_MISS_CHAR;
459 x_attribute14 := FND_API.G_MISS_CHAR;
460 x_attribute15 := FND_API.G_MISS_CHAR;
461 x_attribute2 := FND_API.G_MISS_CHAR;
462 x_attribute3 := FND_API.G_MISS_CHAR;
463 x_attribute4 := FND_API.G_MISS_CHAR;
464 x_attribute5 := FND_API.G_MISS_CHAR;
465 x_attribute6 := FND_API.G_MISS_CHAR;
466 x_attribute7 := FND_API.G_MISS_CHAR;
467 x_attribute8 := FND_API.G_MISS_CHAR;
468 x_attribute9 := FND_API.G_MISS_CHAR;
469 x_base_currency_code := FND_API.G_MISS_CHAR;
470 x_context := FND_API.G_MISS_CHAR;
471 x_currency_header_id := FND_API.G_MISS_NUM;
472 x_description := FND_API.G_MISS_CHAR;
473 x_name := FND_API.G_MISS_CHAR;
474 -- x_row_id := FND_API.G_MISS_CHAR; -- Commented by Sunil
475 x_base_currency := FND_API.G_MISS_CHAR;
479 x_base_markup_operator := FND_API.G_MISS_CHAR;
476 x_currency_header := FND_API.G_MISS_CHAR;
477 -- x_row := FND_API.G_MISS_CHAR;
478 x_base_rounding_factor := FND_API.G_MISS_NUM;
480 x_base_markup_value := FND_API.G_MISS_NUM;
481 x_base_markup_formula_id := FND_API.G_MISS_NUM;
482 x_base_markup_formula := FND_API.G_MISS_CHAR;
483
484
485 -- oe_debug_pub.add('%%Inside F- Change_Attribute; CHECK-POINT-1');
486 -- Load display out parameters if any
487
488 l_CURR_LISTS_val_rec := QP_Curr_Lists_Util.Get_Values
489 ( p_CURR_LISTS_rec => l_x_CURR_LISTS_rec
490 , p_old_CURR_LISTS_rec => l_CURR_LISTS_rec
491 );
492
493 -- oe_debug_pub.add('%%Inside F- Change_Attribute; CHECK-POINT-2');
494 -- Return changed attributes.
495
496 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute1,
497 l_CURR_LISTS_rec.attribute1)
498 THEN
499 x_attribute1 := l_x_CURR_LISTS_rec.attribute1;
500 END IF;
501
502 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute10,
503 l_CURR_LISTS_rec.attribute10)
504 THEN
505 x_attribute10 := l_x_CURR_LISTS_rec.attribute10;
506 END IF;
507
508 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute11,
509 l_CURR_LISTS_rec.attribute11)
510 THEN
511 x_attribute11 := l_x_CURR_LISTS_rec.attribute11;
512 END IF;
513
514 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute12,
515 l_CURR_LISTS_rec.attribute12)
516 THEN
517 x_attribute12 := l_x_CURR_LISTS_rec.attribute12;
518 END IF;
519
520 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute13,
521 l_CURR_LISTS_rec.attribute13)
522 THEN
523 x_attribute13 := l_x_CURR_LISTS_rec.attribute13;
524 END IF;
525
526 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute14,
527 l_CURR_LISTS_rec.attribute14)
528 THEN
529 x_attribute14 := l_x_CURR_LISTS_rec.attribute14;
530 END IF;
531
532 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute15,
533 l_CURR_LISTS_rec.attribute15)
534 THEN
535 x_attribute15 := l_x_CURR_LISTS_rec.attribute15;
536 END IF;
537
538 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute2,
539 l_CURR_LISTS_rec.attribute2)
540 THEN
541 x_attribute2 := l_x_CURR_LISTS_rec.attribute2;
542 END IF;
543
544 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute3,
545 l_CURR_LISTS_rec.attribute3)
546 THEN
547 x_attribute3 := l_x_CURR_LISTS_rec.attribute3;
548 END IF;
549
550 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute4,
551 l_CURR_LISTS_rec.attribute4)
552 THEN
553 x_attribute4 := l_x_CURR_LISTS_rec.attribute4;
554 END IF;
555
556 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute5,
557 l_CURR_LISTS_rec.attribute5)
558 THEN
559 x_attribute5 := l_x_CURR_LISTS_rec.attribute5;
560 END IF;
561
562 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute6,
563 l_CURR_LISTS_rec.attribute6)
564 THEN
565 x_attribute6 := l_x_CURR_LISTS_rec.attribute6;
566 END IF;
567
568 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute7,
569 l_CURR_LISTS_rec.attribute7)
570 THEN
571 x_attribute7 := l_x_CURR_LISTS_rec.attribute7;
572 END IF;
573
574 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute8,
575 l_CURR_LISTS_rec.attribute8)
576 THEN
577 x_attribute8 := l_x_CURR_LISTS_rec.attribute8;
578 END IF;
579
580 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.attribute9,
581 l_CURR_LISTS_rec.attribute9)
582 THEN
583 x_attribute9 := l_x_CURR_LISTS_rec.attribute9;
584 END IF;
585
586 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.base_currency_code,
587 l_CURR_LISTS_rec.base_currency_code)
588 THEN
589 x_base_currency_code := l_x_CURR_LISTS_rec.base_currency_code;
590 x_base_currency := l_CURR_LISTS_val_rec.base_currency;
591 END IF;
592
593 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.context,
594 l_CURR_LISTS_rec.context)
595 THEN
596 x_context := l_x_CURR_LISTS_rec.context;
597 END IF;
598
599 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.currency_header_id,
600 l_CURR_LISTS_rec.currency_header_id)
601 THEN
602 x_currency_header_id := l_x_CURR_LISTS_rec.currency_header_id;
603 x_currency_header := l_CURR_LISTS_val_rec.currency_header;
604 END IF;
605
606 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.description,
607 l_CURR_LISTS_rec.description)
608 THEN
609 x_description := l_x_CURR_LISTS_rec.description;
610 END IF;
611
612 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.name,
613 l_CURR_LISTS_rec.name)
614 THEN
615 x_name := l_x_CURR_LISTS_rec.name;
616 END IF;
617
618 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.base_rounding_factor,
619 l_CURR_LISTS_rec.base_rounding_factor)
620 THEN
621 x_base_rounding_factor := l_x_CURR_LISTS_rec.base_rounding_factor;
625 l_CURR_LISTS_rec.base_markup_operator)
622 END IF;
623
624 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.base_markup_operator,
626 THEN
627 x_base_markup_operator := l_x_CURR_LISTS_rec.base_markup_operator;
628 END IF;
629
630 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.base_markup_value,
631 l_CURR_LISTS_rec.base_markup_value)
632 THEN
633 x_base_markup_value := l_x_CURR_LISTS_rec.base_markup_value;
634 END IF;
635
636 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.base_markup_formula_id,
637 l_CURR_LISTS_rec.base_markup_formula_id)
638 THEN
639 x_base_markup_formula_id := l_x_CURR_LISTS_rec.base_markup_formula_id;
640 x_base_markup_formula := l_CURR_LISTS_val_rec.base_markup_formula;
641 END IF;
642 -- oe_debug_pub.add('%%Inside F- Change_Attribute; CHECK-POINT-3');
643
644 /* Commented by Sunil
645 IF NOT QP_GLOBALS.Equal(l_x_CURR_LISTS_rec.row_id,
646 l_CURR_LISTS_rec.row_id)
647 THEN
648 x_row_id := l_x_CURR_LISTS_rec.row_id;
649 x_row := l_CURR_LISTS_val_rec.row;
650 END IF;
651 Commented by Sunil */
652
653
654 -- oe_debug_pub.add('%%Inside F- Change_Attribute; l_x_CURR_LISTS_rec.base_markup_value: '||l_x_CURR_LISTS_rec.base_markup_value);
655 -- oe_debug_pub.add('%%Inside F- Change_Attribute; l_x_CURR_LISTS_rec.description: '||l_x_CURR_LISTS_rec.description);
656 -- Write to cache.
657
658 Write_CURR_LISTS
659 ( p_CURR_LISTS_rec => l_x_CURR_LISTS_rec
660 );
661
662 -- Set return status.
663
664 x_return_status := FND_API.G_RET_STS_SUCCESS;
665
666 -- Get message count and data
667
668 OE_MSG_PUB.Count_And_Get
669 ( p_count => x_msg_count
670 , p_data => x_msg_data
671 );
672
673
674 EXCEPTION
675
676 WHEN FND_API.G_EXC_ERROR THEN
677
678 x_return_status := FND_API.G_RET_STS_ERROR;
679
680 -- Get message count and data
681
682 OE_MSG_PUB.Count_And_Get
683 ( p_count => x_msg_count
684 , p_data => x_msg_data
685 );
686
687 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
688
689 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
690
691 -- Get message count and data
692
693 OE_MSG_PUB.Count_And_Get
694 ( p_count => x_msg_count
695 , p_data => x_msg_data
696 );
697
698 WHEN OTHERS THEN
699
700 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
701
702 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
703 THEN
704 OE_MSG_PUB.Add_Exc_Msg
705 ( G_PKG_NAME
706 , 'Change_Attribute'
707 );
708 END IF;
709
710 -- Get message count and data
711
712 OE_MSG_PUB.Count_And_Get
713 ( p_count => x_msg_count
714 , p_data => x_msg_data
715 );
716
717 END Change_Attribute;
718
719 -- Procedure Validate_And_Write
720 --
721
722 PROCEDURE Validate_And_Write
723 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
724 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
725 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
726 , p_currency_header_id IN NUMBER
727 , x_creation_date OUT NOCOPY /* file.sql.39 change */ DATE
728 , x_created_by OUT NOCOPY /* file.sql.39 change */ NUMBER
729 , x_last_update_date OUT NOCOPY /* file.sql.39 change */ DATE
730 , x_last_updated_by OUT NOCOPY /* file.sql.39 change */ NUMBER
731 , x_last_update_login OUT NOCOPY /* file.sql.39 change */ NUMBER
732 )
733 IS
734 l_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
735 l_old_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
736 l_control_rec QP_GLOBALS.Control_Rec_Type;
737 l_return_status VARCHAR2(1);
738 l_x_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
739 l_x_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type;
740 l_x_CURR_DETAILS_tbl QP_Currency_PUB.Curr_Details_Tbl_Type;
741 BEGIN
742
743 -- Set control flags.
744
745 l_control_rec.controlled_operation := TRUE;
746 l_control_rec.validate_entity := TRUE;
747 l_control_rec.write_to_DB := TRUE;
748
749 l_control_rec.default_attributes := FALSE;
750 l_control_rec.change_attributes := FALSE;
751 l_control_rec.process := FALSE;
752
753 -- Instruct API to retain its caches
754
755 l_control_rec.clear_api_cache := FALSE;
756 l_control_rec.clear_api_requests := FALSE;
757
758 -- Read CURR_LISTS from cache
759
760 l_old_CURR_LISTS_rec := Get_CURR_LISTS
761 ( p_db_record => TRUE
762 , p_currency_header_id => p_currency_header_id
763 );
764
765 l_CURR_LISTS_rec := Get_CURR_LISTS
766 ( p_db_record => FALSE
767 , p_currency_header_id => p_currency_header_id
768 );
769
770 -- oe_debug_pub.add('Inside QPXFCURB; After calling get_curr_lists; l_CURR_LISTS_rec.base_markup_value: '||l_CURR_LISTS_rec.base_markup_value);
774
771 -- oe_debug_pub.add('Inside QPXFCURB; After calling get_curr_lists; l_CURR_LISTS_rec.description: '||l_CURR_LISTS_rec.description);
772
773 -- Set Operation.
775 IF FND_API.To_Boolean(l_CURR_LISTS_rec.db_flag) THEN
776 l_CURR_LISTS_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
777 ELSE
778 l_CURR_LISTS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
779 END IF;
780
781 -- Call QP_Currency_PVT.Process_Currency
782
783 -- oe_debug_pub.add('Calling QP_Currency_PVT.Process_Currency from F package; Validate_and_Write');
784 QP_Currency_PVT.Process_Currency
785 ( p_api_version_number => 1.0
786 , p_init_msg_list => FND_API.G_TRUE
787 , x_return_status => l_return_status
788 , x_msg_count => x_msg_count
789 , x_msg_data => x_msg_data
790 , p_control_rec => l_control_rec
791 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
792 , p_old_CURR_LISTS_rec => l_old_CURR_LISTS_rec
793 , x_CURR_LISTS_rec => l_x_CURR_LISTS_rec
794 , x_CURR_DETAILS_tbl => l_x_CURR_DETAILS_tbl
795 );
796 -- oe_debug_pub.add('AFTER Calling QP_Currency_PVT.Process_Currency from F package; Validate_and_Write');
797
798 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
799 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
800 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
801 RAISE FND_API.G_EXC_ERROR;
802 END IF;
803
804
805 -- Load OUT parameters.
806
807
808 x_creation_date := l_x_CURR_LISTS_rec.creation_date;
809 x_created_by := l_x_CURR_LISTS_rec.created_by;
810 x_last_update_date := l_x_CURR_LISTS_rec.last_update_date;
811 x_last_updated_by := l_x_CURR_LISTS_rec.last_updated_by;
812 x_last_update_login := l_x_CURR_LISTS_rec.last_update_login;
813
814 -- Clear CURR_LISTS record cache
815
816 Clear_CURR_LISTS;
817
818 -- Keep track of performed operations.
819
820 l_old_CURR_LISTS_rec.operation := l_CURR_LISTS_rec.operation;
821
822
823 -- Set return status.
824
825 x_return_status := FND_API.G_RET_STS_SUCCESS;
826
827 -- Get message count and data
828
829 OE_MSG_PUB.Count_And_Get
830 ( p_count => x_msg_count
831 , p_data => x_msg_data
832 );
833
834
835 EXCEPTION
836
837 WHEN FND_API.G_EXC_ERROR THEN
838
839 x_return_status := FND_API.G_RET_STS_ERROR;
840
841 -- Get message count and data
842
843 OE_MSG_PUB.Count_And_Get
844 ( p_count => x_msg_count
845 , p_data => x_msg_data
846 );
847
848 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
849
850 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
851
852 -- Get message count and data
853
854 OE_MSG_PUB.Count_And_Get
855 ( p_count => x_msg_count
856 , p_data => x_msg_data
857 );
858
859 WHEN OTHERS THEN
860
861 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
862
863 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
864 THEN
865 OE_MSG_PUB.Add_Exc_Msg
866 ( G_PKG_NAME
867 , 'Validate_And_Write'
868 );
869 END IF;
870
871 -- Get message count and data
872
873 OE_MSG_PUB.Count_And_Get
874 ( p_count => x_msg_count
875 , p_data => x_msg_data
876 );
877
878 END Validate_And_Write;
879
880 -- Procedure Delete_Row
881 --
882
883 PROCEDURE Delete_Row
884 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
885 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
886 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
887 , p_currency_header_id IN NUMBER
888 )
889 IS
890 l_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
891 l_control_rec QP_GLOBALS.Control_Rec_Type;
892 l_return_status VARCHAR2(1);
893 l_x_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
894 l_x_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type;
895 l_x_CURR_DETAILS_tbl QP_Currency_PUB.Curr_Details_Tbl_Type;
896 BEGIN
897
898 -- Set control flags.
899
900 l_control_rec.controlled_operation := TRUE;
901 l_control_rec.validate_entity := TRUE;
902 l_control_rec.write_to_DB := TRUE;
903
904 l_control_rec.default_attributes := FALSE;
905 l_control_rec.change_attributes := FALSE;
906 l_control_rec.process := FALSE;
907
908 -- Instruct API to retain its caches
909
910 l_control_rec.clear_api_cache := FALSE;
911 l_control_rec.clear_api_requests := FALSE;
912
913 -- Read DB record from cache
914
915 l_CURR_LISTS_rec := Get_CURR_LISTS
916 ( p_db_record => TRUE
917 , p_currency_header_id => p_currency_header_id
918 );
919
920 -- Set Operation.
921
922 l_CURR_LISTS_rec.operation := QP_GLOBALS.G_OPR_DELETE;
923
924 -- oe_debug_pub.add('Calling QP_Currency_PVT.Process_Currency from F package; Delete_Row');
928 ( p_api_version_number => 1.0
925 -- Call QP_Currency_PVT.Process_Currency
926
927 QP_Currency_PVT.Process_Currency
929 , p_init_msg_list => FND_API.G_TRUE
930 , x_return_status => l_return_status
931 , x_msg_count => x_msg_count
932 , x_msg_data => x_msg_data
933 , p_control_rec => l_control_rec
934 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
935 , x_CURR_LISTS_rec => l_x_CURR_LISTS_rec
936 , x_CURR_DETAILS_tbl => l_x_CURR_DETAILS_tbl
937 );
938 -- oe_debug_pub.add('AFTER Calling QP_Currency_PVT.Process_Currency from F package; Delete_Row');
939
940 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
941 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
942 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
943 RAISE FND_API.G_EXC_ERROR;
944 END IF;
945
946
947 -- Clear CURR_LISTS record cache
948
949 Clear_CURR_LISTS;
950
951 -- Set return status.
952
953 x_return_status := FND_API.G_RET_STS_SUCCESS;
954
955 -- Get message count and data
956
957 OE_MSG_PUB.Count_And_Get
958 ( p_count => x_msg_count
959 , p_data => x_msg_data
960 );
961
962
963 EXCEPTION
964
965 WHEN FND_API.G_EXC_ERROR THEN
966
967 x_return_status := FND_API.G_RET_STS_ERROR;
968
969 -- Get message count and data
970
971 OE_MSG_PUB.Count_And_Get
972 ( p_count => x_msg_count
973 , p_data => x_msg_data
974 );
975
976 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
977
978 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
979
980 -- Get message count and data
981
982 OE_MSG_PUB.Count_And_Get
983 ( p_count => x_msg_count
984 , p_data => x_msg_data
985 );
986
987 WHEN OTHERS THEN
988
989 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
990
991 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
992 THEN
993 OE_MSG_PUB.Add_Exc_Msg
994 ( G_PKG_NAME
995 , 'Delete_Row'
996 );
997 END IF;
998
999 -- Get message count and data
1000
1001 OE_MSG_PUB.Count_And_Get
1002 ( p_count => x_msg_count
1003 , p_data => x_msg_data
1004 );
1005
1006 END Delete_Row;
1007
1008 -- Procedure Process_Entity
1009 --
1010
1011 PROCEDURE Process_Entity
1012 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1013 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1014 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1015 )
1016 IS
1017 l_control_rec QP_GLOBALS.Control_Rec_Type;
1018 l_return_status VARCHAR2(1);
1019 l_x_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
1020 l_x_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type;
1021 l_x_CURR_DETAILS_tbl QP_Currency_PUB.Curr_Details_Tbl_Type;
1022 BEGIN
1023
1024 -- Set control flags.
1025
1026 l_control_rec.controlled_operation := TRUE;
1027 l_control_rec.process := TRUE;
1028 l_control_rec.process_entity := QP_GLOBALS.G_ENTITY_CURR_LISTS;
1029
1030 l_control_rec.default_attributes := FALSE;
1031 l_control_rec.change_attributes := FALSE;
1032 l_control_rec.validate_entity := FALSE;
1033 l_control_rec.write_to_DB := FALSE;
1034
1035 -- Instruct API to clear its request table
1036
1037 l_control_rec.clear_api_cache := FALSE;
1038 l_control_rec.clear_api_requests := FALSE;
1039
1040 -- oe_debug_pub.add('Calling QP_Currency_PVT.Process_Currency from F package; Process_Entity');
1041 -- Call QP_Currency_PVT.Process_Currency
1042
1043 QP_Currency_PVT.Process_Currency
1044 ( p_api_version_number => 1.0
1045 , p_init_msg_list => FND_API.G_TRUE
1046 , x_return_status => l_return_status
1047 , x_msg_count => x_msg_count
1048 , x_msg_data => x_msg_data
1049 , p_control_rec => l_control_rec
1050 , x_CURR_LISTS_rec => l_x_CURR_LISTS_rec
1051 , x_CURR_DETAILS_tbl => l_x_CURR_DETAILS_tbl
1052 );
1053 -- oe_debug_pub.add('AFTER Calling QP_Currency_PVT.Process_Currency from F package; Process_Entity');
1054
1055 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1056 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1057 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1058 RAISE FND_API.G_EXC_ERROR;
1059 END IF;
1060
1061
1062 -- Set return status.
1063
1064 x_return_status := FND_API.G_RET_STS_SUCCESS;
1065
1066 -- Get message count and data
1067
1068 OE_MSG_PUB.Count_And_Get
1069 ( p_count => x_msg_count
1070 , p_data => x_msg_data
1071 );
1072
1073
1074 EXCEPTION
1075
1076 WHEN FND_API.G_EXC_ERROR THEN
1077
1078 x_return_status := FND_API.G_RET_STS_ERROR;
1079
1080 -- Get message count and data
1081
1082 OE_MSG_PUB.Count_And_Get
1086
1083 ( p_count => x_msg_count
1084 , p_data => x_msg_data
1085 );
1087 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1088
1089 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1090
1091 -- Get message count and data
1092
1093 OE_MSG_PUB.Count_And_Get
1094 ( p_count => x_msg_count
1095 , p_data => x_msg_data
1096 );
1097
1098 WHEN OTHERS THEN
1099
1100 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1101
1102 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1103 THEN
1104 OE_MSG_PUB.Add_Exc_Msg
1105 ( G_PKG_NAME
1106 , 'Process_Entity'
1107 );
1108 END IF;
1109
1110 -- Get message count and data
1111
1112 OE_MSG_PUB.Count_And_Get
1113 ( p_count => x_msg_count
1114 , p_data => x_msg_data
1115 );
1116
1117 END Process_Entity;
1118
1119 -- Procedure Process_Object
1120 --
1121
1122 PROCEDURE Process_Object
1123 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1124 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1125 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1126 )
1127 IS
1128 l_control_rec QP_GLOBALS.Control_Rec_Type;
1129 l_return_status VARCHAR2(1);
1130 l_x_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
1131 l_x_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type;
1132 l_x_CURR_DETAILS_tbl QP_Currency_PUB.Curr_Details_Tbl_Type;
1133 BEGIN
1134
1135 -- Set control flags.
1136
1137 l_control_rec.controlled_operation := TRUE;
1138 l_control_rec.process := TRUE;
1139 l_control_rec.process_entity := QP_GLOBALS.G_ENTITY_ALL;
1140
1141 l_control_rec.default_attributes := FALSE;
1142 l_control_rec.change_attributes := FALSE;
1143 l_control_rec.validate_entity := FALSE;
1144 l_control_rec.write_to_DB := FALSE;
1145
1146 -- Instruct API to clear its request table
1147
1148 l_control_rec.clear_api_cache := FALSE;
1149 l_control_rec.clear_api_requests := TRUE;
1150
1151 -- oe_debug_pub.add('Calling QP_Currency_PVT.Process_Currency from F package; Process_Object');
1152 -- Call QP_Currency_PVT.Process_Currency
1153
1154 QP_Currency_PVT.Process_Currency
1155 ( p_api_version_number => 1.0
1156 , p_init_msg_list => FND_API.G_TRUE
1157 , x_return_status => l_return_status
1158 , x_msg_count => x_msg_count
1159 , x_msg_data => x_msg_data
1160 , p_control_rec => l_control_rec
1161 , x_CURR_LISTS_rec => l_x_CURR_LISTS_rec
1162 , x_CURR_DETAILS_tbl => l_x_CURR_DETAILS_tbl
1163 );
1164 -- oe_debug_pub.add('AFTER Calling QP_Currency_PVT.Process_Currency from F package; Process_Object');
1165
1166 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1167 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1168 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1169 RAISE FND_API.G_EXC_ERROR;
1170 END IF;
1171
1172
1173 -- Set return status.
1174
1175 x_return_status := FND_API.G_RET_STS_SUCCESS;
1176
1177 -- Get message count and data
1178
1179 OE_MSG_PUB.Count_And_Get
1180 ( p_count => x_msg_count
1181 , p_data => x_msg_data
1182 );
1183
1184
1185 EXCEPTION
1186
1187 WHEN FND_API.G_EXC_ERROR THEN
1188
1189 x_return_status := FND_API.G_RET_STS_ERROR;
1190
1191 -- Get message count and data
1192
1193 OE_MSG_PUB.Count_And_Get
1194 ( p_count => x_msg_count
1195 , p_data => x_msg_data
1196 );
1197
1198 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1199
1200 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1201
1202 -- Get message count and data
1203
1204 OE_MSG_PUB.Count_And_Get
1205 ( p_count => x_msg_count
1206 , p_data => x_msg_data
1207 );
1208
1209 WHEN OTHERS THEN
1210
1211 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1212
1213 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1214 THEN
1215 OE_MSG_PUB.Add_Exc_Msg
1216 ( G_PKG_NAME
1217 , 'Process_Object'
1218 );
1219 END IF;
1220
1221 -- Get message count and data
1222
1223 OE_MSG_PUB.Count_And_Get
1224 ( p_count => x_msg_count
1225 , p_data => x_msg_data
1226 );
1227
1228 END Process_Object;
1229
1230 -- Procedure lock_Row
1231 --
1232
1233 PROCEDURE Lock_Row
1234 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1235 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1236 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1237 , p_attribute1 IN VARCHAR2
1238 , p_attribute10 IN VARCHAR2
1239 , p_attribute11 IN VARCHAR2
1240 , p_attribute12 IN VARCHAR2
1244 , p_attribute2 IN VARCHAR2
1241 , p_attribute13 IN VARCHAR2
1242 , p_attribute14 IN VARCHAR2
1243 , p_attribute15 IN VARCHAR2
1245 , p_attribute3 IN VARCHAR2
1246 , p_attribute4 IN VARCHAR2
1247 , p_attribute5 IN VARCHAR2
1248 , p_attribute6 IN VARCHAR2
1249 , p_attribute7 IN VARCHAR2
1250 , p_attribute8 IN VARCHAR2
1251 , p_attribute9 IN VARCHAR2
1252 , p_base_currency_code IN VARCHAR2
1253 , p_context IN VARCHAR2
1254 , p_created_by IN NUMBER
1255 , p_creation_date IN DATE
1256 , p_currency_header_id IN NUMBER
1257 , p_description IN VARCHAR2
1258 , p_last_updated_by IN NUMBER
1259 , p_last_update_date IN DATE
1260 , p_last_update_login IN NUMBER
1261 , p_name IN VARCHAR2
1262 , p_program_application_id IN NUMBER
1263 , p_program_id IN NUMBER
1264 , p_program_update_date IN DATE
1265 , p_request_id IN NUMBER
1266 , p_base_rounding_factor IN NUMBER
1267 , p_base_markup_operator IN VARCHAR2
1268 , p_base_markup_value IN NUMBER
1269 , p_base_markup_formula_id IN NUMBER
1270 -- , p_row_id IN ROWID -- Commented by Sunil
1271 )
1272 IS
1273 l_return_status VARCHAR2(1);
1274 l_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
1275 l_x_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
1276 l_x_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type;
1277 l_x_CURR_DETAILS_tbl QP_Currency_PUB.Curr_Details_Tbl_Type;
1278 BEGIN
1279
1280 -- Load CURR_LISTS record
1281
1282 l_CURR_LISTS_rec.attribute1 := p_attribute1;
1283 l_CURR_LISTS_rec.attribute10 := p_attribute10;
1284 l_CURR_LISTS_rec.attribute11 := p_attribute11;
1285 l_CURR_LISTS_rec.attribute12 := p_attribute12;
1286 l_CURR_LISTS_rec.attribute13 := p_attribute13;
1287 l_CURR_LISTS_rec.attribute14 := p_attribute14;
1288 l_CURR_LISTS_rec.attribute15 := p_attribute15;
1289 l_CURR_LISTS_rec.attribute2 := p_attribute2;
1290 l_CURR_LISTS_rec.attribute3 := p_attribute3;
1291 l_CURR_LISTS_rec.attribute4 := p_attribute4;
1292 l_CURR_LISTS_rec.attribute5 := p_attribute5;
1293 l_CURR_LISTS_rec.attribute6 := p_attribute6;
1294 l_CURR_LISTS_rec.attribute7 := p_attribute7;
1295 l_CURR_LISTS_rec.attribute8 := p_attribute8;
1296 l_CURR_LISTS_rec.attribute9 := p_attribute9;
1297 l_CURR_LISTS_rec.base_currency_code := p_base_currency_code;
1298 l_CURR_LISTS_rec.context := p_context;
1299 l_CURR_LISTS_rec.created_by := p_created_by;
1300 l_CURR_LISTS_rec.creation_date := p_creation_date;
1301 l_CURR_LISTS_rec.currency_header_id := p_currency_header_id;
1302 l_CURR_LISTS_rec.description := p_description;
1303 l_CURR_LISTS_rec.last_updated_by := p_last_updated_by;
1304 l_CURR_LISTS_rec.last_update_date := p_last_update_date;
1305 l_CURR_LISTS_rec.last_update_login := p_last_update_login;
1306 l_CURR_LISTS_rec.name := p_name;
1307 l_CURR_LISTS_rec.program_application_id := p_program_application_id;
1308 l_CURR_LISTS_rec.program_id := p_program_id;
1309 l_CURR_LISTS_rec.program_update_date := p_program_update_date;
1310 l_CURR_LISTS_rec.request_id := p_request_id;
1311 l_CURR_LISTS_rec.base_rounding_factor := p_base_rounding_factor;
1312 l_CURR_LISTS_rec.base_markup_operator := p_base_markup_operator;
1313 l_CURR_LISTS_rec.base_markup_value := p_base_markup_value;
1314 l_CURR_LISTS_rec.base_markup_formula_id := p_base_markup_formula_id;
1315 -- l_CURR_LISTS_rec.row_id := p_row_id; -- Commented by Sunil
1316
1317 -- oe_debug_pub.add('Inside QPXFCURB Lock_Row; p_base_markup_value: '||p_base_markup_value);
1318 -- oe_debug_pub.add('Inside QPXFCURB Lock_Row; l_CURR_LISTS_rec.operation: '||l_CURR_LISTS_rec.operation);
1319 -- Call QP_Currency_PVT.Lock_Currency
1320
1321 QP_Currency_PVT.Lock_Currency
1322 ( p_api_version_number => 1.0
1323 , p_init_msg_list => FND_API.G_TRUE
1324 , x_return_status => l_return_status
1325 , x_msg_count => x_msg_count
1326 , x_msg_data => x_msg_data
1327 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
1328 , x_CURR_LISTS_rec => l_x_CURR_LISTS_rec
1329 , x_CURR_DETAILS_tbl => l_x_CURR_DETAILS_tbl
1330 );
1331
1332 -- oe_debug_pub.add('Inside QPXFCURB Lock_Row; l_return_status: '||l_return_status);
1333
1334 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1335 -- oe_debug_pub.add('Inside QPXFCURB Lock_Row; p_base_markup_value: '||p_base_markup_value);
1336
1337 -- Set DB flag and write record to cache.
1338
1339 l_x_CURR_LISTS_rec.db_flag := FND_API.G_TRUE;
1340
1341 Write_CURR_LISTS
1342 ( p_CURR_LISTS_rec => l_x_CURR_LISTS_rec
1343 , p_db_record => TRUE
1344 );
1345
1346 END IF;
1347 -- oe_debug_pub.add('Inside QPXFCURB Lock_Row; g_CURR_LISTS_rec.base_markup_value: '||g_CURR_LISTS_rec.base_markup_value);
1348 -- oe_debug_pub.add('Inside QPXFCURB Lock_Row; g_CURR_LISTS_rec.description: '||g_CURR_LISTS_rec.description);
1349
1350 -- Set return status.
1351
1352 x_return_status := l_return_status;
1353
1354 -- Get message count and data
1355
1356 OE_MSG_PUB.Count_And_Get
1357 ( p_count => x_msg_count
1358 , p_data => x_msg_data
1359 );
1360
1361
1362 EXCEPTION
1363
1364 WHEN OTHERS THEN
1365
1366 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1367 THEN
1368 OE_MSG_PUB.Add_Exc_Msg
1369 ( G_PKG_NAME
1370 , 'Lock_Row'
1371 );
1372 END IF;
1373
1374 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1375
1376 -- Get message count and data
1377
1378 OE_MSG_PUB.Count_And_Get
1379 ( p_count => x_msg_count
1380 , p_data => x_msg_data
1381 );
1382
1383
1384
1385 END Lock_Row;
1386
1387 -- Procedures maintaining CURR_LISTS record cache.
1388
1389 PROCEDURE Write_CURR_LISTS
1390 ( p_CURR_LISTS_rec IN QP_Currency_PUB.Curr_Lists_Rec_Type
1391 , p_db_record IN BOOLEAN := FALSE
1392 )
1393 IS
1394 BEGIN
1395
1396 g_CURR_LISTS_rec := p_CURR_LISTS_rec;
1397
1398 IF p_db_record THEN
1399
1400 g_db_CURR_LISTS_rec := p_CURR_LISTS_rec;
1401
1402 END IF;
1403
1404 END Write_Curr_Lists;
1405
1406 FUNCTION Get_CURR_LISTS
1407 ( p_db_record IN BOOLEAN := FALSE
1408 , p_currency_header_id IN NUMBER
1409 )
1410 RETURN QP_Currency_PUB.Curr_Lists_Rec_Type
1411 IS
1412 BEGIN
1413
1414 -- oe_debug_pub.add('Inside QPXFCURB.Get_CURR_LISTS; p_currency_header_id :'||p_currency_header_id);
1415 -- oe_debug_pub.add('Inside QPXFCURB.Get_CURR_LISTS; g_CURR_LISTS_rec.currency_header_id :'||g_CURR_LISTS_rec.currency_header_id);
1416 -- oe_debug_pub.add('Inside QPXFCURB.Get_CURR_LISTS; g_CURR_LISTS_rec.base_markup_value :'||g_CURR_LISTS_rec.base_markup_value);
1417 -- oe_debug_pub.add('Inside QPXFCURB.Get_CURR_LISTS; g_CURR_LISTS_rec.description :'||g_CURR_LISTS_rec.description);
1418 IF p_currency_header_id <> g_CURR_LISTS_rec.currency_header_id
1419 THEN
1420
1421 -- oe_debug_pub.add('BEFORE CALLING QP_Curr_Lists_Util.Query_Row');
1422 -- Query row from DB
1423
1424 g_CURR_LISTS_rec := QP_Curr_Lists_Util.Query_Row
1425 ( p_currency_header_id => p_currency_header_id
1426 );
1427
1428 g_CURR_LISTS_rec.db_flag := FND_API.G_TRUE;
1429
1430 -- Load DB record
1431
1432 g_db_CURR_LISTS_rec := g_CURR_LISTS_rec;
1433
1434 END IF;
1435
1436 IF p_db_record THEN
1437
1438 RETURN g_db_CURR_LISTS_rec;
1439
1440 ELSE
1441
1442 RETURN g_CURR_LISTS_rec;
1443
1444 END IF;
1445
1446 END Get_Curr_Lists;
1447
1448 PROCEDURE Clear_Curr_Lists
1449 IS
1450 BEGIN
1451
1452 -- oe_debug_pub.add('CLEARING g_CURR_LISTS_rec and g_db_CURR_LISTS_rec from Clear_Curr_Lists');
1453 g_CURR_LISTS_rec := QP_Currency_PUB.G_MISS_CURR_LISTS_REC;
1454 g_db_CURR_LISTS_rec := QP_Currency_PUB.G_MISS_CURR_LISTS_REC;
1455
1456 END Clear_Curr_Lists;
1457
1458 END QP_QP_Form_Curr_Lists;