DBA Data[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 >-----------------------------|
15   )
12 -- -----------------------------------------------------------------------------
13 FUNCTION form_template
14   (p_form_template_id             IN     hr_form_templates_b.form_template_id%TYPE
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   --
164   --
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
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;