DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_ANC_UPD

Source


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