[Home] [Help]
PACKAGE BODY: APPS.HR_FORM_TAB_PAGES_PKG
Source
1 package body HR_FORM_TAB_PAGES_PKG as
2 /* $Header: hrftplct.pkb 115.1 2002/12/10 11:50:05 hjonnala noship $ */
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_FORM_TAB_PAGE_ID in NUMBER,
26 X_VISIBLE_OVERRIDE in NUMBER,
27 X_OBJECT_VERSION_NUMBER in NUMBER,
28 X_FORM_CANVAS_ID in NUMBER,
29 X_TAB_PAGE_NAME in VARCHAR2,
30 X_DISPLAY_ORDER in NUMBER,
31 X_USER_TAB_PAGE_NAME in VARCHAR2,
32 X_DESCRIPTION in VARCHAR2,
33 X_CREATION_DATE in DATE,
34 X_CREATED_BY in NUMBER,
35 X_LAST_UPDATE_DATE in DATE,
36 X_LAST_UPDATED_BY in NUMBER,
37 X_LAST_UPDATE_LOGIN in NUMBER
38 ) is
39 cursor C is select ROWID from HR_FORM_TAB_PAGES_B
40 where FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID
41 ;
42 begin
43 insert into HR_FORM_TAB_PAGES_B (
44 VISIBLE_OVERRIDE,
45 FORM_TAB_PAGE_ID,
46 OBJECT_VERSION_NUMBER,
47 FORM_CANVAS_ID,
48 TAB_PAGE_NAME,
49 DISPLAY_ORDER,
50 CREATION_DATE,
51 CREATED_BY,
52 LAST_UPDATE_DATE,
53 LAST_UPDATED_BY,
54 LAST_UPDATE_LOGIN
55 ) values (
56 X_VISIBLE_OVERRIDE,
57 X_FORM_TAB_PAGE_ID,
58 X_OBJECT_VERSION_NUMBER,
59 X_FORM_CANVAS_ID,
60 X_TAB_PAGE_NAME,
61 X_DISPLAY_ORDER,
62 X_CREATION_DATE,
63 X_CREATED_BY,
64 X_LAST_UPDATE_DATE,
65 X_LAST_UPDATED_BY,
66 X_LAST_UPDATE_LOGIN
67 );
68
69 insert into HR_FORM_TAB_PAGES_TL (
70 USER_TAB_PAGE_NAME,
71 DESCRIPTION,
72 LAST_UPDATE_DATE,
73 LAST_UPDATED_BY,
74 LAST_UPDATE_LOGIN,
75 CREATED_BY,
76 CREATION_DATE,
77 FORM_TAB_PAGE_ID,
78 LANGUAGE,
79 SOURCE_LANG
80 ) select
81 X_USER_TAB_PAGE_NAME,
82 X_DESCRIPTION,
83 X_LAST_UPDATE_DATE,
84 X_LAST_UPDATED_BY,
85 X_LAST_UPDATE_LOGIN,
86 X_CREATED_BY,
87 X_CREATION_DATE,
88 X_FORM_TAB_PAGE_ID,
89 L.LANGUAGE_CODE,
90 userenv('LANG')
91 from FND_LANGUAGES L
92 where L.INSTALLED_FLAG in ('I', 'B')
93 and not exists
94 (select NULL
95 from HR_FORM_TAB_PAGES_TL T
96 where T.FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID
97 and T.LANGUAGE = L.LANGUAGE_CODE);
98
99 open c;
100 fetch c into X_ROWID;
101 if (c%notfound) then
102 close c;
103 raise no_data_found;
104 end if;
105 close c;
106
107 end INSERT_ROW;
108
109 procedure LOCK_ROW (
110 X_FORM_TAB_PAGE_ID in NUMBER,
111 X_VISIBLE_OVERRIDE in NUMBER,
112 X_OBJECT_VERSION_NUMBER in NUMBER,
113 X_FORM_CANVAS_ID in NUMBER,
114 X_TAB_PAGE_NAME in VARCHAR2,
115 X_DISPLAY_ORDER in NUMBER,
116 X_USER_TAB_PAGE_NAME in VARCHAR2,
117 X_DESCRIPTION in VARCHAR2
118 ) is
119 cursor c is select
120 VISIBLE_OVERRIDE,
121 OBJECT_VERSION_NUMBER,
122 FORM_CANVAS_ID,
123 TAB_PAGE_NAME,
124 DISPLAY_ORDER
125 from HR_FORM_TAB_PAGES_B
126 where FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID
127 for update of FORM_TAB_PAGE_ID nowait;
128 recinfo c%rowtype;
129
130 cursor c1 is select
131 USER_TAB_PAGE_NAME,
132 DESCRIPTION,
133 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
134 from HR_FORM_TAB_PAGES_TL
135 where FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID
136 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
137 for update of FORM_TAB_PAGE_ID nowait;
138 begin
139 open c;
140 fetch c into recinfo;
141 if (c%notfound) then
142 close c;
143 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
144 app_exception.raise_exception;
145 end if;
146 close c;
147 if ( ((recinfo.VISIBLE_OVERRIDE = X_VISIBLE_OVERRIDE)
148 OR ((recinfo.VISIBLE_OVERRIDE is null) AND (X_VISIBLE_OVERRIDE is null)))
149 AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
150 AND (recinfo.FORM_CANVAS_ID = X_FORM_CANVAS_ID)
151 AND (recinfo.TAB_PAGE_NAME = X_TAB_PAGE_NAME)
152 AND (recinfo.DISPLAY_ORDER = X_DISPLAY_ORDER)
153 ) then
154 null;
155 else
156 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
157 app_exception.raise_exception;
158 end if;
159
160 for tlinfo in c1 loop
161 if (tlinfo.BASELANG = 'Y') then
162 if ( (tlinfo.USER_TAB_PAGE_NAME = X_USER_TAB_PAGE_NAME)
163 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
164 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
165 ) then
166 null;
167 else
168 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
169 app_exception.raise_exception;
170 end if;
171 end if;
172 end loop;
173 return;
174 end LOCK_ROW;
175
176 procedure UPDATE_ROW (
177 X_FORM_TAB_PAGE_ID in NUMBER,
178 X_VISIBLE_OVERRIDE in NUMBER,
179 X_OBJECT_VERSION_NUMBER in NUMBER,
180 X_FORM_CANVAS_ID in NUMBER,
181 X_TAB_PAGE_NAME in VARCHAR2,
182 X_DISPLAY_ORDER in NUMBER,
183 X_USER_TAB_PAGE_NAME in VARCHAR2,
184 X_DESCRIPTION in VARCHAR2,
185 X_LAST_UPDATE_DATE in DATE,
186 X_LAST_UPDATED_BY in NUMBER,
187 X_LAST_UPDATE_LOGIN in NUMBER
188 ) is
189 begin
190 update HR_FORM_TAB_PAGES_B set
191 VISIBLE_OVERRIDE = X_VISIBLE_OVERRIDE,
192 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
193 FORM_CANVAS_ID = X_FORM_CANVAS_ID,
194 TAB_PAGE_NAME = X_TAB_PAGE_NAME,
195 DISPLAY_ORDER = X_DISPLAY_ORDER,
196 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
197 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
198 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
199 where FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID;
200
201 if (sql%notfound) then
202 raise no_data_found;
203 end if;
204
205 update HR_FORM_TAB_PAGES_TL set
206 USER_TAB_PAGE_NAME = X_USER_TAB_PAGE_NAME,
207 DESCRIPTION = X_DESCRIPTION,
208 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
209 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
210 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
211 SOURCE_LANG = userenv('LANG')
212 where FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID
213 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
214
215 if (sql%notfound) then
216 raise no_data_found;
217 end if;
218 end UPDATE_ROW;
219
220 procedure DELETE_ROW (
221 X_FORM_TAB_PAGE_ID in NUMBER
222 ) is
223 begin
224 delete from HR_FORM_TAB_PAGES_TL
225 where FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID;
226
227 if (sql%notfound) then
228 raise no_data_found;
229 end if;
230
231 delete from HR_FORM_TAB_PAGES_B
232 where FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID;
233
234 if (sql%notfound) then
235 raise no_data_found;
236 end if;
237 end DELETE_ROW;
238
239 procedure ADD_LANGUAGE
240 is
241 begin
242 delete from HR_FORM_TAB_PAGES_TL T
243 where not exists
244 (select NULL
245 from HR_FORM_TAB_PAGES_B B
246 where B.FORM_TAB_PAGE_ID = T.FORM_TAB_PAGE_ID
247 );
248
249 update HR_FORM_TAB_PAGES_TL T set (
250 USER_TAB_PAGE_NAME,
251 DESCRIPTION
252 ) = (select
253 B.USER_TAB_PAGE_NAME,
254 B.DESCRIPTION
255 from HR_FORM_TAB_PAGES_TL B
256 where B.FORM_TAB_PAGE_ID = T.FORM_TAB_PAGE_ID
257 and B.LANGUAGE = T.SOURCE_LANG)
258 where (
259 T.FORM_TAB_PAGE_ID,
260 T.LANGUAGE
261 ) in (select
262 SUBT.FORM_TAB_PAGE_ID,
263 SUBT.LANGUAGE
264 from HR_FORM_TAB_PAGES_TL SUBB, HR_FORM_TAB_PAGES_TL SUBT
265 where SUBB.FORM_TAB_PAGE_ID = SUBT.FORM_TAB_PAGE_ID
266 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
267 and (SUBB.USER_TAB_PAGE_NAME <> SUBT.USER_TAB_PAGE_NAME
268 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
269 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
270 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
271 ));
272
273 insert into HR_FORM_TAB_PAGES_TL (
274 USER_TAB_PAGE_NAME,
275 DESCRIPTION,
276 LAST_UPDATE_DATE,
277 LAST_UPDATED_BY,
278 LAST_UPDATE_LOGIN,
279 CREATED_BY,
280 CREATION_DATE,
281 FORM_TAB_PAGE_ID,
282 LANGUAGE,
283 SOURCE_LANG
284 ) select
285 B.USER_TAB_PAGE_NAME,
286 B.DESCRIPTION,
287 B.LAST_UPDATE_DATE,
288 B.LAST_UPDATED_BY,
289 B.LAST_UPDATE_LOGIN,
290 B.CREATED_BY,
291 B.CREATION_DATE,
292 B.FORM_TAB_PAGE_ID,
293 L.LANGUAGE_CODE,
294 B.SOURCE_LANG
295 from HR_FORM_TAB_PAGES_TL B, FND_LANGUAGES L
296 where L.INSTALLED_FLAG in ('I', 'B')
297 and B.LANGUAGE = userenv('LANG')
298 and not exists
299 (select NULL
300 from HR_FORM_TAB_PAGES_TL T
301 where T.FORM_TAB_PAGE_ID = B.FORM_TAB_PAGE_ID
302 and T.LANGUAGE = L.LANGUAGE_CODE);
303 end ADD_LANGUAGE;
304 procedure TRANSLATE_ROW (
305 X_APPLICATION_SHORT_NAME in VARCHAR2,
306 X_FORM_NAME in VARCHAR2,
307 X_TAB_PAGE_NAME in VARCHAR2,
308 X_CANVAS_NAME in VARCHAR2,
309 X_WINDOW_NAME in VARCHAR2,
310 X_OWNER in VARCHAR2,
311 X_USER_TAB_PAGE_NAME in VARCHAR2,
312 X_DESCRIPTION in VARCHAR2) is
313 X_ROWID ROWID;
314 X_CREATION_DATE DATE;
315 X_CREATED_BY NUMBER;
316 X_LAST_UPDATE_DATE DATE;
317 X_LAST_UPDATED_BY NUMBER;
318 X_LAST_UPDATE_LOGIN NUMBER;
319 X_FORM_ID NUMBER;
320 X_APPLICATION_ID NUMBER;
321 X_FORM_CANVAS_ID NUMBER;
322 X_FORM_TAB_PAGE_ID NUMBER;
323 X_FORM_WINDOW_ID NUMBER;
324 begin
325
326 OWNER_TO_WHO (
327 X_OWNER,
328 X_CREATION_DATE,
329 X_CREATED_BY,
330 X_LAST_UPDATE_DATE,
331 X_LAST_UPDATED_BY,
332 X_LAST_UPDATE_LOGIN
333 );
334
335 select application_id
336 into x_application_id
337 from fnd_application
338 where application_short_name = x_application_short_name;
339
340 select form_id
341 into x_form_id
342 from fnd_form
343 where form_name = x_form_name
344 and application_id = x_application_id;
345
346 select hfc.form_canvas_id,hfw.form_window_id,ftp.form_tab_page_id
347 into x_form_canvas_id,x_form_window_id,x_form_tab_page_id
348 from hr_form_canvases_b hfc
349 ,hr_form_windows_b hfw
350 ,hr_form_tab_pages_b ftp
351 where hfc.canvas_name = x_canvas_name
352 and hfw.application_id = x_application_id
353 and hfw.form_id = x_form_id
354 and hfc.form_window_id = hfw.form_window_id
355 and hfc.form_canvas_id = ftp.form_canvas_id
356 and ftp.tab_page_name = x_tab_page_name
357 and hfw.window_name = x_window_name;
358
359 update HR_FORM_TAB_PAGES_TL set
360 DESCRIPTION = X_DESCRIPTION,
361 USER_TAB_PAGE_NAME = X_USER_TAB_PAGE_NAME,
362 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
363 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
364 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
365 SOURCE_LANG = userenv('LANG')
366 where userenv('LANG') in (LANGUAGE,SOURCE_LANG)
367 and form_tab_page_id = x_form_tab_page_id;
368
369 end TRANSLATE_ROW;
370
371 procedure LOAD_ROW (
372 X_APPLICATION_SHORT_NAME in VARCHAR2,
373 X_FORM_NAME in VARCHAR2,
374 X_TAB_PAGE_NAME in VARCHAR2,
375 X_CANVAS_NAME in VARCHAR2,
376 X_WINDOW_NAME in VARCHAR2,
377 X_OWNER in VARCHAR2,
378 X_OBJECT_VERSION_NUMBER in VARCHAR2,
379 X_DISPLAY_ORDER in VARCHAR2,
380 X_VISIBLE_OVERRIDE in VARCHAR2,
381 X_USER_TAB_PAGE_NAME in VARCHAR2,
382 X_DESCRIPTION in VARCHAR2) is
383 X_ROWID ROWID;
384 X_CREATION_DATE DATE;
385 X_CREATED_BY NUMBER;
386 X_LAST_UPDATE_DATE DATE;
387 X_LAST_UPDATED_BY NUMBER;
388 X_LAST_UPDATE_LOGIN NUMBER;
389 X_FORM_ID NUMBER;
390 X_APPLICATION_ID NUMBER;
391 X_FORM_CANVAS_ID NUMBER;
392 X_FORM_TAB_PAGE_ID NUMBER;
393 X_FORM_WINDOW_ID NUMBER;
394 begin
395
396 OWNER_TO_WHO (
397 X_OWNER,
398 X_CREATION_DATE,
399 X_CREATED_BY,
400 X_LAST_UPDATE_DATE,
401 X_LAST_UPDATED_BY,
402 X_LAST_UPDATE_LOGIN
403 );
404
405 select application_id
406 into x_application_id
407 from fnd_application
408 where application_short_name = x_application_short_name;
409
410 select form_id
411 into x_form_id
412 from fnd_form
413 where form_name = x_form_name
414 and application_id = x_application_id;
415
416 select hfw.form_window_id
417 into x_form_window_id
418 from hr_form_windows_b hfw
419 where hfw.application_id = x_application_id
420 and hfw.form_id = x_form_id
421 and hfw.window_name = x_window_name;
422
423 select hfc.form_canvas_id
424 into x_form_canvas_id
425 from hr_form_canvases_b hfc
426 where hfc.canvas_name = x_canvas_name
427 and hfc.form_window_id = x_form_window_id;
428
429 begin
430 select ftp.form_tab_page_id
431 into x_form_tab_page_id
432 from hr_form_tab_pages_b ftp
433 where ftp.form_canvas_id = x_form_canvas_id
434 and ftp.tab_page_name = x_tab_page_name;
435 exception
436 when no_data_found then
437 select hr_form_tab_pages_b_s.nextval
438 into x_form_tab_page_id
439 from dual;
440 end;
441
442 begin
443 UPDATE_ROW ( X_FORM_TAB_PAGE_ID,
444 to_number(X_VISIBLE_OVERRIDE),
445 to_number(X_OBJECT_VERSION_NUMBER),
446 X_FORM_CANVAS_ID,
447 X_TAB_PAGE_NAME,
448 to_number(X_DISPLAY_ORDER),
449 X_USER_TAB_PAGE_NAME,
450 X_DESCRIPTION,
451 X_LAST_UPDATE_DATE,
452 X_LAST_UPDATED_BY,
453 X_LAST_UPDATE_LOGIN);
454
455 exception
456 when no_data_found then
457 INSERT_ROW (
458 X_ROWID,
459 X_FORM_TAB_PAGE_ID,
460 to_number(X_VISIBLE_OVERRIDE),
461 to_number(X_OBJECT_VERSION_NUMBER),
462 X_FORM_CANVAS_ID,
463 X_TAB_PAGE_NAME,
464 to_number(X_DISPLAY_ORDER),
465 X_USER_TAB_PAGE_NAME,
466 X_DESCRIPTION,
467 X_CREATION_DATE,
468 X_CREATED_BY,
469 X_LAST_UPDATE_DATE,
470 X_LAST_UPDATED_BY,
471 X_LAST_UPDATE_LOGIN);
472 end;
473
474 end LOAD_ROW;
475 end HR_FORM_TAB_PAGES_PKG;