DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_CGD_UPD

Source


1 Package Body hr_cgd_upd as
2 /* $Header: hrcgdrhi.pkb 115.4 2002/12/03 09:17:25 hjonnala ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  hr_cgd_upd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |-----------------------------< convert_defs >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure convert_defs(p_rec in out nocopy hr_cgd_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.id_flex_num = hr_api.g_number) then
27     p_rec.id_flex_num :=
28     hr_cgd_shd.g_old_rec.id_flex_num;
29   End If;
30   If (p_rec.summary_flag = hr_api.g_varchar2) then
31     p_rec.summary_flag :=
32     hr_cgd_shd.g_old_rec.summary_flag;
33   End If;
34   If (p_rec.enabled_flag = hr_api.g_varchar2) then
35     p_rec.enabled_flag :=
36     hr_cgd_shd.g_old_rec.enabled_flag;
37   End If;
38   If (p_rec.start_date_active = hr_api.g_date) then
39     p_rec.start_date_active :=
40     hr_cgd_shd.g_old_rec.start_date_active;
41   End If;
42   If (p_rec.end_date_active = hr_api.g_date) then
43     p_rec.end_date_active :=
44     hr_cgd_shd.g_old_rec.end_date_active;
45   End If;
46   If (p_rec.segment1 = hr_api.g_varchar2) then
47     p_rec.segment1 :=
48     hr_cgd_shd.g_old_rec.segment1;
49   End If;
50   If (p_rec.segment2 = hr_api.g_varchar2) then
51     p_rec.segment2 :=
52     hr_cgd_shd.g_old_rec.segment2;
53   End If;
54   If (p_rec.segment3 = hr_api.g_varchar2) then
55     p_rec.segment3 :=
56     hr_cgd_shd.g_old_rec.segment3;
57   End If;
58   If (p_rec.segment4 = hr_api.g_varchar2) then
59     p_rec.segment4 :=
60     hr_cgd_shd.g_old_rec.segment4;
61   End If;
62   If (p_rec.segment5 = hr_api.g_varchar2) then
63     p_rec.segment5 :=
64     hr_cgd_shd.g_old_rec.segment5;
65   End If;
66   If (p_rec.segment6 = hr_api.g_varchar2) then
67     p_rec.segment6 :=
68     hr_cgd_shd.g_old_rec.segment6;
69   End If;
70   If (p_rec.segment7 = hr_api.g_varchar2) then
71     p_rec.segment7 :=
72     hr_cgd_shd.g_old_rec.segment7;
73   End If;
74   If (p_rec.segment8 = hr_api.g_varchar2) then
75     p_rec.segment8 :=
76     hr_cgd_shd.g_old_rec.segment8;
77   End If;
78   If (p_rec.segment9 = hr_api.g_varchar2) then
79     p_rec.segment9 :=
80     hr_cgd_shd.g_old_rec.segment9;
81   End If;
82   If (p_rec.segment10 = hr_api.g_varchar2) then
83     p_rec.segment10 :=
84     hr_cgd_shd.g_old_rec.segment10;
85   End If;
86   If (p_rec.segment11 = hr_api.g_varchar2) then
87     p_rec.segment11 :=
88     hr_cgd_shd.g_old_rec.segment11;
89   End If;
90   If (p_rec.segment12 = hr_api.g_varchar2) then
91     p_rec.segment12 :=
92     hr_cgd_shd.g_old_rec.segment12;
93   End If;
94   If (p_rec.segment13 = hr_api.g_varchar2) then
95     p_rec.segment13 :=
96     hr_cgd_shd.g_old_rec.segment13;
97   End If;
98   If (p_rec.segment14 = hr_api.g_varchar2) then
99     p_rec.segment14 :=
100     hr_cgd_shd.g_old_rec.segment14;
101   End If;
102   If (p_rec.segment15 = hr_api.g_varchar2) then
103     p_rec.segment15 :=
104     hr_cgd_shd.g_old_rec.segment15;
105   End If;
106   If (p_rec.segment16 = hr_api.g_varchar2) then
107     p_rec.segment16 :=
108     hr_cgd_shd.g_old_rec.segment16;
109   End If;
110   If (p_rec.segment17 = hr_api.g_varchar2) then
111     p_rec.segment17 :=
112     hr_cgd_shd.g_old_rec.segment17;
113   End If;
114   If (p_rec.segment18 = hr_api.g_varchar2) then
115     p_rec.segment18 :=
116     hr_cgd_shd.g_old_rec.segment18;
117   End If;
118   If (p_rec.segment19 = hr_api.g_varchar2) then
119     p_rec.segment19 :=
120     hr_cgd_shd.g_old_rec.segment19;
121   End If;
122   If (p_rec.segment20 = hr_api.g_varchar2) then
123     p_rec.segment20 :=
124     hr_cgd_shd.g_old_rec.segment20;
125   End If;
126       --
127   hr_utility.set_location(' Leaving:'||l_proc, 10);
128 --
129 End convert_defs;
130 --
131 -- ----------------------------------------------------------------------------
132 -- |-------------------------------< upd_or_sel >-----------------------------|
133 -- ----------------------------------------------------------------------------
134 --
135 procedure upd_or_sel
136          (p_segment1               in     varchar2 default hr_api.g_varchar2,
137           p_segment2               in     varchar2 default hr_api.g_varchar2,
138           p_segment3               in     varchar2 default hr_api.g_varchar2,
139           p_segment4               in     varchar2 default hr_api.g_varchar2,
140           p_segment5               in     varchar2 default hr_api.g_varchar2,
141           p_segment6               in     varchar2 default hr_api.g_varchar2,
142           p_segment7               in     varchar2 default hr_api.g_varchar2,
143           p_segment8               in     varchar2 default hr_api.g_varchar2,
144           p_segment9               in     varchar2 default hr_api.g_varchar2,
145           p_segment10              in     varchar2 default hr_api.g_varchar2,
146           p_segment11              in     varchar2 default hr_api.g_varchar2,
147           p_segment12              in     varchar2 default hr_api.g_varchar2,
148           p_segment13              in     varchar2 default hr_api.g_varchar2,
149           p_segment14              in     varchar2 default hr_api.g_varchar2,
150           p_segment15              in     varchar2 default hr_api.g_varchar2,
151           p_segment16              in     varchar2 default hr_api.g_varchar2,
152           p_segment17              in     varchar2 default hr_api.g_varchar2,
153           p_segment18              in     varchar2 default hr_api.g_varchar2,
154           p_segment19              in     varchar2 default hr_api.g_varchar2,
155           p_segment20              in     varchar2 default hr_api.g_varchar2,
156           p_id_flex_num            in     number   default hr_api.g_number,
157           p_business_group_id      in     number,
158           p_cagr_grade_def_id      in out nocopy number,
159           p_concatenated_segments     out nocopy varchar2
160           ) is
161   --
162   l_proc          varchar2(72) := g_package||'upd_or_sel';
163   l_rec           hr_cgd_shd.g_rec_type;
164   l_concatenated_segments   varchar2(2000);
165   l_segs_changed           boolean;
166 --
167 begin
168   hr_utility.set_location('Entering:'||l_proc, 5);
169   --
170   -- Derive if any segments are changing
171   If ((l_rec.segment1 = hr_api.g_varchar2) AND
172      (l_rec.segment2 = hr_api.g_varchar2)  AND
173      (l_rec.segment3 = hr_api.g_varchar2)  AND
174      (l_rec.segment4 = hr_api.g_varchar2)  AND
175      (l_rec.segment5 = hr_api.g_varchar2)  AND
176      (l_rec.segment6 = hr_api.g_varchar2)  AND
177      (l_rec.segment7 = hr_api.g_varchar2)  AND
178      (l_rec.segment8 = hr_api.g_varchar2)  AND
179      (l_rec.segment9 = hr_api.g_varchar2)  AND
180      (l_rec.segment10 = hr_api.g_varchar2) AND
181      (l_rec.segment11 = hr_api.g_varchar2) AND
182      (l_rec.segment12 = hr_api.g_varchar2) AND
183      (l_rec.segment13 = hr_api.g_varchar2) AND
184      (l_rec.segment14 = hr_api.g_varchar2) AND
185      (l_rec.segment15 = hr_api.g_varchar2) AND
186      (l_rec.segment16 = hr_api.g_varchar2) AND
187      (l_rec.segment17 = hr_api.g_varchar2) AND
188      (l_rec.segment18 = hr_api.g_varchar2) AND
189      (l_rec.segment19 = hr_api.g_varchar2) AND
190      (l_rec.segment20 = hr_api.g_varchar2)) THEN
191      l_segs_changed := true;
192    Else
193      l_segs_changed := false;
194    End if;
195    --
196   -- Do not need to go any further if there is nothing to do.
197   If (p_id_flex_num = hr_api.g_number)
198     AND (l_segs_changed = false) THEN
199     --
200     -- nothing to do
201     -- leave the grade id as it was
202     p_concatenated_segments  := null;
203     --
204   ELSE
205     --
206     -- set the client_info
207     --
208     hr_api.validate_bus_grp_id (p_business_group_id);
209     --
210     -- convert args into record format
211     l_rec :=
212       hr_cgd_shd.convert_args (
213        p_cagr_grade_def_id  => p_cagr_grade_def_id,
214        p_id_flex_num        => p_id_flex_num,
215        p_summary_flag       => null,
216        p_enabled_flag       => null,
217        p_start_date_active  => null,
218        p_end_date_active    => null,
219        p_segment1           => p_segment1,
220        p_segment2           => p_segment2,
221        p_segment3           => p_segment3,
222        p_segment4           => p_segment4,
223        p_segment5           => p_segment5,
224        p_segment6           => p_segment6,
225        p_segment7           => p_segment7,
226        p_segment8           => p_segment8,
227        p_segment9           => p_segment9,
228        p_segment10          => p_segment10,
229        p_segment11          => p_segment11,
230        p_segment12          => p_segment12,
231        p_segment13          => p_segment13,
232        p_segment14          => p_segment14,
233        p_segment15          => p_segment15,
234        p_segment16          => p_segment16,
235        p_segment17          => p_segment17,
236        p_segment18          => p_segment18,
237        p_segment19          => p_segment19,
238        p_segment20          => p_segment20
239        );
240     --
241     -- check to see if we are updating a row
242     --
243     if hr_cgd_shd.api_updating
244        (p_cagr_grade_def_id => l_rec.cagr_grade_def_id) then
245       --
246       hr_utility.set_location(l_proc, 10);
247       --
248       -- the current row exists and we have populated the g_old_rec
249       -- we must now build up the new record by converting the
250       -- arguments into a record structure and converting any of the
251       -- system default values
252       --
253       hr_cgd_upd.convert_defs(p_rec => l_rec);
254     else
255       --
256       -- as we are actually doing an insert we need to reset the
257       -- arguments if they are using a system default value
258       -- to null otherwise the segments will have the system default
259       -- values when being inserted
260       --
261       if (l_rec.segment1 = hr_api.g_varchar2) then
262         l_rec.segment1 := null;
263       end if;
264     if (l_rec.segment2 = hr_api.g_varchar2) then
265       l_rec.segment2 := null;
266     end if;
267     if (l_rec.segment3 = hr_api.g_varchar2) then
268       l_rec.segment3 := null;
269     end if;
270     if (l_rec.segment4 = hr_api.g_varchar2) then
271       l_rec.segment4 := null;
272     end if;
273     if (l_rec.segment5 = hr_api.g_varchar2) then
274       l_rec.segment5 := null;
275     end if;
276     if (l_rec.segment6 = hr_api.g_varchar2) then
277       l_rec.segment6 := null;
278     end if;
279     if (l_rec.segment7 = hr_api.g_varchar2) then
280       l_rec.segment7 := null;
281     end if;
282     if (l_rec.segment8 = hr_api.g_varchar2) then
283       l_rec.segment8 := null;
284     end if;
285     if (l_rec.segment9 = hr_api.g_varchar2) then
286       l_rec.segment9 := null;
287     end if;
288     if (l_rec.segment10 = hr_api.g_varchar2) then
289       l_rec.segment10 := null;
290     end if;
291     if (l_rec.segment11 = hr_api.g_varchar2) then
292       l_rec.segment11 := null;
293     end if;
294     if (l_rec.segment12 = hr_api.g_varchar2) then
295       l_rec.segment12 := null;
296     end if;
297     if (l_rec.segment13 = hr_api.g_varchar2) then
298       l_rec.segment13 := null;
299     end if;
300     if (l_rec.segment14 = hr_api.g_varchar2) then
301       l_rec.segment14 := null;
302     end if;
303     if (l_rec.segment15 = hr_api.g_varchar2) then
304       l_rec.segment15 := null;
305     end if;
306     if (l_rec.segment16 = hr_api.g_varchar2) then
307       l_rec.segment16 := null;
308     end if;
309     if (l_rec.segment17 = hr_api.g_varchar2) then
310       l_rec.segment17 := null;
311     end if;
312     if (l_rec.segment18 = hr_api.g_varchar2) then
313       l_rec.segment18 := null;
314     end if;
315     if (l_rec.segment19 = hr_api.g_varchar2) then
316       l_rec.segment19 := null;
317     end if;
318     if (l_rec.segment20 = hr_api.g_varchar2) then
319       l_rec.segment20 := null;
320     end if;
321     if (l_rec.id_flex_num = hr_api.g_number) then
322       l_rec.id_flex_num := null;
323     end if;
324   end if;
325   --
326   hr_utility.set_location(l_proc, 15);
327   --
328   -- call the ins_or_sel process
329   --
330   hr_cgd_ins.ins_or_sel
331     (p_segment1               => l_rec.segment1,
332      p_segment2               => l_rec.segment2,
333      p_segment3               => l_rec.segment3,
334      p_segment4               => l_rec.segment4,
335      p_segment5               => l_rec.segment5,
336      p_segment6               => l_rec.segment6,
337      p_segment7               => l_rec.segment7,
338      p_segment8               => l_rec.segment8,
339      p_segment9               => l_rec.segment9,
340      p_segment10              => l_rec.segment10,
341      p_segment11              => l_rec.segment11,
342      p_segment12              => l_rec.segment12,
343      p_segment13              => l_rec.segment13,
344      p_segment14              => l_rec.segment14,
345      p_segment15              => l_rec.segment15,
346      p_segment16              => l_rec.segment16,
347      p_segment17              => l_rec.segment17,
348      p_segment18              => l_rec.segment18,
349      p_segment19              => l_rec.segment19,
350      p_segment20              => l_rec.segment20,
351      p_id_flex_num            => l_rec.id_flex_num,
352      p_cagr_grade_def_id      => l_rec.cagr_grade_def_id,
353      p_concatenated_segments  => l_concatenated_segments,
354      p_business_group_id      => p_business_group_id
355      );
356   --
357   -- set the out arguments
358   --
359   p_cagr_grade_def_id      := l_rec.cagr_grade_def_id;
360   p_concatenated_segments  := l_concatenated_segments;
361   hr_utility.set_location(' Leaving:'||l_proc, 20);
362   END IF;
363 --
364 end upd_or_sel;
365 end hr_cgd_upd;