DBA Data[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;