[Home] [Help]
PACKAGE BODY: APPS.CS_CF_FLOW_PAGES_PKG
Source
1 package body CS_CF_FLOW_PAGES_PKG as
2 /* $Header: CSCFFPGB.pls 120.0 2005/06/01 13:32:12 appldev noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_FLOW_ID in NUMBER,
6 X_FLOW_TYPE_PAGE_ID in NUMBER,
7 X_ENABLED_FLAG in VARCHAR2,
8 X_OBJECT_VERSION_NUMBER in NUMBER,
9 X_ATTRIBUTE_CATEGORY in VARCHAR2,
10 X_ATTRIBUTE1 in VARCHAR2,
11 X_ATTRIBUTE2 in VARCHAR2,
12 X_ATTRIBUTE3 in VARCHAR2,
13 X_ATTRIBUTE4 in VARCHAR2,
14 X_ATTRIBUTE5 in VARCHAR2,
15 X_ATTRIBUTE6 in VARCHAR2,
16 X_ATTRIBUTE7 in VARCHAR2,
17 X_ATTRIBUTE8 in VARCHAR2,
18 X_ATTRIBUTE9 in VARCHAR2,
19 X_ATTRIBUTE10 in VARCHAR2,
20 X_ATTRIBUTE11 in VARCHAR2,
21 X_ATTRIBUTE12 in VARCHAR2,
22 X_ATTRIBUTE13 in VARCHAR2,
23 X_ATTRIBUTE14 in VARCHAR2,
24 X_ATTRIBUTE15 in VARCHAR2,
25 X_PAGE_DISPLAY_NAME in VARCHAR2,
26 X_CREATION_DATE in DATE,
27 X_CREATED_BY in NUMBER,
28 X_LAST_UPDATE_DATE in DATE,
29 X_LAST_UPDATED_BY in NUMBER,
30 X_LAST_UPDATE_LOGIN in NUMBER
31 ) is
32 cursor C is select ROWID from CS_CF_FLOW_PAGES_B
33 where FLOW_ID = X_FLOW_ID
34 and FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID
35 ;
36 begin
37 insert into CS_CF_FLOW_PAGES_B (
38 FLOW_ID,
39 FLOW_TYPE_PAGE_ID,
40 ENABLED_FLAG,
41 OBJECT_VERSION_NUMBER,
42 ATTRIBUTE_CATEGORY,
43 ATTRIBUTE1,
44 ATTRIBUTE2,
45 ATTRIBUTE3,
46 ATTRIBUTE4,
47 ATTRIBUTE5,
48 ATTRIBUTE6,
49 ATTRIBUTE7,
50 ATTRIBUTE8,
51 ATTRIBUTE9,
52 ATTRIBUTE10,
53 ATTRIBUTE11,
54 ATTRIBUTE12,
55 ATTRIBUTE13,
56 ATTRIBUTE14,
57 ATTRIBUTE15,
58 CREATION_DATE,
59 CREATED_BY,
60 LAST_UPDATE_DATE,
61 LAST_UPDATED_BY,
62 LAST_UPDATE_LOGIN
63 ) values (
64 X_FLOW_ID,
65 X_FLOW_TYPE_PAGE_ID,
66 X_ENABLED_FLAG,
67 X_OBJECT_VERSION_NUMBER,
68 X_ATTRIBUTE_CATEGORY,
69 X_ATTRIBUTE1,
70 X_ATTRIBUTE2,
71 X_ATTRIBUTE3,
72 X_ATTRIBUTE4,
73 X_ATTRIBUTE5,
74 X_ATTRIBUTE6,
75 X_ATTRIBUTE7,
76 X_ATTRIBUTE8,
77 X_ATTRIBUTE9,
78 X_ATTRIBUTE10,
79 X_ATTRIBUTE11,
80 X_ATTRIBUTE12,
81 X_ATTRIBUTE13,
82 X_ATTRIBUTE14,
83 X_ATTRIBUTE15,
84 X_CREATION_DATE,
85 X_CREATED_BY,
86 X_LAST_UPDATE_DATE,
87 X_LAST_UPDATED_BY,
88 X_LAST_UPDATE_LOGIN
89 );
90
91 insert into CS_CF_FLOW_PAGES_TL (
92 FLOW_ID,
93 FLOW_TYPE_PAGE_ID,
94 PAGE_DISPLAY_NAME,
95 CREATED_BY,
96 CREATION_DATE,
97 LAST_UPDATED_BY,
98 LAST_UPDATE_DATE,
99 LAST_UPDATE_LOGIN,
100 LANGUAGE,
101 SOURCE_LANG
102 ) select
103 X_FLOW_ID,
104 X_FLOW_TYPE_PAGE_ID,
105 X_PAGE_DISPLAY_NAME,
106 X_CREATED_BY,
107 X_CREATION_DATE,
108 X_LAST_UPDATED_BY,
109 X_LAST_UPDATE_DATE,
110 X_LAST_UPDATE_LOGIN,
111 L.LANGUAGE_CODE,
112 userenv('LANG')
113 from FND_LANGUAGES L
114 where L.INSTALLED_FLAG in ('I', 'B')
115 and not exists
116 (select NULL
117 from CS_CF_FLOW_PAGES_TL T
118 where T.FLOW_ID = X_FLOW_ID
119 and T.FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID
120 and T.LANGUAGE = L.LANGUAGE_CODE);
121
122 open c;
123 fetch c into X_ROWID;
124 if (c%notfound) then
125 close c;
126 raise no_data_found;
127 end if;
128 close c;
129
130 end INSERT_ROW;
131
132 procedure LOCK_ROW (
133 X_FLOW_ID in NUMBER,
134 X_FLOW_TYPE_PAGE_ID in NUMBER,
135 X_ENABLED_FLAG in VARCHAR2,
136 X_OBJECT_VERSION_NUMBER in NUMBER,
137 X_ATTRIBUTE_CATEGORY in VARCHAR2,
138 X_ATTRIBUTE1 in VARCHAR2,
139 X_ATTRIBUTE2 in VARCHAR2,
140 X_ATTRIBUTE3 in VARCHAR2,
141 X_ATTRIBUTE4 in VARCHAR2,
142 X_ATTRIBUTE5 in VARCHAR2,
143 X_ATTRIBUTE6 in VARCHAR2,
144 X_ATTRIBUTE7 in VARCHAR2,
145 X_ATTRIBUTE8 in VARCHAR2,
146 X_ATTRIBUTE9 in VARCHAR2,
147 X_ATTRIBUTE10 in VARCHAR2,
148 X_ATTRIBUTE11 in VARCHAR2,
149 X_ATTRIBUTE12 in VARCHAR2,
150 X_ATTRIBUTE13 in VARCHAR2,
151 X_ATTRIBUTE14 in VARCHAR2,
152 X_ATTRIBUTE15 in VARCHAR2,
153 X_PAGE_DISPLAY_NAME in VARCHAR2
154 ) is
155 cursor c is select
156 ENABLED_FLAG,
157 OBJECT_VERSION_NUMBER,
158 ATTRIBUTE_CATEGORY,
159 ATTRIBUTE1,
160 ATTRIBUTE2,
161 ATTRIBUTE3,
162 ATTRIBUTE4,
163 ATTRIBUTE5,
164 ATTRIBUTE6,
165 ATTRIBUTE7,
166 ATTRIBUTE8,
167 ATTRIBUTE9,
168 ATTRIBUTE10,
169 ATTRIBUTE11,
170 ATTRIBUTE12,
171 ATTRIBUTE13,
172 ATTRIBUTE14,
173 ATTRIBUTE15
174 from CS_CF_FLOW_PAGES_B
175 where FLOW_ID = X_FLOW_ID
176 and FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID
177 for update of FLOW_ID nowait;
178 recinfo c%rowtype;
179
180 cursor c1 is select
181 PAGE_DISPLAY_NAME,
182 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
183 from CS_CF_FLOW_PAGES_TL
184 where FLOW_ID = X_FLOW_ID
185 and FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID
186 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
187 for update of FLOW_ID nowait;
188 begin
189 open c;
190 fetch c into recinfo;
191 if (c%notfound) then
192 close c;
193 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
194 app_exception.raise_exception;
195 end if;
196 close c;
197 if ( ((recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
198 OR ((recinfo.ENABLED_FLAG is null) AND (X_ENABLED_FLAG is null)))
199 AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
200 OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
201 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
202 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
203 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
204 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
205 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
206 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
207 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
208 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
209 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
210 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
211 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
212 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
213 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
214 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
215 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
216 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
217 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
218 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
219 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
220 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
221 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
222 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
223 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
224 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
225 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
226 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
227 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
228 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
229 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
230 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
231 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
232 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
233 ) then
234 null;
235 else
236 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
237 app_exception.raise_exception;
238 end if;
239
240 for tlinfo in c1 loop
241 if (tlinfo.BASELANG = 'Y') then
242 if ( ((tlinfo.PAGE_DISPLAY_NAME = X_PAGE_DISPLAY_NAME)
243 OR ((tlinfo.PAGE_DISPLAY_NAME is null) AND (X_PAGE_DISPLAY_NAME is null)))
244 ) then
245 null;
246 else
247 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
248 app_exception.raise_exception;
249 end if;
250 end if;
251 end loop;
252 return;
253 end LOCK_ROW;
254
255 procedure UPDATE_ROW (
256 X_FLOW_ID in NUMBER,
257 X_FLOW_TYPE_PAGE_ID in NUMBER,
258 X_ENABLED_FLAG in VARCHAR2,
259 X_OBJECT_VERSION_NUMBER in NUMBER,
260 X_ATTRIBUTE_CATEGORY in VARCHAR2,
261 X_ATTRIBUTE1 in VARCHAR2,
262 X_ATTRIBUTE2 in VARCHAR2,
263 X_ATTRIBUTE3 in VARCHAR2,
264 X_ATTRIBUTE4 in VARCHAR2,
265 X_ATTRIBUTE5 in VARCHAR2,
266 X_ATTRIBUTE6 in VARCHAR2,
267 X_ATTRIBUTE7 in VARCHAR2,
268 X_ATTRIBUTE8 in VARCHAR2,
269 X_ATTRIBUTE9 in VARCHAR2,
270 X_ATTRIBUTE10 in VARCHAR2,
271 X_ATTRIBUTE11 in VARCHAR2,
272 X_ATTRIBUTE12 in VARCHAR2,
273 X_ATTRIBUTE13 in VARCHAR2,
274 X_ATTRIBUTE14 in VARCHAR2,
275 X_ATTRIBUTE15 in VARCHAR2,
276 X_PAGE_DISPLAY_NAME in VARCHAR2,
277 X_LAST_UPDATE_DATE in DATE,
278 X_LAST_UPDATED_BY in NUMBER,
279 X_LAST_UPDATE_LOGIN in NUMBER
280 ) is
281 begin
282 update CS_CF_FLOW_PAGES_B set
283 ENABLED_FLAG = X_ENABLED_FLAG,
284 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
285 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
286 ATTRIBUTE1 = X_ATTRIBUTE1,
287 ATTRIBUTE2 = X_ATTRIBUTE2,
288 ATTRIBUTE3 = X_ATTRIBUTE3,
289 ATTRIBUTE4 = X_ATTRIBUTE4,
290 ATTRIBUTE5 = X_ATTRIBUTE5,
291 ATTRIBUTE6 = X_ATTRIBUTE6,
292 ATTRIBUTE7 = X_ATTRIBUTE7,
293 ATTRIBUTE8 = X_ATTRIBUTE8,
294 ATTRIBUTE9 = X_ATTRIBUTE9,
295 ATTRIBUTE10 = X_ATTRIBUTE10,
296 ATTRIBUTE11 = X_ATTRIBUTE11,
297 ATTRIBUTE12 = X_ATTRIBUTE12,
298 ATTRIBUTE13 = X_ATTRIBUTE13,
299 ATTRIBUTE14 = X_ATTRIBUTE14,
300 ATTRIBUTE15 = X_ATTRIBUTE15,
301 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
302 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
303 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
304 where FLOW_ID = X_FLOW_ID
305 and FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID;
306
307 if (sql%notfound) then
308 raise no_data_found;
309 end if;
310
311 update CS_CF_FLOW_PAGES_TL set
312 PAGE_DISPLAY_NAME = X_PAGE_DISPLAY_NAME,
313 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
314 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
315 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
316 SOURCE_LANG = userenv('LANG')
317 where FLOW_ID = X_FLOW_ID
318 and FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID
319 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
320
321 if (sql%notfound) then
322 raise no_data_found;
323 end if;
324 end UPDATE_ROW;
325
326 procedure DELETE_ROW (
327 X_FLOW_ID in NUMBER,
328 X_FLOW_TYPE_PAGE_ID in NUMBER
329 ) is
330 begin
331 delete from CS_CF_FLOW_PAGES_TL
332 where FLOW_ID = X_FLOW_ID
333 and FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID;
334
335 if (sql%notfound) then
336 raise no_data_found;
337 end if;
338
339 delete from CS_CF_FLOW_PAGES_B
340 where FLOW_ID = X_FLOW_ID
341 and FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID;
342
343 if (sql%notfound) then
344 raise no_data_found;
345 end if;
346 end DELETE_ROW;
347
348 procedure ADD_LANGUAGE
349 is
350 begin
351 delete from CS_CF_FLOW_PAGES_TL T
352 where not exists
353 (select NULL
354 from CS_CF_FLOW_PAGES_B B
355 where B.FLOW_ID = T.FLOW_ID
356 and B.FLOW_TYPE_PAGE_ID = T.FLOW_TYPE_PAGE_ID
357 );
358
359 update CS_CF_FLOW_PAGES_TL T set (
360 PAGE_DISPLAY_NAME
361 ) = (select
362 B.PAGE_DISPLAY_NAME
363 from CS_CF_FLOW_PAGES_TL B
364 where B.FLOW_ID = T.FLOW_ID
365 and B.FLOW_TYPE_PAGE_ID = T.FLOW_TYPE_PAGE_ID
366 and B.LANGUAGE = T.SOURCE_LANG)
367 where (
368 T.FLOW_ID,
369 T.FLOW_TYPE_PAGE_ID,
370 T.LANGUAGE
371 ) in (select
372 SUBT.FLOW_ID,
373 SUBT.FLOW_TYPE_PAGE_ID,
374 SUBT.LANGUAGE
375 from CS_CF_FLOW_PAGES_TL SUBB, CS_CF_FLOW_PAGES_TL SUBT
376 where SUBB.FLOW_ID = SUBT.FLOW_ID
377 and SUBB.FLOW_TYPE_PAGE_ID = SUBT.FLOW_TYPE_PAGE_ID
378 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
379 and (SUBB.PAGE_DISPLAY_NAME <> SUBT.PAGE_DISPLAY_NAME
383
380 or (SUBB.PAGE_DISPLAY_NAME is null and SUBT.PAGE_DISPLAY_NAME is not null)
381 or (SUBB.PAGE_DISPLAY_NAME is not null and SUBT.PAGE_DISPLAY_NAME is null)
382 ));
384 insert into CS_CF_FLOW_PAGES_TL (
385 FLOW_ID,
386 FLOW_TYPE_PAGE_ID,
387 PAGE_DISPLAY_NAME,
388 CREATED_BY,
389 CREATION_DATE,
390 LAST_UPDATED_BY,
391 LAST_UPDATE_DATE,
392 LAST_UPDATE_LOGIN,
393 LANGUAGE,
394 SOURCE_LANG
395 ) select
396 B.FLOW_ID,
397 B.FLOW_TYPE_PAGE_ID,
398 B.PAGE_DISPLAY_NAME,
399 B.CREATED_BY,
400 B.CREATION_DATE,
401 B.LAST_UPDATED_BY,
402 B.LAST_UPDATE_DATE,
403 B.LAST_UPDATE_LOGIN,
404 L.LANGUAGE_CODE,
405 B.SOURCE_LANG
406 from CS_CF_FLOW_PAGES_TL B, FND_LANGUAGES L
407 where L.INSTALLED_FLAG in ('I', 'B')
408 and B.LANGUAGE = userenv('LANG')
409 and not exists
410 (select NULL
411 from CS_CF_FLOW_PAGES_TL T
412 where T.FLOW_ID = B.FLOW_ID
413 and T.FLOW_TYPE_PAGE_ID = B.FLOW_TYPE_PAGE_ID
414 and T.LANGUAGE = L.LANGUAGE_CODE);
415 end ADD_LANGUAGE;
416
417 procedure LOAD_ROW (
418 X_FLOW_ID in NUMBER,
419 X_FLOW_TYPE_PAGE_ID in NUMBER,
420 X_ENABLED_FLAG in VARCHAR2,
421 X_PAGE_DISPLAY_NAME in VARCHAR2,
422 X_LAST_UPDATE_DATE in DATE,
423 X_OWNER in VARCHAR2,
424 X_CUSTOM_MODE in VARCHAR2
425 ) IS
426
427 f_luby number ; -- entity owner in file
428 f_ludate date ; -- entity update date in file
429 db_luby number; -- entity owner in db
430 db_ludate date; -- entity update date in db
431
432 l_object_version_number number := 1;
433 l_rowid varchar2(50);
434
435 l_attribute_category varchar2(30);
436 l_attribute1 varchar2(150);
437 l_attribute2 varchar2(150);
438 l_attribute3 varchar2(150);
439 l_attribute4 varchar2(150);
440 l_attribute5 varchar2(150);
441 l_attribute6 varchar2(150);
442 l_attribute7 varchar2(150);
443 l_attribute8 varchar2(150);
444 l_attribute9 varchar2(150);
445 l_attribute10 varchar2(150);
446 l_attribute11 varchar2(150);
447 l_attribute12 varchar2(150);
448 l_attribute13 varchar2(150);
449 l_attribute14 varchar2(150);
450 l_attribute15 varchar2(150);
451
452
453 begin
454
455 f_luby := fnd_load_util.owner_id(X_OWNER);
456 f_ludate := nvl(X_LAST_UPDATE_DATE, sysdate);
457
458 select LAST_UPDATED_BY, LAST_UPDATE_DATE
459 into db_luby, db_ludate
460 from CS_CF_FLOW_PAGES_B
461 where flow_id = X_FLOW_ID
462 and flow_type_page_id = X_FLOW_TYPE_PAGE_ID;
463
464 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby, db_ludate, X_CUSTOM_MODE)) then
465 -- Update existing row
466 SELECT object_version_number, rowid,
467 attribute_category,
468 attribute1,
469 attribute2,
470 attribute3,
471 attribute4,
472 attribute5,
473 attribute6,
474 attribute7,
475 attribute8,
476 attribute9,
477 attribute10,
478 attribute11,
479 attribute12,
480 attribute13,
481 attribute14,
482 attribute15
483 INTO l_object_version_number, l_rowid,
484 l_attribute_category,
485 l_attribute1,
486 l_attribute2,
487 l_attribute3,
488 l_attribute4,
489 l_attribute5,
490 l_attribute6,
491 l_attribute7,
492 l_attribute8,
493 l_attribute9,
494 l_attribute10,
495 l_attribute11,
496 l_attribute12,
497 l_attribute13,
498 l_attribute14,
499 l_attribute15
500 FROM CS_CF_FLOW_PAGES_B
501 WHERE flow_id = X_FLOW_ID
502 and flow_type_page_id = X_FLOW_TYPE_PAGE_ID
503 FOR UPDATE ;
504
505 CS_CF_FLOW_PAGES_PKG.Update_Row(
506 X_FLOW_ID => X_FLOW_ID,
507 X_FLOW_TYPE_PAGE_ID => X_FLOW_TYPE_PAGE_ID,
508 X_ENABLED_FLAG => X_ENABLED_FLAG,
509 X_OBJECT_VERSION_NUMBER => l_object_version_number + 1,
510 X_PAGE_DISPLAY_NAME => X_PAGE_DISPLAY_NAME,
511 X_ATTRIBUTE_CATEGORY => l_attribute_category,
512 X_ATTRIBUTE1 => l_attribute1,
513 X_ATTRIBUTE2 => l_attribute2,
514 X_ATTRIBUTE3 => l_attribute3,
515 X_ATTRIBUTE4 => l_attribute4,
516 X_ATTRIBUTE5 => l_attribute5,
517 X_ATTRIBUTE6 => l_attribute6,
518 X_ATTRIBUTE7 => l_attribute7,
519 X_ATTRIBUTE8 => l_attribute8,
520 X_ATTRIBUTE9 => l_attribute9,
521 X_ATTRIBUTE10 => l_attribute10,
522 X_ATTRIBUTE11 => l_attribute11,
523 X_ATTRIBUTE12 => l_attribute12,
524 X_ATTRIBUTE13 => l_attribute13,
525 X_ATTRIBUTE14 => l_attribute14,
526 X_ATTRIBUTE15 => l_attribute15,
527 X_LAST_UPDATE_DATE => f_ludate,
528 X_LAST_UPDATED_BY => f_luby,
529 X_LAST_UPDATE_LOGIN => 0);
530 end if;
531 exception
532 when no_data_found then
533 -- Record doesn't exist - insert in all cases
534 CS_CF_FLOW_PAGES_PKG.Insert_Row(
535 X_ROWID => l_rowid,
536 X_FLOW_ID => X_FLOW_ID,
537 X_FLOW_TYPE_PAGE_ID => X_FLOW_TYPE_PAGE_ID,
538 X_ENABLED_FLAG => X_ENABLED_FLAG,
539 X_PAGE_DISPLAY_NAME => X_PAGE_DISPLAY_NAME,
540 X_OBJECT_VERSION_NUMBER => l_object_version_number,
541 X_ATTRIBUTE_CATEGORY => NULL,
542 X_ATTRIBUTE1 => NULL,
543 X_ATTRIBUTE2 => NULL,
544 X_ATTRIBUTE3 => NULL,
545 X_ATTRIBUTE4 => NULL,
546 X_ATTRIBUTE5 => NULL,
547 X_ATTRIBUTE6 => NULL,
548 X_ATTRIBUTE7 => NULL,
549 X_ATTRIBUTE8 => NULL,
550 X_ATTRIBUTE9 => NULL,
551 X_ATTRIBUTE10 => NULL,
552 X_ATTRIBUTE11 => NULL,
553 X_ATTRIBUTE12 => NULL,
554 X_ATTRIBUTE13 => NULL,
555 X_ATTRIBUTE14 => NULL,
556 X_ATTRIBUTE15 => NULL,
557 X_CREATION_DATE => sysdate,
558 X_CREATED_BY => f_luby,
559 X_LAST_UPDATE_DATE => f_ludate,
560 X_LAST_UPDATED_BY => f_luby,
561 X_LAST_UPDATE_LOGIN => 0);
562 end LOAD_ROW;
563
564 procedure TRANSLATE_ROW(
565 X_FLOW_ID in NUMBER,
566 X_FLOW_TYPE_PAGE_ID in NUMBER,
567 X_OWNER in VARCHAR2,
568 X_LAST_UPDATE_DATE in DATE,
569 X_ENABLED_FLAG in VARCHAR2,
570 X_PAGE_DISPLAY_NAME in VARCHAR2,
571 X_CUSTOM_MODE in VARCHAR2
572
573 ) IS
574
575 f_luby NUMBER;
576 f_ludate DATE;
577 db_luby NUMBER;
578 db_ludate DATE;
579
580 begin
581
582 -- Translate owner to file_last_updated_by
583 f_luby := fnd_load_util.owner_id(x_owner);
584
585 -- Translate char last_update_date to date
586 f_ludate := nvl(X_LAST_UPDATE_DATE, sysdate);
587
588 SELECT LAST_UPDATED_BY, LAST_UPDATE_DATE
589 into db_luby, db_ludate
590 from CS_CF_FLOW_PAGES_TL
591 where flow_id = X_FLOW_ID
592 and flow_type_page_id = X_FLOW_TYPE_PAGE_ID
593 and language = userenv('LANG');
594
595 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby, db_ludate, X_CUSTOM_MODE)) then
596 update CS_CF_FLOW_PAGES_TL set
597 PAGE_DISPLAY_NAME = nvl(X_PAGE_DISPLAY_NAME, PAGE_DISPLAY_NAME),
598 LAST_UPDATE_DATE = f_ludate,
599 LAST_UPDATED_BY = f_luby,
600 LAST_UPDATE_LOGIN = 0,
601 SOURCE_LANG = userenv('LANG')
602 where FLOW_ID = X_FLOW_ID
603 and FLOW_TYPE_PAGE_ID = X_FLOW_TYPE_PAGE_ID
604 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
605 end if;
606
607 end TRANSLATE_ROW;
608
609
610 end CS_CF_FLOW_PAGES_PKG;