[Home] [Help]
PACKAGE BODY: APPS.OKC_XPRT_CZ_INT_PVT
Source
1 PACKAGE BODY OKC_XPRT_CZ_INT_PVT AS
2 /* $Header: OKCVXCZINTB.pls 120.0 2005/05/25 23:04:21 appldev noship $ */
3
4 ------------------------------------------------------------------------------
5 -- GLOBAL CONSTANTS
6 ------------------------------------------------------------------------------
7 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKC_XPRT_CZ_INT_PVT';
8 G_APP_NAME CONSTANT VARCHAR2(3) := OKC_API.G_APP_NAME;
9
10 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
11 G_MODULE CONSTANT VARCHAR2(250) := 'okc.plsql.'||g_pkg_name||'.';
12 G_APPLICATION_ID CONSTANT NUMBER :=510; -- OKC Application
13
14 G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
15 G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
16
17 G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18 G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
19 G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
20
21 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
22 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
23 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_CODE';
24 G_UNABLE_TO_RESERVE_REC CONSTANT VARCHAR2(200) := OKC_API.G_UNABLE_TO_RESERVE_REC;
25
26
27 ---------------------------------------------------
28 -- Procedure:
29 ---------------------------------------------------
30 PROCEDURE import_generic
31 (
32 p_api_version IN NUMBER,
33 p_run_id IN NUMBER,
34 p_rp_folder_id IN NUMBER,
35 x_run_id OUT NOCOPY NUMBER,
36 x_return_status OUT NOCOPY VARCHAR2,
37 x_msg_data OUT NOCOPY VARCHAR2,
38 x_msg_count OUT NOCOPY NUMBER
39 ) IS
40
41 l_api_version CONSTANT NUMBER := 1;
42 l_api_name CONSTANT VARCHAR2(30) := 'import_generic';
43 l_cz_return_status NUMBER;
44
45 BEGIN
46
47 -- start debug log
48 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
49 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
50 G_MODULE||l_api_name,
51 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
52 END IF;
53
54 -- Standard call to check for call compatibility.
55 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
56 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
57 END IF;
58
59 -- Initialize API return status to success
60 x_return_status := FND_API.G_RET_STS_SUCCESS;
61
62 -- debug log
63 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
64 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
65 G_MODULE||l_api_name,
66 ' ********************************************************');
67 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
68 G_MODULE||l_api_name,
69 'Calling CZ_CONTRACTS_API_GRP.import_generic with parameters');
70 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
71 G_MODULE||l_api_name,
72 'p_api_version : '||l_api_version);
73 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
74 G_MODULE||l_api_name,
75 'p_run_id : '||p_run_id);
76 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
77 G_MODULE||l_api_name,
78 'p_rp_folder_id : '||p_rp_folder_id);
79 END IF;
80
81 -- Put the parameters in log file
82 fnd_file.put_line(FND_FILE.LOG,' ');
83 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
84 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.import_generic with parameters');
85 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
86 fnd_file.put_line(FND_FILE.LOG,'p_run_id: '||p_run_id);
87 fnd_file.put_line(FND_FILE.LOG,'p_rp_folder_id: '||p_rp_folder_id);
88 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
89 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
90 fnd_file.put_line(FND_FILE.LOG,' ');
91
92 -- Call the CZ Generic Import API
93 CZ_CONTRACTS_API_GRP.import_generic
94 (
95 p_api_version => l_api_version,
96 p_run_id => p_run_id,
97 x_run_id => x_run_id,
98 p_rp_folder_id => p_rp_folder_id,
99 x_status => l_cz_return_status
100 );
101
102 -- debug log
103 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
104 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
105 G_MODULE||l_api_name,
106 ' ********************************************************');
107 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
108 G_MODULE||l_api_name,
109 'After Calling CZ_CONTRACTS_API_GRP.import_generic ');
110 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
111 G_MODULE||l_api_name,
112 'x_status : '||l_cz_return_status);
113 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
114 G_MODULE||l_api_name,
115 'x_run_id : '||x_run_id);
116 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
117 G_MODULE||l_api_name,
118 ' ********************************************************');
119 END IF;
120
121 -- Put the parameters in log file
122 fnd_file.put_line(FND_FILE.LOG,' ');
123 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
124 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.import_generic');
125 fnd_file.put_line(FND_FILE.LOG,'x_status: '||l_cz_return_status);
126 fnd_file.put_line(FND_FILE.LOG,'x_run_id: '||x_run_id);
127 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
128 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
129 fnd_file.put_line(FND_FILE.LOG,' ');
130
131
132 IF l_cz_return_status = G_CZ_STATUS_SUCCESS THEN
133 x_return_status := FND_API.G_RET_STS_SUCCESS;
134 ELSIF l_cz_return_status = G_CZ_STATUS_ERROR OR
135 l_cz_return_status = G_CZ_STATUS_WARNING THEN
136 x_return_status := FND_API.G_RET_STS_ERROR;
137 ELSE
138 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
139 END IF;
140
141 -- Add Error Handling routine to check if all the records were successfully imported
142 -- check if for the x_run_id all the records in the import tables have status = 'OK'
143 -- also check the cz_xfr_run_results table for the entity
144 -- error details in cz_db_logs
145
146
147 -- Standard call to get message count and if count is 1, get message info.
148 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
149
150 -- end debug log
151 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
152 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
153 G_MODULE||l_api_name,
154 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
155 END IF;
156
157 EXCEPTION
158 WHEN OTHERS THEN
159 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
160 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
161 G_MODULE||l_api_name,
162 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
163 END IF;
164 x_return_status := G_RET_STS_UNEXP_ERROR ;
165
166 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
167 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
168 END IF;
169
170 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
171
172 END import_generic;
173
174
175 ---------------------------------------------------
176 -- Procedure:
177 ---------------------------------------------------
178 PROCEDURE create_rp_folder
179 (
180 p_api_version IN NUMBER,
181 p_encl_folder_id IN NUMBER,
182 p_new_folder_name IN VARCHAR2,
183 p_folder_desc IN VARCHAR2,
184 p_folder_notes IN VARCHAR2,
185 x_new_folder_id OUT NOCOPY NUMBER,
186 x_return_status OUT NOCOPY VARCHAR2,
187 x_msg_data OUT NOCOPY VARCHAR2,
188 x_msg_count OUT NOCOPY NUMBER
189 ) IS
190
191 l_api_version CONSTANT NUMBER := 1;
192 l_api_name CONSTANT VARCHAR2(30) := 'create_rp_folder';
193 l_cz_return_status VARCHAR2(30);
194
195 BEGIN
196
197 -- start debug log
198 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
199 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
200 G_MODULE||l_api_name,
201 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
202 END IF;
203
204 -- Standard call to check for call compatibility.
205 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
206 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
207 END IF;
208
209 -- Initialize API return status to success
210 x_return_status := FND_API.G_RET_STS_SUCCESS;
211
212 -- debug log
213 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
214 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
215 G_MODULE||l_api_name,
216 ' ********************************************************');
217 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
218 G_MODULE||l_api_name,
219 'Calling CZ_CONTRACTS_API_GRP.create_rp_folder with parameters');
220 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
221 G_MODULE||l_api_name,
222 'p_api_version : '||l_api_version);
223 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
224 G_MODULE||l_api_name,
225 'p_encl_folder_id : '||p_encl_folder_id);
226 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
227 G_MODULE||l_api_name,
228 'p_new_folder_name : '||p_new_folder_name);
229 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
230 G_MODULE||l_api_name,
231 ' ********************************************************');
232 END IF;
233
234 -- Put the parameters in log file
235 fnd_file.put_line(FND_FILE.LOG,' ');
236 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
237 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.create_rp_folder with parameters');
238 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
239 fnd_file.put_line(FND_FILE.LOG,'p_encl_folder_id: '||p_encl_folder_id);
240 fnd_file.put_line(FND_FILE.LOG,'p_new_folder_name: '||p_new_folder_name);
241 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
242 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
243 fnd_file.put_line(FND_FILE.LOG,' ');
244
245
246 -- Call the CZ Generic Import API
247 CZ_CONTRACTS_API_GRP.create_rp_folder
248 (
249 p_api_version => l_api_version,
250 p_encl_folder_id => p_encl_folder_id,
251 p_new_folder_name => p_new_folder_name,
252 p_folder_desc => p_folder_desc,
253 p_folder_notes => p_folder_notes,
254 x_new_folder_id => x_new_folder_id,
255 x_return_status => l_cz_return_status,
256 x_msg_count => x_msg_count,
257 x_msg_data => x_msg_data
258 );
259
260
261 -- debug log
262 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
263 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
264 G_MODULE||l_api_name,
265 ' ********************************************************');
266 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
267 G_MODULE||l_api_name,
268 'After Calling CZ_CONTRACTS_API_GRP.create_rp_folder');
269 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
270 G_MODULE||l_api_name,
271 'x_new_folder_id : '||x_new_folder_id);
272 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
273 G_MODULE||l_api_name,
274 'x_return_status : '||l_cz_return_status);
275 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
276 G_MODULE||l_api_name,
277 ' ********************************************************');
278 END IF;
279
280 -- Put the parameters in log file
281 fnd_file.put_line(FND_FILE.LOG,' ');
282 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
283 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.create_rp_folder');
284 fnd_file.put_line(FND_FILE.LOG,'x_status: '||l_cz_return_status);
285 fnd_file.put_line(FND_FILE.LOG,'x_new_folder_id: '||x_new_folder_id);
286 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
287 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
288 fnd_file.put_line(FND_FILE.LOG,' ');
289
290
291 -- For the above call , l_cz_return_status is a string 'S' , 'E' or 'U'
292 -- so directly assing the same to x_return_status
293 x_return_status := l_cz_return_status;
294
295 -- Standard call to get message count and if count is 1, get message info.
296 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
297
298 -- end debug log
299 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
300 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
301 G_MODULE||l_api_name,
302 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
303 END IF;
304
305 EXCEPTION
306 WHEN OTHERS THEN
307 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
308 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
309 G_MODULE||l_api_name,
310 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
311 END IF;
312 x_return_status := G_RET_STS_UNEXP_ERROR ;
313
314 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
315 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
316 END IF;
317
318 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
319
320 END create_rp_folder;
321
322
323
324 PROCEDURE delete_ui_def
325 (
326 p_api_version IN NUMBER,
327 p_ui_def_id IN NUMBER,
328 x_return_status OUT NOCOPY VARCHAR2,
329 x_msg_data OUT NOCOPY VARCHAR2,
330 x_msg_count OUT NOCOPY NUMBER
331 ) IS
332
333
334 l_api_version CONSTANT NUMBER := 1;
335 l_api_name CONSTANT VARCHAR2(30) := 'delete_ui_def';
336
337 BEGIN
338
339 -- start debug log
340 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
341 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
342 G_MODULE||l_api_name,
343 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
344 END IF;
345
346 -- Standard call to check for call compatibility.
347 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
348 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
349 END IF;
350
351 -- Initialize API return status to success
352 x_return_status := FND_API.G_RET_STS_SUCCESS;
353
354 -- debug log
355 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
356 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
357 G_MODULE||l_api_name,
358 ' ********************************************************');
359 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
360 G_MODULE||l_api_name,
361 'Calling CZ_CONTRACTS_API_GRP.delete_ui_def with parameters');
362 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
363 G_MODULE||l_api_name,
364 'p_api_version : '||l_api_version);
365 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
366 G_MODULE||l_api_name,
367 'p_ui_def_id : '||p_ui_def_id);
368 END IF;
369
370 -- Put the parameters in log file
371 fnd_file.put_line(FND_FILE.LOG,' ');
372 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
373 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.delete_ui_def with parameters');
374 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
375 fnd_file.put_line(FND_FILE.LOG,'p_ui_def_id: '||p_ui_def_id);
376 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
377 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
378 fnd_file.put_line(FND_FILE.LOG,' ');
379
380 -- Call the CZ delete_ui_def API
381 CZ_contracts_api_grp.delete_ui_def
382 (
383 p_api_version => l_api_version,
384 p_ui_def_id => p_ui_def_id,
385 x_return_status => x_return_status,
386 x_msg_count => x_msg_count,
387 x_msg_data => x_msg_data
388 );
389
390
391 -- debug log
392 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
393 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
394 G_MODULE||l_api_name,
395 ' ********************************************************');
396 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
397 G_MODULE||l_api_name,
398 'After Calling CZ_CONTRACTS_API_GRP.delete_ui_def ');
399 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
400 G_MODULE||l_api_name,
401 'x_return_status : '||x_return_status);
402 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
403 G_MODULE||l_api_name,
404 ' ********************************************************');
405 END IF;
406
407 -- Put the parameters in log file
408 fnd_file.put_line(FND_FILE.LOG,' ');
409 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
410 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.delete_ui_def');
411 fnd_file.put_line(FND_FILE.LOG,'x_return_status: '||x_return_status);
412 fnd_file.put_line(FND_FILE.LOG,'x_msg_count: '||x_msg_count);
413 fnd_file.put_line(FND_FILE.LOG,'x_msg_data: '||x_msg_data);
414 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
415 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
416 fnd_file.put_line(FND_FILE.LOG,' ');
417
418
419 -- Standard call to get message count and if count is 1, get message info.
420 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
421
422 -- end debug log
423 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
424 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
425 G_MODULE||l_api_name,
426 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
427 END IF;
428
429
430 EXCEPTION
431 WHEN OTHERS THEN
432 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
433 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
434 G_MODULE||l_api_name,
435 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
436 END IF;
437 x_return_status := G_RET_STS_UNEXP_ERROR ;
438
439 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
440 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
441 END IF;
442
443 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
444
445 END delete_ui_def;
446
447
448 PROCEDURE create_jrad_ui
449 (
450 p_api_version IN NUMBER,
451 p_devl_project_id IN NUMBER,
452 p_show_all_nodes IN VARCHAR2,
453 p_master_template_id IN NUMBER,
454 p_create_empty_ui IN VARCHAR2,
455 x_ui_def_id OUT NOCOPY NUMBER,
456 x_return_status OUT NOCOPY VARCHAR2,
457 x_msg_data OUT NOCOPY VARCHAR2,
458 x_msg_count OUT NOCOPY NUMBER
459 ) IS
460
461
462 l_api_version CONSTANT NUMBER := 1;
463 l_api_name CONSTANT VARCHAR2(30) := 'create_jrad_ui';
464
465 BEGIN
466
467 -- start debug log
468 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
469 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
470 G_MODULE||l_api_name,
471 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
472 END IF;
473
474 -- Standard call to check for call compatibility.
475 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
476 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
477 END IF;
478
479 -- Initialize API return status to success
480 x_return_status := FND_API.G_RET_STS_SUCCESS;
481
482 -- debug log
483 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
484 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
485 G_MODULE||l_api_name,
486 ' ********************************************************');
487 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
488 G_MODULE||l_api_name,
489 'Calling CZ_CONTRACTS_API_GRP.create_jrad_ui with parameters');
490 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
491 G_MODULE||l_api_name,
492 'p_api_version : '||l_api_version);
493 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
494 G_MODULE||l_api_name,
495 'p_devl_project_id : '||p_devl_project_id);
496 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
497 G_MODULE||l_api_name,
498 'p_show_all_nodes : '||p_show_all_nodes);
499 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
500 G_MODULE||l_api_name,
501 'p_master_template_id : '||p_master_template_id);
502 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
503 G_MODULE||l_api_name,
504 'p_create_empty_ui : '||p_create_empty_ui);
505 END IF;
506
507 -- Put the parameters in log file
508 fnd_file.put_line(FND_FILE.LOG,' ');
509 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
510 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.create_jrad_ui with parameters');
511 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
512 fnd_file.put_line(FND_FILE.LOG,'p_devl_project_id: '||p_devl_project_id);
513 fnd_file.put_line(FND_FILE.LOG,'p_show_all_nodes: '||p_show_all_nodes);
514 fnd_file.put_line(FND_FILE.LOG,'p_master_template_id: '||p_master_template_id);
515 fnd_file.put_line(FND_FILE.LOG,'p_create_empty_ui: '||p_create_empty_ui);
516 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
517 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
518 fnd_file.put_line(FND_FILE.LOG,' ');
519
520 -- Call the CZ create_jrad_ui API
521 CZ_CONTRACTS_API_GRP.create_jrad_ui
522 (
523 p_api_version => l_api_version,
524 p_devl_project_id => p_devl_project_id,
525 p_show_all_nodes => p_show_all_nodes,
526 p_master_template_id => p_master_template_id,
527 p_create_empty_ui => p_create_empty_ui,
528 x_ui_def_id => x_ui_def_id,
529 x_return_status => x_return_status,
530 x_msg_count => x_msg_count,
531 x_msg_data => x_msg_data
532 );
533
534 -- debug log
535 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
536 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
537 G_MODULE||l_api_name,
538 ' ********************************************************');
539 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
540 G_MODULE||l_api_name,
541 'After Calling CZ_CONTRACTS_API_GRP.create_jrad_ui ');
542 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
543 G_MODULE||l_api_name,
544 'x_return_status : '||x_return_status);
545 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
546 G_MODULE||l_api_name,
547 'x_ui_def_id : '||x_ui_def_id);
548 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
549 G_MODULE||l_api_name,
550 ' ********************************************************');
551 END IF;
552
553 -- Put the parameters in log file
554 fnd_file.put_line(FND_FILE.LOG,' ');
555 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
556 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.create_jrad_ui');
557 fnd_file.put_line(FND_FILE.LOG,'x_return_status: '||x_return_status);
558 fnd_file.put_line(FND_FILE.LOG,'x_ui_def_id: '||x_ui_def_id);
559 fnd_file.put_line(FND_FILE.LOG,'x_msg_count: '||x_msg_count);
560 fnd_file.put_line(FND_FILE.LOG,'x_msg_data: '||x_msg_data);
561 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
562 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
563 fnd_file.put_line(FND_FILE.LOG,' ');
564
565 -- Standard call to get message count and if count is 1, get message info.
566 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
567
568 -- end debug log
569 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
570 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
571 G_MODULE||l_api_name,
572 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
573 END IF;
574
575
576
577 EXCEPTION
578 WHEN OTHERS THEN
579 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
580 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
581 G_MODULE||l_api_name,
582 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
583 END IF;
584 x_return_status := G_RET_STS_UNEXP_ERROR ;
585
586 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
587 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
588 END IF;
589
590 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
591
592 END create_jrad_ui;
593
594
595 PROCEDURE generate_logic
596 (
597 p_api_version IN NUMBER,
598 p_init_msg_lst IN VARCHAR2,
599 p_devl_project_id IN NUMBER,
600 x_run_id OUT NOCOPY NUMBER,
601 x_return_status OUT NOCOPY VARCHAR2,
602 x_msg_data OUT NOCOPY VARCHAR2,
603 x_msg_count OUT NOCOPY NUMBER
604 ) IS
605
606 l_api_version CONSTANT NUMBER := 1;
607 l_api_name CONSTANT VARCHAR2(30) := 'generate_logic';
608
609 l_rec_number NUMBER:= 0;
610
611 CURSOR csr_db_logs(p_run_id IN NUMBER) IS
612 SELECT logtime,
613 caller,
614 message
615 FROM cz_db_logs
616 WHERE run_id = p_run_id
617 ORDER BY logtime;
618
619 BEGIN
620
621 -- start debug log
622 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
623 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
624 G_MODULE||l_api_name,
625 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
626 END IF;
627
628 -- Standard call to check for call compatibility.
629 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
630 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
631 END IF;
632
633 IF FND_API.to_Boolean( p_init_msg_lst ) THEN
634 FND_MSG_PUB.initialize;
635 END IF;
636
637 -- Initialize API return status to success
638 x_return_status := FND_API.G_RET_STS_SUCCESS;
639
640 -- debug log
641 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
642 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
643 G_MODULE||l_api_name,
644 ' ********************************************************');
645 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
646 G_MODULE||l_api_name,
647 'Calling CZ_CONTRACTS_API_GRP.generate_logic with parameters');
648 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
649 G_MODULE||l_api_name,
650 'p_api_version : '||l_api_version);
651 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
652 G_MODULE||l_api_name,
653 'p_devl_project_id : '||p_devl_project_id);
654 END IF;
655
656 -- Put the parameters in log file
657 fnd_file.put_line(FND_FILE.LOG,' ');
658 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
659 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.generate_logic with parameters');
660 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
661 fnd_file.put_line(FND_FILE.LOG,'p_devl_project_id: '||p_devl_project_id);
662 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
663 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
664 fnd_file.put_line(FND_FILE.LOG,' ');
665
666 -- Call the CZ Generic Import API
667 /*
668 CZ will return Success for generate_logic if there were warnings
669 In case of warnings x_run_id will NOT be 0 and x_msg_data will have data
670 from cz_db_logs
671 */
672 CZ_CONTRACTS_API_GRP.generate_logic
673 (
674 p_api_version => l_api_version,
675 p_devl_project_id => p_devl_project_id,
676 x_run_id => x_run_id,
677 x_return_status => x_return_status,
678 x_msg_count => x_msg_count,
679 x_msg_data => x_msg_data
680
681 );
682
683 -- debug log
684 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
685 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
686 G_MODULE||l_api_name,
687 ' ********************************************************');
688 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
689 G_MODULE||l_api_name,
690 'After Calling CZ_CONTRACTS_API_GRP.generate_logic ');
691 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
692 G_MODULE||l_api_name,
693 'x_status : '||x_return_status);
694 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
695 G_MODULE||l_api_name,
696 'x_run_id : '||x_run_id);
697 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
698 G_MODULE||l_api_name,
699 ' ********************************************************');
700 END IF;
701
702 -- Put the parameters in log file
703 fnd_file.put_line(FND_FILE.LOG,' ');
704 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
705 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.generate_logic');
706 fnd_file.put_line(FND_FILE.LOG,'x_status: '||x_return_status);
707 fnd_file.put_line(FND_FILE.LOG,'x_run_id: '||x_run_id);
708 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
709 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
710 fnd_file.put_line(FND_FILE.LOG,' ');
711
712
713 -- bug 4081597 If any errors happens put details in logfile
714 IF (x_return_status = G_RET_STS_UNEXP_ERROR) OR (x_return_status = G_RET_STS_ERROR) THEN
715 FOR csr_db_logs_rec IN csr_db_logs(p_run_id => x_run_id)
716 LOOP
717 l_rec_number := l_rec_number +1;
718 fnd_file.put_line(FND_FILE.LOG,' ');
719 fnd_file.put_line(FND_FILE.LOG,'*************** Record : '||l_rec_number||' **************');
720 fnd_file.put_line(FND_FILE.LOG,'Logtime : '||csr_db_logs_rec.logtime);
721 fnd_file.put_line(FND_FILE.LOG,'Caller : '||csr_db_logs_rec.caller);
722 fnd_file.put_line(FND_FILE.LOG,'Message : '||csr_db_logs_rec.message);
723 fnd_file.put_line(FND_FILE.LOG,' ');
724 fnd_file.put_line(FND_FILE.LOG,' ');
725 END LOOP;
726 END IF;
727
728
729 -- Standard call to get message count and if count is 1, get message info.
730 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
731
732 -- end debug log
733 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
734 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
735 G_MODULE||l_api_name,
736 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
737 END IF;
738
739 EXCEPTION
740 WHEN OTHERS THEN
741 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
742 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
743 G_MODULE||l_api_name,
744 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
745 END IF;
746 x_return_status := G_RET_STS_UNEXP_ERROR ;
747
748 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
749 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
750 END IF;
751
752 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
753
754 END generate_logic;
755
756 -------------------------------------------------------------------------------
757
758 PROCEDURE delete_publication
759 (
760 p_api_version IN NUMBER,
761 p_init_msg_lst IN VARCHAR2,
762 p_publication_id IN NUMBER,
763 x_return_status OUT NOCOPY VARCHAR2,
764 x_msg_data OUT NOCOPY VARCHAR2,
765 x_msg_count OUT NOCOPY NUMBER
766 ) IS
767
768 l_api_version CONSTANT NUMBER := 1;
769 l_api_name CONSTANT VARCHAR2(30) := 'delete_publication';
770
771 BEGIN
772
773 -- start debug log
774 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
775 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
776 G_MODULE||l_api_name,
777 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
778 END IF;
779
780 -- Standard call to check for call compatibility.
781 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
782 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
783 END IF;
784
785 IF FND_API.to_Boolean( p_init_msg_lst ) THEN
786 FND_MSG_PUB.initialize;
787 END IF;
788
789 -- Initialize API return status to success
790 x_return_status := FND_API.G_RET_STS_SUCCESS;
791
792 -- debug log
793 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
794 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
795 G_MODULE||l_api_name,
796 ' ********************************************************');
797 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
798 G_MODULE||l_api_name,
799 'Calling CZ_CONTRACTS_API_GRP.delete_publication with parameters');
800 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
801 G_MODULE||l_api_name,
802 'p_api_version : '||l_api_version);
803 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
804 G_MODULE||l_api_name,
805 'p_publication_id : '||p_publication_id);
806 END IF;
807
808 -- Put the parameters in log file
809 fnd_file.put_line(FND_FILE.LOG,' ');
810 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
811 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.delete_publication with parameters');
812 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
813 fnd_file.put_line(FND_FILE.LOG,'p_publication_id: '||p_publication_id);
814 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
815 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
816 fnd_file.put_line(FND_FILE.LOG,' ');
817
818 -- Initialize the CZ parameter values
819
820 CZ_CONTRACTS_API_GRP.delete_publication
821 (
822 p_api_version => l_api_version,
823 publicationid => p_publication_id,
824 x_return_status => x_return_status,
825 x_msg_count => x_msg_count,
826 x_msg_data => x_msg_data
827 );
828
829 -- debug log
830 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
831 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
832 G_MODULE||l_api_name,
833 ' ********************************************************');
834 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
835 G_MODULE||l_api_name,
836 'After Calling CZ_CONTRACTS_API_GRP.delete_publication ');
837 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
838 G_MODULE||l_api_name,
839 'x_return_status : '||x_return_status);
840 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
841 G_MODULE||l_api_name,
842 'x_msg_count : '||x_msg_count);
843 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
844 G_MODULE||l_api_name,
845 'x_msg_data : '||x_msg_data);
846 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
847 G_MODULE||l_api_name,
848 ' ********************************************************');
849 END IF;
850
851 -- Put the parameters in log file
852 fnd_file.put_line(FND_FILE.LOG,' ');
853 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
854 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.delete_publication');
855 fnd_file.put_line(FND_FILE.LOG,'x_return_status: '||x_return_status);
856 fnd_file.put_line(FND_FILE.LOG,'x_msg_count: '||x_msg_count);
857 fnd_file.put_line(FND_FILE.LOG,'x_msg_data: '||x_msg_data);
858 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
859 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
860 fnd_file.put_line(FND_FILE.LOG,' ');
861
862 -- Standard call to get message count and if count is 1, get message info.
863 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
864
865 -- end debug log
866 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
867 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
868 G_MODULE||l_api_name,
869 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
870 END IF;
871
872 EXCEPTION
873 WHEN OTHERS THEN
874 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
875 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
876 G_MODULE||l_api_name,
877 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
878 END IF;
879 x_return_status := G_RET_STS_UNEXP_ERROR ;
880
881 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
882 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
883 END IF;
884
885 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
886
887 END delete_publication;
888
889
890 PROCEDURE create_publication_request
891 (
892 p_api_version IN NUMBER,
893 p_init_msg_lst IN VARCHAR2,
894 p_devl_project_id IN NUMBER,
895 p_ui_def_id IN NUMBER,
896 p_publication_mode IN VARCHAR2,
897 x_publication_id OUT NOCOPY NUMBER,
898 x_return_status OUT NOCOPY VARCHAR2,
899 x_msg_data OUT NOCOPY VARCHAR2,
900 x_msg_count OUT NOCOPY NUMBER
901 ) IS
902
903 CURSOR csr_get_publication_dtl IS
904 SELECT publication_id
905 FROM cz_model_publications
906 WHERE model_id = p_devl_project_id
907 AND deleted_flag = '0'
908 AND publication_mode ='t';
909
910 CURSOR csr_installed_languages IS
911 SELECT L.LANGUAGE_CODE
912 FROM FND_LANGUAGES L
913 WHERE L.INSTALLED_FLAG IN ('I', 'B');
914
915 l_api_version CONSTANT NUMBER := 1;
916 l_api_name CONSTANT VARCHAR2(30) := 'create_publication_request';
917 l_cz_return_status NUMBER;
918 l_appl_id_tbl CZ_CONTRACTS_API_GRP.t_ref;
919 l_usg_id_tbl CZ_CONTRACTS_API_GRP.t_ref;
920 l_lang_tbl CZ_CONTRACTS_API_GRP.t_lang_code;
921 l_server_id NUMBER;
922 l_start_date DATE;
923 l_end_date DATE;
924 l_publication_id NUMBER;
925 i BINARY_INTEGER;
926
927 BEGIN
928
929 -- start debug log
930 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
931 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
932 G_MODULE||l_api_name,
933 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
934 END IF;
935
936 -- Standard call to check for call compatibility.
937 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
938 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
939 END IF;
940
941 IF FND_API.to_Boolean( p_init_msg_lst ) THEN
942 FND_MSG_PUB.initialize;
943 END IF;
944
945 -- Initialize API return status to success
946 x_return_status := FND_API.G_RET_STS_SUCCESS;
947
948 -- Initialize Input parameters for the CZ api
949 l_server_id := '0'; -- Check with CZ
950 l_appl_id_tbl(1) := 510; -- OKC App Id
951 l_usg_id_tbl(1) := -1; -- Any usage
952
953
954 -- Get all installed languages
955 OPEN csr_installed_languages;
956 FETCH csr_installed_languages BULK COLLECT INTO l_lang_tbl;
957 CLOSE csr_installed_languages;
958
959
960 l_start_date := OKC_XPRT_CZ_INT_PVT.G_CZ_EPOCH_BEGIN;
961 l_end_date := OKC_XPRT_CZ_INT_PVT.G_CZ_EPOCH_END;
962
963
964 -- Add code for initialization of applicability parameters
965
966 -- Call the CZ Delete publication api for deleting any existing test publication
967 OPEN csr_get_publication_dtl;
968 LOOP
969 FETCH csr_get_publication_dtl INTO l_publication_id;
970 EXIT WHEN csr_get_publication_dtl%NOTFOUND;
971 -- Added code for deleting test publication
972 delete_publication
973 (
974 p_api_version => l_api_version,
975 p_init_msg_lst => p_init_msg_lst,
976 p_publication_id => l_publication_id,
977 x_return_status => x_return_status,
978 x_msg_count => x_msg_count,
979 x_msg_data => x_msg_data
980 );
981
982 --- If any errors happen abort API
983 IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
984 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
985 ELSIF (x_return_status = G_RET_STS_ERROR) THEN
986 RAISE FND_API.G_EXC_ERROR;
987 END IF;
988
989 END LOOP;
990 CLOSE csr_get_publication_dtl;
991
992 -- debug log
993 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
994 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
995 G_MODULE||l_api_name,
996 ' ********************************************************');
997 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
998 G_MODULE||l_api_name,
999 'Calling CZ_CONTRACTS_API_GRP.create_publication_request with parameters');
1000 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1001 G_MODULE||l_api_name,
1002 'p_api_version : '||l_api_version);
1003 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1004 G_MODULE||l_api_name,
1005 'p_model_id : '||p_devl_project_id);
1006 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1007 G_MODULE||l_api_name,
1008 'p_ui_def_id : '||p_ui_def_id);
1009 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1010 G_MODULE||l_api_name,
1011 'p_publication_mode : '||p_publication_mode);
1012 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1013 G_MODULE||l_api_name,
1014 'p_server_id : '||l_server_id);
1015 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1016 G_MODULE||l_api_name,
1017 'l_appl_id_tbl(1) : 510');
1018 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1019 G_MODULE||l_api_name,
1020 'l_usg_id_tbl(1) : -1');
1021 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1022 G_MODULE||l_api_name,
1023 'p_start_date : '||l_start_date);
1024 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1025 G_MODULE||l_api_name,
1026 'p_end_date : '||l_end_date);
1027 END IF;
1028
1029 -- Put the parameters in log file
1030 fnd_file.put_line(FND_FILE.LOG,' ');
1031 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1032 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.create_publication_request with parameters');
1033 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
1034 fnd_file.put_line(FND_FILE.LOG,'p_model_id: '||p_devl_project_id);
1035 fnd_file.put_line(FND_FILE.LOG,'p_ui_def_id: '||p_ui_def_id);
1036 fnd_file.put_line(FND_FILE.LOG,'p_publication_mode: '||p_publication_mode);
1037 fnd_file.put_line(FND_FILE.LOG,'p_server_id: '||l_server_id);
1038 fnd_file.put_line(FND_FILE.LOG,'l_appl_id_tbl(1) : 510');
1039 fnd_file.put_line(FND_FILE.LOG,'l_usg_id_tbl(1) : -1');
1040 fnd_file.put_line(FND_FILE.LOG,'p_start_date: '||l_start_date);
1041 fnd_file.put_line(FND_FILE.LOG,'p_end_date: '||l_end_date);
1042 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
1043 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1044 fnd_file.put_line(FND_FILE.LOG,' ');
1045
1046 -- Add code for initialization of applicability parameters
1047
1048 -- Call the CZ Generic Import API
1049 CZ_CONTRACTS_API_GRP.create_publication_request
1050 (
1051 p_api_version => l_api_version,
1052 p_model_id => p_devl_project_id,
1053 p_ui_def_id => p_ui_def_id,
1054 p_publication_mode => p_publication_mode,
1055 p_server_id => l_server_id,
1056 p_appl_id_tbl => l_appl_id_tbl,
1057 p_usg_id_tbl => l_usg_id_tbl,
1058 p_lang_tbl => l_lang_tbl,
1059 p_start_date => l_start_date,
1060 p_end_date => l_end_date,
1061 x_publication_id => x_publication_id,
1062 x_return_status => x_return_status,
1063 x_msg_count => x_msg_count,
1064 x_msg_data => x_msg_data
1065 );
1066 -- debug log
1067 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1068 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1069 G_MODULE||l_api_name,
1070 ' ********************************************************');
1071 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1072 G_MODULE||l_api_name,
1073 'After Calling CZ_CONTRACTS_API_GRP.create_publication_request ');
1074 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1075 G_MODULE||l_api_name,
1076 'x_publication_id : '||x_publication_id);
1077 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1078 G_MODULE||l_api_name,
1079 'x_return_status : '||x_return_status);
1080 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1081 G_MODULE||l_api_name,
1082 'x_msg_count : '||x_msg_count);
1083 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1084 G_MODULE||l_api_name,
1085 'x_msg_data : '||x_msg_data);
1086 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1087 G_MODULE||l_api_name,
1088 ' ********************************************************');
1089 END IF;
1090
1091 -- Put the parameters in log file
1092 fnd_file.put_line(FND_FILE.LOG,' ');
1093 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1094 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.create_publication_request');
1095 fnd_file.put_line(FND_FILE.LOG,'x_return_status: '||x_return_status);
1096 fnd_file.put_line(FND_FILE.LOG,'x_publication_id: '||x_publication_id);
1097 fnd_file.put_line(FND_FILE.LOG,'x_msg_count: '||x_msg_count);
1098 fnd_file.put_line(FND_FILE.LOG,'x_msg_data: '||x_msg_data);
1099 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
1100 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1101 fnd_file.put_line(FND_FILE.LOG,' ');
1102
1103
1104 -- Standard call to get message count and if count is 1, get message info.
1105 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
1106
1107 -- end debug log
1108 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1109 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1110 G_MODULE||l_api_name,
1111 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1112 END IF;
1113
1114 EXCEPTION
1115 WHEN OTHERS THEN
1116 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1117 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1118 G_MODULE||l_api_name,
1119 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1120 END IF;
1121 x_return_status := G_RET_STS_UNEXP_ERROR ;
1122
1123 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1124 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
1125 END IF;
1126
1127 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
1128
1129 END create_publication_request;
1130
1131
1132
1133 -------------------------------------------------------------------------------
1134 /*====================================================================+
1135 Procedure Name : copy_configuration
1136 Description : Calls CZ's copy_configuration API.
1137
1138 +====================================================================*/
1139 PROCEDURE copy_configuration(
1140 p_api_version IN NUMBER,
1141 p_init_msg_list IN VARCHAR2,
1142 p_config_header_id IN NUMBER,
1143 p_config_rev_nbr IN NUMBER,
1144 p_new_config_flag IN VARCHAR2,
1145 x_new_config_header_id OUT NOCOPY NUMBER,
1146 x_new_config_rev_nbr OUT NOCOPY NUMBER,
1147 x_return_status OUT NOCOPY VARCHAR2,
1148 x_msg_count OUT NOCOPY NUMBER,
1149 x_msg_data OUT NOCOPY VARCHAR2)
1150
1151 IS
1152
1153 l_api_name CONSTANT VARCHAR2(30) := 'copy_configuration_auto';
1154 l_package_procedure VARCHAR2(60);
1155 l_x_config_header_id NUMBER;
1156 l_x_config_rev_nbr NUMBER;
1157 l_x_error_message VARCHAR2(2000);
1158 l_x_copy_return_status NUMBER;
1159
1160 BEGIN
1161
1162 --
1163 -- Check Debug Value
1164 --
1165 l_package_procedure := G_PKG_NAME || '.' || l_api_name;
1166
1167 -- start debug log
1168 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1169 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1170 G_MODULE||l_api_name,
1171 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
1172 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1173 G_MODULE||l_api_name,
1174 '100: Parameters ');
1175 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1176 G_MODULE||l_api_name,
1177 '100: p_api_version : '||p_api_version);
1178 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1179 G_MODULE||l_api_name,
1180 '100: p_init_msg_list : '||p_init_msg_list);
1181 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1182 G_MODULE||l_api_name,
1183 '100: p_config_header_id : '||p_config_header_id);
1184 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1185 G_MODULE||l_api_name,
1186 '100: p_config_rev_nbr : '||p_config_rev_nbr);
1187 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1188 G_MODULE||l_api_name,
1189 '100: p_new_config_flag : '||p_new_config_flag);
1190 END IF;
1191
1192
1193 x_return_status := G_RET_STS_SUCCESS;
1194
1195 --
1196 -- p_config_header_id AND p_config_rev_nbr cannot be NULL
1197 --
1198 IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL)
1199 THEN
1200 x_msg_data := 'OKC_EXPRT_NULL_PARAM';
1201 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1202 END IF;
1203
1204 -- Fix for P1 bug 4090615. Changed from copy_configuration to copy_configuration_auto
1205 CZ_CF_API.copy_configuration_auto(
1206 config_hdr_id => p_config_header_id,
1207 config_rev_nbr => p_config_rev_nbr,
1208 new_config_flag => 1, -- copy with new config_header_id
1209 out_config_hdr_id => l_x_config_header_id,
1210 out_config_rev_nbr => l_x_config_rev_nbr,
1211 error_message => l_x_error_message,
1212 return_value => l_x_copy_return_status, -- 1 (Success) or 0 (Failure)
1213 handle_deleted_flag => 0, -- undelete new config if source config was deleted
1214 new_name => NULL);
1215
1216 IF (l_x_config_header_id is NULL OR l_x_config_rev_nbr is NULL
1217 OR l_x_copy_return_status = 0)
1218 THEN
1219
1220 IF (l_x_error_message is NOT NULL)
1221 THEN
1222 x_msg_data := l_x_error_message;
1223 ELSE
1224 x_msg_data := 'OKC_EXPRT_COPY_CONFIG_FAILED';
1225 END IF;
1226
1227 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1228 END IF;
1229
1230 x_new_config_header_id := l_x_config_header_id;
1231 x_new_config_rev_nbr := l_x_config_rev_nbr;
1232
1233 -- end debug log
1234 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1235 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1236 G_MODULE||l_api_name,
1237 '1000: x_new_config_header_id : '||l_x_config_header_id);
1238 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1239 G_MODULE||l_api_name,
1240 '1000: x_new_config_rev_nbr : '||l_x_config_rev_nbr);
1241 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1242 G_MODULE||l_api_name,
1243 '1000: x_return_status : '||x_return_status);
1244 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1245 G_MODULE||l_api_name,
1246 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1247 END IF;
1248
1249 EXCEPTION
1250 WHEN FND_API.G_EXC_ERROR THEN
1251
1252 x_return_status := FND_API.G_RET_STS_ERROR ;
1253 FND_MSG_PUB.Count_And_Get(
1254 p_count => x_msg_count,
1255 p_data => x_msg_data
1256 );
1257
1258 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1259 x_return_status := FND_API.G_RET_STS_ERROR ;
1260 FND_MSG_PUB.Count_And_Get(
1261 p_count => x_msg_count,
1262 p_data => x_msg_data
1263 );
1264
1265 WHEN OTHERS THEN
1266 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1267
1268 IF FND_MSG_PUB.Check_Msg_Level
1269 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1270 THEN
1271 FND_MSG_PUB.Add_Exc_Msg(
1272 G_PKG_NAME ,
1273 l_api_name
1274 );
1275 END IF;
1276
1277 FND_MSG_PUB.Count_And_Get(
1278 p_count => x_msg_count,
1279 p_data => x_msg_data
1280 );
1281 END copy_configuration;
1282
1283 -------------------------------------------------------------------------------
1284 /*====================================================================+
1285 Procedure Name : delete_configuration
1286 Description : Calls CZ's delete_configuration API.
1287
1288 +====================================================================*/
1289 PROCEDURE delete_configuration(
1290 p_api_version IN NUMBER,
1291 p_init_msg_list IN VARCHAR2,
1292 p_config_header_id IN NUMBER,
1293 p_config_rev_nbr IN NUMBER,
1294 x_return_status OUT NOCOPY VARCHAR2,
1295 x_msg_count OUT NOCOPY NUMBER,
1296 x_msg_data OUT NOCOPY VARCHAR2)
1297
1298 IS
1299
1300 l_api_name CONSTANT VARCHAR2(30) := 'delete_configuration';
1301 l_package_procedure VARCHAR2(60);
1302
1303 l_x_usage_exists NUMBER; -- 1 if configuration usage record exists and
1304 -- configuration is not deleted.
1305
1306 l_x_delete_status NUMBER; -- 1 if delete was successful; otherwise 0
1307 l_x_error_message VARCHAR2(2000); -- error message if l_x_delete_status = 0
1308
1309 BEGIN
1310
1311 --
1312 -- Check Debug Value
1313 --
1314 l_package_procedure := G_PKG_NAME || '.' || l_api_name;
1315 -- start debug log
1316 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1317 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1318 G_MODULE||l_api_name,
1319 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
1320 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1321 G_MODULE||l_api_name,
1322 '100: Parameters ');
1323 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1324 G_MODULE||l_api_name,
1325 '100: p_api_version : '||p_api_version);
1326 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1327 G_MODULE||l_api_name,
1328 '100: p_init_msg_list : '||p_init_msg_list);
1329 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1330 G_MODULE||l_api_name,
1331 '100: p_config_header_id : '||p_config_header_id);
1332 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1333 G_MODULE||l_api_name,
1334 '100: p_config_rev_nbr : '||p_config_rev_nbr);
1335 END IF;
1336
1337 x_return_status := G_RET_STS_SUCCESS;
1338
1339 CZ_CF_API.delete_configuration(
1340 config_hdr_id => p_config_header_id,
1341 config_rev_nbr => p_config_rev_nbr,
1342 usage_exists => l_x_usage_exists,
1343 error_message => l_x_error_message,
1344 return_value => l_x_delete_status);
1345
1346 IF (l_x_delete_status = 0)
1347 THEN
1348
1349 IF (l_x_error_message is NOT NULL)
1350 THEN
1351 x_msg_data := l_x_error_message;
1352 ELSE
1353 x_msg_data := 'OKC_EXPRT_DEL_CONFIG_FAILED';
1354 END IF;
1355 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1356
1357 END IF;
1358
1359
1360 -- end debug log
1361 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1362 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1363 G_MODULE||l_api_name,
1364 '1000: x_return_status : '||x_return_status);
1365 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1366 G_MODULE||l_api_name,
1367 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1368 END IF;
1369
1370
1371 EXCEPTION
1372 WHEN FND_API.G_EXC_ERROR THEN
1373
1374 x_return_status := FND_API.G_RET_STS_ERROR ;
1375 FND_MSG_PUB.Count_And_Get(
1376 p_count => x_msg_count,
1377 p_data => x_msg_data
1378 );
1379
1380 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1381 x_return_status := FND_API.G_RET_STS_ERROR ;
1382 FND_MSG_PUB.Count_And_Get(
1383 p_count => x_msg_count,
1384 p_data => x_msg_data
1385 );
1386
1387 WHEN OTHERS THEN
1388 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1389
1390 IF FND_MSG_PUB.Check_Msg_Level
1391 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1392 THEN
1393 FND_MSG_PUB.Add_Exc_Msg(
1394 G_PKG_NAME ,
1395 l_api_name
1396 );
1397 END IF;
1398
1399 FND_MSG_PUB.Count_And_Get(
1400 p_count => x_msg_count,
1401 p_data => x_msg_data
1402 );
1403
1404 END delete_configuration;
1405 -------------------------------------------------------------------------------
1406 /*====================================================================+
1407 Procedure Name : batch_validate
1408 Description : Calls CZ's Validate API and Converts the HTML_PIECES
1409 output to LONG for Parsing.
1410
1411 Configurator's Output Validation Status:
1412 CONFIG_PROCESSED constant NUMBER :=0;
1413 CONFIG_PROCESSED_NO_TERMINATE constant NUMBER :=1;
1414 INIT_TOO_LONG constant NUMBER :=2;
1415 INVALID_OPTION_REQUEST constant NUMBER :=3;
1416 CONFIG_EXCEPTION constant NUMBER :=4;
1417 DATABASE_ERROR constant NUMBER :=5;
1418 UTL_HTTP_INIT_FAILED constant NUMBER :=6;
1419 UTL_HTTP_REQUEST_FAILED constant NUMBER :=7;
1420 +====================================================================*/
1421 PROCEDURE batch_validate(
1422 p_api_version IN NUMBER,
1423 p_init_msg_list IN VARCHAR2,
1424 p_cz_xml_init_msg IN VARCHAR2,
1425 x_cz_xml_terminate_msg OUT NOCOPY LONG, -- CZ_CF_API.CFG_OUTPUT_PIECES,
1426 x_return_status OUT NOCOPY VARCHAR2,
1427 x_msg_count OUT NOCOPY NUMBER,
1428 x_msg_data OUT NOCOPY VARCHAR2)
1429
1430 IS
1431
1432 l_api_name CONSTANT VARCHAR2(30) := 'batch_validate';
1433 l_package_procedure VARCHAR2(60);
1434
1435 l_cfg_input_list CZ_CF_API.CFG_INPUT_LIST; -- Not passing any inputs.
1436 -- Note that CZ's Validate procedure
1437 -- must be modified to accommodate
1438 -- inputs from non-BOM applications.
1439 l_cfg_output_pieces CZ_CF_API.CFG_OUTPUT_PIECES; -- UTL_HTTP.HTML_PIECES
1440 l_x_validation_status NUMBER; -- See Valid Values in Procedure Header.
1441
1442 l_rec_index NUMBER;
1443 l_long_xml LONG;
1444
1445 BEGIN
1446
1447 --
1448 -- Check Debug Value
1449 --
1450 l_package_procedure := G_PKG_NAME || '.' || l_api_name;
1451
1452 -- start debug log
1453 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1454 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1455 G_MODULE||l_api_name,
1456 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
1457 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1458 G_MODULE||l_api_name,
1459 '100: Parameters ');
1460 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1461 G_MODULE||l_api_name,
1462 '100: p_api_version : '||p_api_version);
1463 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1464 G_MODULE||l_api_name,
1465 '100: p_init_msg_list : '||p_init_msg_list);
1466 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1467 G_MODULE||l_api_name,
1468 '100: p_cz_xml_init_msg : '||p_cz_xml_init_msg);
1469 END IF;
1470
1471 x_return_status := G_RET_STS_SUCCESS;
1472
1473 IF (p_cz_xml_init_msg is NULL)
1474 THEN
1475 x_msg_data := 'OKC_EXPRT_BV_NULL_INIT_MSG';
1476 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1477 END IF;
1478
1479
1480 CZ_CF_API.VALIDATE(
1481 config_input_list => l_cfg_input_list,
1482 init_message => p_cz_xml_init_msg,
1483 config_messages => l_cfg_output_pieces,
1484 validation_status => l_x_validation_status,
1485 url => FND_PROFILE.value('CZ_UIMGR_URL'),
1486 p_validation_type => CZ_API_PUB.VALIDATE_ORDER);
1487
1488
1489 -- debug log
1490 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1491 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1492 G_MODULE||l_api_name,
1493 '100: validation_status : '||l_x_validation_status);
1494 END IF;
1495
1496
1497
1498 IF (l_cfg_output_pieces.COUNT > 0 )
1499 THEN
1500 l_rec_index := l_cfg_output_pieces.FIRST;
1501 LOOP
1502 -- debug log
1503 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1504 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1505 G_MODULE||l_api_name,
1506 '100: cz terminate msg = '||ltrim(rtrim(substr(l_cfg_output_pieces(l_rec_index),1,255))));
1507 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1508 G_MODULE||l_api_name,
1509 '100: cz terminate msg = '||ltrim(rtrim(substr(l_cfg_output_pieces(l_rec_index),256,255))));
1510 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1511 G_MODULE||l_api_name,
1512 '100: cz terminate msg = '||ltrim(rtrim(substr(l_cfg_output_pieces(l_rec_index),512,255))));
1513 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1514 G_MODULE||l_api_name,
1515 '100: cz terminate msg = '||ltrim(rtrim(substr(l_cfg_output_pieces(l_rec_index),768,255))));
1516 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1517 G_MODULE||l_api_name,
1518 '100: cz terminate msg = '||ltrim(rtrim(substr(l_cfg_output_pieces(l_rec_index),1024,255))));
1519 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1520 G_MODULE||l_api_name,
1521 '100: cz terminate msg = '||ltrim(rtrim(substr(l_cfg_output_pieces(l_rec_index),1280,255))));
1522 END IF; -- debug log
1523
1524 EXIT WHEN l_rec_index = l_cfg_output_pieces.LAST;
1525 l_rec_index := l_cfg_output_pieces.NEXT(l_rec_index);
1526 END LOOP;
1527 END IF;
1528
1529 --IF (l_x_validation_status <> 0 OR l_cfg_output_pieces.COUNT <= 0)
1530 IF (l_cfg_output_pieces.COUNT <= 0)
1531 THEN
1532
1533 x_msg_data := 'OKC_EXPRT_BV_VALIDATE_ERROR';
1534
1535 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1536
1537 END IF;
1538
1539
1540 -- CZ_CF_API.VALIDATE returns the status as a constant in range of
1541 -- 0 to 8 in which 0 is success
1542
1543 IF (l_x_validation_status = 1) THEN
1544 x_msg_data := 'CONFIG_PROCESSED_NO_TERMINATE';
1545 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1546 ELSIF (l_x_validation_status = 2) THEN
1547 x_msg_data := 'INIT_TOO_LONG';
1548 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1549 ELSIF (l_x_validation_status = 3) THEN
1550 x_msg_data := 'INVALID_OPTION_REQUEST';
1551 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1552 ELSIF (l_x_validation_status = 4) THEN
1553 x_msg_data := 'CONFIG_EXCEPTION';
1554 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1555 ELSIF (l_x_validation_status = 5) THEN
1556 x_msg_data := 'DATABASE_ERROR';
1557 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1558 ELSIF (l_x_validation_status = 6) THEN
1559 x_msg_data := 'UTL_HTTP_INIT_FAILED';
1560 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1561 ELSIF (l_x_validation_status = 7) THEN
1562 x_msg_data := 'UTL_HTTP_REQUEST_FAILED';
1563 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1564 ELSIF (l_x_validation_status = 8) THEN
1565 x_msg_data := 'INVALID_VALIDATION_TYPE';
1566 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1567 END IF; -- l_x_validation_status <> 0
1568
1569 --
1570 -- Convert HTML_PIECES to LONG for parsing
1571 --
1572 l_rec_index := l_cfg_output_pieces.FIRST;
1573 LOOP
1574
1575 l_long_xml := l_long_xml || l_cfg_output_pieces(l_rec_index);
1576
1577 EXIT WHEN l_rec_index = l_cfg_output_pieces.LAST;
1578 l_rec_index := l_cfg_output_pieces.NEXT(l_rec_index);
1579
1580 END LOOP;
1581
1582 x_cz_xml_terminate_msg := l_long_xml;
1583
1584
1585 -- end debug log
1586 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1587 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1588 G_MODULE||l_api_name,
1589 '1000: x_return_status : '||x_return_status);
1590 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1591 G_MODULE||l_api_name,
1592 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1593 END IF;
1594
1595
1596 EXCEPTION
1597 WHEN FND_API.G_EXC_ERROR THEN
1598
1599 x_return_status := FND_API.G_RET_STS_ERROR ;
1600 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1601 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
1602 END IF;
1603
1604 FND_MSG_PUB.Count_And_Get(
1605 p_count => x_msg_count,
1606 p_data => x_msg_data
1607 );
1608
1609 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1610 x_return_status := FND_API.G_RET_STS_ERROR ;
1611 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1612 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
1613 END IF;
1614 FND_MSG_PUB.Count_And_Get(
1615 p_count => x_msg_count,
1616 p_data => x_msg_data
1617 );
1618
1619 WHEN OTHERS THEN
1620 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1621
1622 IF FND_MSG_PUB.Check_Msg_Level
1623 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1624 THEN
1625 FND_MSG_PUB.Add_Exc_Msg(
1626 G_PKG_NAME ,
1627 l_api_name
1628 );
1629 END IF;
1630
1631 FND_MSG_PUB.Count_And_Get(
1632 p_count => x_msg_count,
1633 p_data => x_msg_data
1634 );
1635 END batch_validate;
1636
1637 -------------------------------------------------------------------------------
1638
1639 ---------------------------------------------------
1640 ---------------------------------------------------
1641 -- Procedure: edit_publication
1642 ---------------------------------------------------
1643 PROCEDURE edit_publication
1644 (
1645 p_api_version IN NUMBER,
1646 p_init_msg_lst IN VARCHAR2,
1647 p_publication_id IN NUMBER,
1648 p_publication_mode IN VARCHAR2,
1649 x_return_status OUT NOCOPY VARCHAR2,
1650 x_msg_data OUT NOCOPY VARCHAR2,
1651 x_msg_count OUT NOCOPY NUMBER
1652 ) IS
1653
1654 l_api_version CONSTANT NUMBER := 1;
1655 l_api_name CONSTANT VARCHAR2(30) := 'edit_publication';
1656 l_cz_return_status NUMBER;
1657
1658 l_applicationId CZ_CONTRACTS_API_GRP.t_ref;
1659 l_usageId CZ_CONTRACTS_API_GRP.t_ref;
1660 l_languageId CZ_CONTRACTS_API_GRP.t_lang_code;
1661
1662 l_startdate DATE;
1663 l_disabledate DATE;
1664
1665 CURSOR csr_installed_languages IS
1666 SELECT L.LANGUAGE_CODE
1667 FROM FND_LANGUAGES L
1668 WHERE L.INSTALLED_FLAG IN ('I', 'B');
1669
1670 BEGIN
1671
1672 -- start debug log
1673 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1674 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1675 G_MODULE||l_api_name,
1676 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
1677 END IF;
1678
1679 -- Standard call to check for call compatibility.
1680 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1681 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1682 END IF;
1683
1684 IF FND_API.to_Boolean( p_init_msg_lst ) THEN
1685 FND_MSG_PUB.initialize;
1686 END IF;
1687
1688 -- Initialize API return status to success
1689 x_return_status := FND_API.G_RET_STS_SUCCESS;
1690
1691 -- Initialize Input parameters for the CZ api
1692 l_applicationId(1) := '510'; -- OKC App Id
1693 l_usageId(1) := '-1'; -- Any usage
1694
1695 -- Get all installed languages
1696 OPEN csr_installed_languages;
1697 FETCH csr_installed_languages BULK COLLECT INTO l_languageId;
1698 CLOSE csr_installed_languages;
1699
1700 l_startdate := G_CZ_EPOCH_BEGIN; -- Need to change to CZ_CONTRACTS_API_GRP once available
1701 l_disabledate := G_CZ_EPOCH_END; -- Need to change to CZ_CONTRACTS_API_GRP once available
1702
1703 -- debug log
1704 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1705 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1706 G_MODULE||l_api_name,
1707 ' ********************************************************');
1708 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1709 G_MODULE||l_api_name,
1710 'Calling CZ_CONTRACTS_API_GRP.edit_publication with parameters');
1711 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1712 G_MODULE||l_api_name,
1713 'p_api_version : '||l_api_version);
1714 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1715 G_MODULE||l_api_name,
1716 'p_publication_id : '||p_publication_id);
1717 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1718 G_MODULE||l_api_name,
1719 'p_publication_mode : '||p_publication_mode);
1720 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1721 G_MODULE||l_api_name,
1722 'p_applicationId(1) : 510');
1723 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1724 G_MODULE||l_api_name,
1725 'p_usageId(1) : -1');
1726 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1727 G_MODULE||l_api_name,
1728 'p_startdate : '||l_startdate);
1729 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1730 G_MODULE||l_api_name,
1731 'p_disabledate : '||l_disabledate);
1732 END IF;
1733
1734 -- Put the parameters in log file
1735 fnd_file.put_line(FND_FILE.LOG,' ');
1736 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1737 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.edit_publication with parameters');
1738 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
1739 fnd_file.put_line(FND_FILE.LOG,'p_publication_id: '||p_publication_id);
1740 fnd_file.put_line(FND_FILE.LOG,'p_publication_mode: '||p_publication_mode);
1741 fnd_file.put_line(FND_FILE.LOG,'p_applicationId: 510 ');
1742 fnd_file.put_line(FND_FILE.LOG,'p_usageId: -1 ');
1743 fnd_file.put_line(FND_FILE.LOG,'p_startdate: '||l_startdate);
1744 fnd_file.put_line(FND_FILE.LOG,'p_disabledate: '||l_disabledate);
1745 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
1746 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1747 fnd_file.put_line(FND_FILE.LOG,' ');
1748
1749 -- Initialize the CZ parameter values
1750
1751
1752 CZ_CONTRACTS_API_GRP.edit_publication
1753 (
1754 p_api_version => l_api_version,
1755 p_publicationid => p_publication_id,
1756 p_applicationId => l_applicationId,
1757 p_languageId => l_languageId,
1758 p_usageId => l_usageId,
1759 p_startdate => l_startdate,
1760 p_disabledate => l_disabledate,
1761 p_publicationmode => p_publication_mode,
1762 x_return_status => x_return_status,
1763 x_msg_count => x_msg_count,
1764 x_msg_data => x_msg_data
1765 );
1766
1767
1768 -- debug log
1769 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1770 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1771 G_MODULE||l_api_name,
1772 ' ********************************************************');
1773 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1774 G_MODULE||l_api_name,
1775 'After Calling CZ_CONTRACTS_API_GRP.edit_publication ');
1776 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1777 G_MODULE||l_api_name,
1778 'x_return_status : '||x_return_status);
1779 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1780 G_MODULE||l_api_name,
1781 'x_msg_count : '||x_msg_count);
1782 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1783 G_MODULE||l_api_name,
1784 'x_msg_data : '||x_msg_data);
1785 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1786 G_MODULE||l_api_name,
1787 ' ********************************************************');
1788 END IF;
1789
1790 -- Put the parameters in log file
1791 fnd_file.put_line(FND_FILE.LOG,' ');
1792 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1793 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.edit_publication');
1794 fnd_file.put_line(FND_FILE.LOG,'x_return_status: '||x_return_status);
1795 fnd_file.put_line(FND_FILE.LOG,'x_msg_count: '||x_msg_count);
1796 fnd_file.put_line(FND_FILE.LOG,'x_msg_data: '||x_msg_data);
1797 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
1798 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1799 fnd_file.put_line(FND_FILE.LOG,' ');
1800
1801
1802
1803 -- Standard call to get message count and if count is 1, get message info.
1804 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
1805
1806 -- end debug log
1807 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1808 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1809 G_MODULE||l_api_name,
1810 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1811 END IF;
1812
1813 EXCEPTION
1814 WHEN OTHERS THEN
1815 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1816 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1817 G_MODULE||l_api_name,
1818 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1819 END IF;
1820 x_return_status := G_RET_STS_UNEXP_ERROR ;
1821
1822 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1823 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
1824 END IF;
1825
1826 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
1827
1828 END edit_publication;
1829
1830
1831 PROCEDURE publish_model
1832 (
1833 p_api_version IN NUMBER,
1834 p_init_msg_lst IN VARCHAR2,
1835 p_publication_id IN NUMBER,
1836 x_run_id OUT NOCOPY NUMBER,
1837 x_return_status OUT NOCOPY VARCHAR2,
1838 x_msg_data OUT NOCOPY VARCHAR2,
1839 x_msg_count OUT NOCOPY NUMBER
1840 ) IS
1841
1842 l_api_version CONSTANT NUMBER := 1;
1843 l_api_name CONSTANT VARCHAR2(30) := 'publish_model';
1844
1845 l_rec_number NUMBER:= 0;
1846
1847 CURSOR csr_db_logs(p_run_id IN NUMBER) IS
1848 SELECT logtime,
1849 caller,
1850 message
1851 FROM cz_db_logs
1852 WHERE run_id = p_run_id
1853 ORDER BY logtime;
1854
1855 BEGIN
1856
1857 -- start debug log
1858 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1859 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1860 G_MODULE||l_api_name,
1861 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
1862 END IF;
1863
1864 -- Standard call to check for call compatibility.
1865 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1866 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1867 END IF;
1868
1869 IF FND_API.to_Boolean( p_init_msg_lst ) THEN
1870 FND_MSG_PUB.initialize;
1871 END IF;
1872
1873 -- Initialize API return status to success
1874 x_return_status := FND_API.G_RET_STS_SUCCESS;
1875
1876 -- debug log
1877 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1878 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1879 G_MODULE||l_api_name,
1880 ' ********************************************************');
1881 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1882 G_MODULE||l_api_name,
1883 'Calling CZ_CONTRACTS_API_GRP.publish_model with parameters');
1884 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1885 G_MODULE||l_api_name,
1886 'p_api_version : '||l_api_version);
1887 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1888 G_MODULE||l_api_name,
1889 'p_devl_project_id : '||p_publication_id);
1890 END IF;
1891
1892 -- Put the parameters in log file
1893 fnd_file.put_line(FND_FILE.LOG,' ');
1894 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1895 fnd_file.put_line(FND_FILE.LOG,'Calling CZ_CONTRACTS_API_GRP.publish_model with parameters');
1896 fnd_file.put_line(FND_FILE.LOG,'p_api_version: '||l_api_version);
1897 fnd_file.put_line(FND_FILE.LOG,'p_publication_id: '||p_publication_id);
1898 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
1899 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1900 fnd_file.put_line(FND_FILE.LOG,' ');
1901
1902 -- Call the CZ Generic Import API
1903 /*
1904 CZ will return Success for publish_model if there were warnings
1905 In case of warnings x_run_id will NOT be 0 and x_msg_data will have data
1906 from cz_db_logs
1907 */
1908 CZ_CONTRACTS_API_GRP.publish_model
1909 (
1910 p_api_version => l_api_version,
1911 p_publication_id => p_publication_id,
1912 x_run_id => x_run_id,
1913 x_return_status => x_return_status,
1914 x_msg_count => x_msg_count,
1915 x_msg_data => x_msg_data
1916
1917 );
1918
1919 -- debug log
1920 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1921 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1922 G_MODULE||l_api_name,
1923 ' ********************************************************');
1924 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1925 G_MODULE||l_api_name,
1926 'After Calling CZ_CONTRACTS_API_GRP.publish_model ');
1927 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1928 G_MODULE||l_api_name,
1929 'x_status : '||x_return_status);
1930 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1931 G_MODULE||l_api_name,
1932 'x_run_id : '||x_run_id);
1933 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1934 G_MODULE||l_api_name,
1935 ' ********************************************************');
1936 END IF;
1937
1938 -- Put the parameters in log file
1939 fnd_file.put_line(FND_FILE.LOG,' ');
1940 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1941 fnd_file.put_line(FND_FILE.LOG,'After calling CZ_CONTRACTS_API_GRP.publish_model');
1942 fnd_file.put_line(FND_FILE.LOG,'x_status: '||x_return_status);
1943 fnd_file.put_line(FND_FILE.LOG,'x_run_id: '||x_run_id);
1944 fnd_file.put_line(FND_FILE.LOG,'Current Time : '||to_char(sysdate,'dd mm yyyy HH:MI:SS'));
1945 fnd_file.put_line(FND_FILE.LOG,'*********************************************** ');
1946 fnd_file.put_line(FND_FILE.LOG,' ');
1947
1948 -- bug 4081597 If any errors happens put details in logfile
1949 IF (x_return_status = G_RET_STS_UNEXP_ERROR) OR (x_return_status = G_RET_STS_ERROR) THEN
1950 FOR csr_db_logs_rec IN csr_db_logs(p_run_id => x_run_id)
1951 LOOP
1952 l_rec_number := l_rec_number +1;
1953 fnd_file.put_line(FND_FILE.LOG,' ');
1954 fnd_file.put_line(FND_FILE.LOG,'*************** Record : '||l_rec_number||' **************');
1955 fnd_file.put_line(FND_FILE.LOG,'Logtime : '||csr_db_logs_rec.logtime);
1956 fnd_file.put_line(FND_FILE.LOG,'Caller : '||csr_db_logs_rec.caller);
1957 fnd_file.put_line(FND_FILE.LOG,'Message : '||csr_db_logs_rec.message);
1958 fnd_file.put_line(FND_FILE.LOG,' ');
1959 fnd_file.put_line(FND_FILE.LOG,' ');
1960 END LOOP;
1961 END IF;
1962
1963
1964 -- Standard call to get message count and if count is 1, get message info.
1965 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
1966
1967 -- end debug log
1968 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1969 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1970 G_MODULE||l_api_name,
1971 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1972 END IF;
1973
1974 EXCEPTION
1975 WHEN OTHERS THEN
1976 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1977 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
1978 G_MODULE||l_api_name,
1979 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1980 END IF;
1981 x_return_status := G_RET_STS_UNEXP_ERROR ;
1982
1983 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1984 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
1985 END IF;
1986
1987 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
1988
1989 END publish_model;
1990
1991
1992
1993 PROCEDURE publication_for_product
1994 (
1995 p_api_version IN NUMBER,
1996 p_init_msg_lst IN VARCHAR2,
1997 p_product_key IN VARCHAR2,
1998 p_usage_name IN VARCHAR2,
1999 p_publication_mode IN VARCHAR2,
2000 p_effective_date IN DATE,
2001 x_publication_id OUT NOCOPY NUMBER,
2002 x_return_status OUT NOCOPY VARCHAR2,
2003 x_msg_count OUT NOCOPY NUMBER,
2004 x_msg_data OUT NOCOPY VARCHAR2
2005 ) IS
2006
2007 l_api_version CONSTANT NUMBER := 1;
2008 l_api_name CONSTANT VARCHAR2(30) := 'publication_for_product';
2009
2010 BEGIN
2011
2012 -- start debug log
2013 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2014 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2015 G_MODULE||l_api_name,
2016 '100: Entered '||G_PKG_NAME ||'.'||l_api_name);
2017 END IF;
2018
2019 -- Standard call to check for call compatibility.
2020 IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2021 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2022 END IF;
2023
2024 IF FND_API.to_Boolean( p_init_msg_lst ) THEN
2025 FND_MSG_PUB.initialize;
2026 END IF;
2027
2028 -- Initialize API return status to success
2029 x_return_status := FND_API.G_RET_STS_SUCCESS;
2030
2031 -- debug log
2032 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2033 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2034 G_MODULE||l_api_name,
2035 ' ********************************************************');
2036 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2037 G_MODULE||l_api_name,
2038 'Calling CZ_CF_API.publication_for_product with parameters');
2039 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2040 G_MODULE||l_api_name,
2041 'p_api_version : '||l_api_version);
2042 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2043 G_MODULE||l_api_name,
2044 'p_product_key : '||p_product_key);
2045 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2046 G_MODULE||l_api_name,
2047 'p_usage_name : '||p_usage_name);
2048 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2049 G_MODULE||l_api_name,
2050 'p_publication_mode : '||p_publication_mode);
2051 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2052 G_MODULE||l_api_name,
2053 'p_effective_date : '||p_effective_date);
2054 END IF;
2055
2056 x_publication_id := CZ_CF_API.publication_for_product
2057 (
2058 product_key => p_product_key,
2059 config_lookup_date => p_effective_date,
2060 calling_application_id => 510,
2061 usage_name => p_usage_name, -- Defaults to:CZ: Publication Usage profile
2062 publication_mode => p_publication_mode, -- OKC always uses Production
2063 language => USERENV('LANG')
2064 );
2065
2066
2067 -- debug log
2068 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2069 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2070 G_MODULE||l_api_name,
2071 ' ********************************************************');
2072 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2073 G_MODULE||l_api_name,
2074 'After Calling CZ_CF_API.publication_for_product with parameters');
2075 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2076 G_MODULE||l_api_name,
2077 'x_publication_id : '||x_publication_id);
2078 END IF;
2079
2080
2081
2082 -- Standard call to get message count and if count is 1, get message info.
2083 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
2084
2085 -- end debug log
2086 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2087 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2088 G_MODULE||l_api_name,
2089 '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
2090 END IF;
2091
2092 EXCEPTION
2093 WHEN OTHERS THEN
2094 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2095 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2096 G_MODULE||l_api_name,
2097 '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
2098 END IF;
2099 x_return_status := G_RET_STS_UNEXP_ERROR ;
2100
2101 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
2102 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
2103 END IF;
2104
2105 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
2106
2107 END publication_for_product;
2108
2109
2110
2111
2112
2113 -------------------------------------------------------------------------------
2114
2115 END OKC_XPRT_CZ_INT_PVT ;