[Home] [Help]
PACKAGE BODY: APPS.HR_TEMPLATE_WINDOW_INFO
Source
1 PACKAGE BODY hr_template_window_info
2 /* $Header: hrtwninf.pkb 120.0 2005/05/31 03:35:04 appldev noship $ */
3 AS
4 --
5 -- Global variables
6 --
7 g_form_template_id hr_form_templates_b.form_template_id%TYPE;
8 g_template_windows t_template_windows := t_template_windows();
9 --
10 -- Global cursors
11 --
12 CURSOR csr_template_windows
13 (p_application_id IN hr_form_templates_b.application_id%TYPE
14 ,p_form_id IN hr_form_templates_b.form_id%TYPE
15 ,p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
16 )
17 IS
18 SELECT twn.template_window_id
19 ,fwn.window_name
20 ,wnp.height
21 ,wpt.title
22 ,wnp.width
23 ,wnp.x_position
24 ,wnp.y_position
25 ,wnp.information_category
26 ,wnp.information1
27 ,wnp.information2
28 ,wnp.information3
29 ,wnp.information4
30 ,wnp.information5
31 ,wnp.information6
32 ,wnp.information7
33 ,wnp.information8
34 ,wnp.information9
35 ,wnp.information10
36 ,wnp.information11
37 ,wnp.information12
38 ,wnp.information13
39 ,wnp.information14
40 ,wnp.information15
41 ,wnp.information16
42 ,wnp.information17
43 ,wnp.information18
44 ,wnp.information19
45 ,wnp.information20
46 ,wnp.information21
47 ,wnp.information22
48 ,wnp.information23
49 ,wnp.information24
50 ,wnp.information25
51 ,wnp.information26
52 ,wnp.information27
53 ,wnp.information28
54 ,wnp.information29
55 ,wnp.information30
56 FROM hr_window_properties_tl wpt
57 ,hr_window_properties_b wnp
58 ,hr_template_windows_b twn
59 ,hr_form_windows_b fwn
60 WHERE wpt.language (+) = userenv('LANG')
61 AND wpt.window_property_id (+) = wnp.window_property_id
62 AND wnp.template_window_id (+) = twn.template_window_id
63 AND twn.form_window_id (+) = fwn.form_window_id
64 AND twn.form_template_id (+) = p_form_template_id
65 AND fwn.form_id = p_form_id
66 AND fwn.application_id = p_application_id;
67 --
68 -- -----------------------------------------------------------------------------
69 -- |----------------------------< template_windows >---------------------------|
70 -- -----------------------------------------------------------------------------
71 FUNCTION template_windows
72 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
73 )
74 RETURN t_template_windows
75 IS
76 --
77 l_template_windows t_template_windows := t_template_windows();
78 --
79 BEGIN
80 --
81 IF (p_form_template_id = nvl(g_form_template_id,hr_api.g_number))
82 THEN
83 --
84 -- The template windows have already been found with a previous call to this
85 -- function. Just return the global variable.
86 --
87 l_template_windows := g_template_windows;
88 --
89 ELSE
90 --
91 -- The identifier is different to the previous call to this function, or
92 -- this is the first call to this function.
93 --
94 FOR l_template_window IN csr_template_windows
95 (p_application_id => hr_form_template_info.application_id(p_form_template_id)
96 ,p_form_id => hr_form_template_info.form_id(p_form_template_id)
97 ,p_form_template_id => p_form_template_id
98 )
99 LOOP
100 l_template_windows.EXTEND;
101 l_template_windows(l_template_windows.LAST) := l_template_window;
102 END LOOP;
103 --
104 -- Set the global variables so the values are available to the next call to
105 -- the function.
106 --
107 g_form_template_id := p_form_template_id;
108 g_template_windows := l_template_windows;
109 --
110 END IF;
111 --
112 RETURN(l_template_windows);
113 --
114 END template_windows;
115 --
116 -- -----------------------------------------------------------------------------
117 -- |--------------------------< template_windows_pst >-------------------------|
118 -- -----------------------------------------------------------------------------
119 FUNCTION template_windows_pst
120 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
121 )
122 RETURN t_template_windows_pst
123 IS
124 --
125 l_template_windows_pst t_template_windows_pst;
126 l_template_windows t_template_windows := t_template_windows();
127 l_index_number NUMBER;
128 --
129 BEGIN
130 --
131 l_template_windows := template_windows
132 (p_form_template_id => p_form_template_id
133 );
134 --
135 l_index_number := l_template_windows.FIRST;
136 WHILE (l_index_number IS NOT NULL)
137 LOOP
138 l_template_windows_pst(l_index_number) := l_template_windows(l_index_number);
139 l_index_number := l_template_windows.NEXT(l_index_number);
140 END LOOP;
141 --
142 RETURN(l_template_windows_pst);
143 --
144 END template_windows_pst;
145 --
146 END hr_template_window_info;