DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_INT_TYPE_PKG

Source


1 PACKAGE BODY CN_INT_TYPE_PKG AS
2 /* $Header: cntintvb.pls 120.1 2005/09/20 14:15:46 ymao noship $ */
3 --
4 -- Package Name
5 --   CN_INT_TYPE_PKG
6 -- Purpose
7 --   Table handler for CN_INTERVAL_TYPES
8 -- Form
9 --   CNINTTP
10 -- Block
11 --   INTERVAL_TYPES
12 --
13 -- History
14 --   16-Aug-99  Yonghong Mao  Created
15 
16 --/*--------------------------------------------------------------------------*
17 -- Prodedure Name
18 --  get_interval_type_id
19 -- Purpose
20 --  Get the sequence number to create a new interval type
21 -- *--------------------------------------------------------------------------*/
22 PROCEDURE get_interval_type_id( x_interval_type_id IN OUT NOCOPY NUMBER) IS
23 BEGIN
24    SELECT cn_interval_types_s.NEXTVAL
25      INTO x_interval_type_id
26      FROM dual;
27 END get_interval_type_id;
28 
29 procedure INSERT_ROW (
30   X_ROWID in out NOCOPY VARCHAR2,
31   X_INTERVAL_TYPE_ID in NUMBER,
32   X_DESCRIPTION in VARCHAR2,
33   X_ATTRIBUTE_CATEGORY in VARCHAR2,
34   X_ATTRIBUTE1 in VARCHAR2,
35   X_ATTRIBUTE2 in VARCHAR2,
36   X_ATTRIBUTE3 in VARCHAR2,
37   X_ATTRIBUTE4 in VARCHAR2,
38   X_ATTRIBUTE5 in VARCHAR2,
39   X_ATTRIBUTE6 in VARCHAR2,
40   X_ATTRIBUTE7 in VARCHAR2,
41   X_ATTRIBUTE8 in VARCHAR2,
42   X_ATTRIBUTE9 in VARCHAR2,
43   X_ATTRIBUTE10 in VARCHAR2,
44   X_ATTRIBUTE11 in VARCHAR2,
45   X_ATTRIBUTE12 in VARCHAR2,
46   X_ATTRIBUTE13 in VARCHAR2,
47   X_ATTRIBUTE14 in VARCHAR2,
48   X_ATTRIBUTE15 in VARCHAR2,
49   X_NAME in VARCHAR2,
50   X_CREATION_DATE in DATE,
51   X_CREATED_BY in NUMBER,
52   X_LAST_UPDATE_DATE in DATE,
53   X_LAST_UPDATED_BY in NUMBER,
54   X_LAST_UPDATE_LOGIN in NUMBER,
55   X_ORG_ID in NUMBER
56 ) is
57   cursor C is select ROWID from CN_INTERVAL_TYPES_ALL_B
58     where INTERVAL_TYPE_ID = X_INTERVAL_TYPE_ID
59       and ORG_ID = X_ORG_ID
60     ;
61 begin
62   insert into CN_INTERVAL_TYPES_ALL_B (
63     INTERVAL_TYPE_ID,
64     DESCRIPTION,
65     ATTRIBUTE_CATEGORY,
66     ATTRIBUTE1,
67     ATTRIBUTE2,
68     ATTRIBUTE3,
69     ATTRIBUTE4,
70     ATTRIBUTE5,
71     ATTRIBUTE6,
72     ATTRIBUTE7,
73     ATTRIBUTE8,
74     ATTRIBUTE9,
75     ATTRIBUTE10,
76     ATTRIBUTE11,
77     ATTRIBUTE12,
78     ATTRIBUTE13,
79     ATTRIBUTE14,
80     ATTRIBUTE15,
81     CREATION_DATE,
82     CREATED_BY,
83     LAST_UPDATE_DATE,
84     LAST_UPDATED_BY,
85     LAST_UPDATE_LOGIN,
86     ORG_ID
87   ) values (
88     X_INTERVAL_TYPE_ID,
89     X_DESCRIPTION,
90     X_ATTRIBUTE_CATEGORY,
91     X_ATTRIBUTE1,
92     X_ATTRIBUTE2,
93     X_ATTRIBUTE3,
94     X_ATTRIBUTE4,
95     X_ATTRIBUTE5,
96     X_ATTRIBUTE6,
97     X_ATTRIBUTE7,
98     X_ATTRIBUTE8,
99     X_ATTRIBUTE9,
100     X_ATTRIBUTE10,
101     X_ATTRIBUTE11,
102     X_ATTRIBUTE12,
103     X_ATTRIBUTE13,
104     X_ATTRIBUTE14,
105     X_ATTRIBUTE15,
106     X_CREATION_DATE,
107     X_CREATED_BY,
108     X_LAST_UPDATE_DATE,
109     X_LAST_UPDATED_BY,
110     X_LAST_UPDATE_LOGIN,
111     X_ORG_ID
112   );
113 
114   insert into CN_INTERVAL_TYPES_ALL_TL (
115     INTERVAL_TYPE_ID,
116     NAME,
117     CREATED_BY,
118     CREATION_DATE,
119     LAST_UPDATED_BY,
120     LAST_UPDATE_DATE,
121     LAST_UPDATE_LOGIN,
122     LANGUAGE,
123     SOURCE_LANG,
124     ORG_ID
125   ) select
126     X_INTERVAL_TYPE_ID,
127     X_NAME,
128     X_CREATED_BY,
129     X_CREATION_DATE,
130     X_LAST_UPDATED_BY,
131     X_LAST_UPDATE_DATE,
132     X_LAST_UPDATE_LOGIN,
133     L.LANGUAGE_CODE,
134     userenv('LANG'),
135     X_ORG_ID
136   from FND_LANGUAGES L
137   where L.INSTALLED_FLAG in ('I', 'B')
138   and not exists
139     (select NULL
140     from CN_INTERVAL_TYPES_ALL_TL T
141     where T.INTERVAL_TYPE_ID = X_INTERVAL_TYPE_ID
142     and T.LANGUAGE = L.LANGUAGE_CODE
143 	and T.ORG_ID = X_ORG_ID);
144 
145   open c;
146   fetch c into X_ROWID;
147   if (c%notfound) then
148     close c;
149     raise no_data_found;
150   end if;
151   close c;
152 
153 end INSERT_ROW;
154 
155 procedure LOCK_ROW (
156   X_INTERVAL_TYPE_ID in NUMBER,
157   X_DESCRIPTION in VARCHAR2,
158   X_ATTRIBUTE_CATEGORY in VARCHAR2,
159   X_ATTRIBUTE1 in VARCHAR2,
160   X_ATTRIBUTE2 in VARCHAR2,
161   X_ATTRIBUTE3 in VARCHAR2,
162   X_ATTRIBUTE4 in VARCHAR2,
163   X_ATTRIBUTE5 in VARCHAR2,
164   X_ATTRIBUTE6 in VARCHAR2,
165   X_ATTRIBUTE7 in VARCHAR2,
166   X_ATTRIBUTE8 in VARCHAR2,
167   X_ATTRIBUTE9 in VARCHAR2,
168   X_ATTRIBUTE10 in VARCHAR2,
169   X_ATTRIBUTE11 in VARCHAR2,
170   X_ATTRIBUTE12 in VARCHAR2,
171   X_ATTRIBUTE13 in VARCHAR2,
172   X_ATTRIBUTE14 in VARCHAR2,
173   X_ATTRIBUTE15 in VARCHAR2,
174   X_NAME in VARCHAR2,
175   X_ORG_ID in NUMBER
176 ) is
177   cursor c is select
178       DESCRIPTION,
179       ATTRIBUTE_CATEGORY,
180       ATTRIBUTE1,
181       ATTRIBUTE2,
182       ATTRIBUTE3,
183       ATTRIBUTE4,
184       ATTRIBUTE5,
185       ATTRIBUTE6,
186       ATTRIBUTE7,
187       ATTRIBUTE8,
188       ATTRIBUTE9,
189       ATTRIBUTE10,
190       ATTRIBUTE11,
191       ATTRIBUTE12,
192       ATTRIBUTE13,
193       ATTRIBUTE14,
194       ATTRIBUTE15
195     from CN_INTERVAL_TYPES_ALL_B
196     where INTERVAL_TYPE_ID = X_INTERVAL_TYPE_ID
197       and ORG_ID = nvl(X_ORG_ID, ORG_ID)
198     for update of INTERVAL_TYPE_ID nowait;
199   recinfo c%rowtype;
200 
201   cursor c1 is select
202       NAME,
203       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
204     from CN_INTERVAL_TYPES_ALL_TL
205     where INTERVAL_TYPE_ID = X_INTERVAL_TYPE_ID
206     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
207     for update of INTERVAL_TYPE_ID nowait;
208 begin
209   open c;
210   fetch c into recinfo;
211   if (c%notfound) then
212     close c;
213     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
214     app_exception.raise_exception;
215   end if;
216   close c;
217   if (    ((recinfo.DESCRIPTION = X_DESCRIPTION)
218            OR ((recinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
219       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
220            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
221       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
222            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
223       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
224            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
225       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
226            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
227       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
228            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
229       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
230            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
231       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
232            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
233       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
234            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
235       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
236            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
237       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
238            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
239       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
240            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
241       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
242            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
243       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
244            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
245       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
246            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
247       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
248            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
249       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
250            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
251   ) then
252     null;
253   else
254     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
255     app_exception.raise_exception;
256   end if;
257 
258   for tlinfo in c1 loop
259     if (tlinfo.BASELANG = 'Y') then
260       if (    (tlinfo.NAME = X_NAME)
261       ) then
262         null;
263       else
264         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
265         app_exception.raise_exception;
266       end if;
267     end if;
268   end loop;
269   return;
270 end LOCK_ROW;
271 
272 procedure UPDATE_ROW (
273   X_INTERVAL_TYPE_ID in NUMBER,
274   X_DESCRIPTION in VARCHAR2,
275   X_ATTRIBUTE_CATEGORY in VARCHAR2,
276   X_ATTRIBUTE1 in VARCHAR2,
277   X_ATTRIBUTE2 in VARCHAR2,
278   X_ATTRIBUTE3 in VARCHAR2,
279   X_ATTRIBUTE4 in VARCHAR2,
280   X_ATTRIBUTE5 in VARCHAR2,
281   X_ATTRIBUTE6 in VARCHAR2,
282   X_ATTRIBUTE7 in VARCHAR2,
283   X_ATTRIBUTE8 in VARCHAR2,
284   X_ATTRIBUTE9 in VARCHAR2,
285   X_ATTRIBUTE10 in VARCHAR2,
286   X_ATTRIBUTE11 in VARCHAR2,
287   X_ATTRIBUTE12 in VARCHAR2,
288   X_ATTRIBUTE13 in VARCHAR2,
289   X_ATTRIBUTE14 in VARCHAR2,
290   X_ATTRIBUTE15 in VARCHAR2,
291   X_NAME in VARCHAR2,
292   X_LAST_UPDATE_DATE in DATE,
293   X_LAST_UPDATED_BY in NUMBER,
294   X_LAST_UPDATE_LOGIN in NUMBER,
295   X_ORG_ID in NUMBER
296 ) is
297 begin
298   update CN_INTERVAL_TYPES_ALL_B set
299     DESCRIPTION = X_DESCRIPTION,
300     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
301     ATTRIBUTE1 = X_ATTRIBUTE1,
302     ATTRIBUTE2 = X_ATTRIBUTE2,
303     ATTRIBUTE3 = X_ATTRIBUTE3,
304     ATTRIBUTE4 = X_ATTRIBUTE4,
305     ATTRIBUTE5 = X_ATTRIBUTE5,
306     ATTRIBUTE6 = X_ATTRIBUTE6,
307     ATTRIBUTE7 = X_ATTRIBUTE7,
308     ATTRIBUTE8 = X_ATTRIBUTE8,
309     ATTRIBUTE9 = X_ATTRIBUTE9,
310     ATTRIBUTE10 = X_ATTRIBUTE10,
311     ATTRIBUTE11 = X_ATTRIBUTE11,
312     ATTRIBUTE12 = X_ATTRIBUTE12,
313     ATTRIBUTE13 = X_ATTRIBUTE13,
314     ATTRIBUTE14 = X_ATTRIBUTE14,
315     ATTRIBUTE15 = X_ATTRIBUTE15,
316     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
317     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
318     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
319   where INTERVAL_TYPE_ID = X_INTERVAL_TYPE_ID
320     and ORG_ID = nvl(X_ORG_ID, ORG_ID);
321 
322   if (sql%notfound) then
323     raise no_data_found;
324   end if;
325 
326   update CN_INTERVAL_TYPES_ALL_TL set
327     NAME = X_NAME,
328     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
329     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
330     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
331     SOURCE_LANG = userenv('LANG')
332   where INTERVAL_TYPE_ID = X_INTERVAL_TYPE_ID
333   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
334 
335   if (sql%notfound) then
336     raise no_data_found;
337   end if;
338 end UPDATE_ROW;
339 
340 procedure DELETE_ROW (
341   X_INTERVAL_TYPE_ID in NUMBER
342 ) is
343 begin
344   delete from CN_INTERVAL_TYPES_ALL_TL
345   where INTERVAL_TYPE_ID = X_INTERVAL_TYPE_ID;
346 
347   if (sql%notfound) then
348     raise no_data_found;
349   end if;
350 
351   delete from CN_INTERVAL_TYPES_ALL_B
352   where INTERVAL_TYPE_ID = X_INTERVAL_TYPE_ID;
353 
354   if (sql%notfound) then
355     raise no_data_found;
356   end if;
357 end DELETE_ROW;
358 
359 procedure ADD_LANGUAGE
360 is
361 begin
362   delete from CN_INTERVAL_TYPES_ALL_TL T
363   where not exists
364     (select NULL
365     from CN_INTERVAL_TYPES_ALL_B B
366     where B.INTERVAL_TYPE_ID = T.interval_type_id
367     and   B.ORG_ID = T.ORG_ID
368     );
369 
370   update CN_INTERVAL_TYPES_ALL_TL T set (
371       NAME
372     ) = (select
373       B.NAME
374     from CN_INTERVAL_TYPES_ALL_TL B
375     where B.INTERVAL_TYPE_ID = T.INTERVAL_TYPE_ID
376     and B.LANGUAGE = T.source_lang
377     and   B.ORG_ID = T.ORG_ID)
378   where (
379       T.INTERVAL_TYPE_ID,
380       T.LANGUAGE
381   ) in (select
382       SUBT.INTERVAL_TYPE_ID,
383       SUBT.LANGUAGE
384     from CN_INTERVAL_TYPES_ALL_TL SUBB, CN_INTERVAL_TYPES_ALL_TL SUBT
385     where SUBB.INTERVAL_TYPE_ID = SUBT.INTERVAL_TYPE_ID
386     and SUBB.LANGUAGE = SUBT.source_lang
387     and   SUBB.ORG_ID =SUBT.ORG_ID
388     and (SUBB.NAME <> SUBT.NAME
389       or (SUBB.NAME is null and SUBT.NAME is not null)
390       or (SUBB.NAME is not null and SUBT.NAME is null)
391 	 ));
392 
393   insert into CN_INTERVAL_TYPES_ALL_TL (
394     ORG_ID,
395     INTERVAL_TYPE_ID,
396     NAME,
397     CREATED_BY,
398     CREATION_DATE,
399     LAST_UPDATED_BY,
400     LAST_UPDATE_DATE,
401     LAST_UPDATE_LOGIN,
402     LANGUAGE,
403     SOURCE_LANG
404   ) select
405     B.ORG_ID,
406     B.INTERVAL_TYPE_ID,
407     B.NAME,
408     B.CREATED_BY,
409     B.CREATION_DATE,
410     B.LAST_UPDATED_BY,
411     B.LAST_UPDATE_DATE,
412     B.LAST_UPDATE_LOGIN,
413     L.LANGUAGE_CODE,
414     B.SOURCE_LANG
415   from CN_INTERVAL_TYPES_ALL_TL B, FND_LANGUAGES L
416   where L.INSTALLED_FLAG in ('I', 'B')
417   and B.LANGUAGE = userenv('LANG')
418   and not exists
419     (select NULL
420     from CN_INTERVAL_TYPES_ALL_TL T
421     where T.INTERVAL_TYPE_ID = B.INTERVAL_TYPE_ID
422     and T.LANGUAGE = L.language_code
423     and   T.ORG_ID = B.ORG_ID  );
424 end ADD_LANGUAGE;
425 
426 --/*--------------------------------------------------------------------------*
427 -- Prodedure Name
428 --  post_insert
429 -- Purpose
430 --  Populate the table cn_cal_per_int_types after creating an interval type
431 -- *--------------------------------------------------------------------------*/
432 PROCEDURE post_insert
433   ( x_interval_type_id        cn_interval_types.interval_type_id%TYPE,
434     x_last_update_date        cn_interval_types.last_update_date%TYPE,
435     x_last_updated_by         cn_interval_types.last_updated_by%TYPE,
436     x_creation_date           cn_interval_types.creation_date%TYPE,
437     x_created_by              cn_interval_types.created_by%TYPE,
438     x_last_update_login       cn_interval_types.last_update_login%TYPE,
439     x_org_id                  cn_interval_types.org_id%TYPE
440     ) IS
441    l_period_set_id            NUMBER;
442    l_period_type_id           NUMBER;
443    l_period_id                NUMBER;
444    l_cal_per_int_type_id      NUMBER;
445 
446    CURSOR c IS
447       SELECT period_id
448 	FROM cn_period_statuses_all
449 	WHERE period_type_id = l_period_type_id
450 	  AND period_set_id = l_period_set_id
451 	  AND org_id = x_org_id;
452 BEGIN
453    SELECT period_set_id, period_type_id
454      INTO l_period_set_id, l_period_type_id
455      FROM cn_repositories_all
456     WHERE org_id = x_org_id;
457 
458    OPEN c;
459    LOOP
460       FETCH c INTO l_period_id;
461       EXIT WHEN c%notfound;
462 
463       l_cal_per_int_type_id := null;
464       cn_int_assign_pkg.insert_row
465 	(x_cal_per_int_type_id => l_cal_per_int_type_id,
466 	 x_interval_type_id    => x_interval_type_id,
467 	 x_cal_period_id       => l_period_id,
468 	 x_interval_number     => 1,
472 	 x_created_by          => x_created_by,
469 	 x_last_update_date    => x_last_update_date,
470 	 x_last_updated_by     => x_last_updated_by,
471 	 x_creation_date       => x_creation_date,
473 	 x_last_update_login   => x_last_update_login,
474 	 x_org_id              => x_org_id
475 	 );
476 
477    END LOOP;
478    CLOSE c;
479 
480 END post_insert;
481 
482 
483 --/*--------------------------------------------------------------------------*
484 -- Prodedure Name
485 --  post_delete
486 -- Purpose
487 --  Delete the corresponding records in cn_cal_per_int_types after deleting an interval type
488 -- *--------------------------------------------------------------------------*/
489 PROCEDURE post_delete( x_interval_type_id  cn_interval_types.interval_type_id%TYPE) IS
490 BEGIN
491    DELETE FROM cn_cal_per_int_types_all
492      WHERE interval_type_id = x_interval_type_id;
493 EXCEPTION
494    WHEN no_data_found THEN
495       RETURN;
496    WHEN OTHERS THEN
497      app_exception.raise_exception;
498 END post_delete;
499 -- --------------------------------------------------------------------+
500 -- Procedure : LOAD_ROW
501 -- Description : Called by FNDLOAD to upload seed datas, this procedure
502 --    only handle seed datas. ORG_ID = -3113
503 -- --------------------------------------------------------------------+
504 PROCEDURE LOAD_ROW
505   ( x_interval_type_id IN NUMBER,
506     x_description IN VARCHAR2,
507     x_name IN VARCHAR2,
508     x_owner IN VARCHAR2,
509 	x_org_id IN NUMBER)
510 IS
511     user_id NUMBER;
512 BEGIN
513    -- Validate input data
514    IF (x_interval_type_id IS NULL) OR (x_name IS NULL) THEN
515       GOTO end_load_row;
516    END IF;
517 
518    IF (x_owner IS NOT NULL) AND (x_owner = 'SEED') THEN
519       user_id := 1;
520     ELSE
521       user_id := 0;
522    END IF;
523    -- Load The record to _B table
524    UPDATE  cn_interval_types_all_b SET
525      description = x_description,
526      last_update_date = sysdate,
527      last_updated_by = user_id,
528      last_update_login = 0
529    WHERE interval_type_id = x_interval_type_id;
530 
531    IF (SQL%NOTFOUND) THEN
532       -- Insert new record to _B table
533      INSERT INTO cn_interval_types_all_b
534 	(interval_type_id,
535 	 description,
536 	 creation_date,
537 	 created_by,
538 	 last_update_date,
539 	 last_updated_by,
540 	 last_update_login,
541 	 org_id
542 	 ) VALUES
543 	(x_interval_type_id,
544 	 x_description,
545 	 sysdate,
546 	 user_id,
547 	 sysdate,
548 	 user_id,
549 	 0,
550 	 x_org_id
551 	 );
552    END IF;
553    -- Load The record to _TL table
554    UPDATE cn_interval_types_all_tl SET
555      name = x_name,
556      last_update_date = sysdate,
557      last_updated_by = user_id,
558      last_update_login = 0,
559      source_lang = userenv('LANG')
560      WHERE interval_type_id = x_interval_type_id
561      AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
562 
563    IF (SQL%NOTFOUND) THEN
564       -- Insert new record to _TL table
565       INSERT INTO cn_interval_types_all_tl
566 	(interval_type_id,
567 	 name,
568 	 creation_date,
569 	 created_by,
570 	 last_update_date,
571 	 last_updated_by,
572 	 last_update_login,
573 	 language,
574 	 source_lang,
575 	 org_id)
576 	SELECT
577 	x_interval_type_id,
578 	x_name,
579 	sysdate,
580 	user_id,
581 	sysdate,
582 	user_id,
583 	0,
584 	l.language_code,
585 	userenv('LANG'),
586 	x_org_id
587 	FROM fnd_languages l
588 	WHERE l.installed_flag IN ('I', 'B')
589 	AND NOT EXISTS
590 	(SELECT NULL
591 	 FROM cn_interval_types_all_tl t
592 	 WHERE t.interval_type_id = x_interval_type_id
593 	 AND t.language = l.language_code
594 	 and t.org_id = x_org_id);
595    END IF;
596    << end_load_row >>
597      NULL;
598 END LOAD_ROW ;
599 
600 -- --------------------------------------------------------------------+
601 -- Procedure : TRANSLATE_ROW
602 -- Description : Called by FNDLOAD to translate seed datas, this procedure
603 --    only handle seed datas. ORG_ID = -3113
604 -- --------------------------------------------------------------------+
605 PROCEDURE TRANSLATE_ROW
606   ( x_interval_type_id IN NUMBER,
607     x_name IN VARCHAR2,
608     x_owner IN VARCHAR2)
609 IS
610     user_id NUMBER;
611 BEGIN
612     -- Validate input data
613    IF (x_interval_type_id IS NULL) OR (x_name IS NULL) THEN
614       GOTO end_translate_row;
615    END IF;
616 
617    IF (x_owner IS NOT NULL) AND (x_owner = 'SEED') THEN
618       user_id := 1;
619     ELSE
620       user_id := 0;
621    END IF;
622    -- Update the translation
623    UPDATE cn_interval_types_all_tl SET
624      name = x_name,
625      last_update_date = sysdate,
626      last_updated_by = user_id,
627      last_update_login = 0,
628      source_lang = userenv('LANG')
629      WHERE interval_type_id = x_interval_type_id
630      AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
631 
632    << end_translate_row >>
633      NULL;
634 END TRANSLATE_ROW ;
635 
636 END CN_INT_TYPE_PKG;