[Home] [Help]
PACKAGE BODY: APPS.PAY_BTH_SHD
Source
1 Package Body pay_bth_shd as
2 /* $Header: pybthrhi.pkb 120.2 2005/06/12 16:19:52 susivasu noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pay_bth_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15 Begin
16 --
17 Return (nvl(g_api_dml, false));
18 --
19 End return_api_dml_status;
20 --
21 -- ----------------------------------------------------------------------------
22 -- |---------------------------< constraint_error >---------------------------|
23 -- ----------------------------------------------------------------------------
24 Procedure constraint_error
25 (p_constraint_name in all_constraints.constraint_name%TYPE
26 ) Is
27 --
28 l_proc varchar2(72) := g_package||'constraint_error';
29 --
30 Begin
31 --
32 If (p_constraint_name = 'PAY_BATCH_HEADERS_PK') Then
33 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
34 fnd_message.set_token('PROCEDURE', l_proc);
35 fnd_message.set_token('STEP','5');
36 fnd_message.raise_error;
37 ElsIf (p_constraint_name = 'PAY_BCH_ACTION_IF_EXISTS_CHK') Then
38 fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
39 fnd_message.set_token('COLUMN_NAME', 'ACTION_IF_EXISTS');
40 fnd_message.raise_error;
41 ElsIf (p_constraint_name = 'PAY_BCH_BATCH_STATUS_CHK') Then
42 fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
43 fnd_message.set_token('COLUMN_NAME', 'BATCH_STATUS');
44 fnd_message.raise_error;
45 ElsIf (p_constraint_name = 'PAY_BCH_DATE_EFFECTIVE_CHA_CHK') Then
46 fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
47 fnd_message.set_token('COLUMN_NAME', 'DATE_EFFECTIVE_CHANGES');
48 fnd_message.raise_error;
49 ElsIf (p_constraint_name = 'PAY_BCH_PURGE_AFTER_TRANSF_CHK') Then
50 fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
51 fnd_message.set_token('COLUMN_NAME', 'PURGE_AFTER_TRANSFER');
52 fnd_message.raise_error;
53 ElsIf (p_constraint_name = 'PAY_BCH_REJECT_IF_FUTURE_C_CHK') Then
54 fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
55 fnd_message.set_token('COLUMN_NAME', 'REJECT_IF_FUTURE_CHANGES');
56 fnd_message.raise_error;
57 ElsIf (p_constraint_name = 'PAY_BCH_REJECT_IF_RESULTS_E_CHK') Then
58 fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
59 fnd_message.set_token('COLUMN_NAME', 'REJECT_IF_RESULTS_EXISTS');
60 fnd_message.raise_error;
61 ElsIf (p_constraint_name = 'PAY_BCH_PURGE_AFTER_R_CHK') Then
62 fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
63 fnd_message.set_token('COLUMN_NAME', 'PURGE_AFTER_ROLLBACK');
64 fnd_message.raise_error;
65 Else
66 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
67 fnd_message.set_token('PROCEDURE', l_proc);
68 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
69 fnd_message.raise_error;
70 End If;
71 --
72 End constraint_error;
73 --
74 -- ----------------------------------------------------------------------------
75 -- |-----------------------------< api_updating >-----------------------------|
76 -- ----------------------------------------------------------------------------
77 Function api_updating
78 (p_batch_id in number
79 ,p_object_version_number in number
80 )
81 Return Boolean Is
82 --
83 --
84 -- Cursor selects the 'current' row from the HR Schema
85 --
86 Cursor C_Sel1 is
87 select
88 batch_id
89 ,business_group_id
90 ,batch_name
91 ,batch_status
92 ,action_if_exists
93 ,batch_reference
94 ,batch_source
95 ,batch_type
96 ,comments
97 ,date_effective_changes
98 ,purge_after_transfer
99 ,reject_if_future_changes
100 ,reject_if_results_exists
101 ,purge_after_rollback
102 ,REJECT_ENTRY_NOT_REMOVED
103 ,ROLLBACK_ENTRY_UPDATES
104 ,object_version_number
105 from pay_batch_headers
106 where batch_id = p_batch_id;
107 --
108 l_fct_ret boolean;
109 --
110 Begin
111 --
112 If (p_batch_id is null and
113 p_object_version_number is null
114 ) Then
115 --
116 -- One of the primary key arguments is null therefore we must
117 -- set the returning function value to false
118 --
119 l_fct_ret := false;
120 Else
121 If (p_batch_id
122 = pay_bth_shd.g_old_rec.batch_id and
123 p_object_version_number
124 = pay_bth_shd.g_old_rec.object_version_number
125 ) Then
126 --
127 -- The g_old_rec is current therefore we must
128 -- set the returning function to true
129 --
130 l_fct_ret := true;
131 Else
132 --
133 -- Select the current row into g_old_rec
134 --
135 Open C_Sel1;
136 Fetch C_Sel1 Into pay_bth_shd.g_old_rec;
137 If C_Sel1%notfound Then
138 Close C_Sel1;
139 --
140 -- The primary key is invalid therefore we must error
141 --
142 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
143 fnd_message.raise_error;
144 End If;
145 Close C_Sel1;
146 If (p_object_version_number
147 <> pay_bth_shd.g_old_rec.object_version_number) Then
148 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
149 fnd_message.raise_error;
150 End If;
151 l_fct_ret := true;
152 End If;
153 End If;
154 Return (l_fct_ret);
155 --
156 End api_updating;
157 --
158 -- ----------------------------------------------------------------------------
159 -- |---------------------------------< lck >----------------------------------|
160 -- ----------------------------------------------------------------------------
161 Procedure lck
162 (p_batch_id in number
163 ,p_object_version_number in number
164 ) is
165 --
166 -- Cursor selects the 'current' row from the HR Schema
167 --
168 Cursor C_Sel1 is
169 select
170 batch_id
171 ,business_group_id
172 ,batch_name
173 ,batch_status
174 ,action_if_exists
175 ,batch_reference
176 ,batch_source
177 ,batch_type
178 ,comments
179 ,date_effective_changes
180 ,purge_after_transfer
181 ,reject_if_future_changes
182 ,reject_if_results_exists
183 ,purge_after_rollback
184 ,REJECT_ENTRY_NOT_REMOVED
185 ,ROLLBACK_ENTRY_UPDATES
186 ,object_version_number
187 from pay_batch_headers
188 where batch_id = p_batch_id
189 for update nowait;
190 --
191 l_proc varchar2(72) := g_package||'lck';
192 --
193 Begin
194 hr_utility.set_location('Entering:'||l_proc, 5);
195 --
196 hr_api.mandatory_arg_error
197 (p_api_name => l_proc
198 ,p_argument => 'BATCH_ID'
199 ,p_argument_value => p_batch_id
200 );
201 --
202 Open C_Sel1;
203 Fetch C_Sel1 Into pay_bth_shd.g_old_rec;
204 If C_Sel1%notfound then
205 Close C_Sel1;
206 --
207 -- The primary key is invalid therefore we must error
208 --
209 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
210 fnd_message.raise_error;
211 End If;
212 Close C_Sel1;
213 If (p_object_version_number
214 <> pay_bth_shd.g_old_rec.object_version_number) Then
215 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
216 fnd_message.raise_error;
217 End If;
218 --
219 hr_utility.set_location(' Leaving:'||l_proc, 10);
220 --
221 -- We need to trap the ORA LOCK exception
222 --
223 Exception
224 When HR_Api.Object_Locked then
225 --
226 -- The object is locked therefore we need to supply a meaningful
227 -- error message.
228 --
229 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
230 fnd_message.set_token('TABLE_NAME', 'pay_batch_headers');
231 fnd_message.raise_error;
232 End lck;
233 --
234 -- ----------------------------------------------------------------------------
235 -- |-----------------------------< convert_args >-----------------------------|
236 -- ----------------------------------------------------------------------------
237 Function convert_args
238 (p_batch_id in number
239 ,p_business_group_id in number
240 ,p_batch_name in varchar2
241 ,p_batch_status in varchar2
242 ,p_action_if_exists in varchar2
243 ,p_batch_reference in varchar2
244 ,p_batch_source in varchar2
245 ,p_batch_type in varchar2
246 ,p_comments in varchar2
247 ,p_date_effective_changes in varchar2
248 ,p_purge_after_transfer in varchar2
249 ,p_reject_if_future_changes in varchar2
250 ,p_reject_if_results_exists in varchar2
251 ,p_purge_after_rollback in varchar2
252 ,p_REJECT_ENTRY_NOT_REMOVED in varchar2
253 ,p_ROLLBACK_ENTRY_UPDATES in varchar2
254 ,p_object_version_number in number
255 )
256 Return g_rec_type is
257 --
258 l_rec g_rec_type;
259 --
260 Begin
261 --
262 -- Convert arguments into local l_rec structure.
263 --
264 l_rec.batch_id := p_batch_id;
265 l_rec.business_group_id := p_business_group_id;
266 l_rec.batch_name := p_batch_name;
267 l_rec.batch_status := p_batch_status;
268 l_rec.action_if_exists := p_action_if_exists;
269 l_rec.batch_reference := p_batch_reference;
270 l_rec.batch_source := p_batch_source;
271 l_rec.batch_type := p_batch_type;
272 l_rec.comments := p_comments;
273 l_rec.date_effective_changes := p_date_effective_changes;
274 l_rec.purge_after_transfer := p_purge_after_transfer;
275 l_rec.reject_if_future_changes := p_reject_if_future_changes;
276 l_rec.reject_if_results_exists := p_reject_if_results_exists;
277 l_rec.purge_after_rollback := p_purge_after_rollback;
278 l_rec.REJECT_ENTRY_NOT_REMOVED := p_REJECT_ENTRY_NOT_REMOVED;
279 l_rec.ROLLBACK_ENTRY_UPDATES := p_ROLLBACK_ENTRY_UPDATES;
280 l_rec.object_version_number := p_object_version_number;
281 --
282 -- Return the plsql record structure.
283 --
284 Return(l_rec);
285 --
286 End convert_args;
287 --
288 end pay_bth_shd;