1 package body ITA_SETUP_PARAMETERS_PKG as
2 /* $Header: itastprb.pls 120.4 2005/09/22 17:02:54 cpetriuc noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_PARAMETER_CODE in VARCHAR2,
6 X_SELECT_CLAUSE in VARCHAR2,
7 X_FROM_CLAUSE in VARCHAR2,
8 X_WHERE_CLAUSE in VARCHAR2,
9 X_END_DATE in DATE,
10 X_MIGRATED_FLAG in VARCHAR2,
11 X_OBJECT_VERSION_NUMBER in NUMBER,
12 X_FK_COLUMN_ID in NUMBER,
13 X_CONTEXT_SEQUENCE_NUM in NUMBER,
14 X_AUDIT_ENABLED_FLAG in VARCHAR2,
15 X_FK_TABLE_ID in NUMBER,
16 X_FK_TABLE_APP_ID in NUMBER,
17 X_SETUP_GROUP_CODE in VARCHAR2,
18 X_COLUMN_ID in NUMBER,
19 X_CONTEXT_PREDICATE_FLAG in VARCHAR2,
20 X_PARAMETER_NAME in VARCHAR2,
21 X_CREATION_DATE in DATE,
22 X_CREATED_BY in NUMBER,
23 X_LAST_UPDATE_DATE in DATE,
24 X_LAST_UPDATED_BY in NUMBER,
25 X_LAST_UPDATE_LOGIN in NUMBER,
26 X_COLUMN_REFERENCE1 in VARCHAR2,
27 X_COLUMN_REFERENCE2 in VARCHAR2
28 ) is
29 cursor C is select ROWID from ITA_SETUP_PARAMETERS_B
30 where PARAMETER_CODE = X_PARAMETER_CODE
31 ;
32 begin
33 insert into ITA_SETUP_PARAMETERS_B (
34 SELECT_CLAUSE,
35 FROM_CLAUSE,
36 WHERE_CLAUSE,
37 END_DATE,
38 MIGRATED_FLAG,
39 OBJECT_VERSION_NUMBER,
40 FK_COLUMN_ID,
41 CONTEXT_SEQUENCE_NUM,
42 AUDIT_ENABLED_FLAG,
43 FK_TABLE_ID,
44 FK_TABLE_APP_ID,
45 SETUP_GROUP_CODE,
46 COLUMN_ID,
47 CONTEXT_PREDICATE_FLAG,
48 PARAMETER_CODE,
49 CREATION_DATE,
50 CREATED_BY,
51 LAST_UPDATE_DATE,
52 LAST_UPDATED_BY,
53 LAST_UPDATE_LOGIN,
54 COLUMN_REFERENCE1,
55 COLUMN_REFERENCE2
56 ) values (
57 X_SELECT_CLAUSE,
58 X_FROM_CLAUSE,
59 X_WHERE_CLAUSE,
60 X_END_DATE,
61 X_MIGRATED_FLAG,
62 X_OBJECT_VERSION_NUMBER,
63 X_FK_COLUMN_ID,
64 X_CONTEXT_SEQUENCE_NUM,
65 X_AUDIT_ENABLED_FLAG,
66 X_FK_TABLE_ID,
67 X_FK_TABLE_APP_ID,
68 X_SETUP_GROUP_CODE,
69 X_COLUMN_ID,
70 X_CONTEXT_PREDICATE_FLAG,
71 X_PARAMETER_CODE,
72 X_CREATION_DATE,
73 X_CREATED_BY,
74 X_LAST_UPDATE_DATE,
75 X_LAST_UPDATED_BY,
76 X_LAST_UPDATE_LOGIN,
77 X_COLUMN_REFERENCE1,
78 X_COLUMN_REFERENCE2
79 );
80
81 insert into ITA_SETUP_PARAMETERS_TL (
82 PARAMETER_CODE,
83 PARAMETER_NAME,
84 CREATED_BY,
85 CREATION_DATE,
86 LAST_UPDATED_BY,
87 LAST_UPDATE_DATE,
88 LAST_UPDATE_LOGIN,
89 OBJECT_VERSION_NUMBER,
90 LANGUAGE,
91 SOURCE_LANG
92 ) select
93 X_PARAMETER_CODE,
94 X_PARAMETER_NAME,
95 X_CREATED_BY,
96 X_CREATION_DATE,
97 X_LAST_UPDATED_BY,
98 X_LAST_UPDATE_DATE,
99 X_LAST_UPDATE_LOGIN,
100 X_OBJECT_VERSION_NUMBER,
101 L.LANGUAGE_CODE,
102 userenv('LANG')
103 from FND_LANGUAGES L
104 where L.INSTALLED_FLAG in ('I', 'B')
105 and not exists
106 (select NULL
107 from ITA_SETUP_PARAMETERS_TL T
108 where T.PARAMETER_CODE = X_PARAMETER_CODE
109 and T.LANGUAGE = L.LANGUAGE_CODE);
110
111 open c;
112 fetch c into X_ROWID;
113 if (c%notfound) then
114 close c;
115 raise no_data_found;
116 end if;
117 close c;
118
119 end INSERT_ROW;
120
121 procedure LOCK_ROW (
122 X_PARAMETER_CODE in VARCHAR2,
123 X_SELECT_CLAUSE in VARCHAR2,
124 X_FROM_CLAUSE in VARCHAR2,
125 X_WHERE_CLAUSE in VARCHAR2,
126 X_END_DATE in DATE,
127 X_MIGRATED_FLAG in VARCHAR2,
128 X_OBJECT_VERSION_NUMBER in NUMBER,
129 X_FK_COLUMN_ID in NUMBER,
130 X_CONTEXT_SEQUENCE_NUM in NUMBER,
131 X_AUDIT_ENABLED_FLAG in VARCHAR2,
132 X_FK_TABLE_ID in NUMBER,
133 X_FK_TABLE_APP_ID in NUMBER,
134 X_SETUP_GROUP_CODE in VARCHAR2,
135 X_COLUMN_ID in NUMBER,
136 X_CONTEXT_PREDICATE_FLAG in VARCHAR2,
137 X_PARAMETER_NAME in VARCHAR2,
138 X_COLUMN_REFERENCE1 in VARCHAR2,
139 X_COLUMN_REFERENCE2 in VARCHAR2
140 ) is
141 cursor c is select
142 SELECT_CLAUSE,
143 FROM_CLAUSE,
144 WHERE_CLAUSE,
145 END_DATE,
146 MIGRATED_FLAG,
147 OBJECT_VERSION_NUMBER,
148 FK_COLUMN_ID,
149 CONTEXT_SEQUENCE_NUM,
150 AUDIT_ENABLED_FLAG,
151 FK_TABLE_ID,
152 FK_TABLE_APP_ID,
153 SETUP_GROUP_CODE,
154 COLUMN_ID,
155 CONTEXT_PREDICATE_FLAG,
156 COLUMN_REFERENCE1,
157 COLUMN_REFERENCE2
158 from ITA_SETUP_PARAMETERS_B
159 where PARAMETER_CODE = X_PARAMETER_CODE
160 for update of PARAMETER_CODE nowait;
161 recinfo c%rowtype;
162
163 cursor c1 is select
164 PARAMETER_NAME,
165 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
166 from ITA_SETUP_PARAMETERS_TL
167 where PARAMETER_CODE = X_PARAMETER_CODE
168 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
169 for update of PARAMETER_CODE nowait;
170 begin
171 open c;
172 fetch c into recinfo;
173 if (c%notfound) then
174 close c;
175 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
176 app_exception.raise_exception;
177 end if;
178 close c;
179 if ( ((recinfo.SELECT_CLAUSE = X_SELECT_CLAUSE)
180 OR ((recinfo.SELECT_CLAUSE is null) AND (X_SELECT_CLAUSE is null)))
181 AND ((recinfo.FROM_CLAUSE = X_FROM_CLAUSE)
182 OR ((recinfo.FROM_CLAUSE is null) AND (X_FROM_CLAUSE is null)))
183 AND ((recinfo.WHERE_CLAUSE = X_WHERE_CLAUSE)
184 OR ((recinfo.WHERE_CLAUSE is null) AND (X_WHERE_CLAUSE is null)))
185 AND ((recinfo.END_DATE = X_END_DATE)
186 OR ((recinfo.END_DATE is null) AND (X_END_DATE is null)))
187 AND ((recinfo.MIGRATED_FLAG = X_MIGRATED_FLAG)
188 OR ((recinfo.MIGRATED_FLAG is null) AND (X_MIGRATED_FLAG is null)))
189 AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
190 OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
191 AND ((recinfo.FK_COLUMN_ID = X_FK_COLUMN_ID)
192 OR ((recinfo.FK_COLUMN_ID is null) AND (X_FK_COLUMN_ID is null)))
193 AND ((recinfo.CONTEXT_SEQUENCE_NUM = X_CONTEXT_SEQUENCE_NUM)
194 OR ((recinfo.CONTEXT_SEQUENCE_NUM is null) AND (X_CONTEXT_SEQUENCE_NUM is null)))
195 AND ((recinfo.AUDIT_ENABLED_FLAG = X_AUDIT_ENABLED_FLAG)
196 OR ((recinfo.AUDIT_ENABLED_FLAG is null) AND (X_AUDIT_ENABLED_FLAG is null)))
197 AND ((recinfo.FK_TABLE_ID = X_FK_TABLE_ID)
198 OR ((recinfo.FK_TABLE_ID is null) AND (X_FK_TABLE_ID is null)))
199 AND ((recinfo.FK_TABLE_APP_ID = X_FK_TABLE_APP_ID)
200 OR ((recinfo.FK_TABLE_APP_ID is null) AND (X_FK_TABLE_APP_ID is null)))
201 AND ((recinfo.SETUP_GROUP_CODE = X_SETUP_GROUP_CODE)
202 OR ((recinfo.SETUP_GROUP_CODE is null) AND (X_SETUP_GROUP_CODE is null)))
203 AND ((recinfo.COLUMN_ID = X_COLUMN_ID)
204 OR ((recinfo.COLUMN_ID is null) AND (X_COLUMN_ID is null)))
205 AND ((recinfo.CONTEXT_PREDICATE_FLAG = X_CONTEXT_PREDICATE_FLAG)
206 OR ((recinfo.CONTEXT_PREDICATE_FLAG is null) AND (X_CONTEXT_PREDICATE_FLAG is null)))
207 AND ((recinfo.COLUMN_REFERENCE1 = X_COLUMN_REFERENCE1)
208 OR ((recinfo.COLUMN_REFERENCE1 is null) AND (X_COLUMN_REFERENCE1 is null)))
209 AND ((recinfo.COLUMN_REFERENCE2 = X_COLUMN_REFERENCE2)
210 OR ((recinfo.COLUMN_REFERENCE2 is null) AND (X_COLUMN_REFERENCE2 is null)))
211
212 ) then
213 null;
214 else
215 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
216 app_exception.raise_exception;
217 end if;
218
219 for tlinfo in c1 loop
220 if (tlinfo.BASELANG = 'Y') then
221 if ( ((tlinfo.PARAMETER_NAME = X_PARAMETER_NAME)
222 OR ((tlinfo.PARAMETER_NAME is null) AND (X_PARAMETER_NAME is null)))
223 ) then
224 null;
225 else
226 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
227 app_exception.raise_exception;
228 end if;
229 end if;
230 end loop;
231 return;
232 end LOCK_ROW;
233
234 procedure UPDATE_ROW (
235 X_PARAMETER_CODE in VARCHAR2,
236 X_SELECT_CLAUSE in VARCHAR2,
237 X_FROM_CLAUSE in VARCHAR2,
238 X_WHERE_CLAUSE in VARCHAR2,
239 X_END_DATE in DATE,
240 X_MIGRATED_FLAG in VARCHAR2,
241 X_OBJECT_VERSION_NUMBER in NUMBER,
242 X_FK_COLUMN_ID in NUMBER,
243 X_CONTEXT_SEQUENCE_NUM in NUMBER,
244 X_AUDIT_ENABLED_FLAG in VARCHAR2,
245 X_FK_TABLE_ID in NUMBER,
246 X_FK_TABLE_APP_ID in NUMBER,
247 X_SETUP_GROUP_CODE in VARCHAR2,
248 X_COLUMN_ID in NUMBER,
249 X_CONTEXT_PREDICATE_FLAG in VARCHAR2,
250 X_PARAMETER_NAME in VARCHAR2,
251 X_LAST_UPDATE_DATE in DATE,
252 X_LAST_UPDATED_BY in NUMBER,
253 X_LAST_UPDATE_LOGIN in NUMBER,
254 X_COLUMN_REFERENCE1 in VARCHAR2,
255 X_COLUMN_REFERENCE2 in VARCHAR2
256 ) is
257 begin
258 update ITA_SETUP_PARAMETERS_B set
259 SELECT_CLAUSE = X_SELECT_CLAUSE,
260 FROM_CLAUSE = X_FROM_CLAUSE,
261 WHERE_CLAUSE = X_WHERE_CLAUSE,
262 END_DATE = nvl(END_DATE, X_END_DATE),
263 MIGRATED_FLAG = X_MIGRATED_FLAG,
264 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
265 FK_COLUMN_ID = X_FK_COLUMN_ID,
266 CONTEXT_SEQUENCE_NUM = X_CONTEXT_SEQUENCE_NUM,
267 AUDIT_ENABLED_FLAG = X_AUDIT_ENABLED_FLAG,
268 FK_TABLE_ID = X_FK_TABLE_ID,
269 FK_TABLE_APP_ID = X_FK_TABLE_APP_ID,
270 SETUP_GROUP_CODE = X_SETUP_GROUP_CODE,
271 COLUMN_ID = X_COLUMN_ID,
272 CONTEXT_PREDICATE_FLAG = X_CONTEXT_PREDICATE_FLAG,
273 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
274 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
275 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
276 COLUMN_REFERENCE1 = X_COLUMN_REFERENCE1,
277 COLUMN_REFERENCE2 = X_COLUMN_REFERENCE2
278 where PARAMETER_CODE = X_PARAMETER_CODE;
279
280 if (sql%notfound) then
281 raise no_data_found;
282 end if;
283
284 update ITA_SETUP_PARAMETERS_TL set
285 PARAMETER_NAME = X_PARAMETER_NAME,
286 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
287 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
288 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
289 SOURCE_LANG = userenv('LANG')
290 where PARAMETER_CODE = X_PARAMETER_CODE
291 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
292
293 if (sql%notfound) then
294 raise no_data_found;
295 end if;
296 end UPDATE_ROW;
297
298 procedure DELETE_ROW (
299 X_PARAMETER_CODE in VARCHAR2
300 ) is
301 begin
302 delete from ITA_SETUP_PARAMETERS_TL
303 where PARAMETER_CODE = X_PARAMETER_CODE;
304
305 if (sql%notfound) then
306 raise no_data_found;
307 end if;
308
309 delete from ITA_SETUP_PARAMETERS_B
310 where PARAMETER_CODE = X_PARAMETER_CODE;
311
312 if (sql%notfound) then
313 raise no_data_found;
314 end if;
315 end DELETE_ROW;
316
317 procedure ADD_LANGUAGE
318 is
319 begin
320 delete from ITA_SETUP_PARAMETERS_TL T
321 where not exists
322 (select NULL
323 from ITA_SETUP_PARAMETERS_B B
324 where B.PARAMETER_CODE = T.PARAMETER_CODE
325 );
326
327 update ITA_SETUP_PARAMETERS_TL T set (
328 PARAMETER_NAME
329 ) = (select
330 B.PARAMETER_NAME
331 from ITA_SETUP_PARAMETERS_TL B
332 where B.PARAMETER_CODE = T.PARAMETER_CODE
333 and B.LANGUAGE = T.SOURCE_LANG)
334 where (
335 T.PARAMETER_CODE,
336 T.LANGUAGE
337 ) in (select
338 SUBT.PARAMETER_CODE,
339 SUBT.LANGUAGE
340 from ITA_SETUP_PARAMETERS_TL SUBB, ITA_SETUP_PARAMETERS_TL SUBT
341 where SUBB.PARAMETER_CODE = SUBT.PARAMETER_CODE
342 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
343 and (SUBB.PARAMETER_NAME <> SUBT.PARAMETER_NAME
344 or (SUBB.PARAMETER_NAME is null and SUBT.PARAMETER_NAME is not null)
345 or (SUBB.PARAMETER_NAME is not null and SUBT.PARAMETER_NAME is null)
346 ));
347
348 insert into ITA_SETUP_PARAMETERS_TL (
349 PARAMETER_CODE,
350 PARAMETER_NAME,
351 CREATED_BY,
352 CREATION_DATE,
353 LAST_UPDATED_BY,
354 LAST_UPDATE_DATE,
355 LAST_UPDATE_LOGIN,
356 OBJECT_VERSION_NUMBER,
357 LANGUAGE,
358 SOURCE_LANG
359 ) select /*+ ORDERED */
360 B.PARAMETER_CODE,
361 B.PARAMETER_NAME,
362 B.CREATED_BY,
363 B.CREATION_DATE,
364 B.LAST_UPDATED_BY,
365 B.LAST_UPDATE_DATE,
366 B.LAST_UPDATE_LOGIN,
367 B.OBJECT_VERSION_NUMBER,
368 L.LANGUAGE_CODE,
369 B.SOURCE_LANG
370 from ITA_SETUP_PARAMETERS_TL B, FND_LANGUAGES L
371 where L.INSTALLED_FLAG in ('I', 'B')
372 and B.LANGUAGE = userenv('LANG')
373 and not exists
374 (select NULL
375 from ITA_SETUP_PARAMETERS_TL T
376 where T.PARAMETER_CODE = B.PARAMETER_CODE
377 and T.LANGUAGE = L.LANGUAGE_CODE);
378 end ADD_LANGUAGE;
379
380
381 procedure LOAD_ROW (
382 X_PARAMETER_CODE in VARCHAR2,
383 X_SELECT_CLAUSE in VARCHAR2,
384 X_FROM_CLAUSE in VARCHAR2,
385 X_WHERE_CLAUSE in VARCHAR2,
386 X_END_DATE in DATE,
387 X_MIGRATED_FLAG in VARCHAR2,
388 X_OBJECT_VERSION_NUMBER in NUMBER,
389 X_CONTEXT_SEQUENCE_NUM in NUMBER,
390 X_AUDIT_ENABLED_FLAG in VARCHAR2,
391 X_SETUP_GROUP_CODE in VARCHAR2,
395 X_LAST_UPDATE_DATE in VARCHAR2,
392 X_COLUMN_NAME in VARCHAR2,
393 X_CONTEXT_PREDICATE_FLAG in VARCHAR2,
394 X_PARAMETER_NAME in VARCHAR2,
396 X_OWNER in VARCHAR2,
397 X_CUSTOM_MODE IN VARCHAR2,
398 X_COLUMN_REFERENCE1 in VARCHAR2,
399 X_COLUMN_REFERENCE2 in VARCHAR2) is
400
401 view_appid number;
402 view_table_id number;
403 view_column_id number;
404 row_id varchar2(64);
405 f_luby number; -- entity owner in file
406 f_ludate date; -- entity update date in file
407 db_luby number; -- entity owner in db
408 db_ludate date; -- entity update date in db
409 flag varchar2(1); -- flag will determine if the column is part of schema or not
410 begin
411 flag := 'Y';
412 -- translate values to IDs
413 select table_app_id, table_id
414 into view_appid, view_table_id
415 from ITA_SETUP_GROUPS_B
416 where SETUP_GROUP_CODE = X_SETUP_GROUP_CODE;
417
418 --insert into dummy_log values (391,'flag val bfr select column_id ' || flag || ' :: column name :: ' || X_column_NAME);
419
420 begin
421 select column_id
422 into view_column_id
423 from fnd_columns
424 where APPLICATION_id = view_appid and
425 table_id = view_table_id and
426 column_name = X_column_NAME;
427 flag := 'Y' ;
428 exception
429 when no_data_found then
430 flag := 'N' ; -- flag='N' means its not part of schema so the entry for this parameter should not be created
431 end;
432
433
434 -- Translate owner to file_last_updated_by
435 f_luby := fnd_load_util.owner_id(X_OWNER);
436 -- Translate char last_update_date to date
437 f_ludate := nvl(to_date(X_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
438
439 begin
440
441
442 select LAST_UPDATED_BY, LAST_UPDATE_DATE
443 into db_luby, db_ludate
444 from ITA_SETUP_PARAMETERS_B
445 where parameter_code = X_parameter_code;
446
447
448
449
450 -- Test for customization and version
451 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
452 db_ludate, x_CUSTOM_MODE)) then
453
454 -- Update existing row
455 ITA_SETUP_PARAMETERS_PKG.UPDATE_ROW(
456 X_PARAMETER_CODE => x_PARAMETER_CODE,
457 X_SELECT_CLAUSE => x_SELECT_CLAUSE,
458 X_FROM_CLAUSE => x_FROM_CLAUSE,
459 X_WHERE_CLAUSE => x_WHERE_CLAUSE,
460 X_END_DATE => x_END_DATE,
461 X_MIGRATED_FLAG => x_MIGRATED_FLAG,
462 X_OBJECT_VERSION_NUMBER => x_OBJECT_VERSION_NUMBER,
463 X_FK_COLUMN_ID => null,
464 X_CONTEXT_SEQUENCE_NUM => x_CONTEXT_SEQUENCE_NUM,
465 X_AUDIT_ENABLED_FLAG => x_AUDIT_ENABLED_FLAG,
466 X_FK_TABLE_ID => null,
467 X_FK_TABLE_APP_ID => null,
468 X_SETUP_GROUP_CODE => x_SETUP_GROUP_CODE,
469 X_COLUMN_ID => view_COLUMN_ID,
470 X_CONTEXT_PREDICATE_FLAG => x_CONTEXT_PREDICATE_FLAG,
471 X_PARAMETER_NAME => x_PARAMETER_NAME,
472 X_LAST_UPDATE_DATE => f_ludate,
473 X_LAST_UPDATED_BY => f_luby,
474 X_LAST_UPDATE_LOGIN => 0,
475 X_COLUMN_REFERENCE1 => X_COLUMN_REFERENCE1,
476 X_COLUMN_REFERENCE2 => X_COLUMN_REFERENCE2 );
477 end if;
478 exception
479 when no_data_found then
480 -- Record doesn't exist - insert in all cases
481 -- Inserting records into the ITA_SETUP_PARAMETERS_B and ITA_SETUP_PARAMETERS_TL
482 -- in and only if the parameter is part of the schema.
483 if flag = 'Y' then
484 ITA_SETUP_PARAMETERS_PKG.INSERT_ROW(
485 X_ROWID => ROW_ID,
486 X_PARAMETER_CODE => x_PARAMETER_CODE,
487 X_SELECT_CLAUSE => x_SELECT_CLAUSE,
488 X_FROM_CLAUSE => x_FROM_CLAUSE,
489 X_WHERE_CLAUSE => x_WHERE_CLAUSE,
490 X_END_DATE => x_END_DATE,
491 X_MIGRATED_FLAG => x_MIGRATED_FLAG,
492 X_OBJECT_VERSION_NUMBER => x_OBJECT_VERSION_NUMBER,
493 X_FK_COLUMN_ID => null,
494 X_CONTEXT_SEQUENCE_NUM => x_CONTEXT_SEQUENCE_NUM,
495 X_AUDIT_ENABLED_FLAG => x_AUDIT_ENABLED_FLAG,
496 X_FK_TABLE_ID => null,
497 X_FK_TABLE_APP_ID => null,
498 X_SETUP_GROUP_CODE => x_SETUP_GROUP_CODE,
499 X_COLUMN_ID => view_COLUMN_ID,
500 X_CONTEXT_PREDICATE_FLAG => x_CONTEXT_PREDICATE_FLAG,
501 X_PARAMETER_NAME => x_PARAMETER_NAME,
502 x_creation_date => f_ludate,
503 x_created_by => f_luby,
504 X_LAST_UPDATE_DATE => f_ludate,
505 X_LAST_UPDATED_BY => f_luby,
506 X_LAST_UPDATE_LOGIN => 0,
507 X_COLUMN_REFERENCE1 => X_COLUMN_REFERENCE1,
508 X_COLUMN_REFERENCE2 => X_COLUMN_REFERENCE2
509 );
510 end if;
511
512 end;
513 end LOAD_ROW;
514
515 procedure TRANSLATE_ROW (
516 X_PARAMETER_CODE in VARCHAR2,
517 X_SELECT_CLAUSE in VARCHAR2,
518 X_FROM_CLAUSE in VARCHAR2,
519 X_WHERE_CLAUSE in VARCHAR2,
520 X_END_DATE in DATE,
521 X_MIGRATED_FLAG in VARCHAR2,
522 X_OBJECT_VERSION_NUMBER in NUMBER,
523 X_CONTEXT_SEQUENCE_NUM in NUMBER,
524 X_AUDIT_ENABLED_FLAG in VARCHAR2,
525 X_SETUP_GROUP_CODE in VARCHAR2,
526 X_COLUMN_NAME in VARCHAR2,
527 X_CONTEXT_PREDICATE_FLAG in VARCHAR2,
528 X_PARAMETER_NAME in VARCHAR2,
529 X_LAST_UPDATE_DATE in VARCHAR2,
530 X_OWNER in VARCHAR2,
531 X_CUSTOM_MODE IN VARCHAR2,
532 X_COLUMN_REFERENCE1 in VARCHAR2,
533 X_COLUMN_REFERENCE2 in VARCHAR2
534 ) is
535
536
537 view_appid number;
538 view_table_id number;
539 view_column_id number;
540 row_id varchar2(64);
541 f_luby number; -- entity owner in file
542 f_ludate date; -- entity update date in file
543 db_luby number; -- entity owner in db
544 db_ludate date; -- entity update date in db
545 begin
546
547 -- Translate owner to file_last_updated_by
548 f_luby := fnd_load_util.owner_id(X_OWNER);
549
550 -- Translate char last_update_date to date
551 f_ludate := nvl(to_date(X_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
552
553 begin
554 select LAST_UPDATED_BY, LAST_UPDATE_DATE
555 into db_luby, db_ludate
556 from ITA_SETUP_PARAMETERS_TL
557 where PARAMETER_CODE = X_PARAMETER_CODE
558 and LANGUAGE = userenv('LANG');
559
560 -- Test for customization and version
561 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
562 db_ludate, x_CUSTOM_MODE)) then
563 -- Update translations for this language
564 update ITA_SETUP_PARAMETERS_TL set
565 PARAMETER_NAME = decode(x_PARAMETER_NAME,
566 fnd_load_util.null_value, null, -- Real null
567 null, x_PARAMETER_NAME, -- No change
568 x_PARAMETER_NAME),
569 LAST_UPDATE_DATE = f_ludate,
570 LAST_UPDATED_BY = f_luby,
571 LAST_UPDATE_LOGIN = 0,
572 SOURCE_LANG = userenv('LANG')
573 where PARAMETER_CODE = X_PARAMETER_CODE
574 and LANGUAGE = userenv('LANG');
575 end if;
576 exception
577 when no_data_found then
578 -- Do not insert missing translations, skip this row
579 null;
580 end;
581
582 end TRANSLATE_ROW;
583
584 end ITA_SETUP_PARAMETERS_PKG;