DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_LETTER_GEN_STATUSES_PKG

Source


1 PACKAGE BODY PER_LETTER_GEN_STATUSES_PKG as
2 /* $Header: pelts01t.pkb 115.2 99/07/18 14:01:54 porting ship  $ */
3 
4 procedure ASSIGNMENT_STATUS_NOT_UNIQUE (
5 --
6 -- Returns TRUE if the assignment status is not unique, then the check is for
7 -- new record within generic data
8 --
9 -- Parameters are:
10 --
11 p_business_group_id         in number,
12 p_assignment_status_type_id in number,
13 p_letter_type_id            in number,
14 p_letter_gen_status_id      in number) is
15 --
16 v_not_unique    boolean := FALSE;
17 g_dummy_number  number;
18 --
19 cursor csr_duplicate is
20 	select  null
21 	from    per_letter_gen_statuses x
22 	where   x.business_group_id + 0     = p_business_group_id
23 	and     x.assignment_status_type_id = p_assignment_status_type_id
24 	and     x.letter_type_id        = p_letter_type_id
25 	and     (p_letter_gen_status_id is null
26 		or (p_letter_gen_status_id is not null
27 	           and x.letter_gen_status_id <> p_letter_gen_status_id));
28 --
29 begin
30 --
31   open csr_duplicate;
32   fetch csr_duplicate into g_dummy_number;
33   v_not_unique := csr_duplicate%found;
34   close csr_duplicate;
35 --
36 if v_not_unique then
37     hr_utility.set_message (801,'PER_7859_DEF_LETTER_STAT_EXIST');
38     hr_utility.raise_error;
39 end if;
40 --
41 end assignment_status_not_unique;
42 --
43 --
44 procedure get_next_sequence(p_letter_gen_status_id in out number) is
45 --
46 cursor c1 is select per_letter_gen_statuses_s.nextval
47 	     from sys.dual;
48 --
49 -- Retrieve the nnext sequence number for letter_gen_status_id field
50 --
51 begin
52   --
53   if (p_letter_gen_status_id is null) then
54     open c1;
55     fetch c1 into p_letter_gen_status_id;
56     if (C1%NOTFOUND) then
57 	CLOSE C1;
58 	hr_utility.set_message(801,'HR_6153_ALL_PROCEDURE_FAIL');
59 	hr_utility.set_message_token('PROCEDURE','get_next_sequence');
60 	hr_utility.set_message_token('STEP','1');
61         hr_utility.raise_error;
62     end if;
63     close c1;
64   end if;
65 end get_next_sequence;
66 --
67 procedure get_assignment_status(p_assignment_status_type_id in number,
68 				p_assignment_status in out varchar2) is
69 --cursor c1 is select assignment_status
70      --from assignment_status_lov
71      --where p_assignment_status_type_id = assignment_status_type_id;
72   cursor c1 is select nvl(atl.user_status, ttl.user_status)
73                from   per_assignment_status_types_tl ttl,
74                       per_assignment_status_types t,
75                       per_ass_status_type_amends_tl atl,
76                       per_ass_status_type_amends a
77                where  t.assignment_status_type_id     = p_assignment_status_type_id
78                and    a.assignment_status_type_id (+) = t.assignment_status_type_id
79                and    a.ass_status_type_amend_id      = atl.ass_status_type_amend_id (+)
80                and    decode(atl.ass_status_type_amend_id, null, '1', userenv('LANG')) =
81                       decode(atl.ass_status_type_amend_id, null, '1', atl.LANGUAGE)
82                and    t.assignment_status_type_id     = ttl.assignment_status_type_id
83                and    ttl.LANGUAGE = userenv('LANG');
84 
85 --
86 -- Get the assignment status value for the non-database field
87 --
88 begin
89   --
90   open c1;
91   fetch c1 into p_assignment_status;
92   if (C1%NOTFOUND) then
93 	CLOSE C1;
94 	hr_utility.set_message(801,'HR_6153_ALL_PROCEDURE_FAIL');
95 	hr_utility.set_message_token('PROCEDURE','get_assignment_status');
96 	hr_utility.set_message_token('STEP','1');
97         hr_utility.raise_error;
98   end if;
99   close c1;
100 --
101 end get_assignment_status;
102 --
103 END PER_LETTER_GEN_STATUSES_PKG;