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