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