DBA Data[Home] [Help]

PACKAGE BODY: APPS.GHR_LEI_FLEX_DDF

Source


1 Package Body ghr_lei_flex_ddf as
2 /* $Header: ghleiddf.pkb 115.4 2001/12/10 13:21:20 pkm ship      $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= 'ghr_lei_flex_ddf.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |--------------------------< val_info_type_y >------------------------------|
12 -- ----------------------------------------------------------------------------
13 --  {Start of Comments}
14 --
15 --  Description:
16 --    This procedure performs the descriptive flexfield validation for the
17 --    reference field - Information Type where the value is 'Y'.
18 --
19 --  Pre Conditions:
20 --    None
21 --
22 --  In Arguments:
23 --    p_rec
24 --
25 --  Post Success:
26 --    Processing of ghr_lei_flex_ddf continues.
27 --
28 --  Post failure:
29 --    Processing will be suspended if the descriptive flexfield validation
30 --    fails.
31 --
32 --  Developer Implementation Notes:
33 --    Customer defined.
34 --
35 --  Access Status:
36 --    From df procedure only.
37 --
38 --  {End of Comments}
39 -- ----------------------------------------------------------------------------
40 Procedure val_info_type_y
41              (p_rec   in per_asg_shd.g_rec_type) is
42 --
43   l_proc    varchar2(72) := g_package||'val_info_type_y';
44 --
45 begin
46   hr_utility.set_location('Entering:'||l_proc, 1);
47   --
48   -- Enter procedure code here
49   --
50   hr_utility.set_location(' Leaving:'||l_proc, 2);
51 end val_info_type_y;
52 -- ----------------------------------------------------------------------------
53 -- |--------------------------< val_info_type_x >------------------------------|
54 -- ----------------------------------------------------------------------------
55 --  {Start of Comments}
56 --
57 --  Description:
58 --    This procedure performs the descriptive flexfield validation for the
59 --    reference field - Information Type where the value is 'X'.
60 --
61 --  Pre Conditions:
62 --    None
63 --
64 --  In Arguments:
65 --    p_rec
66 --
67 --  Post Success:
68 --    Processing of hr_lei_flex_ddf continues.
69 --
70 --  Post failure:
71 --    Processing will be suspended if the descriptive flexfield validation
72 --    fails.
73 --
74 --  Developer Implementation Notes:
75 --    Customer defined.
76 --
77 --  Access Status:
78 --    From df procedure only.
79 --
80 --  {End of Comments}
81 -- ----------------------------------------------------------------------------
82 Procedure val_info_type_x
83              (p_rec   in per_asg_shd.g_rec_type) is
84 --
85   l_proc    varchar2(72) := g_package||'val_info_type_x';
86 --
87 begin
88   hr_utility.set_location('Entering:'||l_proc, 1);
89   --
90   -- Enter procedure code here
91   --
92   hr_utility.set_location(' Leaving:'||l_proc, 2);
93 end val_info_type_x;
94 -- ----------------------------------------------------------------------------
95 -- |-------------------------------< ddf >-------------------------------------|
96 -- ----------------------------------------------------------------------------
97 procedure ddf
98 	(
99 		p_location_extra_info_id	in	number	,
100 		p_information_type		in	varchar2	,
101 		p_location_id			in	number	,
102 		p_request_id			in	number	,
103 		p_program_application_id	in	number	,
104 		p_program_id			in	number	,
105 		p_program_update_date		in	date		,
106 		p_lei_attribute_category	in	varchar2	,
107 		p_lei_attribute1			in	varchar2	,
108 		p_lei_attribute2			in	varchar2	,
109 		p_lei_attribute3			in	varchar2	,
110 		p_lei_attribute4			in	varchar2	,
111 		p_lei_attribute5			in	varchar2	,
112 		p_lei_attribute6			in	varchar2	,
113 		p_lei_attribute7			in	varchar2	,
114 		p_lei_attribute8			in	varchar2	,
115 		p_lei_attribute9			in	varchar2	,
116 		p_lei_attribute10			in	varchar2	,
117 		p_lei_attribute11			in	varchar2	,
118 		p_lei_attribute12			in	varchar2	,
119 		p_lei_attribute13			in	varchar2	,
120 		p_lei_attribute14			in	varchar2	,
121 		p_lei_attribute15			in	varchar2	,
122 		p_lei_attribute16			in	varchar2	,
123 		p_lei_attribute17			in	varchar2	,
124 		p_lei_attribute18			in	varchar2	,
125 		p_lei_attribute19			in	varchar2	,
126 		p_lei_attribute20			in	varchar2	,
127 		p_lei_information_category	in	varchar2	,
128 		p_lei_information1		in	varchar2	,
129 		p_lei_information2		in	varchar2	,
130 		p_lei_information3		in	varchar2	,
131 		p_lei_information4		in	varchar2	,
132 		p_lei_information5		in	varchar2	,
133 		p_lei_information6		in	varchar2	,
134 		p_lei_information7		in	varchar2	,
135 		p_lei_information8		in	varchar2	,
136 		p_lei_information9		in	varchar2	,
137 		p_lei_information10		in	varchar2	,
138 		p_lei_information11		in	varchar2	,
139 		p_lei_information12		in	varchar2	,
140 		p_lei_information13		in	varchar2	,
141 		p_lei_information14		in	varchar2	,
142 		p_lei_information15		in	varchar2	,
143 		p_lei_information16		in	varchar2	,
144 		p_lei_information17		in	varchar2	,
145 		p_lei_information18		in	varchar2	,
146 		p_lei_information19		in	varchar2	,
147 		p_lei_information20		in	varchar2	,
148 		p_lei_information21		in	varchar2	,
149 		p_lei_information22		in	varchar2	,
150 		p_lei_information23		in	varchar2	,
151 		p_lei_information24		in	varchar2	,
152 		p_lei_information25		in	varchar2	,
153 		p_lei_information26		in	varchar2	,
154 		p_lei_information27		in	varchar2	,
155 		p_lei_information28		in	varchar2	,
156 		p_lei_information29		in	varchar2	,
157 		p_lei_information30		in	varchar2
158 	)
159 is
160 --
161   l_proc		varchar2(72) := g_package||'ddf';
162   l_error		exception;
163   l_duty_station	char;
164   l_effective_date      date;
165 
166   cursor c1 is
167          SELECT effective_date
168          FROM   fnd_sessions
169          WHERE  session_id = USERENV('SESSIONID');
170 
171   cursor c2 (p_effective_date  date) is
172          select 'X'
173          from   ghr_duty_stations_f
174 	 where  duty_station_id = to_number(p_lei_information3)
175            and  trunc(p_effective_date) between(effective_start_date) and
176                                             nvl(effective_end_date,p_effective_date);
177 --
178 Begin
179   hr_utility.set_location('Entering:'||l_proc, 5);
180   --
181 if ghr_utility.is_ghr = 'TRUE' then
182 /*
183   -- Check for value of reference field an then
184   -- call relevant validation procedure.
185   --
186   if <reference field value> is not null then
187     --
188     -- Reference field       => Information type
189     -- Reference field value => 'X'
190     --
191     if <reference field value> is <value> then
192       val_info_type_x(p_rec => p_rec);
193     --
194     -- Reference field       => Information type
195     -- Reference field value => 'Y'
196     --
197     elsif <reference field value> is <value> then
198       val_info_type_x(p_rec => p_rec);
199     else
200       --
201       -- Reference field values is not supported
202       --
203       hr_utility.set_message(801, 'HR_7438_FLEX_INV_REF_FIELD_VAL');
204       hr_utility.raise_error;
205     end if;
206   else
207     --
208     -- When the reference field is null, check
209     -- that none of the attribute fields have
210     -- been set
211     --
212 */
213     if p_information_type = 'GHR_US_LOC_INFORMATION' and
214        p_lei_Information3 is not null then
215        open c1;
216        fetch c1 into l_effective_date;
217        close c1;
218 
219        open c2(nvl(l_effective_date,sysdate));
220        fetch c2 into l_duty_station;
221 	 if c2%NOTFOUND then
222           close c2;
223           hr_utility.set_message(8301, 'GHR_38277_DUTY_STATION_NOT_FND');
224           hr_utility.raise_error;
225        else
226           close c2;
227        end if;
228     elsif p_lei_information1 is not null then
229       raise l_error;
230     elsif p_lei_information2 is not null then
231       raise l_error;
232     elsif p_lei_information3 is not null then
233       raise l_error;
234     elsif p_lei_information4 is not null then
235       raise l_error;
236     elsif p_lei_information5 is not null then
237       raise l_error;
238     elsif p_lei_information6 is not null then
239       raise l_error;
240     elsif p_lei_information7 is not null then
241       raise l_error;
242     elsif p_lei_information8 is not null then
243       raise l_error;
244     elsif p_lei_information9 is not null then
245       raise l_error;
246     elsif p_lei_information10 is not null then
247       raise l_error;
248     elsif p_lei_information11 is not null then
249       raise l_error;
250     elsif p_lei_information12 is not null then
251       raise l_error;
252     elsif p_lei_information13 is not null then
253       raise l_error;
254     elsif p_lei_information14 is not null then
255       raise l_error;
256     elsif p_lei_information15 is not null then
257       raise l_error;
258     elsif p_lei_information16 is not null then
259       raise l_error;
260     elsif p_lei_information17 is not null then
261       raise l_error;
262     elsif p_lei_information18 is not null then
263       raise l_error;
264     elsif p_lei_information19 is not null then
265       raise l_error;
266     elsif p_lei_information20 is not null then
267       raise l_error;
268     elsif p_lei_information21 is not null then
269       raise l_error;
270     elsif p_lei_information22 is not null then
271       raise l_error;
272     elsif p_lei_information23 is not null then
273       raise l_error;
274     elsif p_lei_information24 is not null then
275       raise l_error;
276     elsif p_lei_information25 is not null then
277       raise l_error;
278     elsif p_lei_information26 is not null then
279       raise l_error;
280     elsif p_lei_information27 is not null then
281       raise l_error;
282     elsif p_lei_information28 is not null then
283       raise l_error;
284     elsif p_lei_information29 is not null then
285       raise l_error;
286     elsif p_lei_information30 is not null then
287       raise l_error;
288     end if;
289   --
290   /*
291   endif;
292   */
293   hr_utility.set_location(' Leaving:'||l_proc, 10);
294 
295 end if; -- ghr_utility.is_ghr
296 exception
297   when l_error then
298     hr_utility.set_message(801, 'HR_7439_FLEX_INV_ATTRIBUTE_ARG');
299     hr_utility.raise_error;
300     hr_utility.set_location(' Leaving:'||l_proc, 10);
301 
302 end ddf;
303 --
304 end ghr_lei_flex_ddf;