[Home] [Help]
PACKAGE BODY: APPS.AK_ATTRIBUTES2_PKG
Source
1 package body AK_ATTRIBUTES2_PKG as
2 /* $Header: AKDATR2B.pls 120.2 2005/09/29 13:59:31 tshort ship $ */
3 --*****************************************************************************
4 procedure CHANGE_LOVS (
5 X_DATABASE_OBJECT_NAME in VARCHAR2,
6 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
7 X_ATTRIBUTE_CODE in VARCHAR2,
8 X_OLD_LOV_REGION_CODE in VARCHAR2,
9 X_OLD_LOV_REGION_APPL_ID in NUMBER,
10 X_NEW_LOV_REGION_CODE in VARCHAR2,
11 X_NEW_LOV_REGION_APPL_ID in NUMBER,
12 X_LOV_FOREIGN_KEY_NAME IN OUT NOCOPY VARCHAR2,
13 X_CREATION_DATE in DATE,
14 X_CREATED_BY in NUMBER,
15 X_LAST_UPDATE_DATE in DATE,
16 X_LAST_UPDATED_BY in NUMBER,
17 X_LAST_UPDATE_LOGIN in NUMBER)
18 IS
19 /* local variables */
20 L_UNIQUE_KEY_NAME varchar2(30);
21 row_id varchar2(30);
22 /* cursor definition */
23 cursor cz is
24 select foreign_key_name
25 from ak_foreign_key_mapping_v
26 where database_object_name = x_database_object_name
27 and foreign_application_id = x_attribute_application_id
28 and foreign_attribute_code = x_attribute_code
29 and unique_key_name = L_UNIQUE_KEY_NAME;
30 begin
31
32 if X_OLD_LOV_REGION_CODE is null
33 and X_NEW_LOV_REGION_CODE is null then
34 return;
35 end if;
36
37 if X_NEW_LOV_REGION_CODE = 'CZ_ATTRIBUTE_LISTS_REGION' then
38 L_UNIQUE_KEY_NAME := 'LIST_NAME';
39 elsif X_NEW_LOV_REGION_CODE = 'CZ_ATTRIBUTE_LISTS_NBR_REGION' then
40 L_UNIQUE_KEY_NAME := 'NUMBER_LIST_NAME';
41 end if;
42
43 /*
44 if X_OLD_LOV_REGION_CODE is null then
45 AK_ATTRIBUTES2_PKG.NEW_FOREIGN_KEY (
46 X_FOREIGN_KEY_NAME => X_LOV_FOREIGN_KEY_NAME,
47 X_DATABASE_OBJECT_NAME => X_DATABASE_OBJECT_NAME,
48 X_UNIQUE_KEY_NAME => L_UNIQUE_KEY_NAME,
49 X_APPLICATION_ID => 702,
50 X_ATTRIBUTE_APPLICATION_ID => 702,
51 X_ATTRIBUTE_CODE => X_ATTRIBUTE_CODE,
52 X_FROM_TO_NAME => 'CONFIGURATOR',
53 X_CREATION_DATE => x_creation_date,
54 X_CREATED_BY => x_created_by,
55 X_LAST_UPDATE_DATE => x_last_update_date,
56 X_LAST_UPDATED_BY => x_last_updated_by,
57 X_LAST_UPDATE_LOGIN => x_last_update_login);
58 elsif X_NEW_LOV_REGION_CODE is null then
59 open cz;
60 fetch cz into X_LOV_FOREIGN_KEY_NAME;
61 if (sql%notfound) then
62 X_LOV_FOREIGN_KEY_NAME := null;
63 end if;
64 close cz;
65 if X_LOV_FOREIGN_KEY_NAME is not null then
66 AK_FOREIGN_KEYS_PKG.DELETE_AFKC_ROW(
67 X_FOREIGN_KEY_NAME => X_LOV_FOREIGN_KEY_NAME,
68 X_ATTRIBUTE_APPLICATION_ID => 702,
69 X_ATTRIBUTE_CODE => X_ATTRIBUTE_CODE,
70 X_FOREIGN_KEY_SEQUENCE => 1);
71 AK_FOREIGN_KEYS_PKG.DELETE_ROW(
72 X_FOREIGN_KEY_NAME => X_LOV_FOREIGN_KEY_NAME);
73 X_LOV_FOREIGN_KEY_NAME := NULL;
74 end if;
75 else
76 open cz;
77 fetch cz into X_LOV_FOREIGN_KEY_NAME;
78 if (sql%notfound) then
79 X_LOV_FOREIGN_KEY_NAME := null;
80 end if;
81 close cz;
82 if X_LOV_FOREIGN_KEY_NAME is null then
83 AK_ATTRIBUTES2_PKG.NEW_FOREIGN_KEY (
84 X_FOREIGN_KEY_NAME => X_LOV_FOREIGN_KEY_NAME,
85 X_DATABASE_OBJECT_NAME => X_DATABASE_OBJECT_NAME,
86 X_UNIQUE_KEY_NAME => L_UNIQUE_KEY_NAME,
87 X_APPLICATION_ID => 702,
88 X_ATTRIBUTE_APPLICATION_ID => 702,
89 X_ATTRIBUTE_CODE => X_ATTRIBUTE_CODE,
90 X_FROM_TO_NAME => 'CONFIGURATOR',
91 X_CREATION_DATE => x_creation_date,
92 X_CREATED_BY => x_created_by,
93 X_LAST_UPDATE_DATE => x_last_update_date,
94 X_LAST_UPDATED_BY => x_last_updated_by,
95 X_LAST_UPDATE_LOGIN => x_last_update_login);
96 else
97 AK_FOREIGN_KEYS_PKG.UPDATE_ROW(
98 X_FOREIGN_KEY_NAME => X_LOV_FOREIGN_KEY_NAME,
99 X_DATABASE_OBJECT_NAME => X_DATABASE_OBJECT_NAME,
100 X_UNIQUE_KEY_NAME => L_UNIQUE_KEY_NAME,
101 X_APPLICATION_ID => 702,
102 X_FROM_TO_NAME => 'CONFIGURATOR',
103 X_FROM_TO_DESCRIPTION => null,
104 X_TO_FROM_NAME => null,
105 X_TO_FROM_DESCRIPTION => null,
106 X_LAST_UPDATE_DATE => x_last_update_date,
107 X_LAST_UPDATED_BY => x_last_updated_by,
108 X_LAST_UPDATE_LOGIN => x_last_update_login,
109 X_ATTRIBUTE_CATEGORY => NULL,
110 X_ATTRIBUTE1 => NULL,
111 X_ATTRIBUTE2 => NULL,
112 X_ATTRIBUTE3 => NULL,
113 X_ATTRIBUTE4 => NULL,
114 X_ATTRIBUTE5 => NULL,
115 X_ATTRIBUTE6 => NULL,
116 X_ATTRIBUTE7 => NULL,
117 X_ATTRIBUTE8 => NULL,
118 X_ATTRIBUTE9 => NULL,
119 X_ATTRIBUTE10 => NULL,
120 X_ATTRIBUTE11 => NULL,
121 X_ATTRIBUTE12 => NULL,
122 X_ATTRIBUTE13 => NULL,
123 X_ATTRIBUTE14 => NULL,
124 X_ATTRIBUTE15 => NULL);
125 end if;
126 end if;
127 */
128 end ;
129 --*****************************************************************************
130 /*
131 procedure NEW_FOREIGN_KEY (
132 X_FOREIGN_KEY_NAME in out NOCOPY VARCHAR2,
133 X_DATABASE_OBJECT_NAME in VARCHAR2,
134 X_UNIQUE_KEY_NAME in VARCHAR2,
135 X_APPLICATION_ID in NUMBER,
136 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
137 X_ATTRIBUTE_CODE in VARCHAR2,
138 X_FROM_TO_NAME in VARCHAR2,
139 X_CREATION_DATE in DATE,
140 X_CREATED_BY in NUMBER,
141 X_LAST_UPDATE_DATE in DATE,
142 X_LAST_UPDATED_BY in NUMBER,
143 X_LAST_UPDATE_LOGIN in NUMBER)
144 IS
145 row_id varchar2(30);
146 L_sequence integer;
147 begin
148 select CZ_AUTOSELECTION_RANGES_S.NEXTVAL into L_sequence from dual;
149 X_FOREIGN_KEY_NAME := 'CZ_'||to_char(L_sequence);
150 AK_FOREIGN_KEYS_PKG.INSERT_ROW(
151 X_ROWID => row_id,
152 X_FOREIGN_KEY_NAME => X_FOREIGN_KEY_NAME,
153 X_DATABASE_OBJECT_NAME => X_DATABASE_OBJECT_NAME,
154 X_UNIQUE_KEY_NAME => X_UNIQUE_KEY_NAME,
155 X_APPLICATION_ID => 702,
156 X_FROM_TO_NAME => 'CONFIGURATOR',
157 X_FROM_TO_DESCRIPTION => null,
158 X_TO_FROM_NAME => null,
159 X_TO_FROM_DESCRIPTION => null,
160 X_CREATION_DATE => x_creation_date,
161 X_CREATED_BY => x_created_by,
162 X_LAST_UPDATE_DATE => x_last_update_date,
163 X_LAST_UPDATED_BY => x_last_updated_by,
164 X_LAST_UPDATE_LOGIN => x_last_update_login,
165 X_ATTRIBUTE_CATEGORY => NULL,
166 X_ATTRIBUTE1 => NULL,
167 X_ATTRIBUTE2 => NULL,
168 X_ATTRIBUTE3 => NULL,
169 X_ATTRIBUTE4 => NULL,
170 X_ATTRIBUTE5 => NULL,
171 X_ATTRIBUTE6 => NULL,
172 X_ATTRIBUTE7 => NULL,
173 X_ATTRIBUTE8 => NULL,
174 X_ATTRIBUTE9 => NULL,
175 X_ATTRIBUTE10 => NULL,
176 X_ATTRIBUTE11 => NULL,
177 X_ATTRIBUTE12 => NULL,
178 X_ATTRIBUTE13 => NULL,
179 X_ATTRIBUTE14 => NULL,
180 X_ATTRIBUTE15 => NULL);
181
182 AK_FOREIGN_KEYS_PKG.INSERT_AFKC_ROW(
183 X_ROWID => row_id,
184
185 X_FOREIGN_KEY_NAME => X_FOREIGN_KEY_NAME,
186 X_ATTRIBUTE_APPLICATION_ID => X_ATTRIBUTE_APPLICATION_ID,
187 X_ATTRIBUTE_CODE => X_ATTRIBUTE_CODE,
188 X_FOREIGN_KEY_SEQUENCE => 1,
189 X_CREATION_DATE => x_creation_date,
190 X_CREATED_BY => x_created_by,
191 X_LAST_UPDATE_DATE => x_last_update_date,
192 X_LAST_UPDATED_BY => x_last_updated_by,
193 X_LAST_UPDATE_LOGIN => x_last_update_login,
194 X_ATTRIBUTE_CATEGORY => NULL,
195 X_ATTRIBUTE1 => NULL,
196 X_ATTRIBUTE2 => NULL,
197 X_ATTRIBUTE3 => NULL,
198 X_ATTRIBUTE4 => NULL,
199 X_ATTRIBUTE5 => NULL,
200 X_ATTRIBUTE6 => NULL,
201 X_ATTRIBUTE7 => NULL,
202 X_ATTRIBUTE8 => NULL,
203 X_ATTRIBUTE9 => NULL,
204 X_ATTRIBUTE10 => NULL,
205 X_ATTRIBUTE11 => NULL,
206 X_ATTRIBUTE12 => NULL,
207 X_ATTRIBUTE13 => NULL,
208 X_ATTRIBUTE14 => NULL,
209 X_ATTRIBUTE15 => NULL);
210
211 end NEW_FOREIGN_KEY;
212 */
213
214
215 procedure ASSIGN_ATTRIBUTE (
216 X_MODE in VARCHAR2,
217 X_DATABASE_OBJECT_NAME in VARCHAR2,
218 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
219 X_ATTRIBUTE_CODE in VARCHAR2,
220 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
221 X_BOLD in VARCHAR2,
222 X_ITALIC in VARCHAR2,
223 X_VERTICAL_ALIGNMENT in VARCHAR2,
224 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
225 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
226 X_DEFAULT_VALUE_NUMBER in NUMBER,
227 X_DEFAULT_VALUE_DATE in DATE,
228 X_LOV_REGION_CODE in VARCHAR2,
229 X_LOV_REGION_APPLICATION_ID in NUMBER,
230 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
231 X_CREATION_DATE in DATE,
232 X_CREATED_BY in NUMBER,
233 X_LAST_UPDATE_DATE in DATE,
234 X_LAST_UPDATED_BY in NUMBER,
235 X_LAST_UPDATE_LOGIN in NUMBER,
236 X_REGION_APPLICATION_ID in NUMBER,
237 X_REGION_CODE in VARCHAR2,
238 X_DISPLAY_VALUE_LENGTH in NUMBER,
239 X_TABLE_NAME in VARCHAR2,
240 X_OBJ_ATTR_SUCCESS in out NOCOPY VARCHAR2,
241 x_data_source_type in VARCHAR2,
242 x_data_storage_type in VARCHAR2
243 ) IS
244 -- * local variables * --
245 L_LOV_REGION_CODE varchar2(30) := null;
246 L_LOV_REGION_APPLICATION_ID number := null;
247 L_LOV_FOREIGN_KEY_NAME varchar2(30) := null;
248 L_LOV_ATTRIBUTE_APPLICATION_ID number := null;
249 L_LOV_ATTRIBUTE_CODE varchar2(30) := null;
250 L_LOV_DEFAULT_FLAG VARCHAR2(1) := null;
251 L_UNIQUE_KEY_NAME varchar2(30) := null;
252 dummy number;
253 row_id varchar2(30);
254 column_name_default varchar2(30);
255 -- * cursor definition * --
256 cursor c is
257 select 1
258 from ak_object_attributes
259 where database_object_name = x_database_object_name
260 and attribute_application_id = x_attribute_application_id
261 and attribute_code = x_attribute_code;
262
263 cursor cz is
264 select foreign_key_name
265 from ak_foreign_key_mapping_v
266 where database_object_name = x_database_object_name
267 and foreign_application_id = x_attribute_application_id
268 and foreign_attribute_code = x_attribute_code
269 and unique_key_name = L_UNIQUE_KEY_NAME;
270
271 cursor uk is
272 select unique_key_name from ak_unique_keys
273 where unique_key_name = L_UNIQUE_KEY_NAME;
274 begin
275
276 if X_LOV_REGION_CODE is not null
277 and X_MODE = 'CONFIGURATOR' then
278 if X_LOV_REGION_CODE = 'CZ_ATTRIBUTE_LISTS_REGION' then
279 L_UNIQUE_KEY_NAME := 'LIST_NAME';
280 elsif X_LOV_REGION_CODE = 'CZ_ATTRIBUTE_LISTS_NBR_REGION' then
281 L_UNIQUE_KEY_NAME := 'NUMBER_LIST_NAME';
282 end if;
283 if L_UNIQUE_KEY_NAME is not null then
284 open uk;
285 fetch uk into l_unique_key_name;
286 if (sql%found) then
287 L_LOV_REGION_APPLICATION_ID := X_LOV_REGION_APPLICATION_ID;
288 L_LOV_REGION_CODE := X_LOV_REGION_CODE;
289 L_LOV_ATTRIBUTE_APPLICATION_ID := 702;
290 L_LOV_ATTRIBUTE_CODE := 'LIST_NAME';
291 L_LOV_DEFAULT_FLAG := 'Y';
292 -- * no need to insert foreign key if one already exists * --
293 open cz;
294 fetch cz into L_LOV_FOREIGN_KEY_NAME;
295 if (sql%notfound) then
296 L_LOV_FOREIGN_KEY_NAME := null;
297 end if;
298 close cz;
299 /*
300 if L_LOV_FOREIGN_KEY_NAME is not null then
301 AK_ATTRIBUTES2_PKG.NEW_FOREIGN_KEY (
302 X_FOREIGN_KEY_NAME => L_LOV_FOREIGN_KEY_NAME,
303 X_DATABASE_OBJECT_NAME => X_DATABASE_OBJECT_NAME,
304 X_UNIQUE_KEY_NAME => L_UNIQUE_KEY_NAME,
305 X_APPLICATION_ID => 702,
306 X_ATTRIBUTE_APPLICATION_ID => 702,
307 X_ATTRIBUTE_CODE => X_ATTRIBUTE_CODE,
308 X_FROM_TO_NAME => X_MODE,
309 X_CREATION_DATE => x_creation_date,
310 X_CREATED_BY => x_created_by,
311 X_LAST_UPDATE_DATE => x_last_update_date,
312 X_LAST_UPDATED_BY => x_last_updated_by,
313 X_LAST_UPDATE_LOGIN => x_last_update_login);
314 end if;
315 */
316 end if;
317 close uk;
318 end if;
319 end if;
320
321
322 -- * no need to insert object attribute if one already exists * --
323 open c;
324 fetch c into dummy;
325 if (NOT c%notfound) then
326 close c;
327 X_OBJ_ATTR_SUCCESS := 'N';
328 end if;
329 close c;
330
331 -- * insert row into ak_object_attributes * --
332 ak_object_attributes_pkg.insert_row(
333 X_ROWID => row_id,
334 X_DATABASE_OBJECT_NAME => x_database_object_name,
335 X_ATTRIBUTE_APPLICATION_ID => x_attribute_application_id,
336 X_ATTRIBUTE_CODE => x_attribute_code,
337 X_COLUMN_NAME => column_name_default,
338 X_ATTRIBUTE_LABEL_LENGTH => x_attribute_label_length,
339 X_BOLD => x_bold,
340 X_ITALIC => x_italic,
341 X_VERTICAL_ALIGNMENT => x_vertical_alignment,
342 X_HORIZONTAL_ALIGNMENT => x_horizontal_alignment,
343 X_ATTRIBUTE_LABEL_LONG => x_attribute_label_long,
344 X_DATA_SOURCE_TYPE => x_data_source_type,
345 X_DATA_STORAGE_TYPE => x_data_storage_type,
346 X_TABLE_NAME => x_table_name,
347 X_BASE_TABLE_COLUMN_NAME => NULL,
348 X_REQUIRED_FLAG => 'N',
349 X_DISPLAY_VALUE_LENGTH => X_DISPLAY_VALUE_LENGTH,
350 X_LOV_REGION_APPLICATION_ID => L_LOV_REGION_APPLICATION_ID,
351 X_LOV_REGION_CODE => L_LOV_REGION_CODE,
352 X_LOV_FOREIGN_KEY_NAME => L_LOV_FOREIGN_KEY_NAME,
353 X_LOV_ATTRIBUTE_APPLICATION_ID => L_LOV_ATTRIBUTE_APPLICATION_ID,
354 X_LOV_ATTRIBUTE_CODE => L_LOV_ATTRIBUTE_CODE,
355 X_DEFAULTING_API_PKG => NULL,
356 X_DEFAULTING_API_PROC => NULL,
357 X_VALIDATION_API_PKG => NULL,
358 X_VALIDATION_API_PROC => NULL,
359 X_DEFAULT_VALUE_VARCHAR2 => X_DEFAULT_VALUE_VARCHAR2,
360 X_DEFAULT_VALUE_NUMBER => X_DEFAULT_VALUE_NUMBER,
361 X_DEFAULT_VALUE_DATE => X_DEFAULT_VALUE_DATE,
362 X_CREATION_DATE => x_creation_date,
363 X_CREATED_BY => x_created_by,
364 X_LAST_UPDATE_DATE => x_last_update_date,
365 X_LAST_UPDATED_BY => x_last_updated_by,
366 X_LAST_UPDATE_LOGIN => x_last_update_login,
367 X_ATTRIBUTE_CATEGORY => NULL,
368 X_ATTRIBUTE1 => NULL,
369 X_ATTRIBUTE2 => NULL,
370 X_ATTRIBUTE3 => NULL,
371 X_ATTRIBUTE4 => NULL,
372 X_ATTRIBUTE5 => NULL,
373 X_ATTRIBUTE6 => NULL,
374 X_ATTRIBUTE7 => NULL,
375 X_ATTRIBUTE8 => NULL,
376 X_ATTRIBUTE9 => NULL,
377 X_ATTRIBUTE10 => NULL,
378 X_ATTRIBUTE11 => NULL,
379 X_ATTRIBUTE12 => NULL,
380 X_ATTRIBUTE13 => NULL,
381 X_ATTRIBUTE14 => NULL,
382 X_ATTRIBUTE15 => NULL
383 );
384
385 commit;
386 X_OBJ_ATTR_SUCCESS := 'Y';
387
388 -- * If region_code passed in is not null, insert * --
389 -- * a region_item record as well * --
390
391 if x_region_code is not null then
392 AK_OBJECT_ATTRIBUTES_PKG.ADD_REGION_ITEM (
393 X_REGION_APPLICATION_ID => x_region_application_id,
394 X_REGION_CODE => x_region_code,
395 X_ATTRIBUTE_APPLICATION_ID => x_attribute_application_id,
396 X_ATTRIBUTE_CODE => x_attribute_code,
397 X_ATTRIBUTE_LABEL_LENGTH => x_attribute_label_length,
398 X_BOLD => x_bold,
399 X_ITALIC => x_italic,
400 X_VERTICAL_ALIGNMENT => x_vertical_alignment,
401 X_HORIZONTAL_ALIGNMENT => x_horizontal_alignment,
402 X_DEFAULT_VALUE_VARCHAR2 => X_DEFAULT_VALUE_VARCHAR2,
403 X_DEFAULT_VALUE_NUMBER => X_DEFAULT_VALUE_NUMBER,
404 X_DEFAULT_VALUE_DATE => X_DEFAULT_VALUE_DATE,
405 X_LOV_FOREIGN_KEY_NAME => L_LOV_FOREIGN_KEY_NAME,
406 X_LOV_REGION_CODE => L_LOV_REGION_CODE,
407 X_LOV_REGION_APPLICATION_ID => L_LOV_REGION_APPLICATION_ID,
408 X_LOV_ATTRIBUTE_APPLICATION_ID => L_LOV_ATTRIBUTE_APPLICATION_ID,
409 X_LOV_ATTRIBUTE_CODE => L_LOV_ATTRIBUTE_CODE,
410 X_LOV_DEFAULT_FLAG => L_LOV_DEFAULT_FLAG,
411 X_ATTRIBUTE_LABEL_LONG => x_attribute_label_long,
412 X_CREATION_DATE => x_creation_date,
413 X_CREATED_BY => x_created_by,
414 X_LAST_UPDATE_DATE => x_last_update_date,
415 X_LAST_UPDATED_BY => x_last_updated_by,
416 X_LAST_UPDATE_LOGIN => x_last_update_login,
417 x_display_value_length => x_display_value_length,
418 X_COMMIT => 'Y'
419 );
420 end if;
421
422 end ASSIGN_ATTRIBUTE;
423
424 --*****************************************************************************
425
426 procedure CHANGE_OBJECT_ATTRIBUTE (
427 X_MODE in VARCHAR2,
428 X_DATABASE_OBJECT_NAME in VARCHAR2,
432 X_BOLD in VARCHAR2,
429 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
430 X_ATTRIBUTE_CODE in VARCHAR2,
431 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
433 X_ITALIC in VARCHAR2,
434 X_VERTICAL_ALIGNMENT in VARCHAR2,
435 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
436 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
437 X_DEFAULT_VALUE_NUMBER in NUMBER,
438 X_DEFAULT_VALUE_DATE in DATE,
439 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
440 X_OLD_LOV_REGION_CODE in VARCHAR2,
441 X_OLD_LOV_REGION_APPL_ID in NUMBER,
442 X_NEW_LOV_REGION_CODE in VARCHAR2,
443 X_NEW_LOV_REGION_APPL_ID in NUMBER,
444 X_CREATION_DATE in DATE,
445 X_CREATED_BY in NUMBER,
446 X_LAST_UPDATE_DATE in DATE,
447 X_LAST_UPDATED_BY in NUMBER,
448 X_LAST_UPDATE_LOGIN in NUMBER)
449 IS
450 -- * local variables * --
451 L_LOV_FOREIGN_KEY_NAME varchar2(30) := null;
452 L_LOV_REGION_APPLICATION_ID number := null;
453 L_LOV_REGION_CODE varchar2(30) := null;
454 L_LOV_ATTRIBUTE_APPLICATION_ID number := null;
455 L_LOV_ATTRIBUTE_CODE varchar2(30) := null;
456 L_LOV_DEFAULT_FLAG VARCHAR2(1) := null;
457 L_UNIQUE_KEY_NAME varchar2(30) := null;
458 row_id varchar2(30);
459 lang varchar2(30);
460 L_REGION_APPLICATION_ID number(15);
461 L_REGION_CODE varchar2(30);
462 -- * cursor definition * --
463 cursor c is
464 select region_application_id,region_code
465 from ak_regions
466 where database_object_name = x_database_object_name;
467
468 cursor uk is
469 select unique_key_name from ak_unique_keys
470 where unique_key_name = L_UNIQUE_KEY_NAME;
471
472 begin
473 lang := fnd_global.current_language;
474
475 if X_NEW_LOV_REGION_CODE = 'CZ_ATTRIBUTE_LISTS_REGION' then
476 L_UNIQUE_KEY_NAME := 'LIST_NAME';
477 elsif X_NEW_LOV_REGION_CODE = 'CZ_ATTRIBUTE_LISTS_NBR_REGION' then
478 L_UNIQUE_KEY_NAME := 'NUMBER_LIST_NAME';
479 end if;
480
481 if L_UNIQUE_KEY_NAME is not null then
482 open uk;
483 fetch uk into l_unique_key_name;
484 if (sql%found) then
485 L_LOV_REGION_APPLICATION_ID := X_NEW_LOV_REGION_APPL_ID;
486 L_LOV_REGION_CODE := X_NEW_LOV_REGION_CODE;
487 L_LOV_ATTRIBUTE_APPLICATION_ID := 702;
488 L_LOV_ATTRIBUTE_CODE := 'LIST_NAME';
489 L_LOV_DEFAULT_FLAG := 'Y';
490 -- The L_LOV_FOREIGN_KEY_NAME is returned from CHANGE_LOVS.
491 AK_ATTRIBUTES2_PKG.CHANGE_LOVS(
492 X_DATABASE_OBJECT_NAME => X_DATABASE_OBJECT_NAME,
493 X_ATTRIBUTE_APPLICATION_ID => X_ATTRIBUTE_APPLICATION_ID,
494 X_ATTRIBUTE_CODE => X_ATTRIBUTE_CODE,
495 X_OLD_LOV_REGION_CODE => X_OLD_LOV_REGION_CODE,
496 X_OLD_LOV_REGION_APPL_ID => X_OLD_LOV_REGION_APPL_ID,
497 X_NEW_LOV_REGION_CODE => X_NEW_LOV_REGION_CODE,
498 X_NEW_LOV_REGION_APPL_ID => X_NEW_LOV_REGION_APPL_ID,
499 X_LOV_FOREIGN_KEY_NAME => L_LOV_FOREIGN_KEY_NAME,
500 X_CREATION_DATE => x_creation_date,
501 X_CREATED_BY => x_created_by,
502 X_LAST_UPDATE_DATE => x_last_update_date,
503 X_LAST_UPDATED_BY => x_last_updated_by,
504 X_LAST_UPDATE_LOGIN => x_last_update_login);
505 end if;
506 close uk;
507 end if;
508
509 update ak_object_attributes set
510 BOLD = X_BOLD,
511 ITALIC = X_ITALIC,
512 VERTICAL_ALIGNMENT = X_VERTICAL_ALIGNMENT,
513 HORIZONTAL_ALIGNMENT = X_HORIZONTAL_ALIGNMENT,
514 DEFAULT_VALUE_VARCHAR2 = X_DEFAULT_VALUE_VARCHAR2,
515 DEFAULT_VALUE_NUMBER = X_DEFAULT_VALUE_NUMBER,
516 DEFAULT_VALUE_DATE = X_DEFAULT_VALUE_DATE,
517 ATTRIBUTE_LABEL_LENGTH = X_ATTRIBUTE_LABEL_LENGTH,
518 LOV_FOREIGN_KEY_NAME = L_LOV_FOREIGN_KEY_NAME,
519 LOV_REGION_APPLICATION_ID = L_LOV_REGION_APPLICATION_ID,
520 LOV_REGION_CODE = L_LOV_REGION_CODE,
521 LOV_ATTRIBUTE_APPLICATION_ID = L_LOV_ATTRIBUTE_APPLICATION_ID,
522 LOV_ATTRIBUTE_CODE = L_LOV_ATTRIBUTE_CODE,
523 LAST_UPDATE_DATE = x_last_update_date,
524 LAST_UPDATED_BY = x_last_updated_by,
525 LAST_UPDATE_LOGIN = x_last_update_login
526 where DATABASE_OBJECT_NAME = x_database_object_name
527 and ATTRIBUTE_APPLICATION_ID = x_attribute_application_id
528 and ATTRIBUTE_CODE = x_attribute_code;
529 if (sql%notfound) then
530 null;
531 end if;
532
533 update ak_object_attributes_tl set
534 ATTRIBUTE_LABEL_LONG = X_ATTRIBUTE_LABEL_LONG,
535 LAST_UPDATE_DATE = x_last_update_date,
536 LAST_UPDATED_BY = x_last_updated_by,
537 LAST_UPDATE_LOGIN = x_last_update_login
538 where DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
539 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
540 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
541 and LANGUAGE = lang;
542 if (sql%notfound) then
543 null;
544 end if;
545
546 open c;
547 fetch c into L_REGION_APPLICATION_ID, L_REGION_CODE;
548 loop exit when c%notfound;
549 update ak_region_items set
550 DEFAULT_VALUE_VARCHAR2 = X_DEFAULT_VALUE_VARCHAR2,
551 DEFAULT_VALUE_NUMBER = X_DEFAULT_VALUE_NUMBER,
552 DEFAULT_VALUE_DATE = X_DEFAULT_VALUE_DATE,
553 LOV_FOREIGN_KEY_NAME = L_LOV_FOREIGN_KEY_NAME,
554 LOV_REGION_APPLICATION_ID = L_LOV_REGION_APPLICATION_ID,
555 LOV_REGION_CODE = L_LOV_REGION_CODE,
556 LOV_ATTRIBUTE_APPLICATION_ID = L_LOV_ATTRIBUTE_APPLICATION_ID,
557 LOV_ATTRIBUTE_CODE = L_LOV_ATTRIBUTE_CODE,
558 LOV_DEFAULT_FLAG = L_LOV_DEFAULT_FLAG,
559 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
560 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
561 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
562 where REGION_APPLICATION_ID = L_REGION_APPLICATION_ID
563 and REGION_CODE = L_REGION_CODE
564 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
565 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
566 if (sql%notfound) then
567 null;
568 end if;
569 fetch c into L_REGION_APPLICATION_ID, L_REGION_CODE;
570 end loop;
571 close c;
572 end CHANGE_OBJECT_ATTRIBUTE;
573
574 end AK_ATTRIBUTES2_PKG;