DBA Data[Home] [Help]

PACKAGE BODY: APPS.ICX_CAT_POPULATE_CATG_GRP

Source


1 PACKAGE BODY ICX_CAT_POPULATE_CATG_GRP AS
2 /* $Header: ICXGPPCB.pls 120.2 2005/12/13 15:29:13 sbgeorge noship $*/
3 
4 -- Constants
5 G_PKG_NAME      CONSTANT VARCHAR2(30):='ICX_CAT_POPULATE_CATG_GRP';
6 
7 -- Called from inventory category forms / html interface for the following actions:
8 -- 1. Create a category
9 -- 2. Update a category
10 -- 3. Translation of a category is updated
11 -- Note: These informations are provided by Inventory team in 2005
12 -- 1. Deleting a category is not allowed from category forms / html interface
13 -- 2. No bulk operations (i.e loading data from an interface table) are allowed on category
14 PROCEDURE populateCategoryChange
15 (       p_api_version           IN              NUMBER                                  ,
16         p_commit                IN              VARCHAR2 := FND_API.G_FALSE             ,
17         p_init_msg_list         IN              VARCHAR2 := FND_API.G_FALSE             ,
18         p_validation_level      IN              VARCHAR2 := FND_API.G_VALID_LEVEL_FULL  ,
19         x_return_status         OUT NOCOPY      VARCHAR2                                ,
20         p_dml_type              IN              VARCHAR2                                ,
21         p_structure_id          IN              NUMBER                                  ,
22         p_category_name         IN              VARCHAR2                                ,
23         p_category_id           IN              NUMBER
24 )
25 IS
26 l_api_name                      CONSTANT VARCHAR2(30)   := 'populateCategoryChange';
27 l_api_version                   CONSTANT NUMBER         := 1.0;
28 l_err_loc			PLS_INTEGER;
29 l_start_date			DATE;
30 l_end_date			DATE;
31 l_log_string			VARCHAR2(2000);
32 BEGIN
33   l_err_loc := 100;
34   x_return_status := FND_API.G_RET_STS_SUCCESS;
35 
36   l_err_loc := 200;
37   -- Standard Start of API savepoint
38   SAVEPOINT populateCategoryChange_sp;
39 
40   l_err_loc := 300;
41   l_start_date := sysdate;
42 
43   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
44     l_log_string := 'Started at:' || TO_CHAR(l_start_date, 'DD-MON-YYYY HH24:MI:SS') ||
45                     ', p_api_version:' || p_api_version ||
46                     ', p_commit:' || p_commit ||
47                     ', p_dml_type:' || p_dml_type ||
48                     ', p_structure_id:' || p_structure_id ||
49                     ', p_category_name:' || p_category_name ||
50                     ', p_category_id:' || p_category_id;
51     ICX_CAT_UTIL_PVT.logProcBegin(g_pkg_name, l_api_name, l_log_string);
52   END IF;
53 
54   l_err_loc := 400;
55   -- Standard call to check for call compatibility.
56   IF NOT FND_API.Compatible_API_Call (  l_api_version           ,
57                                         p_api_version           ,
58                                         l_api_name              ,
59                                         G_PKG_NAME )
60   THEN
61     l_err_loc := 500;
62     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
63   END IF;
64 
65   l_err_loc := 600;
66   --Initialize the purchasing category set info.
67   ICX_CAT_UTIL_PVT.getPurchasingCategorySetInfo;
68 
69   l_err_loc := 700;
70   IF (ICX_CAT_UTIL_PVT.g_structure_id <> P_STRUCTURE_ID OR
71       (P_DML_TYPE = 'CREATE' AND ICX_CAT_UTIL_PVT.g_validate_flag = 'Y')) THEN
72     -- If ICX_CAT_UTIL_PVT.g_validate_flag is 'Y'
73     -- Then ip does not have to process the category added to mtl_categories_b
74     -- This category will be processed when it is added to the valid cats
75     -- in the call to populateValidCategorySetInsert
76     IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
77       FND_LOG.string(FND_LOG.LEVEL_EVENT,
78           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
79           'returning; g_structure_id:' || ICX_CAT_UTIL_PVT.g_structure_id ||
80           ', P_DML_TYPE:' || P_DML_TYPE ||
81           ', g_validate_flag:' || ICX_CAT_UTIL_PVT.g_validate_flag );
82     END IF;
83     RETURN;
84   END IF;
85 
86 
87   l_err_loc := 800;
88   ICX_CAT_UTIL_PVT.setCommitParameter(P_COMMIT);
89   l_err_loc := 900;
90   ICX_CAT_POPULATE_CATG_PVT.g_DML_TYPE := P_DML_TYPE;
91 
92   l_err_loc := 1000;
93   ICX_CAT_POPULATE_CATG_PVT.populateCategoryChange(P_CATEGORY_NAME, P_CATEGORY_ID);
94 
95   l_err_loc := 1100;
96   -- Standard check of p_commit
97   IF FND_API.To_Boolean( p_commit ) THEN
98     l_err_loc := 1200;
99     COMMIT;
100     l_err_loc := 1300;
101     -- Call the rebuild index
102     ICX_CAT_INTERMEDIA_INDEX_PVT.rebuild_index;
103     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
104       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
105           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
106           'Rebuild indexes called.');
107     END IF;
108   ELSE
109     l_err_loc := 1400;
110     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
111       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
112           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
113           'p_commit is false, so Rebuild indexes is not called.');
114     END IF;
115   END IF;
116 
117   l_err_loc := 1500;
118   l_end_date := sysdate;
119   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
120     ICX_CAT_UTIL_PVT.logProcEnd(g_pkg_name, l_api_name,
121        ' done in:' || ICX_CAT_UTIL_PVT.getTimeStats(l_start_date, l_end_date));
122   END IF;
123 EXCEPTION
124   WHEN OTHERS THEN
125     BEGIN
126       ROLLBACK TO populateCategoryChange_sp;
127     EXCEPTION
128       WHEN OTHERS THEN
129         IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
130           FND_LOG.string(FND_LOG.LEVEL_EXCEPTION,
131                          ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
132                          'ROLLBACK TO the savepoint caused the exception -->'
133                          || SQLERRM);
134         END IF;
135         NULL;
136     END;
137     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
138 END populateCategoryChange;
139 
140 -- Called from inventory category forms / html interface for the following actions:
141 -- 1. A category is added to valid cat sets
142 -- Note: These informations are provided by Inventory team in 2005
143 -- 1. No bulk operations (i.e loading data from an interface table) allowed on valid cat sets
144 PROCEDURE populateValidCategorySetInsert
145 (       p_api_version           IN              NUMBER                                  ,
146         p_commit                IN              VARCHAR2 := FND_API.G_FALSE             ,
147         p_init_msg_list         IN              VARCHAR2 := FND_API.G_FALSE             ,
148         p_validation_level      IN              VARCHAR2 := FND_API.G_VALID_LEVEL_FULL  ,
149         x_return_status         OUT NOCOPY      VARCHAR2                                ,
150         p_category_set_id       IN              NUMBER                                  ,
151         p_category_id           IN              NUMBER
152 )
153 IS
154 l_api_name                      CONSTANT VARCHAR2(30)   := 'populateValidCategorySetInsert';
155 l_api_version                   CONSTANT NUMBER         := 1.0;
156 l_err_loc			PLS_INTEGER;
157 l_start_date			DATE;
158 l_end_date			DATE;
159 l_log_string			VARCHAR2(2000);
160 BEGIN
161   l_err_loc := 100;
162   x_return_status := FND_API.G_RET_STS_SUCCESS;
163 
164   l_err_loc := 200;
165   -- Standard Start of API savepoint
166   SAVEPOINT popValidCatgSetInsert_sp;
167 
168   l_err_loc := 300;
169   l_start_date := sysdate;
170 
171   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
172     l_log_string := 'Started at:' || TO_CHAR(l_start_date, 'DD-MON-YYYY HH24:MI:SS') ||
173                     ', p_api_version:' || p_api_version ||
174                     ', p_commit:' || p_commit ||
175                     ', p_category_set_id:' || p_category_set_id ||
176                     ', p_category_id:' || p_category_id;
177     ICX_CAT_UTIL_PVT.logProcBegin(g_pkg_name, l_api_name, l_log_string);
178   END IF;
179 
180   l_err_loc := 400;
181   -- Standard call to check for call compatibility.
182   IF NOT FND_API.Compatible_API_Call (  l_api_version           ,
183                                         p_api_version           ,
184                                         l_api_name              ,
185                                         G_PKG_NAME )
186   THEN
187     l_err_loc := 500;
188     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
189   END IF;
190 
191   l_err_loc := 600;
192   --Initialize the purchasing category set info.
193   ICX_CAT_UTIL_PVT.getPurchasingCategorySetInfo;
194 
195   l_err_loc := 700;
196   IF (ICX_CAT_UTIL_PVT.g_category_set_id <> P_CATEGORY_SET_ID OR
197       ICX_CAT_UTIL_PVT.g_validate_flag = 'N') THEN
198     IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
199       FND_LOG.string(FND_LOG.LEVEL_EVENT,
200           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
201           'returning; g_category_set_id:' || ICX_CAT_UTIL_PVT.g_category_set_id ||
202           ', g_validate_flag:' || ICX_CAT_UTIL_PVT.g_validate_flag );
203     END IF;
204     RETURN;
205   END IF;
206 
207   l_err_loc := 800;
208   ICX_CAT_UTIL_PVT.setCommitParameter(P_COMMIT);
209   l_err_loc := 900;
210   ICX_CAT_POPULATE_CATG_PVT.g_DML_TYPE := ICX_CAT_POPULATE_CATG_PVT.g_DML_INSERT_TYPE;
211 
212   l_err_loc := 1000;
213   ICX_CAT_POPULATE_CATG_PVT.populateValidCategorySetInsert(P_CATEGORY_ID);
214 
215   l_err_loc := 1100;
216   -- Standard check of p_commit
217   IF FND_API.To_Boolean( p_commit ) THEN
218     l_err_loc := 1200;
219     COMMIT;
220     l_err_loc := 1300;
221     -- Call the rebuild index
222     ICX_CAT_INTERMEDIA_INDEX_PVT.rebuild_index;
223     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
224       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
225           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
226           'Rebuild indexes called.');
227     END IF;
228   ELSE
229     l_err_loc := 1400;
230     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
231       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
232           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
233           'p_commit is false, so Rebuild indexes is not called.');
234     END IF;
235   END IF;
236 
237   l_err_loc := 1500;
238   l_end_date := sysdate;
239   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
240     ICX_CAT_UTIL_PVT.logProcEnd(g_pkg_name, l_api_name,
241        ' done in:' || ICX_CAT_UTIL_PVT.getTimeStats(l_start_date, l_end_date));
242   END IF;
243 EXCEPTION
244   WHEN OTHERS THEN
245     BEGIN
246       ROLLBACK TO popValidCatgSetInsert_sp;
247     EXCEPTION
248       WHEN OTHERS THEN
249         IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
250           FND_LOG.string(FND_LOG.LEVEL_EXCEPTION,
251                          ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
252                          'ROLLBACK TO the savepoint caused the exception -->'
253                          || SQLERRM);
254         END IF;
255         NULL;
256     END;
257     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
258 END populateValidCategorySetInsert;
259 
260 -- Called from inventory category forms / html interface for the following actions:
261 -- 1. A category is updated in valid cat sets
262 -- Note: These informations are provided by Inventory team in 2005
263 -- 1. No bulk operations (i.e loading data from an interface table) allowed on valid cat sets
264 PROCEDURE populateValidCategorySetUpdate
265 (       p_api_version           IN              NUMBER                                  ,
266         p_commit                IN              VARCHAR2 := FND_API.G_FALSE             ,
267         p_init_msg_list         IN              VARCHAR2 := FND_API.G_FALSE             ,
268         p_validation_level      IN              VARCHAR2 := FND_API.G_VALID_LEVEL_FULL  ,
269         x_return_status         OUT NOCOPY      VARCHAR2                                ,
270         p_category_set_id       IN              NUMBER                                  ,
271         p_old_category_id       IN              NUMBER                                  ,
272         p_new_category_id       IN              NUMBER
273 )
274 IS
275 l_api_name                      CONSTANT VARCHAR2(30)   := 'populateValidCategorySetUpdate';
276 l_api_version                   CONSTANT NUMBER         := 1.0;
277 l_err_loc			PLS_INTEGER;
278 l_start_date			DATE;
279 l_end_date			DATE;
280 l_log_string			VARCHAR2(2000);
281 BEGIN
282   l_err_loc := 100;
283   x_return_status := FND_API.G_RET_STS_SUCCESS;
284 
285   l_err_loc := 200;
286   -- Standard Start of API savepoint
287   SAVEPOINT popValidCatgSetUpdate_sp;
288 
289   l_err_loc := 300;
290   l_start_date := sysdate;
291 
292   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
293     l_log_string := 'Started at:' || TO_CHAR(l_start_date, 'DD-MON-YYYY HH24:MI:SS') ||
294                     ', p_api_version:' || p_api_version ||
295                     ', p_commit:' || p_commit ||
296                     ', p_category_set_id:' || p_category_set_id ||
297                     ', p_old_category_id:' || p_old_category_id ||
298                     ', p_new_category_id:' || p_new_category_id ;
299     ICX_CAT_UTIL_PVT.logProcBegin(g_pkg_name, l_api_name, l_log_string);
300   END IF;
301 
302   l_err_loc := 400;
303   -- Standard call to check for call compatibility.
304   IF NOT FND_API.Compatible_API_Call (  l_api_version           ,
305                                         p_api_version           ,
306                                         l_api_name              ,
307                                         G_PKG_NAME )
308   THEN
309     l_err_loc := 500;
310     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311   END IF;
312 
313   l_err_loc := 600;
314   --Initialize the purchasing category set info.
315   ICX_CAT_UTIL_PVT.getPurchasingCategorySetInfo;
316 
317   l_err_loc := 700;
318   IF (ICX_CAT_UTIL_PVT.g_category_set_id <> P_CATEGORY_SET_ID OR
319       ICX_CAT_UTIL_PVT.g_validate_flag = 'N') THEN
320     IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
321       FND_LOG.string(FND_LOG.LEVEL_EVENT,
322           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
323           'returning; g_category_set_id:' || ICX_CAT_UTIL_PVT.g_category_set_id ||
324           ', g_validate_flag:' || ICX_CAT_UTIL_PVT.g_validate_flag );
325     END IF;
326     RETURN;
327   END IF;
328 
329   l_err_loc := 800;
330   ICX_CAT_UTIL_PVT.setCommitParameter(P_COMMIT);
331   l_err_loc := 900;
332   ICX_CAT_POPULATE_CATG_PVT.g_DML_TYPE := ICX_CAT_POPULATE_CATG_PVT.g_DML_UPDATE_TYPE;
333 
334   l_err_loc := 1000;
335   ICX_CAT_POPULATE_CATG_PVT.populateValidCategorySetUpdate(P_OLD_CATEGORY_ID, P_NEW_CATEGORY_ID);
336 
337   l_err_loc := 1100;
338   -- Standard check of p_commit
339   IF FND_API.To_Boolean( p_commit ) THEN
340     l_err_loc := 1200;
341     COMMIT;
342     l_err_loc := 1300;
343     -- Call the rebuild index
344     ICX_CAT_INTERMEDIA_INDEX_PVT.rebuild_index;
345     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
346       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
347           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
348           'Rebuild indexes called.');
349     END IF;
350   ELSE
351     l_err_loc := 1400;
352     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
353       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
354           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
355           'p_commit is false, so Rebuild indexes is not called.');
356     END IF;
357   END IF;
358 
359   l_err_loc := 1500;
360   l_end_date := sysdate;
361   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
362     ICX_CAT_UTIL_PVT.logProcEnd(g_pkg_name, l_api_name,
363        ' done in:' || ICX_CAT_UTIL_PVT.getTimeStats(l_start_date, l_end_date));
364   END IF;
365 EXCEPTION
366   WHEN OTHERS THEN
367     BEGIN
368       ROLLBACK TO popValidCatgSetUpdate_sp;
369     EXCEPTION
370       WHEN OTHERS THEN
371         IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
372           FND_LOG.string(FND_LOG.LEVEL_EXCEPTION,
373                          ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
374                          'ROLLBACK TO the savepoint caused the exception -->'
375                          || SQLERRM);
376         END IF;
377         NULL;
378     END;
379     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
380 END populateValidCategorySetUpdate;
381 
382 -- Called from inventory category forms / html interface for the following actions:
383 -- 1. A category is deleted from valid cat sets
384 -- Note: These informations are provided by Inventory team in 2005
385 -- 1. No bulk operations (i.e loading data from an interface table) allowed on valid cat sets
386 PROCEDURE populateValidCategorySetDelete
387 (       p_api_version           IN              NUMBER                                  ,
388         p_commit                IN              VARCHAR2 := FND_API.G_FALSE             ,
389         p_init_msg_list         IN              VARCHAR2 := FND_API.G_FALSE             ,
390         p_validation_level      IN              VARCHAR2 := FND_API.G_VALID_LEVEL_FULL  ,
391         x_return_status         OUT NOCOPY      VARCHAR2                                ,
392         p_category_set_id       IN              NUMBER                                  ,
393         p_category_id           IN              NUMBER
394 )
395 IS
396 l_api_name                      CONSTANT VARCHAR2(30)   := 'populateValidCategorySetDelete';
397 l_api_version                   CONSTANT NUMBER         := 1.0;
398 l_err_loc			PLS_INTEGER;
399 l_start_date			DATE;
400 l_end_date			DATE;
401 l_log_string			VARCHAR2(2000);
402 BEGIN
403   l_err_loc := 100;
404   x_return_status := FND_API.G_RET_STS_SUCCESS;
405 
406   l_err_loc := 200;
407   -- Standard Start of API savepoint
408   SAVEPOINT popValidCatgSetDelete_sp;
409 
410   l_err_loc := 300;
411   l_start_date := sysdate;
412 
413   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
414     l_log_string := 'Started at:' || TO_CHAR(l_start_date, 'DD-MON-YYYY HH24:MI:SS')  ||
415                     ', p_api_version:' || p_api_version ||
416                     ', p_commit:' || p_commit ||
417                     ', p_category_set_id:' || p_category_set_id ||
418                     ', p_category_id:' || p_category_id;
419     ICX_CAT_UTIL_PVT.logProcBegin(g_pkg_name, l_api_name, l_log_string);
420   END IF;
421 
422   l_err_loc := 400;
423   -- Standard call to check for call compatibility.
424   IF NOT FND_API.Compatible_API_Call (  l_api_version           ,
425                                         p_api_version           ,
426                                         l_api_name              ,
427                                         G_PKG_NAME )
428   THEN
429     l_err_loc := 500;
430     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
431   END IF;
432 
433   l_err_loc := 600;
434   --Initialize the purchasing category set info.
435   ICX_CAT_UTIL_PVT.getPurchasingCategorySetInfo;
436 
437   l_err_loc := 700;
438   IF (ICX_CAT_UTIL_PVT.g_category_set_id <> P_CATEGORY_SET_ID OR
439       ICX_CAT_UTIL_PVT.g_validate_flag = 'N') THEN
440     IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
441       FND_LOG.string(FND_LOG.LEVEL_EVENT,
442           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
443           'returning; g_category_set_id:' || ICX_CAT_UTIL_PVT.g_category_set_id ||
444           ', g_validate_flag:' || ICX_CAT_UTIL_PVT.g_validate_flag );
445     END IF;
446     RETURN;
447   END IF;
448 
449   l_err_loc := 800;
450   ICX_CAT_UTIL_PVT.setCommitParameter(P_COMMIT);
451 
452   l_err_loc := 900;
453   ICX_CAT_POPULATE_CATG_PVT.g_DML_TYPE := ICX_CAT_POPULATE_CATG_PVT.g_DML_DELETE_TYPE;
454 
455   l_err_loc := 1000;
456   ICX_CAT_POPULATE_CATG_PVT.populateValidCategorySetDelete(P_CATEGORY_ID);
457 
458   l_err_loc := 1100;
459   -- Standard check of p_commit
460   IF FND_API.To_Boolean( p_commit ) THEN
461     l_err_loc := 1200;
462     COMMIT;
463     l_err_loc := 1300;
464     -- Call the rebuild index
465     ICX_CAT_INTERMEDIA_INDEX_PVT.rebuild_index;
466     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
467       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
468           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
469           'Rebuild indexes called.');
470     END IF;
471   ELSE
472     l_err_loc := 1400;
473     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
474       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
475           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
476           'p_commit is false, so Rebuild indexes is not called.');
477     END IF;
478   END IF;
479 
480   l_err_loc := 1500;
481   l_end_date := sysdate;
482   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
483     ICX_CAT_UTIL_PVT.logProcEnd(g_pkg_name, l_api_name,
484        ' done in:' || ICX_CAT_UTIL_PVT.getTimeStats(l_start_date, l_end_date));
485   END IF;
486 EXCEPTION
487   WHEN OTHERS THEN
488     BEGIN
489       ROLLBACK TO popValidCatgSetDelete_sp;
490     EXCEPTION
491       WHEN OTHERS THEN
492         IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
493           FND_LOG.string(FND_LOG.LEVEL_EXCEPTION,
494                          ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
495                          'ROLLBACK TO the savepoint caused the exception -->'
496                          || SQLERRM);
497         END IF;
498         NULL;
499     END;
500     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
501 END populateValidCategorySetDelete;
502 
503 END ICX_CAT_POPULATE_CATG_GRP;