DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_REP_CONTRACT_SEARCH_PVT

Source


1 PACKAGE BODY okc_rep_contract_search_pvt AS
2 /* $Header: OKCVREPSRCHB.pls 120.1 2005/08/22 10:01:22 dzima noship $ */
3 
4   ---------------------------------------------------------------------------
5   -- GLOBAL CONSTANTS
6   ---------------------------------------------------------------------------
7   G_PKG_NAME                   CONSTANT   VARCHAR2(200) := 'OKC_REP_CONTRACT_SEARCH_PVT';
8   G_APP_NAME                   CONSTANT   VARCHAR2(3)   := 'OKC';
9   G_MODULE                     CONSTANT   VARCHAR2(250) := 'okc.plsql.'||G_PKG_NAME||'.';
10 
11   -- Contract Statuses
12   G_STATUS_PENDING_APPROVAL    CONSTANT   VARCHAR2(30) :=  'PENDING_APPROVAL';
13   G_STATUS_SIGNED              CONSTANT   VARCHAR2(30) :=  'SIGNED';
14   G_STATUS_TERMINATED          CONSTANT   VARCHAR2(30) :=  'TERMINATED';
15   G_ACTION_SUBMITTED           CONSTANT   VARCHAR2(30) :=  'SUBMITTED';
16 
17   G_UNEXPECTED_ERROR           CONSTANT   VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
18   G_SQLERRM_TOKEN              CONSTANT   VARCHAR2(200) := 'ERROR_MESSAGE';
19   G_SQLCODE_TOKEN              CONSTANT   VARCHAR2(200) := 'ERROR_CODE';
20 
21   G_APPROVAL_ITEM_TYPE         CONSTANT   VARCHAR2(200) := 'OKCREPAP';
22   G_APPROVAL_PROCESS           CONSTANT   VARCHAR2(200) := 'REP_CONTRACT_APPROVAL';
23   G_APPLICATION_ID			       CONSTANT   NUMBER := 510;
24 
25   G_RETURN_CODE_SUCCESS     CONSTANT NUMBER := 0;
26   G_RETURN_CODE_WARNING     CONSTANT NUMBER := 1;
27   G_RETURN_CODE_ERROR       CONSTANT NUMBER := 2;
28 
29   G_CONTRACTS_ALL_INDEX     CONSTANT VARCHAR2(32) := G_APP_NAME || '.okc_rep_contracts_all_ctx';
30   G_CONTRACT_VERS_INDEX     CONSTANT VARCHAR2(32) := G_APP_NAME || '.okc_rep_contract_vers_ctx';
31 
32   ------------------------------------------------------------------------------
33   -- GLOBAL EXCEPTION
34   ------------------------------------------------------------------------------
35   E_Resource_Busy               EXCEPTION;
36   PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
37 
38   ---------------------------------------------------------------------------
39   -- Procedures and Functions
40   ---------------------------------------------------------------------------
41 
42 -- Start of comments
43 --API name      : update_text_index
44 --Type          : Private.
45 --Function      : Updates Repository text index.
46 --Pre-reqs      : None.
47 --Parameters    :
48 --IN            : p_api_version         IN NUMBER       Required
49 --              : p_init_msg_list       IN VARCHAR2     Optional
50 --                   Default = FND_API.G_FALSE
51 --OUT           : x_return_status       OUT  VARCHAR2(1)
52 --              : x_msg_count           OUT  NUMBER
53 --              : x_msg_data            OUT  VARCHAR2(2000)
54 --Note          :
55 -- End of comments
56 
57   PROCEDURE update_text_index(
58   p_api_version   IN          NUMBER,
59   p_init_msg_list IN          VARCHAR2,
60   x_msg_data      OUT NOCOPY  VARCHAR2,
61   x_msg_count     OUT NOCOPY  NUMBER,
62   x_return_status OUT NOCOPY  VARCHAR2)
63   IS
64     l_api_version NUMBER;
65     l_api_name    VARCHAR2(32);
66   BEGIN
67     x_return_status := FND_API.G_RET_STS_ERROR;
68 
69     l_api_name    := 'update_text_index';
70     l_api_version := 1.0;
71 
72     IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
73       FND_LOG.STRING(
74         FND_LOG.LEVEL_PROCEDURE,
75         G_MODULE||l_api_name,
76         'Entering OKC_REP_CONTRACT_SEARCH_PVT.update_text_index');
77     END IF;
78 
79     -- Standard call to check for call compatibility.
80     IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
81       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
82     END IF;
83     -- Initialize message list if p_init_msg_list is set to TRUE.
84     IF FND_API.to_Boolean( p_init_msg_list ) THEN
85       FND_MSG_PUB.initialize;
86     END IF;
87 
88     ad_ctx_ddl.set_effective_schema(G_APP_NAME);
89 
90     ad_ctx_ddl.sync_index(G_CONTRACTS_ALL_INDEX);
91     ad_ctx_ddl.sync_index(G_CONTRACT_VERS_INDEX);
92 
93     x_return_status := FND_API.G_RET_STS_SUCCESS;
94 
95     IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
96       FND_LOG.STRING(
97         FND_LOG.LEVEL_PROCEDURE,
98         G_MODULE||l_api_name,
99         'Leaving OKC_REP_CONTRACT_SEARCH_PVT.syncronize_text_index');
100     END IF;
101   EXCEPTION
102     WHEN OTHERS THEN
103       IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
104         fnd_log.string(
105           FND_LOG.LEVEL_EXCEPTION,
106           G_MODULE || l_api_name,
107           'Leaving update_text_index because of EXCEPTION: ' || SQLERRM);
108       END IF;
109       Okc_Api.Set_Message(
110         p_app_name     => G_APP_NAME,
111         p_msg_name     => G_UNEXPECTED_ERROR,
112         p_token1       => G_SQLCODE_TOKEN,
113         p_token1_value => SQLCODE,
114         p_token2       => G_SQLERRM_TOKEN,
115         p_token2_value => SQLERRM);
116       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
117       FND_MSG_PUB.Count_And_Get(
118         p_count =>  x_msg_count,
119         p_data  =>  x_msg_data
120       );
121   END;
122 
123 -- Start of comments
124 --API name      : optimize_text_index
125 --Type          : Private.
126 --Function      : Optimizes Repository text index.
127 --Pre-reqs      : None.
128 --Parameters    :
129 --IN            : p_api_version         IN NUMBER       Required
130 --              : p_init_msg_list       IN VARCHAR2     Optional
131 --                   Default = FND_API.G_FALSE
132 --OUT           : x_return_status       OUT  VARCHAR2(1)
133 --              : x_msg_count           OUT  NUMBER
134 --              : x_msg_data            OUT  VARCHAR2(2000)
135 --Note          :
136 -- End of comments
137 
138   PROCEDURE optimize_text_index(
139   p_api_version   IN          NUMBER,
140   p_init_msg_list IN          VARCHAR2,
141   x_msg_data      OUT NOCOPY  VARCHAR2,
142   x_msg_count     OUT NOCOPY  NUMBER,
143   x_return_status OUT NOCOPY  VARCHAR2)
144   IS
145     l_api_version NUMBER;
146     l_api_name    VARCHAR2(32);
147   BEGIN
148     l_api_name    := 'optimize_text_index';
149     l_api_version := 1.0;
150     x_return_status := FND_API.G_RET_STS_ERROR;
151 
152     IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
153       FND_LOG.STRING(
154         FND_LOG.LEVEL_PROCEDURE,
155         G_MODULE||l_api_name,
156         'Entering OKC_REP_CONTRACT_SEARCH_PVT.optimize_text_index');
157     END IF;
158 
159     -- Standard call to check for call compatibility.
160     IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
161       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
162     END IF;
163     -- Initialize message list if p_init_msg_list is set to TRUE.
164     IF FND_API.to_Boolean( p_init_msg_list ) THEN
165       FND_MSG_PUB.initialize;
166     END IF;
167 
168     ad_ctx_ddl.set_effective_schema(G_APP_NAME);
169 
170     ad_ctx_ddl.optimize_index (
171         idx_name => G_CONTRACTS_ALL_INDEX,
172         optlevel => ad_ctx_ddl.OPTLEVEL_FULL,
173         maxtime  => ad_ctx_ddl.MAXTIME_UNLIMITED
174     );
175      ad_ctx_ddl.optimize_index (
176         idx_name => G_CONTRACT_VERS_INDEX,
177         optlevel => ad_ctx_ddl.OPTLEVEL_FULL,
178         maxtime  => ad_ctx_ddl.MAXTIME_UNLIMITED
179     );
180 
181     x_return_status := FND_API.G_RET_STS_SUCCESS;
182 
183     IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
184       FND_LOG.STRING(
185         FND_LOG.LEVEL_PROCEDURE,
186         G_MODULE||l_api_name,
187         'Leaving OKC_REP_CONTRACT_SEARCH_PVT.optimize_text_index');
188     END IF;
189   EXCEPTION
190     WHEN OTHERS THEN
191       IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
192         fnd_log.string(
193           FND_LOG.LEVEL_EXCEPTION,
194           G_MODULE || l_api_name,
195           'Leaving optimize_text_index because of EXCEPTION: ' || SQLERRM);
196       END IF;
197       Okc_Api.Set_Message(
198         p_app_name     => G_APP_NAME,
199         p_msg_name     => G_UNEXPECTED_ERROR,
200         p_token1       => G_SQLCODE_TOKEN,
201         p_token1_value => SQLCODE,
202         p_token2       => G_SQLERRM_TOKEN,
203         p_token2_value => SQLERRM);
204       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
205       FND_MSG_PUB.Count_And_Get(
206         p_count =>  x_msg_count,
207         p_data  =>  x_msg_data
208       );
209   END;
210 
211 -- Start of comments
212 --API name      : update_text_index_ctx
213 --Type          : Private.
214 --Function      : Called from Concurrent Manager to update
215 --                Repository text index
216 --Pre-reqs      : None.
217 --Parameters    :
218 --OUT           : errbuf  OUT NOCOPY VARCHAR2
219 --              : retcode OUT NOCOPY VARCHAR2
220 --Note          :
221 -- End of comments
222 
223   PROCEDURE update_text_index_ctx(
224     errbuf  OUT NOCOPY VARCHAR2,
225     retcode OUT NOCOPY NUMBER
226   )
227   IS
228     l_api_version   NUMBER;
229     l_api_name      VARCHAR2(32);
230     l_init_msg_list VARCHAR2(2000);
231     l_msg_data      VARCHAR2(2000);
232     l_msg_count     NUMBER;
233     l_return_status VARCHAR2(2000);
234   BEGIN
235     retcode := G_RETURN_CODE_ERROR;
236 
237     IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
238       FND_LOG.STRING(
239         FND_LOG.LEVEL_PROCEDURE,
240         G_MODULE||l_api_name,
241         'Entering OKC_REP_CONTRACT_SEARCH_PVT.update_text_index_ctx');
242     END IF;
243 
244     l_api_name    := 'update_text_index_ctx';
245     l_api_version   := 1.0;
246     l_init_msg_list := FND_API.G_FALSE;
247 
248     update_text_index(
249       p_api_version   => l_api_version,
250       p_init_msg_list => l_init_msg_list,
251       x_msg_data      => l_msg_data,
252       x_msg_count     => l_msg_count,
253       x_return_status => l_return_status
254     );
255 
256     IF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
257       retcode := G_RETURN_CODE_SUCCESS;
258     END IF;
259 
260     IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
261       FND_LOG.STRING(
262         FND_LOG.LEVEL_PROCEDURE,
263         G_MODULE||l_api_name,
264         'Leaving OKC_REP_CONTRACT_SEARCH_PVT.update_text_index_ctx');
265     END IF;
266 
267     EXCEPTION
268       WHEN OTHERS THEN
269         IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
270           fnd_log.string(
271             FND_LOG.LEVEL_EXCEPTION,
272             G_MODULE || l_api_name,
273             'Leaving update_text_index_ctx because of EXCEPTION: ' || SQLERRM);
274           errbuf := substr(SQLERRM, 1, 200);
275         END IF;
276   END;
277 
278 -- Start of comments
279 --API name      : optimize_text_index_ctx
280 --Type          : Private.
281 --Function      : Called from Concurrent Manager to optimize
282 --                Repository text index
283 --Pre-reqs      : None.
284 --Parameters    :
285 --OUT           : errbuf  OUT NOCOPY VARCHAR2
286 --              : retcode OUT NOCOPY VARCHAR2
287 --Note          :
288 -- End of comments
289 
290   PROCEDURE optimize_text_index_ctx(
291     errbuf  OUT NOCOPY VARCHAR2,
292     retcode OUT NOCOPY NUMBER
293   )
294   IS
295     l_api_version   NUMBER;
296     l_api_name      VARCHAR2(32);
297     l_init_msg_list VARCHAR2(2000);
298     l_msg_data      VARCHAR2(2000);
299     l_msg_count     NUMBER;
300     l_return_status VARCHAR2(2000);
301   BEGIN
302     IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
303       FND_LOG.STRING(
304         FND_LOG.LEVEL_PROCEDURE,
305         G_MODULE||l_api_name,
306         'Entering OKC_REP_CONTRACT_SEARCH_PVT.optimize_text_index_ctx');
307     END IF;
308 
309     retcode := G_RETURN_CODE_ERROR;
310 
311     l_api_name    := 'optimize_text_index_ctx';
312     l_api_version   := 1.0;
313     l_init_msg_list := FND_API.G_FALSE;
314 
315     optimize_text_index(
316       p_api_version   => l_api_version,
317       p_init_msg_list => l_init_msg_list,
318       x_msg_data      => l_msg_data,
319       x_msg_count     => l_msg_count,
320       x_return_status => l_return_status
321     );
322 
323     IF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
324       retcode := G_RETURN_CODE_SUCCESS;
325     END IF;
326 
327     IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
328       FND_LOG.STRING(
329         FND_LOG.LEVEL_PROCEDURE,
330         G_MODULE||l_api_name,
331         'Leaving OKC_REP_CONTRACT_SEARCH_PVT.optimize_text_index_ctx');
332     END IF;
333 
334     EXCEPTION
335       WHEN OTHERS THEN
336         IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
337           fnd_log.string(
338             FND_LOG.LEVEL_EXCEPTION,
339             G_MODULE || l_api_name,
340             'Leaving optimize_text_index_ctx because of EXCEPTION: ' || SQLERRM);
341           errbuf := substr(SQLERRM, 1, 200);
342         END IF;
343   END;
344 
345 END;
346