[Home] [Help]
PACKAGE BODY: APPS.CN_MODULES_PKG
Source
1 PACKAGE BODY CN_MODULES_PKG AS
2 -- $Header: cnsymodb.pls 120.6.12010000.2 2008/10/10 07:19:37 rajukum ship $
3
4 -- Procedure Name
5 -- sync_module
6 -- Purpose
7 -- Generate a module for a Commissions function.
8 -- History
9 -- 06-05-95 Amy Erickson Created
10 --
11
12 -- This Procedure Is Not Used Now,
13 -- We Can Remove This Procedure
14
15 -- Local Variable
16
17 l_org_id NUMBER;
18
19 PROCEDURE sync_module (
20 x_module_id NUMBER,
21 x_module_status IN OUT NOCOPY VARCHAR2) IS
22
23
24 x_module_type cn_modules.module_type%TYPE;
25 x_rc BOOLEAN;
26 x_temp_id cn_modules.module_id%TYPE;
27
28 BEGIN
29
30 SELECT module_type, module_status
31 INTO x_module_type, x_module_status
32 FROM cn_modules
33 WHERE module_id = x_module_id ;
34
35 END sync_module;
36
37
38 -- Procedure Name
39 -- unsync_module
40 -- Purpose
41 -- Mark a module status as UNSYNC.
42 -- History
43 --
44
45 -- This Procedure Is Not Used Now,
46 -- We Can Remove This Procedure
47
48 PROCEDURE unsync_module (
49 x_module_id NUMBER,
50 x_module_status IN OUT NOCOPY VARCHAR2,
51 x_org_id IN NUMBER) IS
52
53
54 BEGIN
55
56 l_org_id := x_org_id;
57
58 x_module_status := 'UNSYNC' ;
59
60 update_row(x_module_id => x_module_id,
61 x_module_status => x_module_status,
62 x_org_id => l_org_id);
63
64 END unsync_module;
65
66 PROCEDURE INSERT_ROW (
67 X_ROWID IN OUT nocopy VARCHAR2,
68 X_MODULE_ID IN NUMBER,
69 X_MODULE_TYPE IN VARCHAR2,
70 X_REPOSITORY_ID IN NUMBER,
71 X_DESCRIPTION IN VARCHAR2,
72 X_PARENT_MODULE_ID IN NUMBER,
73 X_SOURCE_REPOSITORY_ID IN NUMBER,
74 X_MODULE_STATUS IN VARCHAR2,
75 X_EVENT_ID IN NUMBER,
76 X_LAST_MODIFICATION IN DATE,
77 X_LAST_SYNCHRONIZATION IN DATE,
78 X_OUTPUT_FILENAME IN VARCHAR2,
79 X_COLLECT_FLAG IN VARCHAR2,
80 X_NAME IN VARCHAR2,
81 X_CREATION_DATE IN DATE,
82 X_CREATED_BY IN NUMBER,
83 X_LAST_UPDATE_DATE IN DATE,
84 X_LAST_UPDATED_BY IN NUMBER,
85 X_LAST_UPDATE_LOGIN IN NUMBER,
86 X_ORG_ID IN NUMBER) IS -- Modified For R12 MOAC
87
88 CURSOR C IS SELECT ROWID FROM CN_MODULES_ALL_B
89 WHERE MODULE_ID = x_module_id;
90
91 BEGIN
92 INSERT INTO CN_MODULES_ALL_B(
93 MODULE_ID,
94 MODULE_TYPE,
95 REPOSITORY_ID,
96 DESCRIPTION,
97 PARENT_MODULE_ID,
98 SOURCE_REPOSITORY_ID,
99 MODULE_STATUS,
100 EVENT_ID,
101 LAST_MODIFICATION,
102 LAST_SYNCHRONIZATION,
103 OUTPUT_FILENAME,
104 COLLECT_FLAG,
105 CREATION_DATE,
106 CREATED_BY,
107 LAST_UPDATE_DATE,
108 LAST_UPDATED_BY,
109 LAST_UPDATE_LOGIN,
110 ORG_ID -- Modified For R12 MOAC
111 ) VALUES (
112 X_MODULE_ID,
113 X_MODULE_TYPE,
114 X_REPOSITORY_ID,
115 X_DESCRIPTION,
116 X_PARENT_MODULE_ID,
117 X_SOURCE_REPOSITORY_ID,
118 X_MODULE_STATUS,
119 X_EVENT_ID,
120 X_LAST_MODIFICATION,
121 X_LAST_SYNCHRONIZATION,
122 X_OUTPUT_FILENAME,
123 X_COLLECT_FLAG,
124 X_CREATION_DATE,
125 X_CREATED_BY,
126 X_LAST_UPDATE_DATE,
127 X_LAST_UPDATED_BY,
128 X_LAST_UPDATE_LOGIN,
129 X_ORG_ID -- Modified For R12 MOAC
130 );
131
132 INSERT INTO CN_MODULES_ALL_TL (
133 MODULE_ID,
134 NAME,
135 LAST_UPDATE_DATE,
136 LAST_UPDATED_BY,
137 LAST_UPDATE_LOGIN,
138 CREATION_DATE,
139 CREATED_BY,
140 LANGUAGE,
141 SOURCE_LANG,
142 ORG_ID
143 ) SELECT
144 X_MODULE_ID,
145 X_NAME,
146 X_LAST_UPDATE_DATE,
147 X_LAST_UPDATED_BY,
148 X_LAST_UPDATE_LOGIN,
149 X_CREATION_DATE,
150 X_CREATED_BY,
151 L.LANGUAGE_CODE,
152 userenv('LANG'),
153 X_ORG_ID
154 FROM FND_LANGUAGES L
155 WHERE L.INSTALLED_FLAG IN ('I', 'B')
156 AND NOT EXISTS
157 (SELECT NULL
158 FROM CN_MODULES_ALL_TL T
159 WHERE T.MODULE_ID = X_MODULE_ID
160 AND T.LANGUAGE = L.language_code
161 AND T.ORG_ID = X_ORG_ID
162 );
163
164 OPEN c;
165 FETCH c INTO x_rowid;
166 IF (c%NOTFOUND) THEN
167 CLOSE c;
168 RAISE NO_DATA_FOUND;
169 END IF;
170 CLOSE c;
171
172 END INSERT_ROW;
173
174 -- This Procedure Is Not Used Now,
175 -- We Can Remove This Procedure
176
177 PROCEDURE LOCK_ROW (
178 X_MODULE_ID IN NUMBER,
179 X_MODULE_TYPE IN VARCHAR2,
180 X_REPOSITORY_ID IN NUMBER,
181 X_DESCRIPTION IN VARCHAR2,
182 X_PARENT_MODULE_ID IN NUMBER,
183 X_SOURCE_REPOSITORY_ID IN NUMBER,
184 X_MODULE_STATUS IN VARCHAR2,
185 X_EVENT_ID IN NUMBER,
186 X_LAST_MODIFICATION IN DATE,
187 X_LAST_SYNCHRONIZATION IN DATE,
188 X_OUTPUT_FILENAME IN VARCHAR2,
189 X_COLLECT_FLAG IN VARCHAR2,
190 X_NAME IN VARCHAR2,
191 X_ORG_ID IN NUMBER
192 ) IS
193 CURSOR c IS SELECT
194 MODULE_TYPE,
195 REPOSITORY_ID,
196 DESCRIPTION,
197 PARENT_MODULE_ID,
198 SOURCE_REPOSITORY_ID,
199 MODULE_STATUS,
200 EVENT_ID,
201 LAST_MODIFICATION,
202 LAST_SYNCHRONIZATION,
203 OUTPUT_FILENAME,
204 COLLECT_FLAG
205 FROM CN_MODULES_ALL_B
206 WHERE MODULE_ID = x_module_id AND
207 ORG_ID = X_ORG_ID
208 FOR UPDATE OF MODULE_ID NOWAIT;
209 recinfo c%ROWTYPE;
210
211 CURSOR c1 IS SELECT
212 NAME,
213 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
214 FROM CN_MODULES_ALL_TL
215 WHERE MODULE_ID = x_module_id AND
216 ORG_ID = X_ORG_ID
217 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG)
218 FOR UPDATE OF MODULE_ID NOWAIT;
219 BEGIN
220 OPEN c;
221 FETCH c INTO recinfo;
222 IF (c%NOTFOUND) THEN
223 CLOSE c;
224 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
225 app_exception.raise_exception;
226 END IF;
227 CLOSE c;
228 IF ( (recinfo.MODULE_TYPE = X_MODULE_TYPE)
229 AND (recinfo.REPOSITORY_ID = X_REPOSITORY_ID)
230 AND ((recinfo.DESCRIPTION = X_DESCRIPTION)
231 OR ((recinfo.DESCRIPTION IS NULL) AND (X_DESCRIPTION IS NULL)))
232 AND ((recinfo.PARENT_MODULE_ID = X_PARENT_MODULE_ID)
233 OR ((recinfo.PARENT_MODULE_ID IS NULL) AND (X_PARENT_MODULE_ID IS NULL)))
234 AND ((recinfo.SOURCE_REPOSITORY_ID = X_SOURCE_REPOSITORY_ID)
235 OR ((recinfo.SOURCE_REPOSITORY_ID IS NULL) AND (X_SOURCE_REPOSITORY_ID IS NULL)))
236 AND (recinfo.MODULE_STATUS = X_MODULE_STATUS)
237 AND ((recinfo.EVENT_ID = X_EVENT_ID)
238 OR ((recinfo.EVENT_ID IS NULL) AND (X_EVENT_ID IS NULL)))
239 AND ((recinfo.LAST_MODIFICATION = X_LAST_MODIFICATION)
240 OR ((recinfo.LAST_MODIFICATION IS NULL) AND (X_LAST_MODIFICATION IS NULL)))
241 AND ((recinfo.LAST_SYNCHRONIZATION = X_LAST_SYNCHRONIZATION)
242 OR ((recinfo.LAST_SYNCHRONIZATION IS NULL) AND (X_LAST_SYNCHRONIZATION IS NULL)))
243 AND ((recinfo.OUTPUT_FILENAME = X_OUTPUT_FILENAME)
244 OR ((recinfo.OUTPUT_FILENAME IS NULL) AND (X_OUTPUT_FILENAME IS NULL)))
245 AND ((recinfo.COLLECT_FLAG = X_COLLECT_FLAG)
246 OR ((recinfo.COLLECT_FLAG IS NULL) AND (X_COLLECT_FLAG IS NULL)))
247 ) THEN
248 NULL;
249 ELSE
250 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
251 app_exception.raise_exception;
252 END IF;
253
254 FOR tlinfo IN c1 LOOP
255 IF (tlinfo.BASELANG = 'Y') THEN
256 IF ( (tlinfo.NAME = X_NAME)
257 ) THEN
258 NULL;
259 ELSE
260 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
261 app_exception.raise_exception;
262 END IF;
263 END IF;
264 END LOOP;
265 RETURN;
266 END LOCK_ROW;
267
268
269
270 PROCEDURE UPDATE_ROW (
271 X_MODULE_ID IN NUMBER,
272 X_MODULE_TYPE IN VARCHAR2,
273 X_REPOSITORY_ID IN NUMBER,
274 X_DESCRIPTION IN VARCHAR2,
275 X_PARENT_MODULE_ID IN NUMBER,
276 X_SOURCE_REPOSITORY_ID IN NUMBER,
277 X_MODULE_STATUS IN VARCHAR2,
278 X_EVENT_ID IN NUMBER,
279 X_LAST_MODIFICATION IN DATE,
280 X_LAST_SYNCHRONIZATION IN DATE,
281 X_OUTPUT_FILENAME IN VARCHAR2,
282 X_COLLECT_FLAG IN VARCHAR2,
283 X_NAME IN VARCHAR2,
284 X_LAST_UPDATE_DATE IN DATE,
285 X_LAST_UPDATED_BY IN NUMBER,
289
286 X_LAST_UPDATE_LOGIN IN NUMBER,
287 X_ORG_ID IN NUMBER
288 ) IS
290 CURSOR cur_b IS
291 SELECT *
292 FROM cn_modules_all_b
293 WHERE module_id = x_module_id AND
294 org_id = X_ORG_ID;
295
296 CURSOR cur_tl IS
297 SELECT NAME, last_update_date, last_updated_by,last_update_login
298 FROM cn_modules_all_tl
299 WHERE module_id = x_module_id AND
300 userenv('LANG') IN (LANGUAGE, SOURCE_LANG) AND
301 org_id = X_ORG_ID;
302
303 rec_b cur_b%ROWTYPE;
304 rec_tl cur_tl%ROWTYPE;
305
306 BEGIN
307
308 OPEN cur_b;
309
310 FETCH cur_b INTO rec_b;
311
312 IF (cur_b%NOTFOUND) THEN
313 CLOSE cur_b;
314 RAISE no_data_found;
315
316 ELSE
317
318 SELECT Decode(X_MODULE_ID, FND_API.G_MISS_NUM, rec_b.module_id,
319 Ltrim(Rtrim(X_MODULE_ID)))
320 INTO rec_b.module_id FROM sys.dual;
321
322 SELECT Decode(X_MODULE_TYPE, FND_API.G_MISS_CHAR, rec_b.MODULE_TYPE,
323 Ltrim(Rtrim(X_MODULE_TYPE)))
324 INTO rec_b.MODULE_TYPE FROM sys.dual;
325
326 SELECT Decode(X_REPOSITORY_ID, FND_API.G_MISS_NUM, rec_b.REPOSITORY_ID,
327 Ltrim(Rtrim(X_REPOSITORY_ID)))
328 INTO rec_b.REPOSITORY_ID FROM sys.dual;
329
330 SELECT Decode(X_DESCRIPTION, FND_API.G_MISS_CHAR, rec_b.DESCRIPTION,
331 Ltrim(Rtrim(X_DESCRIPTION)))
332 INTO rec_b.DESCRIPTION FROM sys.dual;
333
334 SELECT Decode(X_PARENT_MODULE_ID, FND_API.G_MISS_NUM, rec_b.PARENT_MODULE_ID,
335 Ltrim(Rtrim(X_PARENT_MODULE_ID)))
336 INTO rec_b.PARENT_MODULE_ID FROM sys.dual;
337
338 SELECT Decode(X_SOURCE_REPOSITORY_ID, FND_API.G_MISS_NUM, rec_b.SOURCE_REPOSITORY_ID,Ltrim(Rtrim(X_SOURCE_REPOSITORY_ID)))
339 INTO rec_b.SOURCE_REPOSITORY_ID FROM sys.dual;
340
341 SELECT Decode(X_MODULE_STATUS, FND_API.G_MISS_CHAR, rec_b.MODULE_STATUS,
342 Ltrim(Rtrim(X_MODULE_STATUS)))
343 INTO rec_b.MODULE_STATUS FROM sys.dual;
344
345 SELECT Decode(X_EVENT_ID, FND_API.G_MISS_NUM, rec_b.EVENT_ID,
346 Ltrim(Rtrim(X_EVENT_ID)))
347 INTO rec_b.EVENT_ID FROM sys.dual;
348
349 SELECT Decode(X_LAST_MODIFICATION, FND_API.G_MISS_DATE, rec_b.LAST_MODIFICATION,
350 Ltrim(Rtrim(X_LAST_MODIFICATION)))
351 INTO rec_b.LAST_MODIFICATION FROM sys.dual;
352
353 SELECT Decode(X_LAST_SYNCHRONIZATION, FND_API.G_MISS_DATE, rec_b.LAST_SYNCHRONIZATION,
354 Ltrim(Rtrim(X_LAST_SYNCHRONIZATION)))
355 INTO rec_b.LAST_SYNCHRONIZATION FROM sys.dual;
356
357 SELECT Decode(X_OUTPUT_FILENAME, FND_API.G_MISS_CHAR, rec_b.OUTPUT_FILENAME,
358 Ltrim(Rtrim(X_OUTPUT_FILENAME)))
359 INTO rec_b.OUTPUT_FILENAME FROM sys.dual;
360
361 SELECT Decode(X_COLLECT_FLAG, FND_API.G_MISS_CHAR, rec_b.COLLECT_FLAG,
362 Ltrim(Rtrim(X_COLLECT_FLAG)))
363 INTO rec_b.COLLECT_FLAG FROM sys.dual;
364
365
366 SELECT Decode(X_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, rec_b.LAST_UPDATE_DATE,
367 Ltrim(Rtrim(X_LAST_UPDATE_DATE)))
368 INTO rec_b.LAST_UPDATE_DATE FROM sys.dual;
369
370 SELECT Decode(X_LAST_UPDATED_BY, FND_API.G_MISS_NUM, rec_b.LAST_UPDATED_BY,
371 Ltrim(Rtrim(X_LAST_UPDATED_BY)))
372 INTO rec_b.last_updated_by FROM sys.dual;
373
374 SELECT Decode(X_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, rec_b.LAST_UPDATE_LOGIN,
375 Ltrim(Rtrim(X_LAST_UPDATE_LOGIN)))
376 INTO rec_b.last_update_login FROM sys.dual;
377
378 UPDATE CN_MODULES_ALL_B SET
379 MODULE_TYPE = rec_b.MODULE_TYPE,
380 REPOSITORY_ID = rec_b.REPOSITORY_ID,
381 DESCRIPTION = rec_b.DESCRIPTION,
382 PARENT_MODULE_ID = rec_b.PARENT_MODULE_ID,
383 SOURCE_REPOSITORY_ID = rec_b.SOURCE_REPOSITORY_ID,
384 MODULE_STATUS = rec_b.MODULE_STATUS,
385 EVENT_ID = rec_b.EVENT_ID,
386 LAST_MODIFICATION = rec_b.LAST_MODIFICATION,
387 LAST_SYNCHRONIZATION = rec_b.LAST_SYNCHRONIZATION,
388 OUTPUT_FILENAME = rec_b.OUTPUT_FILENAME,
389 COLLECT_FLAG = rec_b.COLLECT_FLAG,
390 LAST_UPDATE_DATE = rec_b.LAST_UPDATE_DATE,
391 LAST_UPDATED_BY = rec_b.LAST_UPDATED_BY,
392 LAST_UPDATE_LOGIN = rec_b.LAST_UPDATE_LOGIN
393 WHERE MODULE_ID = rec_b.module_id
394 AND
395 org_id = X_ORG_ID;
396
397 IF (SQL%NOTFOUND) THEN
398 CLOSE cur_b;
399 RAISE no_data_found;
400 END IF;
401
402 END IF;
403 CLOSE cur_b;
404
405 OPEN cur_tl;
406
407 FETCH cur_tl INTO rec_tl;
408
409 IF (cur_tl%NOTFOUND) THEN
410 CLOSE cur_tl;
411 RAISE no_data_found;
412
413 ELSE
414
415 SELECT Decode(X_NAME, FND_API.G_MISS_CHAR, rec_tl.NAME,
416 Ltrim(Rtrim(X_NAME)))
417 INTO rec_tl.NAME FROM sys.dual;
418
419 SELECT Decode(X_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, rec_tl.LAST_UPDATE_DATE,
420 Ltrim(Rtrim(X_LAST_UPDATE_DATE)))
421 INTO rec_tl.LAST_UPDATE_DATE FROM sys.dual;
422
423 SELECT Decode(X_LAST_UPDATED_BY, FND_API.G_MISS_NUM, rec_tl.LAST_UPDATED_BY,
424 Ltrim(Rtrim(X_LAST_UPDATED_BY)))
425 INTO rec_tl.last_updated_by FROM sys.dual;
426
427 SELECT Decode(X_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, rec_tl.LAST_UPDATE_LOGIN,
428 Ltrim(Rtrim(X_LAST_UPDATE_LOGIN)))
429 INTO rec_tl.last_update_login FROM sys.dual;
430
431 UPDATE CN_MODULES_ALL_TL SET
432 NAME = rec_tl.NAME,
433 LAST_UPDATE_DATE = rec_tl.LAST_UPDATE_DATE,
434 LAST_UPDATED_BY = rec_tl.LAST_UPDATED_BY,
435 LAST_UPDATE_LOGIN = rec_tl.LAST_UPDATE_LOGIN,
436 SOURCE_LANG = userenv('LANG')
437 WHERE MODULE_ID = x_module_id AND
438 userenv('LANG') IN (LANGUAGE, SOURCE_LANG) AND
439 org_id = X_ORG_ID;
440
441 IF (SQL%NOTFOUND) THEN
445
442 CLOSE cur_tl;
443 RAISE no_data_found;
444 END IF;
446 END IF;
447 CLOSE cur_tl;
448
449 EXCEPTION
450 WHEN no_data_found THEN
451 RAISE no_data_found;
452
453 END UPDATE_ROW;
454
455
456 PROCEDURE DELETE_ROW (
457 X_MODULE_ID IN NUMBER,
458 X_ORG_ID IN NUMBER
459 ) IS
460 BEGIN
461 DELETE FROM CN_MODULES_ALL_TL
462 WHERE MODULE_ID = x_module_id AND
463 ORG_ID = X_ORG_ID;
464
465 IF (SQL%NOTFOUND) THEN
466 RAISE no_data_found;
467 END IF;
468
469 DELETE FROM CN_MODULES_ALL_B
470 WHERE MODULE_ID = x_module_id AND
471 ORG_ID = X_ORG_ID;
472
473 IF (SQL%NOTFOUND) THEN
474 RAISE no_data_found;
475 END IF;
476 END DELETE_ROW;
477
478 PROCEDURE ADD_LANGUAGE
479 IS
480 BEGIN
481 DELETE FROM CN_MODULES_ALL_TL T
482 WHERE NOT EXISTS
483 (SELECT NULL
484 FROM CN_MODULES_ALL_B B
485 WHERE B.MODULE_ID = T.module_id
486 AND B.org_id = T.org_id);
487
488 UPDATE CN_MODULES_ALL_TL T SET (
489 NAME
490 ) = (SELECT
491 B.NAME
492 FROM CN_MODULES_ALL_TL B
493 WHERE B.MODULE_ID = T.MODULE_ID
494 AND B.LANGUAGE = T.source_lang
495 AND B.org_id = T.org_id)
496 WHERE (
497 T.MODULE_ID,
498 T.LANGUAGE
499 ) IN (SELECT
500 SUBT.MODULE_ID,
501 SUBT.LANGUAGE
502 FROM CN_MODULES_ALL_TL SUBB, CN_MODULES_ALL_TL SUBT
503 WHERE SUBB.MODULE_ID = SUBT.MODULE_ID
504 AND SUBB.LANGUAGE = SUBT.source_lang
505 AND SUBB.ORG_ID = SUBT.ORG_ID
506 AND (SUBB.NAME <> SUBT.NAME
507 OR (SUBB.NAME IS NULL AND SUBT.NAME IS NOT NULL)
508 OR (SUBB.NAME IS NOT NULL AND SUBT.NAME IS NULL)
509 ));
510
511 INSERT INTO CN_MODULES_ALL_TL (
512 ORG_ID,
513 MODULE_ID,
514 NAME,
515 LAST_UPDATE_DATE,
516 LAST_UPDATED_BY,
517 LAST_UPDATE_LOGIN,
518 CREATION_DATE,
519 CREATED_BY,
520 LANGUAGE,
521 SOURCE_LANG
522 ) SELECT
523 B.ORG_ID,
524 B.MODULE_ID,
525 B.NAME,
526 B.LAST_UPDATE_DATE,
527 B.LAST_UPDATED_BY,
528 B.LAST_UPDATE_LOGIN,
529 B.CREATION_DATE,
530 B.CREATED_BY,
531 L.LANGUAGE_CODE,
532 B.SOURCE_LANG
533 FROM CN_MODULES_ALL_TL B, FND_LANGUAGES L
534 WHERE L.INSTALLED_FLAG IN ('I', 'B')
535 AND B.LANGUAGE = userenv('LANG')
536 AND NOT EXISTS
537 (SELECT NULL
538 FROM CN_MODULES_ALL_TL T
539 WHERE T.MODULE_ID = B.MODULE_ID
540 AND T.LANGUAGE = L.language_code
541 AND T.ORG_ID = B.ORG_ID);
542 END ADD_LANGUAGE;
543
544 -- --------------------------------------------------------------------+
545 -- Procedure : LOAD_ROW
546 -- Description : Called by FNDLOAD to upload seed datas, this procedure
547 -- only handle seed datas. ORG_ID = -3113
548 -- --------------------------------------------------------------------+
549 PROCEDURE LOAD_ROW
550 (x_module_id IN NUMBER,
551 x_name IN VARCHAR2,
552 x_description IN VARCHAR2,
553 x_module_type IN VARCHAR2,
554 x_module_status IN VARCHAR2,
555 x_event_id IN NUMBER,
556 x_repository_id IN NUMBER,
557 x_parent_module_id IN NUMBER,
558 x_source_repository_id IN NUMBER,
559 x_last_modification IN DATE,
560 x_last_synchronization IN DATE,
561 x_output_filename IN VARCHAR2,
562 x_collect_flag IN VARCHAR2,
563 x_org_id IN NUMBER,
564 x_owner IN VARCHAR2) IS
565 user_id NUMBER;
566
567 BEGIN
568 -- Validate input data
569 IF (x_module_id IS NULL)
570 OR (x_name IS NULL) OR (x_module_type IS NULL)
571 OR (x_repository_id IS NULL) OR (x_module_status IS NULL) THEN
572 GOTO end_load_row;
573 END IF;
574
575 IF (x_owner IS NOT NULL) AND (x_owner = 'SEED') THEN
576 user_id := 1;
577 ELSE
578 user_id := 0;
579 END IF;
580 -- Load The record to _B table
581 UPDATE CN_MODULES_ALL_B SET
582 DESCRIPTION = X_DESCRIPTION,
583 MODULE_TYPE = X_MODULE_TYPE,
584 MODULE_STATUS = X_MODULE_STATUS,
585 EVENT_ID = X_EVENT_ID,
586 REPOSITORY_ID = X_REPOSITORY_ID,
587 PARENT_MODULE_ID = X_PARENT_MODULE_ID,
588 SOURCE_REPOSITORY_ID = X_SOURCE_REPOSITORY_ID,
589 LAST_MODIFICATION = X_LAST_MODIFICATION,
590 LAST_SYNCHRONIZATION = X_LAST_SYNCHRONIZATION,
591 OUTPUT_FILENAME = X_OUTPUT_FILENAME,
592 COLLECT_FLAG = X_COLLECT_FLAG,
593 LAST_UPDATE_DATE = sysdate,
594 LAST_UPDATED_BY = user_id,
595 LAST_UPDATE_LOGIN = 0
596 WHERE MODULE_ID = x_module_id
597 AND org_id = x_org_id;
598
599 IF (SQL%NOTFOUND) THEN
600 -- Insert new record to _B table
601 INSERT INTO cn_modules_all_b
602 (MODULE_ID,
603 DESCRIPTION,
604 MODULE_TYPE,
605 MODULE_STATUS,
606 EVENT_ID,
607 REPOSITORY_ID,
608 PARENT_MODULE_ID,
609 SOURCE_REPOSITORY_ID,
610 LAST_MODIFICATION,
611 LAST_SYNCHRONIZATION,
612 OUTPUT_FILENAME,
613 COLLECT_FLAG,
614 CREATION_DATE,
615 CREATED_BY,
616 LAST_UPDATE_DATE,
617 LAST_UPDATED_BY,
618 LAST_UPDATE_login,
619 org_id
620 ) VALUES
621 (X_MODULE_ID,
622 X_DESCRIPTION,
623 X_MODULE_TYPE,
624 X_MODULE_STATUS,
625 X_EVENT_ID,
626 X_REPOSITORY_ID,
627 X_PARENT_MODULE_ID,
628 X_SOURCE_REPOSITORY_ID,
629 X_LAST_MODIFICATION,
630 X_LAST_SYNCHRONIZATION,
631 X_OUTPUT_FILENAME,
632 X_COLLECT_FLAG,
633 sysdate,
634 user_id,
635 sysdate,
636 user_id,
637 0,
638 x_org_id
639 );
640 END IF;
641 -- Load The record to _TL table
642 UPDATE CN_MODULES_ALL_TL SET
643 NAME = X_NAME,
644 LAST_UPDATE_DATE = sysdate,
645 LAST_UPDATED_BY = user_id,
646 LAST_UPDATE_LOGIN = 0,
647 SOURCE_LANG = userenv('LANG')
648 WHERE MODULE_ID = x_module_id
649 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG)
650 AND org_id = x_org_id;
651
652 IF (SQL%NOTFOUND) THEN
653 -- Insert new record to _TL table
654 INSERT INTO CN_MODULES_ALL_TL
655 (MODULE_ID,
656 NAME,
657 LAST_UPDATE_DATE,
658 LAST_UPDATED_BY,
659 LAST_UPDATE_LOGIN,
660 CREATION_DATE,
661 CREATED_BY,
662 org_id,
663 LANGUAGE,
664 SOURCE_LANG
665 ) SELECT
666 X_MODULE_ID,
667 X_NAME,
668 sysdate,
669 user_id,
670 0,
671 sysdate,
672 user_id,
673 x_org_id,
674 L.LANGUAGE_CODE,
675 userenv('LANG')
676 FROM FND_LANGUAGES L
677 WHERE L.INSTALLED_FLAG IN ('I', 'B')
678 AND NOT EXISTS
679 (SELECT NULL
680 FROM CN_MODULES_ALL_TL T
681 WHERE T.MODULE_ID = X_MODULE_ID
682 AND T.LANGUAGE = L.LANGUAGE_CODE);
683 END IF;
684 << end_load_row >>
685 NULL;
686 END LOAD_ROW ;
687
688 -- --------------------------------------------------------------------+
689 -- Procedure : TRANSLATE_ROW
690 -- Description : Called by FNDLOAD to translate seed datas, this procedure
691 -- only handle seed datas. ORG_ID = -3113
692 -- --------------------------------------------------------------------+
693 PROCEDURE TRANSLATE_ROW
694 ( x_module_id IN NUMBER,
695 x_name IN VARCHAR2,
696 x_owner IN VARCHAR2) IS
697 user_id NUMBER;
698 BEGIN
699 -- Validate input data
700 IF (x_module_id IS NULL) OR (x_name IS NULL) THEN
701 GOTO end_translate_row;
702 END IF;
703
704 IF (x_owner IS NOT NULL) AND (x_owner = 'SEED') THEN
705 user_id := 1;
706 ELSE
707 user_id := 0;
708 END IF;
709 -- Update the translation
710 UPDATE cn_modules_all_tl SET
711 NAME = x_name,
712 last_update_date = sysdate,
713 last_updated_by = user_id,
714 last_update_login = 0,
715 source_lang = userenv('LANG')
716 WHERE module_id = x_module_id
717 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
718
719 << end_translate_row >>
720 NULL;
721 END TRANSLATE_ROW ;
722
723 END cn_modules_pkg;