DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_CRD_SHD

Source


1 Package Body pqh_crd_shd as
2 /* $Header: pqcrdrhi.pkb 120.0 2005/05/29 01:45 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  pqh_crd_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 = 'PQH_CRITERIA_RATE_DEFN_FK1') Then
22     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
23     fnd_message.set_token('PROCEDURE', l_proc);
24     fnd_message.set_token('STEP','5');
25     fnd_message.raise_error;
26   ElsIf (p_constraint_name = 'PQH_CRITERIA_RATE_DEFN_UK1') Then
27     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
28     fnd_message.set_token('PROCEDURE', l_proc);
29     fnd_message.set_token('STEP','10');
30     fnd_message.raise_error;
31   ElsIf (p_constraint_name = 'PQH_CRITERIA_RATE_DEFN_UK2') Then
32     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
33     fnd_message.set_token('PROCEDURE', l_proc);
34     fnd_message.set_token('STEP','15');
35     fnd_message.raise_error;
36   ElsIf (p_constraint_name = 'PQH_CRITERIA_RATE_DEFN_PK') Then
37     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
38     fnd_message.set_token('PROCEDURE', l_proc);
39     fnd_message.set_token('STEP','20');
40     fnd_message.raise_error;
41   Else
42     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
43     fnd_message.set_token('PROCEDURE', l_proc);
44     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
45     fnd_message.raise_error;
46   End If;
47   --
48 End constraint_error;
49 --
50 -- ----------------------------------------------------------------------------
51 -- |-----------------------------< api_updating >-----------------------------|
52 -- ----------------------------------------------------------------------------
53 Function api_updating
54   (p_criteria_rate_defn_id                in     number
55   ,p_object_version_number                in     number
56   )
57   Return Boolean Is
58   --
59   --
60   -- Cursor selects the 'current' row from the HR Schema
61   --
62   Cursor C_Sel1 is
63     select
64        criteria_rate_defn_id
65       ,short_name
66       ,uom
67       ,currency_code
68       ,reference_period_cd
69       ,define_max_rate_flag
70       ,define_min_rate_flag
71       ,define_mid_rate_flag
72       ,define_std_rate_flag
73       ,rate_calc_cd
74       ,rate_calc_rule
75       ,preferential_rate_cd
76       ,preferential_rate_rule
77       ,rounding_cd
78       ,rounding_rule
79       ,business_group_id
80       ,legislation_code
81       ,attribute_category
82       ,attribute1
83       ,attribute2
84       ,attribute3
85       ,attribute4
86       ,attribute5
87       ,attribute6
88       ,attribute7
89       ,attribute8
90       ,attribute9
91       ,attribute10
92       ,attribute11
93       ,attribute12
94       ,attribute13
95       ,attribute14
96       ,attribute15
97       ,attribute16
98       ,attribute17
99       ,attribute18
100       ,attribute19
101       ,attribute20
102       ,attribute21
103       ,attribute22
104       ,attribute23
105       ,attribute24
106       ,attribute25
107       ,attribute26
108       ,attribute27
109       ,attribute28
110       ,attribute29
111       ,attribute30
112       ,object_version_number
113     from        pqh_criteria_rate_defn
114     where       criteria_rate_defn_id = p_criteria_rate_defn_id;
115   --
116   l_fct_ret     boolean;
117   --
118 Begin
119   --
120   If (p_criteria_rate_defn_id is null and
121       p_object_version_number is null
122      ) Then
123     --
124     -- One of the primary key arguments is null therefore we must
125     -- set the returning function value to false
126     --
127     l_fct_ret := false;
128   Else
129     If (p_criteria_rate_defn_id
130         = pqh_crd_shd.g_old_rec.criteria_rate_defn_id and
131         p_object_version_number
132         = pqh_crd_shd.g_old_rec.object_version_number
133        ) Then
134       --
135       -- The g_old_rec is current therefore we must
136       -- set the returning function to true
137       --
138       l_fct_ret := true;
139     Else
140       --
141       -- Select the current row into g_old_rec
142       --
143       Open C_Sel1;
144       Fetch C_Sel1 Into pqh_crd_shd.g_old_rec;
145       If C_Sel1%notfound Then
146         Close C_Sel1;
147         --
148         -- The primary key is invalid therefore we must error
149         --
150         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
151         fnd_message.raise_error;
152       End If;
153       Close C_Sel1;
154       If (p_object_version_number
155           <> pqh_crd_shd.g_old_rec.object_version_number) Then
156         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
157         fnd_message.raise_error;
158       End If;
159       l_fct_ret := true;
160     End If;
161   End If;
162   Return (l_fct_ret);
163 --
164 End api_updating;
165 --
166 -- ----------------------------------------------------------------------------
167 -- |---------------------------------< lck >----------------------------------|
168 -- ----------------------------------------------------------------------------
169 Procedure lck
170   (p_criteria_rate_defn_id                in     number
171   ,p_object_version_number                in     number
172   ) is
173 --
174 -- Cursor selects the 'current' row from the HR Schema
175 --
176   Cursor C_Sel1 is
177     select
178        criteria_rate_defn_id
179       ,short_name
180       ,uom
181       ,currency_code
182       ,reference_period_cd
183       ,define_max_rate_flag
184       ,define_min_rate_flag
185       ,define_mid_rate_flag
186       ,define_std_rate_flag
187       ,rate_calc_cd
188       ,rate_calc_rule
189       ,preferential_rate_cd
190       ,preferential_rate_rule
191       ,rounding_cd
192       ,rounding_rule
193       ,business_group_id
194       ,legislation_code
195       ,attribute_category
196       ,attribute1
197       ,attribute2
198       ,attribute3
199       ,attribute4
200       ,attribute5
201       ,attribute6
202       ,attribute7
203       ,attribute8
204       ,attribute9
205       ,attribute10
206       ,attribute11
207       ,attribute12
208       ,attribute13
209       ,attribute14
210       ,attribute15
211       ,attribute16
212       ,attribute17
213       ,attribute18
214       ,attribute19
215       ,attribute20
216       ,attribute21
217       ,attribute22
218       ,attribute23
219       ,attribute24
220       ,attribute25
221       ,attribute26
222       ,attribute27
223       ,attribute28
224       ,attribute29
225       ,attribute30
226       ,object_version_number
227     from        pqh_criteria_rate_defn
228     where       criteria_rate_defn_id = p_criteria_rate_defn_id
229     for update nowait;
230 --
231   l_proc        varchar2(72) := g_package||'lck';
232 --
233 Begin
234   hr_utility.set_location('Entering:'||l_proc, 5);
235   --
236   hr_api.mandatory_arg_error
237     (p_api_name           => l_proc
238     ,p_argument           => 'CRITERIA_RATE_DEFN_ID'
239     ,p_argument_value     => p_criteria_rate_defn_id
240     );
241   hr_utility.set_location(l_proc,6);
242   hr_api.mandatory_arg_error
243     (p_api_name           => l_proc
244     ,p_argument           => 'OBJECT_VERSION_NUMBER'
245     ,p_argument_value     => p_object_version_number
246     );
247   --
248   Open  C_Sel1;
249   Fetch C_Sel1 Into pqh_crd_shd.g_old_rec;
250   If C_Sel1%notfound then
251     Close C_Sel1;
252     --
253     -- The primary key is invalid therefore we must error
254     --
255     fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
256     fnd_message.raise_error;
257   End If;
258   Close C_Sel1;
259   If (p_object_version_number
260       <> pqh_crd_shd.g_old_rec.object_version_number) Then
261         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
262         fnd_message.raise_error;
263   End If;
264   --
265   hr_utility.set_location(' Leaving:'||l_proc, 10);
266   --
267   -- We need to trap the ORA LOCK exception
268   --
269 Exception
270   When HR_Api.Object_Locked then
271     --
272     -- The object is locked therefore we need to supply a meaningful
273     -- error message.
274     --
275     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
276     fnd_message.set_token('TABLE_NAME', 'pqh_criteria_rate_defn');
277     fnd_message.raise_error;
278 End lck;
279 --
280 -- ----------------------------------------------------------------------------
281 -- |-----------------------------< convert_args >-----------------------------|
282 -- ----------------------------------------------------------------------------
283 Function convert_args
284   (p_criteria_rate_defn_id          in number
285   ,p_short_name                     in varchar2
286   ,p_uom                            in varchar2
287   ,p_currency_code                  in varchar2
288   ,p_reference_period_cd            in varchar2
289   ,p_define_max_rate_flag           in varchar2
290   ,p_define_min_rate_flag           in varchar2
291   ,p_define_mid_rate_flag           in varchar2
292   ,p_define_std_rate_flag           in varchar2
293   ,p_rate_calc_cd                   in varchar2
294   ,p_rate_calc_rule                 in number
295   ,p_preferential_rate_cd           in varchar2
296   ,p_preferential_rate_rule         in number
297   ,p_rounding_cd                    in varchar2
298   ,p_rounding_rule                  in number
299   ,p_business_group_id              in number
300   ,p_legislation_code               in varchar2
301   ,p_attribute_category             in varchar2
302   ,p_attribute1                     in varchar2
303   ,p_attribute2                     in varchar2
304   ,p_attribute3                     in varchar2
305   ,p_attribute4                     in varchar2
306   ,p_attribute5                     in varchar2
307   ,p_attribute6                     in varchar2
308   ,p_attribute7                     in varchar2
309   ,p_attribute8                     in varchar2
310   ,p_attribute9                     in varchar2
311   ,p_attribute10                    in varchar2
312   ,p_attribute11                    in varchar2
313   ,p_attribute12                    in varchar2
314   ,p_attribute13                    in varchar2
315   ,p_attribute14                    in varchar2
316   ,p_attribute15                    in varchar2
317   ,p_attribute16                    in varchar2
318   ,p_attribute17                    in varchar2
319   ,p_attribute18                    in varchar2
320   ,p_attribute19                    in varchar2
321   ,p_attribute20                    in varchar2
322   ,p_attribute21                    in varchar2
323   ,p_attribute22                    in varchar2
324   ,p_attribute23                    in varchar2
325   ,p_attribute24                    in varchar2
326   ,p_attribute25                    in varchar2
327   ,p_attribute26                    in varchar2
328   ,p_attribute27                    in varchar2
329   ,p_attribute28                    in varchar2
330   ,p_attribute29                    in varchar2
331   ,p_attribute30                    in varchar2
332   ,p_object_version_number          in number
333   )
334   Return g_rec_type is
335 --
336   l_rec   g_rec_type;
337 --
338 Begin
339   --
340   -- Convert arguments into local l_rec structure.
341   --
342   l_rec.criteria_rate_defn_id            := p_criteria_rate_defn_id;
343   l_rec.short_name                       := p_short_name;
344   l_rec.uom                              := p_uom;
345   l_rec.currency_code                    := p_currency_code;
346   l_rec.reference_period_cd              := p_reference_period_cd;
347   l_rec.define_max_rate_flag             := p_define_max_rate_flag;
348   l_rec.define_min_rate_flag             := p_define_min_rate_flag;
349   l_rec.define_mid_rate_flag             := p_define_mid_rate_flag;
350   l_rec.define_std_rate_flag             := p_define_std_rate_flag;
351   l_rec.rate_calc_cd                     := p_rate_calc_cd;
352   l_rec.rate_calc_rule                   := p_rate_calc_rule;
353   l_rec.preferential_rate_cd             := p_preferential_rate_cd;
354   l_rec.preferential_rate_rule           := p_preferential_rate_rule;
355   l_rec.rounding_cd                      := p_rounding_cd;
356   l_rec.rounding_rule                    := p_rounding_rule;
357   l_rec.business_group_id                := p_business_group_id;
358   l_rec.legislation_code                 := p_legislation_code;
359   l_rec.attribute_category               := p_attribute_category;
360   l_rec.attribute1                       := p_attribute1;
361   l_rec.attribute2                       := p_attribute2;
362   l_rec.attribute3                       := p_attribute3;
363   l_rec.attribute4                       := p_attribute4;
364   l_rec.attribute5                       := p_attribute5;
365   l_rec.attribute6                       := p_attribute6;
366   l_rec.attribute7                       := p_attribute7;
367   l_rec.attribute8                       := p_attribute8;
368   l_rec.attribute9                       := p_attribute9;
369   l_rec.attribute10                      := p_attribute10;
370   l_rec.attribute11                      := p_attribute11;
371   l_rec.attribute12                      := p_attribute12;
372   l_rec.attribute13                      := p_attribute13;
373   l_rec.attribute14                      := p_attribute14;
374   l_rec.attribute15                      := p_attribute15;
375   l_rec.attribute16                      := p_attribute16;
376   l_rec.attribute17                      := p_attribute17;
377   l_rec.attribute18                      := p_attribute18;
378   l_rec.attribute19                      := p_attribute19;
379   l_rec.attribute20                      := p_attribute20;
380   l_rec.attribute21                      := p_attribute21;
381   l_rec.attribute22                      := p_attribute22;
382   l_rec.attribute23                      := p_attribute23;
383   l_rec.attribute24                      := p_attribute24;
384   l_rec.attribute25                      := p_attribute25;
385   l_rec.attribute26                      := p_attribute26;
386   l_rec.attribute27                      := p_attribute27;
387   l_rec.attribute28                      := p_attribute28;
388   l_rec.attribute29                      := p_attribute29;
389   l_rec.attribute30                      := p_attribute30;
390   l_rec.object_version_number            := p_object_version_number;
391   --
392   -- Return the plsql record structure.
393   --
394   Return(l_rec);
395 --
396 End convert_args;
397 --
398 end pqh_crd_shd;