[Home] [Help]
PACKAGE BODY: APPS.HR_TEMPLATE_WINDOWS_PKG
Source
1 package body HR_TEMPLATE_WINDOWS_PKG as
2 /* $Header: hrtwulct.pkb 120.1 2011/04/28 10:31:14 sidsaxen ship $ */
3 procedure OWNER_TO_WHO (
4 X_OWNER in VARCHAR2,
5 X_CREATION_DATE out nocopy DATE,
6 X_CREATED_BY out nocopy NUMBER,
7 X_LAST_UPDATE_DATE out nocopy DATE,
8 X_LAST_UPDATED_BY out nocopy NUMBER,
9 X_LAST_UPDATE_LOGIN out nocopy NUMBER
10 ) is
11 begin
12 if X_OWNER = 'SEED' then
13 X_CREATED_BY := 1;
14 X_LAST_UPDATED_BY := 1;
15 else
16 X_CREATED_BY := 0;
17 X_LAST_UPDATED_BY := 0;
18 end if;
19 X_CREATION_DATE := sysdate;
20 X_LAST_UPDATE_DATE := sysdate;
21 X_LAST_UPDATE_LOGIN := 0;
22 end OWNER_TO_WHO;
23 procedure INSERT_ROW (
24 X_ROWID in out nocopy VARCHAR2,
25 X_TEMPLATE_WINDOW_ID in NUMBER,
26 X_OBJECT_VERSION_NUMBER in NUMBER,
27 X_FORM_TEMPLATE_ID in NUMBER,
28 X_FORM_WINDOW_ID in NUMBER,
29 X_CREATION_DATE in DATE,
30 X_CREATED_BY in NUMBER,
31 X_LAST_UPDATE_DATE in DATE,
32 X_LAST_UPDATED_BY in NUMBER,
33 X_LAST_UPDATE_LOGIN in NUMBER
34 ) is
35 cursor C is select ROWID from HR_TEMPLATE_WINDOWS_B
36 where TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID
37 ;
38 begin
39
40 --
41 -- Added the following code as a part of Zero Downtime Patching Project.
42 -- Code Starts Here.
43 --
44
45 BEGIN
46 PER_RIC_PKG.chk_integrity (
47 p_entity_name => 'HR_TEMPLATE_WINDOWS_B',
48 p_ref_entity_info => PER_RIC_PKG.ref_entity_tbl(
49 PER_RIC_PKG.ref_info_rec('HR_FORM_TEMPLATES_B', PER_RIC_PKG.column_info_tbl(
50 PER_RIC_PKG.col_info_rec('FORM_TEMPLATE_ID',NULL,X_FORM_TEMPLATE_ID,NULL))),
51 PER_RIC_PKG.ref_info_rec('HR_FORM_WINDOWS_B', PER_RIC_PKG.column_info_tbl(
52 PER_RIC_PKG.col_info_rec('FORM_WINDOW_ID',NULL,X_FORM_WINDOW_ID,NULL)))
53 ),
54 p_ref_type => 'INS');
55
56 END;
57 --
58 -- Code Ends Here.
59 --
60 insert into HR_TEMPLATE_WINDOWS_B (
61 TEMPLATE_WINDOW_ID,
62 OBJECT_VERSION_NUMBER,
63 FORM_TEMPLATE_ID,
64 FORM_WINDOW_ID,
65 LAST_UPDATE_DATE,
66 LAST_UPDATED_BY,
67 LAST_UPDATE_LOGIN,
68 CREATED_BY,
69 CREATION_DATE
70 ) values(
71 X_TEMPLATE_WINDOW_ID,
72 X_OBJECT_VERSION_NUMBER,
73 X_FORM_TEMPLATE_ID,
74 X_FORM_WINDOW_ID,
75 X_LAST_UPDATE_DATE,
76 X_LAST_UPDATED_BY,
77 X_LAST_UPDATE_LOGIN,
78 X_CREATED_BY,
79 X_CREATION_DATE);
80
81 open c;
82 fetch c into X_ROWID;
83 if (c%notfound) then
84 close c;
85 raise no_data_found;
86 end if;
87 close c;
88
89 end INSERT_ROW;
90
91 procedure LOCK_ROW (
92 X_TEMPLATE_WINDOW_ID in NUMBER,
93 X_OBJECT_VERSION_NUMBER in NUMBER,
94 X_FORM_TEMPLATE_ID in NUMBER,
95 X_FORM_WINDOW_ID in NUMBER
96 ) is
97 cursor c1 is select
98 OBJECT_VERSION_NUMBER,
99 FORM_TEMPLATE_ID,
100 FORM_WINDOW_ID
101 from HR_TEMPLATE_WINDOWS_B
102 where TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID
103 for update of TEMPLATE_WINDOW_ID nowait;
104 begin
105 for tlinfo in c1 loop
106 if (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
107 AND (tlinfo.FORM_TEMPLATE_ID = X_FORM_TEMPLATE_ID)
108 AND (tlinfo.FORM_WINDOW_ID = X_FORM_WINDOW_ID)
109 then
110 null;
111 else
112 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
113 app_exception.raise_exception;
114 end if;
115 end loop;
116 return;
117 end LOCK_ROW;
118
119 procedure UPDATE_ROW (
120 X_TEMPLATE_WINDOW_ID in NUMBER,
121 X_OBJECT_VERSION_NUMBER in NUMBER,
122 X_FORM_TEMPLATE_ID in NUMBER,
123 X_FORM_WINDOW_ID in NUMBER,
124 X_LAST_UPDATE_DATE in DATE,
125 X_LAST_UPDATED_BY in NUMBER,
126 X_LAST_UPDATE_LOGIN in NUMBER
127 ) is
128 begin
129 update HR_TEMPLATE_WINDOWS_B set
130 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
131 FORM_TEMPLATE_ID = X_FORM_TEMPLATE_ID,
132 FORM_WINDOW_ID = X_FORM_WINDOW_ID,
133 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
134 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
135 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
136 where TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID;
137
138 if (sql%notfound) then
139 raise no_data_found;
140 end if;
141 end UPDATE_ROW;
142
143 procedure DELETE_ROW (
144 X_TEMPLATE_WINDOW_ID in NUMBER
145 ) is
146 begin
147
148 --
149 -- Added the following code as a part of Zero Downtime Patching Project.
150 -- Code Starts Here.
151 --
152
153 BEGIN
154 PER_RIC_PKG.chk_integrity (
155 p_entity_name => 'HR_TEMPLATE_WINDOWS_B',
156 p_ref_entity_info => PER_RIC_PKG.ref_entity_tbl(
157 PER_RIC_PKG.ref_info_rec('HR_TEMPLATE_CANVASES_B', PER_RIC_PKG.column_info_tbl(
158 PER_RIC_PKG.col_info_rec('TEMPLATE_WINDOW_ID',NULL,X_TEMPLATE_WINDOW_ID,NULL))),
159 PER_RIC_PKG.ref_info_rec('HR_WINDOW_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
160 PER_RIC_PKG.col_info_rec('TEMPLATE_WINDOW_ID',NULL,X_TEMPLATE_WINDOW_ID,NULL)))
161 ),
162 p_ref_type => 'DEL');
163
164 END;
165 --
166 -- Code Ends Here.
167 --
168 delete from HR_TEMPLATE_WINDOWS_B
169 where TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID;
170
171 if (sql%notfound) then
172 raise no_data_found;
173 end if;
174
175 end DELETE_ROW;
176
177 procedure LOAD_ROW (
178 X_APPLICATION_SHORT_NAME in VARCHAR2,
179 X_FORM_NAME in VARCHAR2,
180 X_WINDOW_NAME in VARCHAR2,
181 X_TEMPLATE_NAME in VARCHAR2,
182 X_TERRITORY_SHORT_NAME in VARCHAR2,
183 X_OWNER in VARCHAR2,
184 X_OBJECT_VERSION_NUMBER in VARCHAR2) is
185 X_ROWID ROWID;
186 X_CREATION_DATE DATE;
187 X_CREATED_BY NUMBER;
188 X_LAST_UPDATE_DATE DATE;
189 X_LAST_UPDATED_BY NUMBER;
190 X_LAST_UPDATE_LOGIN NUMBER;
191 X_FORM_ID NUMBER;
192 X_APPLICATION_ID NUMBER;
193 X_FORM_WINDOW_ID NUMBER;
194 X_TEMPLATE_WINDOW_ID NUMBER;
195 X_FORM_TEMPLATE_ID NUMBER;
196 begin
197
198 OWNER_TO_WHO (
199 X_OWNER,
200 X_CREATION_DATE,
201 X_CREATED_BY,
202 X_LAST_UPDATE_DATE,
203 X_LAST_UPDATED_BY,
204 X_LAST_UPDATE_LOGIN
205 );
206
207 select application_id
208 into x_application_id
209 from fnd_application
210 where application_short_name = x_application_short_name;
211
212 select form_id
213 into x_form_id
214 from fnd_form
215 where form_name = x_form_name
216 and application_id = x_application_id;
217
218 select form_window_id
219 into x_form_window_id
220 from hr_form_windows_b
221 where window_name = x_window_name
222 and application_id = x_application_id
223 and form_id = x_form_id;
224
225 select form_template_id
226 into x_form_template_id
227 from hr_form_templates_b
228 where template_name = x_template_name
229 and ( (legislation_code is null and x_territory_short_name is null)
230 or (legislation_code = x_territory_short_name) )
231 and application_id = x_application_id
232 and form_id = x_form_id;
233
234 begin
235 select template_window_id
236 into x_template_window_id
237 from hr_template_windows_b
238 where form_template_id = x_form_template_id
239 and form_window_id = x_form_window_id;
240 exception
241 when no_data_found then
242 select hr_template_windows_b_s.nextval
243 into x_template_window_id
244 from dual;
245 end;
246
247 begin
248
249 UPDATE_ROW (
250 X_TEMPLATE_WINDOW_ID,
251 to_number(X_OBJECT_VERSION_NUMBER),
252 X_FORM_TEMPLATE_ID,
253 X_FORM_WINDOW_ID,
254 X_LAST_UPDATE_DATE,
255 X_LAST_UPDATED_BY,
256 X_LAST_UPDATE_LOGIN);
257 exception
258 when no_data_found then
259 INSERT_ROW (
260 X_ROWID,
261 X_TEMPLATE_WINDOW_ID,
262 to_number(X_OBJECT_VERSION_NUMBER),
263 X_FORM_TEMPLATE_ID,
264 X_FORM_WINDOW_ID,
265 X_CREATION_DATE,
266 X_CREATED_BY,
267 X_LAST_UPDATE_DATE,
268 X_LAST_UPDATED_BY,
269 X_LAST_UPDATE_LOGIN);
270
271 end;
272 end LOAD_ROW;
273 end HR_TEMPLATE_WINDOWS_PKG;