[Home] [Help]
PACKAGE BODY: APPS.PRP_IBC_MIGRATION_INT
Source
1 PACKAGE BODY PRP_IBC_MIGRATION_INT AS
2 /* $Header: PRPVMIBB.pls 115.2 2003/10/22 23:22:25 hekkiral noship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):='PRP_IBC_MIGRATION_INT';
5 G_FILE_NAME CONSTANT VARCHAR2(12):='PRPVMIBB.pls';
6
7 --------------------------------------
8 -- Local Procedure to log messages
9 --------------------------------------
10 PROCEDURE Log_Message
11 (
12 pi_migration_code VARCHAR2,
13 pi_module_name VARCHAR2,
14 pi_log_level VARCHAR2,
15 pi_message_text VARCHAR2
16 )
17 IS
18 BEGIN
19
20
21 PRP_MIGRATION_PVT.Log_Message
22 (
23 p_api_version => 1.0,
24 p_init_msg_list => FND_API.G_TRUE,
25 p_commit => FND_API.G_FALSE,
26 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
27 p_module_name => pi_module_name,
28 p_log_level => pi_log_level,
29 p_message_text => pi_message_text,
30 p_migration_code => pi_migration_code,
31 p_created_by => FND_GLOBAL.user_id,
32 p_creation_date => sysdate,
33 p_last_updated_by => FND_GLOBAL.user_id,
34 p_last_update_date => sysdate,
35 p_last_update_login => FND_GLOBAL.login_id
36 );
37
38 END;
39
40 /****************************************************************
41 * Procedure Name: CREATE_CONTENT *
42 * *
43 * *
44 ****************************************************************/
45
46 PROCEDURE CREATE_CONTENT(
47 p_api_version IN NUMBER,
48 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
49 p_component_style_id IN NUMBER,
50 p_base_language IN VARCHAR2,
51 p_file_id IN NUMBER,
52 p_comp_style_ctntver_id IN NUMBER,
53 px_content_item_id IN OUT NOCOPY NUMBER,
54 px_object_version_number IN OUT NOCOPY NUMBER,
55 x_citem_ver_id OUT NOCOPY NUMBER,
56 x_return_status OUT NOCOPY VARCHAR2,
57 x_msg_count OUT NOCOPY NUMBER,
58 x_msg_data OUT NOCOPY VARCHAR2) IS
59
60 l_content_item_id NUMBER;
61 l_object_version_number NUMBER;
62 l_citem_ver_id NUMBER;
63 l_return_status VARCHAR2(30);
64 l_msg_count NUMBER;
65 l_msg_data VARCHAR2(2000);
66 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CONTENT';
67 l_api_version CONSTANT NUMBER := 1;
68 l_module_name CONSTANT VARCHAR2(256) := 'PLSQL.PRP.PRP_IBC_MIGRATION_INT.CREATE_CONTENT';
69 l_migration_code CONSTANT VARCHAR2(30) := 'PRP_COMP_OCM_MIGRATION';
70
71 Begin
72
73 x_return_status := FND_API.G_RET_STS_SUCCESS;
74
75 -- Begin Standard Section
76
77 SAVEPOINT svpt_create_content;
78 IF (p_init_msg_list = FND_API.g_true) THEN
79 FND_MSG_PUB.initialize;
80 END IF;
81
82 -- Standard call to check for call compatibility.
83 IF NOT FND_API.Compatible_API_Call (
84 l_api_version
85 ,p_api_version
86 ,l_api_name
87 ,G_PKG_NAME
88 )THEN
89 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
90 END IF;
91
92 -- Initialize API return status to SUCCESS
93 x_return_status := FND_API.G_RET_STS_SUCCESS;
94 -- End Standard Section
95
96 IF px_content_item_id is not null THEN
97 l_content_item_id := px_content_item_id;
98 END IF;
99
100 IF px_object_version_number is not null THEN
101 l_object_version_number := px_object_version_number;
102 END IF;
103
104 -- Create Content Item.
105 IBC_CITEM_ADMIN_GRP.upsert_item_full(
106 p_ctype_code => 'IBC_FILE'
107 ,p_citem_name => p_component_style_id
108 ,p_citem_description => null
109 ,p_dir_node_id => 43
110 ,p_owner_resource_id => NULL
111 ,p_owner_resource_type => NULL
112 ,p_reference_code => NULL
113 ,p_trans_required => FND_API.g_true -- Translation required.
114 ,p_parent_item_id => NULL
115 ,p_lock_flag => FND_API.g_false
116 ,p_wd_restricted => FND_API.g_true
117 ,p_start_date => NULL
118 ,p_end_date => NULL
119 ,p_attribute_type_codes => NULL
120 ,p_attributes => NULL
121 ,p_attach_file_id => p_file_id
122 ,p_component_citems => NULL
123 ,p_component_atypes => NULL
124 ,p_sort_order => NULL
125 ,p_status => IBC_UTILITIES_PUB.G_STV_WORK_IN_PROGRESS
126 ,p_log_action => FND_API.g_true
127 ,p_language => p_base_language
128 ,p_update => FND_API.g_true
129 ,p_commit => FND_API.g_false
130 ,p_api_version_number => IBC_CITEM_ADMIN_GRP.G_API_VERSION_DEFAULT
131 ,p_init_msg_list => FND_API.g_true
132 ,px_content_item_id => l_content_item_id
133 ,px_object_version_number => l_object_version_number
134 ,px_citem_ver_id => l_citem_ver_id
135 ,x_return_status => l_return_status
136 ,x_msg_count => l_msg_count
137 ,x_msg_data => l_msg_data
138 );
139
140 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
141 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
142 FND_MESSAGE.Set_Token('API', 'IBC_CITEM_ADMIN_GRP.UPSERT_ITEM_FULL');
143 FND_MESSAGE.Set_Token('PROC', 'PRP_IBC_MIGRATION_INT.CREATE_CONTENT');
144 Log_Message(
145 pi_migration_code => l_migration_code
146 ,pi_module_name => l_module_name
147 ,pi_log_level => 'I'
148 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
149 RAISE FND_API.G_EXC_ERROR;
150 END IF;
151
152
153 /* Approve Item */
154
155 IBC_CITEM_ADMIN_GRP.APPROVE_ITEM(
156 p_citem_ver_id => l_citem_ver_id
157 ,p_commit => FND_API.g_false
158 ,p_api_version_number => IBC_CITEM_ADMIN_GRP.G_API_VERSION_DEFAULT
159 ,p_init_msg_list => FND_API.g_true
160 ,px_object_version_number => l_object_version_number
161 ,x_return_status => l_return_status
162 ,x_msg_count => l_msg_count
163 ,x_msg_data => l_msg_data
164 );
165
166
167 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
168 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
169 FND_MESSAGE.Set_Token('API', 'IBC_CITEM_ADMIN_GRP.APPROVE_ITEM');
170 FND_MESSAGE.Set_Token('PROC', 'PRP_IBC_MIGRATION_INT.CREATE_CONTENT');
171 Log_Message(
172 pi_migration_code => l_migration_code
173 ,pi_module_name => l_module_name
174 ,pi_log_level => 'I'
175 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
176 RAISE FND_API.G_EXC_ERROR;
177 END IF;
178
179 IF px_content_item_id is null THEN
180
181 -- Associate Content Item with Component Style
182 Update PRP_COMPONENT_STYLES_B PCS set pcs.content_item_id = l_content_item_id, pcs.content_node_type='HIDDEN'
183 Where pcs.component_style_id = p_component_style_id;
184
185 -- Create Association in OCM.
186 IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION (
187 p_api_version => 1.0
188 ,p_init_msg_list => FND_API.G_TRUE
189 ,p_commit => FND_API.G_FALSE
190 ,p_assoc_type_code => 'PRP_COMPONENT_DOCUMENT'
191 ,p_assoc_object1 => p_component_style_id
192 ,p_content_item_id => l_content_item_id
193 ,p_citem_version_id => null
194 ,x_return_status => l_return_status
195 ,x_msg_count => l_msg_count
196 ,x_msg_data => l_msg_data
197 );
198
199 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
200 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
201 FND_MESSAGE.Set_Token('API', 'IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION');
202 FND_MESSAGE.Set_Token('PROC', 'PRP_IBC_MIGRATION_INT.CREATE_CONTENT');
203 Log_Message(
204 pi_migration_code => l_migration_code
205 ,pi_module_name => l_module_name
206 ,pi_log_level => 'I'
207 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
208 RAISE FND_API.G_EXC_ERROR;
209 END IF;
210
211 END IF;
212
213 -- Update PRP_COMP_STYLE_CTNTVERS table with citem_version_id.
214 Update PRP_COMP_STYLE_CTNTVERS PCC set pcc.citem_version_id = l_citem_ver_id
215 Where pcc.comp_style_ctntver_id = p_comp_style_ctntver_id;
216
217 -- Create Association in OCM for versions.
218 IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION (
219 p_api_version => 1.0
220 ,p_init_msg_list => FND_API.G_TRUE
221 ,p_commit => FND_API.G_FALSE
222 ,p_assoc_type_code => 'PRP_COMPONENT_DOCUMENT_VERSION'
223 ,p_assoc_object1 => p_comp_style_ctntver_id
224 ,p_content_item_id => l_content_item_id
225 ,p_citem_version_id => l_citem_ver_id
226 ,x_return_status => l_return_status
227 ,x_msg_count => l_msg_count
228 ,x_msg_data => l_msg_data
229 );
230
231 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
232 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
233 FND_MESSAGE.Set_Token('API', 'IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION');
234 FND_MESSAGE.Set_Token('PROC', 'PRP_IBC_MIGRATION_INT.CREATE_CONTENT');
235 Log_Message(
236 pi_migration_code => l_migration_code
237 ,pi_module_name => l_module_name
238 ,pi_log_level => 'I'
239 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
240 RAISE FND_API.G_EXC_ERROR;
241 END IF;
242
243 -- Assign values to out variables.
244 x_citem_ver_id := l_citem_ver_id;
245 px_object_version_number := l_object_version_number;
246
247 IF (px_content_item_id IS NULL) THEN
248 px_content_item_id := l_content_item_id;
249 END IF;
250
251
252
253 EXCEPTION
254 WHEN FND_API.G_EXC_ERROR THEN
255 Rollback TO svpt_create_content;
256 x_return_status := FND_API.G_RET_STS_ERROR;
257 FND_MSG_PUB.count_and_get(p_count => x_msg_count
258 ,p_data => x_msg_data);
259 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
260 Rollback TO svpt_create_content;
261 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
262 FND_MSG_PUB.count_and_get(p_count => x_msg_count
263 ,p_data => x_msg_data);
264 WHEN OTHERS THEN
265 Rollback TO svpt_create_content;
266 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
267 -- x_msg_data := sqlerrm;
268 FND_MSG_PUB.count_and_get(p_count => x_msg_count
269 ,p_data => x_msg_data);
270 END CREATE_CONTENT;
271
272 /****************************************************************
273 * Procedure Name: UPDATE_CONTENT *
274 * *
275 * *
276 ****************************************************************/
277
278 PROCEDURE UPDATE_CONTENT(
279 p_api_version IN NUMBER,
280 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
281 p_file_id IN NUMBER,
282 p_component_style_id IN NUMBER,
283 p_comp_style_ctntver_id IN NUMBER,
287 px_object_version_number IN OUT NOCOPY NUMBER,
284 p_content_item_id IN NUMBER,
285 p_citem_version_id IN NUMBER,
286 p_language IN VARCHAR2,
288 x_return_status OUT NOCOPY VARCHAR2,
289 x_msg_count OUT NOCOPY NUMBER,
290 x_msg_data OUT NOCOPY VARCHAR2) IS
291
292 l_content_item_id NUMBER;
293 l_object_version_number NUMBER;
294 l_citem_ver_id NUMBER;
295 l_return_status VARCHAR2(30);
296 l_msg_count NUMBER;
297 l_msg_data VARCHAR2(2000);
298 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CONTENT';
299 l_api_version CONSTANT NUMBER := 1;
300 l_module_name CONSTANT VARCHAR2(256) := 'PLSQL.PRP.PRP_IBC_MIGRATION_INT.UPDATE_CONTENT';
301 l_migration_code CONSTANT VARCHAR2(30) := 'PRP_COMP_OCM_MIGRATION';
302
303 Begin
304
305 x_return_status := FND_API.G_RET_STS_SUCCESS;
306
307 IF px_object_version_number is not null THEN
308 l_object_version_number := px_object_version_number;
309 END IF;
310
311 IF p_content_item_id is not null THEN
312 l_content_item_id := p_content_item_id;
313 END IF;
314
315 IF p_citem_version_id is not null THEN
316 l_citem_ver_id := p_citem_version_id ;
317 END IF;
318
319 -- Begin Standard Section
320
321 SAVEPOINT svpt_update_content;
322 IF (p_init_msg_list = FND_API.g_true) THEN
323 FND_MSG_PUB.initialize;
324 END IF;
325
326 -- Standard call to check for call compatibility.
327 IF NOT FND_API.Compatible_API_Call (
328 l_api_version
329 ,p_api_version
330 ,l_api_name
331 ,G_PKG_NAME
332 )THEN
333 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
334 END IF;
335
336 -- Initialize API return status to SUCCESS
337 x_return_status := FND_API.G_RET_STS_SUCCESS;
338 -- End Standard Section
339
340 -- Update the Attachement File id for the content.
341 IBC_CITEM_ADMIN_GRP.upsert_item_full(
342 p_ctype_code => 'IBC_FILE'
343 ,p_citem_name => p_component_style_id
344 ,p_citem_description => null
345 ,p_dir_node_id => 43
346 ,p_owner_resource_id => NULL
347 ,p_owner_resource_type => NULL
348 ,p_reference_code => NULL
349 ,p_trans_required => FND_API.g_true -- Translation required.
350 ,p_parent_item_id => NULL
351 ,p_lock_flag => FND_API.g_false
352 ,p_wd_restricted => FND_API.g_true
353 ,p_start_date => NULL
354 ,p_end_date => NULL
355 ,p_attribute_type_codes => NULL
356 ,p_attributes => NULL
357 ,p_attach_file_id => p_file_id
358 ,p_component_citems => NULL
359 ,p_component_atypes => NULL
360 ,p_sort_order => NULL
361 ,p_status => IBC_UTILITIES_PUB.G_STV_WORK_IN_PROGRESS
362 ,p_log_action => FND_API.g_true
363 ,p_language => p_language
364 ,p_update => FND_API.g_true
365 ,p_commit => FND_API.g_false
366 ,p_api_version_number => IBC_CITEM_ADMIN_GRP.G_API_VERSION_DEFAULT
367 ,p_init_msg_list => FND_API.g_true
368 ,px_content_item_id => l_content_item_id
369 ,px_object_version_number => l_object_version_number
370 ,px_citem_ver_id => l_citem_ver_id
371 ,x_return_status => l_return_status
372 ,x_msg_count => l_msg_count
373 ,x_msg_data => l_msg_data
374 );
375
376 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
377 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
378 FND_MESSAGE.Set_Token('API', 'IBC_ASSOCIATIONS_GRP.UPSERT_ITEM_FULL');
379 FND_MESSAGE.Set_Token('PROC', 'PRP_IBC_MIGRATION_INT.UPDATE_CONTENT');
380 Log_Message(
381 pi_migration_code => l_migration_code
382 ,pi_module_name => l_module_name
383 ,pi_log_level => 'I'
384 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
385 RAISE FND_API.G_EXC_ERROR;
386 END IF;
387
388
389 -- Approve Translations
390 IBC_CITEM_ADMIN_GRP.CHANGE_TRANSLATION_STATUS(
391 p_citem_ver_id => p_citem_version_id
392 ,p_new_status => IBC_UTILITIES_PUB.G_STV_APPROVED
393 ,p_language => p_language
394 ,p_commit => FND_API.G_FALSE
395 ,p_api_version_number => IBC_CITEM_ADMIN_GRP.G_API_VERSION_DEFAULT
396 ,p_init_msg_list => FND_API.G_TRUE
397 ,px_object_version_number => l_object_version_number
398 ,x_return_status => l_return_status
399 ,x_msg_count => l_msg_count
400 ,x_msg_data => l_msg_data);
401
402
403 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
404 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
405 FND_MESSAGE.Set_Token('API', 'IBC_CITEM_ADMIN_GRP.CHANGE_TRANSLATION_STATUS');
409 ,pi_module_name => l_module_name
406 FND_MESSAGE.Set_Token('PROC','PRP_IBC_MIGRATION_INT.UPDATE_CONTENT');
407 Log_Message(
408 pi_migration_code => l_migration_code
410 ,pi_log_level => 'I'
411 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
412 RAISE FND_API.G_EXC_ERROR;
413 END IF;
414
415 -- Update PRP_COMP_STYLE_CTNTVERS table with citem_version_id.
416 Update PRP_COMP_STYLE_CTNTVERS PCC set pcc.citem_version_id = l_citem_ver_id
417 Where pcc.comp_style_ctntver_id = p_comp_style_ctntver_id;
418
419 -- Create Association in OCM for versions.
420 IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION (
421 p_api_version => 1.0
422 ,p_init_msg_list => FND_API.G_TRUE
423 ,p_commit => FND_API.G_FALSE
424 ,p_assoc_type_code => 'PRP_COMPONENT_DOCUMENT_VERSION'
425 ,p_assoc_object1 => p_comp_style_ctntver_id
426 ,p_content_item_id => l_content_item_id
427 ,p_citem_version_id => l_citem_ver_id
428 ,x_return_status => l_return_status
429 ,x_msg_count => l_msg_count
430 ,x_msg_data => l_msg_data
431 );
432
433 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
434 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
435 FND_MESSAGE.Set_Token('API', 'IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION');
436 FND_MESSAGE.Set_Token('PROC', 'PRP_IBC_MIGRATION_INT.CREATE_CONTENT');
437 Log_Message(
438 pi_migration_code => l_migration_code
439 ,pi_module_name => l_module_name
440 ,pi_log_level => 'I'
441 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
442 RAISE FND_API.G_EXC_ERROR;
443 END IF;
444
445 px_object_version_number := l_object_version_number;
446
447
448 EXCEPTION
449 WHEN FND_API.G_EXC_ERROR THEN
450 Rollback TO svpt_update_content;
451 x_return_status := FND_API.G_RET_STS_ERROR;
452 FND_MSG_PUB.count_and_get(p_count => x_msg_count
453 ,p_data => x_msg_count);
454 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
455 Rollback TO svpt_update_content;
456 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
457 FND_MSG_PUB.count_and_get(p_count => x_msg_count
458 ,p_data => x_msg_count);
459 WHEN OTHERS THEN
460 Rollback TO svpt_update_content;
461 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
462 -- x_msg_data := sqlerrm;
463 FND_MSG_PUB.count_and_get(p_count => x_msg_count
464 ,p_data => x_msg_count);
465 END UPDATE_CONTENT;
466
467 /****************************************************************
468 * Procedure Name: MIGRATE_PROPOSAL_DOC *
469 * *
470 * *
471 ****************************************************************/
472
473 PROCEDURE MIGRATE_PROPOSAL_DOC(
474 p_api_version IN NUMBER,
475 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
476 p_proposal_id IN NUMBER,
477 p_proposal_ctntver_id IN NUMBER,
478 p_base_language IN VARCHAR2,
479 p_file_id IN NUMBER,
480 px_content_item_id IN OUT NOCOPY NUMBER,
481 px_object_version_number IN OUT NOCOPY NUMBER,
482 x_citem_ver_id OUT NOCOPY NUMBER,
483 x_return_status OUT NOCOPY VARCHAR2,
484 x_msg_count OUT NOCOPY NUMBER,
485 x_msg_data OUT NOCOPY VARCHAR2) IS
486
487 l_content_item_id NUMBER;
488 l_object_version_number NUMBER;
489 l_citem_ver_id NUMBER;
490 l_return_status VARCHAR2(30);
491 l_msg_count NUMBER;
492 l_msg_data VARCHAR2(2000);
493 l_api_name CONSTANT VARCHAR2(30) := 'MIGRATE_PROPOSAL_DOC';
494 l_api_version CONSTANT NUMBER := 1;
495 l_module_name CONSTANT VARCHAR2(256) := 'PLSQL.PRP.PRP_IBC_MIGRATION_INT.MIGRATE_PROPOSAL_DOC';
496 l_migration_code CONSTANT VARCHAR2(30) := 'PRP_PROP_OCM_MIGRATION';
497
498 Begin
499
500 x_return_status := FND_API.G_RET_STS_SUCCESS;
501
502 -- Begin Standard Section
503
504 SAVEPOINT svpt_migrate_proposal_doc;
505 IF (p_init_msg_list = FND_API.g_true) THEN
506 FND_MSG_PUB.initialize;
507 END IF;
508
509 -- Standard call to check for call compatibility.
510 IF NOT FND_API.Compatible_API_Call (
511 l_api_version
512 ,p_api_version
513 ,l_api_name
514 ,G_PKG_NAME
515 )THEN
516 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517 END IF;
518
519 -- Initialize API return status to SUCCESS
520 x_return_status := FND_API.G_RET_STS_SUCCESS;
521 -- End Standard Section
522
523 IF px_content_item_id is not null THEN
524 l_content_item_id := px_content_item_id;
525 END IF;
526
527 IF px_object_version_number is not null THEN
528 l_object_version_number := px_object_version_number;
529 END IF;
530
531 -- Create Content Item.
535 ,p_citem_description => null
532 IBC_CITEM_ADMIN_GRP.upsert_item_full(
533 p_ctype_code => 'IBC_FILE'
534 ,p_citem_name => p_proposal_id
536 ,p_dir_node_id => 41
537 ,p_owner_resource_id => NULL
538 ,p_owner_resource_type => NULL
539 ,p_reference_code => NULL
540 ,p_trans_required => FND_API.g_false -- Translation not required.
541 ,p_parent_item_id => NULL
542 ,p_lock_flag => FND_API.g_false
543 ,p_wd_restricted => FND_API.g_true
544 ,p_start_date => NULL
545 ,p_end_date => NULL
546 ,p_attribute_type_codes => NULL
547 ,p_attributes => NULL
548 ,p_attach_file_id => p_file_id
549 ,p_component_citems => NULL
550 ,p_component_atypes => NULL
551 ,p_sort_order => NULL
552 ,p_status => IBC_UTILITIES_PUB.G_STV_WORK_IN_PROGRESS
553 ,p_log_action => FND_API.g_true
554 ,p_language => p_base_language
555 ,p_update => FND_API.g_true
556 ,p_commit => FND_API.g_false
557 ,p_api_version_number => IBC_CITEM_ADMIN_GRP.G_API_VERSION_DEFAULT
558 ,p_init_msg_list => FND_API.g_true
559 ,px_content_item_id => l_content_item_id
560 ,px_object_version_number => l_object_version_number
561 ,px_citem_ver_id => l_citem_ver_id
562 ,x_return_status => l_return_status
563 ,x_msg_count => l_msg_count
564 ,x_msg_data => l_msg_data
565 );
566
567 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
568 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
569 FND_MESSAGE.Set_Token('API', 'IBC_CITEM_ADMIN_GRP.UPSERT_ITEM_FULL');
570 FND_MESSAGE.Set_Token('PROC','PRP_IBC_MIGRATION_INT.MIGRATE_PROPOSAL_DOC');
571 Log_Message(
572 pi_migration_code => l_migration_code
573 ,pi_module_name => l_module_name
574 ,pi_log_level => 'I'
575 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
576 RAISE FND_API.G_EXC_ERROR;
577 END IF;
578
579
580 /* Approve Item */
581
582 IBC_CITEM_ADMIN_GRP.APPROVE_ITEM(
583 p_citem_ver_id => l_citem_ver_id
584 ,p_commit => FND_API.g_false
585 ,p_api_version_number => IBC_CITEM_ADMIN_GRP.G_API_VERSION_DEFAULT
586 ,p_init_msg_list => FND_API.g_true
587 ,px_object_version_number => l_object_version_number
588 ,x_return_status => l_return_status
589 ,x_msg_count => l_msg_count
590 ,x_msg_data => l_msg_data
591 );
592
593
594 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
595 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
596 FND_MESSAGE.Set_Token('API', 'IBC_CITEM_ADMIN_GRP.APPROVE_ITEM');
597 FND_MESSAGE.Set_Token('PROC','PRP_IBC_MIGRATION_INT.MIGRATE_PROPOSAL_DOC');
598 Log_Message(
599 pi_migration_code => l_migration_code
600 ,pi_module_name => l_module_name
601 ,pi_log_level => 'I'
602 ,pi_message_text => FND_MESSAGE.get || l_msg_data);
603 RAISE FND_API.G_EXC_ERROR;
604 END IF;
605
606 IF px_content_item_id is null THEN
607
608 -- Associate Content Item with Proposal
609 Update PRP_PROPOSALS PP set pp.content_item_id = l_content_item_id
610 Where pp.proposal_id = p_proposal_id;
611
612 -- Create Association in OCM.
613 IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION (
614 p_api_version => 1.0
615 ,p_init_msg_list => FND_API.G_TRUE
616 ,p_commit => FND_API.G_FALSE
617 ,p_assoc_type_code => 'PRP_GENERATED_PROPOSAL'
618 ,p_assoc_object1 => p_proposal_id
619 ,p_content_item_id => l_content_item_id
620 ,p_citem_version_id => null
621 ,x_return_status => l_return_status
622 ,x_msg_count => l_msg_count
623 ,x_msg_data => l_msg_data
624 );
625
626 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
627 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
628 FND_MESSAGE.Set_Token('API', 'IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION');
629 FND_MESSAGE.Set_Token('PROC','PRP_IBC_MIGRATION_INT.MIGRATE_PROPOSAL_DOC');
630 Log_Message(
631 pi_migration_code => l_migration_code
632 ,pi_module_name => l_module_name
633 ,pi_log_level => 'I'
634 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
635 RAISE FND_API.G_EXC_ERROR;
636 END IF;
637
638 END IF;
639
640 -- Update PRP_PROP_STYLE_CTNTVERS table with citem_version_id.
641 Update PRP_PROPOSAL_CTNTVERS PPS set pps.citem_version_id = l_citem_ver_id
642 Where pps.proposal_ctntver_id = p_proposal_ctntver_id;
643
644 -- Create Association in OCM for the versions.
645 IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION (
646 p_api_version => 1.0
647 ,p_init_msg_list => FND_API.G_TRUE
648 ,p_commit => FND_API.G_FALSE
649 ,p_assoc_type_code => 'PRP_GENERATED_DOCUMENT_VERSION'
650 ,p_assoc_object1 => p_proposal_ctntver_id
651 ,p_content_item_id => l_content_item_id
652 ,p_citem_version_id => l_citem_ver_id
653 ,x_return_status => l_return_status
654 ,x_msg_count => l_msg_count
655 ,x_msg_data => l_msg_data
656 );
657
658 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
659 FND_MESSAGE.Set_Name('PRP', 'PRP_MG_API_RETURN_ERR');
660 FND_MESSAGE.Set_Token('API', 'IBC_ASSOCIATIONS_GRP.CREATE_ASSOCIATION');
661 FND_MESSAGE.Set_Token('PROC','PRP_IBC_MIGRATION_INT.MIGRATE_PROPOSAL_DOC');
662 Log_Message(
663 pi_migration_code => l_migration_code
664 ,pi_module_name => l_module_name
665 ,pi_log_level => 'I'
666 ,pi_message_text => FND_MESSAGE.get ||' '|| l_msg_data);
667 RAISE FND_API.G_EXC_ERROR;
668 END IF;
669
670
671 -- Assign values to out variables.
672 x_citem_ver_id := l_citem_ver_id;
673 px_object_version_number := l_object_version_number;
674
675 IF (px_content_item_id IS NULL) THEN
676 px_content_item_id := l_content_item_id;
677 END IF;
678
679
680
681 EXCEPTION
682 WHEN FND_API.G_EXC_ERROR THEN
683 Rollback TO svpt_migrate_proposal_doc;
684 x_return_status := FND_API.G_RET_STS_ERROR;
685 FND_MSG_PUB.count_and_get(p_count => x_msg_count
686 ,p_data => x_msg_data);
687 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
688 Rollback TO svpt_migrate_proposal_doc;
689 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
690 FND_MSG_PUB.count_and_get(p_count => x_msg_count
691 ,p_data => x_msg_data);
692 WHEN OTHERS THEN
693 Rollback TO svpt_migrate_proposal_doc;
694 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
695 --x_msg_data := sqlerrm;
696 FND_MSG_PUB.count_and_get(p_count => x_msg_count
697 ,p_data => x_msg_data);
698 END MIGRATE_PROPOSAL_DOC;
699 END PRP_IBC_MIGRATION_INT;