DBA Data[Home] [Help]

PACKAGE BODY: APPS.AK_OBJECT_GRP

Source


1 package body AK_OBJECT_GRP as
2 /* $Header: akdgobjb.pls 120.2 2005/09/15 22:26:36 tshort ship $ */
3 
4 --=======================================================
5 --  Procedure   CREATE_ATTRIBUTE
6 --
7 --  Usage       Group API for creating an object attribute
8 --
9 --  Desc        Calls the private API to create an object attribute
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  Object Attribute columns
18 --
19 --  Version     Initial version number  =   1.0
20 --  History     Current version number  =   1.0
21 --=======================================================
22 procedure CREATE_ATTRIBUTE (
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_database_object_name     IN      VARCHAR2,
30 p_attribute_application_id IN      NUMBER,
31 p_attribute_code           IN      VARCHAR2,
32 p_column_name              IN      VARCHAR2 := FND_API.G_MISS_CHAR,
33 p_attribute_label_length   IN      NUMBER,
34 p_display_value_length     IN      NUMBER,
35 p_bold                     IN      VARCHAR2,
36 p_italic                   IN      VARCHAR2,
37 p_vertical_alignment       IN      VARCHAR2,
38 p_horizontal_alignment     IN      VARCHAR2,
39 p_data_source_type         IN      VARCHAR2,
40 p_data_storage_type        IN      VARCHAR2 := FND_API.G_MISS_CHAR,
41 p_table_name               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
42 p_base_table_column_name   IN      VARCHAR2 := FND_API.G_MISS_CHAR,
43 p_required_flag            IN      VARCHAR2,
44 p_default_value_varchar2   IN      VARCHAR2 := FND_API.G_MISS_CHAR,
45 p_default_value_number     IN      NUMBER := FND_API.G_MISS_NUM,
46 p_default_value_date       IN      DATE := FND_API.G_MISS_DATE,
47 p_lov_region_application_id IN     NUMBER := FND_API.G_MISS_NUM,
48 p_lov_region_code          IN      VARCHAR2 := FND_API.G_MISS_CHAR,
49 p_lov_foreign_key_name     IN      VARCHAR2 := FND_API.G_MISS_CHAR,
50 p_lov_attribute_application_id IN  NUMBER := FND_API.G_MISS_NUM,
51 p_lov_attribute_code       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
52 p_defaulting_api_pkg       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
53 p_defaulting_api_proc      IN      VARCHAR2 := FND_API.G_MISS_CHAR,
54 p_validation_api_pkg       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
55 p_validation_api_proc      IN      VARCHAR2 := FND_API.G_MISS_CHAR,
56 p_attribute_label_long     IN      VARCHAR2 := FND_API.G_MISS_CHAR,
57 p_attribute_label_short    IN      VARCHAR2 := FND_API.G_MISS_CHAR,
58 p_created_by               IN     NUMBER := FND_API.G_MISS_NUM,
59 p_creation_date            IN      DATE := FND_API.G_MISS_DATE,
60 p_last_updated_by          IN     NUMBER := FND_API.G_MISS_NUM,
61 p_last_update_date         IN      DATE := FND_API.G_MISS_DATE,
62 p_last_update_login        IN     NUMBER := FND_API.G_MISS_NUM
63 ) is
64 l_api_version_number CONSTANT number := 1.0;
65 l_api_name           CONSTANT varchar2(30) := 'Create_Attribute';
66 l_return_status      VARCHAR2(1);
67 l_pass               NUMBER := 2;
68 l_copy_redo_flag     BOOLEAN := FALSE;
69 begin
70 -- Check API version number
71 IF NOT FND_API.Compatible_API_Call (
72 l_api_version_number, p_api_version_number, l_api_name,
73 G_PKG_NAME) then
74 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
75 return;
76 END IF;
77 
78 -- Initialize the message table if requested.
79 
80 if p_init_msg_tbl then
81 FND_MSG_PUB.initialize;
82 end if;
83 
84 savepoint start_create_attribute;
85 
86 -- Call private procedure to create an attribute
87 AK_OBJECT_PVT.CREATE_ATTRIBUTE(
88 p_validation_level => p_validation_level,
89 p_api_version_number => 1.0,
90 p_msg_count => p_msg_count,
91 p_msg_data => p_msg_data,
92 p_return_status => l_return_status,
93 p_database_object_name => p_database_object_name,
94 p_attribute_application_id => p_attribute_application_id,
95 p_attribute_code => p_attribute_code,
96 p_column_name => p_column_name,
97 p_attribute_label_length => p_attribute_label_length,
98 p_display_value_length => p_display_value_length,
99 p_bold => p_bold,
100 p_italic => p_italic,
101 p_vertical_alignment => p_vertical_alignment,
102 p_horizontal_alignment => p_horizontal_alignment,
103 p_data_source_type => p_data_source_type,
104 p_data_storage_type => p_data_storage_type,
105 p_table_name => p_table_name,
106 p_base_table_column_name => p_base_table_column_name,
107 p_required_flag => p_required_flag,
108 p_default_value_varchar2 => p_default_value_varchar2,
109 p_default_value_number => p_default_value_number,
110 p_default_value_date => p_default_value_date,
111 p_lov_region_application_id => p_lov_region_application_id,
112 p_lov_region_code => p_lov_region_code,
113 p_lov_foreign_key_name => p_lov_foreign_key_name,
114 p_lov_attribute_application_id => p_lov_attribute_application_id,
115 p_lov_attribute_code => p_lov_attribute_code,
116 p_defaulting_api_pkg => p_defaulting_api_pkg,
117 p_defaulting_api_proc => p_defaulting_api_proc,
118 p_validation_api_pkg => p_validation_api_pkg,
119 p_validation_api_proc => p_validation_api_proc,
120 p_attribute_label_long => p_attribute_label_long,
121 p_attribute_label_short => p_attribute_label_short,
122 p_created_by => p_created_by,
123 p_creation_date => p_creation_date,
124 p_last_updated_by => p_last_updated_by,
125 p_last_update_date => p_last_update_date,
126 p_last_update_login => p_lasT_update_login,
127 p_pass => l_pass,
128 p_copy_redo_flag => l_copy_redo_flag
129 );
130 
131 -- If API call returns with an error status...
132 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
133 (l_return_status = FND_API.G_RET_STS_ERROR) then
134 -- dbms_output.put_line(l_api_name || ' Create_Attribute failed');
135 RAISE FND_API.G_EXC_ERROR;
136 end if;
137 
138 p_return_status := FND_API.G_RET_STS_SUCCESS;
139 
140 EXCEPTION
141 WHEN FND_API.G_EXC_ERROR THEN
142 p_return_status := FND_API.G_RET_STS_ERROR;
143 rollback to start_create_attribute;
144 WHEN OTHERS THEN
145 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
146 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
147 SUBSTR (SQLERRM, 1, 240) );
148 FND_MSG_PUB.Add;
149 rollback to start_create_attribute;
150 end CREATE_ATTRIBUTE;
151 
152 --=======================================================
153 --  Procedure   CREATE_ATTRIBUTE_NAVIGATION
154 --
155 --  Usage       Group API for creating an attribute
156 --              navigation record.
157 --
158 --  Desc        Calls the private API to create an attribute
159 --              navigation record using the given info
160 --
161 --  Results     The API returns the standard p_return_status parameter
162 --              indicating one of the standard return statuses :
163 --                  * Unexpected error
164 --                  * Error
165 --                  * Success
166 --  Parameters  Attribute Navigation columns
167 --
168 --  Version     Initial version number  =   1.0
169 --  History     Current version number  =   1.0
170 --=======================================================
171 procedure CREATE_ATTRIBUTE_NAVIGATION (
172 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
173 p_api_version_number       IN      NUMBER,
174 p_init_msg_tbl             IN      BOOLEAN := FALSE,
175 p_msg_count                OUT NOCOPY     NUMBER,
176 p_msg_data                 OUT NOCOPY     VARCHAR2,
177 p_return_status            OUT NOCOPY     VARCHAR2,
178 p_database_object_name     IN      VARCHAR2,
179 p_attribute_application_id IN      NUMBER,
180 p_attribute_code           IN      VARCHAR2,
181 p_value_varchar2           IN      VARCHAR2 := FND_API.G_MISS_CHAR,
182 p_value_date               IN      DATE     ,
183 p_value_number             IN      NUMBER,
184 p_to_region_appl_id        IN      NUMBER,
185 p_to_region_code           IN      VARCHAR2,
186 p_created_by               IN     NUMBER := FND_API.G_MISS_NUM,
187 p_creation_date            IN      DATE := FND_API.G_MISS_DATE,
188 p_last_updated_by          IN     NUMBER := FND_API.G_MISS_NUM,
189 p_last_update_date         IN      DATE := FND_API.G_MISS_DATE,
190 p_last_update_login        IN     NUMBER := FND_API.G_MISS_NUM
191 ) is
192 l_api_version_number CONSTANT number := 1.0;
193 l_api_name           CONSTANT varchar2(30) := 'Create_Attribute_Navigation';
194 l_return_status      VARCHAR2(1);
195 l_pass               NUMBER := 2;
196 l_copy_redo_flag     BOOLEAN := FALSE;
197 begin
198 -- Check API version number
199 IF NOT FND_API.Compatible_API_Call (
200 l_api_version_number, p_api_version_number, l_api_name,
201 G_PKG_NAME) then
202 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
203 return;
204 END IF;
205 
206 -- Initialize the message table if requested.
207 
208 if p_init_msg_tbl then
209 FND_MSG_PUB.initialize;
210 end if;
211 
212 savepoint start_create_navigation;
213 
214 -- Call private procedure to create an attribute navigation row
215 AK_OBJECT_PVT.CREATE_ATTRIBUTE_NAVIGATION(
216 p_validation_level => p_validation_level,
217 p_api_version_number => 1.0,
218 p_msg_count => p_msg_count,
219 p_msg_data => p_msg_data,
220 p_return_status => l_return_status,
221 p_database_object_name => p_database_object_name,
222 p_attribute_application_id => p_attribute_application_id,
223 p_attribute_code => p_attribute_code,
224 p_value_varchar2 => p_value_varchar2,
225 p_value_date => p_value_date,
226 p_value_number => p_value_number,
227 p_to_region_appl_id => p_to_region_appl_id,
228 p_to_region_code => p_to_region_code,
229 p_created_by => p_created_by,
230 p_creation_date => p_creation_date,
231 p_last_updated_by => p_last_updated_by,
232 p_last_update_date => p_last_update_date,
233 p_last_update_login => p_lasT_update_login,
234 p_pass => l_pass,
235 p_copy_redo_flag => l_copy_redo_flag
236 );
237 
238 -- If API call returns with an error status...
239 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
240 (l_return_status = FND_API.G_RET_STS_ERROR) then
241 --dbms_output.put_line(l_api_name || ' Create_Attribute_Navigation failed');
242 RAISE FND_API.G_EXC_ERROR;
243 end if;
244 
245 p_return_status := FND_API.G_RET_STS_SUCCESS;
246 
247 EXCEPTION
248 WHEN FND_API.G_EXC_ERROR THEN
249 p_return_status := FND_API.G_RET_STS_ERROR;
250 rollback to start_create_navigation;
251 WHEN OTHERS THEN
252 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
253 rollback to start_create_navigation;
254 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
255 SUBSTR (SQLERRM, 1, 240) );
256 FND_MSG_PUB.Add;
257 end CREATE_ATTRIBUTE_NAVIGATION;
258 
259 --=======================================================
260 --  Procedure   CREATE_ATTRIBUTE_VALUE
261 --
262 --  Usage       Group API for creating an attribute value
263 --              record
264 --
265 --  Desc        Calls the private API to create an attribute
266 --              value record using the given info
267 --
268 --  Results     The API returns the standard p_return_status parameter
269 --              indicating one of the standard return statuses :
270 --                  * Unexpected error
271 --                  * Error
272 --                  * Success
273 --  Parameters  Attribute Value columns
274 --
275 --  Version     Initial version number  =   1.0
276 --  History     Current version number  =   1.0
277 --=======================================================
278 procedure CREATE_ATTRIBUTE_VALUE (
279 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
280 p_api_version_number       IN      NUMBER,
281 p_init_msg_tbl             IN      BOOLEAN := FALSE,
282 p_msg_count                OUT NOCOPY     NUMBER,
283 p_msg_data                 OUT NOCOPY     VARCHAR2,
284 p_return_status            OUT NOCOPY     VARCHAR2,
285 p_database_object_name     IN      VARCHAR2,
286 p_attribute_application_id IN      NUMBER,
287 p_attribute_code           IN      VARCHAR2,
288 p_key_value1               IN      VARCHAR2,
289 p_key_value2               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
290 p_key_value3               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
291 p_key_value4               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
292 p_key_value5               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
293 p_key_value6               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
294 p_key_value7               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
295 p_key_value8               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
296 p_key_value9               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
297 p_key_value10              IN      VARCHAR2 := FND_API.G_MISS_CHAR,
298 p_value_varchar2           IN      VARCHAR2 := FND_API.G_MISS_CHAR,
299 p_value_date               IN      DATE := FND_API.G_MISS_DATE,
300 p_value_number             IN      NUMBER := FND_API.G_MISS_NUM,
301 p_created_by               IN     NUMBER := FND_API.G_MISS_NUM,
302 p_creation_date            IN      DATE := FND_API.G_MISS_DATE,
303 p_last_updated_by          IN     NUMBER := FND_API.G_MISS_NUM,
304 p_last_update_date         IN      DATE := FND_API.G_MISS_DATE,
305 p_last_update_login        IN     NUMBER := FND_API.G_MISS_NUM
306 ) is
307 l_api_version_number CONSTANT number := 1.0;
308 l_api_name           CONSTANT varchar2(30) := 'Create_Attribute_Value';
309 l_return_status      VARCHAR2(1);
310 begin
311 -- Check API version number
312 IF NOT FND_API.Compatible_API_Call (
313 l_api_version_number, p_api_version_number, l_api_name,
314 G_PKG_NAME) then
315 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
316 return;
317 END IF;
318 
319 -- Initialize the message table if requested.
320 
321 if p_init_msg_tbl then
322 FND_MSG_PUB.initialize;
323 end if;
324 
325 savepoint start_create_value;
326 
327 -- Call private procedure to create an attribute value row
328 AK_OBJECT_PVT.CREATE_ATTRIBUTE_VALUE (
329 p_validation_level => p_validation_level,
330 p_api_version_number => 1.0,
331 p_msg_count => p_msg_count,
332 p_msg_data => p_msg_data,
333 p_return_status => l_return_status,
334 p_database_object_name => p_database_object_name,
335 p_attribute_application_id => p_attribute_application_id,
336 p_attribute_code => p_attribute_code,
337 p_key_value1 => p_key_value1,
338 p_key_value2 => p_key_value2,
339 p_key_value3 => p_key_value3,
340 p_key_value4 => p_key_value4,
341 p_key_value5 => p_key_value5,
342 p_key_value6 => p_key_value6,
343 p_key_value7 => p_key_value7,
344 p_key_value8 => p_key_value8,
345 p_key_value9 => p_key_value9,
346 p_key_value10 => p_key_value10,
347 p_value_varchar2 => p_value_varchar2,
348 p_value_date => p_value_date,
349 p_value_number => p_value_number,
350 p_created_by => p_created_by,
351 p_creation_date => p_creation_date,
352 p_last_updated_by => p_last_updated_by,
353 p_last_update_date => p_last_update_date,
354 p_last_update_login => p_lasT_update_login
355 );
356 
357 -- If API call returns with an error status...
358 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
359 (l_return_status = FND_API.G_RET_STS_ERROR) then
360 --dbms_output.put_line(l_api_name || ' Create_Attribute_Value failed');
361 RAISE FND_API.G_EXC_ERROR;
362 end if;
363 
364 p_return_status := FND_API.G_RET_STS_SUCCESS;
365 
366 EXCEPTION
367 WHEN FND_API.G_EXC_ERROR THEN
368 p_return_status := FND_API.G_RET_STS_ERROR;
369 rollback to start_create_value;
370 WHEN OTHERS THEN
371 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
372 rollback to start_create_value;
373 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
374 SUBSTR (SQLERRM, 1, 240) );
375 FND_MSG_PUB.Add;
376 end CREATE_ATTRIBUTE_VALUE;
377 
378 --=======================================================
379 --  Procedure   CREATE_OBJECT
380 --
381 --  Usage       Group API for creating an object
382 --
383 --  Desc        Calls the private API to create an object
384 --
385 --  Results     The API returns the standard p_return_status parameter
386 --              indicating one of the standard return statuses :
387 --                  * Unexpected error
388 --                  * Error
389 --                  * Success
390 --  Parameters  Object columns
391 --
392 --  Version     Initial version number  =   1.0
393 --  History     Current version number  =   1.0
394 --=======================================================
395 procedure CREATE_OBJECT (
396 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
397 p_api_version_number       IN      NUMBER,
398 p_init_msg_tbl             IN      BOOLEAN := FALSE,
399 p_msg_count                OUT NOCOPY     NUMBER,
400 p_msg_data                 OUT NOCOPY     VARCHAR2,
401 p_return_status            OUT NOCOPY     VARCHAR2,
402 p_database_object_name     IN      VARCHAR2,
403 p_name                     IN      VARCHAR2 := FND_API.G_MISS_CHAR,
404 p_description              IN      VARCHAR2 := FND_API.G_MISS_CHAR,
405 p_application_id           IN      NUMBER,
406 p_primary_key_name         IN      VARCHAR2 := FND_API.G_MISS_CHAR,
407 p_defaulting_api_pkg       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
408 p_defaulting_api_proc      IN      VARCHAR2 := FND_API.G_MISS_CHAR,
409 p_validation_api_pkg       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
410 p_validation_api_proc      IN      VARCHAR2 := FND_API.G_MISS_CHAR,
411 p_created_by               IN     NUMBER := FND_API.G_MISS_NUM,
412 p_creation_date            IN      DATE := FND_API.G_MISS_DATE,
413 p_last_updated_by          IN     NUMBER := FND_API.G_MISS_NUM,
414 p_last_update_date         IN      DATE := FND_API.G_MISS_DATE,
415 p_last_update_login        IN     NUMBER := FND_API.G_MISS_NUM
416 ) is
417 l_api_version_number CONSTANT number := 1.0;
418 l_api_name           CONSTANT varchar2(30) := 'Create_Object';
419 l_return_status      VARCHAR2(1);
420 l_pass               NUMBER := 2;
421 l_copy_redo_flag     BOOLEAN := FALSE;
422 begin
423 -- Check API version number
424 IF NOT FND_API.Compatible_API_Call (
425 l_api_version_number, p_api_version_number, l_api_name,
426 G_PKG_NAME) then
427 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
428 return;
429 END IF;
430 
431 -- Initialize the message table if requested.
432 
433 if p_init_msg_tbl then
434 FND_MSG_PUB.initialize;
435 end if;
436 
437 savepoint start_create_object;
438 
439 -- Call private procedure to create an object
440 AK_OBJECT_PVT.CREATE_OBJECT (
441 p_validation_level => p_validation_level,
442 p_api_version_number => 1.0,
443 p_msg_count => p_msg_count,
444 p_msg_data => p_msg_data,
445 p_return_status => l_return_status,
446 p_database_object_name => p_database_object_name,
447 p_name => p_name,
448 p_description => p_description,
449 p_application_id => p_application_id,
450 p_primary_key_name => p_primary_key_name,
451 p_defaulting_api_pkg => p_defaulting_api_pkg,
452 p_defaulting_api_proc => p_defaulting_api_proc,
453 p_validation_api_pkg => p_validation_api_pkg,
454 p_validation_api_proc => p_validation_api_proc,
455 p_created_by => p_created_by,
456 p_creation_date => p_creation_date,
457 p_last_updated_by => p_last_updated_by,
458 p_last_update_date => p_last_update_date,
459 p_last_update_login => p_lasT_update_login,
460 p_pass => l_pass,
461 p_copy_redo_flag => l_copy_redo_flag
462 );
463 
464 -- If API call returns with an error status...
465 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
466 (l_return_status = FND_API.G_RET_STS_ERROR) then
467 --dbms_output.put_line(l_api_name || ' Create_Object failed');
468 RAISE FND_API.G_EXC_ERROR;
469 end if;
470 
471 p_return_status := FND_API.G_RET_STS_SUCCESS;
472 
473 EXCEPTION
474 WHEN FND_API.G_EXC_ERROR THEN
475 p_return_status := FND_API.G_RET_STS_ERROR;
476 rollback to start_create_object;
477 WHEN OTHERS THEN
478 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
479 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
480 SUBSTR (SQLERRM, 1, 240) );
481 FND_MSG_PUB.Add;
482 rollback to start_create_object;
483 end CREATE_OBJECT;
484 
485 --=======================================================
486 --  Procedure   DELETE_ATTRIBUTE
487 --
488 --  Usage       Group API for deleting an object attribute
489 --
490 --  Desc        Calls the private API to delete an object attribute
491 --              with the given key value.
492 --
493 --  Results     The API returns the standard p_return_status parameter
494 --              indicating one of the standard return statuses :
495 --                  * Unexpected error
496 --                  * Error
497 --                  * Success
498 --  Parameters  p_database_object_name : IN required
499 --              p_attribute_application_id : IN required
500 --              p_attribute_code : IN required
501 --                  Key value of the object attribute to be deleted.
502 --              p_delete_cascade : IN required
503 --                  If p_delete_cascade flag is 'Y', also delete all
504 --                  rows in other tables that references this record.
505 --                  Otherwise, this record will not be deleted if there
506 --                  are any other rows referencing it.
507 --
508 --  Version     Initial version number  =   1.0
509 --  History     Current version number  =   1.0
510 --=======================================================
511 procedure DELETE_ATTRIBUTE (
512 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
513 p_api_version_number       IN      NUMBER,
514 p_init_msg_tbl             IN      BOOLEAN := FALSE,
515 p_msg_count                OUT NOCOPY     NUMBER,
516 p_msg_data                 OUT NOCOPY     VARCHAR2,
517 p_return_status            OUT NOCOPY     VARCHAR2,
518 p_database_object_name     IN      VARCHAR2,
519 p_attribute_application_id IN      NUMBER,
520 p_attribute_code           IN      VARCHAR2,
521 p_delete_cascade           IN      VARCHAR2 := 'N'
522 ) is
523 l_api_version_number CONSTANT number := 1.0;
524 l_api_name           CONSTANT varchar2(30) := 'Delete_Attribute';
525 l_return_status      VARCHAR2(1);
526 begin
527 -- Check API version number
528 IF NOT FND_API.Compatible_API_Call (
529 l_api_version_number, p_api_version_number, l_api_name,
530 G_PKG_NAME) then
531 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
532 return;
533 END IF;
534 
535 -- Initialize the message table if requested.
536 
537 if p_init_msg_tbl then
538 FND_MSG_PUB.initialize;
539 end if;
540 
541 savepoint start_delete_attribute;
542 
543 -- Call private procedure to delete an object attribute
544 AK_OBJECT_PVT.DELETE_ATTRIBUTE(
545 p_validation_level => p_validation_level,
546 p_api_version_number => 1.0,
547 p_msg_count => p_msg_count,
548 p_msg_data => p_msg_data,
549 p_return_status => l_return_status,
550 p_database_object_name => p_database_object_name,
551 p_attribute_application_id => p_attribute_application_id,
552 p_attribute_code => p_attribute_code,
553 p_delete_cascade => p_delete_cascade
554 );
555 
556 -- If API call returns with an error status...
557 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
558 (l_return_status = FND_API.G_RET_STS_ERROR) then
559 RAISE FND_API.G_EXC_ERROR;
560 end if;
561 
562 p_return_status := FND_API.G_RET_STS_SUCCESS;
563 
564 EXCEPTION
565 WHEN FND_API.G_EXC_ERROR THEN
566 p_return_status := FND_API.G_RET_STS_ERROR;
567 rollback to start_delete_attribute;
568 WHEN OTHERS THEN
569 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
570 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
571 SUBSTR (SQLERRM, 1, 240) );
572 FND_MSG_PUB.Add;
573 rollback to start_delete_attribute;
574 end DELETE_ATTRIBUTE;
575 
576 --=======================================================
577 --  Procedure   DELETE_ATTRIBUTE_NAVIGATION
578 --
579 --  Usage       Group API for deleting an attribute navigation
580 --              record
581 --
582 --  Desc        Calls the private API to delete an attribute
583 --              navigation record with the given key value.
584 --
585 --  Results     The API returns the standard p_return_status parameter
586 --              indicating one of the standard return statuses :
587 --                  * Unexpected error
588 --                  * Error
589 --                  * Success
590 --  Parameters  p_database_object_name : IN required
591 --              p_attribute_application_id : IN required
592 --              p_attribute_code : IN required
593 --              p_value_varchar2 : IN required (can be null)
594 --              p_value_date : IN required (can be null)
595 --              p_value_number : IN required (can be null)
596 --                  Key value of the attribute navigation record
597 --                  to be deleted.
598 --              p_delete_cascade : IN required
599 --                  If p_delete_cascade flag is 'Y', also delete all
600 --                  rows in other tables that references this record.
601 --                  Otherwise, this record will not be deleted if there
602 --                  are any other rows referencing it.
603 --
604 --  Version     Initial version number  =   1.0
605 --  History     Current version number  =   1.0
606 --=======================================================
607 procedure DELETE_ATTRIBUTE_NAVIGATION (
608 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
609 p_api_version_number       IN      NUMBER,
610 p_init_msg_tbl             IN      BOOLEAN := FALSE,
611 p_msg_count                OUT NOCOPY     NUMBER,
612 p_msg_data                 OUT NOCOPY     VARCHAR2,
613 p_return_status            OUT NOCOPY     VARCHAR2,
614 p_database_object_name     IN      VARCHAR2,
615 p_attribute_application_id IN      NUMBER,
616 p_attribute_code           IN      VARCHAR2,
617 p_value_varchar2           IN      VARCHAR2,
618 p_value_date               IN      DATE,
619 p_value_number             IN      NUMBER,
620 p_delete_cascade           IN      VARCHAR2 := 'N'
621 ) is
622 l_api_version_number CONSTANT number := 1.0;
623 l_api_name           CONSTANT varchar2(30) := 'Delete_Attribute_Navigation';
624 l_return_status      VARCHAR2(1);
625 begin
626 -- Check API version number
627 IF NOT FND_API.Compatible_API_Call (
628 l_api_version_number, p_api_version_number, l_api_name,
629 G_PKG_NAME) then
630 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
631 return;
632 END IF;
633 
634 -- Initialize the message table if requested.
635 
636 if p_init_msg_tbl then
637 FND_MSG_PUB.initialize;
638 end if;
639 
640 savepoint start_delete_navigation;
641 
642 -- Call private procedure to delete an attribute navigation record
643 AK_OBJECT_PVT.DELETE_ATTRIBUTE_NAVIGATION(
644 p_validation_level => p_validation_level,
645 p_api_version_number => 1.0,
646 p_msg_count => p_msg_count,
647 p_msg_data => p_msg_data,
648 p_return_status => l_return_status,
649 p_database_object_name => p_database_object_name,
650 p_attribute_application_id => p_attribute_application_id,
651 p_attribute_code => p_attribute_code,
652 p_value_varchar2 => p_value_varchar2,
653 p_value_date => p_value_date,
654 p_value_number => p_value_number,
655 p_delete_cascade => p_delete_cascade
656 );
657 
658 -- If API call returns with an error status...
659 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
660 (l_return_status = FND_API.G_RET_STS_ERROR) then
661 RAISE FND_API.G_EXC_ERROR;
662 end if;
663 
664 p_return_status := FND_API.G_RET_STS_SUCCESS;
665 
666 EXCEPTION
667 WHEN FND_API.G_EXC_ERROR THEN
668 p_return_status := FND_API.G_RET_STS_ERROR;
669 rollback to start_delete_navigation;
670 WHEN OTHERS THEN
671 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
672 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
673 SUBSTR (SQLERRM, 1, 240) );
674 FND_MSG_PUB.Add;
675 rollback to start_delete_navigation;
676 end DELETE_ATTRIBUTE_NAVIGATION;
677 
678 --=======================================================
679 --  Procedure   DELETE_ATTRIBUTE_VALUE
680 --
681 --  Usage       Group API for deleting an attribute value
682 --              record
683 --
684 --  Desc        Calls the private API to delete an attribute
685 --              value record with the given key value.
686 --
687 --  Results     The API returns the standard p_return_status parameter
688 --              indicating one of the standard return statuses :
689 --                  * Unexpected error
690 --                  * Error
691 --                  * Success
692 --  Parameters  p_database_object_name : IN required
693 --              p_attribute_application_id : IN required
694 --              p_attribute_code : IN required
695 --              p_key_value1 : IN required
696 --              p_key_value2 thru p_key_value10 : IN optional
697 --                  Key value of the attribute value record
698 --                  to be deleted.
699 --              p_delete_cascade : IN required
700 --                  If p_delete_cascade flag is 'Y', also delete all
701 --                  rows in other tables that references this record.
702 --                  Otherwise, this record will not be deleted if there
703 --                  are any other rows referencing it.
704 --
705 --  Version     Initial version number  =   1.0
706 --  History     Current version number  =   1.0
707 --=======================================================
708 procedure DELETE_ATTRIBUTE_VALUE (
709 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
710 p_api_version_number       IN      NUMBER,
711 p_init_msg_tbl             IN      BOOLEAN := FALSE,
712 p_msg_count                OUT NOCOPY     NUMBER,
713 p_msg_data                 OUT NOCOPY     VARCHAR2,
714 p_return_status            OUT NOCOPY     VARCHAR2,
715 p_database_object_name     IN      VARCHAR2,
716 p_attribute_application_id IN      NUMBER,
717 p_attribute_code           IN      VARCHAR2,
718 p_key_value1               IN      VARCHAR2,
719 p_key_value2               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
720 p_key_value3               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
721 p_key_value4               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
722 p_key_value5               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
723 p_key_value6               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
724 p_key_value7               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
725 p_key_value8               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
726 p_key_value9               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
727 p_key_value10              IN      VARCHAR2 := FND_API.G_MISS_CHAR,
728 p_delete_cascade           IN      VARCHAR2 := 'N'
729 ) is
730 l_api_version_number CONSTANT number := 1.0;
731 l_api_name           CONSTANT varchar2(30) := 'Delete_Attribute_Value';
732 l_return_status      VARCHAR2(1);
733 begin
734 -- Check API version number
735 IF NOT FND_API.Compatible_API_Call (
736 l_api_version_number, p_api_version_number, l_api_name,
737 G_PKG_NAME) then
738 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
739 return;
740 END IF;
741 
742 -- Initialize the message table if requested.
743 
744 if p_init_msg_tbl then
745 FND_MSG_PUB.initialize;
746 end if;
747 
748 savepoint start_delete_value;
749 
750 -- Call private procedure to delete an attribute value record
751 AK_OBJECT_PVT.DELETE_ATTRIBUTE_VALUE(
752 p_validation_level => p_validation_level,
753 p_api_version_number => 1.0,
754 p_msg_count => p_msg_count,
755 p_msg_data => p_msg_data,
756 p_return_status => l_return_status,
757 p_database_object_name => p_database_object_name,
758 p_attribute_application_id => p_attribute_application_id,
759 p_attribute_code => p_attribute_code,
760 p_key_value1 => p_key_value1,
761 p_key_value2 => p_key_value2,
762 p_key_value3 => p_key_value3,
763 p_key_value4 => p_key_value4,
764 p_key_value5 => p_key_value5,
765 p_key_value6 => p_key_value6,
766 p_key_value7 => p_key_value7,
767 p_key_value8 => p_key_value8,
768 p_key_value9 => p_key_value9,
769 p_key_value10 => p_key_value10,
770 p_delete_cascade => p_delete_cascade
771 );
772 
773 -- If API call returns with an error status...
774 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
775 (l_return_status = FND_API.G_RET_STS_ERROR) then
776 RAISE FND_API.G_EXC_ERROR;
777 end if;
778 
779 p_return_status := FND_API.G_RET_STS_SUCCESS;
780 
781 EXCEPTION
782 WHEN FND_API.G_EXC_ERROR THEN
783 p_return_status := FND_API.G_RET_STS_ERROR;
784 rollback to start_delete_value;
785 WHEN OTHERS THEN
786 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
787 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
788 SUBSTR (SQLERRM, 1, 240) );
789 FND_MSG_PUB.Add;
790 rollback to start_delete_value;
791 end DELETE_ATTRIBUTE_VALUE;
792 
793 --=======================================================
794 --  Procedure   DELETE_OBJECT
795 --
796 --  Usage       Group API for deleting an object
797 --
798 --  Desc        Calls the private API to delete an object
799 --              with the given key value.
800 --
801 --  Results     The API returns the standard p_return_status parameter
802 --              indicating one of the standard return statuses :
803 --                  * Unexpected error
804 --                  * Error
805 --                  * Success
806 --  Parameters  p_database_object_name : IN required
807 --                  database object name of the object to be deleted
808 --              p_delete_cascade : IN required
809 --                  If p_delete_cascade flag is 'Y', also delete all
810 --                  rows in other tables that references this object.
811 --                  Otherwise, this object will not be deleted if there
812 --                  are any other rows referencing it.
813 --
814 --  Version     Initial version number  =   1.0
815 --  History     Current version number  =   1.0
816 --=======================================================
817 procedure DELETE_OBJECT (
818 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
819 p_api_version_number       IN      NUMBER,
820 p_init_msg_tbl             IN      BOOLEAN := FALSE,
821 p_msg_count                OUT NOCOPY     NUMBER,
822 p_msg_data                 OUT NOCOPY     VARCHAR2,
823 p_return_status            OUT NOCOPY     VARCHAR2,
824 p_database_object_name     IN      VARCHAR2,
825 p_delete_cascade           IN      VARCHAR2 := 'N'
826 ) is
827 l_api_version_number CONSTANT number := 1.0;
828 l_api_name           CONSTANT varchar2(30) := 'Delete_Object';
829 l_return_status      VARCHAR2(1);
830 begin
831 -- Check API version number
832 IF NOT FND_API.Compatible_API_Call (
833 l_api_version_number, p_api_version_number, l_api_name,
834 G_PKG_NAME) then
835 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
836 return;
837 END IF;
838 
839 -- Initialize the message table if requested.
840 
841 if p_init_msg_tbl then
842 FND_MSG_PUB.initialize;
843 end if;
844 
845 savepoint start_delete_object;
846 
847 -- Call private procedure to delete an object
848 AK_OBJECT_PVT.DELETE_OBJECT(
849 p_validation_level => p_validation_level,
850 p_api_version_number => 1.0,
851 p_msg_count => p_msg_count,
852 p_msg_data => p_msg_data,
853 p_return_status => l_return_status,
854 p_database_object_name => p_database_object_name,
855 p_delete_cascade => p_delete_cascade
856 );
857 
858 -- If API call returns with an error status...
859 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
860 (l_return_status = FND_API.G_RET_STS_ERROR) then
861 RAISE FND_API.G_EXC_ERROR;
862 end if;
863 
864 p_return_status := FND_API.G_RET_STS_SUCCESS;
865 
866 EXCEPTION
867 WHEN FND_API.G_EXC_ERROR THEN
868 p_return_status := FND_API.G_RET_STS_ERROR;
869 rollback to start_delete_object;
870 WHEN OTHERS THEN
871 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
872 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
873 SUBSTR (SQLERRM, 1, 240) );
874 FND_MSG_PUB.Add;
875 rollback to start_delete_object;
876 end DELETE_OBJECT;
877 
878 --===========================================================
879 --  Procedure   DOWNLOAD_OBJECT
880 --
881 --  Usage       Group API for downloading objects
882 --
883 --  Desc        This API first write out standard loader
884 --              file header for objects to a flat file.
885 --              Then it calls the private API to extract the
886 --              objects selected by application ID or by
887 --              key values from the database to the output file.
888 --              If an object is selected for writing to the loader
889 --              file, all its children records (including object
890 --              attributes, foreign and unique key definitions,
891 --              attribute values, attribute navigation, and regions
892 --              that references this object) will also be written.
893 --
894 --  Results     The API returns the standard p_return_status parameter
895 --              indicating one of the standard return statuses :
896 --                  * Unexpected error
897 --                  * Error
898 --                  * Success
899 --  Parameters
900 --              p_nls_language : IN optional
901 --                  NLS language for database. If none if given,
902 --                  the current NLS language will be used.
903 --
904 --              One of the following three parameters must be given:
905 --
906 --              p_application_id : IN optional
907 --                  If given, all attributes for this application ID
908 --                  will be written to the output file.
909 --              p_application_short_name : IN optional
910 --                  If given, all attributes for this application short
911 --                  name will be written to the output file.
912 --                  Application short name will be ignored if an
913 --                  application ID is given.
914 --              p_object_pk_tbl : IN optional
915 --                  If given, only objects whose key values are
916 --                  included in this table will be written to the
917 --                  output file.
918 --
919 --
920 --  Version     Initial version number  =   1.0
921 --  History     Current version number  =   1.0
922 --===========================================================
923 procedure DOWNLOAD_OBJECT (
924 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
925 p_api_version_number       IN      NUMBER,
926 p_init_msg_tbl             IN      BOOLEAN := FALSE,
927 p_msg_count                OUT NOCOPY     NUMBER,
928 p_msg_data                 OUT NOCOPY     VARCHAR2,
929 p_return_status            OUT NOCOPY     VARCHAR2,
930 p_nls_language             IN      VARCHAR2 := FND_API.G_MISS_CHAR,
931 p_application_id           IN      NUMBER := FND_API.G_MISS_NUM,
932 p_application_short_name   IN      VARCHAR2 := FND_API.G_MISS_CHAR,
933 p_object_pk_tbl            IN      AK_OBJECT_PUB.Object_PK_Tbl_Type
934 := AK_OBJECT_PUB.G_MISS_OBJECT_PK_TBL
935 ) is
936 l_api_version_number CONSTANT number := 1.0;
937 l_api_name           CONSTANT varchar2(30) := 'Download';
938 l_application_id     number;
939 l_buffer_tbl         AK_ON_OBJECTS_PUB.Buffer_Tbl_Type;
940 l_index              NUMBER;
941 l_index_out          NUMBER;
942 l_nls_language       VARCHAR2(30);
943 l_return_status      varchar2(1);
944 begin
945 
946 -- Check verion number
947 IF NOT FND_API.Compatible_API_Call (
948 l_api_version_number, p_api_version_number, l_api_name,
949 G_PKG_NAME) then
950 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
951 return;
952 END IF;
953 
954 -- Initialize the message table if requested.
955 
956 if p_init_msg_tbl then
957 FND_MSG_PUB.initialize;
958 end if;
959 
960 savepoint Start_download;
961 
962 if (AK_DOWNLOAD_GRP.G_WRITE_HEADER) then
963 -- Call private download procedure to verify parameters,
964 -- load application ID, and write header information such
965 -- as nls_language and codeset to data file.
966 AK_ON_OBJECTS_PVT.download_header(
967 p_validation_level => p_validation_level,
968 p_api_version_number => 1.0,
969 p_return_status => l_return_status,
970 p_nls_language => p_nls_language,
971 p_application_id => p_application_id,
972 p_application_short_name => p_application_short_name,
973 p_table_size => p_object_pk_tbl.count,
974 p_download_by_object => AK_ON_OBJECTS_PVT.G_OBJECT,
975 p_nls_language_out => l_nls_language,
976 p_application_id_out => l_application_id
977 );
978 else
979 l_application_id := p_application_id;
980 select userenv('LANG') into l_nls_language
981 from dual;
982 
983 end if;
984 
985 -- If API call returns with an error status...
986 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
987 (l_return_status = FND_API.G_RET_STS_ERROR) then
988 -- dbms_output.put_line(G_PKG_NAME || ' download_header failed');
989 RAISE FND_API.G_EXC_ERROR;
990 end if;
991 
992 -- dbms_output.put_line('about to call download_object: ' ||
993 --                        to_char(sysdate, 'MON-DD HH24:MI:SS'));
994 -- - call the download procedure for attributes to retrieve the
995 --   selected attributes from the database into a table of type
996 --   AK_ON_OBJECTS_PUB.Buffer_Tbl_Type.
997 AK_OBJECT2_PVT.DOWNLOAD_OBJECT(
998 p_validation_level => p_validation_level,
999 p_api_version_number => 1.0,
1000 p_return_status => l_return_status,
1001 p_application_id => l_application_id,
1002 p_object_pk_tbl => p_object_pk_tbl,
1003 p_nls_language => l_nls_language,
1004 p_get_region_flag => 'Y'
1005 );
1006 -- dbms_output.put_line('finished calling download_object: ' ||
1007 --                        to_char(sysdate, 'MON-DD HH24:MI:SS'));
1008 
1009 -- If download call returns with an error status or
1010 -- download failed to retrieve any information from the database..
1011 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1012 (l_return_status = FND_API.G_RET_STS_ERROR) then
1013 -- dbms_output.put_line(G_PKG_NAME || 'download failed');
1014 RAISE FND_API.G_EXC_ERROR;
1015 end if;
1016 
1017 --dbms_output.put_line('got ' || to_char(l_buffer_tbl.count) || ' lines');
1018 
1019 p_return_status := FND_API.G_RET_STS_SUCCESS;
1020 
1021 FND_MSG_PUB.Count_And_Get (
1022 p_count => p_msg_count,
1023 p_data => p_msg_data);
1024 
1025 EXCEPTION
1026 WHEN FND_API.G_EXC_ERROR THEN
1027 -- dbms_output.put_line('Procedure DOWNLOAD_OBJECT EXCEPTION FND_API.G_EXC_ERROR');
1028 -- rollback to Start_download;
1029 p_return_status := FND_API.G_RET_STS_ERROR;
1030 FND_MSG_PUB.Count_And_Get (
1031 p_count => p_msg_count,
1032 p_data => p_msg_data);
1033 
1034 WHEN OTHERS THEN
1035 -- dbms_output.put_line('Procedure DOWNLOAD_OBJECT EXCEPTION FND_API.G_EXC_ERROR');
1036 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1037 -- rollback to Start_download;
1038 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1039 SUBSTR (SQLERRM, 1, 240) );
1040 FND_MSG_PUB.Add;
1041 FND_MSG_PUB.Count_And_Get (
1042 p_count => p_msg_count,
1043 p_data => p_msg_data);
1044 
1045 end DOWNLOAD_OBJECT;
1046 
1047 --=======================================================
1048 --  Procedure   UPDATE_ATTRIBUTE
1049 --
1050 --  Usage       Group API for updating an object attribute
1051 --
1052 --  Desc        This API calls the private API to update
1053 --              an object attribute using the given info
1054 --
1055 --  Results     The API returns the standard p_return_status parameter
1056 --              indicating one of the standard return statuses :
1057 --                  * Unexpected error
1058 --                  * Error
1059 --                  * Success
1060 --  Parameters  Object Attribute columns
1061 --
1062 --  Version     Initial version number  =   1.0
1063 --  History     Current version number  =   1.0
1064 --=======================================================
1065 procedure UPDATE_ATTRIBUTE (
1066 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
1067 p_api_version_number       IN      NUMBER,
1068 p_init_msg_tbl             IN      BOOLEAN := FALSE,
1069 p_msg_count                OUT NOCOPY     NUMBER,
1070 p_msg_data                 OUT NOCOPY     VARCHAR2,
1071 p_return_status            OUT NOCOPY     VARCHAR2,
1072 p_database_object_name     IN      VARCHAR2,
1073 p_attribute_application_id IN      NUMBER,
1074 p_attribute_code           IN      VARCHAR2,
1075 p_column_name              IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1076 p_attribute_label_length   IN      NUMBER := FND_API.G_MISS_NUM,
1077 p_display_value_length     IN      NUMBER := FND_API.G_MISS_NUM,
1078 p_bold                     IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1079 p_italic                   IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1080 p_vertical_alignment       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1081 p_horizontal_alignment     IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1082 p_data_source_type         IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1083 p_data_storage_type        IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1084 p_table_name               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1085 p_base_table_column_name   IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1086 p_required_flag            IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1087 p_default_value_varchar2   IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1088 p_default_value_number     IN      NUMBER := FND_API.G_MISS_NUM,
1089 p_default_value_date       IN      DATE := FND_API.G_MISS_DATE,
1090 p_lov_region_application_id IN     NUMBER := FND_API.G_MISS_NUM,
1091 p_lov_region_code          IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1092 p_lov_foreign_key_name     IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1093 p_lov_attribute_application_id IN  NUMBER := FND_API.G_MISS_NUM,
1094 p_lov_attribute_code       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1095 p_defaulting_api_pkg       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1096 p_defaulting_api_proc      IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1097 p_validation_api_pkg       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1098 p_validation_api_proc      IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1099 p_attribute_value_length   IN      NUMBER := FND_API.G_MISS_NUM,
1100 p_attribute_label_long     IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1101 p_attribute_label_short    IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1102 p_created_by               IN     NUMBER := FND_API.G_MISS_NUM,
1103 p_creation_date            IN      DATE := FND_API.G_MISS_DATE,
1104 p_last_updated_by          IN     NUMBER := FND_API.G_MISS_NUM,
1105 p_last_update_date         IN      DATE := FND_API.G_MISS_DATE,
1106 p_last_update_login        IN     NUMBER := FND_API.G_MISS_NUM
1107 ) is
1108 l_api_version_number CONSTANT number := 1.0;
1109 l_api_name           CONSTANT varchar2(30) := 'Update_Attribute';
1110 l_return_status      VARCHAR2(1);
1111 l_pass               NUMBER := 2;
1112 l_copy_redo_flag     BOOLEAN := FALSE;
1113 begin
1114 -- Check API version number
1115 IF NOT FND_API.Compatible_API_Call (
1116 l_api_version_number, p_api_version_number, l_api_name,
1117 G_PKG_NAME) then
1118 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1119 return;
1120 END IF;
1121 
1122 -- Initialize the message table if requested.
1123 
1124 if p_init_msg_tbl then
1125 FND_MSG_PUB.initialize;
1126 end if;
1127 
1128 savepoint start_update_attribute;
1129 
1130 -- Call private procedure to update an object attribute
1131 AK_OBJECT3_PVT.UPDATE_ATTRIBUTE(
1132 p_validation_level => p_validation_level,
1133 p_api_version_number => 1.0,
1134 p_msg_count => p_msg_count,
1135 p_msg_data => p_msg_data,
1136 p_return_status => l_return_status,
1137 p_database_object_name => p_database_object_name,
1138 p_attribute_application_id => p_attribute_application_id,
1139 p_attribute_code => p_attribute_code,
1140 p_column_name => p_column_name,
1141 p_attribute_label_length => p_attribute_label_length,
1142 p_display_value_length => p_display_value_length,
1143 p_bold => p_bold,
1144 p_italic => p_italic,
1145 p_vertical_alignment => p_vertical_alignment,
1146 p_horizontal_alignment => p_horizontal_alignment,
1147 p_data_source_type => p_data_source_type,
1148 p_data_storage_type => p_data_storage_type,
1149 p_table_name => p_table_name,
1150 p_base_table_column_name => p_base_table_column_name,
1151 p_required_flag => p_required_flag,
1152 p_default_value_varchar2 => p_default_value_varchar2,
1153 p_default_value_number => p_default_value_number,
1154 p_default_value_date => p_default_value_date,
1155 p_lov_region_application_id => p_lov_region_application_id,
1156 p_lov_region_code => p_lov_region_code,
1157 p_lov_foreign_key_name => p_lov_foreign_key_name,
1158 p_lov_attribute_application_id => p_lov_attribute_application_id,
1159 p_lov_attribute_code => p_lov_attribute_code,
1160 p_defaulting_api_pkg => p_defaulting_api_pkg,
1161 p_defaulting_api_proc => p_defaulting_api_proc,
1162 p_validation_api_pkg => p_validation_api_pkg,
1163 p_validation_api_proc => p_validation_api_proc,
1164 p_attribute_label_long => p_attribute_label_long,
1165 p_attribute_label_short => p_attribute_label_short,
1166 p_created_by => p_created_by,
1167 p_creation_date => p_creation_date,
1168 p_last_updated_by => p_last_updated_by,
1169 p_last_update_date => p_last_update_date,
1170 p_last_update_login => p_lasT_update_login,
1171 p_pass => l_pass,
1172 p_copy_redo_flag => l_copy_redo_flag
1173 );
1174 
1175 -- If API call returns with an error status...
1176 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1177 (l_return_status = FND_API.G_RET_STS_ERROR) then
1178 --dbms_output.put_line(l_api_name || ' Update_Attribute failed');
1179 RAISE FND_API.G_EXC_ERROR;
1180 end if;
1181 
1182 p_return_status := FND_API.G_RET_STS_SUCCESS;
1183 
1184 EXCEPTION
1185 WHEN FND_API.G_EXC_ERROR THEN
1186 p_return_status := FND_API.G_RET_STS_ERROR;
1187 rollback to start_update_attribute;
1188 WHEN OTHERS THEN
1189 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1190 rollback to start_update_attribute;
1191 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1192 SUBSTR (SQLERRM, 1, 240) );
1193 FND_MSG_PUB.Add;
1194 end UPDATE_ATTRIBUTE;
1195 
1196 --=======================================================
1197 --  Procedure   UPDATE_ATTRIBUTE_NAVIGATION
1198 --
1199 --  Usage       Group API for updating an attribute navigation
1200 --              record
1201 --
1202 --  Desc        This API calls the private API to update
1203 --              an attribute naviation record using the given info
1204 --
1205 --  Results     The API returns the standard p_return_status parameter
1206 --              indicating one of the standard return statuses :
1207 --                  * Unexpected error
1208 --                  * Error
1209 --                  * Success
1210 --  Parameters  Attribute Navigation columns
1211 --
1212 --  Version     Initial version number  =   1.0
1213 --  History     Current version number  =   1.0
1214 --=======================================================
1215 procedure UPDATE_ATTRIBUTE_NAVIGATION (
1216 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
1217 p_api_version_number       IN      NUMBER,
1218 p_init_msg_tbl             IN      BOOLEAN := FALSE,
1219 p_msg_count                OUT NOCOPY     NUMBER,
1220 p_msg_data                 OUT NOCOPY     VARCHAR2,
1221 p_return_status            OUT NOCOPY     VARCHAR2,
1222 p_database_object_name     IN      VARCHAR2,
1223 p_attribute_application_id IN      NUMBER,
1224 p_attribute_code           IN      VARCHAR2,
1225 p_value_varchar2           IN      VARCHAR2,
1226 p_value_date               IN      DATE,
1227 p_value_number             IN      NUMBER,
1228 p_to_region_appl_id        IN      NUMBER := FND_API.G_MISS_NUM,
1229 p_to_region_code           IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1230 p_created_by               IN     NUMBER := FND_API.G_MISS_NUM,
1231 p_creation_date            IN      DATE := FND_API.G_MISS_DATE,
1232 p_last_updated_by          IN     NUMBER := FND_API.G_MISS_NUM,
1233 p_last_update_date         IN      DATE := FND_API.G_MISS_DATE,
1234 p_last_update_login        IN     NUMBER := FND_API.G_MISS_NUM
1235 ) is
1236 l_api_version_number CONSTANT number := 1.0;
1237 l_api_name           CONSTANT varchar2(30) := 'Update_Attribute_Navigation';
1238 l_return_status      VARCHAR2(1);
1239 l_pass               NUMBER := 2;
1240 l_copy_redo_flag     BOOLEAN := FALSE;
1241 begin
1242 -- Check API version number
1243 IF NOT FND_API.Compatible_API_Call (
1244 l_api_version_number, p_api_version_number, l_api_name,
1245 G_PKG_NAME) then
1246 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1247 return;
1248 END IF;
1249 
1250 -- Initialize the message table if requested.
1251 
1252 if p_init_msg_tbl then
1253 FND_MSG_PUB.initialize;
1254 end if;
1255 
1256 savepoint start_update_navigation;
1257 
1258 -- Call private procedure to update an attribute navigation row
1259 AK_OBJECT3_PVT.UPDATE_ATTRIBUTE_NAVIGATION (
1260 p_validation_level => p_validation_level,
1261 p_api_version_number => 1.0,
1262 p_msg_count => p_msg_count,
1263 p_msg_data => p_msg_data,
1264 p_return_status => l_return_status,
1265 p_database_object_name => p_database_object_name,
1266 p_attribute_application_id => p_attribute_application_id,
1267 p_attribute_code => p_attribute_code,
1268 p_value_varchar2 => p_value_varchar2,
1269 p_value_date => p_value_date,
1270 p_value_number => p_value_number,
1271 p_to_region_appl_id => p_to_region_appl_id,
1272 p_to_region_code => p_to_region_code,
1273 p_created_by => p_created_by,
1274 p_creation_date => p_creation_date,
1275 p_last_updated_by => p_last_updated_by,
1276 p_last_update_date => p_last_update_date,
1277 p_last_update_login => p_lasT_update_login,
1278 p_pass => l_pass,
1279 p_copy_redo_flag => l_copy_redo_flag
1280 );
1281 
1282 -- If API call returns with an error status...
1283 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1284 (l_return_status = FND_API.G_RET_STS_ERROR) then
1285 --dbms_output.put_line(l_api_name || ' Update_Attribute_Navigation failed');
1286 RAISE FND_API.G_EXC_ERROR;
1287 end if;
1288 
1289 p_return_status := FND_API.G_RET_STS_SUCCESS;
1290 
1291 EXCEPTION
1292 WHEN FND_API.G_EXC_ERROR THEN
1293 p_return_status := FND_API.G_RET_STS_ERROR;
1294 rollback to start_update_navigation;
1295 WHEN OTHERS THEN
1296 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1297 rollback to start_update_navigation;
1298 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1299 SUBSTR (SQLERRM, 1, 240) );
1300 FND_MSG_PUB.Add;
1301 end UPDATE_ATTRIBUTE_NAVIGATION;
1302 
1303 --=======================================================
1304 --  Procedure   UPDATE_ATTRIBUTE_VALUE
1305 --
1306 --  Usage       Group API for updating an attribute value
1307 --              record
1308 --
1309 --  Desc        This API calls the private API to update
1310 --              an attribute value record using the given info
1311 --
1312 --  Results     The API returns the standard p_return_status parameter
1313 --              indicating one of the standard return statuses :
1314 --                  * Unexpected error
1315 --                  * Error
1316 --                  * Success
1317 --  Parameters  Attribute Value columns
1318 --
1319 --  Version     Initial version number  =   1.0
1320 --  History     Current version number  =   1.0
1321 --=======================================================
1322 procedure UPDATE_ATTRIBUTE_VALUE (
1323 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
1324 p_api_version_number       IN      NUMBER,
1325 p_init_msg_tbl             IN      BOOLEAN := FALSE,
1326 p_msg_count                OUT NOCOPY     NUMBER,
1327 p_msg_data                 OUT NOCOPY     VARCHAR2,
1328 p_return_status            OUT NOCOPY     VARCHAR2,
1329 p_database_object_name     IN      VARCHAR2,
1330 p_attribute_application_id IN      NUMBER,
1331 p_attribute_code           IN      VARCHAR2,
1332 p_key_value1               IN      VARCHAR2,
1333 p_key_value2               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1334 p_key_value3               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1335 p_key_value4               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1336 p_key_value5               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1337 p_key_value6               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1338 p_key_value7               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1339 p_key_value8               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1340 p_key_value9               IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1341 p_key_value10              IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1342 p_value_varchar2           IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1343 p_value_date               IN      DATE := FND_API.G_MISS_DATE,
1344 p_value_number             IN      NUMBER := FND_API.G_MISS_NUM,
1345 p_created_by               IN     NUMBER := FND_API.G_MISS_NUM,
1346 p_creation_date            IN      DATE := FND_API.G_MISS_DATE,
1347 p_last_updated_by          IN     NUMBER := FND_API.G_MISS_NUM,
1348 p_last_update_date         IN      DATE := FND_API.G_MISS_DATE,
1349 p_last_update_login        IN     NUMBER := FND_API.G_MISS_NUM
1350 ) is
1351 l_api_version_number CONSTANT number := 1.0;
1352 l_api_name           CONSTANT varchar2(30) := 'Update_Attribute_Value';
1353 l_return_status      VARCHAR2(1);
1354 begin
1355 -- Check API version number
1356 IF NOT FND_API.Compatible_API_Call (
1357 l_api_version_number, p_api_version_number, l_api_name,
1358 G_PKG_NAME) then
1359 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1360 return;
1361 END IF;
1362 
1363 -- Initialize the message table if requested.
1364 
1365 if p_init_msg_tbl then
1366 FND_MSG_PUB.initialize;
1367 end if;
1368 
1369 savepoint start_update_value;
1370 
1371 -- Call private procedure to update an attribute value
1372 AK_OBJECT3_PVT.UPDATE_ATTRIBUTE_VALUE (
1373 p_validation_level => p_validation_level,
1374 p_api_version_number => 1.0,
1375 p_msg_count => p_msg_count,
1376 p_msg_data => p_msg_data,
1377 p_return_status => l_return_status,
1378 p_database_object_name => p_database_object_name,
1379 p_attribute_application_id => p_attribute_application_id,
1380 p_attribute_code => p_attribute_code,
1381 p_key_value1 => p_key_value1,
1382 p_key_value2 => p_key_value2,
1383 p_key_value3 => p_key_value3,
1384 p_key_value4 => p_key_value4,
1385 p_key_value5 => p_key_value5,
1386 p_key_value6 => p_key_value6,
1387 p_key_value7 => p_key_value7,
1388 p_key_value8 => p_key_value8,
1389 p_key_value9 => p_key_value9,
1390 p_key_value10 => p_key_value10,
1391 p_value_varchar2 => p_value_varchar2,
1392 p_value_date => p_value_date,
1393 p_value_number => p_value_number,
1394 p_created_by => p_created_by,
1395 p_creation_date => p_creation_date,
1396 p_last_updated_by => p_last_updated_by,
1397 p_last_update_date => p_last_update_date,
1398 p_last_update_login => p_lasT_update_login
1399 );
1400 
1401 -- If API call returns with an error status...
1402 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1403 (l_return_status = FND_API.G_RET_STS_ERROR) then
1404 --dbms_output.put_line(l_api_name || ' Update_Attribute_Value failed');
1405 RAISE FND_API.G_EXC_ERROR;
1406 end if;
1407 
1408 p_return_status := FND_API.G_RET_STS_SUCCESS;
1409 
1410 EXCEPTION
1411 WHEN FND_API.G_EXC_ERROR THEN
1412 p_return_status := FND_API.G_RET_STS_ERROR;
1413 rollback to start_update_value;
1414 WHEN OTHERS THEN
1415 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1416 rollback to start_update_value;
1417 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1418 SUBSTR (SQLERRM, 1, 240) );
1419 FND_MSG_PUB.Add;
1420 end UPDATE_ATTRIBUTE_VALUE;
1421 
1422 --=======================================================
1423 --  Procedure   UPDATE_OBJECT
1424 --
1425 --  Usage       Group API for updating an object
1426 --
1427 --  Desc        This API calls the private API to update
1428 --              an object using the given info
1429 --
1430 --  Results     The API returns the standard p_return_status parameter
1431 --              indicating one of the standard return statuses :
1432 --                  * Unexpected error
1433 --                  * Error
1434 --                  * Success
1435 --  Parameters  Object columns
1436 --
1437 --  Version     Initial version number  =   1.0
1438 --  History     Current version number  =   1.0
1439 --=======================================================
1440 procedure UPDATE_OBJECT (
1441 p_validation_level         IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
1442 p_api_version_number       IN      NUMBER,
1443 p_init_msg_tbl             IN      BOOLEAN := FALSE,
1444 p_msg_count                OUT NOCOPY     NUMBER,
1445 p_msg_data                 OUT NOCOPY     VARCHAR2,
1446 p_return_status            OUT NOCOPY     VARCHAR2,
1447 p_database_object_name     IN      VARCHAR2,
1448 p_name                     IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1449 p_description              IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1450 p_application_id           IN      NUMBER := FND_API.G_MISS_NUM,
1451 p_primary_key_name         IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1452 p_defaulting_api_pkg       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1453 p_defaulting_api_proc      IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1454 p_validation_api_pkg       IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1455 p_validation_api_proc      IN      VARCHAR2 := FND_API.G_MISS_CHAR,
1456 p_created_by               IN     NUMBER := FND_API.G_MISS_NUM,
1457 p_creation_date            IN      DATE := FND_API.G_MISS_DATE,
1458 p_last_updated_by          IN     NUMBER := FND_API.G_MISS_NUM,
1459 p_last_update_date         IN      DATE := FND_API.G_MISS_DATE,
1460 p_last_update_login        IN     NUMBER := FND_API.G_MISS_NUM
1461 ) is
1462 l_api_version_number CONSTANT number := 1.0;
1463 l_api_name           CONSTANT varchar2(30) := 'Update_Object';
1464 l_return_status      VARCHAR2(1);
1465 l_pass               NUMBER := 2;
1466 l_copy_redo_flag     BOOLEAN := FALSE;
1467 begin
1468 -- Check API version number
1469 IF NOT FND_API.Compatible_API_Call (
1470 l_api_version_number, p_api_version_number, l_api_name,
1471 G_PKG_NAME) then
1472 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1473 return;
1474 END IF;
1475 
1476 -- Initialize the message table if requested.
1477 
1478 if p_init_msg_tbl then
1479 FND_MSG_PUB.initialize;
1480 end if;
1481 
1482 savepoint start_update_object;
1483 
1484 -- Call private procedure to update an object
1485 AK_OBJECT3_PVT.UPDATE_OBJECT (
1486 p_validation_level => p_validation_level,
1487 p_api_version_number => 1.0,
1488 p_msg_count => p_msg_count,
1489 p_msg_data => p_msg_data,
1490 p_return_status => l_return_status,
1491 p_database_object_name => p_database_object_name,
1492 p_name => p_name,
1493 p_description => p_description,
1494 p_application_id => p_application_id,
1495 p_primary_key_name => p_primary_key_name,
1496 p_defaulting_api_pkg => p_defaulting_api_pkg,
1497 p_defaulting_api_proc => p_defaulting_api_proc,
1498 p_validation_api_pkg => p_validation_api_pkg,
1499 p_validation_api_proc => p_validation_api_proc,
1500 p_created_by => p_created_by,
1501 p_creation_date => p_creation_date,
1502 p_last_updated_by => p_last_updated_by,
1503 p_last_update_date => p_last_update_date,
1504 p_last_update_login => p_lasT_update_login,
1505 p_pass => l_pass,
1506 p_copy_redo_flag => l_copy_redo_flag
1507 );
1508 
1509 -- If API call returns with an error status...
1510 if (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) or
1511 (l_return_status = FND_API.G_RET_STS_ERROR) then
1512 --dbms_output.put_line(l_api_name || ' Update_Object failed');
1513 RAISE FND_API.G_EXC_ERROR;
1514 end if;
1515 
1516 p_return_status := FND_API.G_RET_STS_SUCCESS;
1517 
1518 EXCEPTION
1519 WHEN FND_API.G_EXC_ERROR THEN
1520 p_return_status := FND_API.G_RET_STS_ERROR;
1521 rollback to start_update_object;
1522 WHEN OTHERS THEN
1523 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1524 FND_MSG_PUB.Build_Exc_Msg( G_PKG_NAME, l_api_name,
1525 SUBSTR (SQLERRM, 1, 240) );
1526 FND_MSG_PUB.Add;
1527 rollback to start_update_object;
1528 end UPDATE_OBJECT;
1529 
1530 end AK_OBJECT_GRP;