DBA Data[Home] [Help]

PACKAGE BODY: APPS.AK_KEY_GRP

Source


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;