DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_CREDIT_TYPES_PKG

Source


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