DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FORM_ITEMS_PKG

Source


1 package body HR_FORM_ITEMS_PKG as
2 /* $Header: hrfitlct.pkb 120.2 2011/06/15 08:01:03 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_FORM_ITEM_ID in NUMBER,
26   X_OBJECT_VERSION_NUMBER in NUMBER,
27   X_APPLICATION_ID in NUMBER,
28   X_FORM_ID in NUMBER,
29   X_FORM_CANVAS_ID in NUMBER,
30   X_FULL_ITEM_NAME in VARCHAR2,
31   X_ITEM_TYPE in VARCHAR2,
32   X_FORM_TAB_PAGE_ID in NUMBER,
33   X_RADIO_BUTTON_NAME in VARCHAR2,
34   X_REQUIRED_OVERRIDE in NUMBER,
35   X_FORM_TAB_PAGE_ID_OVERRIDE in NUMBER,
36   X_VISIBLE_OVERRIDE in NUMBER,
37   X_USER_ITEM_NAME in VARCHAR2,
38   X_DESCRIPTION in VARCHAR2,
39   X_CREATION_DATE in DATE,
40   X_CREATED_BY in NUMBER,
41   X_LAST_UPDATE_DATE in DATE,
42   X_LAST_UPDATED_BY in NUMBER,
43   X_LAST_UPDATE_LOGIN in NUMBER
44 ) is
45   cursor C is select ROWID from HR_FORM_ITEMS_B
46     where FORM_ITEM_ID = X_FORM_ITEM_ID
47     ;
48 begin
49 
50 --
51 -- Added the following code as a part of Zero Downtime Patching Project.
52 -- Code Starts Here.
53 --
54 
55 BEGIN
56 	PER_RIC_PKG.chk_integrity (
57     p_entity_name		=>	'HR_FORM_ITEMS_B',
58     p_ref_entity_info   => PER_RIC_PKG.ref_entity_tbl(
59 							PER_RIC_PKG.ref_info_rec('HR_FORM_CANVASES_B', PER_RIC_PKG.column_info_tbl(
60                                                 PER_RIC_PKG.col_info_rec('FORM_CANVAS_ID',NULL,X_FORM_CANVAS_ID,NULL))),
61 							PER_RIC_PKG.ref_info_rec('HR_FORM_TAB_PAGES_B', PER_RIC_PKG.column_info_tbl(
62                                                 PER_RIC_PKG.col_info_rec('FORM_TAB_PAGE_ID',NULL,X_FORM_TAB_PAGE_ID,NULL))), --12637368
63 							PER_RIC_PKG.ref_info_rec('HR_FORM_TAB_PAGES_B', PER_RIC_PKG.column_info_tbl(
64                                                 PER_RIC_PKG.col_info_rec('FORM_TAB_PAGE_ID',NULL,X_FORM_TAB_PAGE_ID_OVERRIDE,NULL)))
65 							),
66     p_ref_type        	=>	'INS');
67 
68 END;
69 --
70 -- Code Ends Here.
71 --
72   insert into HR_FORM_ITEMS_B (
73     FORM_ITEM_ID,
74     OBJECT_VERSION_NUMBER,
75     APPLICATION_ID,
76     FORM_ID,
77     FORM_CANVAS_ID,
78     FULL_ITEM_NAME,
79     ITEM_TYPE,
80     FORM_TAB_PAGE_ID,
81     RADIO_BUTTON_NAME,
82     REQUIRED_OVERRIDE,
83     FORM_TAB_PAGE_ID_OVERRIDE,
84     VISIBLE_OVERRIDE,
85     CREATION_DATE,
86     CREATED_BY,
87     LAST_UPDATE_DATE,
88     LAST_UPDATED_BY,
89     LAST_UPDATE_LOGIN
90   ) values (
91     X_FORM_ITEM_ID,
92     X_OBJECT_VERSION_NUMBER,
93     X_APPLICATION_ID,
94     X_FORM_ID,
95     X_FORM_CANVAS_ID,
96     X_FULL_ITEM_NAME,
97     X_ITEM_TYPE,
98     X_FORM_TAB_PAGE_ID,
99     X_RADIO_BUTTON_NAME,
100     X_REQUIRED_OVERRIDE,
101     X_FORM_TAB_PAGE_ID_OVERRIDE,
102     X_VISIBLE_OVERRIDE,
103     X_CREATION_DATE,
104     X_CREATED_BY,
105     X_LAST_UPDATE_DATE,
106     X_LAST_UPDATED_BY,
107     X_LAST_UPDATE_LOGIN
108   );
109 
110 --
111 -- Added the following code as a part of Zero Downtime Patching Project.
112 -- Code Starts Here.
113 --
114 
115 BEGIN
116 	PER_RIC_PKG.chk_integrity (
117     p_entity_name			=>	'HR_FORM_ITEMS_TL',
118     p_ref_entity         	=>	'HR_FORM_ITEMS_B',
119     p_ref_column_name    	=>	'FORM_ITEM_ID',
120     p_ref_col_value_number  =>	X_FORM_ITEM_ID,
121     p_ref_col_value_varchar =>	NULL,
122     p_ref_col_value_date    =>	NULL,
123     p_ref_type        		=>	'INS');
124 
125 END;
126 --
127 -- Code Ends Here.
128 --
129   insert into HR_FORM_ITEMS_TL (
130     LAST_UPDATE_LOGIN,
131     CREATED_BY,
132     CREATION_DATE,
133     LAST_UPDATE_DATE,
134     LAST_UPDATED_BY,
135     FORM_ITEM_ID,
136     USER_ITEM_NAME,
137     DESCRIPTION,
138     LANGUAGE,
139     SOURCE_LANG
140   ) select
141     X_LAST_UPDATE_LOGIN,
142     X_CREATED_BY,
143     X_CREATION_DATE,
144     X_LAST_UPDATE_DATE,
145     X_LAST_UPDATED_BY,
146     X_FORM_ITEM_ID,
147     X_USER_ITEM_NAME,
148     X_DESCRIPTION,
149     L.LANGUAGE_CODE,
150     userenv('LANG')
151   from FND_LANGUAGES L
152   where L.INSTALLED_FLAG in ('I', 'B')
153   and not exists
154     (select NULL
155     from HR_FORM_ITEMS_TL T
156     where T.FORM_ITEM_ID = X_FORM_ITEM_ID
157     and T.LANGUAGE = L.LANGUAGE_CODE);
158 
159   open c;
160   fetch c into X_ROWID;
161   if (c%notfound) then
162     close c;
163     raise no_data_found;
164   end if;
165   close c;
166 
167 end INSERT_ROW;
168 
169 procedure LOCK_ROW (
170   X_FORM_ITEM_ID in NUMBER,
171   X_OBJECT_VERSION_NUMBER in NUMBER,
172   X_APPLICATION_ID in NUMBER,
173   X_FORM_ID in NUMBER,
174   X_FORM_CANVAS_ID in NUMBER,
175   X_FULL_ITEM_NAME in VARCHAR2,
176   X_ITEM_TYPE in VARCHAR2,
177   X_FORM_TAB_PAGE_ID in NUMBER,
178   X_RADIO_BUTTON_NAME in VARCHAR2,
179   X_REQUIRED_OVERRIDE in NUMBER,
180   X_FORM_TAB_PAGE_ID_OVERRIDE in NUMBER,
181   X_VISIBLE_OVERRIDE in NUMBER,
182   X_USER_ITEM_NAME in VARCHAR2,
183   X_DESCRIPTION in VARCHAR2
184 ) is
185   cursor c is select
186       OBJECT_VERSION_NUMBER,
187       APPLICATION_ID,
188       FORM_ID,
189       FORM_CANVAS_ID,
190       FULL_ITEM_NAME,
191       ITEM_TYPE,
192       FORM_TAB_PAGE_ID,
193       RADIO_BUTTON_NAME,
194       REQUIRED_OVERRIDE,
195       FORM_TAB_PAGE_ID_OVERRIDE,
196       VISIBLE_OVERRIDE
197     from HR_FORM_ITEMS_B
198     where FORM_ITEM_ID = X_FORM_ITEM_ID
199     for update of FORM_ITEM_ID nowait;
200   recinfo c%rowtype;
201 
202   cursor c1 is select
203       USER_ITEM_NAME,
204       DESCRIPTION,
205       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
206     from HR_FORM_ITEMS_TL
207     where FORM_ITEM_ID = X_FORM_ITEM_ID
208     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
209     for update of FORM_ITEM_ID nowait;
210 begin
211   open c;
212   fetch c into recinfo;
213   if (c%notfound) then
214     close c;
215     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
216     app_exception.raise_exception;
217   end if;
218   close c;
219   if (    (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
220       AND (recinfo.APPLICATION_ID = X_APPLICATION_ID)
221       AND (recinfo.FORM_ID = X_FORM_ID)
222       AND (recinfo.FORM_CANVAS_ID = X_FORM_CANVAS_ID)
223       AND (recinfo.FULL_ITEM_NAME = X_FULL_ITEM_NAME)
224       AND (recinfo.ITEM_TYPE = X_ITEM_TYPE)
225       AND ((recinfo.FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID)
226            OR ((recinfo.FORM_TAB_PAGE_ID is null) AND (X_FORM_TAB_PAGE_ID is null)))
227       AND ((recinfo.RADIO_BUTTON_NAME = X_RADIO_BUTTON_NAME)
228            OR ((recinfo.RADIO_BUTTON_NAME is null) AND (X_RADIO_BUTTON_NAME is null)))
229       AND ((recinfo.REQUIRED_OVERRIDE = X_REQUIRED_OVERRIDE)
230            OR ((recinfo.REQUIRED_OVERRIDE is null) AND (X_REQUIRED_OVERRIDE is null)))
231       AND ((recinfo.FORM_TAB_PAGE_ID_OVERRIDE = X_FORM_TAB_PAGE_ID_OVERRIDE)
232            OR ((recinfo.FORM_TAB_PAGE_ID_OVERRIDE is null) AND (X_FORM_TAB_PAGE_ID_OVERRIDE is null)))
233       AND ((recinfo.VISIBLE_OVERRIDE = X_VISIBLE_OVERRIDE)
234            OR ((recinfo.VISIBLE_OVERRIDE is null) AND (X_VISIBLE_OVERRIDE is null)))
235   ) then
236     null;
237   else
238     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
239     app_exception.raise_exception;
240   end if;
241 
242   for tlinfo in c1 loop
243     if (tlinfo.BASELANG = 'Y') then
244       if (    (tlinfo.USER_ITEM_NAME = X_USER_ITEM_NAME)
245           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
246                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
247       ) then
248         null;
249       else
250         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
251         app_exception.raise_exception;
252       end if;
253     end if;
254   end loop;
255   return;
256 end LOCK_ROW;
257 
258 procedure UPDATE_ROW (
259   X_FORM_ITEM_ID in NUMBER,
260   X_OBJECT_VERSION_NUMBER in NUMBER,
261   X_APPLICATION_ID in NUMBER,
262   X_FORM_ID in NUMBER,
263   X_FORM_CANVAS_ID in NUMBER,
264   X_FULL_ITEM_NAME in VARCHAR2,
265   X_ITEM_TYPE in VARCHAR2,
266   X_FORM_TAB_PAGE_ID in NUMBER,
267   X_RADIO_BUTTON_NAME in VARCHAR2,
268   X_REQUIRED_OVERRIDE in NUMBER,
269   X_FORM_TAB_PAGE_ID_OVERRIDE in NUMBER,
270   X_VISIBLE_OVERRIDE in NUMBER,
271   X_USER_ITEM_NAME in VARCHAR2,
272   X_DESCRIPTION in VARCHAR2,
273   X_LAST_UPDATE_DATE in DATE,
274   X_LAST_UPDATED_BY in NUMBER,
275   X_LAST_UPDATE_LOGIN in NUMBER
276 ) is
277 begin
278   update HR_FORM_ITEMS_B set
279     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
280     APPLICATION_ID = X_APPLICATION_ID,
281     FORM_ID = X_FORM_ID,
282     FORM_CANVAS_ID = X_FORM_CANVAS_ID,
283     FULL_ITEM_NAME = X_FULL_ITEM_NAME,
284     ITEM_TYPE = X_ITEM_TYPE,
285     FORM_TAB_PAGE_ID = X_FORM_TAB_PAGE_ID,
286     RADIO_BUTTON_NAME = X_RADIO_BUTTON_NAME,
287     REQUIRED_OVERRIDE = X_REQUIRED_OVERRIDE,
288     FORM_TAB_PAGE_ID_OVERRIDE = X_FORM_TAB_PAGE_ID_OVERRIDE,
289     VISIBLE_OVERRIDE = X_VISIBLE_OVERRIDE,
290     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
291     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
292     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
293   where FORM_ITEM_ID = X_FORM_ITEM_ID;
294 
295   if (sql%notfound) then
296     raise no_data_found;
297   end if;
298 
299   update HR_FORM_ITEMS_TL set
300     USER_ITEM_NAME = X_USER_ITEM_NAME,
301     DESCRIPTION = X_DESCRIPTION,
302     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
303     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
304     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
305     SOURCE_LANG = userenv('LANG')
306   where FORM_ITEM_ID = X_FORM_ITEM_ID
307   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
308 
309   if (sql%notfound) then
310     raise no_data_found;
311   end if;
312 end UPDATE_ROW;
313 
314 procedure DELETE_ROW (
315   X_FORM_ITEM_ID in NUMBER
316 ) is
317 begin
318   delete from HR_FORM_ITEMS_TL
319   where FORM_ITEM_ID = X_FORM_ITEM_ID;
320 
321   if (sql%notfound) then
322     raise no_data_found;
323   end if;
324 --
325 -- Added the following code as a part of Zero Downtime Patching Project.
326 -- Code Starts Here.
327 --
328 
329 BEGIN
330 	PER_RIC_PKG.chk_integrity (
331     p_entity_name		=>	'HR_FORM_ITEMS_B',
332     p_ref_entity_info   => PER_RIC_PKG.ref_entity_tbl(
333 							PER_RIC_PKG.ref_info_rec('HR_FORM_DATA_GROUP_ITEMS', PER_RIC_PKG.column_info_tbl(
334                                                 PER_RIC_PKG.col_info_rec('FORM_ITEM_ID',NULL,X_FORM_ITEM_ID,NULL))),
335 							PER_RIC_PKG.ref_info_rec('HR_FORM_ITEMS_TL', PER_RIC_PKG.column_info_tbl(
336                                                 PER_RIC_PKG.col_info_rec('FORM_ITEM_ID',NULL,X_FORM_ITEM_ID,NULL))),
337 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
338                                                 PER_RIC_PKG.col_info_rec('FORM_ITEM_ID',NULL,X_FORM_ITEM_ID,NULL))),
339 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
340                                                 PER_RIC_PKG.col_info_rec('VALIDATION_PARAMETER_ITEM_ID1',NULL,X_FORM_ITEM_ID,NULL))),
341 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
342                                                 PER_RIC_PKG.col_info_rec('VALIDATION_PARAMETER_ITEM_ID2',NULL,X_FORM_ITEM_ID,NULL))),
343 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
344                                                 PER_RIC_PKG.col_info_rec('VALIDATION_PARAMETER_ITEM_ID3',NULL,X_FORM_ITEM_ID,NULL))),
345 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
346                                                 PER_RIC_PKG.col_info_rec('VALIDATION_PARAMETER_ITEM_ID4',NULL,X_FORM_ITEM_ID,NULL))),
347 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
348                                                 PER_RIC_PKG.col_info_rec('VALIDATION_PARAMETER_ITEM_ID5',NULL,X_FORM_ITEM_ID,NULL))),
349 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
350                                                 PER_RIC_PKG.col_info_rec('NEXT_NAVIGATION_ITEM_ID',NULL,X_FORM_ITEM_ID,NULL))),
351 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
352                                                 PER_RIC_PKG.col_info_rec('PREVIOUS_NAVIGATION_ITEM_ID',NULL,X_FORM_ITEM_ID,NULL))),
353 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
354                                                 PER_RIC_PKG.col_info_rec('INFORMATION_PARAMETER_ITEM_ID1',NULL,X_FORM_ITEM_ID,NULL))),
355 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
356                                                 PER_RIC_PKG.col_info_rec('INFORMATION_PARAMETER_ITEM_ID2',NULL,X_FORM_ITEM_ID,NULL))),
357 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
358                                                 PER_RIC_PKG.col_info_rec('INFORMATION_PARAMETER_ITEM_ID3',NULL,X_FORM_ITEM_ID,NULL))),
359 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
360                                                 PER_RIC_PKG.col_info_rec('INFORMATION_PARAMETER_ITEM_ID4',NULL,X_FORM_ITEM_ID,NULL))),
361 							PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
362                                                 PER_RIC_PKG.col_info_rec('INFORMATION_PARAMETER_ITEM_ID5',NULL,X_FORM_ITEM_ID,NULL))),
363 							PER_RIC_PKG.ref_info_rec('HR_TEMPLATE_ITEMS_B', PER_RIC_PKG.column_info_tbl(
364                                                 PER_RIC_PKG.col_info_rec('FORM_ITEM_ID',NULL,X_FORM_ITEM_ID,NULL)))
365 							),
366     p_ref_type        	=>	'DEL');
367 
368 END;
369 --
370 -- Code Ends Here.
371 --
372 
373   delete from HR_FORM_ITEMS_B
374   where FORM_ITEM_ID = X_FORM_ITEM_ID;
375 
376   if (sql%notfound) then
377     raise no_data_found;
378   end if;
379 end DELETE_ROW;
380 
381 procedure ADD_LANGUAGE
382 is
383 begin
384   delete from HR_FORM_ITEMS_TL T
385   where not exists
386     (select NULL
387     from HR_FORM_ITEMS_B B
388     where B.FORM_ITEM_ID = T.FORM_ITEM_ID
389     );
390 
391   update HR_FORM_ITEMS_TL T set (
392       USER_ITEM_NAME,
393       DESCRIPTION
394     ) = (select
395       B.USER_ITEM_NAME,
396       B.DESCRIPTION
397     from HR_FORM_ITEMS_TL B
398     where B.FORM_ITEM_ID = T.FORM_ITEM_ID
399     and B.LANGUAGE = T.SOURCE_LANG)
400   where (
401       T.FORM_ITEM_ID,
402       T.LANGUAGE
403   ) in (select
404       SUBT.FORM_ITEM_ID,
405       SUBT.LANGUAGE
406     from HR_FORM_ITEMS_TL SUBB, HR_FORM_ITEMS_TL SUBT
407     where SUBB.FORM_ITEM_ID = SUBT.FORM_ITEM_ID
408     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
409     and (SUBB.USER_ITEM_NAME <> SUBT.USER_ITEM_NAME
410       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
411       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
412       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
413   ));
414 
415   insert into HR_FORM_ITEMS_TL (
416     LAST_UPDATE_LOGIN,
417     CREATED_BY,
418     CREATION_DATE,
419     LAST_UPDATE_DATE,
420     LAST_UPDATED_BY,
421     FORM_ITEM_ID,
422     USER_ITEM_NAME,
423     DESCRIPTION,
424     LANGUAGE,
425     SOURCE_LANG
426   ) select
427     B.LAST_UPDATE_LOGIN,
428     B.CREATED_BY,
429     B.CREATION_DATE,
430     B.LAST_UPDATE_DATE,
431     B.LAST_UPDATED_BY,
432     B.FORM_ITEM_ID,
433     B.USER_ITEM_NAME,
434     B.DESCRIPTION,
435     L.LANGUAGE_CODE,
436     B.SOURCE_LANG
437   from HR_FORM_ITEMS_TL B, FND_LANGUAGES L
438   where L.INSTALLED_FLAG in ('I', 'B')
439   and B.LANGUAGE = userenv('LANG')
440   and not exists
441     (select NULL
442     from HR_FORM_ITEMS_TL T
443     where T.FORM_ITEM_ID = B.FORM_ITEM_ID
444     and T.LANGUAGE = L.LANGUAGE_CODE);
445 end ADD_LANGUAGE;
446 procedure TRANSLATE_ROW (
450   X_RADIO_BUTTON_NAME in VARCHAR2,
447   X_APPLICATION_SHORT_NAME in VARCHAR2,
448   X_FORM_NAME in VARCHAR2,
449   X_FULL_ITEM_NAME in VARCHAR2,
451   X_OWNER in VARCHAR2,
452   X_USER_ITEM_NAME in VARCHAR2,
453   X_DESCRIPTION in VARCHAR2) is
454   X_ROWID ROWID;
455   X_CREATION_DATE DATE;
456   X_CREATED_BY NUMBER;
457   X_LAST_UPDATE_DATE DATE;
458   X_LAST_UPDATED_BY NUMBER;
459   X_LAST_UPDATE_LOGIN NUMBER;
460   X_FORM_ID NUMBER;
461   X_APPLICATION_ID NUMBER;
462   X_FORM_WINDOW_ID NUMBER;
463   X_FORM_CANVAS_ID NUMBER;
464   X_FORM_TAB_PAGE_ID NUMBER;
465   X_FORM_TAB_PAGE_ID_OVERRIDE NUMBER;
466   X_FORM_ITEM_ID NUMBER;
467 begin
468 
469   OWNER_TO_WHO (
470     X_OWNER,
471     X_CREATION_DATE,
472     X_CREATED_BY,
473     X_LAST_UPDATE_DATE,
474     X_LAST_UPDATED_BY,
475     X_LAST_UPDATE_LOGIN
476   );
477 
478  select application_id
479  into x_application_id
480  from fnd_application
481  where application_short_name = x_application_short_name;
482 
483  select form_id
484  into x_form_id
485  from fnd_form
486  where form_name = x_form_name
487  and application_id = x_application_id;
488 
489  select form_item_id
490  into x_form_item_id
491  from hr_form_items_b
492  where full_item_name =  x_full_item_name
493  and application_id = x_application_id
494  and form_id = x_form_id
495  and (  radio_button_name = x_radio_button_name
496      or (radio_button_name is null and x_radio_button_name is null) );
497 
498  update HR_FORM_ITEMS_TL set
499   DESCRIPTION = X_DESCRIPTION,
500   USER_ITEM_NAME = X_USER_ITEM_NAME,
501   LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
502   LAST_UPDATED_BY = X_LAST_UPDATED_BY,
503   LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
504   SOURCE_LANG = userenv('LANG')
505  where userenv('LANG') in (LANGUAGE,SOURCE_LANG)
506  and form_item_id = x_form_item_id;
507 
508 end TRANSLATE_ROW;
509 
510 procedure LOAD_ROW (
511   X_APPLICATION_SHORT_NAME in VARCHAR2,
512   X_FORM_NAME in VARCHAR2,
513   X_FULL_ITEM_NAME in VARCHAR2,
514   X_RADIO_BUTTON_NAME in VARCHAR2,
515   X_OWNER in VARCHAR2,
516   X_CANVAS_NAME in VARCHAR2,
517   X_WINDOW_NAME in VARCHAR2,
518   X_TAB_PAGE_NAME_1 in VARCHAR2,
519   X_TAB_PAGE_NAME_2 in VARCHAR2,
520   X_OBJECT_VERSION_NUMBER in VARCHAR2,
521   X_ITEM_TYPE in VARCHAR2,
522   X_REQUIRED_OVERRIDE in VARCHAR2,
523   X_VISIBLE_OVERRIDE in VARCHAR2,
524   X_USER_ITEM_NAME in VARCHAR2,
525   X_DESCRIPTION in VARCHAR2) is
526   X_ROWID ROWID;
527   X_CREATION_DATE DATE;
528   X_CREATED_BY NUMBER;
529   X_LAST_UPDATE_DATE DATE;
530   X_LAST_UPDATED_BY NUMBER;
531   X_LAST_UPDATE_LOGIN NUMBER;
532   X_FORM_ID NUMBER;
533   X_APPLICATION_ID NUMBER;
534   X_FORM_WINDOW_ID NUMBER;
535   X_FORM_CANVAS_ID NUMBER;
536   X_FORM_TAB_PAGE_ID NUMBER;
537   X_FORM_TAB_PAGE_ID_OVERRIDE NUMBER;
538   X_FORM_ITEM_ID NUMBER;
539 begin
540 
541   OWNER_TO_WHO (
542     X_OWNER,
543     X_CREATION_DATE,
544     X_CREATED_BY,
545     X_LAST_UPDATE_DATE,
546     X_LAST_UPDATED_BY,
547     X_LAST_UPDATE_LOGIN
548   );
549 
550  select application_id
551  into x_application_id
552  from fnd_application
553  where application_short_name = x_application_short_name;
554 
555  select form_id
556  into x_form_id
557  from fnd_form
558  where form_name = x_form_name
559  and application_id = x_application_id;
560 
561  select hfc.form_canvas_id
562  into x_form_canvas_id
563  from hr_form_canvases_b hfc
564       ,hr_form_windows_b hfw
565  where hfc.canvas_name = x_canvas_name
566  and hfw.application_id = x_application_id
567  and hfw.form_id = x_form_id
568  and hfw.window_name = x_window_name;
569 
570  IF ltrim(rtrim(x_tab_page_name_1)) IS NOT NULL THEN
571 
572  select form_tab_page_id
573  into x_form_tab_page_id
574  from hr_form_tab_pages_b
575  where form_canvas_id = x_form_canvas_id
576  and tab_page_name = x_tab_page_name_1;
577 
578  ELSE
579  x_form_tab_page_id := null;
580 
581  END IF;
582 
583 
584  IF ltrim(rtrim(x_tab_page_name_2)) IS NOT NULL THEN
585 
586  select form_tab_page_id
587  into x_form_tab_page_id_override
588  from hr_form_tab_pages_b
589  where form_canvas_id = x_form_canvas_id
590  and tab_page_name = x_tab_page_name_2;
591 
592  ELSE
593  x_form_tab_page_id_override := null;
594 
595  END IF;
596 
597  begin
598    select form_item_id
599    into x_form_item_id
600    from hr_form_items_b
601    where full_item_name =  x_full_item_name
602    and application_id = x_application_id
603    and form_id = x_form_id
604    and (  radio_button_name = x_radio_button_name
605        or (radio_button_name is null and x_radio_button_name is null) );
606  exception
607    when no_data_found then
608      select hr_form_items_b_s.nextval
609      into x_form_item_id
610      from dual;
611  end;
612  begin
613    UPDATE_ROW (
614      X_FORM_ITEM_ID,
615      to_number(X_OBJECT_VERSION_NUMBER),
616      X_APPLICATION_ID,
617      X_FORM_ID,
618      X_FORM_CANVAS_ID,
619      X_FULL_ITEM_NAME,
620      X_ITEM_TYPE,
621      X_FORM_TAB_PAGE_ID,
622      X_RADIO_BUTTON_NAME,
623      to_number(X_REQUIRED_OVERRIDE),
624      X_FORM_TAB_PAGE_ID_OVERRIDE,
625      to_number(X_VISIBLE_OVERRIDE),
626      X_USER_ITEM_NAME,
627      X_DESCRIPTION,
628      X_LAST_UPDATE_DATE,
629      X_LAST_UPDATED_BY,
633     when no_data_found then
630      X_LAST_UPDATE_LOGIN
631    );
632  exception
634       INSERT_ROW (
635         X_ROWID,
636         X_FORM_ITEM_ID,
637         to_number(X_OBJECT_VERSION_NUMBER),
638         X_APPLICATION_ID,
639         X_FORM_ID,
640         X_FORM_CANVAS_ID,
641         X_FULL_ITEM_NAME,
642         X_ITEM_TYPE,
643         X_FORM_TAB_PAGE_ID,
644         X_RADIO_BUTTON_NAME,
645         to_number(X_REQUIRED_OVERRIDE),
646         X_FORM_TAB_PAGE_ID_OVERRIDE,
647         to_number(X_VISIBLE_OVERRIDE),
648         X_USER_ITEM_NAME,
649         X_DESCRIPTION,
650         X_CREATION_DATE,
651         X_CREATED_BY,
652         X_LAST_UPDATE_DATE,
653         X_LAST_UPDATED_BY,
654         X_LAST_UPDATE_LOGIN);
655  end;
656 end LOAD_ROW;
657 end HR_FORM_ITEMS_PKG;