1 package body AK_KEY_GRP as
2 /* $Header: akdgkeyb.pls 120.2 2005/09/15 22:26:34 tshort ship $ */
3
4 --=======================================================
5 -- Procedure CREATE_FOREIGN_KEY
6 --
7 -- Usage Group API for creating a foreign key
8 --
9 -- Desc Calls the private API to creates a foreign key
10 -- using the given info
11 --
12 -- Results The API returns the standard p_return_status parameter
13 -- indicating one of the standard return statuses :
14 -- * Unexpected error
15 -- * Error
16 -- * Success
17 -- Parameters Foreign Key columns
18 --
19 -- Version Initial version number = 1.0
20 -- History Current version number = 1.0
21 --=======================================================
22 procedure CREATE_FOREIGN_KEY (
23 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
24 p_api_version_number IN NUMBER,
25 p_init_msg_tbl IN BOOLEAN := FALSE,
26 p_msg_count OUT NOCOPY NUMBER,
27 p_msg_data OUT NOCOPY VARCHAR2,
28 p_return_status OUT NOCOPY VARCHAR2,
29 p_foreign_key_name IN VARCHAR2,
30 p_database_object_name IN VARCHAR2,
31 p_unique_key_name IN VARCHAR2,
32 p_application_id IN NUMBER,
33 p_from_to_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
34 p_from_to_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
35 p_to_from_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
36 p_to_from_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
37 p_created_by IN NUMBER := FND_API.G_MISS_NUM,
38 p_creation_date IN DATE := FND_API.G_MISS_DATE,
39 p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
40 p_last_update_date IN DATE := FND_API.G_MISS_DATE,
41 p_last_update_login IN NUMBER := FND_API.G_MISS_NUM
42 ) is
43 l_api_version_number CONSTANT number := 1.0;
44 l_api_name CONSTANT varchar2(30) := 'Create_Foreign_Key';
45 l_return_status VARCHAR2(1);
46 l_pass NUMBER := 2;
47 l_copy_redo_flag BOOLEAN := FALSE;
48 begin
49 -- Check API version number
50 IF NOT FND_API.Compatible_API_Call (
51 l_api_version_number, p_api_version_number, l_api_name,
52 G_PKG_NAME) then
53 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
54 return;
55 END IF;
56
57 -- Initialize the message table if requested.
58
59 if p_init_msg_tbl then
60 FND_MSG_PUB.initialize;
61 end if;
62
63 savepoint start_create_foreign_key;
64
65 -- Call private procedure to create a foreign key
66 AK_KEY_PVT.CREATE_FOREIGN_KEY (
67 p_validation_level => p_validation_level,
68 p_api_version_number => 1.0,
69 p_msg_count => p_msg_count,
70 p_msg_data => p_msg_data,
71 p_return_status => l_return_status,
72 p_foreign_key_name => p_foreign_key_name,
73 p_database_object_name => p_database_object_name,
74 p_unique_key_name => p_unique_key_name,
75 p_application_id => p_application_id,
76 p_from_to_name => p_from_to_name,
77 p_from_to_description => p_from_to_description,
78 p_to_from_name => p_to_from_name,
79 p_to_from_description => p_to_from_description,
80 p_created_by => p_created_by,
81 p_creation_date => p_creation_date,
82 p_last_updated_by => p_last_updated_by,
83 p_last_update_date => p_last_update_date,
84 p_last_update_login => p_lasT_update_login,
85 p_pass => l_pass,
86 p_copy_redo_flag => l_copy_redo_flag
87 );
88
89 -- If API call returns with an error status...
90 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
91 (l_return_status = FND_API.G_RET_STS_ERROR) then
92 --dbms_output.put_line(l_api_name || ' Create_Foreign_Key failed');
93 RAISE FND_API.G_EXC_ERROR;
94 end if;
95
96 p_return_status := FND_API.G_RET_STS_SUCCESS;
97
98 EXCEPTION
99 WHEN FND_API.G_EXC_ERROR THEN
100 p_return_status := FND_API.G_RET_STS_ERROR;
101 rollback to start_create_foreign_key;
102 WHEN OTHERS THEN
103 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
104 rollback to start_create_foreign_key;
105 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
106 SUBSTR (SQLERRM, 1, 240) );
107 FND_MSG_PUB.Add;
108 end CREATE_FOREIGN_KEY;
109
110 --=======================================================
111 -- Procedure CREATE_FOREIGN_KEY_COLUMN
112 --
113 -- Usage Group API for creating a foreign key column record
114 --
115 -- Desc Calls the private API to creates a foreign key
116 -- column record using the given info
117 --
118 -- Results The API returns the standard p_return_status parameter
119 -- indicating one of the standard return statuses :
120 -- * Unexpected error
121 -- * Error
122 -- * Success
123 -- Parameters Foreign Key Column columns
124 --
125 -- Version Initial version number = 1.0
126 -- History Current version number = 1.0
127 --=======================================================
128 procedure CREATE_FOREIGN_KEY_COLUMN (
129 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
130 p_api_version_number IN NUMBER,
131 p_init_msg_tbl IN BOOLEAN := FALSE,
132 p_msg_count OUT NOCOPY NUMBER,
133 p_msg_data OUT NOCOPY VARCHAR2,
134 p_return_status OUT NOCOPY VARCHAR2,
135 p_foreign_key_name IN VARCHAR2,
136 p_attribute_application_id IN NUMBER,
137 p_attribute_code IN VARCHAR2,
138 p_foreign_key_sequence IN NUMBER,
139 p_created_by IN NUMBER := FND_API.G_MISS_NUM,
140 p_creation_date IN DATE := FND_API.G_MISS_DATE,
141 p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
142 p_last_update_date IN DATE := FND_API.G_MISS_DATE,
143 p_last_update_login IN NUMBER := FND_API.G_MISS_NUM
144 ) is
145 l_api_version_number CONSTANT number := 1.0;
146 l_api_name CONSTANT varchar2(30) := 'Create_Foreign_Key_Column';
147 l_return_status VARCHAR2(1);
148 l_pass NUMBER := 2;
149 l_copy_redo_flag BOOLEAN := FALSE;
150 begin
151 -- Check API version number
152 IF NOT FND_API.Compatible_API_Call (
153 l_api_version_number, p_api_version_number, l_api_name,
154 G_PKG_NAME) then
155 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
156 return;
157 END IF;
158
159 -- Initialize the message table if requested.
160
161 if p_init_msg_tbl then
162 FND_MSG_PUB.initialize;
163 end if;
164
165 savepoint start_create_key_column;
166
167 -- Call private procedure to create an foreign key column
168 AK_KEY_PVT.CREATE_FOREIGN_KEY_COLUMN (
169 p_validation_level => p_validation_level,
170 p_api_version_number => 1.0,
171 p_msg_count => p_msg_count,
172 p_msg_data => p_msg_data,
173 p_return_status => l_return_status,
174 p_foreign_key_name => p_foreign_key_name,
175 p_attribute_application_id => p_attribute_application_id,
176 p_attribute_code => p_attribute_code,
177 p_foreign_key_sequence => p_foreign_key_sequence,
178 p_created_by => p_created_by,
179 p_creation_date => p_creation_date,
180 p_last_updated_by => p_last_updated_by,
181 p_last_update_date => p_last_update_date,
182 p_last_update_login => p_lasT_update_login,
183 p_pass => l_pass,
184 p_copy_redo_flag => l_copy_redo_flag
185 );
186
187 -- If API call returns with an error status...
188 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
189 (l_return_status = FND_API.G_RET_STS_ERROR) then
190 --dbms_output.put_line(l_api_name || ' Create_Foreign_Key_Column failed');
191 RAISE FND_API.G_EXC_ERROR;
192 end if;
193
194 p_return_status := FND_API.G_RET_STS_SUCCESS;
195
196 EXCEPTION
197 WHEN FND_API.G_EXC_ERROR THEN
198 p_return_status := FND_API.G_RET_STS_ERROR;
199 rollback to start_create_key_column;
200 WHEN OTHERS THEN
201 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
202 rollback to start_create_key_column;
203 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
204 SUBSTR (SQLERRM, 1, 240) );
205 FND_MSG_PUB.Add;
206 end CREATE_FOREIGN_KEY_COLUMN;
207
208 --=======================================================
209 -- Procedure CREATE_UNIQUE_KEY
210 --
211 -- Usage Group API for creating a unique key
212 --
213 -- Desc Calls the private API to creates a unique key
214 -- using the given info
215 --
216 -- Results The API returns the standard p_return_status parameter
217 -- indicating one of the standard return statuses :
218 -- * Unexpected error
219 -- * Error
220 -- * Success
221 -- Parameters Unique Key columns
222 --
223 -- Version Initial version number = 1.0
224 -- History Current version number = 1.0
225 --=======================================================
226 procedure CREATE_UNIQUE_KEY (
227 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
228 p_api_version_number IN NUMBER,
229 p_init_msg_tbl IN BOOLEAN := FALSE,
230 p_msg_count OUT NOCOPY NUMBER,
231 p_msg_data OUT NOCOPY VARCHAR2,
232 p_return_status OUT NOCOPY VARCHAR2,
233 p_unique_key_name IN VARCHAR2,
234 p_database_object_name IN VARCHAR2,
235 p_application_id IN NUMBER,
236 p_created_by IN NUMBER := FND_API.G_MISS_NUM,
237 p_creation_date IN DATE := FND_API.G_MISS_DATE,
238 p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
239 p_last_update_date IN DATE := FND_API.G_MISS_DATE,
240 p_last_update_login IN NUMBER := FND_API.G_MISS_NUM
241 ) is
242 l_api_version_number CONSTANT number := 1.0;
243 l_api_name CONSTANT varchar2(30) := 'Create_Unique_Key';
244 l_return_status VARCHAR2(1);
245 l_pass NUMBER := 2;
246 l_copy_redo_flag BOOLEAN := FALSE;
247 begin
248 -- Check API version number
249 IF NOT FND_API.Compatible_API_Call (
250 l_api_version_number, p_api_version_number, l_api_name,
251 G_PKG_NAME) then
252 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
253 return;
254 END IF;
255
256 -- Initialize the message table if requested.
257
258 if p_init_msg_tbl then
259 FND_MSG_PUB.initialize;
260 end if;
261
262 savepoint start_create_unique_key;
263
264 -- Call private procedure to create a primary key
265 AK_KEY_PVT.CREATE_UNIQUE_KEY (
266 p_validation_level => p_validation_level,
267 p_api_version_number => 1.0,
268 p_msg_count => p_msg_count,
269 p_msg_data => p_msg_data,
270 p_return_status => l_return_status,
271 p_unique_key_name => p_unique_key_name,
272 p_database_object_name => p_database_object_name,
273 p_application_id => p_application_id,
274 p_created_by => p_created_by,
275 p_creation_date => p_creation_date,
276 p_last_updated_by => p_last_updated_by,
277 p_last_update_date => p_last_update_date,
278 p_last_update_login => p_lasT_update_login,
279 p_pass => l_pass,
280 p_copy_redo_flag => l_copy_redo_flag
281 );
282
283 -- If API call returns with an error status...
284 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
285 (l_return_status = FND_API.G_RET_STS_ERROR) then
286 --dbms_output.put_line(l_api_name || ' Create_Unique_Key failed');
287 RAISE FND_API.G_EXC_ERROR;
288 end if;
289
290 p_return_status := FND_API.G_RET_STS_SUCCESS;
291
292 EXCEPTION
293 WHEN FND_API.G_EXC_ERROR THEN
294 p_return_status := FND_API.G_RET_STS_ERROR;
295 rollback to start_create_unique_key;
296 WHEN OTHERS THEN
297 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
298 rollback to start_create_unique_key;
299 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
300 SUBSTR (SQLERRM, 1, 240) );
301 FND_MSG_PUB.Add;
302 end CREATE_UNIQUE_KEY;
303
304 --=======================================================
305 -- Procedure CREATE_UNIQUE_KEY_COLUMN
306 --
307 -- Usage Group API for creating a unique key column record
308 --
309 -- Desc Calls the private API to creates a unique key
310 -- column record using the given info
311 --
312 -- Results The API returns the standard p_return_status parameter
313 -- indicating one of the standard return statuses :
314 -- * Unexpected error
315 -- * Error
316 -- * Success
317 -- Parameters Unique Key Column columns
318 --
319 -- Version Initial version number = 1.0
320 -- History Current version number = 1.0
321 --=======================================================
322 procedure CREATE_UNIQUE_KEY_COLUMN (
323 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
324 p_api_version_number IN NUMBER,
325 p_init_msg_tbl IN BOOLEAN := FALSE,
326 p_msg_count OUT NOCOPY NUMBER,
327 p_msg_data OUT NOCOPY VARCHAR2,
328 p_return_status OUT NOCOPY VARCHAR2,
329 p_unique_key_name IN VARCHAR2,
330 p_attribute_application_id IN NUMBER,
331 p_attribute_code IN VARCHAR2,
332 p_unique_key_sequence IN NUMBER,
333 p_created_by IN NUMBER := FND_API.G_MISS_NUM,
334 p_creation_date IN DATE := FND_API.G_MISS_DATE,
335 p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
336 p_last_update_date IN DATE := FND_API.G_MISS_DATE,
337 p_last_update_login IN NUMBER := FND_API.G_MISS_NUM
338 ) is
339 l_api_version_number CONSTANT number := 1.0;
340 l_api_name CONSTANT varchar2(30) := 'Create_Unique_Key_Column';
341 l_return_status VARCHAR2(1);
342 l_pass NUMBER := 2;
343 l_copy_redo_flag BOOLEAN := FALSE;
344 begin
345 -- Check API version number
346 IF NOT FND_API.Compatible_API_Call (
347 l_api_version_number, p_api_version_number, l_api_name,
348 G_PKG_NAME) then
349 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
350 return;
351 END IF;
352
353 -- Initialize the message table if requested.
354
355 if p_init_msg_tbl then
356 FND_MSG_PUB.initialize;
357 end if;
358
359 savepoint start_create_key_column;
360
361 -- Call private procedure to create a primary key column
362 AK_KEY_PVT.CREATE_UNIQUE_KEY_COLUMN (
363 p_validation_level => p_validation_level,
364 p_api_version_number => 1.0,
365 p_msg_count => p_msg_count,
366 p_msg_data => p_msg_data,
367 p_return_status => l_return_status,
368 p_unique_key_name => p_unique_key_name,
369 p_attribute_application_id => p_attribute_application_id,
370 p_attribute_code => p_attribute_code,
371 p_unique_key_sequence => p_unique_key_sequence,
372 p_created_by => p_created_by,
373 p_creation_date => p_creation_date,
374 p_last_updated_by => p_last_updated_by,
375 p_last_update_date => p_last_update_date,
376 p_last_update_login => p_lasT_update_login,
377 p_pass => l_pass,
378 p_copy_redo_flag => l_copy_redo_flag
379 );
380
381 -- If API call returns with an error status...
382 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
383 (l_return_status = FND_API.G_RET_STS_ERROR) then
384 --dbms_output.put_line(l_api_name || ' Create_Unique_Key_Column failed');
388 p_return_status := FND_API.G_RET_STS_SUCCESS;
385 RAISE FND_API.G_EXC_ERROR;
386 end if;
387
389
390 EXCEPTION
391 WHEN FND_API.G_EXC_ERROR THEN
392 p_return_status := FND_API.G_RET_STS_ERROR;
393 rollback to start_create_key_column;
394 WHEN OTHERS THEN
395 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
396 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
397 SUBSTR (SQLERRM, 1, 240) );
398 FND_MSG_PUB.Add;
399 rollback to start_create_key_column;
400 end CREATE_UNIQUE_KEY_COLUMN;
401
402 --=======================================================
403 -- Procedure DELETE_FOREIGN_KEY
404 --
405 -- Usage Group API for deleting a foreign key record
406 --
407 -- Desc Calls the private API to deletes a foreign key
408 -- record with the given key value.
409 --
410 -- Results The API returns the standard p_return_status parameter
411 -- indicating one of the standard return statuses :
412 -- * Unexpected error
413 -- * Error
414 -- * Success
415 -- Parameters p_foreign_key_name : IN required
416 -- Name of the Foreign Key to be deleted.
417 -- p_delete_cascade : IN required
418 -- If p_delete_cascade flag is 'Y', also delete all
419 -- rows in other tables that references this record.
420 -- Otherwise, this record will not be deleted if there
421 -- are any other rows referencing it.
422 --
423 -- Version Initial version number = 1.0
424 -- History Current version number = 1.0
425 --=======================================================
426 procedure DELETE_FOREIGN_KEY (
427 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
428 p_api_version_number IN NUMBER,
429 p_init_msg_tbl IN BOOLEAN := FALSE,
430 p_msg_count OUT NOCOPY NUMBER,
431 p_msg_data OUT NOCOPY VARCHAR2,
432 p_return_status OUT NOCOPY VARCHAR2,
433 p_foreign_key_name IN VARCHAR2,
434 p_delete_cascade IN VARCHAR2 := 'N'
435 ) is
436 l_api_version_number CONSTANT number := 1.0;
437 l_api_name CONSTANT varchar2(30) := 'Delete_Foreign_Key';
438 l_return_status VARCHAR2(1);
439 begin
440 -- Check API version number
441 IF NOT FND_API.Compatible_API_Call (
442 l_api_version_number, p_api_version_number, l_api_name,
443 G_PKG_NAME) then
444 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
445 return;
446 END IF;
447
448 -- Initialize the message table if requested.
449
450 if p_init_msg_tbl then
451 FND_MSG_PUB.initialize;
452 end if;
453
454 savepoint start_delete_foreign_key;
455
456 -- Call private procedure to create a foreign key
457 AK_KEY_PVT.DELETE_FOREIGN_KEY (
458 p_validation_level => p_validation_level,
459 p_api_version_number => 1.0,
460 p_msg_count => p_msg_count,
461 p_msg_data => p_msg_data,
462 p_return_status => l_return_status,
463 p_foreign_key_name => p_foreign_key_name,
464 p_delete_cascade => p_delete_cascade
465 );
466
467 -- If API call returns with an error status...
468 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
469 (l_return_status = FND_API.G_RET_STS_ERROR) then
470 RAISE FND_API.G_EXC_ERROR;
471 end if;
472
473 p_return_status := FND_API.G_RET_STS_SUCCESS;
474
475 EXCEPTION
476 WHEN FND_API.G_EXC_ERROR THEN
477 p_return_status := FND_API.G_RET_STS_ERROR;
478 rollback to start_delete_foreign_key;
479 WHEN OTHERS THEN
480 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
481 rollback to start_delete_foreign_key;
482 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
483 SUBSTR (SQLERRM, 1, 240) );
484 FND_MSG_PUB.Add;
485 end DELETE_FOREIGN_KEY;
486
487 --=======================================================
488 -- Procedure DELETE_FOREIGN_KEY_COLUMN
489 --
490 -- Usage Group API for deleting a foreign key column record
491 --
492 -- Desc Calls the private API to deletes a foreign key
493 -- column record with the given key value.
494 --
495 -- Results The API returns the standard p_return_status parameter
496 -- indicating one of the standard return statuses :
497 -- * Unexpected error
498 -- * Error
499 -- * Success
500 -- Parameters p_foreign_key_name : IN required
501 -- p_attribute_application_id : IN required
502 -- p_attribute_code : IN required
503 -- Key for the Foreign Key Column record to be deleted.
504 -- p_delete_cascade : IN required
505 -- If p_delete_cascade flag is 'Y', also delete all
506 -- rows in other tables that references this record.
507 -- Otherwise, this record will not be deleted if there
508 -- are any other rows referencing it.
509 --
510 -- Version Initial version number = 1.0
511 -- History Current version number = 1.0
512 --=======================================================
513 procedure DELETE_FOREIGN_KEY_COLUMN (
514 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
515 p_api_version_number IN NUMBER,
516 p_init_msg_tbl IN BOOLEAN := FALSE,
520 p_foreign_key_name IN VARCHAR2,
517 p_msg_count OUT NOCOPY NUMBER,
518 p_msg_data OUT NOCOPY VARCHAR2,
519 p_return_status OUT NOCOPY VARCHAR2,
521 p_attribute_application_id IN NUMBER,
522 p_attribute_code IN VARCHAR2,
523 p_delete_cascade IN VARCHAR2 := 'N'
524 ) is
525 l_api_version_number CONSTANT number := 1.0;
526 l_api_name CONSTANT varchar2(30) := 'Delete_Foreign_Key_Column';
527 l_return_status VARCHAR2(1);
528 begin
529 -- Check API version number
530 IF NOT FND_API.Compatible_API_Call (
531 l_api_version_number, p_api_version_number, l_api_name,
532 G_PKG_NAME) then
533 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
534 return;
535 END IF;
536
537 -- Initialize the message table if requested.
538
539 if p_init_msg_tbl then
540 FND_MSG_PUB.initialize;
541 end if;
542
543 savepoint start_delete_key_column;
544
545 -- Call private procedure to create a foreign key
546 AK_KEY_PVT.DELETE_FOREIGN_KEY_COLUMN (
547 p_validation_level => p_validation_level,
548 p_api_version_number => 1.0,
549 p_msg_count => p_msg_count,
550 p_msg_data => p_msg_data,
551 p_return_status => l_return_status,
552 p_foreign_key_name => p_foreign_key_name,
553 p_attribute_application_id => p_attribute_application_id,
554 p_attribute_code => p_attribute_code,
555 p_delete_cascade => p_delete_cascade
556 );
557
558 -- If API call returns with an error status...
559 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
560 (l_return_status = FND_API.G_RET_STS_ERROR) then
561 RAISE FND_API.G_EXC_ERROR;
562 end if;
563
564 p_return_status := FND_API.G_RET_STS_SUCCESS;
565
566 EXCEPTION
567 WHEN FND_API.G_EXC_ERROR THEN
568 p_return_status := FND_API.G_RET_STS_ERROR;
569 rollback to start_delete_key_column;
570 WHEN OTHERS THEN
571 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
572 rollback to start_delete_key_column;
573 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
574 SUBSTR (SQLERRM, 1, 240) );
575 FND_MSG_PUB.Add;
576 end DELETE_FOREIGN_KEY_COLUMN;
577
578 --=======================================================
579 -- Procedure DELETE_UNIQUE_KEY
580 --
581 -- Usage Group API for deleting a unique key record
582 --
583 -- Desc Calls the private API to deletes a unique key
584 -- record with the given key value.
585 --
586 -- Results The API returns the standard p_return_status parameter
587 -- indicating one of the standard return statuses :
588 -- * Unexpected error
589 -- * Error
590 -- * Success
591 -- Parameters p_unique_key_name : IN required
592 -- Name of the Unique Key to be deleted.
593 -- p_delete_cascade : IN required
594 -- If p_delete_cascade flag is 'Y', also delete all
595 -- rows in other tables that references this record.
596 -- Otherwise, this record will not be deleted if there
597 -- are any other rows referencing it.
598 --
599 -- Version Initial version number = 1.0
600 -- History Current version number = 1.0
601 --=======================================================
602 procedure DELETE_UNIQUE_KEY (
603 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
604 p_api_version_number IN NUMBER,
605 p_init_msg_tbl IN BOOLEAN := FALSE,
606 p_msg_count OUT NOCOPY NUMBER,
607 p_msg_data OUT NOCOPY VARCHAR2,
608 p_return_status OUT NOCOPY VARCHAR2,
609 p_unique_key_name IN VARCHAR2,
610 p_delete_cascade IN VARCHAR2 := 'N'
611 ) is
612 l_api_version_number CONSTANT number := 1.0;
613 l_api_name CONSTANT varchar2(30) := 'Delete_Unique_Key';
614 l_return_status VARCHAR2(1);
615 begin
616 -- Check API version number
617 IF NOT FND_API.Compatible_API_Call (
618 l_api_version_number, p_api_version_number, l_api_name,
619 G_PKG_NAME) then
620 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
621 return;
622 END IF;
623
624 -- Initialize the message table if requested.
625
626 if p_init_msg_tbl then
627 FND_MSG_PUB.initialize;
628 end if;
629
630 savepoint start_delete_unique_key;
631
632 -- Call private procedure to create a foreign key
633 AK_KEY_PVT.DELETE_UNIQUE_KEY (
634 p_validation_level => p_validation_level,
635 p_api_version_number => 1.0,
636 p_msg_count => p_msg_count,
637 p_msg_data => p_msg_data,
638 p_return_status => l_return_status,
639 p_unique_key_name => p_unique_key_name,
640 p_delete_cascade => p_delete_cascade
641 );
642
643 -- If API call returns with an error status...
644 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
645 (l_return_status = FND_API.G_RET_STS_ERROR) then
646 RAISE FND_API.G_EXC_ERROR;
647 end if;
648
649 p_return_status := FND_API.G_RET_STS_SUCCESS;
650
651 EXCEPTION
652 WHEN FND_API.G_EXC_ERROR THEN
653 p_return_status := FND_API.G_RET_STS_ERROR;
654 rollback to start_delete_unique_key;
655 WHEN OTHERS THEN
659 SUBSTR (SQLERRM, 1, 240) );
656 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
657 rollback to start_delete_unique_key;
658 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
660 FND_MSG_PUB.Add;
661 end DELETE_UNIQUE_KEY;
662
663 --=======================================================
664 -- Procedure DELETE_UNIQUE_KEY_COLUMN
665 --
666 -- Usage Group API for deleting a Unique key column record
667 --
668 -- Desc Calls the private API to deletes a unique key
669 -- column record with the given key value.
670 --
671 -- Results The API returns the standard p_return_status parameter
672 -- indicating one of the standard return statuses :
673 -- * Unexpected error
674 -- * Error
675 -- * Success
676 -- Parameters p_unique_key_name : IN required
677 -- p_attribute_application_id : IN required
678 -- p_attribute_code : IN required
679 -- Key for the Unique Key Column record to be deleted.
680 -- p_delete_cascade : IN required
681 -- If p_delete_cascade flag is 'Y', also delete all
682 -- rows in other tables that references this record.
683 -- Otherwise, this record will not be deleted if there
684 -- are any other rows referencing it.
685 --
686 -- Version Initial version number = 1.0
687 -- History Current version number = 1.0
688 --=======================================================
689 procedure DELETE_UNIQUE_KEY_COLUMN (
690 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
691 p_api_version_number IN NUMBER,
692 p_init_msg_tbl IN BOOLEAN := FALSE,
693 p_msg_count OUT NOCOPY NUMBER,
694 p_msg_data OUT NOCOPY VARCHAR2,
695 p_return_status OUT NOCOPY VARCHAR2,
696 p_unique_key_name IN VARCHAR2,
697 p_attribute_application_id IN NUMBER,
698 p_attribute_code IN VARCHAR2,
699 p_delete_cascade IN VARCHAR2 := 'N'
700 ) is
701 l_api_version_number CONSTANT number := 1.0;
702 l_api_name CONSTANT varchar2(30) := 'Delete_Unique_Key_Column';
703 l_return_status VARCHAR2(1);
704 begin
705 -- Check API version number
706 IF NOT FND_API.Compatible_API_Call (
707 l_api_version_number, p_api_version_number, l_api_name,
708 G_PKG_NAME) then
709 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
710 return;
711 END IF;
712
713 -- Initialize the message table if requested.
714
715 if p_init_msg_tbl then
716 FND_MSG_PUB.initialize;
717 end if;
718
719 savepoint start_delete_key_column;
720
721 -- Call private procedure to create a foreign key
722 AK_KEY_PVT.DELETE_UNIQUE_KEY_COLUMN (
723 p_validation_level => p_validation_level,
724 p_api_version_number => 1.0,
725 p_msg_count => p_msg_count,
726 p_msg_data => p_msg_data,
727 p_return_status => l_return_status,
728 p_unique_key_name => p_unique_key_name,
729 p_attribute_application_id => p_attribute_application_id,
730 p_attribute_code => p_attribute_code,
731 p_delete_cascade => p_delete_cascade
732 );
733
734 -- If API call returns with an error status...
735 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
736 (l_return_status = FND_API.G_RET_STS_ERROR) then
737 RAISE FND_API.G_EXC_ERROR;
738 end if;
739
740 p_return_status := FND_API.G_RET_STS_SUCCESS;
741
742 EXCEPTION
743 WHEN FND_API.G_EXC_ERROR THEN
744 p_return_status := FND_API.G_RET_STS_ERROR;
745 rollback to start_delete_key_column;
746 WHEN OTHERS THEN
747 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
748 rollback to start_delete_key_column;
749 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
750 SUBSTR (SQLERRM, 1, 240) );
751 FND_MSG_PUB.Add;
752 end DELETE_UNIQUE_KEY_COLUMN;
753
754 --=======================================================
755 -- Procedure UPDATE_FOREIGN_KEY
756 --
757 -- Usage Group API for updating a foreign key record
758 --
759 -- Desc This API calls the private API to update
760 -- a foreign key record using the given info
761 --
762 -- Results The API returns the standard p_return_status parameter
763 -- indicating one of the standard return statuses :
764 -- * Unexpected error
765 -- * Error
766 -- * Success
767 -- Parameters Foreign Key columns
768 --
769 -- Version Initial version number = 1.0
770 -- History Current version number = 1.0
771 --=======================================================
772 procedure UPDATE_FOREIGN_KEY (
773 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
774 p_api_version_number IN NUMBER,
775 p_init_msg_tbl IN BOOLEAN := FALSE,
776 p_msg_count OUT NOCOPY NUMBER,
777 p_msg_data OUT NOCOPY VARCHAR2,
778 p_return_status OUT NOCOPY VARCHAR2,
779 p_foreign_key_name IN VARCHAR2,
780 p_database_object_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
781 p_unique_key_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
782 p_application_id IN NUMBER := FND_API.G_MISS_NUM,
783 p_from_to_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
787 p_created_by IN NUMBER := FND_API.G_MISS_NUM,
784 p_from_to_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
785 p_to_from_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
786 p_to_from_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
788 p_creation_date IN DATE := FND_API.G_MISS_DATE,
789 p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
790 p_last_update_date IN DATE := FND_API.G_MISS_DATE,
791 p_last_update_login IN NUMBER := FND_API.G_MISS_NUM
792 ) is
793 l_api_version_number CONSTANT number := 1.0;
794 l_api_name CONSTANT varchar2(30) := 'Update_Foreign_Key';
795 l_return_status VARCHAR2(1);
796 l_pass NUMBER := 2;
797 l_copy_redo_flag BOOLEAN := FALSE;
798 begin
799 -- Check API version number
800 IF NOT FND_API.Compatible_API_Call (
801 l_api_version_number, p_api_version_number, l_api_name,
802 G_PKG_NAME) then
803 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
804 return;
805 END IF;
806
807 -- Initialize the message table if requested.
808
809 if p_init_msg_tbl then
810 FND_MSG_PUB.initialize;
811 end if;
812
813 savepoint start_update_foreign_key;
814
815 -- Call private procedure to update a foreign key
816 AK_KEY_PVT.UPDATE_FOREIGN_KEY (
817 p_validation_level => p_validation_level,
818 p_api_version_number => 1.0,
819 p_msg_count => p_msg_count,
820 p_msg_data => p_msg_data,
821 p_return_status => l_return_status,
822 p_foreign_key_name => p_foreign_key_name,
823 p_database_object_name => p_database_object_name,
824 p_unique_key_name => p_unique_key_name,
825 p_application_id => p_application_id,
826 p_from_to_name => p_from_to_name,
827 p_from_to_description => p_from_to_description,
828 p_to_from_name => p_to_from_name,
829 p_to_from_description => p_to_from_description,
830 p_created_by => p_created_by,
831 p_creation_date => p_creation_date,
832 p_last_updated_by => p_last_updated_by,
833 p_last_update_date => p_last_update_date,
834 p_last_update_login => p_lasT_update_login,
835 p_pass => l_pass,
836 p_copy_redo_flag => l_copy_redo_flag
837 );
838
839 -- If API call returns with an error status...
840 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
841 (l_return_status = FND_API.G_RET_STS_ERROR) then
842 --dbms_output.put_line(l_api_name || ' Update_Foreign_Key failed');
843 RAISE FND_API.G_EXC_ERROR;
844 end if;
845
846 p_return_status := FND_API.G_RET_STS_SUCCESS;
847
848 EXCEPTION
849 WHEN FND_API.G_EXC_ERROR THEN
850 p_return_status := FND_API.G_RET_STS_ERROR;
851 rollback to start_update_foreign_key;
852 WHEN OTHERS THEN
853 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
854 rollback to start_update_foreign_key;
855 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
856 SUBSTR (SQLERRM, 1, 240) );
857 FND_MSG_PUB.Add;
858 end UPDATE_FOREIGN_KEY;
859
860 --=======================================================
861 -- Procedure UPDATE_FOREIGN_KEY_COLUMN
862 --
863 -- Usage Group API for updating a foreign key column record
864 --
865 -- Desc This API calls the private API to update
866 -- a foreign key column record using the given info
867 --
868 -- Results The API returns the standard p_return_status parameter
869 -- indicating one of the standard return statuses :
870 -- * Unexpected error
871 -- * Error
872 -- * Success
873 -- Parameters Foreign Key Column columns
874 --
875 -- Version Initial version number = 1.0
876 -- History Current version number = 1.0
877 --=======================================================
878 procedure UPDATE_FOREIGN_KEY_COLUMN (
879 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
880 p_api_version_number IN NUMBER,
881 p_init_msg_tbl IN BOOLEAN := FALSE,
882 p_msg_count OUT NOCOPY NUMBER,
883 p_msg_data OUT NOCOPY VARCHAR2,
884 p_return_status OUT NOCOPY VARCHAR2,
885 p_foreign_key_name IN VARCHAR2,
886 p_attribute_application_id IN NUMBER,
887 p_attribute_code IN VARCHAR2,
888 p_foreign_key_sequence IN NUMBER := FND_API.G_MISS_NUM,
889 p_created_by IN NUMBER := FND_API.G_MISS_NUM,
890 p_creation_date IN DATE := FND_API.G_MISS_DATE,
891 p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
892 p_last_update_date IN DATE := FND_API.G_MISS_DATE,
893 p_last_update_login IN NUMBER := FND_API.G_MISS_NUM
894 ) is
895 l_api_version_number CONSTANT number := 1.0;
896 l_api_name CONSTANT varchar2(30) := 'Update_Foreign_Key_Column';
897 l_return_status VARCHAR2(1);
898 l_pass NUMBER := 2;
899 l_copy_redo_flag BOOLEAN := FALSE;
900 begin
901 -- Check API version number
902 IF NOT FND_API.Compatible_API_Call (
903 l_api_version_number, p_api_version_number, l_api_name,
904 G_PKG_NAME) then
905 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
906 return;
907 END IF;
908
909 -- Initialize the message table if requested.
910
911 if p_init_msg_tbl then
912 FND_MSG_PUB.initialize;
913 end if;
914
918 AK_KEY_PVT.UPDATE_FOREIGN_KEY_COLUMN (
915 savepoint start_update_key_column;
916
917 -- Call private procedure to update an foreign key column
919 p_validation_level => p_validation_level,
920 p_api_version_number => 1.0,
921 p_msg_count => p_msg_count,
922 p_msg_data => p_msg_data,
923 p_return_status => l_return_status,
924 p_foreign_key_name => p_foreign_key_name,
925 p_attribute_application_id => p_attribute_application_id,
926 p_attribute_code => p_attribute_code,
927 p_foreign_key_sequence => p_foreign_key_sequence,
928 p_created_by => p_created_by,
929 p_creation_date => p_creation_date,
930 p_last_updated_by => p_last_updated_by,
931 p_last_update_date => p_last_update_date,
932 p_last_update_login => p_lasT_update_login,
933 p_pass => l_pass,
934 p_copy_redo_flag => l_copy_redo_flag
935 );
936
937 -- If API call returns with an error status...
938 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
939 (l_return_status = FND_API.G_RET_STS_ERROR) then
940 --dbms_output.put_line(l_api_name || ' Update_Foreign_Key_Column failed');
941 RAISE FND_API.G_EXC_ERROR;
942 end if;
943
944 p_return_status := FND_API.G_RET_STS_SUCCESS;
945
946 EXCEPTION
947 WHEN FND_API.G_EXC_ERROR THEN
948 p_return_status := FND_API.G_RET_STS_ERROR;
949 rollback to start_update_key_column;
950 WHEN OTHERS THEN
951 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
952 rollback to start_update_key_column;
953 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
954 SUBSTR (SQLERRM, 1, 240) );
955 FND_MSG_PUB.Add;
956 end UPDATE_FOREIGN_KEY_COLUMN;
957
958 --=======================================================
959 -- Procedure UPDATE_UNIQUE_KEY
960 --
961 -- Usage Group API for updating a unique key record
962 --
963 -- Desc This API calls the private API to update
964 -- a unique key record using the given info
965 --
966 -- Results The API returns the standard p_return_status parameter
967 -- indicating one of the standard return statuses :
968 -- * Unexpected error
969 -- * Error
970 -- * Success
971 -- Parameters Unique Key columns
972 --
973 -- Version Initial version number = 1.0
974 -- History Current version number = 1.0
975 --=======================================================
976 procedure UPDATE_UNIQUE_KEY (
977 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
978 p_api_version_number IN NUMBER,
979 p_init_msg_tbl IN BOOLEAN := FALSE,
980 p_msg_count OUT NOCOPY NUMBER,
981 p_msg_data OUT NOCOPY VARCHAR2,
982 p_return_status OUT NOCOPY VARCHAR2,
983 p_unique_key_name IN VARCHAR2,
984 p_database_object_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
985 p_application_id IN NUMBER := FND_API.G_MISS_NUM,
986 p_created_by IN NUMBER := FND_API.G_MISS_NUM,
987 p_creation_date IN DATE := FND_API.G_MISS_DATE,
988 p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
989 p_last_update_date IN DATE := FND_API.G_MISS_DATE,
990 p_last_update_login IN NUMBER := FND_API.G_MISS_NUM
991 ) is
992 l_api_version_number CONSTANT number := 1.0;
993 l_api_name CONSTANT varchar2(30) := 'Update_Unique_Key';
994 l_return_status VARCHAR2(1);
995 l_pass NUMBER := 2;
996 l_copy_redo_flag BOOLEAN := FALSE;
997 begin
998 -- Check API version number
999 IF NOT FND_API.Compatible_API_Call (
1000 l_api_version_number, p_api_version_number, l_api_name,
1001 G_PKG_NAME) then
1002 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1003 return;
1004 END IF;
1005
1006 -- Initialize the message table if requested.
1007
1008 if p_init_msg_tbl then
1009 FND_MSG_PUB.initialize;
1010 end if;
1011
1012 savepoint start_update_unique_key;
1013
1014 -- Call private procedure to update a primary key
1015 AK_KEY_PVT.UPDATE_UNIQUE_KEY (
1016 p_validation_level => p_validation_level,
1017 p_api_version_number => 1.0,
1018 p_msg_count => p_msg_count,
1019 p_msg_data => p_msg_data,
1020 p_return_status => l_return_status,
1021 p_unique_key_name => p_unique_key_name,
1022 p_database_object_name => p_database_object_name,
1023 p_application_id => p_application_id,
1024 p_created_by => p_created_by,
1025 p_creation_date => p_creation_date,
1026 p_last_updated_by => p_last_updated_by,
1027 p_last_update_date => p_last_update_date,
1028 p_last_update_login => p_lasT_update_login,
1029 p_pass => l_pass,
1030 p_copy_redo_flag => l_copy_redo_flag
1031 );
1032
1033 -- If API call returns with an error status...
1034 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1035 (l_return_status = FND_API.G_RET_STS_ERROR) then
1036 --dbms_output.put_line(l_api_name || ' Update_Unique_Key failed');
1037 RAISE FND_API.G_EXC_ERROR;
1038 end if;
1039
1040 p_return_status := FND_API.G_RET_STS_SUCCESS;
1041
1042 EXCEPTION
1043 WHEN FND_API.G_EXC_ERROR THEN
1044 p_return_status := FND_API.G_RET_STS_ERROR;
1045 rollback to start_update_unique_key;
1046 WHEN OTHERS THEN
1047 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1048 rollback to start_update_unique_key;
1049 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1053
1050 SUBSTR (SQLERRM, 1, 240) );
1051 FND_MSG_PUB.Add;
1052 end UPDATE_UNIQUE_KEY;
1054 --=======================================================
1055 -- Procedure UPDATE_UNIQUE_KEY_COLUMN
1056 --
1057 -- Usage Group API for updating a unique key column record
1058 --
1059 -- Desc This API calls the private API to update
1060 -- a uniquekey column record using the given info
1061 --
1062 -- Results The API returns the standard p_return_status parameter
1063 -- indicating one of the standard return statuses :
1064 -- * Unexpected error
1065 -- * Error
1066 -- * Success
1067 -- Parameters Unique Key Column columns
1068 --
1069 -- Version Initial version number = 1.0
1070 -- History Current version number = 1.0
1071 --=======================================================
1072 procedure UPDATE_UNIQUE_KEY_COLUMN (
1073 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1074 p_api_version_number IN NUMBER,
1075 p_init_msg_tbl IN BOOLEAN := FALSE,
1076 p_msg_count OUT NOCOPY NUMBER,
1077 p_msg_data OUT NOCOPY VARCHAR2,
1078 p_return_status OUT NOCOPY VARCHAR2,
1079 p_unique_key_name IN VARCHAR2,
1080 p_attribute_application_id IN NUMBER,
1081 p_attribute_code IN VARCHAR2,
1082 p_unique_key_sequence IN NUMBER := FND_API.G_MISS_NUM,
1083 p_created_by IN NUMBER := FND_API.G_MISS_NUM,
1084 p_creation_date IN DATE := FND_API.G_MISS_DATE,
1085 p_last_updated_by IN NUMBER := FND_API.G_MISS_NUM,
1086 p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1087 p_last_update_login IN NUMBER := FND_API.G_MISS_NUM
1088 ) is
1089 l_api_version_number CONSTANT number := 1.0;
1090 l_api_name CONSTANT varchar2(30) := 'Update_Unique_Key_Column';
1091 l_return_status VARCHAR2(1);
1092 l_pass NUMBER := 2;
1093 l_copy_redo_flag BOOLEAN := FALSE;
1094 begin
1095 -- Check API version number
1096 IF NOT FND_API.Compatible_API_Call (
1097 l_api_version_number, p_api_version_number, l_api_name,
1098 G_PKG_NAME) then
1099 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1100 return;
1101 END IF;
1102
1103 -- Initialize the message table if requested.
1104
1105 if p_init_msg_tbl then
1106 FND_MSG_PUB.initialize;
1107 end if;
1108
1109 savepoint start_update_key_column;
1110
1111 -- Call private procedure to update a primary key column
1112 AK_KEY_PVT.UPDATE_UNIQUE_KEY_COLUMN (
1113 p_validation_level => p_validation_level,
1114 p_api_version_number => 1.0,
1115 p_msg_count => p_msg_count,
1116 p_msg_data => p_msg_data,
1117 p_return_status => l_return_status,
1118 p_unique_key_name => p_unique_key_name,
1119 p_attribute_application_id => p_attribute_application_id,
1120 p_attribute_code => p_attribute_code,
1121 p_unique_key_sequence => p_unique_key_sequence,
1122 p_created_by => p_created_by,
1123 p_creation_date => p_creation_date,
1124 p_last_updated_by => p_last_updated_by,
1125 p_last_update_date => p_last_update_date,
1126 p_last_update_login => p_lasT_update_login,
1127 p_pass => l_pass,
1128 p_copy_redo_flag => l_copy_redo_flag
1129 );
1130
1131 -- If API call returns with an error status...
1132 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1133 (l_return_status = FND_API.G_RET_STS_ERROR) then
1134 --dbms_output.put_line(l_api_name || ' Update_Unique_Key_Column failed');
1135 RAISE FND_API.G_EXC_ERROR;
1136 end if;
1137
1138 p_return_status := FND_API.G_RET_STS_SUCCESS;
1139
1140 EXCEPTION
1141 WHEN FND_API.G_EXC_ERROR THEN
1142 p_return_status := FND_API.G_RET_STS_ERROR;
1143 rollback to start_update_key_column;
1144 WHEN OTHERS THEN
1145 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1146 rollback to start_update_key_column;
1147 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1148 SUBSTR (SQLERRM, 1, 240) );
1149 FND_MSG_PUB.Add;
1150 end UPDATE_UNIQUE_KEY_COLUMN;
1151
1152 end AK_KEY_GRP;