[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