[Home] [Help]
PACKAGE BODY: APPS.HR_FORM_TEMPLATE_INFO
Source
1 PACKAGE BODY hr_form_template_info
2 /* $Header: hrtmpinf.pkb 120.0 2005/05/31 03:21:18 appldev noship $ */
3 AS
4 --
5 -- Global variables
6 --
7 g_form_template_id hr_form_templates_b.form_template_id%TYPE;
8 g_form_template t_form_template;
9 --
10 -- -----------------------------------------------------------------------------
11 -- |-----------------------------< form_template >-----------------------------|
12 -- -----------------------------------------------------------------------------
13 FUNCTION form_template
14 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
15 )
16 RETURN t_form_template
17 IS
18 --
19 CURSOR csr_form_templates
20 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
21 )
22 IS
23 SELECT tmp.form_template_id
24 ,tmp.application_id
25 ,tmp.form_id
26 ,tmp.template_name
27 ,tmp.legislation_code
28 ,tmp.enabled_flag
29 ,tmp.help_target
30 ,tmp.information_category
31 ,tmp.information1
32 ,tmp.information2
33 ,tmp.information3
34 ,tmp.information4
35 ,tmp.information5
36 ,tmp.information6
37 ,tmp.information7
38 ,tmp.information8
39 ,tmp.information9
40 ,tmp.information10
41 ,tmp.information11
42 ,tmp.information12
43 ,tmp.information13
44 ,tmp.information14
45 ,tmp.information15
46 ,tmp.information16
47 ,tmp.information17
48 ,tmp.information18
49 ,tmp.information19
50 ,tmp.information20
51 ,tmp.information21
52 ,tmp.information22
53 ,tmp.information23
54 ,tmp.information24
55 ,tmp.information25
56 ,tmp.information26
57 ,tmp.information27
58 ,tmp.information28
59 ,tmp.information29
60 ,tmp.information30
61 FROM hr_form_templates tmp
62 WHERE tmp.form_template_id = p_form_template_id;
63 --
64 l_proc VARCHAR2(61) := 'form_template (1)';
65 l_form_template t_form_template;
66 --
67 BEGIN
68 --
69 hr_utility.set_location('Entering '||l_proc||': '||TO_CHAR(p_form_template_id),10);
70 --
71 IF (p_form_template_id = nvl(g_form_template_id,hr_api.g_number))
72 THEN
73 --
74 hr_utility.set_location(l_proc,20);
75 --
76 -- The form template has already been found with a previous call to this
77 -- function. Just return the global variable.
78 --
79 l_form_template := g_form_template;
80 --
81 ELSE
82 --
83 hr_utility.set_location(l_proc,30);
84 --
85 -- The identifier is different to the previous call to this function, or
86 -- this is the first call to this function.
87 --
88 OPEN csr_form_templates
89 (p_form_template_id => p_form_template_id
90 );
91 FETCH csr_form_templates INTO l_form_template;
92 IF (csr_form_templates%NOTFOUND)
93 THEN
94 hr_utility.set_location(l_proc,40);
95 END IF;
96 CLOSE csr_form_templates;
97 --
98 hr_utility.set_location(l_proc,50);
99 --
100 -- Set the global variables so the values are available to the next call to
101 -- the function.
102 --
103 g_form_template_id := p_form_template_id;
104 g_form_template := l_form_template;
105 --
106 END IF;
107 --
108 hr_utility.set_location('Leaving '||l_proc,60);
109 --
110 RETURN(l_form_template);
111 --
112 END form_template;
113 --
114 -- -----------------------------------------------------------------------------
115 -- |-----------------------------< form_template >-----------------------------|
116 -- -----------------------------------------------------------------------------
117 FUNCTION form_template
118 (p_application_id IN fnd_application.application_id%TYPE
119 ,p_form_id IN fnd_form.form_id%TYPE
120 ,p_template_name IN hr_form_templates_b.template_name%TYPE
121 ,p_legislation_code IN hr_form_templates_b.legislation_code%TYPE
122 )
123 RETURN t_form_template
124 IS
125 --
126 CURSOR csr_form_templates
127 (p_application_id IN hr_form_templates_b.application_id%TYPE
128 ,p_form_id IN hr_form_templates_b.form_id%TYPE
129 ,p_template_name IN hr_form_templates_b.template_name%TYPE
130 ,p_legislation_code IN hr_form_templates_b.legislation_code%TYPE
131 )
132 IS
133 SELECT tmp.form_template_id
134 FROM hr_form_templates_b tmp
135 WHERE tmp.application_id = p_application_id
136 AND tmp.form_id = p_form_id
137 AND tmp.template_name = p_template_name
138 AND ( tmp.legislation_code = p_legislation_code
139 OR ( tmp.legislation_code IS NULL
140 AND p_legislation_code IS NULL));
141 CURSOR csr_form_templates2
142 (p_application_id IN hr_form_templates_b.application_id%TYPE
143 ,p_form_id IN hr_form_templates_b.form_id%TYPE
144 ,p_template_name IN hr_form_templates_b.template_name%TYPE
145 )
146 IS
147 SELECT tmp.form_template_id
148 FROM hr_form_templates_b tmp
149 WHERE tmp.application_id = p_application_id
150 AND tmp.form_id = p_form_id
151 AND tmp.template_name = p_template_name
152 AND tmp.legislation_code IS NULL;
153 l_form_template_internal csr_form_templates%ROWTYPE;
154 --
155 l_proc VARCHAR2(61) := 'form_template (2)';
156 l_form_template t_form_template;
157 l_form_template_found BOOLEAN := FALSE;
158 --
159 BEGIN
160 --
161 hr_utility.set_location('Entering '||l_proc||': '||TO_CHAR(p_application_id)||', '||TO_CHAR(p_form_id)||', '||p_template_name||', '||p_legislation_code,10);
162 --
163 -- Search for a template within the specified legislation
164 --
165 IF (p_legislation_code IS NOT NULL)
166 THEN
167 hr_utility.set_location(l_proc,20);
168 OPEN csr_form_templates
169 (p_application_id => p_application_id
170 ,p_form_id => p_form_id
171 ,p_template_name => p_template_name
172 ,p_legislation_code => p_legislation_code
173 );
174 FETCH csr_form_templates INTO l_form_template_internal;
175 l_form_template_found := csr_form_templates%FOUND;
176 CLOSE csr_form_templates;
177 END IF;
178 --
179 hr_utility.set_location(l_proc,30);
180 --
181 -- Search for a template which is not specific to any legislation, if one has
182 -- not been found already
183 --
184 IF (NOT l_form_template_found)
185 THEN
186 hr_utility.set_location(l_proc||': '||TO_CHAR(p_application_id)||', '||TO_CHAR(p_form_id)||', '||p_template_name,40);
187 OPEN csr_form_templates2
188 (p_application_id => p_application_id
189 ,p_form_id => p_form_id
190 ,p_template_name => p_template_name
191 );
192 FETCH csr_form_templates2 INTO l_form_template_internal;
193 l_form_template_found := csr_form_templates2%FOUND;
194 CLOSE csr_form_templates2;
195 END IF;
196 --
197 hr_utility.set_location(l_proc,50);
198 --
199 IF (l_form_template_found)
200 THEN
201 hr_utility.set_location(l_proc,60);
202 l_form_template := form_template
203 (p_form_template_id => l_form_template_internal.form_template_id
204 );
205 END IF;
206 --
207 hr_utility.set_location('Leaving '||l_proc,70);
208 --
209 RETURN(l_form_template);
210 --
211 END form_template;
212 --
213 -- -----------------------------------------------------------------------------
214 -- |-----------------------------< form_template >-----------------------------|
215 -- -----------------------------------------------------------------------------
216 FUNCTION form_template
217 (p_function_name IN fnd_form_functions.function_name%TYPE
218 ,p_template_name IN hr_form_templates_b.template_name%TYPE
219 ,p_legislation_code IN hr_form_templates_b.legislation_code%TYPE
220 )
221 RETURN t_form_template
222 IS
223 --
224 CURSOR csr_form_functions
225 (p_function_name IN fnd_form_functions.function_name%TYPE
226 )
227 IS
228 SELECT fnc.application_id
229 ,fnc.form_id
230 FROM fnd_form_functions fnc
231 WHERE fnc.function_name = p_function_name;
232 l_form_function csr_form_functions%ROWTYPE;
233 --
234 l_proc VARCHAR2(61) := 'form_template (3)';
235 l_form_template t_form_template;
236 --
237 BEGIN
238 --
239 hr_utility.set_location('Entering '||l_proc||': '||p_function_name||', '||p_template_name||', '||p_legislation_code,10);
240 --
241 OPEN csr_form_functions
242 (p_function_name => p_function_name
243 );
244 FETCH csr_form_functions INTO l_form_function;
245 IF (csr_form_functions%FOUND)
246 THEN
247 hr_utility.set_location(l_proc,20);
248 l_form_template := form_template
249 (p_application_id => l_form_function.application_id
250 ,p_form_id => l_form_function.form_id
251 ,p_template_name => p_template_name
252 ,p_legislation_code => p_legislation_code
253 );
254 END IF;
255 CLOSE csr_form_functions;
256 --
257 hr_utility.set_location('Leaving '||l_proc,30);
258 --
259 RETURN(l_form_template);
260 --
261 END form_template;
262 --
263 -- -----------------------------------------------------------------------------
264 -- |-----------------------------< application_id >----------------------------|
265 -- -----------------------------------------------------------------------------
266 FUNCTION application_id
267 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
268 )
269 RETURN hr_form_templates_b.application_id%TYPE
270 IS
271 --
272 l_form_template t_form_template;
273 --
274 BEGIN
275 --
276 l_form_template := form_template
277 (p_form_template_id => p_form_template_id
278 );
279 --
280 RETURN(l_form_template.application_id);
281 --
282 END application_id;
283 --
284 -- -----------------------------------------------------------------------------
285 -- |--------------------------------< form_id >--------------------------------|
286 -- -----------------------------------------------------------------------------
287 FUNCTION form_id
288 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
289 )
290 RETURN hr_form_templates_b.form_id%TYPE
291 IS
292 --
293 l_form_template t_form_template;
294 --
295 BEGIN
296 --
297 l_form_template := form_template
298 (p_form_template_id => p_form_template_id
299 );
300 --
301 RETURN(l_form_template.form_id);
302 --
303 END form_id;
304 --
305 FUNCTION date_format_mask
306 RETURN VARCHAR2
307 IS
308 BEGIN
309 RETURN(fnd_date.output_mask);
310 END date_format_mask;
311 --
312 FUNCTION datetime_format_mask
313 RETURN VARCHAR2
314 IS
315 BEGIN
316 RETURN(fnd_date.outputdt_mask);
317 END datetime_format_mask;
318 --
319 END hr_form_template_info;