DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_BEL_BUS

Source


4 -- ----------------------------------------------------------------------------
1 Package Body pqh_bel_bus as
2 /* $Header: pqbelrhi.pkb 115.6 2002/12/05 16:33:15 rpasapul ship $ */
3 --
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pqh_bel_bus.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------< chk_budget_element_id >------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- Description
15 --   This procedure is used to check that the primary key for the table
16 --   is created properly. It should be null on insert and
17 --   should not be able to be updated.
18 --
19 -- Pre Conditions
20 --   None.
21 --
22 -- In Parameters
23 --   budget_element_id PK of record being inserted or updated.
24 --   object_version_number Object version number of record being
25 --                         inserted or updated.
26 --
27 -- Post Success
28 --   Processing continues
29 --
30 -- Post Failure
31 --   Errors handled by the procedure
32 --
33 -- Access Status
37                            p_object_version_number       in number) is
34 --   Internal table handler use only.
35 --
36 Procedure chk_budget_element_id(p_budget_element_id                in number,
38   --
39   l_proc         varchar2(72) := g_package||'chk_budget_element_id';
40   l_api_updating boolean;
41   --
42 Begin
43   --
44   hr_utility.set_location('Entering:'||l_proc, 5);
45   --
46   l_api_updating := pqh_bel_shd.api_updating
47     (p_budget_element_id                => p_budget_element_id,
48      p_object_version_number       => p_object_version_number);
49   --
50   if (l_api_updating
51      and nvl(p_budget_element_id,hr_api.g_number)
52      <>  pqh_bel_shd.g_old_rec.budget_element_id) then
53     --
54     -- raise error as PK has changed
55     --
56     pqh_bel_shd.constraint_error('PQH_BUDGET_ELEMENT_PK');
57     --
58   elsif not l_api_updating then
59     --
60     -- check if PK is null
61     --
62     if p_budget_element_id is not null then
63       --
64       -- raise error as PK is not null
65       --
66       pqh_bel_shd.constraint_error('PQH_BUDGET_ELEMENT_PK');
67       --
68     end if;
69     --
70   end if;
71   --
72   hr_utility.set_location('Leaving:'||l_proc, 10);
73   --
74 End chk_budget_element_id;
75 --
76 -- ----------------------------------------------------------------------------
77 -- |------< chk_budget_set_id >------|
78 -- ----------------------------------------------------------------------------
79 --
80 -- Description
81 --   This procedure checks that a referenced foreign key actually exists
82 --   in the referenced table.
83 --
84 -- Pre-Conditions
85 --   None.
86 --
87 -- In Parameters
88 --   p_budget_element_id PK
89 --   p_budget_set_id ID of FK column
90 --   p_object_version_number object version number
91 --
92 -- Post Success
93 --   Processing continues
94 --
95 -- Post Failure
96 --   Error raised.
97 --
98 -- Access Status
99 --   Internal table handler use only.
100 --
101 Procedure chk_budget_set_id (p_budget_element_id          in number,
102                             p_budget_set_id          in number,
103                             p_object_version_number in number) is
104   --
105   l_proc         varchar2(72) := g_package||'chk_budget_set_id';
106   l_api_updating boolean;
107   l_dummy        varchar2(1);
108   --
109   cursor c1 is
110     select null
111     from   pqh_budget_sets a
112     where  a.budget_set_id = p_budget_set_id;
113   --
114 Begin
115   --
116   hr_utility.set_location('Entering:'||l_proc,5);
117   --
118   l_api_updating := pqh_bel_shd.api_updating
119      (p_budget_element_id            => p_budget_element_id,
120       p_object_version_number   => p_object_version_number);
121   --
122   if (l_api_updating
123      and nvl(p_budget_set_id,hr_api.g_number)
124      <> nvl(pqh_bel_shd.g_old_rec.budget_set_id,hr_api.g_number)
125      or not l_api_updating) then
126     --
127     -- check if budget_set_id value exists in pqh_budget_sets table
128     --
129     open c1;
130       --
131       fetch c1 into l_dummy;
132       if c1%notfound then
133         --
134         close c1;
135         --
136         -- raise error as FK does not relate to PK in pqh_budget_sets
137         -- table.
138         --
139         pqh_bel_shd.constraint_error('PQH_BUDGET_ELEMENTS_FK2');
140         --
141       end if;
142       --
143     close c1;
144     --
145   end if;
146   --
147   hr_utility.set_location('Leaving:'||l_proc,10);
148   --
149 End chk_budget_set_id;
150 --
151 -- ----------------------------------------------------------------------------
152 -- |------< chk_element_type_id >------|
153 -- ----------------------------------------------------------------------------
154 --
155 Procedure chk_element_type_id (p_budget_element_id          in number,
156                             p_element_type_id          in number,
157                             p_object_version_number in number) is
158   --
159   l_proc         varchar2(72) := g_package||'chk_element_type_id';
160   l_api_updating boolean;
161   l_dummy        varchar2(1);
162   --
163   cursor c1 is
164     select null
165     from   pay_element_types_f a
166     where  a.element_type_id = p_element_type_id
167       and  sysdate between effective_start_date and effective_end_date;
168   --
169 Begin
170   --
171   hr_utility.set_location('Entering:'||l_proc,5);
172   --
173   l_api_updating := pqh_bel_shd.api_updating
174      (p_budget_element_id            => p_budget_element_id,
175       p_object_version_number   => p_object_version_number);
176   --
177   if (l_api_updating
178      and nvl(p_element_type_id,hr_api.g_number)
179      <> nvl(pqh_bel_shd.g_old_rec.element_type_id,hr_api.g_number)
180      or not l_api_updating) then
181 
182     --
183     -- check if element_type_id value exists in pay_element_types_f table
184     --
185     open c1;
186       --
187       fetch c1 into l_dummy;
188       if c1%notfound then
189         --
190         close c1;
191         --
192         -- raise error as FK does not relate to PK in pay_element_types_f
196 
193         -- table.
194           hr_utility.set_message(8302,'PQH_INVALID_ELEMENT');
195           hr_utility.raise_error;
197         --
198       end if;
199       --
200     close c1;
201     --
202   end if;
203   --
204   hr_utility.set_location('Leaving:'||l_proc,10);
205   --
206   --
207 End chk_element_type_id;
208 --
209 --
210 -- ----------------------------------------------------------------------------
211 -- |---------------------------< insert_validate >----------------------------|
212 -- ----------------------------------------------------------------------------
213 Procedure insert_validate(p_rec in pqh_bel_shd.g_rec_type) is
214 --
215   l_proc  varchar2(72) := g_package||'insert_validate';
216 --
217 Begin
218   hr_utility.set_location('Entering:'||l_proc, 5);
219   --
220   -- Call all supporting business operations
221   --
222   chk_budget_element_id
223   (p_budget_element_id          => p_rec.budget_element_id,
224    p_object_version_number => p_rec.object_version_number);
225   --
226   chk_budget_set_id
227   (p_budget_element_id          => p_rec.budget_element_id,
228    p_budget_set_id          => p_rec.budget_set_id,
229    p_object_version_number => p_rec.object_version_number);
230   --
231   chk_element_type_id
232   (p_budget_element_id      => p_rec.budget_element_id,
233    p_element_type_id        => p_rec.element_type_id,
234    p_object_version_number  => p_rec.object_version_number);
235   --
236   --
237   hr_utility.set_location(' Leaving:'||l_proc, 10);
238 End insert_validate;
239 --
240 -- ----------------------------------------------------------------------------
241 -- |---------------------------< update_validate >----------------------------|
242 -- ----------------------------------------------------------------------------
243 Procedure update_validate(p_rec in pqh_bel_shd.g_rec_type) is
244 --
245   l_proc  varchar2(72) := g_package||'update_validate';
246 --
247 Begin
248   hr_utility.set_location('Entering:'||l_proc, 5);
249   --
250   -- Call all supporting business operations
251   --
252   chk_budget_element_id
253   (p_budget_element_id          => p_rec.budget_element_id,
254    p_object_version_number => p_rec.object_version_number);
255   --
256   chk_budget_set_id
257   (p_budget_element_id          => p_rec.budget_element_id,
258    p_budget_set_id          => p_rec.budget_set_id,
259    p_object_version_number => p_rec.object_version_number);
260   --
261   chk_element_type_id
262   (p_budget_element_id      => p_rec.budget_element_id,
263    p_element_type_id        => p_rec.element_type_id,
264    p_object_version_number  => p_rec.object_version_number);
265   --
266   --
267   hr_utility.set_location(' Leaving:'||l_proc, 10);
268 End update_validate;
269 --
270 -- ----------------------------------------------------------------------------
271 -- |---------------------------< delete_validate >----------------------------|
272 -- ----------------------------------------------------------------------------
273 Procedure delete_validate(p_rec in pqh_bel_shd.g_rec_type) is
274 --
275   l_proc  varchar2(72) := g_package||'delete_validate';
276 --
277 Begin
278   hr_utility.set_location('Entering:'||l_proc, 5);
279   --
280   -- Call all supporting business operations
281   --
282   hr_utility.set_location(' Leaving:'||l_proc, 10);
283 End delete_validate;
284 --
285 end pqh_bel_bus;