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