DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_TAB_PAGE_PROPERTIES_PKG

Source


1 PACKAGE BODY HR_TAB_PAGE_PROPERTIES_PKG as
2 /* $Header: hrtpplct.pkb 120.2 2011/04/28 10:42:52 sidsaxen ship $ */
3 -- -----------------------------------------------------------------------------
4 -- |-----------------------------< update_copies >-----------------------------|
5 -- -----------------------------------------------------------------------------
6 procedure UPDATE_COPIES (
7   X_TAB_PAGE_PROPERTY_ID in NUMBER,
8   X_FORM_TAB_PAGE_ID in NUMBER,
9   X_TEMPLATE_TAB_PAGE_ID in NUMBER,
10   X_NAVIGATION_DIRECTION in VARCHAR2,
11   X_VISIBLE in NUMBER,
12   X_LABEL in VARCHAR2,
13   X_INFORMATION_CATEGORY in VARCHAR2,
14   X_INFORMATION1 in VARCHAR2,
15   X_INFORMATION2 in VARCHAR2,
16   X_INFORMATION3 in VARCHAR2,
17   X_INFORMATION4 in VARCHAR2,
18   X_INFORMATION5 in VARCHAR2,
19   X_INFORMATION6 in VARCHAR2,
20   X_INFORMATION7 in VARCHAR2,
21   X_INFORMATION8 in VARCHAR2,
22   X_INFORMATION9 in VARCHAR2,
23   X_INFORMATION10 in VARCHAR2,
24   X_INFORMATION11 in VARCHAR2,
25   X_INFORMATION12 in VARCHAR2,
26   X_INFORMATION13 in VARCHAR2,
27   X_INFORMATION14 in VARCHAR2,
28   X_INFORMATION15 in VARCHAR2,
29   X_INFORMATION16 in VARCHAR2,
30   X_INFORMATION17 in VARCHAR2,
31   X_INFORMATION18 in VARCHAR2,
32   X_INFORMATION19 in VARCHAR2,
33   X_INFORMATION20 in VARCHAR2,
34   X_INFORMATION21 in VARCHAR2,
35   X_INFORMATION22 in VARCHAR2,
36   X_INFORMATION23 in VARCHAR2,
37   X_INFORMATION24 in VARCHAR2,
38   X_INFORMATION25 in VARCHAR2,
39   X_INFORMATION26 in VARCHAR2,
40   X_INFORMATION27 in VARCHAR2,
41   X_INFORMATION28 in VARCHAR2,
42   X_INFORMATION29 in VARCHAR2,
43   X_INFORMATION30 in VARCHAR2,
44   X_LAST_UPDATE_DATE in DATE,
45   X_LAST_UPDATED_BY in NUMBER,
46   X_LAST_UPDATE_LOGIN in NUMBER
47 ) is
48   cursor csr_original is
49     select *
50       from HR_TAB_PAGE_PROPERTIES_VL
51      where TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID;
52   l_original csr_original%rowtype;
53   cursor csr_copies is
54     select tpp.tab_page_property_id
55       from HR_TAB_PAGE_PROPERTIES_B tpp
56           ,HR_TEMPLATE_TAB_PAGES_B ttp
57           ,HR_TEMPLATE_CANVASES_B tcn
58           ,HR_TEMPLATE_WINDOWS_B twn
59           ,HR_TEMPLATE_TAB_PAGES_B tto
60      where tpp.TEMPLATE_TAB_PAGE_ID = ttp.TEMPLATE_TAB_PAGE_ID
61        and ttp.TEMPLATE_CANVAS_ID = tcn.TEMPLATE_CANVAS_ID
62        and tcn.TEMPLATE_WINDOW_ID = twn.TEMPLATE_WINDOW_ID
63        and twn.FORM_TEMPLATE_ID in (select sft.FORM_TEMPLATE_ID_TO
64                                       from HR_SOURCE_FORM_TEMPLATES sft
65                                 start with sft.FORM_TEMPLATE_ID_FROM = (select tw1.FORM_TEMPLATE_ID
66                                                                           from HR_TEMPLATE_WINDOWS_B tw1
67                                                                               ,HR_TEMPLATE_CANVASES_B tc1
68                                                                          where tw1.TEMPLATE_WINDOW_ID = tc1.TEMPLATE_WINDOW_ID
69                                                                            and tc1.TEMPLATE_CANVAS_ID = tto.TEMPLATE_CANVAS_ID)
70                                 connect by sft.FORM_TEMPLATE_ID_FROM = prior sft.FORM_TEMPLATE_ID_TO)
71        and ttp.FORM_TAB_PAGE_ID = tto.FORM_TAB_PAGE_ID
72        and tto.TEMPLATE_TAB_PAGE_ID = X_TEMPLATE_TAB_PAGE_ID;
73 begin
74   if (X_TEMPLATE_TAB_PAGE_ID is not null) then
75     open csr_original;
76     fetch csr_original into l_original;
77     if csr_original%found then
78       close csr_original;
79       for l_copy in csr_copies loop
80         update HR_TAB_PAGE_PROPERTIES_B set
81           NAVIGATION_DIRECTION = decode(nvl(NAVIGATION_DIRECTION,hr_api.g_varchar2),nvl(l_original.NAVIGATION_DIRECTION,hr_api.g_varchar2),X_NAVIGATION_DIRECTION,NAVIGATION_DIRECTION),
82           VISIBLE = decode(nvl(VISIBLE,hr_api.g_number),nvl(l_original.VISIBLE,hr_api.g_number),X_VISIBLE,VISIBLE),
83           INFORMATION_CATEGORY = decode(nvl(INFORMATION_CATEGORY,hr_api.g_varchar2),nvl(l_original.INFORMATION_CATEGORY,hr_api.g_varchar2),X_INFORMATION_CATEGORY,INFORMATION_CATEGORY),
84           INFORMATION1  = decode(nvl(INFORMATION1 ,hr_api.g_varchar2),nvl(l_original.INFORMATION1 ,hr_api.g_varchar2),X_INFORMATION1 ,INFORMATION1 ),
85           INFORMATION2  = decode(nvl(INFORMATION2 ,hr_api.g_varchar2),nvl(l_original.INFORMATION2 ,hr_api.g_varchar2),X_INFORMATION2 ,INFORMATION2 ),
86           INFORMATION3  = decode(nvl(INFORMATION3 ,hr_api.g_varchar2),nvl(l_original.INFORMATION3 ,hr_api.g_varchar2),X_INFORMATION3 ,INFORMATION3 ),
90           INFORMATION7  = decode(nvl(INFORMATION7 ,hr_api.g_varchar2),nvl(l_original.INFORMATION7 ,hr_api.g_varchar2),X_INFORMATION7 ,INFORMATION7 ),
87           INFORMATION4  = decode(nvl(INFORMATION4 ,hr_api.g_varchar2),nvl(l_original.INFORMATION4 ,hr_api.g_varchar2),X_INFORMATION4 ,INFORMATION4 ),
88           INFORMATION5  = decode(nvl(INFORMATION5 ,hr_api.g_varchar2),nvl(l_original.INFORMATION5 ,hr_api.g_varchar2),X_INFORMATION5 ,INFORMATION5 ),
89           INFORMATION6  = decode(nvl(INFORMATION6 ,hr_api.g_varchar2),nvl(l_original.INFORMATION6 ,hr_api.g_varchar2),X_INFORMATION6 ,INFORMATION6 ),
91           INFORMATION8  = decode(nvl(INFORMATION8 ,hr_api.g_varchar2),nvl(l_original.INFORMATION8 ,hr_api.g_varchar2),X_INFORMATION8 ,INFORMATION8 ),
92           INFORMATION9  = decode(nvl(INFORMATION9 ,hr_api.g_varchar2),nvl(l_original.INFORMATION9 ,hr_api.g_varchar2),X_INFORMATION9 ,INFORMATION9 ),
93           INFORMATION10 = decode(nvl(INFORMATION10,hr_api.g_varchar2),nvl(l_original.INFORMATION10,hr_api.g_varchar2),X_INFORMATION10,INFORMATION10),
94           INFORMATION11 = decode(nvl(INFORMATION11,hr_api.g_varchar2),nvl(l_original.INFORMATION11,hr_api.g_varchar2),X_INFORMATION11,INFORMATION11),
95           INFORMATION12 = decode(nvl(INFORMATION12,hr_api.g_varchar2),nvl(l_original.INFORMATION12,hr_api.g_varchar2),X_INFORMATION12,INFORMATION12),
96           INFORMATION13 = decode(nvl(INFORMATION13,hr_api.g_varchar2),nvl(l_original.INFORMATION13,hr_api.g_varchar2),X_INFORMATION13,INFORMATION13),
97           INFORMATION14 = decode(nvl(INFORMATION14,hr_api.g_varchar2),nvl(l_original.INFORMATION14,hr_api.g_varchar2),X_INFORMATION14,INFORMATION14),
98           INFORMATION15 = decode(nvl(INFORMATION15,hr_api.g_varchar2),nvl(l_original.INFORMATION15,hr_api.g_varchar2),X_INFORMATION15,INFORMATION15),
99           INFORMATION16 = decode(nvl(INFORMATION16,hr_api.g_varchar2),nvl(l_original.INFORMATION16,hr_api.g_varchar2),X_INFORMATION16,INFORMATION16),
100           INFORMATION17 = decode(nvl(INFORMATION17,hr_api.g_varchar2),nvl(l_original.INFORMATION17,hr_api.g_varchar2),X_INFORMATION17,INFORMATION17),
101           INFORMATION18 = decode(nvl(INFORMATION18,hr_api.g_varchar2),nvl(l_original.INFORMATION18,hr_api.g_varchar2),X_INFORMATION18,INFORMATION18),
102           INFORMATION19 = decode(nvl(INFORMATION19,hr_api.g_varchar2),nvl(l_original.INFORMATION19,hr_api.g_varchar2),X_INFORMATION19,INFORMATION19),
103           INFORMATION20 = decode(nvl(INFORMATION20,hr_api.g_varchar2),nvl(l_original.INFORMATION20,hr_api.g_varchar2),X_INFORMATION20,INFORMATION20),
104           INFORMATION21 = decode(nvl(INFORMATION21,hr_api.g_varchar2),nvl(l_original.INFORMATION21,hr_api.g_varchar2),X_INFORMATION21,INFORMATION21),
105           INFORMATION22 = decode(nvl(INFORMATION22,hr_api.g_varchar2),nvl(l_original.INFORMATION22,hr_api.g_varchar2),X_INFORMATION22,INFORMATION22),
106           INFORMATION23 = decode(nvl(INFORMATION23,hr_api.g_varchar2),nvl(l_original.INFORMATION23,hr_api.g_varchar2),X_INFORMATION23,INFORMATION23),
107           INFORMATION24 = decode(nvl(INFORMATION24,hr_api.g_varchar2),nvl(l_original.INFORMATION24,hr_api.g_varchar2),X_INFORMATION24,INFORMATION24),
108           INFORMATION25 = decode(nvl(INFORMATION25,hr_api.g_varchar2),nvl(l_original.INFORMATION25,hr_api.g_varchar2),X_INFORMATION25,INFORMATION25),
109           INFORMATION26 = decode(nvl(INFORMATION26,hr_api.g_varchar2),nvl(l_original.INFORMATION26,hr_api.g_varchar2),X_INFORMATION26,INFORMATION26),
110           INFORMATION27 = decode(nvl(INFORMATION27,hr_api.g_varchar2),nvl(l_original.INFORMATION27,hr_api.g_varchar2),X_INFORMATION27,INFORMATION27),
111           INFORMATION28 = decode(nvl(INFORMATION28,hr_api.g_varchar2),nvl(l_original.INFORMATION28,hr_api.g_varchar2),X_INFORMATION28,INFORMATION28),
112           INFORMATION29 = decode(nvl(INFORMATION29,hr_api.g_varchar2),nvl(l_original.INFORMATION29,hr_api.g_varchar2),X_INFORMATION29,INFORMATION29),
113           INFORMATION30 = decode(nvl(INFORMATION30,hr_api.g_varchar2),nvl(l_original.INFORMATION30,hr_api.g_varchar2),X_INFORMATION30,INFORMATION30),
114           LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
115           LAST_UPDATED_BY = X_LAST_UPDATED_BY,
116           LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
117         where TAB_PAGE_PROPERTY_ID = l_copy.TAB_PAGE_PROPERTY_ID;
118         if (sql%notfound) then
119           raise no_data_found;
120         end if;
121         update HR_TAB_PAGE_PROPERTIES_TL set
122           LABEL = decode(nvl(LABEL,hr_api.g_varchar2),nvl(l_original.LABEL,hr_api.g_varchar2),X_LABEL,LABEL),
123           LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
124           LAST_UPDATED_BY = X_LAST_UPDATED_BY,
125           LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
126           SOURCE_LANG = userenv('LANG')
127         where TAB_PAGE_PROPERTY_ID = l_copy.TAB_PAGE_PROPERTY_ID
128           and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
129         if (sql%notfound) then
130           raise no_data_found;
131         end if;
132       end loop;
133     else
134       close csr_original;
135     end if;
136   end if;
137 end UPDATE_COPIES;
138 --
139 procedure OWNER_TO_WHO (
140   X_OWNER in VARCHAR2,
141   X_CREATION_DATE out nocopy DATE,
142   X_CREATED_BY out nocopy NUMBER,
143   X_LAST_UPDATE_DATE out nocopy DATE,
144   X_LAST_UPDATED_BY out nocopy NUMBER,
145   X_LAST_UPDATE_LOGIN out nocopy NUMBER
146 ) is
147 begin
148   if X_OWNER = 'SEED' then
149     X_CREATED_BY := 1;
150     X_LAST_UPDATED_BY := 1;
151   else
152     X_CREATED_BY := 0;
153     X_LAST_UPDATED_BY := 0;
154   end if;
155   X_CREATION_DATE := sysdate;
156   X_LAST_UPDATE_DATE := sysdate;
157   X_LAST_UPDATE_LOGIN := 0;
158 end OWNER_TO_WHO;
159 procedure INSERT_ROW (
160   X_ROWID in out nocopy VARCHAR2,
161   X_TAB_PAGE_PROPERTY_ID in NUMBER,
162   X_FORM_TAB_PAGE_ID in NUMBER,
163   X_TEMPLATE_TAB_PAGE_ID in NUMBER,
164   X_NAVIGATION_DIRECTION in VARCHAR2,
165   X_VISIBLE in NUMBER,
166   X_INFORMATION_CATEGORY in VARCHAR2,
167   X_INFORMATION9 in VARCHAR2,
168   X_INFORMATION10 in VARCHAR2,
169   X_INFORMATION11 in VARCHAR2,
170   X_INFORMATION12 in VARCHAR2,
171   X_INFORMATION13 in VARCHAR2,
172   X_INFORMATION14 in VARCHAR2,
173   X_INFORMATION15 in VARCHAR2,
174   X_INFORMATION16 in VARCHAR2,
175   X_INFORMATION17 in VARCHAR2,
176   X_INFORMATION18 in VARCHAR2,
177   X_INFORMATION19 in VARCHAR2,
178   X_INFORMATION20 in VARCHAR2,
179   X_INFORMATION21 in VARCHAR2,
180   X_INFORMATION7 in VARCHAR2,
181   X_INFORMATION8 in VARCHAR2,
182   X_INFORMATION29 in VARCHAR2,
183   X_INFORMATION30 in VARCHAR2,
184   X_INFORMATION6 in VARCHAR2,
185   X_INFORMATION1 in VARCHAR2,
186   X_INFORMATION2 in VARCHAR2,
187   X_INFORMATION3 in VARCHAR2,
188   X_INFORMATION4 in VARCHAR2,
189   X_INFORMATION5 in VARCHAR2,
190   X_INFORMATION22 in VARCHAR2,
191   X_INFORMATION23 in VARCHAR2,
192   X_INFORMATION24 in VARCHAR2,
193   X_INFORMATION25 in VARCHAR2,
194   X_INFORMATION26 in VARCHAR2,
195   X_INFORMATION27 in VARCHAR2,
196   X_INFORMATION28 in VARCHAR2,
197   X_LABEL in VARCHAR2,
198   X_CREATION_DATE in DATE,
199   X_CREATED_BY in NUMBER,
200   X_LAST_UPDATE_DATE in DATE,
201   X_LAST_UPDATED_BY in NUMBER,
202   X_LAST_UPDATE_LOGIN in NUMBER
203 ) is
204   cursor C is select ROWID from HR_TAB_PAGE_PROPERTIES_B
205     where TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID
206     ;
207 begin
208 
209 --
210 -- Added the following code as a part of Zero Downtime Patching Project.
211 -- Code Starts Here.
212 --
213 
214 BEGIN
215 	PER_RIC_PKG.chk_integrity (
216     p_entity_name		=>	'HR_TAB_PAGE_PROPERTIES_B',
217     p_ref_entity_info   => PER_RIC_PKG.ref_entity_tbl(
218 							PER_RIC_PKG.ref_info_rec('HR_FORM_TAB_PAGES_B', PER_RIC_PKG.column_info_tbl(
219                                                 PER_RIC_PKG.col_info_rec('FORM_TAB_PAGE_ID',NULL,X_FORM_TAB_PAGE_ID,NULL))),
220 							PER_RIC_PKG.ref_info_rec('HR_TEMPLATE_TAB_PAGES_B', PER_RIC_PKG.column_info_tbl(
221                                                 PER_RIC_PKG.col_info_rec('TEMPLATE_TAB_PAGE_ID',NULL,X_TEMPLATE_TAB_PAGE_ID,NULL)))
222 							),
223     p_ref_type        	=>	'INS');
224 
225 END;
226 --
227 -- Code Ends Here.
228 --
229 
230   insert into HR_TAB_PAGE_PROPERTIES_B (
231     TAB_PAGE_PROPERTY_ID,
232     FORM_TAB_PAGE_ID,
233     TEMPLATE_TAB_PAGE_ID,
234     NAVIGATION_DIRECTION,
235     VISIBLE,
236     INFORMATION_CATEGORY,
237     INFORMATION9,
238     INFORMATION10,
239     INFORMATION11,
240     INFORMATION12,
241     INFORMATION13,
242     INFORMATION14,
243     INFORMATION15,
244     INFORMATION16,
245     INFORMATION17,
246     INFORMATION18,
247     INFORMATION19,
248     INFORMATION20,
249     INFORMATION21,
250     INFORMATION7,
251     INFORMATION8,
252     INFORMATION29,
253     INFORMATION30,
254     INFORMATION6,
255     INFORMATION1,
256     INFORMATION2,
257     INFORMATION3,
258     INFORMATION4,
259     INFORMATION5,
260     INFORMATION22,
261     INFORMATION23,
262     INFORMATION24,
263     INFORMATION25,
264     INFORMATION26,
265     INFORMATION27,
266     INFORMATION28,
267     CREATION_DATE,
268     CREATED_BY,
269     LAST_UPDATE_DATE,
270     LAST_UPDATED_BY,
271     LAST_UPDATE_LOGIN
272   ) values (
273     X_TAB_PAGE_PROPERTY_ID,
274     X_FORM_TAB_PAGE_ID,
275     X_TEMPLATE_TAB_PAGE_ID,
276     X_NAVIGATION_DIRECTION,
277     X_VISIBLE,
278     X_INFORMATION_CATEGORY,
279     X_INFORMATION9,
280     X_INFORMATION10,
281     X_INFORMATION11,
282     X_INFORMATION12,
283     X_INFORMATION13,
284     X_INFORMATION14,
285     X_INFORMATION15,
286     X_INFORMATION16,
287     X_INFORMATION17,
288     X_INFORMATION18,
289     X_INFORMATION19,
290     X_INFORMATION20,
291     X_INFORMATION21,
292     X_INFORMATION7,
293     X_INFORMATION8,
294     X_INFORMATION29,
295     X_INFORMATION30,
296     X_INFORMATION6,
297     X_INFORMATION1,
298     X_INFORMATION2,
299     X_INFORMATION3,
300     X_INFORMATION4,
301     X_INFORMATION5,
302     X_INFORMATION22,
303     X_INFORMATION23,
304     X_INFORMATION24,
305     X_INFORMATION25,
306     X_INFORMATION26,
307     X_INFORMATION27,
308     X_INFORMATION28,
309     X_CREATION_DATE,
310     X_CREATED_BY,
311     X_LAST_UPDATE_DATE,
312     X_LAST_UPDATED_BY,
313     X_LAST_UPDATE_LOGIN
314   );
315 
316 --
317 -- Added the following code as a part of Zero Downtime Patching Project.
318 -- Code Starts Here.
319 --
320 
321 BEGIN
322 	PER_RIC_PKG.chk_integrity (
323     p_entity_name			=>	'HR_TAB_PAGE_PROPERTIES_TL',
324     p_ref_entity         	=>	'HR_TAB_PAGE_PROPERTIES_B',
325     p_ref_column_name    	=>	'TAB_PAGE_PROPERTY_ID',
326     p_ref_col_value_number  =>	X_TAB_PAGE_PROPERTY_ID,
327     p_ref_col_value_varchar =>	NULL,
328     p_ref_col_value_date    =>	NULL,
329     p_ref_type        		=>	'INS');
330 
331 END;
332 --
333 -- Code Ends Here.
334 --
335 
336   insert into HR_TAB_PAGE_PROPERTIES_TL (
337     TAB_PAGE_PROPERTY_ID,
338     LABEL,
339     LAST_UPDATE_DATE,
340     LAST_UPDATED_BY,
341     LAST_UPDATE_LOGIN,
342     CREATED_BY,
343     CREATION_DATE,
344     LANGUAGE,
345     SOURCE_LANG
346   ) select
347     X_TAB_PAGE_PROPERTY_ID,
348     X_LABEL,
349     X_LAST_UPDATE_DATE,
350     X_LAST_UPDATED_BY,
351     X_LAST_UPDATE_LOGIN,
352     X_CREATED_BY,
353     X_CREATION_DATE,
354     L.LANGUAGE_CODE,
355     userenv('LANG')
356   from FND_LANGUAGES L
357   where L.INSTALLED_FLAG in ('I', 'B')
358   and not exists
359     (select NULL
360     from HR_TAB_PAGE_PROPERTIES_TL T
361     where T.TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID
362     and T.LANGUAGE = L.LANGUAGE_CODE);
363 
364   open c;
365   fetch c into X_ROWID;
366   if (c%notfound) then
367     close c;
368     raise no_data_found;
369   end if;
370   close c;
371 
372 end INSERT_ROW;
373 
374 procedure LOCK_ROW (
375   X_TAB_PAGE_PROPERTY_ID in NUMBER,
376   X_FORM_TAB_PAGE_ID in NUMBER,
377   X_TEMPLATE_TAB_PAGE_ID in NUMBER,
378   X_NAVIGATION_DIRECTION in VARCHAR2,
379   X_VISIBLE in NUMBER,
380   X_INFORMATION_CATEGORY in VARCHAR2,
381   X_INFORMATION9 in VARCHAR2,
382   X_INFORMATION10 in VARCHAR2,
383   X_INFORMATION11 in VARCHAR2,
384   X_INFORMATION12 in VARCHAR2,
385   X_INFORMATION13 in VARCHAR2,
386   X_INFORMATION14 in VARCHAR2,
387   X_INFORMATION15 in VARCHAR2,
388   X_INFORMATION16 in VARCHAR2,
389   X_INFORMATION17 in VARCHAR2,
390   X_INFORMATION18 in VARCHAR2,
391   X_INFORMATION19 in VARCHAR2,
392   X_INFORMATION20 in VARCHAR2,
393   X_INFORMATION21 in VARCHAR2,
394   X_INFORMATION7 in VARCHAR2,
395   X_INFORMATION8 in VARCHAR2,
396   X_INFORMATION29 in VARCHAR2,
397   X_INFORMATION30 in VARCHAR2,
398   X_INFORMATION6 in VARCHAR2,
399   X_INFORMATION1 in VARCHAR2,
400   X_INFORMATION2 in VARCHAR2,
401   X_INFORMATION3 in VARCHAR2,
402   X_INFORMATION4 in VARCHAR2,
403   X_INFORMATION5 in VARCHAR2,
404   X_INFORMATION22 in VARCHAR2,
405   X_INFORMATION23 in VARCHAR2,
406   X_INFORMATION24 in VARCHAR2,
407   X_INFORMATION25 in VARCHAR2,
408   X_INFORMATION26 in VARCHAR2,
409   X_INFORMATION27 in VARCHAR2,
410   X_INFORMATION28 in VARCHAR2,
411   X_LABEL in VARCHAR2
412 ) is
413   cursor c is select
414       FORM_TAB_PAGE_ID,
415       TEMPLATE_TAB_PAGE_ID,
416       NAVIGATION_DIRECTION,
417       VISIBLE,
418       INFORMATION_CATEGORY,
419       INFORMATION9,
420       INFORMATION10,
421       INFORMATION11,
422       INFORMATION12,
423       INFORMATION13,
424       INFORMATION14,
425       INFORMATION15,
426       INFORMATION16,
427       INFORMATION17,
428       INFORMATION18,
429       INFORMATION19,
430       INFORMATION20,
431       INFORMATION21,
432       INFORMATION7,
433       INFORMATION8,
434       INFORMATION29,
435       INFORMATION30,
436       INFORMATION6,
437       INFORMATION1,
438       INFORMATION2,
439       INFORMATION3,
440       INFORMATION4,
441       INFORMATION5,
442       INFORMATION22,
443       INFORMATION23,
444       INFORMATION24,
445       INFORMATION25,
446       INFORMATION26,
447       INFORMATION27,
448       INFORMATION28
449     from HR_TAB_PAGE_PROPERTIES_B
450     where TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID
451     for update of TAB_PAGE_PROPERTY_ID nowait;
452   recinfo c%rowtype;
453 
454   cursor c1 is select
455       LABEL,
456       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
457     from HR_TAB_PAGE_PROPERTIES_TL
458     where TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID
459     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
460     for update of TAB_PAGE_PROPERTY_ID nowait;
461 begin
462   open c;
463   fetch c into recinfo;
464   if (c%notfound) then
465     close c;
466     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
467     app_exception.raise_exception;
468   end if;
469   close c;
470   if (    ((recinfo.FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID)
471            OR ((recinfo.FORM_TAB_PAGE_ID is null) AND (X_FORM_TAB_PAGE_ID is null)))
472       AND ((recinfo.TEMPLATE_TAB_PAGE_ID = X_TEMPLATE_TAB_PAGE_ID)
473            OR ((recinfo.TEMPLATE_TAB_PAGE_ID is null) AND (X_TEMPLATE_TAB_PAGE_ID is null)))
474       AND ((recinfo.NAVIGATION_DIRECTION = X_NAVIGATION_DIRECTION)
475            OR ((recinfo.NAVIGATION_DIRECTION is null) AND (X_NAVIGATION_DIRECTION is null)))
476       AND ((recinfo.VISIBLE = X_VISIBLE)
477            OR ((recinfo.VISIBLE is null) AND (X_VISIBLE is null)))
478       AND ((recinfo.INFORMATION_CATEGORY = X_INFORMATION_CATEGORY)
479            OR ((recinfo.INFORMATION_CATEGORY is null) AND (X_INFORMATION_CATEGORY is null)))
480       AND ((recinfo.INFORMATION9 = X_INFORMATION9)
481            OR ((recinfo.INFORMATION9 is null) AND (X_INFORMATION9 is null)))
482       AND ((recinfo.INFORMATION10 = X_INFORMATION10)
483            OR ((recinfo.INFORMATION10 is null) AND (X_INFORMATION10 is null)))
484       AND ((recinfo.INFORMATION11 = X_INFORMATION11)
485            OR ((recinfo.INFORMATION11 is null) AND (X_INFORMATION11 is null)))
486       AND ((recinfo.INFORMATION12 = X_INFORMATION12)
487            OR ((recinfo.INFORMATION12 is null) AND (X_INFORMATION12 is null)))
488       AND ((recinfo.INFORMATION13 = X_INFORMATION13)
489            OR ((recinfo.INFORMATION13 is null) AND (X_INFORMATION13 is null)))
490       AND ((recinfo.INFORMATION14 = X_INFORMATION14)
491            OR ((recinfo.INFORMATION14 is null) AND (X_INFORMATION14 is null)))
492       AND ((recinfo.INFORMATION15 = X_INFORMATION15)
493            OR ((recinfo.INFORMATION15 is null) AND (X_INFORMATION15 is null)))
494       AND ((recinfo.INFORMATION16 = X_INFORMATION16)
495            OR ((recinfo.INFORMATION16 is null) AND (X_INFORMATION16 is null)))
496       AND ((recinfo.INFORMATION17 = X_INFORMATION17)
497            OR ((recinfo.INFORMATION17 is null) AND (X_INFORMATION17 is null)))
498       AND ((recinfo.INFORMATION18 = X_INFORMATION18)
499            OR ((recinfo.INFORMATION18 is null) AND (X_INFORMATION18 is null)))
500       AND ((recinfo.INFORMATION19 = X_INFORMATION19)
501            OR ((recinfo.INFORMATION19 is null) AND (X_INFORMATION19 is null)))
502       AND ((recinfo.INFORMATION20 = X_INFORMATION20)
503            OR ((recinfo.INFORMATION20 is null) AND (X_INFORMATION20 is null)))
504       AND ((recinfo.INFORMATION21 = X_INFORMATION21)
505            OR ((recinfo.INFORMATION21 is null) AND (X_INFORMATION21 is null)))
506       AND ((recinfo.INFORMATION7 = X_INFORMATION7)
507            OR ((recinfo.INFORMATION7 is null) AND (X_INFORMATION7 is null)))
508       AND ((recinfo.INFORMATION8 = X_INFORMATION8)
509            OR ((recinfo.INFORMATION8 is null) AND (X_INFORMATION8 is null)))
510       AND ((recinfo.INFORMATION29 = X_INFORMATION29)
511            OR ((recinfo.INFORMATION29 is null) AND (X_INFORMATION29 is null)))
512       AND ((recinfo.INFORMATION30 = X_INFORMATION30)
513            OR ((recinfo.INFORMATION30 is null) AND (X_INFORMATION30 is null)))
514       AND ((recinfo.INFORMATION6 = X_INFORMATION6)
515            OR ((recinfo.INFORMATION6 is null) AND (X_INFORMATION6 is null)))
516       AND ((recinfo.INFORMATION1 = X_INFORMATION1)
517            OR ((recinfo.INFORMATION1 is null) AND (X_INFORMATION1 is null)))
518       AND ((recinfo.INFORMATION2 = X_INFORMATION2)
519            OR ((recinfo.INFORMATION2 is null) AND (X_INFORMATION2 is null)))
520       AND ((recinfo.INFORMATION3 = X_INFORMATION3)
521            OR ((recinfo.INFORMATION3 is null) AND (X_INFORMATION3 is null)))
522       AND ((recinfo.INFORMATION4 = X_INFORMATION4)
526       AND ((recinfo.INFORMATION22 = X_INFORMATION22)
523            OR ((recinfo.INFORMATION4 is null) AND (X_INFORMATION4 is null)))
524       AND ((recinfo.INFORMATION5 = X_INFORMATION5)
525            OR ((recinfo.INFORMATION5 is null) AND (X_INFORMATION5 is null)))
527            OR ((recinfo.INFORMATION22 is null) AND (X_INFORMATION22 is null)))
528       AND ((recinfo.INFORMATION23 = X_INFORMATION23)
529            OR ((recinfo.INFORMATION23 is null) AND (X_INFORMATION23 is null)))
530       AND ((recinfo.INFORMATION24 = X_INFORMATION24)
531            OR ((recinfo.INFORMATION24 is null) AND (X_INFORMATION24 is null)))
532       AND ((recinfo.INFORMATION25 = X_INFORMATION25)
533            OR ((recinfo.INFORMATION25 is null) AND (X_INFORMATION25 is null)))
534       AND ((recinfo.INFORMATION26 = X_INFORMATION26)
535            OR ((recinfo.INFORMATION26 is null) AND (X_INFORMATION26 is null)))
536       AND ((recinfo.INFORMATION27 = X_INFORMATION27)
537            OR ((recinfo.INFORMATION27 is null) AND (X_INFORMATION27 is null)))
538       AND ((recinfo.INFORMATION28 = X_INFORMATION28)
539            OR ((recinfo.INFORMATION28 is null) AND (X_INFORMATION28 is null)))
540   ) then
541     null;
542   else
543     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
544     app_exception.raise_exception;
545   end if;
546 
547   for tlinfo in c1 loop
548     if (tlinfo.BASELANG = 'Y') then
549       if (    ((tlinfo.LABEL = X_LABEL)
550                OR ((tlinfo.LABEL is null) AND (X_LABEL is null)))
551       ) then
552         null;
553       else
554         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
555         app_exception.raise_exception;
556       end if;
557     end if;
558   end loop;
559   return;
560 end LOCK_ROW;
561 
562 procedure UPDATE_ROW (
563   X_TAB_PAGE_PROPERTY_ID in NUMBER,
564   X_FORM_TAB_PAGE_ID in NUMBER,
565   X_TEMPLATE_TAB_PAGE_ID in NUMBER,
566   X_NAVIGATION_DIRECTION in VARCHAR2,
567   X_VISIBLE in NUMBER,
568   X_INFORMATION_CATEGORY in VARCHAR2,
569   X_INFORMATION9 in VARCHAR2,
570   X_INFORMATION10 in VARCHAR2,
571   X_INFORMATION11 in VARCHAR2,
572   X_INFORMATION12 in VARCHAR2,
573   X_INFORMATION13 in VARCHAR2,
574   X_INFORMATION14 in VARCHAR2,
575   X_INFORMATION15 in VARCHAR2,
576   X_INFORMATION16 in VARCHAR2,
577   X_INFORMATION17 in VARCHAR2,
578   X_INFORMATION18 in VARCHAR2,
579   X_INFORMATION19 in VARCHAR2,
580   X_INFORMATION20 in VARCHAR2,
581   X_INFORMATION21 in VARCHAR2,
582   X_INFORMATION7 in VARCHAR2,
583   X_INFORMATION8 in VARCHAR2,
584   X_INFORMATION29 in VARCHAR2,
585   X_INFORMATION30 in VARCHAR2,
586   X_INFORMATION6 in VARCHAR2,
587   X_INFORMATION1 in VARCHAR2,
588   X_INFORMATION2 in VARCHAR2,
589   X_INFORMATION3 in VARCHAR2,
590   X_INFORMATION4 in VARCHAR2,
591   X_INFORMATION5 in VARCHAR2,
592   X_INFORMATION22 in VARCHAR2,
593   X_INFORMATION23 in VARCHAR2,
594   X_INFORMATION24 in VARCHAR2,
595   X_INFORMATION25 in VARCHAR2,
596   X_INFORMATION26 in VARCHAR2,
597   X_INFORMATION27 in VARCHAR2,
598   X_INFORMATION28 in VARCHAR2,
599   X_LABEL in VARCHAR2,
600   X_LAST_UPDATE_DATE in DATE,
601   X_LAST_UPDATED_BY in NUMBER,
602   X_LAST_UPDATE_LOGIN in NUMBER
603 ) is
604 begin
605   update HR_TAB_PAGE_PROPERTIES_B set
606     FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID,
607     TEMPLATE_TAB_PAGE_ID = X_TEMPLATE_TAB_PAGE_ID,
608     NAVIGATION_DIRECTION = X_NAVIGATION_DIRECTION,
609     VISIBLE = X_VISIBLE,
610     INFORMATION_CATEGORY = X_INFORMATION_CATEGORY,
611     INFORMATION9 = X_INFORMATION9,
612     INFORMATION10 = X_INFORMATION10,
613     INFORMATION11 = X_INFORMATION11,
614     INFORMATION12 = X_INFORMATION12,
615     INFORMATION13 = X_INFORMATION13,
616     INFORMATION14 = X_INFORMATION14,
617     INFORMATION15 = X_INFORMATION15,
618     INFORMATION16 = X_INFORMATION16,
619     INFORMATION17 = X_INFORMATION17,
620     INFORMATION18 = X_INFORMATION18,
621     INFORMATION19 = X_INFORMATION19,
622     INFORMATION20 = X_INFORMATION20,
623     INFORMATION21 = X_INFORMATION21,
624     INFORMATION7 = X_INFORMATION7,
625     INFORMATION8 = X_INFORMATION8,
626     INFORMATION29 = X_INFORMATION29,
627     INFORMATION30 = X_INFORMATION30,
628     INFORMATION6 = X_INFORMATION6,
629     INFORMATION1 = X_INFORMATION1,
630     INFORMATION2 = X_INFORMATION2,
631     INFORMATION3 = X_INFORMATION3,
632     INFORMATION4 = X_INFORMATION4,
633     INFORMATION5 = X_INFORMATION5,
634     INFORMATION22 = X_INFORMATION22,
635     INFORMATION23 = X_INFORMATION23,
636     INFORMATION24 = X_INFORMATION24,
637     INFORMATION25 = X_INFORMATION25,
638     INFORMATION26 = X_INFORMATION26,
639     INFORMATION27 = X_INFORMATION27,
640     INFORMATION28 = X_INFORMATION28,
641     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
642     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
643     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
644   where TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID;
645 
646   if (sql%notfound) then
647     raise no_data_found;
648   end if;
649 
650   update HR_TAB_PAGE_PROPERTIES_TL set
651     LABEL = X_LABEL,
652     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
653     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
654     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
655     SOURCE_LANG = userenv('LANG')
656   where TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID
657   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
658 
659   if (sql%notfound) then
660     raise no_data_found;
661   end if;
662 end UPDATE_ROW;
663 
664 procedure DELETE_ROW (
665   X_TAB_PAGE_PROPERTY_ID in NUMBER
666 ) is
667 begin
668   delete from HR_TAB_PAGE_PROPERTIES_TL
669   where TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID;
670 
671   if (sql%notfound) then
672     raise no_data_found;
673   end if;
674 --
675 -- Added the following code as a part of Zero Downtime Patching Project.
676 -- Code Starts Here.
677 --
678 
679 BEGIN
680 	PER_RIC_PKG.chk_integrity (
681     p_entity_name			=>	'HR_TAB_PAGE_PROPERTIES_B',
682     p_ref_entity         	=>	'HR_TAB_PAGE_PROPERTIES_TL',
683     p_ref_column_name    	=>	'TAB_PAGE_PROPERTY_ID',
684     p_ref_col_value_number  =>	X_TAB_PAGE_PROPERTY_ID,
685     p_ref_col_value_varchar =>	NULL,
686     p_ref_col_value_date    =>	NULL,
687     p_ref_type        		=>	'DEL');
688 
689 END;
690 --
691 -- Code Ends Here.
692 --
693   delete from HR_TAB_PAGE_PROPERTIES_B
694   where TAB_PAGE_PROPERTY_ID = X_TAB_PAGE_PROPERTY_ID;
695 
696   if (sql%notfound) then
697     raise no_data_found;
698   end if;
699 end DELETE_ROW;
700 
701 procedure ADD_LANGUAGE
702 is
703 begin
704   delete from HR_TAB_PAGE_PROPERTIES_TL T
705   where not exists
706     (select NULL
707     from HR_TAB_PAGE_PROPERTIES_B B
708     where B.TAB_PAGE_PROPERTY_ID = T.TAB_PAGE_PROPERTY_ID
709     );
710 
711   update HR_TAB_PAGE_PROPERTIES_TL T set (
712       LABEL
713     ) = (select
714       B.LABEL
715     from HR_TAB_PAGE_PROPERTIES_TL B
716     where B.TAB_PAGE_PROPERTY_ID = T.TAB_PAGE_PROPERTY_ID
717     and B.LANGUAGE = T.SOURCE_LANG)
718   where (
719       T.TAB_PAGE_PROPERTY_ID,
720       T.LANGUAGE
721   ) in (select
722       SUBT.TAB_PAGE_PROPERTY_ID,
723       SUBT.LANGUAGE
724     from HR_TAB_PAGE_PROPERTIES_TL SUBB, HR_TAB_PAGE_PROPERTIES_TL SUBT
725     where SUBB.TAB_PAGE_PROPERTY_ID = SUBT.TAB_PAGE_PROPERTY_ID
726     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
727     and (SUBB.LABEL <> SUBT.LABEL
728       or (SUBB.LABEL is null and SUBT.LABEL is not null)
729       or (SUBB.LABEL is not null and SUBT.LABEL is null)
730   ));
731 
732   insert into HR_TAB_PAGE_PROPERTIES_TL (
733     TAB_PAGE_PROPERTY_ID,
734     LABEL,
735     LAST_UPDATE_DATE,
736     LAST_UPDATED_BY,
737     LAST_UPDATE_LOGIN,
738     CREATED_BY,
739     CREATION_DATE,
740     LANGUAGE,
741     SOURCE_LANG
742   ) select
743     B.TAB_PAGE_PROPERTY_ID,
744     B.LABEL,
745     B.LAST_UPDATE_DATE,
746     B.LAST_UPDATED_BY,
747     B.LAST_UPDATE_LOGIN,
748     B.CREATED_BY,
749     B.CREATION_DATE,
750     L.LANGUAGE_CODE,
751     B.SOURCE_LANG
752   from HR_TAB_PAGE_PROPERTIES_TL B, FND_LANGUAGES L
753   where L.INSTALLED_FLAG in ('I', 'B')
754   and B.LANGUAGE = userenv('LANG')
755   and not exists
756     (select NULL
757     from HR_TAB_PAGE_PROPERTIES_TL T
758     where T.TAB_PAGE_PROPERTY_ID = B.TAB_PAGE_PROPERTY_ID
759     and T.LANGUAGE = L.LANGUAGE_CODE);
760 end ADD_LANGUAGE;
761 
762 procedure TRANSLATE_ROW (
763   X_APPLICATION_SHORT_NAME in VARCHAR2,
764   X_FORM_NAME in VARCHAR2,
765   X_TAB_PAGE_NAME in VARCHAR2,
766   X_CANVAS_NAME in VARCHAR2,
767   X_WINDOW_NAME in VARCHAR2,
768   X_TEMPLATE_NAME in VARCHAR2,
769   X_TERRITORY_SHORT_NAME in VARCHAR2,
770   X_OWNER in VARCHAR2,
771   X_LAST_UPDATE_DATE in VARCHAR2 default sysdate,
772   X_CUSTOM_MODE IN VARCHAR2 default null,
773   X_LABEL in VARCHAR2) is
774   X_ROWID ROWID;
775   X_CREATION_DATE DATE;
776   X_CREATED_BY NUMBER;
777 --  X_LAST_UPDATE_DATE DATE;
778   X_LAST_UPDATED_BY NUMBER;
779   X_LAST_UPDATE_LOGIN NUMBER;
780   X_FORM_ID NUMBER;
781   X_APPLICATION_ID NUMBER;
782   X_FORM_WINDOW_ID NUMBER;
783   X_FORM_CANVAS_ID NUMBER;
784   X_FORM_TAB_PAGE_ID NUMBER;
785   X_TEMPLATE_CANVAS_ID NUMBER;
786   X_TEMPLATE_TAB_PAGE_ID NUMBER;
787   X_TAB_PAGE_PROPERTY_ID NUMBER;
788   f_luby    number;  -- entity owner in file
789   f_ludate  date;    -- entity update date in file
790   db_luby   number;  -- entity owner in db
791   db_ludate date;    -- entity update date in db
792 
793 begin
794 --This has been commented as LAST_UPDATE_DATE is passed as an parameter
795 /*OWNER_TO_WHO (
796     X_OWNER,
797     X_CREATION_DATE,
798     X_CREATED_BY,
799     X_LAST_UPDATE_DATE,
800     X_LAST_UPDATED_BY,
801     X_LAST_UPDATE_LOGIN
802   );*/
803 
804  select application_id
805  into x_application_id
806  from fnd_application
807  where application_short_name = x_application_short_name;
808 
809  select form_id
810  into x_form_id
811  from fnd_form
812  where form_name = x_form_name
813  and application_id = x_application_id;
814 
815 -- check this select
816  select hfc.form_canvas_id, hfw.form_window_id
817  into x_form_canvas_id,x_form_window_id
818  from hr_form_canvases_b hfc
819       , hr_form_windows_b hfw
820  where hfc.canvas_name = x_canvas_name
821  and hfw.application_id = x_application_id
822  and hfw.form_id = x_form_id
823  and hfw.window_name = x_window_name;
824 
825  select form_tab_page_id
826  into x_form_tab_page_id
827  from hr_form_tab_pages_b
828  where form_canvas_id = x_form_canvas_id
829  and tab_page_name = x_tab_page_name;
830 
831  if ltrim(rtrim(x_template_name)) is not null then
832 
833  select htc.template_canvas_id
834  into x_template_canvas_id
835  from hr_template_canvases_b htc
836       ,hr_template_windows_b htw
837       , hr_form_templates hft
838  where htc.form_canvas_id = x_form_canvas_id
839  and htc.template_window_id = htw.template_window_id
840  and htw.form_window_id = x_form_window_id
841  and htw.form_template_id = hft.form_template_id
842  and hft.application_id = x_application_id
843  and hft.form_id = x_form_id
844  and (  (hft.legislation_code is null and x_territory_short_name is null)
845      or (hft.legislation_code = x_territory_short_name) )
846  and hft.template_name = x_template_name;
847 
848 
849  select template_tab_page_id
850  into x_template_tab_page_id
851  from hr_template_tab_pages
852  where template_canvas_id = x_template_canvas_id
853  and form_tab_page_id = x_form_tab_page_id;
854 
855  x_form_tab_page_id := null;
856 
857  else
858  x_template_tab_page_id := null;
859  end if;
860 
861  begin
862    select tab_page_property_id
863    into x_tab_page_property_id
864    from hr_tab_page_properties_b
865    where nvl(form_tab_page_id,hr_api.g_number) =  nvl(x_form_tab_page_id,hr_api.g_number)
866    and nvl(template_tab_page_id,hr_api.g_number) = nvl(x_template_tab_page_id,hr_api.g_number);
867  end;
868 
869  -- Translate owner to file_last_updated_by
870  f_luby := fnd_load_util.owner_id(X_OWNER);
871     -- Translate char last_update_date to date
872  f_ludate := nvl(to_date(X_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
873 
874           select LAST_UPDATED_BY, LAST_UPDATE_DATE
875           into db_luby, db_ludate
876           from HR_TAB_PAGE_PROPERTIES_TL
877           where tab_page_property_id = x_tab_page_property_id
878           and LANGUAGE=userenv('LANG');
879 
880           if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
881                                         db_ludate,X_CUSTOM_MODE)) then
882 
883                  update HR_TAB_PAGE_PROPERTIES_TL set
884                         LABEL = X_LABEL,
885                         LAST_UPDATE_DATE = f_ludate,
886                         LAST_UPDATED_BY = f_luby,
887                         LAST_UPDATE_LOGIN = 0,
888                         SOURCE_LANG = userenv('LANG')
889                     where userenv('LANG') in (LANGUAGE,SOURCE_LANG)
890                     and tab_page_property_id = x_tab_page_property_id;
891           end if;
892 exception
893           when no_data_found then
894             -- Do not insert missing translations, skip this row
895             null;
896 
897 end TRANSLATE_ROW;
898 
899 procedure LOAD_ROW (
900   X_APPLICATION_SHORT_NAME in VARCHAR2,
901   X_FORM_NAME in VARCHAR2,
902   X_TAB_PAGE_NAME in VARCHAR2,
903   X_CANVAS_NAME in VARCHAR2,
904   X_WINDOW_NAME in VARCHAR2,
905   X_TEMPLATE_NAME in VARCHAR2,
906   X_TERRITORY_SHORT_NAME in VARCHAR2,
907   X_OWNER in VARCHAR2,
908   X_LAST_UPDATE_DATE IN varchar2 default sysdate,
909   X_CUSTOM_MODE IN VARCHAR2 default null,
910   X_NAVIGATION_DIRECTION in VARCHAR2,
911   X_VISIBLE     in VARCHAR2,
912   X_INFORMATION_CATEGORY in VARCHAR2,
913   X_INFORMATION1 in VARCHAR2,
914   X_INFORMATION2 in VARCHAR2,
915   X_INFORMATION3 in VARCHAR2,
916   X_INFORMATION4 in VARCHAR2,
917   X_INFORMATION5 in VARCHAR2,
918   X_INFORMATION6 in VARCHAR2,
919   X_INFORMATION7 in VARCHAR2,
920   X_INFORMATION8 in VARCHAR2,
921   X_INFORMATION9 in VARCHAR2,
922   X_INFORMATION10 in VARCHAR2,
923   X_INFORMATION11 in VARCHAR2,
924   X_INFORMATION12 in VARCHAR2,
925   X_INFORMATION13 in VARCHAR2,
926   X_INFORMATION14 in VARCHAR2,
927   X_INFORMATION15 in VARCHAR2,
928   X_INFORMATION16 in VARCHAR2,
929   X_INFORMATION17 in VARCHAR2,
930   X_INFORMATION18 in VARCHAR2,
931   X_INFORMATION19 in VARCHAR2,
932   X_INFORMATION20 in VARCHAR2,
933   X_INFORMATION21 in VARCHAR2,
934   X_INFORMATION22 in VARCHAR2,
935   X_INFORMATION23 in VARCHAR2,
936   X_INFORMATION24 in VARCHAR2,
937   X_INFORMATION25 in VARCHAR2,
938   X_INFORMATION26 in VARCHAR2,
939   X_INFORMATION27 in VARCHAR2,
940   X_INFORMATION28 in VARCHAR2,
941   X_INFORMATION29 in VARCHAR2,
942   X_INFORMATION30 in VARCHAR2,
943   X_LABEL in VARCHAR2) is
944   X_ROWID ROWID;
945   X_CREATION_DATE DATE:=sysdate;
946   X_CREATED_BY NUMBER;
947 --  X_LAST_UPDATE_DATE DATE;
948   X_LAST_UPDATED_BY NUMBER;
949   X_LAST_UPDATE_LOGIN NUMBER;
950   X_FORM_ID NUMBER;
951   X_APPLICATION_ID NUMBER;
952   X_FORM_WINDOW_ID NUMBER;
953   X_FORM_CANVAS_ID NUMBER;
954   X_FORM_TAB_PAGE_ID NUMBER;
955   X_TEMPLATE_CANVAS_ID NUMBER;
956   X_TEMPLATE_TAB_PAGE_ID NUMBER;
957   X_TAB_PAGE_PROPERTY_ID NUMBER;
958   f_luby    number;  -- entity owner in file
959   f_ludate  date;    -- entity update date in file
960   db_luby   number;  -- entity owner in db
961   db_ludate date;    -- entity update date in db
962 begin
966     X_CREATION_DATE,
963 --This has been commented as LAST_UPDATE_DATE is passed as an parameter
964  /* OWNER_TO_WHO (
965     X_OWNER,
967     X_CREATED_BY,
968     X_LAST_UPDATE_DATE,
969     X_LAST_UPDATED_BY,
970     X_LAST_UPDATE_LOGIN
971   );*/
972  if X_OWNER = 'SEED' then
973     X_CREATED_BY := 1;
974  else
975     X_CREATED_BY := 0;
976  end if;
977 
978  select application_id
979  into x_application_id
980  from fnd_application
981  where application_short_name = x_application_short_name;
982 
983  select form_id
984  into x_form_id
985  from fnd_form
986  where form_name = x_form_name
987  and application_id = x_application_id;
988 
989  select hfc.form_canvas_id,hfw.form_window_id
990  into x_form_canvas_id,x_form_window_id
991  from hr_form_canvases_b hfc
992       , hr_form_windows_b hfw
993  where hfc.canvas_name = x_canvas_name
994  and hfw.application_id = x_application_id
995  and hfw.form_id = x_form_id
996  and hfw.window_name = x_window_name;
997 
998  select form_tab_page_id
999  into x_form_tab_page_id
1000  from hr_form_tab_pages_b
1001  where form_canvas_id = x_form_canvas_id
1002  and tab_page_name = x_tab_page_name;
1003 
1004  if ltrim(rtrim(x_template_name)) is not null then
1005 
1006  select htc.template_canvas_id
1007  into x_template_canvas_id
1008  from hr_template_canvases_b htc
1009       ,hr_template_windows_b htw
1010       , hr_form_templates hft
1011  where htc.form_canvas_id = x_form_canvas_id
1012  and htc.template_window_id = htw.template_window_id
1013  and htw.form_window_id = x_form_window_id
1014  and htw.form_template_id = hft.form_template_id
1015  and hft.application_id = x_application_id
1016  and hft.form_id = x_form_id
1017  and (  (hft.legislation_code is null and x_territory_short_name is null)
1018      or (hft.legislation_code = x_territory_short_name) )
1019  and hft.template_name = x_template_name;
1020 
1021  select template_tab_page_id
1022  into x_template_tab_page_id
1023  from hr_template_tab_pages
1024  where template_canvas_id = x_template_canvas_id
1025  and form_tab_page_id = x_form_tab_page_id;
1026 
1027  x_form_tab_page_id := null;
1028 
1029  else
1030  x_template_tab_page_id := null;
1031  end if;
1032 
1033  begin
1034    select tab_page_property_id
1035    into x_tab_page_property_id
1036    from hr_tab_page_properties_b
1037    where nvl(form_tab_page_id,hr_api.g_number) =  nvl(x_form_tab_page_id,hr_api.g_number)
1038    and nvl(template_tab_page_id,hr_api.g_number) = nvl(x_template_tab_page_id,hr_api.g_number);
1039  exception
1040    when no_data_found then
1041      select hr_tab_page_properties_b_s.nextval
1042      into x_tab_page_property_id
1043      from dual;
1044  end;
1045 
1046  begin
1047  -- Translate owner to file_last_updated_by
1048  f_luby := fnd_load_util.owner_id(X_OWNER);
1049     -- Translate char last_update_date to date
1050  f_ludate := nvl(to_date(X_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
1051 
1052           select LAST_UPDATED_BY, LAST_UPDATE_DATE
1053           into db_luby, db_ludate
1054           from HR_TAB_PAGE_PROPERTIES_TL
1055           where tab_page_property_id = x_tab_page_property_id
1056           and LANGUAGE=userenv('LANG');
1057 
1058  if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
1059                                         db_ludate,X_CUSTOM_MODE)) then
1060   UPDATE_COPIES (
1061     X_TAB_PAGE_PROPERTY_ID,
1062     X_FORM_TAB_PAGE_ID,
1063     X_TEMPLATE_TAB_PAGE_ID,
1064     X_NAVIGATION_DIRECTION,
1065     X_VISIBLE,
1066     X_LABEL,
1067     X_INFORMATION_CATEGORY,
1068     X_INFORMATION1,
1069     X_INFORMATION2,
1070     X_INFORMATION3,
1071     X_INFORMATION4,
1072     X_INFORMATION5,
1073     X_INFORMATION6,
1074     X_INFORMATION7,
1075     X_INFORMATION8,
1076     X_INFORMATION9,
1077     X_INFORMATION10,
1078     X_INFORMATION11,
1079     X_INFORMATION12,
1080     X_INFORMATION13,
1081     X_INFORMATION14,
1082     X_INFORMATION15,
1083     X_INFORMATION16,
1084     X_INFORMATION17,
1085     X_INFORMATION18,
1086     X_INFORMATION19,
1087     X_INFORMATION20,
1088     X_INFORMATION21,
1089     X_INFORMATION22,
1090     X_INFORMATION23,
1091     X_INFORMATION24,
1092     X_INFORMATION25,
1093     X_INFORMATION26,
1094     X_INFORMATION27,
1095     X_INFORMATION28,
1096     X_INFORMATION29,
1097     X_INFORMATION30,
1098     f_ludate,
1099     f_luby,
1100     0
1101     );
1102 
1103    UPDATE_ROW (
1104      X_TAB_PAGE_PROPERTY_ID,
1105      X_FORM_TAB_PAGE_ID,
1106      X_TEMPLATE_TAB_PAGE_ID,
1107      X_NAVIGATION_DIRECTION,
1108      to_number(X_VISIBLE),
1109      X_INFORMATION_CATEGORY,
1110      X_INFORMATION9,
1111      X_INFORMATION10,
1112      X_INFORMATION11,
1113      X_INFORMATION12,
1114      X_INFORMATION13,
1115      X_INFORMATION14,
1116      X_INFORMATION15,
1117      X_INFORMATION16,
1118      X_INFORMATION17,
1119      X_INFORMATION18,
1120      X_INFORMATION19,
1121      X_INFORMATION20,
1122      X_INFORMATION21,
1123      X_INFORMATION7,
1124      X_INFORMATION8,
1125      X_INFORMATION29,
1126      X_INFORMATION30,
1127      X_INFORMATION6,
1128      X_INFORMATION1,
1129      X_INFORMATION2,
1130      X_INFORMATION3,
1131      X_INFORMATION4,
1132      X_INFORMATION5,
1133      X_INFORMATION22,
1134      X_INFORMATION23,
1135      X_INFORMATION24,
1136      X_INFORMATION25,
1137      X_INFORMATION26,
1138      X_INFORMATION27,
1139      X_INFORMATION28,
1140      X_LABEL,
1141      f_ludate,
1142      f_luby,
1143      0);
1144   END IF;
1145  exception
1146    when no_data_found then
1147      INSERT_ROW (
1148        X_ROWID,
1149        X_TAB_PAGE_PROPERTY_ID,
1150        X_FORM_TAB_PAGE_ID,
1151        X_TEMPLATE_TAB_PAGE_ID,
1152        X_NAVIGATION_DIRECTION,
1153        to_number(X_VISIBLE),
1154        X_INFORMATION_CATEGORY,
1155        X_INFORMATION9,
1156        X_INFORMATION10,
1157        X_INFORMATION11,
1158        X_INFORMATION12,
1159        X_INFORMATION13,
1160        X_INFORMATION14,
1161        X_INFORMATION15,
1162        X_INFORMATION16,
1163        X_INFORMATION17,
1164        X_INFORMATION18,
1165        X_INFORMATION19,
1166        X_INFORMATION20,
1167        X_INFORMATION21,
1168        X_INFORMATION7,
1169        X_INFORMATION8,
1170        X_INFORMATION29,
1171        X_INFORMATION30,
1172        X_INFORMATION6,
1173        X_INFORMATION1,
1174        X_INFORMATION2,
1175        X_INFORMATION3,
1176        X_INFORMATION4,
1177        X_INFORMATION5,
1178        X_INFORMATION22,
1179        X_INFORMATION23,
1180        X_INFORMATION24,
1181        X_INFORMATION25,
1182        X_INFORMATION26,
1183        X_INFORMATION27,
1184        X_INFORMATION28,
1185        X_LABEL,
1186        X_CREATION_DATE,
1187        X_CREATED_BY,
1188        f_ludate,
1189        f_luby,
1190        0);
1191  end;
1192 
1193 end LOAD_ROW;
1194 
1195 end HR_TAB_PAGE_PROPERTIES_PKG;