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