DBA Data[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;