[Home] [Help]
PACKAGE BODY: APPS.PA_CI_ACTIONS_PUB
Source
1 PACKAGE BODY PA_CI_ACTIONS_PUB AS
2 --$Header: PACIACPB.pls 120.0 2005/05/30 01:56:39 appldev noship $
3
4
5 PROCEDURE CREATE_CI_ACTION (
6 p_api_version IN NUMBER := 1.0,
7 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
8 p_commit IN VARCHAR2 := FND_API.g_false,
9 p_validate_only IN VARCHAR2 := FND_API.g_true,
10 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
11 P_CI_ACTION_ID out NOCOPY NUMBER,
12 P_CI_ID in NUMBER DEFAULT FND_API.G_MISS_NUM,
13 P_TYPE_CODE in VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
14 P_ASSIGNED_TO in NUMBER DEFAULT FND_API.G_MISS_NUM,
15 P_RESOURCE_TYPE_ID in NUMBER DEFAULT FND_API.G_MISS_NUM,
16 P_ASSIGNED_TO_NAME in VARCHAR DEFAULT FND_API.G_MISS_CHAR,
17 P_DATE_REQUIRED in DATE DEFAULT FND_API.G_MISS_DATE,
18 P_SIGN_OFF_REQUIRED_FLAG in VARCHAR2 DEFAULT FND_API.G_MISS_CHAR,
19 P_COMMENT_TEXT in VARCHAR2,
20 P_SOURCE_CI_ACTION_ID in NUMBER DEFAULT FND_API.G_MISS_NUM,
21 P_CREATED_BY in NUMBER default fnd_global.user_id,
22 P_CREATION_DATE in DATE default sysdate,
23 P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
24 P_LAST_UPDATE_DATE in DATE default sysdate,
25 P_LAST_UPDATE_LOGIN in NUMBER default fnd_global.user_id,
26 x_return_status OUT NOCOPY VARCHAR2,
27 x_msg_count OUT NOCOPY NUMBER,
28 x_msg_data OUT NOCOPY VARCHAR2
29 )
30 IS
31 l_msg_index_out NUMBER;
32 l_party_id number;
33 l_error_message_code varchar2(30);
34 l_resource_type_id varchar2(15);
35 l_start_date_active date;
36 -- Enter the procedure variables here. As shown below
37 BEGIN
38
39 -- Initialize the Error Stack
40 PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PUB.CREATE_CI_ACTION');
41
42 -- Initialize the return status to success
43 x_return_status := FND_API.G_RET_STS_SUCCESS;
44
45 --Clear the global PL/SQL message table
46 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
47 FND_MSG_PUB.initialize;
48 END IF;
49
50 IF p_commit = FND_API.G_TRUE
51 THEN
52 SAVEPOINT CREATE_CI_ACTION;
53 END IF;
54 x_msg_count := 0;
55 l_start_date_active:=sysdate;
56 PA_CI_ACTIONS_UTIL.CheckHzPartyName_Or_Id ( p_resource_id => P_ASSIGNED_TO
57 ,p_resource_type_id => P_RESOURCE_TYPE_ID
58 ,p_resource_name => P_ASSIGNED_TO_NAME
59 ,p_check_id_flag => PA_STARTUP.G_Check_ID_Flag
60 ,p_date => l_start_date_active
61 ,x_party_id => l_party_id
62 ,x_resource_type_id => l_resource_type_id
63 ,x_return_status => x_return_status
64 ,x_msg_count => x_msg_count
65 ,x_msg_data => x_msg_data);
66
67
68 -- Validate the Input Values
69 If (x_return_status = fnd_api.g_ret_sts_success
70 AND l_party_id <> -999) then
71
72 PA_CI_ACTIONS_PVT.CREATE_CI_ACTION
73 (
74 P_API_VERSION => P_API_VERSION,
75 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
76 P_COMMIT => P_COMMIT,
77 P_VALIDATE_ONLY => P_VALIDATE_ONLY,
78 P_MAX_MSG_COUNT => P_MAX_MSG_COUNT,
79 P_CI_ACTION_ID => P_CI_ACTION_ID,
80 P_CI_ID => P_CI_ID,
81 P_TYPE_CODE => P_TYPE_CODE,
82 P_ASSIGNED_TO => l_party_id,
83 P_DATE_REQUIRED => P_DATE_REQUIRED,
84 P_SIGN_OFF_REQUIRED_FLAG => P_SIGN_OFF_REQUIRED_FLAG,
85 P_COMMENT_TEXT => P_COMMENT_TEXT,
86 P_SOURCE_CI_ACTION_ID => P_CI_ACTION_ID,
87 x_return_status => x_return_status,
88 x_msg_count => x_msg_count,
89 x_msg_data => x_msg_data
90 );
91 End If;
92 -- IF the number of messaages is 1 then fetch the message code from the stack
93 -- and return its text
94 x_msg_count := FND_MSG_PUB.Count_Msg;
95 IF x_msg_count = 1 THEN
96 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
97 ,p_msg_index => 1
98 ,p_data => x_msg_data
99 ,p_msg_index_out => l_msg_index_out
100 );
101 END IF;
102
103 -- Reset the error stack when returning to the calling program
104 PA_DEBUG.Reset_Err_Stack;
105 -- Commit the changes if requested
106 if (p_commit = FND_API.G_TRUE
107 AND x_return_status = fnd_api.g_ret_sts_success) then
108 commit;
109 end if;
110 EXCEPTION
111 WHEN OTHERS THEN
112 rollback;
113 -- Set the excetption Message and the stack
114 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_CI_ACTIONS_PUB.CREATE_CI_ACTION'
115 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
116
117 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
118 RAISE;
119
120 END;
121
122 PROCEDURE CANCEL_CI_ACTION (
123 p_api_version IN NUMBER := 1.0,
124 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
125 p_commit IN VARCHAR2 := FND_API.g_false,
126 p_validate_only IN VARCHAR2 := FND_API.g_true,
127 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
128 P_CI_ACTION_ID in NUMBER,
129 P_RECORD_VERSION_NUMBER in NUMBER,
130 P_CANCEL_COMMENT in VARCHAR2,
131 P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
132 P_LAST_UPDATE_DATE in DATE default sysdate,
133 P_LAST_UPDATE_LOGIN in NUMBER default fnd_global.user_id,
134 x_return_status OUT NOCOPY VARCHAR2,
135 x_msg_count OUT NOCOPY NUMBER,
136 x_msg_data OUT NOCOPY VARCHAR2) IS
137
138 l_msg_index_out NUMBER;
139
140 BEGIN
141 -- Initialize the Error Stack
142 PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PUB.CANCEL_CI_ACTION');
143
144 -- Initialize the return status to success
145 x_return_status := FND_API.G_RET_STS_SUCCESS;
146 x_msg_count := 0;
147 PA_CI_ACTIONS_PVT.CANCEL_CI_ACTION
148 (
149 p_api_version => P_API_VERSION,
150 p_init_msg_list => P_INIT_MSG_LIST,
151 p_commit => P_COMMIT,
152 p_validate_only => P_VALIDATE_ONLY,
153 p_max_msg_count => P_MAX_MSG_COUNT,
154 P_CI_ACTION_ID => P_CI_ACTION_ID,
155 P_RECORD_VERSION_NUMBER => P_RECORD_VERSION_NUMBER,
156 P_CANCEL_COMMENT => P_CANCEL_COMMENT,
157 x_return_status => x_return_status,
158 x_msg_count => x_msg_count,
159 x_msg_data => x_msg_data
160 );
161 -- IF the number of messaages is 1 then fetch the message code from the stack
162 -- and return its text
163 x_msg_count := FND_MSG_PUB.Count_Msg;
164 IF x_msg_count = 1 THEN
165 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
166 ,p_msg_index => 1
167 ,p_data => x_msg_data
168 ,p_msg_index_out => l_msg_index_out
169 );
170 END IF;
171
172 -- Commit the changes if requested
173 if (p_commit = FND_API.G_TRUE
174 AND x_return_status = fnd_api.g_ret_sts_success) then
175 commit;
176 end if;
177 EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
178 IF p_commit = FND_API.G_TRUE THEN
179 ROLLBACK TO CLOSE_CI_ACTION;
180 END IF;
181 x_return_status := 'E';
182 WHEN OTHERS THEN
183 IF p_commit = FND_API.G_TRUE THEN
184 ROLLBACK TO CLOSE_CI_ACTION;
185 END IF;
186 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
187 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PUB',
188 p_procedure_name => 'CLOSE_CI_ACTION',
189 p_error_text => SUBSTRB(SQLERRM,1,240));
190 RAISE;
191 END;
192
193
194
195
196 PROCEDURE CLOSE_CI_ACTION (
197 p_api_version IN NUMBER := 1.0,
198 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
199 p_commit IN VARCHAR2 := FND_API.g_false,
200 p_validate_only IN VARCHAR2 := FND_API.g_true,
201 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
202 P_CI_ACTION_ID in NUMBER,
203 P_SIGN_OFF_FLAG in VARCHAR2,
204 P_RECORD_VERSION_NUMBER in NUMBER,
205 P_COMMENT_TEXT in VARCHAR2,
206 P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
207 P_LAST_UPDATE_DATE in DATE default sysdate,
208 P_LAST_UPDATE_LOGIN in NUMBER default fnd_global.user_id,
209 x_return_status OUT NOCOPY VARCHAR2,
210 x_msg_count OUT NOCOPY NUMBER,
211 x_msg_data OUT NOCOPY VARCHAR2
212 ) IS
213 l_msg_index_out NUMBER;
214 BEGIN
215 -- Initialize the Error Stack
216 PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PUB.CLOSE_CI_ACTION');
217
218 -- Initialize the return status to success
219 x_return_status := FND_API.G_RET_STS_SUCCESS;
220 IF p_commit = FND_API.G_TRUE
221 THEN
222 SAVEPOINT CLOSE_CI_ACTION;
223 END IF;
224 x_return_status := fnd_api.g_ret_sts_success;
225 x_msg_count := 0;
226
227 -- Validate the Input Values
228 If (x_return_status = fnd_api.g_ret_sts_success
229 AND p_validate_only <> fnd_api.g_true) then
230
231 PA_CI_ACTIONS_PVT.CLOSE_CI_ACTION
232 (
233 p_api_version => P_API_VERSION,
234 p_init_msg_list => P_INIT_MSG_LIST,
235 p_commit => P_COMMIT,
236 p_validate_only => P_VALIDATE_ONLY,
237 p_max_msg_count => P_MAX_MSG_COUNT,
238 P_CI_ACTION_ID => P_CI_ACTION_ID,
239 P_SIGN_OFF_FLAG => P_SIGN_OFF_FLAG,
240 P_RECORD_VERSION_NUMBER => P_RECORD_VERSION_NUMBER,
241 P_COMMENT_TEXT => P_COMMENT_TEXT,
242 x_return_status => x_return_status,
243 x_msg_count => x_msg_count,
244 x_msg_data => x_msg_data
245 );
246
247 End If;
248 x_msg_count := FND_MSG_PUB.Count_Msg;
249 IF x_msg_count = 1 THEN
250 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
251 ,p_msg_index => 1
252 ,p_data => x_msg_data
253 ,p_msg_index_out => l_msg_index_out
254 );
255 END IF;
256 -- Commit the changes if requested
257 if (p_commit = FND_API.G_TRUE
258 AND x_return_status = fnd_api.g_ret_sts_success) then
259 commit;
260 end if;
261 EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
262 IF p_commit = FND_API.G_TRUE THEN
263 ROLLBACK TO CLOSE_CI_ACTION;
264 END IF;
265 x_return_status := 'E';
266 WHEN OTHERS THEN
267 IF p_commit = FND_API.G_TRUE THEN
268 ROLLBACK TO CLOSE_CI_ACTION;
269 END IF;
270 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
271 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PUB',
272 p_procedure_name => 'CLOSE_CI_ACTION',
273 p_error_text => SUBSTRB(SQLERRM,1,240));
274 RAISE;
275 END;
276
277 PROCEDURE REASSIGN_CI_ACTION (
278 p_api_version IN NUMBER := 1.0,
279 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
280 p_commit IN VARCHAR2 := FND_API.g_false,
281 p_validate_only IN VARCHAR2 := FND_API.g_true,
282 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
283 P_CI_ACTION_ID in NUMBER,
284 P_SIGN_OFF_FLAG in VARCHAR2,
285 P_RECORD_VERSION_NUMBER in NUMBER,
286 P_RESOURCE_TYPE_ID in NUMBER DEFAULT FND_API.G_MISS_NUM,
287 P_ASSIGNED_TO in NUMBER,
288 P_ASSIGNED_TO_NAME in VARCHAR2,
289 P_DATE_REQUIRED in DATE,
290 P_COMMENT_TEXT in VARCHAR2,
291 P_CLOSURE_COMMENT in VARCHAR2,
292 P_CREATED_BY in NUMBER default fnd_global.user_id,
293 P_CREATION_DATE in DATE default sysdate,
294 P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
295 P_LAST_UPDATE_DATE in DATE default sysdate,
296 P_LAST_UPDATE_LOGIN in NUMBER default fnd_global.user_id,
297 x_return_status OUT NOCOPY VARCHAR2,
298 x_msg_count OUT NOCOPY NUMBER,
299 x_msg_data OUT NOCOPY VARCHAR2
300 ) IS
301 l_party_id number;
302 l_error_message_code varchar2(30);
303 l_resource_type_id varchar2(15);
304 l_start_date_active date;
305 l_msg_index_out NUMBER;
306 BEGIN
307
308 -- Initialize the Error Stack
309 PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PUB.REASSIGN_CI_ACTION');
310
311 -- Initialize the return status to success
312 x_return_status := FND_API.G_RET_STS_SUCCESS;
313
314 --Clear the global PL/SQL message table
315 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
316 FND_MSG_PUB.initialize;
317 END IF;
318
319 IF p_commit = FND_API.G_TRUE
320 THEN
321 SAVEPOINT REASSIGN_CI_ACTION;
322 END IF;
323 x_msg_count := 0;
324 l_start_date_active:=sysdate;
325 PA_CI_ACTIONS_UTIL.CheckHzPartyName_Or_Id ( p_resource_id => P_ASSIGNED_TO
326 ,p_resource_type_id => P_RESOURCE_TYPE_ID
327 ,p_resource_name => P_ASSIGNED_TO_NAME
328 ,p_check_id_flag => PA_STARTUP.G_Check_ID_Flag
329 ,p_date => l_start_date_active
330 ,x_party_id => l_party_id
331 ,x_resource_type_id => l_resource_type_id
332 ,x_return_status => x_return_status
333 ,x_msg_count => x_msg_count
334 ,x_msg_data => x_msg_data);
335
336 -- Validate the Input Values
337 If (x_return_status = fnd_api.g_ret_sts_success
338 AND p_validate_only <> fnd_api.g_true) then
339
340 PA_CI_ACTIONS_PVT.REASSIGN_CI_ACTION
341 (
342 p_api_version => p_api_version,
343 p_init_msg_list => p_init_msg_list,
344 p_commit => p_commit,
345 p_validate_only => p_validate_only,
346 p_max_msg_count => p_max_msg_count,
347 P_CI_ACTION_ID => p_ci_action_id,
348 P_SIGN_OFF_FLAG => p_sign_off_flag,
349 P_RECORD_VERSION_NUMBER => p_record_version_number,
350 P_ASSIGNED_TO => l_party_id,
351 P_DATE_REQUIRED => P_DATE_REQUIRED,
352 P_COMMENT_TEXT => P_COMMENT_TEXT,
353 P_CLOSURE_COMMENT => P_CLOSURE_COMMENT,
354 P_CREATED_BY => P_CREATED_BY,
355 P_CREATION_DATE => P_CREATION_DATE,
356 P_LAST_UPDATED_BY => P_LAST_UPDATED_BY,
357 P_LAST_UPDATE_DATE => P_LAST_UPDATE_DATE,
358 P_LAST_UPDATE_LOGIN => P_LAST_UPDATE_LOGIN,
359 x_return_status => x_return_status,
360 x_msg_count => x_msg_count,
361 x_msg_data => x_msg_data
362 );
363
364 End If;
365 -- IF the number of messaages is 1 then fetch the message code from the stack
366 -- and return its text
367 x_msg_count := FND_MSG_PUB.Count_Msg;
368 IF x_msg_count = 1 THEN
369 pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
370 ,p_msg_index => 1
371 ,p_data => x_msg_data
372 ,p_msg_index_out => l_msg_index_out
373 );
374 END IF;
375 -- Commit the changes if requested
376 if (p_commit = FND_API.G_TRUE
377 AND x_return_status = fnd_api.g_ret_sts_success) then
378 commit;
379 end if;
380 EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
381 IF p_commit = FND_API.G_TRUE THEN
382 ROLLBACK TO REASSIGN_CI_ACTION;
383 END IF;
384 x_return_status := 'E';
385 WHEN OTHERS THEN
386 IF p_commit = FND_API.G_TRUE THEN
387 ROLLBACK TO REASSIGN_CI_ACTION;
388 END IF;
389 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PUB',
391 p_procedure_name => 'REASSIGN_CI_ACTION',
392 p_error_text => SUBSTRB(SQLERRM,1,240));
393 RAISE;
394 END;
395
396
397 PROCEDURE ADD_CI_COMMENT(
398 p_api_version IN NUMBER := 1.0,
399 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
400 p_commit IN VARCHAR2 := FND_API.g_false,
401 p_validate_only IN VARCHAR2 := FND_API.g_true,
402 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
403 x_ci_comment_id out NOCOPY NUMBER,
404 p_ci_id IN NUMBER,
405 p_type_code IN VARCHAR2,
406 p_comment_text IN VARCHAR2,
407 p_ci_action_id IN NUMBER := null,
408 P_CREATED_BY in NUMBER default fnd_global.user_id,
409 P_CREATION_DATE in DATE default sysdate,
410 P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
411 P_LAST_UPDATE_DATE in DATE default sysdate,
412 P_LAST_UPDATE_LOGIN in NUMBER default fnd_global.user_id,
413 x_return_status OUT NOCOPY VARCHAR2,
414 x_msg_count OUT NOCOPY NUMBER,
415 x_msg_data OUT NOCOPY VARCHAR2)
416
417 IS
418 BEGIN
419 IF p_commit = FND_API.G_TRUE
420 THEN
421 SAVEPOINT ADD_CI_COMMENT;
422 END IF;
423 x_return_status := 'S';
424 x_msg_count := 0;
425
426 -- Validate the Input Values
427 If (x_return_status = fnd_api.g_ret_sts_success
428 AND p_validate_only <> fnd_api.g_true) then
429 PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
430 p_api_version => P_API_VERSION,
431 p_init_msg_list => P_INIT_MSG_LIST,
432 p_commit => P_COMMIT,
433 p_validate_only => P_VALIDATE_ONLY,
434 p_max_msg_count => P_MAX_MSG_COUNT,
435 p_ci_comment_id => X_CI_COMMENT_ID,
436 p_ci_id =>P_CI_ID,
437 p_type_code => P_TYPE_CODE,
438 p_comment_text => P_COMMENT_TEXT,
439 p_ci_action_id => P_CI_ACTION_ID,
440 x_return_status => x_return_status,
441 x_msg_count => x_msg_count,
442 x_msg_data => x_msg_data
443 );
444 End If;
445
446 -- Commit the changes if requested
447 if (p_commit = FND_API.G_TRUE
448 AND x_return_status = fnd_api.g_ret_sts_success) then
449 commit;
450 end if;
451 EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
452 IF p_commit = FND_API.G_TRUE THEN
453 ROLLBACK TO ADD_CI_COMMENT;
454 END IF;
455 x_return_status := 'E';
456 WHEN OTHERS THEN
457 IF p_commit = FND_API.G_TRUE THEN
458 ROLLBACK TO ADD_CI_COMMENT;
459 END IF;
460 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
461 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PUB',
462 p_procedure_name => 'ADD_CI_COMMENT',
463 p_error_text => SUBSTRB(SQLERRM,1,240));
464 RAISE;
465 END;
466
467
468 PROCEDURE UPDATE_CI_COMMENT(
469 p_api_version IN NUMBER := 1.0,
470 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
471 p_commit IN VARCHAR2 := FND_API.g_false,
472 p_validate_only IN VARCHAR2 := FND_API.g_true,
473 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
474 p_ci_comment_id IN NUMBER,
475 p_comment_text IN VARCHAR2,
476 p_record_version_number IN NUMBER,
477 P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
478 P_LAST_UPDATE_DATE in DATE default sysdate,
479 P_LAST_UPDATE_LOGIN in NUMBER default fnd_global.user_id,
480 x_return_status OUT NOCOPY VARCHAR2,
481 x_msg_count OUT NOCOPY NUMBER,
482 x_msg_data OUT NOCOPY VARCHAR2)
483
484 IS
485 BEGIN
486 IF p_commit = FND_API.G_TRUE
487 THEN
488 SAVEPOINT UPDATE_CI_COMMENT;
489 END IF;
490 x_return_status := 'S';
491 x_msg_count := 0;
492
493 -- Validate the Input Values
494 If (x_return_status = fnd_api.g_ret_sts_success
495 AND p_validate_only <> fnd_api.g_true) then
496 PA_CI_ACTIONS_PVT.UPDATE_CI_COMMENT(
497 p_api_version => P_API_VERSION,
498 p_init_msg_list => P_INIT_MSG_LIST,
499 p_commit => P_COMMIT,
500 p_validate_only => P_VALIDATE_ONLY,
501 p_max_msg_count => P_MAX_MSG_COUNT,
502 p_ci_comment_id => P_CI_COMMENT_ID,
503 p_comment_text => P_COMMENT_TEXT,
504 p_record_version_number => P_RECORD_VERSION_NUMBER,
505 P_LAST_UPDATED_BY => P_LAST_UPDATED_BY,
506 P_LAST_UPDATE_DATE => P_LAST_UPDATE_DATE,
507 P_LAST_UPDATE_LOGIN => P_LAST_UPDATE_LOGIN,
508 x_return_status => x_return_status,
509 x_msg_count => x_msg_count,
510 x_msg_data => x_msg_data
511 );
512 End If;
513
514 -- Commit the changes if requested
515 if (p_commit = FND_API.G_TRUE
516 AND x_return_status = fnd_api.g_ret_sts_success) then
517 commit;
518 end if;
519 EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
520 IF p_commit = FND_API.G_TRUE THEN
521 ROLLBACK TO ADD_CI_COMMENT;
522 END IF;
523 x_return_status := 'E';
524 WHEN OTHERS THEN
525 IF p_commit = FND_API.G_TRUE THEN
526 ROLLBACK TO ADD_CI_COMMENT;
527 END IF;
528 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
529 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PUB',
530 p_procedure_name => 'UPDATE_CI_COMMENT',
531 p_error_text => SUBSTRB(SQLERRM,1,240));
532 RAISE;
533 END;
534
535 -- Enter further code below as specified in the Package spec.
536 END; -- Package Body PA_CI_ACTIONS_PUB