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