DBA Data[Home] [Help]

PACKAGE BODY: APPS.WMS_TASK_FILTER_PKG

Source


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