[Home] [Help]
PACKAGE BODY: APPS.PAY_EVG_SHD
Source
1 Package Body pay_evg_shd as
2 /* $Header: pyevgrhi.pkb 120.4 2005/11/07 09:03:07 mkataria noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pay_evg_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14 (p_constraint_name in all_constraints.constraint_name%TYPE
15 ) Is
16 --
17 l_proc varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20 --
21 If (p_constraint_name = 'PAY_EVENT_GROUPS_PK') Then
22 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
23 fnd_message.raise_error;
24 ElsIf (p_constraint_name = 'PAY_EVENT_GROUPS_UK1') Then
25 fnd_message.set_name('PAY', 'HR_6123_ALL_UNIQUE_NAME');
26 fnd_message.set_token('INFORMATION_TYPE', 'Event Group');
27 fnd_message.raise_error;
28 --ElsIf (p_constraint_name = 'PAY_EVENT_GROUPS_FK1') Then
29 --fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
30 --fnd_message.set_token('PROCEDURE', l_proc);
31 --fnd_message.set_token('STEP','10');
32 --fnd_message.raise_error;
33 Else
34 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
35 fnd_message.set_token('PROCEDURE', l_proc);
36 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
37 fnd_message.raise_error;
38 End If;
39 --
40 End constraint_error;
41 --
42 -- ----------------------------------------------------------------------------
43 -- |-----------------------------< api_updating >-----------------------------|
44 -- ----------------------------------------------------------------------------
45 Function api_updating
46 (p_event_group_id in number
47 ,p_object_version_number in number
48 )
49 Return Boolean Is
50 --
51 --
52 -- Cursor selects the 'current' row from the HR Schema
53 --
54 Cursor C_Sel1 is
55 select
56 event_group_id
57 ,event_group_name
58 ,event_group_type
59 ,proration_type
60 ,business_group_id
61 ,legislation_code
62 ,object_version_number
63 ,time_definition_id
64 from pay_event_groups
65 where event_group_id = p_event_group_id;
66 --
67 l_fct_ret boolean;
68 --
69 Begin
70 --
71 If (p_event_group_id is null and
72 p_object_version_number is null
73 ) Then
74 --
75 -- One of the primary key arguments is null therefore we must
76 -- set the returning function value to false
77 --
78 l_fct_ret := false;
79 Else
80 If (p_event_group_id
81 = pay_evg_shd.g_old_rec.event_group_id and
82 p_object_version_number
83 = pay_evg_shd.g_old_rec.object_version_number
84 ) Then
85 --
86 -- The g_old_rec is current therefore we must
87 -- set the returning function to true
88 --
89 l_fct_ret := true;
90 Else
91 --
92 -- Select the current row into g_old_rec
93 --
94 Open C_Sel1;
95 Fetch C_Sel1 Into pay_evg_shd.g_old_rec;
96 If C_Sel1%notfound Then
97 Close C_Sel1;
98 --
99 -- The primary key is invalid therefore we must error
100 --
101 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
102 fnd_message.raise_error;
103 End If;
104 Close C_Sel1;
105 If (p_object_version_number
106 <> pay_evg_shd.g_old_rec.object_version_number) Then
107 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
108 fnd_message.raise_error;
109 End If;
110 l_fct_ret := true;
111 End If;
112 End If;
113 Return (l_fct_ret);
114 --
115 End api_updating;
116 --
117 -- ----------------------------------------------------------------------------
118 -- |---------------------------------< lck >----------------------------------|
119 -- ----------------------------------------------------------------------------
120 Procedure lck
121 (p_event_group_id in number
122 ,p_object_version_number in number
123 ) is
124 --
125 -- Cursor selects the 'current' row from the HR Schema
126 --
127 Cursor C_Sel1 is
128 select
129 event_group_id
130 ,event_group_name
131 ,event_group_type
132 ,proration_type
133 ,business_group_id
134 ,legislation_code
135 ,object_version_number
136 ,time_definition_id
137 from pay_event_groups
138 where event_group_id = p_event_group_id
139 for update nowait;
140 --
141 l_proc varchar2(72) := g_package||'lck';
142 --
143 Begin
144 hr_utility.set_location('Entering:'||l_proc, 5);
145 --
146 hr_api.mandatory_arg_error
147 (p_api_name => l_proc
148 ,p_argument => 'EVENT_GROUP_ID'
149 ,p_argument_value => p_event_group_id
150 );
151 --
152 Open C_Sel1;
153 Fetch C_Sel1 Into pay_evg_shd.g_old_rec;
154 If C_Sel1%notfound then
155 Close C_Sel1;
156 --
157 -- The primary key is invalid therefore we must error
158 --
159 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
160 fnd_message.raise_error;
161 End If;
162 Close C_Sel1;
163 If (p_object_version_number
164 <> pay_evg_shd.g_old_rec.object_version_number) Then
165 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
166 fnd_message.raise_error;
167 End If;
168 --
169 hr_utility.set_location(' Leaving:'||l_proc, 10);
170 --
171 -- We need to trap the ORA LOCK exception
172 --
173 Exception
174 When HR_Api.Object_Locked then
175 --
176 -- The object is locked therefore we need to supply a meaningful
177 -- error message.
178 --
179 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
180 fnd_message.set_token('TABLE_NAME', 'pay_event_groups');
181 fnd_message.raise_error;
182 End lck;
183 --
184 -- ----------------------------------------------------------------------------
185 -- |-----------------------------< convert_args >-----------------------------|
186 -- ----------------------------------------------------------------------------
187 Function convert_args
188 (p_event_group_id in number
189 ,p_event_group_name in varchar2
190 ,p_event_group_type in varchar2
191 ,p_proration_type in varchar2
192 ,p_business_group_id in number
193 ,p_legislation_code in varchar2
194 ,p_object_version_number in number
195 ,p_time_definition_id in number
196 )
197 Return g_rec_type is
198 --
199 l_rec g_rec_type;
200 --
201 Begin
202 --
203 -- Convert arguments into local l_rec structure.
204 --
205 l_rec.event_group_id := p_event_group_id;
206 l_rec.event_group_name := p_event_group_name;
207 l_rec.event_group_type := p_event_group_type;
208 l_rec.proration_type := p_proration_type;
209 l_rec.business_group_id := p_business_group_id;
210 l_rec.legislation_code := p_legislation_code;
211 l_rec.object_version_number := p_object_version_number;
212 l_rec.time_definition_id := p_time_definition_id;
213 --
214 -- Return the plsql record structure.
215 --
216 Return(l_rec);
217 --
218 End convert_args;
219 --
220 end pay_evg_shd;