[Home] [Help]
PACKAGE BODY: APPS.CZ_CONTRACTS_API_GRP
Source
1 PACKAGE BODY CZ_contracts_api_grp AS
2 /* $Header: czgconab.pls 120.1 2008/04/03 14:22:54 skudryav ship $ */
3 --------------------------------------------------------------------------------
4
5 G_INCOMPATIBLE_API EXCEPTION;
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'cz_contracts_api_grp';
7
8 --------------------------------------------------------------------------------
9 FUNCTION rp_folder_exists (p_api_version IN NUMBER,
10 p_encl_folder_id IN NUMBER,
11 p_rp_folder_id IN NUMBER) RETURN BOOLEAN
12 IS
13 x_folder_exists BOOLEAN := FALSE;
14 BEGIN
15 x_folder_exists:=cz_modeloperations_pub.rp_folder_exists(p_api_version
16 ,p_encl_folder_id
17 ,p_rp_folder_id);
18 RETURN x_folder_exists;
19 END rp_folder_exists;
20 --------------------------------------------------------------------------------
21 PROCEDURE create_rp_folder(p_api_version IN NUMBER
22 ,p_encl_folder_id IN CZ_RP_ENTRIES.OBJECT_ID%TYPE
23 ,p_new_folder_name IN CZ_RP_ENTRIES.NAME%TYPE
24 ,p_folder_desc IN CZ_RP_ENTRIES.DESCRIPTION%TYPE
25 ,p_folder_notes IN CZ_RP_ENTRIES.NOTES%TYPE
26 ,x_new_folder_id OUT NOCOPY CZ_RP_ENTRIES.OBJECT_ID%TYPE
27 ,x_return_status OUT NOCOPY VARCHAR2
28 ,x_msg_count OUT NOCOPY NUMBER
29 ,x_msg_data OUT NOCOPY VARCHAR2
30 )
31 IS
32 BEGIN
33 cz_modeloperations_pub.create_rp_folder(p_api_version
34 ,p_encl_folder_id
35 ,p_new_folder_name
36 ,p_folder_desc
37 ,p_folder_notes
38 ,x_new_folder_id
39 ,x_return_status
40 ,x_msg_count
41 ,x_msg_data);
42 END create_rp_folder;
43 --------------------------------------------------------------------------------
44 PROCEDURE import_generic(p_api_version IN NUMBER
45 ,p_run_id IN NUMBER
46 ,p_rp_folder_id IN NUMBER
47 ,x_run_id OUT NOCOPY NUMBER
48 ,x_status OUT NOCOPY NUMBER)
49 IS
50 BEGIN
51
52 cz_imp_ps_node.gContractsModel := TRUE; /* cnd_devl_project() checks this to allow seeded models */
53 cz_modeloperations_pub.import_generic(p_api_version
54 ,p_run_id
55 ,p_rp_folder_id
56 ,x_run_id
57 ,x_status);
58 cz_imp_ps_node.gContractsModel := FALSE;
59 EXCEPTION
60 WHEN OTHERS THEN
61 cz_imp_ps_node.gContractsModel := FALSE;
62 RAISE;
63 END import_generic;
64 --------------------------------------------------------------------------------
65 PROCEDURE delete_model(p_api_version IN NUMBER
66 ,p_model_id IN NUMBER
67 ,p_orig_sys_ref IN VARCHAR2
68 ,x_return_status OUT NOCOPY VARCHAR2
69 ,x_msg_count OUT NOCOPY NUMBER
70 ,x_msg_data OUT NOCOPY VARCHAR2)
71 IS
72
73 l_api_version CONSTANT NUMBER := 1.0;
74 l_api_name CONSTANT VARCHAR2(30) := 'delete_model';
75 l_dummy_nbr NUMBER;
76
77 BEGIN
78
79 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
80 RAISE G_INCOMPATIBLE_API;
81 END IF;
82
83 -- check for valid model id and orig sys ref
84 BEGIN
85 SELECT 1 into l_dummy_nbr
86 FROM cz_devl_projects
87 WHERE devl_project_id = p_model_id
88 AND orig_sys_ref = p_orig_sys_ref
89 AND deleted_flag = '0';
90 EXCEPTION
91 WHEN NO_DATA_FOUND THEN
92 x_msg_data := CZ_UTILS.GET_TEXT('CZ_MODEL_NOT_FOUND');
93 x_msg_count := 1;
94 RAISE FND_API.G_EXC_ERROR;
95 END;
96
97 cz_developer_utils_pvt.delete_model(p_model_id
98 ,x_return_status
99 ,x_msg_count
100 ,x_msg_data);
101 EXCEPTION
102 WHEN FND_API.G_EXC_ERROR THEN
103 x_return_status := FND_API.G_RET_STS_ERROR;
104 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
105 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
106 fnd_msg_pub.count_and_get(p_count => x_msg_count,
107 p_data => x_msg_data);
108 WHEN OTHERS THEN
109 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
110 IF fnd_msg_pub.check_msg_Level(fnd_msg_pub.G_MSG_LVL_UNEXP_ERROR) THEN
111 fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name);
112 END IF;
113 fnd_msg_pub.count_and_get(p_count => x_msg_count,
114 p_data => x_msg_data);
115 END delete_model;
116
117 --------------------------------------------------------------------------------
118
119 PROCEDURE create_publication_request (
120 p_api_version IN NUMBER,
121 p_model_id IN NUMBER,
122 p_ui_def_id IN NUMBER,
123 p_publication_mode IN VARCHAR2,
124 p_server_id IN NUMBER,
125 p_appl_id_tbl IN t_ref,
126 p_usg_id_tbl IN t_ref,
127 p_lang_tbl IN t_lang_code,
128 p_start_date IN DATE,
129 p_end_date IN DATE,
130 x_publication_id OUT NOCOPY NUMBER,
131 x_return_status OUT NOCOPY VARCHAR2,
132 x_msg_count OUT NOCOPY NUMBER,
133 x_msg_data OUT NOCOPY VARCHAR2
134 )
135 IS
136 l_appl_id_tbl cz_pb_mgr.t_ref;
137 l_usg_id_tbl cz_pb_mgr.t_ref;
138 l_lang_tbl cz_pb_mgr.t_lang_code;
139 BEGIN
140 FOR i IN p_appl_id_tbl.FIRST..p_appl_id_tbl.LAST LOOP
141 l_appl_id_tbl(i) := p_appl_id_tbl(i);
142 l_usg_id_tbl(i) := p_usg_id_tbl(i);
143 l_lang_tbl(i) := p_lang_tbl(i);
144 END LOOP;
145 cz_pb_mgr.create_publication_request (p_model_id,
146 p_ui_def_id,
147 p_publication_mode,
148 p_server_id,
149 l_appl_id_tbl,
150 l_usg_id_tbl,
151 l_lang_tbl,
152 p_start_date,
153 p_end_date,
154 x_publication_id,
155 x_return_status,
156 x_msg_count,
157 x_msg_data);
158 EXCEPTION
159 WHEN OTHERS THEN
160 x_return_status := FND_API.G_RET_STS_ERROR;
161 FND_MESSAGE.SET_NAME('CZ', 'CZ_PB_CREATE_PB_REQUEST_ERR');
162 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
163 FND_MSG_PUB.ADD;
164 fnd_msg_pub.count_and_get(p_count => x_msg_count,
165 p_data => x_msg_data);
166 END create_publication_request;
167
168 --------------------
169 PROCEDURE EDIT_PUBLICATION(p_api_version IN NUMBER,
170 p_publicationId IN NUMBER,
171 p_applicationId IN OUT NOCOPY VARCHAR2,
172 p_languageId IN OUT NOCOPY VARCHAR2,
173 p_usageId IN OUT NOCOPY VARCHAR2,
174 p_startDate IN DATE,
175 p_disableDate IN DATE,
176 p_publicationMode IN VARCHAR2,
177 x_return_status OUT NOCOPY VARCHAR2,
178 x_msg_count OUT NOCOPY NUMBER,
179 x_msg_data OUT NOCOPY VARCHAR2)
180 IS
181
182 BEGIN
183 cz_pb_mgr.edit_publication (p_publicationId,
184 p_applicationId,
185 p_languageId,
186 p_usageId,
187 p_startDate,
188 p_disableDate,
189 p_publicationMode,
190 x_return_status,
191 x_msg_count,
192 x_msg_data);
193 EXCEPTION
194 WHEN OTHERS THEN
195 x_return_status := FND_API.G_RET_STS_ERROR;
196 FND_MESSAGE.SET_NAME('CZ', 'CZ_EDIT_PUB_ERR');
197 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
198 FND_MSG_PUB.ADD;
199 fnd_msg_pub.count_and_get(p_count => x_msg_count,
200 p_data => x_msg_data);
201 END EDIT_PUBLICATION;
202
203 -----------------------------------
204 PROCEDURE EDIT_PUBLICATION(p_api_version IN NUMBER,
205 p_publicationId IN NUMBER,
206 p_applicationId IN OUT NOCOPY t_ref,
207 p_languageId IN OUT NOCOPY t_lang_code,
208 p_usageId IN OUT NOCOPY t_ref,
209 p_startDate IN DATE,
210 p_disableDate IN DATE,
211 p_publicationMode IN VARCHAR2,
212 x_return_status OUT NOCOPY VARCHAR2,
213 x_msg_count OUT NOCOPY NUMBER,
214 x_msg_data OUT NOCOPY VARCHAR2)
215 IS
216
217 l_lang_tbl cz_pb_mgr.t_lang_code;
218 l_usg_tbl cz_pb_mgr.t_ref;
219 l_appl_tbl cz_pb_mgr.t_ref;
220
221
222 BEGIN
223 l_lang_tbl.DELETE;
224 l_usg_tbl.DELETE;
225 l_appl_tbl.DELETE;
226
227 IF (p_applicationId.COUNT > 0) THEN
228 FOR I IN p_applicationId.FIRST..p_applicationId.LAST
229 LOOP
230 l_appl_tbl(i) := p_applicationId(i);
231 END LOOP;
232 END IF;
233
234 IF (p_languageId.COUNT > 0) THEN
235 FOR I IN p_languageId.FIRST..p_languageId.LAST
236 LOOP
237 l_lang_tbl(i) := p_languageId(i);
238 END LOOP;
239 END IF;
240
241 IF (p_usageId.COUNT > 0) THEN
242 FOR I IN p_usageId.FIRST..p_usageId.LAST
243 LOOP
244 l_usg_tbl(i) := p_usageId(i);
245 END LOOP;
246 END IF;
247
248 cz_pb_mgr.edit_publication (p_publicationId,
249 l_appl_tbl,
250 l_lang_tbl,
251 l_usg_tbl,
252 p_startDate,
253 p_disableDate,
254 p_publicationMode,
255 x_return_status,
256 x_msg_count,
257 x_msg_data);
258 EXCEPTION
259 WHEN OTHERS THEN
260 x_return_status := FND_API.G_RET_STS_ERROR;
261 FND_MESSAGE.SET_NAME('CZ', 'CZ_EDIT_PUB_ERR');
262 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
263 FND_MSG_PUB.ADD;
264 fnd_msg_pub.count_and_get(p_count => x_msg_count,
265 p_data => x_msg_data);
266 END EDIT_PUBLICATION;
267
268 ----------------------------------
269 PROCEDURE DELETE_PUBLICATION(p_api_version IN NUMBER,
270 publicationId IN NUMBER,
271 x_return_status OUT NOCOPY VARCHAR2,
272 x_msg_count OUT NOCOPY NUMBER,
273 x_msg_data OUT NOCOPY VARCHAR2
274 )
275 IS
276
277 BEGIN
278 cz_pb_mgr.delete_publication(publicationId,x_return_status,x_msg_count,x_msg_data);
279 EXCEPTION
280 WHEN OTHERS THEN
281 x_return_status := FND_API.G_RET_STS_ERROR;
282 FND_MESSAGE.SET_NAME('CZ', 'CZ_DELETE_PUB_ERR');
283 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
284 FND_MSG_PUB.ADD;
285 fnd_msg_pub.count_and_get(p_count => x_msg_count,
286 p_data => x_msg_data);
287 END DELETE_PUBLICATION;
288 ----------------------------------
289 PROCEDURE delete_ui_def(p_api_version IN NUMBER,
290 p_ui_def_id IN NUMBER,
291 x_return_status OUT NOCOPY VARCHAR2,
292 x_msg_count OUT NOCOPY NUMBER,
293 x_msg_data OUT NOCOPY VARCHAR2
294 ) IS
295 l_api_name CONSTANT VARCHAR2(30) := 'delete_ui_def';
296 l_api_version CONSTANT NUMBER := 1.0;
297
298 BEGIN
299 -- should initialized the fnd_msg_pub?
300 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
301 RAISE G_INCOMPATIBLE_API;
302 END IF;
303
304 cz_developer_utils_pvt.delete_ui_def(p_ui_def_id,
305 x_return_status,
306 x_msg_count,
307 x_msg_data);
308 EXCEPTION
309 WHEN G_INCOMPATIBLE_API THEN
310 x_return_status := FND_API.G_RET_STS_ERROR;
311 x_msg_count := 1;
312 x_msg_data := CZ_UTILS.GET_TEXT('CZ_MOP_API_VERSION_ERR', 'CODE_VERSION', l_api_version, 'IN_VERSION', p_api_version);
313 FND_MSG_PUB.add;
314 WHEN OTHERS THEN
315 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
316 x_msg_count := 1;
317 x_msg_data := SQLERRM;
318 fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name, x_msg_data);
319 END delete_ui_def;
320
321 PROCEDURE generate_logic(p_api_version IN NUMBER,
322 p_devl_project_id IN NUMBER,
323 x_run_id OUT NOCOPY NUMBER,
324 x_return_status OUT NOCOPY VARCHAR2,
325 x_msg_count OUT NOCOPY NUMBER,
326 x_msg_data OUT NOCOPY VARCHAR2) IS
327
328 l_api_name CONSTANT VARCHAR2(30) := 'generate_logic';
329 l_api_version CONSTANT NUMBER := 1.0;
330 l_status NUMBER;
331
332 BEGIN
333
334 x_msg_count := 0;
335 fnd_msg_pub.initialize;
336 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
337 RAISE G_INCOMPATIBLE_API;
338 END IF;
339
340 cz_modeloperations_pub.generate_logic(p_api_version => 1.0,
341 p_devl_project_id => p_devl_project_id,
342 x_run_id => x_run_id,
343 x_status => l_status);
344
345 IF (x_run_id <> 0) THEN
346 FOR i IN (SELECT message FROM cz_db_logs
347 WHERE run_id = x_run_id)
348 LOOP
349 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME,l_api_name,i.message);
350 x_msg_data := i.message;
351 x_msg_count := x_msg_count + 1;
352 END LOOP;
353 END IF;
354 IF (l_status = cz_modeloperations_pub.G_STATUS_ERROR) THEN
355 x_return_status := FND_API.G_RET_STS_ERROR;
356 ELSE
357 x_return_status := FND_API.G_RET_STS_SUCCESS;
358 END IF;
359 EXCEPTION
360 WHEN G_INCOMPATIBLE_API THEN
361 x_return_status := FND_API.G_RET_STS_ERROR;
362 x_msg_count := 1;
363 x_msg_data := CZ_UTILS.GET_TEXT('CZ_MOP_API_VERSION_ERR', 'CODE_VERSION', l_api_version, 'IN_VERSION', p_api_version);
364 FND_MSG_PUB.add;
365 WHEN OTHERS THEN
366 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
367 x_msg_count := 1;
368 x_msg_data := SQLERRM;
369 fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name, x_msg_data);
370 END generate_logic;
371
372 PROCEDURE publish_model(p_api_version IN NUMBER,
373 p_publication_id IN NUMBER,
374 x_run_id OUT NOCOPY NUMBER,
375 x_return_status OUT NOCOPY VARCHAR2,
376 x_msg_count OUT NOCOPY NUMBER,
377 x_msg_data OUT NOCOPY VARCHAR2) IS
378
379 l_api_name CONSTANT VARCHAR2(30) := 'publish_model';
380 l_api_version CONSTANT NUMBER := 1.0;
381 l_status NUMBER;
382
383 BEGIN
384
385 x_msg_count := 0;
386 fnd_msg_pub.initialize;
387 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
388 RAISE G_INCOMPATIBLE_API;
389 END IF;
390
391 cz_modeloperations_pub.publish_model(p_api_version => 1.0,
392 p_publication_id => p_publication_id,
393 x_run_id => x_run_id,
394 x_status => l_status);
395
396 IF (x_run_id <> 0) THEN
397 FOR i IN (SELECT message FROM cz_db_logs
398 WHERE run_id = x_run_id)
399 LOOP
400 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME,l_api_name,i.message);
401 x_msg_count := x_msg_count + 1;
402 x_msg_data := i.message;
403 END LOOP;
404 END IF;
405 IF (l_status = cz_modeloperations_pub.G_STATUS_ERROR) THEN
406 x_return_status := FND_API.G_RET_STS_ERROR;
407 ELSE
408 x_return_status := FND_API.G_RET_STS_SUCCESS;
409 END IF;
410 EXCEPTION
411 WHEN G_INCOMPATIBLE_API THEN
412 x_return_status := FND_API.G_RET_STS_ERROR;
413 x_msg_count := 1;
414 x_msg_data := CZ_UTILS.GET_TEXT('CZ_MOP_API_VERSION_ERR', 'CODE_VERSION', l_api_version, 'IN_VERSION', p_api_version);
415 FND_MSG_PUB.add;
416 WHEN OTHERS THEN
417 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
418 x_msg_count := 1;
419 x_msg_data := SQLERRM;
420 fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name, x_msg_data);
421 END publish_model;
422 -------------------------------------------------------------------------------
423
424 PROCEDURE create_jrad_ui(p_api_version IN NUMBER,
425 p_devl_project_id IN NUMBER,
426 p_show_all_nodes IN VARCHAR2,
427 p_master_template_id IN NUMBER,
428 p_create_empty_ui IN VARCHAR2,
429 x_ui_def_id OUT NOCOPY NUMBER,
430 x_return_status OUT NOCOPY VARCHAR2,
431 x_msg_count OUT NOCOPY NUMBER,
432 x_msg_data OUT NOCOPY VARCHAR2) IS
433 BEGIN
434 -- fix for bug 6905101 ; skudryav 01-apr-2008
435 FOR i IN(SELECT ui_def_id FROM CZ_UI_DEFS
436 WHERE devl_project_id=p_devl_project_id AND
437 ui_style='7' AND
438 deleted_flag='0')
439 LOOP
440 cz_modeloperations_pub.refresh_jrad_ui(p_api_version => 1.0,
441 p_ui_def_id => i.ui_def_id,
442 x_return_status => x_return_status,
443 x_msg_count => x_msg_count,
444 x_msg_data => x_msg_data);
445 -- return in case of failure
446 IF x_return_status IN(FND_API.G_RET_STS_ERROR, FND_API.G_RET_STS_UNEXP_ERROR) THEN
447 RETURN;
448 END IF;
449 END LOOP;
450 cz_modeloperations_pub.create_jrad_ui(p_api_version => 1.0,
451 p_devl_project_id => p_devl_project_id,
452 p_show_all_nodes => p_show_all_nodes,
453 p_master_template_id => p_master_template_id,
454 p_create_empty_ui => p_create_empty_ui,
455 x_ui_def_id => x_ui_def_id,
456 x_return_status => x_return_status,
457 x_msg_count => x_msg_count,
458 x_msg_data => x_msg_data);
459 END create_jrad_ui;
460
461 END CZ_contracts_api_grp;