DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_CF_FLOWS_PKG

Source


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