DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_TEMPLATE_CANVAS_INFO

Source


1 PACKAGE BODY hr_template_canvas_info
2 /* $Header: hrtcninf.pkb 120.0 2005/05/31 02:58: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_canvases            t_template_canvases := t_template_canvases();
9   --
10   -- Global cursors
11   --
12   CURSOR csr_template_canvases
13     (p_form_template_id             IN     hr_form_templates_b.form_template_id%TYPE
14     ,p_form_canvas_id               IN     hr_form_canvases_b.form_canvas_id%TYPE
15     )
16   IS
17     SELECT tcn.template_canvas_id
18           ,fcn.canvas_name
19           ,fcn.canvas_type
20           ,fwn.window_name
21           ,cnp.height
22           ,cnp.visible
23           ,cnp.width
24           ,cnp.x_position
25           ,cnp.y_position
26           ,cnp.information_category
27           ,cnp.information1
28           ,cnp.information2
29           ,cnp.information3
30           ,cnp.information4
31           ,cnp.information5
32           ,cnp.information6
33           ,cnp.information7
34           ,cnp.information8
35           ,cnp.information9
36           ,cnp.information10
37           ,cnp.information11
38           ,cnp.information12
39           ,cnp.information13
40           ,cnp.information14
41           ,cnp.information15
42           ,cnp.information16
43           ,cnp.information17
44           ,cnp.information18
45           ,cnp.information19
46           ,cnp.information20
47           ,cnp.information21
48           ,cnp.information22
49           ,cnp.information23
50           ,cnp.information24
51           ,cnp.information25
52           ,cnp.information26
53           ,cnp.information27
54           ,cnp.information28
55           ,cnp.information29
56           ,cnp.information30
57       FROM hr_canvas_properties cnp
58           ,hr_template_canvases_b tcn
59           ,hr_template_windows_b twn
60           ,hr_form_windows_b fwn
61           ,hr_form_canvases_b fcn
62      WHERE cnp.template_canvas_id (+) = tcn.template_canvas_id
63        AND tcn.form_canvas_id (+) = p_form_canvas_id
64        AND tcn.template_window_id (+) = twn.template_window_id
65        AND twn.form_template_id (+) = p_form_template_id
66        AND fwn.form_window_id = fcn.form_window_id
67        AND fcn.form_canvas_id = p_form_canvas_id
68   ORDER BY tcn.template_canvas_id;
69 --
70 -- -----------------------------------------------------------------------------
71 -- |---------------------------< template_canvases >---------------------------|
72 -- -----------------------------------------------------------------------------
73 FUNCTION template_canvases
74   (p_form_template_id             IN     hr_form_templates_b.form_template_id%TYPE
75   )
76 RETURN t_template_canvases
77 IS
78   --
79   l_template_canvases            t_template_canvases                 := t_template_canvases();
80   l_form_canvases                hr_form_canvas_info.t_form_canvases := hr_form_canvas_info.t_form_canvases();
81   l_index_number                 NUMBER;
82   l_template_canvas              t_template_canvas;
83   l_template_canvas_null         t_template_canvas;
84 --
85 BEGIN
86   --
87   IF (p_form_template_id = nvl(g_form_template_id,hr_api.g_number))
88   THEN
89     --
90     -- The template canvases have already been found with a previous call to this
91     -- function. Just return the global variable.
92     --
93     l_template_canvases := g_template_canvases;
94   --
95   ELSE
96     --
97     -- The identifier is different to the previous call to this function, or
98     -- this is the first call to this function.
99     --
100     l_form_canvases := hr_form_canvas_info.form_canvases
101       (p_application_id               => hr_form_template_info.application_id(p_form_template_id)
102       ,p_form_id                      => hr_form_template_info.form_id(p_form_template_id)
103       );
104     l_index_number := l_form_canvases.FIRST;
105     WHILE l_index_number IS NOT NULL
106     LOOP
107       l_template_canvas := l_template_canvas_null;
108       OPEN csr_template_canvases
109         (p_form_template_id             => p_form_template_id
110         ,p_form_canvas_id               => l_form_canvases(l_index_number).form_canvas_id
111         );
112       FETCH csr_template_canvases INTO l_template_canvas;
113       CLOSE csr_template_canvases;
114       IF (l_template_canvas.canvas_name IS NULL)
115       THEN
116         l_template_canvas.canvas_name := l_form_canvases(l_index_number).canvas_name;
117         l_template_canvas.canvas_type := l_form_canvases(l_index_number).canvas_type;
118       END IF;
119       IF (l_template_canvas.template_canvas_id IS NULL)
120       THEN
121         l_template_canvas.visible := 5;
122       END IF;
123       l_template_canvases.EXTEND;
124       l_template_canvases(l_template_canvases.LAST) := l_template_canvas;
125       l_index_number := l_form_canvases.NEXT(l_index_number);
126     END LOOP;
127     --
128     -- Set the global variables so the values are available to the next call to
129     -- the function.
130     --
131     g_form_template_id := p_form_template_id;
132     g_template_canvases := l_template_canvases;
133   --
134   END IF;
135   --
136   RETURN(l_template_canvases);
137 --
138 END template_canvases;
139 --
140 -- -----------------------------------------------------------------------------
141 -- |-------------------------< template_canvases_pst >-------------------------|
142 -- -----------------------------------------------------------------------------
143 FUNCTION template_canvases_pst
144   (p_form_template_id             IN     hr_form_templates_b.form_template_id%TYPE
145   )
146 RETURN t_template_canvases_pst
147 IS
148   --
149   l_template_canvases_pst        t_template_canvases_pst;
150   l_template_canvases            t_template_canvases     := t_template_canvases();
151   l_index_number                 NUMBER;
152 --
153 BEGIN
154   --
155   l_template_canvases := template_canvases
156     (p_form_template_id             => p_form_template_id
157     );
158   --
159   l_index_number := l_template_canvases.FIRST;
160   WHILE (l_index_number IS NOT NULL)
161   LOOP
162     l_template_canvases_pst(l_index_number) := l_template_canvases(l_index_number);
163     l_index_number := l_template_canvases.NEXT(l_index_number);
164   END LOOP;
165   --
166   RETURN(l_template_canvases_pst);
167 --
168 END template_canvases_pst;
169 --
170 END hr_template_canvas_info;