[Home] [Help]
PACKAGE BODY: APPS.HR_TEMPLATE_TAB_PAGE_INFO
Source
1 PACKAGE BODY hr_template_tab_page_info
2 /* $Header: hrttpinf.pkb 120.0 2005/05/31 03:33:42 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_tab_pages t_template_tab_pages := t_template_tab_pages();
9 --
10 -- Global cursors
11 --
12 CURSOR csr_template_tab_pages
13 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
14 ,p_form_tab_page_id IN hr_form_tab_pages_b.form_tab_page_id%TYPE
15 )
16 IS
17 SELECT ttp.template_tab_page_id
18 ,ftp.tab_page_name
19 ,fcn.canvas_name
20 ,ftp.display_order
21 ,tpt.label
22 ,tpp.navigation_direction
23 ,tpp.visible
24 ,tpp.information_category
25 ,tpp.information1
26 ,tpp.information2
27 ,tpp.information3
28 ,tpp.information4
29 ,tpp.information5
30 ,tpp.information6
31 ,tpp.information7
32 ,tpp.information8
33 ,tpp.information9
34 ,tpp.information10
35 ,tpp.information11
36 ,tpp.information12
37 ,tpp.information13
38 ,tpp.information14
39 ,tpp.information15
40 ,tpp.information16
41 ,tpp.information17
42 ,tpp.information18
43 ,tpp.information19
44 ,tpp.information20
45 ,tpp.information21
46 ,tpp.information22
47 ,tpp.information23
48 ,tpp.information24
49 ,tpp.information25
50 ,tpp.information26
51 ,tpp.information27
52 ,tpp.information28
53 ,tpp.information29
54 ,tpp.information30
55 FROM hr_tab_page_properties_tl tpt
56 ,hr_tab_page_properties_b tpp
57 ,hr_template_tab_pages_b ttp
58 ,hr_template_canvases_b tcn
59 ,hr_template_windows_b twn
60 ,hr_form_canvases_b fcn
61 ,hr_form_tab_pages_b ftp
62 WHERE tpt.language (+) = userenv('LANG')
63 AND tpt.tab_page_property_id (+) = tpp.tab_page_property_id
64 AND tpp.template_tab_page_id (+) = ttp.template_tab_page_id
65 AND ttp.form_tab_page_id (+) = p_form_tab_page_id
66 AND ttp.template_canvas_id (+) = tcn.template_canvas_id
67 AND tcn.template_window_id (+) = twn.template_window_id
68 AND twn.form_template_id (+) = p_form_template_id
69 AND fcn.form_canvas_id = ftp.form_canvas_id
70 AND ftp.form_tab_page_id = p_form_tab_page_id
71 ORDER BY ttp.template_tab_page_id;
72 --
73 -- -----------------------------------------------------------------------------
74 -- |---------------------------< template_tab_pages >--------------------------|
75 -- -----------------------------------------------------------------------------
76 FUNCTION template_tab_pages
77 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
78 )
79 RETURN t_template_tab_pages
80 IS
81 --
82 l_template_tab_pages t_template_tab_pages := t_template_tab_pages();
83 l_form_tab_pages hr_form_tab_page_info.t_form_tab_pages := hr_form_tab_page_info.t_form_tab_pages();
84 l_index_number NUMBER;
85 l_template_tab_page t_template_tab_page;
86 l_template_tab_page_null t_template_tab_page;
87 --
88 BEGIN
89 --
90 IF (p_form_template_id = nvl(g_form_template_id,hr_api.g_number))
91 THEN
92 --
93 -- The template tab pages have already been found with a previous call to
94 -- this function. Just return the global variable.
95 --
96 l_template_tab_pages := g_template_tab_pages;
97 --
98 ELSE
99 --
100 -- The identifier is different to the previous call to this function, or
101 -- this is the first call to this function.
102 --
103 l_form_tab_pages := hr_form_tab_page_info.form_tab_pages
104 (p_application_id => hr_form_template_info.application_id(p_form_template_id)
105 ,p_form_id => hr_form_template_info.form_id(p_form_template_id)
106 );
107 l_index_number := l_form_tab_pages.FIRST;
108 WHILE l_index_number IS NOT NULL
109 LOOP
110 l_template_tab_page := l_template_tab_page_null;
111 OPEN csr_template_tab_pages
112 (p_form_template_id => p_form_template_id
113 ,p_form_tab_page_id => l_form_tab_pages(l_index_number).form_tab_page_id
114 );
115 FETCH csr_template_tab_pages INTO l_template_tab_page;
116 CLOSE csr_template_tab_pages;
117 IF (l_template_tab_page.tab_page_name IS NULL)
118 THEN
119 l_template_tab_page.tab_page_name := l_form_tab_pages(l_index_number).tab_page_name;
120 l_template_tab_page.canvas_name := l_form_tab_pages(l_index_number).canvas_name;
121 END IF;
122 IF (l_template_tab_page.template_tab_page_id IS NULL)
123 THEN
124 l_template_tab_page.visible := 5;
125 END IF;
126 l_template_tab_pages.EXTEND;
127 l_template_tab_pages(l_template_tab_pages.LAST) := l_template_tab_page;
128 l_index_number := l_form_tab_pages.NEXT(l_index_number);
129 END LOOP;
130 --
131 -- Set the global variables so the values are available to the next call to
132 -- the function.
133 --
134 g_form_template_id := p_form_template_id;
135 g_template_tab_pages := l_template_tab_pages;
136 --
137 END IF;
138 --
139 RETURN(l_template_tab_pages);
140 --
141 END template_tab_pages;
142 --
143 -- -----------------------------------------------------------------------------
144 -- |-------------------------< template_tab_pages_pst >------------------------|
145 -- -----------------------------------------------------------------------------
146 FUNCTION template_tab_pages_pst
147 (p_form_template_id IN hr_form_templates_b.form_template_id%TYPE
148 )
149 RETURN t_template_tab_pages_pst
150 IS
151 --
152 l_template_tab_pages_pst t_template_tab_pages_pst;
153 l_template_tab_pages t_template_tab_pages := t_template_tab_pages();
154 l_index_number NUMBER;
155 --
156 BEGIN
157 --
158 l_template_tab_pages := template_tab_pages
159 (p_form_template_id => p_form_template_id
160 );
161 --
162 l_index_number := l_template_tab_pages.FIRST;
163 WHILE (l_index_number IS NOT NULL)
164 LOOP
165 l_template_tab_pages_pst(l_index_number) := l_template_tab_pages(l_index_number);
166 l_index_number := l_template_tab_pages.NEXT(l_index_number);
167 END LOOP;
168 --
169 RETURN(l_template_tab_pages_pst);
170 --
171 END template_tab_pages_pst;
172 --
173 END hr_template_tab_page_info;