DBA Data[Home] [Help]

PACKAGE BODY: APPS.ICX_CAT_POPULATE_QUOTE_GRP

Source


1 PACKAGE BODY ICX_CAT_POPULATE_QUOTE_GRP AS
2 /* $Header: ICXGPPQB.pls 120.2 2005/12/13 15:28:36 sbgeorge noship $*/
3 
4 -- Constants
5 G_PKG_NAME      CONSTANT VARCHAR2(30):='ICX_CAT_POPULATE_QUOTE_GRP';
6 
7 PROCEDURE populateOnlineQuotes
8 (       p_api_version           IN              NUMBER                                  ,
9         p_commit                IN              VARCHAR2 := FND_API.G_FALSE             ,
10         p_init_msg_list         IN              VARCHAR2 := FND_API.G_FALSE             ,
11         p_validation_level      IN              VARCHAR2 := FND_API.G_VALID_LEVEL_FULL  ,
12         x_return_status         OUT NOCOPY      VARCHAR2                                ,
13         p_key                   IN              NUMBER
14 )
15 IS
16 l_api_name                      CONSTANT VARCHAR2(30)   := 'populateOnlineQuotes';
17 l_api_version                   CONSTANT NUMBER         := 1.0;
18 l_err_loc			PLS_INTEGER;
19 l_start_date			DATE;
20 l_end_date			DATE;
21 l_log_string			VARCHAR2(2000);
22 
23 BEGIN
24   l_err_loc := 100;
25   x_return_status := FND_API.G_RET_STS_SUCCESS;
26 
27   l_err_loc := 200;
28   -- Standard Start of API savepoint
29   SAVEPOINT populateOnlineQuotes_sp;
30 
31   l_err_loc := 300;
32   l_start_date := sysdate;
33 
34   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
35     l_log_string := 'Started at:' || TO_CHAR(l_start_date, 'DD-MON-YYYY HH24:MI:SS') ||
36                     ', p_api_version:' || p_api_version ||
37                     ', p_commit:' || p_commit ||
38                     ', p_key:' || p_key;
39     ICX_CAT_UTIL_PVT.logProcBegin(g_pkg_name, l_api_name, l_log_string);
40   END IF;
41 
42   l_err_loc := 400;
43   -- Standard call to check for call compatibility.
44   IF NOT FND_API.Compatible_API_Call (  l_api_version           ,
45                                         p_api_version           ,
46                                         l_api_name              ,
47                                         G_PKG_NAME )
48   THEN
49    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
50   END IF;
51 
52   l_err_loc := 500;
53   ICX_CAT_UTIL_PVT.setCommitParameter(P_COMMIT);
54 
55   l_err_loc := 600;
56   ICX_CAT_POPULATE_PODOCS_PVT.populateOnlineQuotes(p_key);
57 
58   l_err_loc := 700;
59   -- Standard check of P_COMMIT
60   IF (FND_API.To_Boolean(P_COMMIT)) THEN
61     l_err_loc := 800;
62     COMMIT;
63     l_err_loc := 900;
64     -- Call the rebuild index
65     ICX_CAT_INTERMEDIA_INDEX_PVT.rebuild_index;
66     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
67       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
68           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
69           'Rebuild indexes called.');
70     END IF;
71   ELSE
72     l_err_loc := 1000;
73     IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
74       FND_LOG.string(FND_LOG.LEVEL_UNEXPECTED,
75           ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
76           'p_commit is false, so Rebuild indexes is not called.');
77     END IF;
78   END IF;
79 
80   l_err_loc := 1100;
81   l_end_date := sysdate;
82   IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
83     ICX_CAT_UTIL_PVT.logProcEnd(g_pkg_name, l_api_name,
84        ' done in:' || ICX_CAT_UTIL_PVT.getTimeStats(l_start_date, l_end_date));
85   END IF;
86 
87 EXCEPTION
88   WHEN OTHERS THEN
89     BEGIN
90       ROLLBACK TO populateOnlineQuotes_sp;
91     EXCEPTION
92       WHEN OTHERS THEN
93         IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
94           FND_LOG.string(FND_LOG.LEVEL_EXCEPTION,
95                          ICX_CAT_UTIL_PVT.getModuleNameForDebug(g_pkg_name, l_api_name),
96                          'ROLLBACK TO the savepoint caused the exception -->'
97                          || SQLERRM);
98         END IF;
99         NULL;
100     END;
101     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
102 END populateOnlineQuotes;
103 
104 END ICX_CAT_POPULATE_QUOTE_GRP;