[Home] [Help]
PACKAGE BODY: APPS.EGO_CATALOG_GROUP_UTIL
Source
1 PACKAGE BODY EGO_Catalog_Group_Util AS
2 /* $Header: EGOUCAGB.pls 120.2 2006/08/01 10:42:02 srajapar noship $ */
3 /****************************************************************************
4 --
5 -- Copyright (c) 1996 Oracle Corporation, Redwood Shores, CA, USA
6 -- All rights reserved.
7 --
8 -- FILENAME
9 --
10 -- ENGUBOMB.pls
11 --
12 -- DESCRIPTION
13 --
14 -- Body of package EGO_Catalog_Group_Util
15 --
16 -- NOTES
17 --
18 -- HISTORY
19 -- 02-JUL-1999 Rahul Chitko Initial Creation
20 -- 18-FEB-2003 Refai Farook Propagation of end date to the recursive childs
21 -- (Update_Row procedure)
22 -- 19-DEC-2003 Sridhar R Bug 3324531
23 -- removed references to bom_globals
24 --
25 ****************************************************************************/
26
27 G_PKG_NAME CONSTANT VARCHAR2(30) := 'EGO_Catalog_Group_Util';
28
29 /*********************************************************************
30 * Procedure : Query_Row
31 * Parameters OUT:
32 * Purpose : Procedure will query the database record, seperate the
33 * values into exposed columns and unexposed columns and
34 * return with those records.
35 ***********************************************************************/
36 PROCEDURE Query_Row
37 ( x_mesg_token_tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
38 , x_Return_status OUT NOCOPY VARCHAR2
39 )
40 IS
41 l_return_status VARCHAR2(1):= FND_API.G_RET_STS_SUCCESS;
42 l_dummy varchar2(10);
43 BEGIN
44 Error_Handler.Write_Debug('Performing Query Row for catalog group ' ||
45 EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Name);
46
47 SELECT item_catalog_group_id
48 , parent_catalog_group_id
49 , summary_flag
50 , enabled_flag
51 , inactive_date
52 , item_creation_Allowed_flag
53 , description
54 , segment1
55 , segment2
56 , segment3
57 , segment4
58 , segment5
59 , segment6
60 , segment7
61 , segment8
62 , segment9
63 , segment10
64 , segment11
65 , segment12
66 , segment13
67 , segment14
68 , segment15
69 , segment16
70 , segment17
71 , segment18
72 , segment19
73 , segment20
74 , attribute_category
75 , attribute1
76 , attribute2
77 , attribute3
78 , attribute4
79 , attribute5
80 , attribute6
81 , attribute7
82 , attribute8
83 , attribute9
84 , attribute10
85 , attribute11
86 , attribute12
87 , attribute13
88 , attribute14
89 , attribute15
90 INTO EGO_Globals.G_Old_Catalog_Group_Rec.catalog_group_id
91 , EGO_Globals.G_Old_Catalog_Group_Rec.parent_catalog_group_id
92 , EGO_Globals.G_Old_Catalog_Group_Rec.summary_flag
93 , EGO_Globals.G_Old_Catalog_Group_Rec.enabled_flag
94 , EGO_Globals.G_Old_Catalog_Group_Rec.inactive_date
95 , EGO_Globals.G_Old_Catalog_Group_Rec.Item_Creation_Allowed_Flag
96 , EGO_Globals.G_Old_Catalog_Group_Rec.Description
97 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment1
98 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment2
99 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment3
100 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment4
101 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment5
102 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment6
103 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment7
104 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment8
105 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment9
106 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment10
107 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment11
108 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment12
109 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment13
110 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment14
111 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment15
112 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment16
113 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment17
114 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment18
115 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment19
116 , EGO_Globals.G_Old_Catalog_Group_Rec.Segment20
117 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute_category
118 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute1
119 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute2
120 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute3
121 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute4
122 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute5
123 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute6
124 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute7
125 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute8
126 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute9
127 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute10
128 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute11
129 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute12
130 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute13
131 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute14
132 , EGO_Globals.G_Old_Catalog_Group_Rec.attribute15
133 FROM mtl_item_catalog_groups_vl
134 WHERE item_catalog_group_id = EGO_Globals.G_Catalog_Group_Rec.catalog_group_id;
135
136 -- Bug 3324531
137 -- changed the global Bom_Globals.G_RECORD_FOUND to EGO_Globals.G_RECORD_FOUND
138 x_return_status := EGO_Globals.G_RECORD_FOUND;
139
140 EXCEPTION
141 WHEN NO_DATA_FOUND THEN
142 -- Bug 3324531
143 -- changed the global Bom_Globals.G_RECORD_NOT_FOUND to EGO_Globals.G_RECORD_NOT_FOUND
144 x_return_status := EGO_Globals.G_RECORD_NOT_FOUND;
145 WHEN OTHERS THEN
146 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
147
148 END Query_Row;
149
150 /********************************************************************
151 * Procedure : Insert_Row
152 * Parameters IN :
153 * Parameters OUT: Message Token Table
154 * Return Status
155 * Purpose :
156 *********************************************************************/
157 PROCEDURE Insert_Row
158 ( x_mesg_token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
159 , x_return_Status OUT NOCOPY VARCHAR2
160 )
161 IS
162 l_UserId NUMBER := FND_GLOBAL.User_Id;
163 l_LanguageCode VARCHAR2(4) := EGO_Globals.Get_Language_Code;
164
165 BEGIN
166
167 Error_Handler.Write_Debug('Inserting Catalog Group . . . ');
168 -- dbms_output.put_line('Inserting Catalog Group . . . ID' || EGO_Globals.G_Catalog_Group_Rec.catalog_group_id);
169
170 INSERT INTO mtl_Item_Catalog_Groups_b
171 ( item_catalog_group_id
172 , parent_catalog_group_id
173 , summary_flag
174 , enabled_flag
175 , inactive_date
176 , item_creation_Allowed_Flag
177 , segment1
178 , segment2
179 , segment3
180 , segment4
181 , segment5
182 , segment6
183 , segment7
184 , segment8
185 , segment9
186 , segment10
187 , segment11
188 , segment12
189 , segment13
190 , segment14
191 , segment15
192 , segment16
193 , segment17
194 , segment18
195 , segment19
196 , segment20
197 , attribute_category
198 , attribute1
199 , attribute2
200 , attribute3
201 , attribute4
202 , attribute5
203 , attribute6
204 , attribute7
205 , attribute8
206 , attribute9
207 , attribute10
208 , attribute11
209 , attribute12
210 , attribute13
211 , attribute14
212 , attribute15
213 , creation_date
214 , created_by
215 , last_update_date
216 , last_updated_by
217 , last_update_login
218 )
219 VALUES
220 ( EGO_Globals.G_Catalog_Group_Rec.catalog_group_id
221 , EGO_Globals.G_Catalog_Group_Rec.parent_catalog_group_id
222 , EGO_Globals.G_Catalog_Group_Rec.summary_flag
223 , EGO_Globals.G_Catalog_Group_Rec.enabled_flag
224 , EGO_Globals.G_Catalog_Group_Rec.inactive_date
225 , EGO_Globals.G_Catalog_Group_Rec.Item_Creation_Allowed_Flag
226 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(1)
227 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(2)
228 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(3)
229 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(4)
230 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(5)
231 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(6)
232 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(7)
233 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(8)
234 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(9)
235 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(10)
236 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(11)
237 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(12)
238 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(13)
239 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(14)
240 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(15)
241 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(16)
242 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(17)
243 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(18)
244 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(19)
245 , EGO_Item_Catalog_Pub.G_KF_Segment_Values(20)
246 , EGO_Globals.G_Catalog_Group_Rec.attribute_category
247 , EGO_Globals.G_Catalog_Group_Rec.attribute1
248 , EGO_Globals.G_Catalog_Group_Rec.attribute2
249 , EGO_Globals.G_Catalog_Group_Rec.attribute3
250 , EGO_Globals.G_Catalog_Group_Rec.attribute4
251 , EGO_Globals.G_Catalog_Group_Rec.attribute5
252 , EGO_Globals.G_Catalog_Group_Rec.attribute6
253 , EGO_Globals.G_Catalog_Group_Rec.attribute7
254 , EGO_Globals.G_Catalog_Group_Rec.attribute8
255 , EGO_Globals.G_Catalog_Group_Rec.attribute9
256 , EGO_Globals.G_Catalog_Group_Rec.attribute10
257 , EGO_Globals.G_Catalog_Group_Rec.attribute11
258 , EGO_Globals.G_Catalog_Group_Rec.attribute12
259 , EGO_Globals.G_Catalog_Group_Rec.attribute13
260 , EGO_Globals.G_Catalog_Group_Rec.attribute14
261 , EGO_Globals.G_Catalog_Group_Rec.attribute15
262 , SYSDATE
263 , FND_Global.User_Id
264 , SYSDATE
265 , FND_Global.User_Id
266 , FND_Global.User_Id
267 );
268
269
270 -- dbms_output.put_line('Inserting into TL table . . .');
271 /* ---------------------------------------------------------------
272 **
273 ** Insert data into the translation table
274 **
275 ** ---------------------------------------------------------------*/
276
277 INSERT INTO Mtl_Item_Catalog_Groups_TL
278 ( Item_Catalog_Group_Id
279 , Language
280 , Source_Lang
281 , Created_By
282 , Creation_Date
283 , Last_Updated_By
284 , Last_Update_Date
285 , Description
286 )
287 SELECT EGO_Globals.G_Catalog_Group_Rec.catalog_group_id
288 , lang.language_code
289 , l_LanguageCode
290 , l_UserId
291 , SYSDATE
292 , l_UserId
293 , SYSDATE
294 , EGO_Globals.G_Catalog_Group_Rec.description
295 FROM FND_LANGUAGES lang
296 WHERE lang.installed_flag in ('I', 'B')
297 AND NOT EXISTS
298 ( SELECT NULL
299 FROM Mtl_Item_Catalog_Groups_tl TL
300 WHERE tl.item_catalog_group_id = EGO_Globals.G_Catalog_Group_Rec.catalog_group_id
301 AND tl.language = lang.language_code
302 );
303 -- call the sync Catalog Group function.
304 EGO_BROWSE_PVT.Sync_ICG_Denorm_Hier_Table
305 (p_catalog_group_id => EGO_Globals.G_Catalog_Group_Rec.catalog_group_id
306 ,p_old_parent_id => NULL
307 ,x_return_status => x_return_status
308 );
309
310 EXCEPTION
311 WHEN OTHERS THEN
312 Error_Handler.Add_Error_Token
313 ( p_message_name => NULL
314 , p_application_id => 'EGO'
315 , p_message_text => G_PKG_NAME ||
316 ' :Inserting Record ' ||
317 SQLERRM
318 , x_mesg_token_Tbl => x_mesg_token_tbl
319 );
320 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
321
322 END Insert_Row;
323
324 /********************************************************************
325 * Procedure : Update_Row
326 * Parameters IN : BOM Header exposed column record
327 * BOM Header unexposed column record
328 * Parameters OUT: Message Token Table
329 * Return Status
330 * Purpose : Procedure will perfrom an Update into the
331 * BOM_Bill_Of_Materials table.
332 *********************************************************************/
333 PROCEDURE Update_Row
334 ( x_mesg_token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
335 , x_return_Status OUT NOCOPY VARCHAR2
336 )
337 IS
338
339 l_old_parent_id NUMBER;
340
341 CURSOR c1(p_item_catalog_group_id NUMBER) IS
342 SELECT item_catalog_group_id FROM mtl_item_catalog_groups_b
343 CONNECT BY PRIOR item_catalog_group_id = parent_catalog_group_id
344 START WITH item_catalog_group_id = p_item_catalog_group_id;
345
346 BEGIN
347
348 --
349 -- User can update the inactive date, description and choose to rename the
350 -- the catalog group.
351 --
352 Error_Handler.Write_Debug('Updating catalog group . . . ');
353
354 SELECT parent_catalog_group_id
355 INTO l_old_parent_id
356 FROM mtl_item_catalog_groups_b
357 WHERE item_catalog_group_id =
358 EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Id;
359
360 UPDATE mtl_item_catalog_groups_b
361 SET Item_Creation_Allowed_Flag = EGO_Globals.G_Catalog_Group_Rec.Item_Creation_Allowed_Flag
362 , parent_catalog_group_id = EGO_Globals.G_Catalog_Group_Rec.parent_catalog_group_id
363 , Segment1 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(1)
364 , Segment2 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(2)
365 , Segment3 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(3)
366 , Segment4 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(4)
367 , Segment5 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(5)
368 , Segment6 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(6)
369 , Segment7 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(7)
370 , Segment8 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(8)
371 , Segment9 = EGO_Item_Catalog_Pub.G_KF_Segment_Values(9)
372 , Segment10= EGO_Item_Catalog_Pub.G_KF_Segment_Values(10)
373 , Segment11= EGO_Item_Catalog_Pub.G_KF_Segment_Values(11)
374 , Segment12= EGO_Item_Catalog_Pub.G_KF_Segment_Values(12)
375 , Segment13= EGO_Item_Catalog_Pub.G_KF_Segment_Values(13)
376 , Segment14= EGO_Item_Catalog_Pub.G_KF_Segment_Values(14)
377 , Segment15= EGO_Item_Catalog_Pub.G_KF_Segment_Values(15)
378 , Segment16= EGO_Item_Catalog_Pub.G_KF_Segment_Values(16)
379 , Segment17= EGO_Item_Catalog_Pub.G_KF_Segment_Values(17)
380 , Segment18= EGO_Item_Catalog_Pub.G_KF_Segment_Values(18)
381 , Segment19= EGO_Item_Catalog_Pub.G_KF_Segment_Values(19)
382 , Segment20= EGO_Item_Catalog_Pub.G_KF_Segment_Values(20)
383 , description = EGO_Globals.G_Catalog_Group_Rec.description
384 , last_update_date = SYSDATE
385 , last_updated_by = FND_Global.User_Id
386 , last_update_login = FND_Global.User_Id
387 , attribute_category = EGO_Globals.G_Catalog_Group_Rec.attribute_category
388 , attribute1 = EGO_Globals.G_Catalog_Group_Rec.attribute1
389 , attribute2 = EGO_Globals.G_Catalog_Group_Rec.attribute2
390 , attribute3 = EGO_Globals.G_Catalog_Group_Rec.attribute3
391 , attribute4 = EGO_Globals.G_Catalog_Group_Rec.attribute4
392 , attribute5 = EGO_Globals.G_Catalog_Group_Rec.attribute5
393 , attribute6 = EGO_Globals.G_Catalog_Group_Rec.attribute6
394 , attribute7 = EGO_Globals.G_Catalog_Group_Rec.attribute7
395 , attribute8 = EGO_Globals.G_Catalog_Group_Rec.attribute8
396 , attribute9 = EGO_Globals.G_Catalog_Group_Rec.attribute9
397 , attribute10= EGO_Globals.G_Catalog_Group_Rec.attribute10
398 , attribute11= EGO_Globals.G_Catalog_Group_Rec.attribute11
399 , attribute12= EGO_Globals.G_Catalog_Group_Rec.attribute12
400 , attribute13= EGO_Globals.G_Catalog_Group_Rec.attribute13
401 , attribute14= EGO_Globals.G_Catalog_Group_Rec.attribute14
402 , attribute15= EGO_Globals.G_Catalog_Group_Rec.attribute15
403 WHERE item_catalog_group_id = EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Id;
404
405
406 /* Update the TL table description */
407
408 UPDATE Mtl_Item_Catalog_Groups_TL
409 SET description = EGO_Globals.G_Catalog_Group_Rec.description
410 , last_updated_by = FND_Global.User_Id
411 , last_update_date = SYSDATE
412 WHERE item_catalog_group_id =
413 EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Id
414 AND LANGUAGE = EGO_Globals.Get_Language_Code;
415
416 /* Update for the end date */
417
418 IF EGO_Globals.G_Catalog_Group_Rec.inactive_date IS NOT NULL
419 THEN
420 -- If old end date is null or the old end date is
421 -- different from the new end date
422
423 IF EGO_Globals.G_Old_Catalog_Group_Rec.inactive_date IS NULL
424 OR (EGO_Globals.G_Old_Catalog_Group_Rec.inactive_date IS NOT NULL AND
425 trunc(EGO_Globals.G_Catalog_Group_Rec.inactive_date) <>
426 trunc(EGO_Globals.G_Old_Catalog_Group_Rec.inactive_date))
427 THEN
428 /* Propagate the new end date to all the recursive childs of this catalog */
429 FOR r1 IN c1(EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Id)
430 LOOP
431 UPDATE mtl_item_catalog_groups_b
432 SET inactive_date = EGO_Globals.G_Catalog_Group_Rec.inactive_date
433 WHERE item_catalog_group_id = r1.item_catalog_group_id;
434 END LOOP;
435 END IF;
436
437 ELSE
438 -- If there exists an end date and the new end date is null
439
440 IF trunc(EGO_Globals.G_Old_Catalog_Group_Rec.inactive_date) IS NOT NULL
441 THEN
442 /* Propagate null (remove end date) to all the recursive childs */
443 FOR r1 IN c1(EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Id)
444 LOOP
445 UPDATE mtl_item_catalog_groups_b
446 SET inactive_date = null
447 WHERE item_catalog_group_id = r1.item_catalog_group_id;
448 END LOOP;
449 END IF;
450
451 END IF;
452
453 IF NVL(l_old_parent_id,-1) <>
454 NVL(EGO_Globals.G_Catalog_Group_Rec.parent_catalog_group_id,-1) THEN
455 EGO_BROWSE_PVT.Sync_ICG_Denorm_Hier_Table
456 (p_catalog_group_id => EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Id
457 ,p_old_parent_id => l_old_parent_id
458 ,x_return_status => x_return_status
459 );
460 END IF;
461
462 EXCEPTION
463 WHEN OTHERS THEN
464 -- dbms_output.put_line('Error while updating : ' || SQLERRM);
465
466 Error_Handler.Add_Error_Token
467 ( p_message_name => NULL
468 , p_application_id => 'EGO'
469 , p_message_text => G_PKG_NAME ||
470 ' :Updating Record ' ||
471 SQLERRM
472 , x_mesg_token_Tbl => x_mesg_token_tbl
473 );
474 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
475
476 END Update_Row;
477
478
479 /********************************************************************
480 * Procedure : Delete_Row
481 * Parameters IN :
482 * Parameters OUT: Message Token Table
483 * Return Status
484 * Purpose : Procedure will perfrom an Delete
485 *********************************************************************/
486 PROCEDURE Delete_Row
487 ( x_mesg_token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
488 , x_return_Status OUT NOCOPY VARCHAR2
489 )
490 IS
491 l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
492
493 BEGIN
494
495 /* Delete from TL */
496
497 DELETE FROM mtl_item_catalog_groups_tl WHERE
498 item_catalog_group_id = EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Id
499 AND LANGUAGE = EGO_Globals.Get_Language_Code;
500
501 /* Delete from base table */
502
503 DELETE FROM mtl_item_catalog_groups_b WHERE
504 item_catalog_group_id = EGO_Globals.G_Catalog_Group_Rec.Catalog_Group_Id;
505
506 EGO_BROWSE_PVT.Reload_ICG_Denorm_Hier_Table (x_return_status => x_return_status);
507
508 EXCEPTION WHEN OTHERS
509 THEN
510 -- dbms_output.put_line('Error while deleting : ' || SQLERRM);
511
512 Error_Handler.Add_Error_Token
513 ( p_message_name => NULL
514 , p_application_id => 'EGO'
515 , p_message_text => G_PKG_NAME ||
516 ' :Deleting Record ' ||
517 SQLERRM
518 , x_mesg_token_Tbl => x_mesg_token_tbl
519 );
520 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
521
522 END Delete_Row;
523
524 /*********************************************************************
525 * Procedure : Perform_Writes
526 * Parameters IN :
527 * Parameters OUT: Messgae Token Table
528 * Return Status
529 * Purpose : This is the only procedure that the user will have
530 * access to when he/she needs to perform any kind of
531 * writes to the catalog groups table.
532 *********************************************************************/
533 PROCEDURE Perform_Writes
534 ( x_mesg_token_tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
535 , x_return_status OUT NOCOPY VARCHAR2
536 )
537 IS
538 l_Mesg_Token_tbl Error_Handler.Mesg_Token_Tbl_Type;
539 l_return_status VARCHAR2(1):= FND_API.G_RET_STS_SUCCESS;
540 BEGIN
541 IF EGO_Globals.G_Catalog_Group_Rec.transaction_type = EGO_GLOBALS.G_OPR_CREATE
542 THEN
543 -- dbms_output.put_line('Inserting row . . . ');
544 Insert_Row
545 ( x_mesg_token_Tbl => l_mesg_token_tbl
546 , x_return_Status => l_return_status
547 );
548 ELSIF EGO_Globals.G_Catalog_Group_Rec.transaction_type =
549 EGO_GLOBALS.G_OPR_UPDATE
550 THEN
551 -- dbms_output.put_line('Updating row . . . ');
552 Update_Row
553 ( x_mesg_token_Tbl => l_mesg_token_tbl
554 , x_return_Status => l_return_status
555 );
556
557 ELSIF EGO_Globals.G_Catalog_Group_Rec.transaction_type =
558 EGO_GLOBALS.G_OPR_DELETE
559 THEN
560 -- dbms_output.put_line('Deleting row . . . ');
561 Delete_Row
562 ( x_mesg_token_Tbl => l_mesg_token_tbl
563 , x_return_Status => l_return_status
564 );
565 END IF;
566
567 x_return_status := l_return_status;
568 x_mesg_token_tbl := l_mesg_token_tbl;
569
570 END Perform_Writes;
571
572
573 END EGO_Catalog_Group_Util;