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