1 Package Body pay_pgp_upd as
2 /* $Header: pypgprhi.pkb 115.0 99/07/17 06:22:02 porting ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pay_pgp_upd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |-----------------------------< convert_defs >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 Procedure convert_defs(p_rec in out pay_pgp_shd.g_rec_type) is
15 --
16 l_proc varchar2(72) := g_package||'convert_defs';
17 --
18 Begin
19 --
20 hr_utility.set_location('Entering:'||l_proc, 5);
21 --
22 -- We must now examine each argument value in the
23 -- p_rec plsql record structure
24 -- to see if a system default is being used. If a system default
25 -- is being used then we must set to the 'current' argument value.
26 --
27 If (p_rec.group_name = hr_api.g_varchar2) then
28 p_rec.group_name :=
29 pay_pgp_shd.g_old_rec.group_name;
30 End If;
31 If (p_rec.id_flex_num = hr_api.g_number) then
32 p_rec.id_flex_num :=
33 pay_pgp_shd.g_old_rec.id_flex_num;
34 End If;
35 If (p_rec.summary_flag = hr_api.g_varchar2) then
36 p_rec.summary_flag :=
37 pay_pgp_shd.g_old_rec.summary_flag;
38 End If;
39 If (p_rec.enabled_flag = hr_api.g_varchar2) then
40 p_rec.enabled_flag :=
41 pay_pgp_shd.g_old_rec.enabled_flag;
42 End If;
43 If (p_rec.start_date_active = hr_api.g_date) then
44 p_rec.start_date_active :=
45 pay_pgp_shd.g_old_rec.start_date_active;
46 End If;
47 If (p_rec.end_date_active = hr_api.g_date) then
48 p_rec.end_date_active :=
49 pay_pgp_shd.g_old_rec.end_date_active;
50 End If;
51 If (p_rec.segment1 = hr_api.g_varchar2) then
52 p_rec.segment1 :=
53 pay_pgp_shd.g_old_rec.segment1;
54 End If;
55 If (p_rec.segment2 = hr_api.g_varchar2) then
56 p_rec.segment2 :=
57 pay_pgp_shd.g_old_rec.segment2;
58 End If;
59 If (p_rec.segment3 = hr_api.g_varchar2) then
60 p_rec.segment3 :=
61 pay_pgp_shd.g_old_rec.segment3;
62 End If;
63 If (p_rec.segment4 = hr_api.g_varchar2) then
64 p_rec.segment4 :=
65 pay_pgp_shd.g_old_rec.segment4;
66 End If;
67 If (p_rec.segment5 = hr_api.g_varchar2) then
68 p_rec.segment5 :=
69 pay_pgp_shd.g_old_rec.segment5;
70 End If;
71 If (p_rec.segment6 = hr_api.g_varchar2) then
72 p_rec.segment6 :=
73 pay_pgp_shd.g_old_rec.segment6;
74 End If;
75 If (p_rec.segment7 = hr_api.g_varchar2) then
76 p_rec.segment7 :=
77 pay_pgp_shd.g_old_rec.segment7;
78 End If;
79 If (p_rec.segment8 = hr_api.g_varchar2) then
80 p_rec.segment8 :=
81 pay_pgp_shd.g_old_rec.segment8;
82 End If;
83 If (p_rec.segment9 = hr_api.g_varchar2) then
84 p_rec.segment9 :=
85 pay_pgp_shd.g_old_rec.segment9;
86 End If;
87 If (p_rec.segment10 = hr_api.g_varchar2) then
88 p_rec.segment10 :=
89 pay_pgp_shd.g_old_rec.segment10;
90 End If;
91 If (p_rec.segment11 = hr_api.g_varchar2) then
92 p_rec.segment11 :=
93 pay_pgp_shd.g_old_rec.segment11;
94 End If;
95 If (p_rec.segment12 = hr_api.g_varchar2) then
96 p_rec.segment12 :=
97 pay_pgp_shd.g_old_rec.segment12;
98 End If;
99 If (p_rec.segment13 = hr_api.g_varchar2) then
100 p_rec.segment13 :=
101 pay_pgp_shd.g_old_rec.segment13;
102 End If;
103 If (p_rec.segment14 = hr_api.g_varchar2) then
104 p_rec.segment14 :=
105 pay_pgp_shd.g_old_rec.segment14;
106 End If;
107 If (p_rec.segment15 = hr_api.g_varchar2) then
108 p_rec.segment15 :=
109 pay_pgp_shd.g_old_rec.segment15;
110 End If;
111 If (p_rec.segment16 = hr_api.g_varchar2) then
112 p_rec.segment16 :=
113 pay_pgp_shd.g_old_rec.segment16;
114 End If;
115 If (p_rec.segment17 = hr_api.g_varchar2) then
116 p_rec.segment17 :=
117 pay_pgp_shd.g_old_rec.segment17;
118 End If;
119 If (p_rec.segment18 = hr_api.g_varchar2) then
120 p_rec.segment18 :=
121 pay_pgp_shd.g_old_rec.segment18;
122 End If;
123 If (p_rec.segment19 = hr_api.g_varchar2) then
124 p_rec.segment19 :=
125 pay_pgp_shd.g_old_rec.segment19;
126 End If;
127 If (p_rec.segment20 = hr_api.g_varchar2) then
128 p_rec.segment20 :=
129 pay_pgp_shd.g_old_rec.segment20;
130 End If;
131 If (p_rec.segment21 = hr_api.g_varchar2) then
132 p_rec.segment21 :=
133 pay_pgp_shd.g_old_rec.segment21;
134 End If;
135 If (p_rec.segment22 = hr_api.g_varchar2) then
136 p_rec.segment22 :=
137 pay_pgp_shd.g_old_rec.segment22;
138 End If;
139 If (p_rec.segment23 = hr_api.g_varchar2) then
140 p_rec.segment23 :=
141 pay_pgp_shd.g_old_rec.segment23;
142 End If;
143 If (p_rec.segment24 = hr_api.g_varchar2) then
144 p_rec.segment24 :=
145 pay_pgp_shd.g_old_rec.segment24;
146 End If;
147 If (p_rec.segment25 = hr_api.g_varchar2) then
148 p_rec.segment25 :=
149 pay_pgp_shd.g_old_rec.segment25;
150 End If;
151 If (p_rec.segment26 = hr_api.g_varchar2) then
152 p_rec.segment26 :=
153 pay_pgp_shd.g_old_rec.segment26;
154 End If;
155 If (p_rec.segment27 = hr_api.g_varchar2) then
156 p_rec.segment27 :=
157 pay_pgp_shd.g_old_rec.segment27;
158 End If;
159 If (p_rec.segment28 = hr_api.g_varchar2) then
160 p_rec.segment28 :=
161 pay_pgp_shd.g_old_rec.segment28;
162 End If;
163 If (p_rec.segment29 = hr_api.g_varchar2) then
164 p_rec.segment29 :=
165 pay_pgp_shd.g_old_rec.segment29;
166 End If;
167 If (p_rec.segment30 = hr_api.g_varchar2) then
168 p_rec.segment30 :=
169 pay_pgp_shd.g_old_rec.segment30;
170 End If;
171
172 --
173 hr_utility.set_location(' Leaving:'||l_proc, 10);
174 --
175 End convert_defs;
176 --
177 -- ----------------------------------------------------------------------------
178 -- |-------------------------------< upd_or_sel >-----------------------------|
179 -- ----------------------------------------------------------------------------
180 --
181 procedure upd_or_sel
182 (p_segment1 in varchar2 default hr_api.g_varchar2,
183 p_segment2 in varchar2 default hr_api.g_varchar2,
184 p_segment3 in varchar2 default hr_api.g_varchar2,
185 p_segment4 in varchar2 default hr_api.g_varchar2,
186 p_segment5 in varchar2 default hr_api.g_varchar2,
187 p_segment6 in varchar2 default hr_api.g_varchar2,
188 p_segment7 in varchar2 default hr_api.g_varchar2,
189 p_segment8 in varchar2 default hr_api.g_varchar2,
190 p_segment9 in varchar2 default hr_api.g_varchar2,
191 p_segment10 in varchar2 default hr_api.g_varchar2,
192 p_segment11 in varchar2 default hr_api.g_varchar2,
193 p_segment12 in varchar2 default hr_api.g_varchar2,
194 p_segment13 in varchar2 default hr_api.g_varchar2,
195 p_segment14 in varchar2 default hr_api.g_varchar2,
196 p_segment15 in varchar2 default hr_api.g_varchar2,
197 p_segment16 in varchar2 default hr_api.g_varchar2,
198 p_segment17 in varchar2 default hr_api.g_varchar2,
199 p_segment18 in varchar2 default hr_api.g_varchar2,
200 p_segment19 in varchar2 default hr_api.g_varchar2,
201 p_segment20 in varchar2 default hr_api.g_varchar2,
202 p_segment21 in varchar2 default hr_api.g_varchar2,
203 p_segment22 in varchar2 default hr_api.g_varchar2,
204 p_segment23 in varchar2 default hr_api.g_varchar2,
205 p_segment24 in varchar2 default hr_api.g_varchar2,
206 p_segment25 in varchar2 default hr_api.g_varchar2,
207 p_segment26 in varchar2 default hr_api.g_varchar2,
208 p_segment27 in varchar2 default hr_api.g_varchar2,
209 p_segment28 in varchar2 default hr_api.g_varchar2,
210 p_segment29 in varchar2 default hr_api.g_varchar2,
211 p_segment30 in varchar2 default hr_api.g_varchar2,
212 p_business_group_id in number,
213 p_people_group_id in out number,
214 p_group_name out varchar2,
215 p_validate in boolean default false) is
216 --
217 l_proc varchar2(72) := g_package||'upd_or_sel';
218 l_rec pay_pgp_shd.g_rec_type;
219 --
220 begin
221 hr_utility.set_location('Entering:'||l_proc, 5);
222 --
223 -- convert args into record format
224 --
225 l_rec :=
226 pay_pgp_shd.convert_args
227 (p_people_group_id,
228 null,
229 null,
230 null,
231 null,
232 null,
233 null,
234 p_segment1,
235 p_segment2,
236 p_segment3,
237 p_segment4,
238 p_segment5,
239 p_segment6,
240 p_segment7,
241 p_segment8,
242 p_segment9,
243 p_segment10,
244 p_segment11,
245 p_segment12,
246 p_segment13,
247 p_segment14,
248 p_segment15,
249 p_segment16,
250 p_segment17,
251 p_segment18,
252 p_segment19,
253 p_segment20,
254 p_segment21,
255 p_segment22,
256 p_segment23,
257 p_segment24,
258 p_segment25,
259 p_segment26,
260 p_segment27,
261 p_segment28,
262 p_segment29,
263 p_segment30);
264 --
265 -- check to see if we are updating a row
266 --
267 if pay_pgp_shd.api_updating
268 (p_people_group_id => l_rec.people_group_id) then
269 --
270 hr_utility.set_location(l_proc, 10);
271 --
272 -- the current row exists and we have populated the g_old_rec
273 -- we must now build up the new record by converting the
274 -- arguments into a record structure and converting any of the
275 -- system default values
276 --
277 pay_pgp_upd.convert_defs(p_rec => l_rec);
278 else
279 --
280 -- as we are actually doing an insert we need to reset the
281 -- arguments if they are using a system default value
282 -- to null otherwise the segments will have the system default
283 -- values when being inserted
284 --
285 if (l_rec.segment1 = hr_api.g_varchar2) then
286 l_rec.segment1 := null;
287 end if;
288 if (l_rec.segment2 = hr_api.g_varchar2) then
289 l_rec.segment2 := null;
290 end if;
291 if (l_rec.segment3 = hr_api.g_varchar2) then
292 l_rec.segment3 := null;
293 end if;
294 if (l_rec.segment4 = hr_api.g_varchar2) then
295 l_rec.segment4 := null;
296 end if;
297 if (l_rec.segment5 = hr_api.g_varchar2) then
298 l_rec.segment5 := null;
299 end if;
300 if (l_rec.segment6 = hr_api.g_varchar2) then
301 l_rec.segment6 := null;
302 end if;
303 if (l_rec.segment7 = hr_api.g_varchar2) then
304 l_rec.segment7 := null;
305 end if;
306 if (l_rec.segment8 = hr_api.g_varchar2) then
307 l_rec.segment8 := null;
308 end if;
309 if (l_rec.segment9 = hr_api.g_varchar2) then
310 l_rec.segment9 := null;
311 end if;
312 if (l_rec.segment10 = hr_api.g_varchar2) then
313 l_rec.segment10 := null;
314 end if;
315 if (l_rec.segment11 = hr_api.g_varchar2) then
316 l_rec.segment11 := null;
317 end if;
318 if (l_rec.segment12 = hr_api.g_varchar2) then
319 l_rec.segment12 := null;
320 end if;
321 if (l_rec.segment13 = hr_api.g_varchar2) then
322 l_rec.segment13 := null;
323 end if;
324 if (l_rec.segment14 = hr_api.g_varchar2) then
325 l_rec.segment14 := null;
326 end if;
327 if (l_rec.segment15 = hr_api.g_varchar2) then
328 l_rec.segment15 := null;
329 end if;
330 if (l_rec.segment16 = hr_api.g_varchar2) then
331 l_rec.segment16 := null;
332 end if;
333 if (l_rec.segment17 = hr_api.g_varchar2) then
334 l_rec.segment17 := null;
335 end if;
336 if (l_rec.segment18 = hr_api.g_varchar2) then
337 l_rec.segment18 := null;
338 end if;
339 if (l_rec.segment19 = hr_api.g_varchar2) then
340 l_rec.segment19 := null;
341 end if;
342 if (l_rec.segment20 = hr_api.g_varchar2) then
343 l_rec.segment20 := null;
344 end if;
345 if (l_rec.segment21 = hr_api.g_varchar2) then
346 l_rec.segment21 := null;
347 end if;
348 if (l_rec.segment22 = hr_api.g_varchar2) then
349 l_rec.segment22 := null;
350 end if;
351 if (l_rec.segment23 = hr_api.g_varchar2) then
352 l_rec.segment23 := null;
353 end if;
354 if (l_rec.segment24 = hr_api.g_varchar2) then
355 l_rec.segment24 := null;
356 end if;
357 if (l_rec.segment25 = hr_api.g_varchar2) then
358 l_rec.segment25 := null;
359 end if;
360 if (l_rec.segment26 = hr_api.g_varchar2) then
361 l_rec.segment26 := null;
362 end if;
363 if (l_rec.segment27 = hr_api.g_varchar2) then
364 l_rec.segment27 := null;
365 end if;
366 if (l_rec.segment28 = hr_api.g_varchar2) then
367 l_rec.segment28 := null;
368 end if;
369 if (l_rec.segment29 = hr_api.g_varchar2) then
370 l_rec.segment29 := null;
371 end if;
372 if (l_rec.segment30 = hr_api.g_varchar2) then
373 l_rec.segment30 := null;
374 end if;
375 end if;
376 hr_utility.set_location(l_proc, 15);
377 --
378 -- call the ins_or_sel process
379 --
380 pay_pgp_ins.ins_or_sel
381 (p_segment1 => l_rec.segment1,
382 p_segment2 => l_rec.segment2,
383 p_segment3 => l_rec.segment3,
384 p_segment4 => l_rec.segment4,
385 p_segment5 => l_rec.segment5,
386 p_segment6 => l_rec.segment6,
387 p_segment7 => l_rec.segment7,
388 p_segment8 => l_rec.segment8,
389 p_segment9 => l_rec.segment9,
390 p_segment10 => l_rec.segment10,
391 p_segment11 => l_rec.segment11,
392 p_segment12 => l_rec.segment12,
393 p_segment13 => l_rec.segment13,
394 p_segment14 => l_rec.segment14,
395 p_segment15 => l_rec.segment15,
396 p_segment16 => l_rec.segment16,
397 p_segment17 => l_rec.segment17,
398 p_segment18 => l_rec.segment18,
399 p_segment19 => l_rec.segment19,
400 p_segment20 => l_rec.segment20,
401 p_segment21 => l_rec.segment21,
402 p_segment22 => l_rec.segment22,
403 p_segment23 => l_rec.segment23,
404 p_segment24 => l_rec.segment24,
405 p_segment25 => l_rec.segment25,
406 p_segment26 => l_rec.segment26,
407 p_segment27 => l_rec.segment27,
408 p_segment28 => l_rec.segment28,
409 p_segment29 => l_rec.segment29,
410 p_segment30 => l_rec.segment30,
411 p_business_group_id => p_business_group_id,
412 p_people_group_id => l_rec.people_group_id,
413 p_group_name => l_rec.group_name,
414 p_validate => p_validate);
415 --
416 -- set the out arguments
417 --
418 p_people_group_id := l_rec.people_group_id;
419 p_group_name := l_rec.group_name;
420 hr_utility.set_location(' Leaving:'||l_proc, 20);
421 --
422 end upd_or_sel;
423
424 --
425 end pay_pgp_upd;