[Home] [Help]
PACKAGE BODY: APPS.RA_TERMS_TABLE_HANDLER
Source
1 package body RA_TERMS_TABLE_HANDLER as
2 /* $Header: ARPRTMSB.pls 120.2 2006/01/20 18:44:44 jypandey ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_TERM_ID in NUMBER,
6 X_CREDIT_CHECK_FLAG in VARCHAR2,
7 X_PREPAYMENT_FLAG in VARCHAR2,
8 X_BILLING_CYCLE_ID in NUMBER,
9 X_PRINTING_LEAD_DAYS in NUMBER,
10 X_START_DATE_ACTIVE in DATE,
11 X_END_DATE_ACTIVE in DATE,
12 X_ATTRIBUTE_CATEGORY in VARCHAR2,
13 X_ATTRIBUTE1 in VARCHAR2,
14 X_ATTRIBUTE2 in VARCHAR2,
15 X_ATTRIBUTE3 in VARCHAR2,
16 X_ATTRIBUTE4 in VARCHAR2,
17 X_ATTRIBUTE5 in VARCHAR2,
18 X_ATTRIBUTE6 in VARCHAR2,
19 X_ATTRIBUTE7 in VARCHAR2,
20 X_ATTRIBUTE8 in VARCHAR2,
21 X_ATTRIBUTE9 in VARCHAR2,
22 X_ATTRIBUTE10 in VARCHAR2,
23 X_BASE_AMOUNT in NUMBER,
24 X_CALC_DISCOUNT_ON_LINES_FLAG in VARCHAR2,
25 X_FIRST_INSTALLMENT_CODE in VARCHAR2,
26 X_IN_USE in VARCHAR2,
27 X_PARTIAL_DISCOUNT_FLAG in VARCHAR2,
28 X_ATTRIBUTE11 in VARCHAR2,
29 X_ATTRIBUTE12 in VARCHAR2,
30 X_ATTRIBUTE13 in VARCHAR2,
31 X_ATTRIBUTE14 in VARCHAR2,
32 X_ATTRIBUTE15 in VARCHAR2,
33 X_NAME in VARCHAR2,
34 X_DESCRIPTION in VARCHAR2,
35 X_CREATION_DATE in DATE,
36 X_CREATED_BY in NUMBER,
37 X_LAST_UPDATE_DATE in DATE,
38 X_LAST_UPDATED_BY in NUMBER,
39 X_LAST_UPDATE_LOGIN in NUMBER
40 ) is
41 cursor C is select ROWID from RA_TERMS_B
42 where TERM_ID = X_TERM_ID
43 ;
44 begin
45 insert into RA_TERMS_B (
46 TERM_ID,
47 CREDIT_CHECK_FLAG,
48 PREPAYMENT_FLAG,
49 BILLING_CYCLE_ID,
50 PRINTING_LEAD_DAYS,
51 START_DATE_ACTIVE,
52 END_DATE_ACTIVE,
53 ATTRIBUTE_CATEGORY,
54 ATTRIBUTE1,
55 ATTRIBUTE2,
56 ATTRIBUTE3,
57 ATTRIBUTE4,
58 ATTRIBUTE5,
59 ATTRIBUTE6,
60 ATTRIBUTE7,
61 ATTRIBUTE8,
62 ATTRIBUTE9,
63 ATTRIBUTE10,
64 BASE_AMOUNT,
65 CALC_DISCOUNT_ON_LINES_FLAG,
66 FIRST_INSTALLMENT_CODE,
67 IN_USE,
68 PARTIAL_DISCOUNT_FLAG,
69 ATTRIBUTE11,
70 ATTRIBUTE12,
71 ATTRIBUTE13,
72 ATTRIBUTE14,
73 ATTRIBUTE15,
74 CREATION_DATE,
75 CREATED_BY,
76 LAST_UPDATE_DATE,
77 LAST_UPDATED_BY,
78 LAST_UPDATE_LOGIN
79 ) values (
80 X_TERM_ID,
81 X_CREDIT_CHECK_FLAG,
82 X_PREPAYMENT_FLAG,
83 X_BILLING_CYCLE_ID,
84 X_PRINTING_LEAD_DAYS,
85 X_START_DATE_ACTIVE,
86 X_END_DATE_ACTIVE,
87 X_ATTRIBUTE_CATEGORY,
88 X_ATTRIBUTE1,
89 X_ATTRIBUTE2,
90 X_ATTRIBUTE3,
91 X_ATTRIBUTE4,
92 X_ATTRIBUTE5,
93 X_ATTRIBUTE6,
94 X_ATTRIBUTE7,
95 X_ATTRIBUTE8,
96 X_ATTRIBUTE9,
97 X_ATTRIBUTE10,
98 X_BASE_AMOUNT,
99 X_CALC_DISCOUNT_ON_LINES_FLAG,
100 X_FIRST_INSTALLMENT_CODE,
101 X_IN_USE,
102 X_PARTIAL_DISCOUNT_FLAG,
103 X_ATTRIBUTE11,
104 X_ATTRIBUTE12,
105 X_ATTRIBUTE13,
106 X_ATTRIBUTE14,
107 X_ATTRIBUTE15,
108 X_CREATION_DATE,
109 X_CREATED_BY,
110 X_LAST_UPDATE_DATE,
111 X_LAST_UPDATED_BY,
112 X_LAST_UPDATE_LOGIN
113 );
114
115 insert into RA_TERMS_TL (
116 TERM_ID,
117 DESCRIPTION,
118 NAME,
119 LAST_UPDATE_DATE,
120 CREATION_DATE,
121 CREATED_BY,
122 LAST_UPDATED_BY,
123 LAST_UPDATE_LOGIN,
124 LANGUAGE,
125 SOURCE_LANG
126 ) select
127 X_TERM_ID,
128 X_DESCRIPTION,
129 X_NAME,
130 X_LAST_UPDATE_DATE,
131 X_CREATION_DATE,
132 X_CREATED_BY,
133 X_LAST_UPDATED_BY,
134 X_LAST_UPDATE_LOGIN,
135 L.LANGUAGE_CODE,
136 userenv('LANG')
137 from FND_LANGUAGES L
138 where L.INSTALLED_FLAG in ('I', 'B')
139 and not exists
140 (select NULL
141 from RA_TERMS_TL T
142 where T.TERM_ID = X_TERM_ID
143 and T.LANGUAGE = L.LANGUAGE_CODE);
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_TERM_ID in NUMBER,
157 X_CREDIT_CHECK_FLAG in VARCHAR2,
158 X_PREPAYMENT_FLAG in VARCHAR2,
159 X_BILLING_CYCLE_ID in NUMBER,
160 X_PRINTING_LEAD_DAYS in NUMBER,
161 X_START_DATE_ACTIVE in DATE,
162 X_END_DATE_ACTIVE in DATE,
163 X_ATTRIBUTE_CATEGORY in VARCHAR2,
164 X_ATTRIBUTE1 in VARCHAR2,
165 X_ATTRIBUTE2 in VARCHAR2,
166 X_ATTRIBUTE3 in VARCHAR2,
167 X_ATTRIBUTE4 in VARCHAR2,
168 X_ATTRIBUTE5 in VARCHAR2,
169 X_ATTRIBUTE6 in VARCHAR2,
170 X_ATTRIBUTE7 in VARCHAR2,
171 X_ATTRIBUTE8 in VARCHAR2,
172 X_ATTRIBUTE9 in VARCHAR2,
173 X_ATTRIBUTE10 in VARCHAR2,
174 X_BASE_AMOUNT in NUMBER,
175 X_CALC_DISCOUNT_ON_LINES_FLAG in VARCHAR2,
176 X_FIRST_INSTALLMENT_CODE in VARCHAR2,
177 X_IN_USE in VARCHAR2,
178 X_PARTIAL_DISCOUNT_FLAG in VARCHAR2,
179 X_ATTRIBUTE11 in VARCHAR2,
180 X_ATTRIBUTE12 in VARCHAR2,
181 X_ATTRIBUTE13 in VARCHAR2,
182 X_ATTRIBUTE14 in VARCHAR2,
183 X_ATTRIBUTE15 in VARCHAR2,
184 X_NAME in VARCHAR2,
185 X_DESCRIPTION in VARCHAR2
186 ) is
187 --nvl added for prepayment_flag because this can contain null for existing records
188 cursor c is select
189 CREDIT_CHECK_FLAG,
190 NVL(PREPAYMENT_FLAG,'N') PREPAYMENT_FLAG,
191 BILLING_CYCLE_ID,
192 PRINTING_LEAD_DAYS,
193 START_DATE_ACTIVE,
194 END_DATE_ACTIVE,
195 ATTRIBUTE_CATEGORY,
196 ATTRIBUTE1,
197 ATTRIBUTE2,
198 ATTRIBUTE3,
199 ATTRIBUTE4,
200 ATTRIBUTE5,
201 ATTRIBUTE6,
202 ATTRIBUTE7,
203 ATTRIBUTE8,
204 ATTRIBUTE9,
205 ATTRIBUTE10,
206 BASE_AMOUNT,
207 CALC_DISCOUNT_ON_LINES_FLAG,
208 FIRST_INSTALLMENT_CODE,
209 IN_USE,
210 PARTIAL_DISCOUNT_FLAG,
211 ATTRIBUTE11,
212 ATTRIBUTE12,
213 ATTRIBUTE13,
214 ATTRIBUTE14,
215 ATTRIBUTE15
216 from RA_TERMS_B
217 where TERM_ID = X_TERM_ID
218 for update of TERM_ID nowait;
219 recinfo c%rowtype;
220
221 cursor c1 is select
222 NAME,
223 DESCRIPTION,
224 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
225 from RA_TERMS_TL
226 where TERM_ID = X_TERM_ID
227 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
228 for update of TERM_ID nowait;
229 begin
230 open c;
231 fetch c into recinfo;
232 if (c%notfound) then
233 close c;
234 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
235 app_exception.raise_exception;
236 end if;
237 close c;
238 if ( ((recinfo.CREDIT_CHECK_FLAG = X_CREDIT_CHECK_FLAG)
239 OR ((recinfo.CREDIT_CHECK_FLAG is null) AND (X_CREDIT_CHECK_FLAG is null)))
240 AND ((recinfo.PREPAYMENT_FLAG = X_PREPAYMENT_FLAG)
241 OR ((recinfo.PREPAYMENT_FLAG is null) AND (X_PREPAYMENT_FLAG is null)))
242 AND ((recinfo.BILLING_CYCLE_ID = X_BILLING_CYCLE_ID)
243 OR ((recinfo.BILLING_CYCLE_ID is null) AND (X_BILLING_CYCLE_ID is null)))
244 AND ((recinfo.PRINTING_LEAD_DAYS = X_PRINTING_LEAD_DAYS)
245 OR ((recinfo.PRINTING_LEAD_DAYS is null) AND (X_PRINTING_LEAD_DAYS is null)))
246 AND (recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
247 AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
248 OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
249 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
250 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
251 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
252 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
253 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
254 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
255 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
256 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
257 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
258 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
259 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
260 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
261 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
262 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
263 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
264 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
265 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
266 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
267 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
268 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
269 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
270 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
271 AND (recinfo.BASE_AMOUNT = X_BASE_AMOUNT)
272 AND (recinfo.CALC_DISCOUNT_ON_LINES_FLAG = X_CALC_DISCOUNT_ON_LINES_FLAG)
273 AND (recinfo.FIRST_INSTALLMENT_CODE = X_FIRST_INSTALLMENT_CODE)
274 AND (recinfo.IN_USE = X_IN_USE)
275 AND (recinfo.PARTIAL_DISCOUNT_FLAG = X_PARTIAL_DISCOUNT_FLAG)
276 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
277 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
278 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
279 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
280 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
281 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
282 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
283 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
284 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
285 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
286 ) then
287 null;
288 else
289 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
290 app_exception.raise_exception;
291 end if;
292
293 for tlinfo in c1 loop
294 if (tlinfo.BASELANG = 'Y') then
295 if ( (tlinfo.NAME = X_NAME)
296 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
297 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
298 ) then
299 null;
300 else
301 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
302 app_exception.raise_exception;
303 end if;
304 end if;
305 end loop;
306 return;
307 end LOCK_ROW;
308
309 procedure UPDATE_ROW (
310 X_TERM_ID in NUMBER,
311 X_CREDIT_CHECK_FLAG in VARCHAR2,
312 X_PREPAYMENT_FLAG in VARCHAR2,
313 X_BILLING_CYCLE_ID in NUMBER,
314 X_PRINTING_LEAD_DAYS in NUMBER,
315 X_START_DATE_ACTIVE in DATE,
316 X_END_DATE_ACTIVE in DATE,
317 X_ATTRIBUTE_CATEGORY in VARCHAR2,
318 X_ATTRIBUTE1 in VARCHAR2,
319 X_ATTRIBUTE2 in VARCHAR2,
320 X_ATTRIBUTE3 in VARCHAR2,
321 X_ATTRIBUTE4 in VARCHAR2,
322 X_ATTRIBUTE5 in VARCHAR2,
323 X_ATTRIBUTE6 in VARCHAR2,
324 X_ATTRIBUTE7 in VARCHAR2,
325 X_ATTRIBUTE8 in VARCHAR2,
326 X_ATTRIBUTE9 in VARCHAR2,
327 X_ATTRIBUTE10 in VARCHAR2,
328 X_BASE_AMOUNT in NUMBER,
329 X_CALC_DISCOUNT_ON_LINES_FLAG in VARCHAR2,
330 X_FIRST_INSTALLMENT_CODE in VARCHAR2,
331 X_IN_USE in VARCHAR2,
332 X_PARTIAL_DISCOUNT_FLAG in VARCHAR2,
333 X_ATTRIBUTE11 in VARCHAR2,
334 X_ATTRIBUTE12 in VARCHAR2,
335 X_ATTRIBUTE13 in VARCHAR2,
336 X_ATTRIBUTE14 in VARCHAR2,
337 X_ATTRIBUTE15 in VARCHAR2,
338 X_NAME in VARCHAR2,
339 X_DESCRIPTION in VARCHAR2,
340 X_LAST_UPDATE_DATE in DATE,
341 X_LAST_UPDATED_BY in NUMBER,
342 X_LAST_UPDATE_LOGIN in NUMBER
343 ) is
344 begin
345 update RA_TERMS_B set
346 CREDIT_CHECK_FLAG = X_CREDIT_CHECK_FLAG,
347 PREPAYMENT_FLAG = X_PREPAYMENT_FLAG,
348 BILLING_CYCLE_ID = X_BILLING_CYCLE_ID,
349 PRINTING_LEAD_DAYS = X_PRINTING_LEAD_DAYS,
350 START_DATE_ACTIVE = X_START_DATE_ACTIVE,
351 END_DATE_ACTIVE = X_END_DATE_ACTIVE,
352 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
353 ATTRIBUTE1 = X_ATTRIBUTE1,
354 ATTRIBUTE2 = X_ATTRIBUTE2,
355 ATTRIBUTE3 = X_ATTRIBUTE3,
356 ATTRIBUTE4 = X_ATTRIBUTE4,
357 ATTRIBUTE5 = X_ATTRIBUTE5,
358 ATTRIBUTE6 = X_ATTRIBUTE6,
359 ATTRIBUTE7 = X_ATTRIBUTE7,
360 ATTRIBUTE8 = X_ATTRIBUTE8,
361 ATTRIBUTE9 = X_ATTRIBUTE9,
362 ATTRIBUTE10 = X_ATTRIBUTE10,
363 BASE_AMOUNT = X_BASE_AMOUNT,
364 CALC_DISCOUNT_ON_LINES_FLAG = X_CALC_DISCOUNT_ON_LINES_FLAG,
365 FIRST_INSTALLMENT_CODE = X_FIRST_INSTALLMENT_CODE,
366 IN_USE = X_IN_USE,
367 PARTIAL_DISCOUNT_FLAG = X_PARTIAL_DISCOUNT_FLAG,
368 ATTRIBUTE11 = X_ATTRIBUTE11,
369 ATTRIBUTE12 = X_ATTRIBUTE12,
370 ATTRIBUTE13 = X_ATTRIBUTE13,
371 ATTRIBUTE14 = X_ATTRIBUTE14,
372 ATTRIBUTE15 = X_ATTRIBUTE15,
373 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
374 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
375 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
376 where TERM_ID = X_TERM_ID;
377
378 if (sql%notfound) then
379 raise no_data_found;
380 end if;
381
382 update RA_TERMS_TL set
383 NAME = X_NAME,
384 DESCRIPTION = X_DESCRIPTION,
385 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
386 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
387 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
388 SOURCE_LANG = userenv('LANG')
389 where TERM_ID = X_TERM_ID
390 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
391
392 if (sql%notfound) then
393 raise no_data_found;
394 end if;
395 end UPDATE_ROW;
396
397 procedure DELETE_ROW (
398 X_TERM_ID in NUMBER
399 ) is
400 begin
401 delete from RA_TERMS_TL
402 where TERM_ID = X_TERM_ID;
403
404 if (sql%notfound) then
405 raise no_data_found;
406 end if;
407
408 delete from RA_TERMS_B
409 where TERM_ID = X_TERM_ID;
410
411 if (sql%notfound) then
412 raise no_data_found;
413 end if;
414 end DELETE_ROW;
415
416 procedure ADD_LANGUAGE
417 is
418 begin
419 delete from RA_TERMS_TL T
420 where not exists
421 (select NULL
422 from RA_TERMS_B B
423 where B.TERM_ID = T.TERM_ID
424 );
425
426 update RA_TERMS_TL T set (
427 NAME,
428 DESCRIPTION
429 ) = (select
430 B.NAME,
431 B.DESCRIPTION
432 from RA_TERMS_TL B
433 where B.TERM_ID = T.TERM_ID
434 and B.LANGUAGE = T.SOURCE_LANG)
435 where (
436 T.TERM_ID,
437 T.LANGUAGE
438 ) in (select
439 SUBT.TERM_ID,
440 SUBT.LANGUAGE
441 from RA_TERMS_TL SUBB, RA_TERMS_TL SUBT
442 where SUBB.TERM_ID = SUBT.TERM_ID
443 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
444 and (SUBB.NAME <> SUBT.NAME
445 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
446 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
447 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
448 ));
449
450 insert into RA_TERMS_TL (
451 TERM_ID,
452 DESCRIPTION,
453 NAME,
454 LAST_UPDATE_DATE,
455 CREATION_DATE,
456 CREATED_BY,
457 LAST_UPDATED_BY,
458 LAST_UPDATE_LOGIN,
459 LANGUAGE,
460 SOURCE_LANG
461 ) select
462 B.TERM_ID,
463 B.DESCRIPTION,
464 B.NAME,
465 B.LAST_UPDATE_DATE,
466 B.CREATION_DATE,
467 B.CREATED_BY,
468 B.LAST_UPDATED_BY,
469 B.LAST_UPDATE_LOGIN,
470 L.LANGUAGE_CODE,
471 B.SOURCE_LANG
472 from RA_TERMS_TL B, FND_LANGUAGES L
473 where L.INSTALLED_FLAG in ('I', 'B')
474 and B.LANGUAGE = userenv('LANG')
475 and not exists
476 (select NULL
477 from RA_TERMS_TL T
478 where T.TERM_ID = B.TERM_ID
479 and T.LANGUAGE = L.LANGUAGE_CODE);
480 end ADD_LANGUAGE;
481
482 procedure LOAD_ROW (
483 X_TERM_ID in NUMBER,
484 X_CREDIT_CHECK_FLAG in VARCHAR2,
485 X_PREPAYMENT_FLAG in VARCHAR2,
486 X_BILLING_CYCLE_ID in NUMBER,
487 X_PRINTING_LEAD_DAYS in NUMBER,
488 X_START_DATE_ACTIVE in DATE,
489 X_END_DATE_ACTIVE in DATE,
490 X_ATTRIBUTE_CATEGORY in VARCHAR2,
491 X_ATTRIBUTE1 in VARCHAR2,
492 X_ATTRIBUTE2 in VARCHAR2,
493 X_ATTRIBUTE3 in VARCHAR2,
494 X_ATTRIBUTE4 in VARCHAR2,
495 X_ATTRIBUTE5 in VARCHAR2,
496 X_ATTRIBUTE6 in VARCHAR2,
497 X_ATTRIBUTE7 in VARCHAR2,
498 X_ATTRIBUTE8 in VARCHAR2,
499 X_ATTRIBUTE9 in VARCHAR2,
500 X_ATTRIBUTE10 in VARCHAR2,
501 X_BASE_AMOUNT in NUMBER,
502 X_CALC_DISCOUNT_ON_LINES_FLAG in VARCHAR2,
503 X_FIRST_INSTALLMENT_CODE in VARCHAR2,
504 X_IN_USE in VARCHAR2,
505 X_PARTIAL_DISCOUNT_FLAG in VARCHAR2,
506 X_ATTRIBUTE11 in VARCHAR2,
507 X_ATTRIBUTE12 in VARCHAR2,
508 X_ATTRIBUTE13 in VARCHAR2,
509 X_ATTRIBUTE14 in VARCHAR2,
510 X_ATTRIBUTE15 in VARCHAR2,
511 X_NAME in VARCHAR2,
512 X_DESCRIPTION in VARCHAR2,
513 X_OWNER in VARCHAR2
514 ) IS
515 begin
516
517 declare
518 user_id number := 0;
519 row_id varchar2(64);
520
521 begin
522
523 if (X_OWNER = 'SEED') then
524 user_id := -1;
525 end if;
526
527 begin
528 RA_TERMS_TABLE_HANDLER.UPDATE_ROW (
529 X_TERM_ID => X_TERM_ID,
530 X_CREDIT_CHECK_FLAG => X_CREDIT_CHECK_FLAG,
531 X_PREPAYMENT_FLAG => X_PREPAYMENT_FLAG,
532 X_BILLING_CYCLE_ID => X_BILLING_CYCLE_ID,
533 X_PRINTING_LEAD_DAYS => X_PRINTING_LEAD_DAYS,
534 X_START_DATE_ACTIVE => X_START_DATE_ACTIVE,
535 X_END_DATE_ACTIVE => X_END_DATE_ACTIVE,
536 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
537 X_ATTRIBUTE1 => X_ATTRIBUTE1,
538 X_ATTRIBUTE2 => X_ATTRIBUTE2,
539 X_ATTRIBUTE3 => X_ATTRIBUTE3,
540 X_ATTRIBUTE4 => X_ATTRIBUTE4,
541 X_ATTRIBUTE5 => X_ATTRIBUTE5,
542 X_ATTRIBUTE6 => X_ATTRIBUTE6,
543 X_ATTRIBUTE7 => X_ATTRIBUTE7,
544 X_ATTRIBUTE8 => X_ATTRIBUTE8,
545 X_ATTRIBUTE9 => X_ATTRIBUTE9,
546 X_ATTRIBUTE10 => X_ATTRIBUTE10,
547 X_BASE_AMOUNT => X_BASE_AMOUNT,
548 X_CALC_DISCOUNT_ON_LINES_FLAG => X_CALC_DISCOUNT_ON_LINES_FLAG,
549 X_FIRST_INSTALLMENT_CODE => X_FIRST_INSTALLMENT_CODE,
550 X_IN_USE => X_IN_USE,
551 X_PARTIAL_DISCOUNT_FLAG => X_PARTIAL_DISCOUNT_FLAG,
552 X_ATTRIBUTE11 => X_ATTRIBUTE11,
553 X_ATTRIBUTE12 => X_ATTRIBUTE12,
554 X_ATTRIBUTE13 => X_ATTRIBUTE13,
555 X_ATTRIBUTE14 => X_ATTRIBUTE14,
556 X_ATTRIBUTE15 => X_ATTRIBUTE15,
557 X_NAME => X_NAME,
558 X_DESCRIPTION => X_DESCRIPTION,
559 X_LAST_UPDATE_DATE => sysdate,
560 X_LAST_UPDATED_BY => user_id,
561 X_LAST_UPDATE_LOGIN => 0
562 );
563
564 exception
565 when NO_DATA_FOUND then
566 RA_TERMS_TABLE_HANDLER.INSERT_ROW (
567 X_ROWID => row_id,
568 X_TERM_ID => X_TERM_ID,
569 X_CREDIT_CHECK_FLAG => X_CREDIT_CHECK_FLAG,
570 X_PREPAYMENT_FLAG => X_PREPAYMENT_FLAG,
571 X_BILLING_CYCLE_ID => X_BILLING_CYCLE_ID,
572 X_PRINTING_LEAD_DAYS => X_PRINTING_LEAD_DAYS,
573 X_START_DATE_ACTIVE => X_START_DATE_ACTIVE,
574 X_END_DATE_ACTIVE => X_END_DATE_ACTIVE,
575 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
576 X_ATTRIBUTE1 => X_ATTRIBUTE1,
577 X_ATTRIBUTE2 => X_ATTRIBUTE2,
578 X_ATTRIBUTE3 => X_ATTRIBUTE3,
579 X_ATTRIBUTE4 => X_ATTRIBUTE4,
580 X_ATTRIBUTE5 => X_ATTRIBUTE5,
581 X_ATTRIBUTE6 => X_ATTRIBUTE6,
582 X_ATTRIBUTE7 => X_ATTRIBUTE7,
583 X_ATTRIBUTE8 => X_ATTRIBUTE8,
584 X_ATTRIBUTE9 => X_ATTRIBUTE9,
585 X_ATTRIBUTE10 => X_ATTRIBUTE10,
586 X_BASE_AMOUNT => X_BASE_AMOUNT,
587 X_CALC_DISCOUNT_ON_LINES_FLAG => X_CALC_DISCOUNT_ON_LINES_FLAG,
588 X_FIRST_INSTALLMENT_CODE => X_FIRST_INSTALLMENT_CODE,
589 X_IN_USE => X_IN_USE,
590 X_PARTIAL_DISCOUNT_FLAG => X_PARTIAL_DISCOUNT_FLAG,
591 X_ATTRIBUTE11 => X_ATTRIBUTE10,
592 X_ATTRIBUTE12 => X_ATTRIBUTE12,
593 X_ATTRIBUTE13 => X_ATTRIBUTE13,
594 X_ATTRIBUTE14 => X_ATTRIBUTE14,
595 X_ATTRIBUTE15 => X_ATTRIBUTE15,
596 X_NAME => X_NAME,
597 X_DESCRIPTION => X_DESCRIPTION,
598 X_CREATION_DATE => sysdate,
599 X_CREATED_BY => user_id,
600 X_LAST_UPDATE_DATE => sysdate,
601 X_LAST_UPDATED_BY => user_id,
602 X_LAST_UPDATE_LOGIN => 0
603 );
604 end;
605 end;
606
607 end LOAD_ROW;
608
609
610 procedure TRANSLATE_ROW (
611 X_TERM_ID in NUMBER,
612 X_DESCRIPTION in VARCHAR2,
613 X_NAME in VARCHAR2,
614 X_OWNER in VARCHAR2) IS
615 begin
616
617 -- only update rows that have not been altered by user
618
619 update RA_TERMS_TL
620 set description = X_DESCRIPTION,
621 name = X_NAME,
622 source_lang = userenv('LANG'),
623 last_update_date = sysdate,
624 last_updated_by = decode(X_OWNER, 'SEED', 1, 0),
625 last_update_login = 0
626 where term_id = X_TERM_ID
627 and userenv('LANG') in (language, source_lang);
628
629 end TRANSLATE_ROW;
630
631 end RA_TERMS_TABLE_HANDLER;