DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_TPC_BUS

Source


1 Package Body ota_tpc_bus as
2 /* $Header: ottpcrhi.pkb 115.5 2003/06/17 14:27:43 sfmorris noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ota_tpc_bus.';  -- Global package name
9 --
10 -- The following two global variables are only to be
11 -- used by the return_legislation_code function.
12 --
13 g_legislation_code            varchar2(150)  default null;
14 g_training_plan_cost_id       number         default null;
15 --
16 --  ---------------------------------------------------------------------------
17 --  |----------------------< set_security_group_id >--------------------------|
18 --  ---------------------------------------------------------------------------
19 --
20 Procedure set_security_group_id
21   (p_training_plan_cost_id  in ota_training_plan_costs.training_plan_cost_id%TYPE
22   ) is
23   --
24   -- Declare cursor
25   --
26   --
27   cursor csr_sec_grp is
28     select inf.org_information14
29     from   hr_organization_information inf
30           ,ota_training_plan_costs tpc
31     where  tpc.training_plan_cost_id         = p_training_plan_cost_id
32     and    inf.organization_id               = tpc.business_group_id
33     and    inf.org_information_context || '' = 'Business Group Information';
34   --
35   -- Declare local variables
36   --
37   l_security_group_id number;
38   l_proc              varchar2(72)  :=  g_package||'set_security_group_id';
39   --
40 begin
41   --
42   hr_utility.set_location('Entering:'|| l_proc, 10);
43   --
44   -- Ensure that all the mandatory parameter are not null
45   --
46   hr_api.mandatory_arg_error
47     (p_api_name           => l_proc
48     ,p_argument           => 'training_plan_cost_id'
49     ,p_argument_value     => p_training_plan_cost_id
50     );
51   --
52   open csr_sec_grp;
53   fetch csr_sec_grp into l_security_group_id;
54   --
55   if csr_sec_grp%notfound then
56      --
57      close csr_sec_grp;
58      --
59      -- The primary key is invalid therefore we must error
60      --
61      fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
62      fnd_message.raise_error;
63      --
64   end if;
65   close csr_sec_grp;
66   --
67   -- Set the security_group_id in CLIENT_INFO
68   --
69   hr_api.set_security_group_id
70     (p_security_group_id => l_security_group_id
71     );
72   --
73   hr_utility.set_location(' Leaving:'|| l_proc, 20);
74   --
75 end set_security_group_id;
76 --
77 --  ---------------------------------------------------------------------------
78 --  |---------------------< return_legislation_code >-------------------------|
79 --  ---------------------------------------------------------------------------
80 --
81 Function return_legislation_code
82   (p_training_plan_cost_id                in     number
83   )
84   Return Varchar2 Is
85   --
86   -- Declare cursor
87   --
88   cursor csr_leg_code is
89     select pbg.legislation_code
90       from per_business_groups pbg
91          , ota_training_plan_costs tpc
92      where tpc.training_plan_cost_id = p_training_plan_cost_id
93        and pbg.business_group_id = tpc.business_group_id;
94   --
95   -- Declare local variables
96   --
97   l_legislation_code  varchar2(150);
98   l_proc              varchar2(72)  :=  g_package||'return_legislation_code';
99   --
100 Begin
101   --
102   hr_utility.set_location('Entering:'|| l_proc, 10);
103   --
104   -- Ensure that all the mandatory parameter are not null
105   --
106   hr_api.mandatory_arg_error
107     (p_api_name           => l_proc
108     ,p_argument           => 'training_plan_cost_id'
109     ,p_argument_value     => p_training_plan_cost_id
110     );
111   --
112   if ( nvl(ota_tpc_bus.g_training_plan_cost_id, hr_api.g_number)
113        = p_training_plan_cost_id) then
114     --
115     -- The legislation code has already been found with a previous
116     -- call to this function. Just return the value in the global
117     -- variable.
118     --
119     l_legislation_code := ota_tpc_bus.g_legislation_code;
120     hr_utility.set_location(l_proc, 20);
121   else
122     --
123     -- The ID is different to the last call to this function
124     -- or this is the first call to this function.
125     --
126     open csr_leg_code;
127     fetch csr_leg_code into l_legislation_code;
128     --
129     if csr_leg_code%notfound then
130       --
131       -- The primary key is invalid therefore we must error
132       --
133       close csr_leg_code;
134       fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
135       fnd_message.raise_error;
136     end if;
137     hr_utility.set_location(l_proc,30);
138     --
139     -- Set the global variables so the values are
140     -- available for the next call to this function.
141     --
142     close csr_leg_code;
143     ota_tpc_bus.g_training_plan_cost_id := p_training_plan_cost_id;
144     ota_tpc_bus.g_legislation_code  := l_legislation_code;
145   end if;
146   hr_utility.set_location(' Leaving:'|| l_proc, 40);
147   return l_legislation_code;
148 end return_legislation_code;
149 --
150 -- ----------------------------------------------------------------------------
151 -- |-----------------------------< chk_ddf >----------------------------------|
152 -- ----------------------------------------------------------------------------
153 --
154 -- Description:
155 --   Validates all the Developer Descriptive Flexfield values.
156 --
157 -- Prerequisites:
158 --   All other columns have been validated.  Must be called as the
159 --   last step from insert_validate and update_validate.
160 --
161 -- In Arguments:
162 --   p_rec
163 --
164 -- Post Success:
165 --   If the Developer Descriptive Flexfield structure column and data values
166 --   are all valid this procedure will end normally and processing will
167 --   continue.
168 --
169 -- Post Failure:
170 --   If the Developer Descriptive Flexfield structure column value or any of
171 --   the data values are invalid then an application error is raised as
172 --   a PL/SQL exception.
173 --
174 -- Access Status:
175 --   Internal Row Handler Use Only.
176 --
177 -- ----------------------------------------------------------------------------
178 procedure chk_ddf
179   (p_rec in ota_tpc_shd.g_rec_type
180   ) is
181 --
182   l_proc   varchar2(72) := g_package || 'chk_ddf';
183 --
184 begin
185   hr_utility.set_location('Entering:'||l_proc,10);
186   --
187   if ((p_rec.training_plan_cost_id is not null)  and (
188     nvl(ota_tpc_shd.g_old_rec.information_category, hr_api.g_varchar2) <>
189     nvl(p_rec.information_category, hr_api.g_varchar2)  or
190     nvl(ota_tpc_shd.g_old_rec.tp_cost_information1, hr_api.g_varchar2) <>
191     nvl(p_rec.tp_cost_information1, hr_api.g_varchar2)  or
192     nvl(ota_tpc_shd.g_old_rec.tp_cost_information2, hr_api.g_varchar2) <>
193     nvl(p_rec.tp_cost_information2, hr_api.g_varchar2)  or
194     nvl(ota_tpc_shd.g_old_rec.tp_cost_information3, hr_api.g_varchar2) <>
195     nvl(p_rec.tp_cost_information3, hr_api.g_varchar2)  or
196     nvl(ota_tpc_shd.g_old_rec.tp_cost_information4, hr_api.g_varchar2) <>
197     nvl(p_rec.tp_cost_information4, hr_api.g_varchar2)  or
198     nvl(ota_tpc_shd.g_old_rec.tp_cost_information5, hr_api.g_varchar2) <>
199     nvl(p_rec.tp_cost_information5, hr_api.g_varchar2)  or
200     nvl(ota_tpc_shd.g_old_rec.tp_cost_information6, hr_api.g_varchar2) <>
201     nvl(p_rec.tp_cost_information6, hr_api.g_varchar2)  or
202     nvl(ota_tpc_shd.g_old_rec.tp_cost_information7, hr_api.g_varchar2) <>
203     nvl(p_rec.tp_cost_information7, hr_api.g_varchar2)  or
204     nvl(ota_tpc_shd.g_old_rec.tp_cost_information8, hr_api.g_varchar2) <>
205     nvl(p_rec.tp_cost_information8, hr_api.g_varchar2)  or
206     nvl(ota_tpc_shd.g_old_rec.tp_cost_information9, hr_api.g_varchar2) <>
207     nvl(p_rec.tp_cost_information9, hr_api.g_varchar2)  or
208     nvl(ota_tpc_shd.g_old_rec.tp_cost_information10, hr_api.g_varchar2) <>
209     nvl(p_rec.tp_cost_information10, hr_api.g_varchar2)  or
210     nvl(ota_tpc_shd.g_old_rec.tp_cost_information11, hr_api.g_varchar2) <>
211     nvl(p_rec.tp_cost_information11, hr_api.g_varchar2)  or
212     nvl(ota_tpc_shd.g_old_rec.tp_cost_information12, hr_api.g_varchar2) <>
213     nvl(p_rec.tp_cost_information12, hr_api.g_varchar2)  or
214     nvl(ota_tpc_shd.g_old_rec.tp_cost_information13, hr_api.g_varchar2) <>
215     nvl(p_rec.tp_cost_information13, hr_api.g_varchar2)  or
216     nvl(ota_tpc_shd.g_old_rec.tp_cost_information14, hr_api.g_varchar2) <>
217     nvl(p_rec.tp_cost_information14, hr_api.g_varchar2)  or
218     nvl(ota_tpc_shd.g_old_rec.tp_cost_information15, hr_api.g_varchar2) <>
219     nvl(p_rec.tp_cost_information15, hr_api.g_varchar2)  or
220     nvl(ota_tpc_shd.g_old_rec.tp_cost_information16, hr_api.g_varchar2) <>
221     nvl(p_rec.tp_cost_information16, hr_api.g_varchar2)  or
222     nvl(ota_tpc_shd.g_old_rec.tp_cost_information17, hr_api.g_varchar2) <>
223     nvl(p_rec.tp_cost_information17, hr_api.g_varchar2)  or
224     nvl(ota_tpc_shd.g_old_rec.tp_cost_information18, hr_api.g_varchar2) <>
225     nvl(p_rec.tp_cost_information18, hr_api.g_varchar2)  or
226     nvl(ota_tpc_shd.g_old_rec.tp_cost_information19, hr_api.g_varchar2) <>
227     nvl(p_rec.tp_cost_information19, hr_api.g_varchar2)  or
228     nvl(ota_tpc_shd.g_old_rec.tp_cost_information20, hr_api.g_varchar2) <>
229     nvl(p_rec.tp_cost_information20, hr_api.g_varchar2)  or
230     nvl(ota_tpc_shd.g_old_rec.tp_cost_information21, hr_api.g_varchar2) <>
231     nvl(p_rec.tp_cost_information21, hr_api.g_varchar2)  or
232     nvl(ota_tpc_shd.g_old_rec.tp_cost_information22, hr_api.g_varchar2) <>
233     nvl(p_rec.tp_cost_information22, hr_api.g_varchar2)  or
234     nvl(ota_tpc_shd.g_old_rec.tp_cost_information23, hr_api.g_varchar2) <>
235     nvl(p_rec.tp_cost_information23, hr_api.g_varchar2)  or
236     nvl(ota_tpc_shd.g_old_rec.tp_cost_information24, hr_api.g_varchar2) <>
237     nvl(p_rec.tp_cost_information24, hr_api.g_varchar2)  or
238     nvl(ota_tpc_shd.g_old_rec.tp_cost_information25, hr_api.g_varchar2) <>
239     nvl(p_rec.tp_cost_information25, hr_api.g_varchar2)  or
240     nvl(ota_tpc_shd.g_old_rec.tp_cost_information26, hr_api.g_varchar2) <>
241     nvl(p_rec.tp_cost_information26, hr_api.g_varchar2)  or
242     nvl(ota_tpc_shd.g_old_rec.tp_cost_information27, hr_api.g_varchar2) <>
243     nvl(p_rec.tp_cost_information27, hr_api.g_varchar2)  or
244     nvl(ota_tpc_shd.g_old_rec.tp_cost_information28, hr_api.g_varchar2) <>
245     nvl(p_rec.tp_cost_information28, hr_api.g_varchar2)  or
246     nvl(ota_tpc_shd.g_old_rec.tp_cost_information29, hr_api.g_varchar2) <>
247     nvl(p_rec.tp_cost_information29, hr_api.g_varchar2)  or
248     nvl(ota_tpc_shd.g_old_rec.tp_cost_information30, hr_api.g_varchar2) <>
249     nvl(p_rec.tp_cost_information30, hr_api.g_varchar2) ) )
250     or (p_rec.training_plan_cost_id is null)  then
251     --
252     -- Only execute the validation if absolutely necessary:
253     -- a) During update, the structure column value or any
254     --    of the attribute values have actually changed.
255     -- b) During insert.
256     --
257  hr_utility.set_location('Step:'||l_proc,20);
258     hr_dflex_utility.ins_or_upd_descflex_attribs
259       (p_appl_short_name                 => 'OTA'
260       ,p_descflex_name                   => 'Training Plan Costs Developer'
261       ,p_attribute_category              => p_rec.information_category
262       ,p_attribute1_name                 => 'TP_COST_INFORMATION1'
263       ,p_attribute1_value                => p_rec.tp_cost_information1
264       ,p_attribute2_name                 => 'TP_COST_INFORMATION2'
265       ,p_attribute2_value                => p_rec.tp_cost_information2
266       ,p_attribute3_name                 => 'TP_COST_INFORMATION3'
267       ,p_attribute3_value                => p_rec.tp_cost_information3
268       ,p_attribute4_name                 => 'TP_COST_INFORMATION4'
269       ,p_attribute4_value                => p_rec.tp_cost_information4
270       ,p_attribute5_name                 => 'TP_COST_INFORMATION5'
271       ,p_attribute5_value                => p_rec.tp_cost_information5
272       ,p_attribute6_name                 => 'TP_COST_INFORMATION6'
273       ,p_attribute6_value                => p_rec.tp_cost_information6
274       ,p_attribute7_name                 => 'TP_COST_INFORMATION7'
275       ,p_attribute7_value                => p_rec.tp_cost_information7
276       ,p_attribute8_name                 => 'TP_COST_INFORMATION8'
277       ,p_attribute8_value                => p_rec.tp_cost_information8
278       ,p_attribute9_name                 => 'TP_COST_INFORMATION9'
279       ,p_attribute9_value                => p_rec.tp_cost_information9
280       ,p_attribute10_name                => 'TP_COST_INFORMATION10'
281       ,p_attribute10_value               => p_rec.tp_cost_information10
282       ,p_attribute11_name                => 'TP_COST_INFORMATION11'
283       ,p_attribute11_value               => p_rec.tp_cost_information11
284       ,p_attribute12_name                => 'TP_COST_INFORMATION12'
285       ,p_attribute12_value               => p_rec.tp_cost_information12
286       ,p_attribute13_name                => 'TP_COST_INFORMATION13'
287       ,p_attribute13_value               => p_rec.tp_cost_information13
288       ,p_attribute14_name                => 'TP_COST_INFORMATION14'
289       ,p_attribute14_value               => p_rec.tp_cost_information14
290       ,p_attribute15_name                => 'TP_COST_INFORMATION15'
291       ,p_attribute15_value               => p_rec.tp_cost_information15
292       ,p_attribute16_name                => 'TP_COST_INFORMATION16'
293       ,p_attribute16_value               => p_rec.tp_cost_information16
294       ,p_attribute17_name                => 'TP_COST_INFORMATION17'
295       ,p_attribute17_value               => p_rec.tp_cost_information17
296       ,p_attribute18_name                => 'TP_COST_INFORMATION18'
297       ,p_attribute18_value               => p_rec.tp_cost_information18
298       ,p_attribute19_name                => 'TP_COST_INFORMATION19'
299       ,p_attribute19_value               => p_rec.tp_cost_information19
300       ,p_attribute20_name                => 'TP_COST_INFORMATION20'
301       ,p_attribute20_value               => p_rec.tp_cost_information20
302       ,p_attribute21_name                => 'TP_COST_INFORMATION21'
303       ,p_attribute21_value               => p_rec.tp_cost_information21
304       ,p_attribute22_name                => 'TP_COST_INFORMATION22'
305       ,p_attribute22_value               => p_rec.tp_cost_information22
306       ,p_attribute23_name                => 'TP_COST_INFORMATION23'
307       ,p_attribute23_value               => p_rec.tp_cost_information23
308       ,p_attribute24_name                => 'TP_COST_INFORMATION24'
309       ,p_attribute24_value               => p_rec.tp_cost_information24
310       ,p_attribute25_name                => 'TP_COST_INFORMATION25'
311       ,p_attribute25_value               => p_rec.tp_cost_information25
312       ,p_attribute26_name                => 'TP_COST_INFORMATION26'
313       ,p_attribute26_value               => p_rec.tp_cost_information26
314       ,p_attribute27_name                => 'TP_COST_INFORMATION27'
315       ,p_attribute27_value               => p_rec.tp_cost_information27
316       ,p_attribute28_name                => 'TP_COST_INFORMATION28'
317       ,p_attribute28_value               => p_rec.tp_cost_information28
318       ,p_attribute29_name                => 'TP_COST_INFORMATION29'
319       ,p_attribute29_value               => p_rec.tp_cost_information29
320       ,p_attribute30_name                => 'TP_COST_INFORMATION30'
321       ,p_attribute30_value               => p_rec.tp_cost_information30
322       );
323   end if;
324   --
325   hr_utility.set_location(' Leaving:'||l_proc,20);
326 end chk_ddf;
327 --
328 -- ----------------------------------------------------------------------------
329 -- |------------------------------< chk_df >----------------------------------|
330 -- ----------------------------------------------------------------------------
331 --
332 -- Description:
333 --   Validates all the Descriptive Flexfield values.
334 --
335 -- Prerequisites:
336 --   All other columns have been validated.  Must be called as the
340 --   p_rec
337 --   last step from insert_validate and update_validate.
338 --
339 -- In Arguments:
341 --
342 -- Post Success:
343 --   If the Descriptive Flexfield structure column and data values are
344 --   all valid this procedure will end normally and processing will
345 --   continue.
346 --
347 -- Post Failure:
348 --   If the Descriptive Flexfield structure column value or any of
349 --   the data values are invalid then an application error is raised as
350 --   a PL/SQL exception.
351 --
352 -- Access Status:
353 --   Internal Row Handler Use Only.
354 --
355 -- ----------------------------------------------------------------------------
356 procedure chk_df
357   (p_rec in ota_tpc_shd.g_rec_type
358   ) is
359 --
360   l_proc   varchar2(72) := g_package || 'chk_df';
361 --
362 begin
363   hr_utility.set_location('Entering:'||l_proc,10);
364   --
365   if ((p_rec.training_plan_cost_id is not null)  and (
366     nvl(ota_tpc_shd.g_old_rec.attribute_category, hr_api.g_varchar2) <>
367     nvl(p_rec.attribute_category, hr_api.g_varchar2)  or
368     nvl(ota_tpc_shd.g_old_rec.attribute1, hr_api.g_varchar2) <>
369     nvl(p_rec.attribute1, hr_api.g_varchar2)  or
370     nvl(ota_tpc_shd.g_old_rec.attribute2, hr_api.g_varchar2) <>
371     nvl(p_rec.attribute2, hr_api.g_varchar2)  or
372     nvl(ota_tpc_shd.g_old_rec.attribute3, hr_api.g_varchar2) <>
373     nvl(p_rec.attribute3, hr_api.g_varchar2)  or
374     nvl(ota_tpc_shd.g_old_rec.attribute4, hr_api.g_varchar2) <>
375     nvl(p_rec.attribute4, hr_api.g_varchar2)  or
376     nvl(ota_tpc_shd.g_old_rec.attribute5, hr_api.g_varchar2) <>
377     nvl(p_rec.attribute5, hr_api.g_varchar2)  or
378     nvl(ota_tpc_shd.g_old_rec.attribute6, hr_api.g_varchar2) <>
379     nvl(p_rec.attribute6, hr_api.g_varchar2)  or
380     nvl(ota_tpc_shd.g_old_rec.attribute7, hr_api.g_varchar2) <>
381     nvl(p_rec.attribute7, hr_api.g_varchar2)  or
382     nvl(ota_tpc_shd.g_old_rec.attribute8, hr_api.g_varchar2) <>
383     nvl(p_rec.attribute8, hr_api.g_varchar2)  or
384     nvl(ota_tpc_shd.g_old_rec.attribute9, hr_api.g_varchar2) <>
385     nvl(p_rec.attribute9, hr_api.g_varchar2)  or
386     nvl(ota_tpc_shd.g_old_rec.attribute10, hr_api.g_varchar2) <>
387     nvl(p_rec.attribute10, hr_api.g_varchar2)  or
388     nvl(ota_tpc_shd.g_old_rec.attribute11, hr_api.g_varchar2) <>
389     nvl(p_rec.attribute11, hr_api.g_varchar2)  or
390     nvl(ota_tpc_shd.g_old_rec.attribute12, hr_api.g_varchar2) <>
391     nvl(p_rec.attribute12, hr_api.g_varchar2)  or
392     nvl(ota_tpc_shd.g_old_rec.attribute13, hr_api.g_varchar2) <>
393     nvl(p_rec.attribute13, hr_api.g_varchar2)  or
394     nvl(ota_tpc_shd.g_old_rec.attribute14, hr_api.g_varchar2) <>
395     nvl(p_rec.attribute14, hr_api.g_varchar2)  or
396     nvl(ota_tpc_shd.g_old_rec.attribute15, hr_api.g_varchar2) <>
397     nvl(p_rec.attribute15, hr_api.g_varchar2)  or
398     nvl(ota_tpc_shd.g_old_rec.attribute16, hr_api.g_varchar2) <>
399     nvl(p_rec.attribute16, hr_api.g_varchar2)  or
400     nvl(ota_tpc_shd.g_old_rec.attribute17, hr_api.g_varchar2) <>
401     nvl(p_rec.attribute17, hr_api.g_varchar2)  or
402     nvl(ota_tpc_shd.g_old_rec.attribute18, hr_api.g_varchar2) <>
403     nvl(p_rec.attribute18, hr_api.g_varchar2)  or
404     nvl(ota_tpc_shd.g_old_rec.attribute19, hr_api.g_varchar2) <>
405     nvl(p_rec.attribute19, hr_api.g_varchar2)  or
406     nvl(ota_tpc_shd.g_old_rec.attribute20, hr_api.g_varchar2) <>
407     nvl(p_rec.attribute20, hr_api.g_varchar2)  or
408     nvl(ota_tpc_shd.g_old_rec.attribute21, hr_api.g_varchar2) <>
409     nvl(p_rec.attribute21, hr_api.g_varchar2)  or
410     nvl(ota_tpc_shd.g_old_rec.attribute22, hr_api.g_varchar2) <>
411     nvl(p_rec.attribute22, hr_api.g_varchar2)  or
412     nvl(ota_tpc_shd.g_old_rec.attribute23, hr_api.g_varchar2) <>
413     nvl(p_rec.attribute23, hr_api.g_varchar2)  or
414     nvl(ota_tpc_shd.g_old_rec.attribute24, hr_api.g_varchar2) <>
415     nvl(p_rec.attribute24, hr_api.g_varchar2)  or
416     nvl(ota_tpc_shd.g_old_rec.attribute25, hr_api.g_varchar2) <>
417     nvl(p_rec.attribute25, hr_api.g_varchar2)  or
418     nvl(ota_tpc_shd.g_old_rec.attribute26, hr_api.g_varchar2) <>
419     nvl(p_rec.attribute26, hr_api.g_varchar2)  or
420     nvl(ota_tpc_shd.g_old_rec.attribute27, hr_api.g_varchar2) <>
421     nvl(p_rec.attribute27, hr_api.g_varchar2)  or
422     nvl(ota_tpc_shd.g_old_rec.attribute28, hr_api.g_varchar2) <>
423     nvl(p_rec.attribute28, hr_api.g_varchar2)  or
424     nvl(ota_tpc_shd.g_old_rec.attribute29, hr_api.g_varchar2) <>
425     nvl(p_rec.attribute29, hr_api.g_varchar2)  or
426     nvl(ota_tpc_shd.g_old_rec.attribute30, hr_api.g_varchar2) <>
427     nvl(p_rec.attribute30, hr_api.g_varchar2) ) )
428     or (p_rec.training_plan_cost_id is null)  then
429     --
430     -- Only execute the validation if absolutely necessary:
431     -- a) During update, the structure column value or any
432     --    of the attribute values have actually changed.
433     -- b) During insert.
434     --
435     hr_utility.set_location(' Step :'|| l_proc,15);
436     hr_dflex_utility.ins_or_upd_descflex_attribs
437       (p_appl_short_name                 => 'OTA'
438       ,p_descflex_name                   => 'OTA_TRAINING_PLAN_COSTS'
439       ,p_attribute_category              => p_rec.attribute_category
440       ,p_attribute1_name                 => 'ATTRIBUTE1'
441       ,p_attribute1_value                => p_rec.attribute1
442       ,p_attribute2_name                 => 'ATTRIBUTE2'
443       ,p_attribute2_value                => p_rec.attribute2
444       ,p_attribute3_name                 => 'ATTRIBUTE3'
445       ,p_attribute3_value                => p_rec.attribute3
449       ,p_attribute5_value                => p_rec.attribute5
446       ,p_attribute4_name                 => 'ATTRIBUTE4'
447       ,p_attribute4_value                => p_rec.attribute4
448       ,p_attribute5_name                 => 'ATTRIBUTE5'
450       ,p_attribute6_name                 => 'ATTRIBUTE6'
451       ,p_attribute6_value                => p_rec.attribute6
452       ,p_attribute7_name                 => 'ATTRIBUTE7'
453       ,p_attribute7_value                => p_rec.attribute7
454       ,p_attribute8_name                 => 'ATTRIBUTE8'
455       ,p_attribute8_value                => p_rec.attribute8
456       ,p_attribute9_name                 => 'ATTRIBUTE9'
457       ,p_attribute9_value                => p_rec.attribute9
458       ,p_attribute10_name                => 'ATTRIBUTE10'
459       ,p_attribute10_value               => p_rec.attribute10
460       ,p_attribute11_name                => 'ATTRIBUTE11'
461       ,p_attribute11_value               => p_rec.attribute11
462       ,p_attribute12_name                => 'ATTRIBUTE12'
463       ,p_attribute12_value               => p_rec.attribute12
464       ,p_attribute13_name                => 'ATTRIBUTE13'
465       ,p_attribute13_value               => p_rec.attribute13
466       ,p_attribute14_name                => 'ATTRIBUTE14'
467       ,p_attribute14_value               => p_rec.attribute14
468       ,p_attribute15_name                => 'ATTRIBUTE15'
469       ,p_attribute15_value               => p_rec.attribute15
470       ,p_attribute16_name                => 'ATTRIBUTE16'
471       ,p_attribute16_value               => p_rec.attribute16
472       ,p_attribute17_name                => 'ATTRIBUTE17'
473       ,p_attribute17_value               => p_rec.attribute17
474       ,p_attribute18_name                => 'ATTRIBUTE18'
475       ,p_attribute18_value               => p_rec.attribute18
476       ,p_attribute19_name                => 'ATTRIBUTE19'
477       ,p_attribute19_value               => p_rec.attribute19
478       ,p_attribute20_name                => 'ATTRIBUTE20'
479       ,p_attribute20_value               => p_rec.attribute20
480       ,p_attribute21_name                => 'ATTRIBUTE21'
481       ,p_attribute21_value               => p_rec.attribute21
482       ,p_attribute22_name                => 'ATTRIBUTE22'
483       ,p_attribute22_value               => p_rec.attribute22
484       ,p_attribute23_name                => 'ATTRIBUTE23'
485       ,p_attribute23_value               => p_rec.attribute23
486       ,p_attribute24_name                => 'ATTRIBUTE24'
487       ,p_attribute24_value               => p_rec.attribute24
488       ,p_attribute25_name                => 'ATTRIBUTE25'
489       ,p_attribute25_value               => p_rec.attribute25
490       ,p_attribute26_name                => 'ATTRIBUTE26'
491       ,p_attribute26_value               => p_rec.attribute26
492       ,p_attribute27_name                => 'ATTRIBUTE27'
493       ,p_attribute27_value               => p_rec.attribute27
494       ,p_attribute28_name                => 'ATTRIBUTE28'
495       ,p_attribute28_value               => p_rec.attribute28
496       ,p_attribute29_name                => 'ATTRIBUTE29'
497       ,p_attribute29_value               => p_rec.attribute29
498       ,p_attribute30_name                => 'ATTRIBUTE30'
499       ,p_attribute30_value               => p_rec.attribute30
500       );
501   end if;
502   --
503   hr_utility.set_location(' Leaving:'||l_proc,20);
504 end chk_df;
505 --
506 -- ----------------------------------------------------------------------------
507 -- |-----------------------< chk_non_updateable_args >------------------------|
508 -- ----------------------------------------------------------------------------
509 -- {Start Of Comments}
510 --
511 -- Description:
512 --   This procedure is used to ensure that non updateable attributes have
513 --   not been updated. If an attribute has been updated an error is generated.
514 --
515 -- Pre Conditions:
516 --   g_old_rec has been populated with details of the values currently in
517 --   the database.
518 --
519 -- In Arguments:
520 --   p_rec has been populated with the updated values the user would like the
521 --   record set to.
522 --
523 -- Post Success:
524 --   Processing continues if all the non updateable attributes have not
525 --   changed.
526 --
527 -- Post Failure:
528 --   An application error is raised if any of the non updatable attributes
529 --   have been altered.
530 --
531 -- {End Of Comments}
532 -- ----------------------------------------------------------------------------
533 Procedure chk_non_updateable_args
534   (p_effective_date               in date
535   ,p_rec in ota_tpc_shd.g_rec_type
536   ) IS
537 --
538   l_proc     varchar2(72) := g_package || 'chk_non_updateable_args';
539   l_error    EXCEPTION;
540   l_argument varchar2(30);
541 --
542 Begin
543   --
544   -- Only proceed with the validation if a row exists for the current
545   -- record in the HR Schema.
546   --
547   IF NOT ota_tpc_shd.api_updating
548       (p_training_plan_cost_id                => p_rec.training_plan_cost_id
549       ,p_object_version_number                => p_rec.object_version_number
550       ) THEN
551      fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
552      fnd_message.set_token('PROCEDURE ', l_proc);
553      fnd_message.set_token('STEP ', '5');
554      fnd_message.raise_error;
555   END IF;
556   --
557     hr_utility.set_location(' Step:'|| l_proc, 10);
561      raise l_error;
558   if nvl(p_rec.business_group_id, hr_api.g_number) <>
559      nvl(ota_tpc_shd.g_old_rec.business_group_id, hr_api.g_number) then
560      l_argument := 'business_group_id';
562   end if;
563   --
564   hr_utility.set_location(' Step:'|| l_proc, 20);
565   if nvl(p_rec.tp_measurement_type_id, hr_api.g_number) <>
566      nvl(ota_tpc_shd.g_old_rec.tp_measurement_type_id, hr_api.g_number) then
567      l_argument := 'tp_measurement_type_id';
568      raise l_error;
569   end if;
570   --
571   hr_utility.set_location(' Step:'|| l_proc, 30);
572   if nvl(p_rec.training_plan_id, hr_api.g_number) <>
573      nvl(ota_tpc_shd.g_old_rec.training_plan_id, hr_api.g_number) then
574      l_argument := 'training_plan_id';
575      raise l_error;
576   end if;
577   --
578   hr_utility.set_location(' Step:'|| l_proc, 40);
579   if nvl(p_rec.booking_id, hr_api.g_number) <>
580      nvl(ota_tpc_shd.g_old_rec.booking_id, hr_api.g_number) then
581      l_argument := 'booking_id';
582      raise l_error;
583   end if;
584   --
585   hr_utility.set_location(' Step:'|| l_proc, 50);
586   if nvl(p_rec.event_id, hr_api.g_number) <>
587      nvl(ota_tpc_shd.g_old_rec.event_id, hr_api.g_number) then
588      l_argument := 'event_id';
589      raise l_error;
590   end if;
591   --
592   EXCEPTION
593     WHEN l_error THEN
594        hr_api.argument_changed_error
595          (p_api_name => l_proc
596          ,p_argument => l_argument);
597     WHEN OTHERS THEN
598        RAISE;
599 End chk_non_updateable_args;
600 --
601 -- ----------------------------------------------------------------------------
602 -- |---------------------------< insert_validate >----------------------------|
603 -- ----------------------------------------------------------------------------
604 Procedure insert_validate
605   (p_effective_date               in date
606   ,p_rec                          in ota_tpc_shd.g_rec_type
607   ) is
608 --
609   l_proc  varchar2(72) := g_package||'insert_validate';
610 --
611 Begin
612   hr_utility.set_location('Entering:'||l_proc, 5);
613   --
614   -- Call all supporting business operations
615   --
616   hr_api.validate_bus_grp_id(p_rec.business_group_id);  -- Validate Bus Grp
617   --
618   hr_utility.set_location(' Step:'|| l_proc, 10);
619   ota_tpc_bus1.chk_tp_measurement_type_id(
620                p_tp_measurement_type_id => p_rec.tp_measurement_type_id
621               ,p_business_group_id      => p_rec.business_group_id);
622   --
623   hr_utility.set_location(' Step:'|| l_proc, 20);
624   ota_tpc_bus1.chk_training_plan_id (
625                p_training_plan_id       => p_rec.training_plan_id
626               ,p_business_group_id      => p_rec.business_group_id);
627   --
628   hr_utility.set_location(' Step:'|| l_proc, 30);
629   ota_tpc_bus1.chk_booking_id (
630                p_booking_id             => p_rec.booking_id
631               ,p_business_group_id      => p_rec.business_group_id);
632   --
633   hr_utility.set_location(' Step:'|| l_proc, 40);
634   ota_tpc_bus1.chk_event_id (
635                p_event_id               => p_rec.event_id
636               ,p_training_plan_id       => p_rec.training_plan_id
637               ,p_business_group_id      => p_rec.business_group_id);
638   --
639   hr_utility.set_location(' Step:'|| l_proc, 50);
640   ota_tpc_bus1.chk_booking_event (
641                p_booking_id             => p_rec.booking_id
642               ,p_event_id               => p_rec.event_id
643               ,p_tp_measurement_type_id => p_rec.tp_measurement_type_id
644               ,p_business_group_id      => p_rec.business_group_id);
645   --
646   hr_utility.set_location(' Step:'|| l_proc, 60);
647   ota_tpc_bus1.chk_unique (
648                p_event_id               => p_rec.event_id
649               ,p_booking_id             => p_rec.booking_id
650               ,p_training_plan_id       => p_rec.training_plan_id
651               ,p_tp_measurement_type_id => p_rec.tp_measurement_type_id);
652   --
653   hr_utility.set_location(' Step:'|| l_proc, 70);
654   ota_tpc_bus1.chk_currency_value (
655                p_currency_code          => p_rec.currency_code
656               ,p_training_plan_cost_id  => p_rec.training_plan_cost_id
657               ,p_tp_measurement_type_id => p_rec.tp_measurement_type_id
658               ,p_business_group_id      => p_rec.business_group_id
659               ,p_object_version_number  => p_rec.object_version_number
660               ,p_amount                 => p_rec.amount);
661   --
662   --
663       ota_tpc_bus.chk_ddf(p_rec);
664   --
665       ota_tpc_bus.chk_df(p_rec);
666   --
667   hr_utility.set_location(' Leaving:'||l_proc, 10);
668 End insert_validate;
669 --
670 -- ----------------------------------------------------------------------------
671 -- |---------------------------< update_validate >----------------------------|
672 -- ----------------------------------------------------------------------------
673 Procedure update_validate
674   (p_effective_date               in date
675   ,p_rec                          in ota_tpc_shd.g_rec_type
676   ) is
677 --
678   l_proc  varchar2(72) := g_package||'update_validate';
679 --
680 Begin
681   hr_utility.set_location('Entering:'||l_proc, 5);
682   --
685   hr_api.validate_bus_grp_id(p_rec.business_group_id);  -- Validate Bus Grp
686   --
687   chk_non_updateable_args
688     (p_effective_date              => p_effective_date
689       ,p_rec                       => p_rec
690     );
691   --
692   hr_utility.set_location(' Step:'|| l_proc, 10);
693   --
694   hr_utility.set_location(' Step:'|| l_proc, 20);
695   ota_tpc_bus1.chk_currency_value (
696                p_currency_code          => p_rec.currency_code
697               ,p_training_plan_cost_id  => p_rec.training_plan_cost_id
698               ,p_tp_measurement_type_id => p_rec.tp_measurement_type_id
699               ,p_business_group_id      => p_rec.business_group_id
700               ,p_object_version_number  => p_rec.object_version_number
701               ,p_amount                 => p_rec.amount);
702   --
703   --
704     ota_tpc_bus.chk_ddf(p_rec);
705   --
706     ota_tpc_bus.chk_df(p_rec);
707   --
708   hr_utility.set_location(' Leaving:'||l_proc, 30);
709 End update_validate;
710 --
711 -- ----------------------------------------------------------------------------
712 -- |---------------------------< delete_validate >----------------------------|
713 -- ----------------------------------------------------------------------------
714 Procedure delete_validate
715   (p_rec                          in ota_tpc_shd.g_rec_type
716   ) is
717 --
718   l_proc  varchar2(72) := g_package||'delete_validate';
719 --
720 Begin
721   hr_utility.set_location('Entering:'||l_proc, 5);
722   --
723   -- Call all supporting business operations
724   --
725   hr_utility.set_location(' Leaving:'||l_proc, 10);
726 End delete_validate;
727 --
728 end ota_tpc_bus;
684   --
683   -- Call all supporting business operations