[Home] [Help]
PACKAGE BODY: APPS.AHL_APPROVAL_RULES_PKG
Source
1 PACKAGE BODY AHL_APPROVAL_RULES_PKG as
2 /*$Header: AHLLAPRB.pls 115.10 2003/12/01 06:18:24 rroy noship $*/
3
4 procedure INSERT_ROW
5
6 (
7 X_ROWID IN OUT NOCOPY VARCHAR2,
8 X_APPROVAL_RULE_ID IN NUMBER,
9 X_OBJECT_VERSION_NUMBER IN NUMBER,
10 X_APPROVAL_OBJECT_CODE IN VARCHAR2,
11 X_APPROVAL_PRIORITY_CODE IN VARCHAR2,
12 X_APPROVAL_TYPE_CODE IN VARCHAR2,
13 X_OPERATING_UNIT_ID IN NUMBER,
14 X_ACTIVE_START_DATE IN DATE,
15 X_ACTIVE_END_DATE IN DATE,
16 X_STATUS_CODE IN VARCHAR2,
17 X_SEEDED_FLAG IN VARCHAR2,
18 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
19 X_ATTRIBUTE1 IN VARCHAR2,
20 X_ATTRIBUTE2 IN VARCHAR2,
21 X_ATTRIBUTE3 IN VARCHAR2,
22 X_ATTRIBUTE4 IN VARCHAR2,
23 X_ATTRIBUTE5 IN VARCHAR2,
24 X_ATTRIBUTE6 IN VARCHAR2,
25 X_ATTRIBUTE7 IN VARCHAR2,
26 X_ATTRIBUTE8 IN VARCHAR2,
27 X_ATTRIBUTE9 IN VARCHAR2,
28 X_ATTRIBUTE10 IN VARCHAR2,
29 X_ATTRIBUTE11 IN VARCHAR2,
30 X_ATTRIBUTE12 IN VARCHAR2,
31 X_ATTRIBUTE13 IN VARCHAR2,
32 X_ATTRIBUTE14 IN VARCHAR2,
33 X_ATTRIBUTE15 IN VARCHAR2,
34 X_APPROVAL_RULE_NAME IN VARCHAR2,
35 X_DESCRIPTION IN VARCHAR2,
36 X_CREATION_DATE IN DATE,
37 X_CREATED_BY IN NUMBER,
38 X_LAST_UPDATE_DATE IN DATE,
39 X_LAST_UPDATED_BY IN NUMBER,
40 X_LAST_UPDATE_LOGIN IN NUMBER,
41 X_APPLICATION_USG_CODE IN VARCHAR2
42
43 )
44
45 is
46
47 cursor C is Select ROWID from AHL_APPROVAL_RULES_B where
48
49 APPROVAL_RULE_ID = X_APPROVAL_RULE_ID ;
50
51 begin
52
53 insert into AHL_APPROVAL_RULES_B
54
55 (
56 APPROVAL_RULE_ID,
57 OBJECT_VERSION_NUMBER,
58 APPROVAL_OBJECT_CODE,
59 APPROVAL_PRIORITY_CODE,
60 APPROVAL_TYPE_CODE,
61 APPLICATION_USG_CODE,
62 OPERATING_UNIT_ID,
63 ACTIVE_START_DATE,
64 ACTIVE_END_DATE,
65 STATUS_CODE,
66 SEEDED_FLAG,
67 ATTRIBUTE_CATEGORY,
68 ATTRIBUTE1,
69 ATTRIBUTE2,
70 ATTRIBUTE3,
71 ATTRIBUTE4,
72 ATTRIBUTE5,
73 ATTRIBUTE6,
74 ATTRIBUTE7,
75 ATTRIBUTE8,
76 ATTRIBUTE9,
77 ATTRIBUTE10,
78 ATTRIBUTE11,
79 ATTRIBUTE12,
80 ATTRIBUTE13,
81 ATTRIBUTE14,
82 ATTRIBUTE15,
83 CREATION_DATE,
84 CREATED_BY,
85 LAST_UPDATE_DATE,
86 LAST_UPDATED_BY,
87 LAST_UPDATE_LOGIN
88 )
89
90 values
91
92 (
93 X_APPROVAL_RULE_ID,
94 X_OBJECT_VERSION_NUMBER,
95 X_APPROVAL_OBJECT_CODE,
96 X_APPROVAL_PRIORITY_CODE,
97 X_APPROVAL_TYPE_CODE,
98 X_APPLICATION_USG_CODE,
99 X_OPERATING_UNIT_ID,
100 X_ACTIVE_START_DATE,
101 X_ACTIVE_END_DATE,
102 X_STATUS_CODE,
103 X_SEEDED_FLAG,
104 X_ATTRIBUTE_CATEGORY,
105 X_ATTRIBUTE1,
106 X_ATTRIBUTE2,
107 X_ATTRIBUTE3,
108 X_ATTRIBUTE4,
109 X_ATTRIBUTE5,
110 X_ATTRIBUTE6,
111 X_ATTRIBUTE7,
112 X_ATTRIBUTE8,
113 X_ATTRIBUTE9,
114 X_ATTRIBUTE10,
115 X_ATTRIBUTE11,
116 X_ATTRIBUTE12,
117 X_ATTRIBUTE13,
118 X_ATTRIBUTE14,
119 X_ATTRIBUTE15,
120 X_CREATION_DATE,
121 X_CREATED_BY,
122 X_LAST_UPDATE_DATE,
123 X_LAST_UPDATED_BY,
124 X_LAST_UPDATE_LOGIN
125 );
126
127
128
129 insert into AHL_APPROVAL_RULES_TL
130
131 (
132 APPROVAL_RULE_NAME,
133 DESCRIPTION,
134 APPROVAL_RULE_ID,
135 LAST_UPDATE_DATE,
136 LAST_UPDATED_BY,
137 CREATION_DATE,
138 CREATED_BY,
139 LAST_UPDATE_LOGIN,
140 LANGUAGE,
141 SOURCE_LANG
142 ) select
143 X_APPROVAL_RULE_NAME,
144 X_DESCRIPTION,
145 X_APPROVAL_RULE_ID,
146 X_LAST_UPDATE_DATE,
147 X_LAST_UPDATED_BY,
148 X_CREATION_DATE,
149 X_CREATED_BY,
150 X_LAST_UPDATE_LOGIN,
151 L.LANGUAGE_CODE,
152 userenv('LANG')
153 from FND_LANGUAGES L
154
155 where L.INSTALLED_FLAG in ('I', 'B')
156
157 and not exists
158
159 (select NULL
160 from AHL_APPROVAL_RULES_TL T
161 where T.APPROVAL_RULE_ID = X_APPROVAL_RULE_ID
162 and T.LANGUAGE = L.LANGUAGE_CODE);
163
164
165
166 open c;
167
168 fetch c into X_ROWID;
169
170 if (c%notfound) then
171
172 close c;
173
174 raise no_data_found;
175
176 end if;
177
178 close c;
179
180 end INSERT_ROW;
181
182
183
184 procedure LOCK_ROW (
185
186 X_APPROVAL_RULE_ID in NUMBER,
187
188 X_OBJECT_VERSION_NUMBER in NUMBER,
189
190 X_APPROVAL_OBJECT_CODE in VARCHAR2,
191
192 X_APPROVAL_PRIORITY_CODE in VARCHAR2,
193
194 X_APPROVAL_TYPE_CODE in VARCHAR2,
195
196 X_OPERATING_UNIT_ID in NUMBER,
197
198 X_ACTIVE_START_DATE in DATE,
199
200 X_ACTIVE_END_DATE in DATE,
201
202 X_STATUS_CODE in VARCHAR2,
203
204 X_SEEDED_FLAG in VARCHAR2,
205
206 -- X_SECURITY_GROUP_ID in NUMBER,
207
208 X_ATTRIBUTE_CATEGORY in VARCHAR2,
209
210 X_ATTRIBUTE1 in VARCHAR2,
211
212 X_ATTRIBUTE2 in VARCHAR2,
213
214 X_ATTRIBUTE3 in VARCHAR2,
215
216 X_ATTRIBUTE4 in VARCHAR2,
217
218 X_ATTRIBUTE5 in VARCHAR2,
219
220 X_ATTRIBUTE6 in VARCHAR2,
221
222 X_ATTRIBUTE7 in VARCHAR2,
223
224 X_ATTRIBUTE8 in VARCHAR2,
225
226 X_ATTRIBUTE9 in VARCHAR2,
227
228 X_ATTRIBUTE10 in VARCHAR2,
229
230 X_ATTRIBUTE11 in VARCHAR2,
231
232 X_ATTRIBUTE12 in VARCHAR2,
233
234 X_ATTRIBUTE13 in VARCHAR2,
235
236 X_ATTRIBUTE14 in VARCHAR2,
237
238 X_ATTRIBUTE15 in VARCHAR2,
239
240 X_APPROVAL_RULE_NAME in VARCHAR2,
241
242 X_DESCRIPTION in VARCHAR2,
243 X_APPLICATION_USG_CODE IN VARCHAR2
244
245 ) is
246
247 cursor c is select
248
252
249 OBJECT_VERSION_NUMBER,
250
251 APPROVAL_OBJECT_CODE,
253 APPROVAL_PRIORITY_CODE,
254
255 APPROVAL_TYPE_CODE,
256
257 APPLICATION_USG_CODE,
258
259 OPERATING_UNIT_ID,
260
261 ACTIVE_START_DATE,
262
263 ACTIVE_END_DATE,
264
265 STATUS_CODE,
266
267 SEEDED_FLAG,
268
269 -- SECURITY_GROUP_ID,
270
271 ATTRIBUTE_CATEGORY,
272
273 ATTRIBUTE1,
274
275 ATTRIBUTE2,
276
277 ATTRIBUTE3,
278
279 ATTRIBUTE4,
280
281 ATTRIBUTE5,
282
283 ATTRIBUTE6,
284
285 ATTRIBUTE7,
286
287 ATTRIBUTE8,
288
289 ATTRIBUTE9,
290
291 ATTRIBUTE10,
292
293 ATTRIBUTE11,
294
295 ATTRIBUTE12,
296
297 ATTRIBUTE13,
298
299 ATTRIBUTE14,
300
301 ATTRIBUTE15
302
303 from AHL_APPROVAL_RULES_B
304
305 where APPROVAL_RULE_ID = X_APPROVAL_RULE_ID
306
307 for update of APPROVAL_RULE_ID nowait;
308
309 recinfo c%rowtype;
310
311 cursor c1 is select
312
313 APPROVAL_RULE_NAME,
314
315 DESCRIPTION,
316
317 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
318
319 from AHL_APPROVAL_RULES_TL
320
321 where APPROVAL_RULE_ID = X_APPROVAL_RULE_ID
322
323 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
324
325 for update of APPROVAL_RULE_ID nowait;
326
327 begin
328
329 open c;
330
334
331 fetch c into recinfo;
332
333 if (c%notfound) then
335 close c;
336
337 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
338
339 app_exception.raise_exception;
340
341 end if;
342
343 close c;
344
345 if ( (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
346
347 AND (recinfo.APPROVAL_OBJECT_CODE = X_APPROVAL_OBJECT_CODE)
348
349 AND (recinfo.APPROVAL_PRIORITY_CODE = X_APPROVAL_PRIORITY_CODE)
350
351 AND (recinfo.APPROVAL_TYPE_CODE = X_APPROVAL_TYPE_CODE)
352
353 AND (recinfo.APPLICATION_USG_CODE = X_APPLICATION_USG_CODE)
354
355 AND (recinfo.OPERATING_UNIT_ID = X_OPERATING_UNIT_ID)
356
357 AND (recinfo.ACTIVE_START_DATE = X_ACTIVE_START_DATE)
358
359 AND ((recinfo.ACTIVE_END_DATE = X_ACTIVE_END_DATE)
360
361 OR ((recinfo.ACTIVE_END_DATE is null) AND (X_ACTIVE_END_DATE is null)))
362
363 AND (recinfo.STATUS_CODE = X_STATUS_CODE)
364
365 AND (recinfo.SEEDED_FLAG = X_SEEDED_FLAG)
366
367 /*AND ((recinfo.SECURITY_GROUP_ID = X_SECURITY_GROUP_ID)
368
369 OR ((recinfo.SECURITY_GROUP_ID is null) AND (X_SECURITY_GROUP_ID is null)))*/
370
371 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
372
373 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
374
375 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
376
377 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
378
379 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
380
381 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
382
383 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
384
385 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
386
387 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
388
389 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
390
391 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
392
393 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
394
395 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
396
397 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
398
399 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
400
401 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
402
403 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
404
405 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
406
407 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
408
409 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
410
411 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
412
413 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
414
415 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
416
417 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
418
419 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
420
421 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
422
423 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
424
425 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
426
427 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
428
429 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
430
431 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
432
433 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
434
435 ) then
436
437 null;
438
439 else
440
441 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
442
443 app_exception.raise_exception;
444
445 end if;
446
447 for tlinfo in c1 loop
448
449 if (tlinfo.BASELANG = 'Y') then
450
451 if ( (tlinfo.APPROVAL_RULE_NAME = X_APPROVAL_RULE_NAME)
452
453 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
454
455 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
456
457 ) then
458
459 null;
460
461 else
462
463 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
464
465 app_exception.raise_exception;
466
467 end if;
468
469 end if;
470
471 end loop;
472
473 return;
474
475 end LOCK_ROW;
476
477
478
479 procedure UPDATE_ROW
480
481 (
482
483 X_APPROVAL_RULE_ID in NUMBER,
484
485 X_OBJECT_VERSION_NUMBER in NUMBER,
486
487 X_APPROVAL_OBJECT_CODE in VARCHAR2,
488
489 X_APPROVAL_PRIORITY_CODE in VARCHAR2,
490
491 X_APPROVAL_TYPE_CODE in VARCHAR2,
492
493 X_OPERATING_UNIT_ID in NUMBER,
494
495 X_ACTIVE_START_DATE in DATE,
496
500
497 X_ACTIVE_END_DATE in DATE,
498
499 X_STATUS_CODE in VARCHAR2,
501 X_SEEDED_FLAG in VARCHAR2,
502
503 -- X_SECURITY_GROUP_ID in NUMBER,
504
505 X_ATTRIBUTE_CATEGORY in VARCHAR2,
506
507 X_ATTRIBUTE1 IN VARCHAR2,
508
509 X_ATTRIBUTE2 IN VARCHAR2,
510
511 X_ATTRIBUTE3 IN VARCHAR2,
512
513 X_ATTRIBUTE4 IN VARCHAR2,
514
515 X_ATTRIBUTE5 IN VARCHAR2,
516
517 X_ATTRIBUTE6 IN VARCHAR2,
518
519 X_ATTRIBUTE7 IN VARCHAR2,
520
521 X_ATTRIBUTE8 IN VARCHAR2,
522
523 X_ATTRIBUTE9 IN VARCHAR2,
524
525 X_ATTRIBUTE10 IN VARCHAR2,
526
527 X_ATTRIBUTE11 IN VARCHAR2,
528
529 X_ATTRIBUTE12 IN VARCHAR2,
530
531 X_ATTRIBUTE13 IN VARCHAR2,
532
533 X_ATTRIBUTE14 IN VARCHAR2,
534
535 X_ATTRIBUTE15 IN VARCHAR2,
536
537 X_APPROVAL_RULE_NAME in VARCHAR2,
538
539 X_DESCRIPTION in VARCHAR2,
540
541 X_LAST_UPDATE_DATE in DATE,
542
543 X_LAST_UPDATED_BY in NUMBER,
544
545 X_LAST_UPDATE_LOGIN in NUMBER,
546
547 X_APPLICATION_USG_CODE IN VARCHAR2
548
549 ) is
550
551 begin
552
553
554
555 update AHL_APPROVAL_RULES_B set
556
557 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
558
559 APPROVAL_OBJECT_CODE = X_APPROVAL_OBJECT_CODE,
560
561 APPROVAL_PRIORITY_CODE = X_APPROVAL_PRIORITY_CODE,
562
563 APPROVAL_TYPE_CODE = X_APPROVAL_TYPE_CODE,
564
565 APPLICATION_USG_CODE = X_APPLICATION_USG_CODE,
566
567 OPERATING_UNIT_ID = X_OPERATING_UNIT_ID,
568
569 ACTIVE_START_DATE = X_ACTIVE_START_DATE,
570
571 ACTIVE_END_DATE = X_ACTIVE_END_DATE,
572
573 STATUS_CODE = X_STATUS_CODE,
574
575 SEEDED_FLAG = X_SEEDED_FLAG,
576
577 -- SECURITY_GROUP_ID = X_SECURITY_GROUP_ID,
578
579 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
580
581 ATTRIBUTE1 = X_ATTRIBUTE1,
582
583 ATTRIBUTE2 = X_ATTRIBUTE2,
584
585 ATTRIBUTE3 = X_ATTRIBUTE3,
586
587 ATTRIBUTE4 = X_ATTRIBUTE4,
588
589 ATTRIBUTE5 = X_ATTRIBUTE5,
590
591 ATTRIBUTE6 = X_ATTRIBUTE6,
592
593 ATTRIBUTE7 = X_ATTRIBUTE7,
594
595 ATTRIBUTE8 = X_ATTRIBUTE8,
596
597 ATTRIBUTE9 = X_ATTRIBUTE9,
598
599 ATTRIBUTE10 = X_ATTRIBUTE10,
600
601 ATTRIBUTE11 = X_ATTRIBUTE11,
602
603 ATTRIBUTE12 = X_ATTRIBUTE12,
604
605 ATTRIBUTE13 = X_ATTRIBUTE13,
606
607 ATTRIBUTE14 = X_ATTRIBUTE14,
608
609 ATTRIBUTE15 = X_ATTRIBUTE15,
610
611 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
612
613 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
614
615 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
616
617 where APPROVAL_RULE_ID = X_APPROVAL_RULE_ID
618
619 and OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER-1;
620
621
622
623 if (sql%notfound) then
624
625 raise no_data_found;
626
627 end if;
628
629
630
631 update AHL_APPROVAL_RULES_TL set
632
633 APPROVAL_RULE_NAME = X_APPROVAL_RULE_NAME,
634
635 DESCRIPTION = X_DESCRIPTION,
636
637 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
638
639 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
640
641 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
642
643 SOURCE_LANG = userenv('LANG')
644
645 where APPROVAL_RULE_ID = X_APPROVAL_RULE_ID
646
647 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
648
649
650
651 if (sql%notfound) then
652
653 raise no_data_found;
654
655 end if;
656
657 end UPDATE_ROW;
658
659
660
661 procedure DELETE_ROW(
662
663 X_APPROVAL_RULE_ID in NUMBER
664
665 )
666
667 is
668
669 begin
670
671 delete from AHL_APPROVAL_RULES_TL
672
673 where APPROVAL_RULE_ID = X_APPROVAL_RULE_ID;
674
675
676
677 if (sql%notfound) then
678
679 raise no_data_found;
680
681 end if;
682
683
684
685 delete from AHL_APPROVAL_RULES_B
686
687 where APPROVAL_RULE_ID = X_APPROVAL_RULE_ID;
688
689
690
691 if (sql%notfound) then
692
696
693 raise no_data_found;
694
695 end if;
697 end DELETE_ROW;
698
699
700
701 procedure ADD_LANGUAGE
702
703 is
704
705 begin
706
707 delete from AHL_APPROVAL_RULES_TL T
708
709 where not exists
710
711 (select NULL
712
713 from AHL_APPROVAL_RULES_B B
714
715 where B.APPROVAL_RULE_ID = T.APPROVAL_RULE_ID
716
717 );
718
719
720
721 update AHL_APPROVAL_RULES_TL T set (
722
723 APPROVAL_RULE_NAME,
724
725 DESCRIPTION
726
727 ) = (select
728
729 B.APPROVAL_RULE_NAME,
730
731 B.DESCRIPTION
732
733 from AHL_APPROVAL_RULES_TL B
734
735 where B.APPROVAL_RULE_ID = T.APPROVAL_RULE_ID
736
737 and B.LANGUAGE = T.SOURCE_LANG)
738
739 where (
740
741 T.APPROVAL_RULE_ID,
742
743 T.LANGUAGE
744
745 ) in (select
746
747 SUBT.APPROVAL_RULE_ID,
748
749 SUBT.LANGUAGE
753 where SUBB.APPROVAL_RULE_ID = SUBT.APPROVAL_RULE_ID
750
751 from AHL_APPROVAL_RULES_TL SUBB, AHL_APPROVAL_RULES_TL SUBT
752
754
755 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
756
757 and (SUBB.APPROVAL_RULE_NAME <> SUBT.APPROVAL_RULE_NAME
758
759 or (SUBB.APPROVAL_RULE_NAME is null and SUBT.APPROVAL_RULE_NAME is not null)
760
761 or (SUBB.APPROVAL_RULE_NAME is not null and SUBT.APPROVAL_RULE_NAME is null)
762
763 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
764
765 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
766
767 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
768
769 ));
770
771
772
773 insert into AHL_APPROVAL_RULES_TL (
774
775 APPROVAL_RULE_NAME,
776
777 DESCRIPTION,
778
779 -- SECURITY_GROUP_ID,
780
781 APPROVAL_RULE_ID,
782
783 LAST_UPDATE_DATE,
784
785 LAST_UPDATED_BY,
786
787 CREATION_DATE,
788
789 CREATED_BY,
790
791 LAST_UPDATE_LOGIN,
792
793 LANGUAGE,
794
795 SOURCE_LANG
796
797 ) select
798
799 B.APPROVAL_RULE_NAME,
800
801 B.DESCRIPTION,
802
803 -- B.SECURITY_GROUP_ID,
804
805 B.APPROVAL_RULE_ID,
806
807 B.LAST_UPDATE_DATE,
808
809 B.LAST_UPDATED_BY,
810
811 B.CREATION_DATE,
812
813 B.CREATED_BY,
814
815 B.LAST_UPDATE_LOGIN,
816
817 L.LANGUAGE_CODE,
818
819 B.SOURCE_LANG
820
821 from AHL_APPROVAL_RULES_TL B, FND_LANGUAGES L
822
823 where L.INSTALLED_FLAG in ('I', 'B')
824
825 and B.LANGUAGE = userenv('LANG')
826
827 and not exists
828
829 (select NULL
830
831 from AHL_APPROVAL_RULES_TL T
832
833 where T.APPROVAL_RULE_ID = B.APPROVAL_RULE_ID
834
835 and T.LANGUAGE = L.LANGUAGE_CODE);
836
837 end ADD_LANGUAGE;
838
839
840 procedure TRANSLATE_ROW(
841 X_APPROVAL_RULE_ID in NUMBER,
842 X_APPROVAL_RULE_NAME in VARCHAR2,
843 X_DESCRIPTION in VARCHAR2,
844 X_OWNER in VARCHAR2
845 ) IS
846
847 begin
848 update AHL_APPROVAL_RULES_TL set
849 approval_rule_name = nvl(x_approval_rule_name, approval_rule_name),
850 description = nvl(x_description, description),
851 source_lang = userenv('LANG'),
852 last_update_date = sysdate,
853 last_updated_by = decode(x_owner, 'SEED', 1, 0),
854 last_update_login = 0
855 where approval_rule_id = x_approval_rule_id
856 and userenv('LANG') in (language, source_lang);
857 end TRANSLATE_ROW;
858
859 procedure LOAD_ROW(
860 X_APPROVAL_RULE_ID in NUMBER,
861 X_APPLICATION_USG_CODE IN VARCHAR2,
862 X_SEEDED_FLAG in VARCHAR2,
863 X_STATUS_CODE in VARCHAR2,
864 X_APPROVAL_RULE_NAME in VARCHAR2,
865 X_DESCRIPTION in VARCHAR2,
866 X_ACTIVE_START_DATE in DATE,
867 X_OWNER in VARCHAR2,
868 X_ATTRIBUTE_CATEGORY in VARCHAR2,
869 X_ATTRIBUTE1 in VARCHAR2,
870 X_ATTRIBUTE2 in VARCHAR2,
871 X_ATTRIBUTE3 in VARCHAR2,
872 X_ATTRIBUTE4 in VARCHAR2,
876 X_ATTRIBUTE8 in VARCHAR2,
873 X_ATTRIBUTE5 in VARCHAR2,
874 X_ATTRIBUTE6 in VARCHAR2,
875 X_ATTRIBUTE7 in VARCHAR2,
877 X_ATTRIBUTE9 in VARCHAR2,
878 X_ATTRIBUTE10 in VARCHAR2,
879 X_ATTRIBUTE11 in VARCHAR2,
880 X_ATTRIBUTE12 in VARCHAR2,
881 X_ATTRIBUTE13 in VARCHAR2,
882 X_ATTRIBUTE14 in VARCHAR2,
883 X_ATTRIBUTE15 in VARCHAR2
884 )
885 IS
886 l_user_id number := 0;
887 l_obj_verno number;
888 l_dummy_char varchar2(1);
889 l_row_id varchar2(100);
890 l_rule_id number;
891 l_approval_object_code VARCHAR2(30);
892 l_approval_priority_code VARCHAR2(30);
893 l_approval_type_code VARCHAR2(30);
894 l_operating_unit_id NUMBER;
895 l_active_end_date DATE;
896
897
898 cursor c_obj_verno is
899 select object_version_number
900 from AHL_APPROVAL_RULES_B
901 where approval_rule_id = X_APPROVAL_RULE_ID;
902
903 cursor c_chk_rule_exists is
904 select 'x'
905 from AHL_APPROVAL_RULES_B
906 where approval_rule_id = X_APPROVAL_RULE_ID;
907
908 cursor c_get_rule_id is
909 select ahl_approval_rules_b_s.nextval
910 from dual;
911
912
913 BEGIN
914
915 if X_OWNER = 'SEED' then
916 l_user_id := 1;
917 end if;
918
919 open c_chk_rule_exists;
920 fetch c_chk_rule_exists into l_dummy_char;
921 if c_chk_rule_exists%notfound
922 then
923 close c_chk_rule_exists;
924
925 if X_APPROVAL_RULE_ID is null then
926 open c_get_rule_id;
927 fetch c_get_rule_id into l_rule_id;
928 close c_get_rule_id;
929 else
930 l_rule_id := X_APPROVAL_RULE_ID;
931 end if ;
932
933 l_obj_verno := 1;
934
935 AHL_APPROVAL_RULES_PKG.INSERT_ROW (
936 X_ROWID => l_row_id,
937 X_APPROVAL_RULE_ID => l_rule_id,
938 X_OBJECT_VERSION_NUMBER => l_obj_verno,
939 X_APPROVAL_OBJECT_CODE => l_approval_object_code,
940 X_APPROVAL_PRIORITY_CODE => l_approval_priority_code,
941 X_APPROVAL_TYPE_CODE => l_approval_type_code,
942 X_APPLICATION_USG_CODE => X_APPLICATION_USG_CODE,
943 X_OPERATING_UNIT_ID => l_operating_unit_id,
944 X_ACTIVE_END_DATE => l_active_end_date,
945 X_STATUS_CODE => X_STATUS_CODE ,
946 X_ACTIVE_START_DATE => X_ACTIVE_START_DATE ,
947 X_SEEDED_FLAG => X_SEEDED_FLAG ,
948 X_APPROVAL_RULE_NAME => X_APPROVAL_RULE_NAME ,
949 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
950 X_ATTRIBUTE1 => X_ATTRIBUTE1,
951 X_ATTRIBUTE2 => X_ATTRIBUTE2,
952 X_ATTRIBUTE3 => X_ATTRIBUTE3,
953 X_ATTRIBUTE4 => X_ATTRIBUTE4,
954 X_ATTRIBUTE5 => X_ATTRIBUTE5,
955 X_ATTRIBUTE6 => X_ATTRIBUTE6,
956 X_ATTRIBUTE7 => X_ATTRIBUTE7,
957 X_ATTRIBUTE8 => X_ATTRIBUTE8,
958 X_ATTRIBUTE9 => X_ATTRIBUTE9,
959 X_ATTRIBUTE10 => X_ATTRIBUTE10,
960 X_ATTRIBUTE11 => X_ATTRIBUTE11,
961 X_ATTRIBUTE12 => X_ATTRIBUTE12,
962 X_ATTRIBUTE13 => X_ATTRIBUTE13,
963 X_ATTRIBUTE14 => X_ATTRIBUTE14,
964 X_ATTRIBUTE15 => X_ATTRIBUTE15,
965 X_DESCRIPTION => X_DESCRIPTION ,
966 X_CREATION_DATE => SYSDATE,
967 X_CREATED_BY => l_user_id,
971
968 X_LAST_UPDATE_DATE => SYSDATE,
969 X_LAST_UPDATED_BY => l_user_id,
970 X_LAST_UPDATE_LOGIN => 0
972 );
973
974 else
975 close c_chk_rule_exists;
976 open c_obj_verno;
977 fetch c_obj_verno into l_obj_verno;
978 close c_obj_verno;
979
980 AHL_APPROVAL_RULES_PKG.UPDATE_ROW (
981
982 X_APPROVAL_RULE_ID => X_APPROVAL_RULE_ID,
983 X_OBJECT_VERSION_NUMBER => l_obj_verno + 1,
984 X_STATUS_CODE => X_STATUS_CODE ,
985 X_APPLICATION_USG_CODE => X_APPLICATION_USG_CODE,
986 X_ACTIVE_START_DATE => X_ACTIVE_START_DATE ,
987 X_SEEDED_FLAG => X_SEEDED_FLAG,
988 X_APPROVAL_OBJECT_CODE => l_approval_object_code,
989 X_APPROVAL_PRIORITY_CODE => l_approval_priority_code,
990 X_APPROVAL_TYPE_CODE => l_approval_type_code,
991 X_OPERATING_UNIT_ID => l_operating_unit_id,
992 X_ACTIVE_END_DATE => l_active_end_date,
993 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
994 X_ATTRIBUTE1 => X_ATTRIBUTE1,
995 X_ATTRIBUTE2 => X_ATTRIBUTE2,
996 X_ATTRIBUTE3 => X_ATTRIBUTE3,
997 X_ATTRIBUTE4 => X_ATTRIBUTE4,
998 X_ATTRIBUTE5 => X_ATTRIBUTE5,
999 X_ATTRIBUTE6 => X_ATTRIBUTE6,
1000 X_ATTRIBUTE7 => X_ATTRIBUTE7,
1001 X_ATTRIBUTE8 => X_ATTRIBUTE8,
1002 X_ATTRIBUTE9 => X_ATTRIBUTE9,
1003 X_ATTRIBUTE10 => X_ATTRIBUTE10,
1004 X_ATTRIBUTE11 => X_ATTRIBUTE11,
1005 X_ATTRIBUTE12 => X_ATTRIBUTE12,
1009 X_APPROVAL_RULE_NAME => X_APPROVAL_RULE_NAME ,
1006 X_ATTRIBUTE13 => X_ATTRIBUTE13,
1007 X_ATTRIBUTE14 => X_ATTRIBUTE14,
1008 X_ATTRIBUTE15 => X_ATTRIBUTE15,
1010 X_DESCRIPTION => X_DESCRIPTION ,
1011 X_LAST_UPDATE_DATE => SYSDATE,
1012 X_LAST_UPDATED_BY => l_user_id,
1013 X_LAST_UPDATE_LOGIN => 0
1014
1015
1016
1017 );
1018
1019
1020 end if;
1021
1022 END LOAD_ROW ;
1023
1024
1025 end AHL_APPROVAL_RULES_PKG;
1026