DBA Data[Home] [Help]

PACKAGE BODY: APPS.HXC_ULQ_BUS

Source


1 Package Body hxc_ulq_bus as
2 /* $Header: hxculqrhi.pkb 120.2 2005/09/23 06:26:40 rchennur noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  hxc_ulq_bus.';  -- Global package name
9 g_debug boolean := hr_utility.debug_enabled;
10 --
11 -- ----------------------------------------------------------------------------
12 -- |--------------------------< chk_qualifier_name >--------------------------|
13 -- ----------------------------------------------------------------------------
14 PROCEDURE chk_qualifier_name
15    (p_layout_comp_qualifier_id   IN NUMBER    DEFAULT NULL
16    ,p_qualifier_name             IN VARCHAR2
17    )
18 IS
19 --
20 CURSOR csr_chk_qualifier_name_unique IS
21 SELECT 1
22   FROM hxc_layout_comp_qualifiers
23  WHERE qualifier_name = p_qualifier_name
24    AND (p_layout_comp_qualifier_id IS NULL
25         OR layout_comp_qualifier_id <> p_layout_comp_qualifier_id);
26 --
27 l_result  NUMBER;
28 --
29 BEGIN
30    --
31    OPEN csr_chk_qualifier_name_unique;
32    --
33    FETCH csr_chk_qualifier_name_unique INTO l_result;
34    --
35    IF csr_chk_qualifier_name_unique%FOUND THEN
36       CLOSE csr_chk_qualifier_name_unique;
37       fnd_message.set_name('HXC', 'HXC_xxxxx_QUALIFIER_NAME_NOT_UNIQUE');
38       fnd_message.raise_error;
39    END IF;
40    --
41    CLOSE csr_chk_qualifier_name_unique;
42    --
43 END chk_qualifier_name;
44 --
45 -- ----------------------------------------------------------------------------
46 -- |------------------------------< chk_df >----------------------------------|
47 -- ----------------------------------------------------------------------------
48 --
49 -- Description:
50 --   Validates all the Descriptive Flexfield values.
51 --
52 -- Prerequisites:
53 --   All other columns have been validated.  Must be called as the
54 --   last step from insert_validate and update_validate.
55 --
56 -- In Arguments:
57 --   p_rec
58 --
59 -- Post Success:
60 --   If the Descriptive Flexfield structure column and data values are
61 --   all valid this procedure will end normally and processing will
62 --   continue.
63 --
64 -- Post Failure:
65 --   If the Descriptive Flexfield structure column value or any of
66 --   the data values are invalid then an application error is raised as
67 --   a PL/SQL exception.
68 --
69 -- Access Status:
70 --   Internal Row Handler Use Only.
71 --
72 -- ----------------------------------------------------------------------------
73 procedure chk_df
74   (p_rec in hxc_ulq_shd.g_rec_type
75   ) is
76 --
77   l_proc   varchar2(72) ;
78 --
79 begin
80   g_debug :=hr_utility.debug_enabled;
81   if g_debug then
82   	l_proc := g_package || 'chk_df';
83   	hr_utility.set_location('Entering:'||l_proc,10);
84   end if;
85   --
86   if ((p_rec.layout_comp_qualifier_id is not null)  and (
87     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute_category, hr_api.g_varchar2) <>
88     nvl(p_rec.qualifier_attribute_category, hr_api.g_varchar2)  or
89     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute1, hr_api.g_varchar2) <>
90     nvl(p_rec.qualifier_attribute1, hr_api.g_varchar2)  or
91     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute2, hr_api.g_varchar2) <>
92     nvl(p_rec.qualifier_attribute2, hr_api.g_varchar2)  or
93     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute3, hr_api.g_varchar2) <>
94     nvl(p_rec.qualifier_attribute3, hr_api.g_varchar2)  or
95     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute4, hr_api.g_varchar2) <>
96     nvl(p_rec.qualifier_attribute4, hr_api.g_varchar2)  or
97     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute5, hr_api.g_varchar2) <>
98     nvl(p_rec.qualifier_attribute5, hr_api.g_varchar2)  or
99     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute6, hr_api.g_varchar2) <>
100     nvl(p_rec.qualifier_attribute6, hr_api.g_varchar2)  or
101     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute7, hr_api.g_varchar2) <>
102     nvl(p_rec.qualifier_attribute7, hr_api.g_varchar2)  or
103     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute8, hr_api.g_varchar2) <>
104     nvl(p_rec.qualifier_attribute8, hr_api.g_varchar2)  or
105     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute9, hr_api.g_varchar2) <>
106     nvl(p_rec.qualifier_attribute9, hr_api.g_varchar2)  or
107     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute10, hr_api.g_varchar2) <>
108     nvl(p_rec.qualifier_attribute10, hr_api.g_varchar2)  or
109     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute11, hr_api.g_varchar2) <>
110     nvl(p_rec.qualifier_attribute11, hr_api.g_varchar2)  or
111     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute12, hr_api.g_varchar2) <>
112     nvl(p_rec.qualifier_attribute12, hr_api.g_varchar2)  or
113     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute13, hr_api.g_varchar2) <>
114     nvl(p_rec.qualifier_attribute13, hr_api.g_varchar2)  or
115     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute14, hr_api.g_varchar2) <>
116     nvl(p_rec.qualifier_attribute14, hr_api.g_varchar2)  or
117     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute15, hr_api.g_varchar2) <>
118     nvl(p_rec.qualifier_attribute15, hr_api.g_varchar2)  or
119     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute16, hr_api.g_varchar2) <>
120     nvl(p_rec.qualifier_attribute16, hr_api.g_varchar2)  or
121     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute17, hr_api.g_varchar2) <>
122     nvl(p_rec.qualifier_attribute17, hr_api.g_varchar2)  or
123     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute18, hr_api.g_varchar2) <>
124     nvl(p_rec.qualifier_attribute18, hr_api.g_varchar2)  or
125     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute19, hr_api.g_varchar2) <>
126     nvl(p_rec.qualifier_attribute19, hr_api.g_varchar2)  or
127     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute20, hr_api.g_varchar2) <>
128     nvl(p_rec.qualifier_attribute20, hr_api.g_varchar2)  or
129     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute21, hr_api.g_varchar2) <>
130     nvl(p_rec.qualifier_attribute21, hr_api.g_varchar2)  or
131     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute22, hr_api.g_varchar2) <>
132     nvl(p_rec.qualifier_attribute22, hr_api.g_varchar2)  or
133     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute23, hr_api.g_varchar2) <>
134     nvl(p_rec.qualifier_attribute23, hr_api.g_varchar2)  or
135     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute24, hr_api.g_varchar2) <>
136     nvl(p_rec.qualifier_attribute24, hr_api.g_varchar2)  or
137     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute25, hr_api.g_varchar2) <>
138     nvl(p_rec.qualifier_attribute25, hr_api.g_varchar2)  or
139     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute26, hr_api.g_varchar2) <>
140     nvl(p_rec.qualifier_attribute26, hr_api.g_varchar2)  or
141     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute27, hr_api.g_varchar2) <>
142     nvl(p_rec.qualifier_attribute27, hr_api.g_varchar2)  or
143     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute28, hr_api.g_varchar2) <>
144     nvl(p_rec.qualifier_attribute28, hr_api.g_varchar2)  or
145     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute29, hr_api.g_varchar2) <>
146     nvl(p_rec.qualifier_attribute29, hr_api.g_varchar2)  or
147     nvl(hxc_ulq_shd.g_old_rec.qualifier_attribute30, hr_api.g_varchar2) <>
148     nvl(p_rec.qualifier_attribute30, hr_api.g_varchar2) ))
149     or (p_rec.layout_comp_qualifier_id is null)  then
150     --
151     -- Only execute the validation if absolutely necessary:
152     -- a) During update, the structure column value or any
153     --    of the attribute values have actually changed.
154     -- b) During insert.
155     --
156     hr_dflex_utility.ins_or_upd_descflex_attribs
157       (p_appl_short_name                 => 'HXC'
158       ,p_descflex_name                   => 'HXC_CONFIGURABLE_UI_COMP_INFO'
159       ,p_attribute_category              => p_rec.qualifier_attribute_category
160       ,p_attribute1_name                 => 'QUALIFIER_ATTRIBUTE1'
161       ,p_attribute1_value                => p_rec.qualifier_attribute1
162       ,p_attribute2_name                 => 'QUALIFIER_ATTRIBUTE2'
163       ,p_attribute2_value                => p_rec.qualifier_attribute2
164       ,p_attribute3_name                 => 'QUALIFIER_ATTRIBUTE3'
165       ,p_attribute3_value                => p_rec.qualifier_attribute3
166       ,p_attribute4_name                 => 'QUALIFIER_ATTRIBUTE4'
167       ,p_attribute4_value                => p_rec.qualifier_attribute4
168       ,p_attribute5_name                 => 'QUALIFIER_ATTRIBUTE5'
169       ,p_attribute5_value                => p_rec.qualifier_attribute5
170       ,p_attribute6_name                 => 'QUALIFIER_ATTRIBUTE6'
171       ,p_attribute6_value                => p_rec.qualifier_attribute6
172       ,p_attribute7_name                 => 'QUALIFIER_ATTRIBUTE7'
173       ,p_attribute7_value                => p_rec.qualifier_attribute7
174       ,p_attribute8_name                 => 'QUALIFIER_ATTRIBUTE8'
175       ,p_attribute8_value                => p_rec.qualifier_attribute8
176       ,p_attribute9_name                 => 'QUALIFIER_ATTRIBUTE9'
177       ,p_attribute9_value                => p_rec.qualifier_attribute9
178       ,p_attribute10_name                => 'QUALIFIER_ATTRIBUTE10'
179       ,p_attribute10_value               => p_rec.qualifier_attribute10
180       ,p_attribute11_name                => 'QUALIFIER_ATTRIBUTE11'
181       ,p_attribute11_value               => p_rec.qualifier_attribute11
182       ,p_attribute12_name                => 'QUALIFIER_ATTRIBUTE12'
183       ,p_attribute12_value               => p_rec.qualifier_attribute12
184       ,p_attribute13_name                => 'QUALIFIER_ATTRIBUTE13'
185       ,p_attribute13_value               => p_rec.qualifier_attribute13
186       ,p_attribute14_name                => 'QUALIFIER_ATTRIBUTE14'
187       ,p_attribute14_value               => p_rec.qualifier_attribute14
188       ,p_attribute15_name                => 'QUALIFIER_ATTRIBUTE15'
189       ,p_attribute15_value               => p_rec.qualifier_attribute15
190       ,p_attribute16_name                => 'QUALIFIER_ATTRIBUTE16'
191       ,p_attribute16_value               => p_rec.qualifier_attribute16
192       ,p_attribute17_name                => 'QUALIFIER_ATTRIBUTE17'
193       ,p_attribute17_value               => p_rec.qualifier_attribute17
194       ,p_attribute18_name                => 'QUALIFIER_ATTRIBUTE18'
195       ,p_attribute18_value               => p_rec.qualifier_attribute18
196       ,p_attribute19_name                => 'QUALIFIER_ATTRIBUTE19'
197       ,p_attribute19_value               => p_rec.qualifier_attribute19
198       ,p_attribute20_name                => 'QUALIFIER_ATTRIBUTE20'
199       ,p_attribute20_value               => p_rec.qualifier_attribute20
200       ,p_attribute21_name                => 'QUALIFIER_ATTRIBUTE21'
201       ,p_attribute21_value               => p_rec.qualifier_attribute21
202       ,p_attribute22_name                => 'QUALIFIER_ATTRIBUTE22'
203       ,p_attribute22_value               => p_rec.qualifier_attribute22
204       ,p_attribute23_name                => 'QUALIFIER_ATTRIBUTE23'
205       ,p_attribute23_value               => p_rec.qualifier_attribute23
206       ,p_attribute24_name                => 'QUALIFIER_ATTRIBUTE24'
207       ,p_attribute24_value               => p_rec.qualifier_attribute24
208       ,p_attribute25_name                => 'QUALIFIER_ATTRIBUTE25'
209       ,p_attribute25_value               => p_rec.qualifier_attribute25
210       ,p_attribute26_name                => 'QUALIFIER_ATTRIBUTE26'
211       ,p_attribute26_value               => p_rec.qualifier_attribute26
212       ,p_attribute27_name                => 'QUALIFIER_ATTRIBUTE27'
213       ,p_attribute27_value               => p_rec.qualifier_attribute27
214       ,p_attribute28_name                => 'QUALIFIER_ATTRIBUTE28'
215       ,p_attribute28_value               => p_rec.qualifier_attribute28
216       ,p_attribute29_name                => 'QUALIFIER_ATTRIBUTE29'
217       ,p_attribute29_value               => p_rec.qualifier_attribute29
218       ,p_attribute30_name                => 'QUALIFIER_ATTRIBUTE30'
219       ,p_attribute30_value               => p_rec.qualifier_attribute30
220       );
221   end if;
222   --
223   if g_debug then
224   	hr_utility.set_location(' Leaving:'||l_proc,20);
225   end if;
226 end chk_df;
227 --
228 -- ----------------------------------------------------------------------------
229 -- |-----------------------< chk_non_updateable_args >------------------------|
230 -- ----------------------------------------------------------------------------
231 -- {Start Of Comments}
232 --
233 -- Description:
234 --   This procedure is used to ensure that non updateable attributes have
235 --   not been updated. If an attribute has been updated an error is generated.
236 --
237 -- Pre Conditions:
238 --   g_old_rec has been populated with details of the values currently in
239 --   the database.
240 --
241 -- In Arguments:
242 --   p_rec has been populated with the updated values the user would like the
243 --   record set to.
244 --
245 -- Post Success:
246 --   Processing continues if all the non updateable attributes have not
247 --   changed.
248 --
249 -- Post Failure:
250 --   An application error is raised if any of the non updatable attributes
251 --   have been altered.
252 --
253 -- {End Of Comments}
254 -- ----------------------------------------------------------------------------
255 Procedure chk_non_updateable_args
256   (p_rec in hxc_ulq_shd.g_rec_type
257   ) IS
258 --
259   l_proc     varchar2(72) := g_package || 'chk_non_updateable_args';
260   l_error    EXCEPTION;
261   l_argument varchar2(30);
262 --
263 Begin
264   --
265   -- Only proceed with the validation if a row exists for the current
266   -- record in the hxc Schema.
267   --
268   IF NOT hxc_ulq_shd.api_updating
269       (p_layout_comp_qualifier_id             => p_rec.layout_comp_qualifier_id
270       ,p_object_version_number                => p_rec.object_version_number
271       ) THEN
272      fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
273      fnd_message.set_token('PROCEDURE ', l_proc);
274      fnd_message.set_token('STEP ', '5');
275      fnd_message.raise_error;
276   END IF;
277   --
278   -- EDIT_HERE: Add checks to ensure non-updateable args have
279   --            not been updated.
280   --
281   EXCEPTION
282     WHEN l_error THEN
283        hr_api.argument_changed_error
284          (p_api_name => l_proc
285          ,p_argument => l_argument);
286     WHEN OTHERS THEN
287        RAISE;
288 End chk_non_updateable_args;
289 --
290 -- ----------------------------------------------------------------------------
291 -- |---------------------------< insert_validate >----------------------------|
292 -- ----------------------------------------------------------------------------
293 Procedure insert_validate
297   l_proc  varchar2(72) ;
294   (p_rec                          in hxc_ulq_shd.g_rec_type
295   ) is
296 --
298 --
299 Begin
300   g_debug :=hr_utility.debug_enabled;
301   if g_debug then
302   	l_proc := g_package||'insert_validate';
303   	hr_utility.set_location('Entering:'||l_proc, 5);
304   end if;
305   --
306   -- Call all supporting business operations
307   --
308   --
309   -- EDIT_HERE: As this table does not have a mandatory business_group_id
310   -- column, ensure client_info is populated by calling a suitable
311   -- ???_???_bus.set_security_group_id procedure, or add one of the following
312   -- comments:
313   -- "-- No business group context.  HR_STANDARD_LOOKUPS used for validation."
314   -- "-- CLIENT_INFO not set.  No lookup validation or joins to HR_LOOKUPS."
315   --
316   -- check that qualifier name is unique
317   --
318 --  chk_qualifier_name
319 --     (p_qualifier_name => p_rec.qualifier_name
320 --     );
321   --
322   hxc_ulq_bus.chk_df(p_rec);
323   --
324   if g_debug then
325   	hr_utility.set_location(' Leaving:'||l_proc, 10);
326   end if;
327 End insert_validate;
328 --
329 -- ----------------------------------------------------------------------------
330 -- |---------------------------< update_validate >----------------------------|
331 -- ----------------------------------------------------------------------------
332 Procedure update_validate
333   (p_rec                          in hxc_ulq_shd.g_rec_type
334   ) is
335 --
336   l_proc  varchar2(72) ;
337 --
338 Begin
339   g_debug :=hr_utility.debug_enabled;
340   if g_debug then
341   	l_proc := g_package||'update_validate';
342   	hr_utility.set_location('Entering:'||l_proc, 5);
343   end if;
344   --
345   -- Call all supporting business operations
346   --
347   -- EDIT_HERE: As this table does not have a mandatory business_group_id
348   -- column, ensure client_info is populated by calling a suitable
349   -- ???_???_bus.set_security_group_id procedure, or add one of the following
350   -- comments:
351   -- "-- No business group context.  HR_STANDARD_LOOKUPS used for validation."
352   -- "-- CLIENT_INFO not set.  No lookup validation or joins to HR_LOOKUPS."
353   --
354   chk_non_updateable_args
355     (p_rec              => p_rec
356     );
357   --
358   -- check that qualifier name is unique
359   --
360 --  chk_qualifier_name
361 --     (p_layout_comp_qualifier_id => p_rec.layout_comp_qualifier_id
362 --     ,p_qualifier_name => p_rec.qualifier_name
363 --     );
364   --
365   hxc_ulq_bus.chk_df(p_rec);
366   --
367   if g_debug then
368   	hr_utility.set_location(' Leaving:'||l_proc, 10);
369   end if;
370 End update_validate;
371 --
372 -- ----------------------------------------------------------------------------
373 -- |---------------------------< delete_validate >----------------------------|
374 -- ----------------------------------------------------------------------------
375 Procedure delete_validate
376   (p_rec                          in hxc_ulq_shd.g_rec_type
377   ) is
378 --
379   l_proc  varchar2(72) ;
380 --
381 Begin
382   g_debug :=hr_utility.debug_enabled;
383   if g_debug then
384   	l_proc := g_package||'delete_validate';
385   	hr_utility.set_location('Entering:'||l_proc, 5);
386   end if;
387   --
388   -- Call all supporting business operations
389   --
390   if g_debug then
391   	hr_utility.set_location(' Leaving:'||l_proc, 10);
392   end if;
393 End delete_validate;
394 --
395 end hxc_ulq_bus;