DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ITEM_CONTEXTS_PKG

Source


1 package body HR_ITEM_CONTEXTS_PKG as
2 /* $Header: hricxlct.pkb 120.1 2011/04/28 11:54:08 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_ITEM_CONTEXT_ID in NUMBER,
26   X_SEGMENT1 in VARCHAR2,
27   X_SEGMENT2 in VARCHAR2,
28   X_SEGMENT3 in VARCHAR2,
29   X_SEGMENT4 in VARCHAR2,
30   X_SEGMENT5 in VARCHAR2,
31   X_SEGMENT6 in VARCHAR2,
32   X_SEGMENT7 in VARCHAR2,
33   X_SEGMENT8 in VARCHAR2,
34   X_SEGMENT9 in VARCHAR2,
35   X_SEGMENT10 in VARCHAR2,
36   X_SEGMENT11 in VARCHAR2,
37   X_SEGMENT12 in VARCHAR2,
38   X_SEGMENT13 in VARCHAR2,
39   X_SEGMENT14 in VARCHAR2,
40   X_SEGMENT15 in VARCHAR2,
41   X_SEGMENT16 in VARCHAR2,
42   X_SEGMENT17 in VARCHAR2,
43   X_SEGMENT18 in VARCHAR2,
44   X_SEGMENT19 in VARCHAR2,
45   X_SEGMENT20 in VARCHAR2,
46   X_SEGMENT21 in VARCHAR2,
47   X_SEGMENT22 in VARCHAR2,
48   X_SEGMENT23 in VARCHAR2,
49   X_SEGMENT24 in VARCHAR2,
50   X_SEGMENT25 in VARCHAR2,
51   X_SEGMENT26 in VARCHAR2,
52   X_SEGMENT27 in VARCHAR2,
53   X_SUMMARY_FLAG in VARCHAR2,
54   X_ID_FLEX_NUM in NUMBER,
55   X_END_DATE_ACTIVE in DATE,
56   X_SEGMENT28 in VARCHAR2,
57   X_SEGMENT29 in VARCHAR2,
58   X_SEGMENT30 in VARCHAR2,
59   X_START_DATE_ACTIVE in DATE,
60   X_ENABLED_FLAG in VARCHAR2,
61   X_CREATION_DATE in DATE,
62   X_CREATED_BY in NUMBER,
63   X_LAST_UPDATE_DATE in DATE,
64   X_LAST_UPDATED_BY in NUMBER,
65   X_LAST_UPDATE_LOGIN in NUMBER
66 ) is
67   cursor C is select ROWID from HR_ITEM_CONTEXTS
68     where ITEM_CONTEXT_ID = X_ITEM_CONTEXT_ID
69     ;
70 begin
71   insert into HR_ITEM_CONTEXTS (
72     LAST_UPDATED_BY,
73     LAST_UPDATE_LOGIN,
74     CREATED_BY,
75     CREATION_DATE,
76     SEGMENT1,
77     SEGMENT2,
78     SEGMENT3,
79     SEGMENT4,
80     SEGMENT5,
81     SEGMENT6,
82     SEGMENT7,
83     SEGMENT8,
84     SEGMENT9,
85     SEGMENT10,
86     SEGMENT11,
87     SEGMENT12,
88     SEGMENT13,
89     SEGMENT14,
90     SEGMENT15,
91     SEGMENT16,
92     SEGMENT17,
93     SEGMENT18,
94     SEGMENT19,
95     SEGMENT20,
96     SEGMENT21,
97     SEGMENT22,
98     SEGMENT23,
99     SEGMENT24,
100     SEGMENT25,
101     SEGMENT26,
102     SEGMENT27,
103     SUMMARY_FLAG,
104     ITEM_CONTEXT_ID,
105     ID_FLEX_NUM,
106     END_DATE_ACTIVE,
107     SEGMENT28,
108     SEGMENT29,
109     SEGMENT30,
110     LAST_UPDATE_DATE,
111     START_DATE_ACTIVE,
112     ENABLED_FLAG
113   ) values(
114     X_LAST_UPDATED_BY,
115     X_LAST_UPDATE_LOGIN,
116     X_CREATED_BY,
117     X_CREATION_DATE,
118     X_SEGMENT1,
119     X_SEGMENT2,
120     X_SEGMENT3,
121     X_SEGMENT4,
122     X_SEGMENT5,
123     X_SEGMENT6,
124     X_SEGMENT7,
125     X_SEGMENT8,
126     X_SEGMENT9,
127     X_SEGMENT10,
128     X_SEGMENT11,
129     X_SEGMENT12,
130     X_SEGMENT13,
131     X_SEGMENT14,
132     X_SEGMENT15,
133     X_SEGMENT16,
134     X_SEGMENT17,
135     X_SEGMENT18,
136     X_SEGMENT19,
137     X_SEGMENT20,
138     X_SEGMENT21,
139     X_SEGMENT22,
140     X_SEGMENT23,
141     X_SEGMENT24,
142     X_SEGMENT25,
143     X_SEGMENT26,
144     X_SEGMENT27,
145     X_SUMMARY_FLAG,
146     X_ITEM_CONTEXT_ID,
147     X_ID_FLEX_NUM,
148     X_END_DATE_ACTIVE,
149     X_SEGMENT28,
150     X_SEGMENT29,
151     X_SEGMENT30,
152     X_LAST_UPDATE_DATE,
153     X_START_DATE_ACTIVE,
154     X_ENABLED_FLAG);
155 
156   open c;
157   fetch c into X_ROWID;
158   if (c%notfound) then
159     close c;
160     raise no_data_found;
161   end if;
162   close c;
163 
164 end INSERT_ROW;
165 
166 procedure LOCK_ROW (
167   X_ITEM_CONTEXT_ID in NUMBER,
168   X_SEGMENT1 in VARCHAR2,
169   X_SEGMENT2 in VARCHAR2,
170   X_SEGMENT3 in VARCHAR2,
171   X_SEGMENT4 in VARCHAR2,
172   X_SEGMENT5 in VARCHAR2,
173   X_SEGMENT6 in VARCHAR2,
174   X_SEGMENT7 in VARCHAR2,
175   X_SEGMENT8 in VARCHAR2,
176   X_SEGMENT9 in VARCHAR2,
177   X_SEGMENT10 in VARCHAR2,
178   X_SEGMENT11 in VARCHAR2,
179   X_SEGMENT12 in VARCHAR2,
180   X_SEGMENT13 in VARCHAR2,
181   X_SEGMENT14 in VARCHAR2,
182   X_SEGMENT15 in VARCHAR2,
183   X_SEGMENT16 in VARCHAR2,
184   X_SEGMENT17 in VARCHAR2,
185   X_SEGMENT18 in VARCHAR2,
186   X_SEGMENT19 in VARCHAR2,
187   X_SEGMENT20 in VARCHAR2,
188   X_SEGMENT21 in VARCHAR2,
189   X_SEGMENT22 in VARCHAR2,
190   X_SEGMENT23 in VARCHAR2,
191   X_SEGMENT24 in VARCHAR2,
192   X_SEGMENT25 in VARCHAR2,
193   X_SEGMENT26 in VARCHAR2,
194   X_SEGMENT27 in VARCHAR2,
195   X_SUMMARY_FLAG in VARCHAR2,
196   X_ID_FLEX_NUM in NUMBER,
197   X_END_DATE_ACTIVE in DATE,
198   X_SEGMENT28 in VARCHAR2,
199   X_SEGMENT29 in VARCHAR2,
200   X_SEGMENT30 in VARCHAR2,
201   X_START_DATE_ACTIVE in DATE,
202   X_ENABLED_FLAG in VARCHAR2
203 ) is
204   cursor c1 is select
205       SEGMENT1,
206       SEGMENT2,
207       SEGMENT3,
208       SEGMENT4,
209       SEGMENT5,
210       SEGMENT6,
211       SEGMENT7,
212       SEGMENT8,
213       SEGMENT9,
214       SEGMENT10,
215       SEGMENT11,
216       SEGMENT12,
217       SEGMENT13,
218       SEGMENT14,
219       SEGMENT15,
220       SEGMENT16,
221       SEGMENT17,
222       SEGMENT18,
223       SEGMENT19,
224       SEGMENT20,
225       SEGMENT21,
226       SEGMENT22,
227       SEGMENT23,
228       SEGMENT24,
229       SEGMENT25,
230       SEGMENT26,
231       SEGMENT27,
232       SUMMARY_FLAG,
233       ID_FLEX_NUM,
234       END_DATE_ACTIVE,
235       SEGMENT28,
236       SEGMENT29,
237       SEGMENT30,
238       START_DATE_ACTIVE,
239       ENABLED_FLAG
240     from HR_ITEM_CONTEXTS
241     where ITEM_CONTEXT_ID = X_ITEM_CONTEXT_ID
242     for update of ITEM_CONTEXT_ID nowait;
243 begin
244   for tlinfo in c1 loop
245           if ((tlinfo.SEGMENT1 = X_SEGMENT1)
246                OR ((tlinfo.SEGMENT1 is null) AND (X_SEGMENT1 is null)))
247           AND ((tlinfo.SEGMENT2 = X_SEGMENT2)
248                OR ((tlinfo.SEGMENT2 is null) AND (X_SEGMENT2 is null)))
249           AND ((tlinfo.SEGMENT3 = X_SEGMENT3)
250                OR ((tlinfo.SEGMENT3 is null) AND (X_SEGMENT3 is null)))
251           AND ((tlinfo.SEGMENT4 = X_SEGMENT4)
252                OR ((tlinfo.SEGMENT4 is null) AND (X_SEGMENT4 is null)))
253           AND ((tlinfo.SEGMENT5 = X_SEGMENT5)
254                OR ((tlinfo.SEGMENT5 is null) AND (X_SEGMENT5 is null)))
255           AND ((tlinfo.SEGMENT6 = X_SEGMENT6)
256                OR ((tlinfo.SEGMENT6 is null) AND (X_SEGMENT6 is null)))
257           AND ((tlinfo.SEGMENT7 = X_SEGMENT7)
258                OR ((tlinfo.SEGMENT7 is null) AND (X_SEGMENT7 is null)))
259           AND ((tlinfo.SEGMENT8 = X_SEGMENT8)
260                OR ((tlinfo.SEGMENT8 is null) AND (X_SEGMENT8 is null)))
261           AND ((tlinfo.SEGMENT9 = X_SEGMENT9)
262                OR ((tlinfo.SEGMENT9 is null) AND (X_SEGMENT9 is null)))
263           AND ((tlinfo.SEGMENT10 = X_SEGMENT10)
264                OR ((tlinfo.SEGMENT10 is null) AND (X_SEGMENT10 is null)))
265           AND ((tlinfo.SEGMENT11 = X_SEGMENT11)
266                OR ((tlinfo.SEGMENT11 is null) AND (X_SEGMENT11 is null)))
267           AND ((tlinfo.SEGMENT12 = X_SEGMENT12)
268                OR ((tlinfo.SEGMENT12 is null) AND (X_SEGMENT12 is null)))
269           AND ((tlinfo.SEGMENT13 = X_SEGMENT13)
270                OR ((tlinfo.SEGMENT13 is null) AND (X_SEGMENT13 is null)))
271           AND ((tlinfo.SEGMENT14 = X_SEGMENT14)
272                OR ((tlinfo.SEGMENT14 is null) AND (X_SEGMENT14 is null)))
273           AND ((tlinfo.SEGMENT15 = X_SEGMENT15)
274                OR ((tlinfo.SEGMENT15 is null) AND (X_SEGMENT15 is null)))
275           AND ((tlinfo.SEGMENT16 = X_SEGMENT16)
276                OR ((tlinfo.SEGMENT16 is null) AND (X_SEGMENT16 is null)))
277           AND ((tlinfo.SEGMENT17 = X_SEGMENT17)
278                OR ((tlinfo.SEGMENT17 is null) AND (X_SEGMENT17 is null)))
279           AND ((tlinfo.SEGMENT18 = X_SEGMENT18)
280                OR ((tlinfo.SEGMENT18 is null) AND (X_SEGMENT18 is null)))
281           AND ((tlinfo.SEGMENT19 = X_SEGMENT19)
282                OR ((tlinfo.SEGMENT19 is null) AND (X_SEGMENT19 is null)))
283           AND ((tlinfo.SEGMENT20 = X_SEGMENT20)
284                OR ((tlinfo.SEGMENT20 is null) AND (X_SEGMENT20 is null)))
285           AND ((tlinfo.SEGMENT21 = X_SEGMENT21)
286                OR ((tlinfo.SEGMENT21 is null) AND (X_SEGMENT21 is null)))
287           AND ((tlinfo.SEGMENT22 = X_SEGMENT22)
288                OR ((tlinfo.SEGMENT22 is null) AND (X_SEGMENT22 is null)))
289           AND ((tlinfo.SEGMENT23 = X_SEGMENT23)
290                OR ((tlinfo.SEGMENT23 is null) AND (X_SEGMENT23 is null)))
291           AND ((tlinfo.SEGMENT24 = X_SEGMENT24)
292                OR ((tlinfo.SEGMENT24 is null) AND (X_SEGMENT24 is null)))
293           AND ((tlinfo.SEGMENT25 = X_SEGMENT25)
294                OR ((tlinfo.SEGMENT25 is null) AND (X_SEGMENT25 is null)))
295           AND ((tlinfo.SEGMENT26 = X_SEGMENT26)
296                OR ((tlinfo.SEGMENT26 is null) AND (X_SEGMENT26 is null)))
297           AND ((tlinfo.SEGMENT27 = X_SEGMENT27)
298                OR ((tlinfo.SEGMENT27 is null) AND (X_SEGMENT27 is null)))
299           AND (tlinfo.SUMMARY_FLAG = X_SUMMARY_FLAG)
300           AND (tlinfo.ID_FLEX_NUM = X_ID_FLEX_NUM)
301           AND ((tlinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
302                OR ((tlinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
303           AND ((tlinfo.SEGMENT28 = X_SEGMENT28)
304                OR ((tlinfo.SEGMENT28 is null) AND (X_SEGMENT28 is null)))
305           AND ((tlinfo.SEGMENT29 = X_SEGMENT29)
306                OR ((tlinfo.SEGMENT29 is null) AND (X_SEGMENT29 is null)))
307           AND ((tlinfo.SEGMENT30 = X_SEGMENT30)
308                OR ((tlinfo.SEGMENT30 is null) AND (X_SEGMENT30 is null)))
309           AND ((tlinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
310                OR ((tlinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
311           AND (tlinfo.ENABLED_FLAG = X_ENABLED_FLAG)
312        then
313         null;
314       else
315         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
316         app_exception.raise_exception;
317       end if;
318   end loop;
319   return;
320 end LOCK_ROW;
321 
322 procedure UPDATE_ROW (
323   X_ITEM_CONTEXT_ID in NUMBER,
324   X_SEGMENT1 in VARCHAR2,
325   X_SEGMENT2 in VARCHAR2,
326   X_SEGMENT3 in VARCHAR2,
327   X_SEGMENT4 in VARCHAR2,
328   X_SEGMENT5 in VARCHAR2,
329   X_SEGMENT6 in VARCHAR2,
330   X_SEGMENT7 in VARCHAR2,
331   X_SEGMENT8 in VARCHAR2,
332   X_SEGMENT9 in VARCHAR2,
333   X_SEGMENT10 in VARCHAR2,
334   X_SEGMENT11 in VARCHAR2,
335   X_SEGMENT12 in VARCHAR2,
336   X_SEGMENT13 in VARCHAR2,
337   X_SEGMENT14 in VARCHAR2,
338   X_SEGMENT15 in VARCHAR2,
339   X_SEGMENT16 in VARCHAR2,
340   X_SEGMENT17 in VARCHAR2,
341   X_SEGMENT18 in VARCHAR2,
342   X_SEGMENT19 in VARCHAR2,
343   X_SEGMENT20 in VARCHAR2,
344   X_SEGMENT21 in VARCHAR2,
345   X_SEGMENT22 in VARCHAR2,
346   X_SEGMENT23 in VARCHAR2,
347   X_SEGMENT24 in VARCHAR2,
348   X_SEGMENT25 in VARCHAR2,
349   X_SEGMENT26 in VARCHAR2,
350   X_SEGMENT27 in VARCHAR2,
351   X_SUMMARY_FLAG in VARCHAR2,
352   X_ID_FLEX_NUM in NUMBER,
353   X_END_DATE_ACTIVE in DATE,
354   X_SEGMENT28 in VARCHAR2,
355   X_SEGMENT29 in VARCHAR2,
356   X_SEGMENT30 in VARCHAR2,
357   X_START_DATE_ACTIVE in DATE,
358   X_ENABLED_FLAG in VARCHAR2,
359   X_LAST_UPDATE_DATE in DATE,
360   X_LAST_UPDATED_BY in NUMBER,
361   X_LAST_UPDATE_LOGIN in NUMBER
362 ) is
363 begin
364   update HR_ITEM_CONTEXTS set
365     SEGMENT1 = X_SEGMENT1,
366     SEGMENT2 = X_SEGMENT2,
367     SEGMENT3 = X_SEGMENT3,
368     SEGMENT4 = X_SEGMENT4,
369     SEGMENT5 = X_SEGMENT5,
370     SEGMENT6 = X_SEGMENT6,
371     SEGMENT7 = X_SEGMENT7,
372     SEGMENT8 = X_SEGMENT8,
373     SEGMENT9 = X_SEGMENT9,
374     SEGMENT10 = X_SEGMENT10,
375     SEGMENT11 = X_SEGMENT11,
376     SEGMENT12 = X_SEGMENT12,
377     SEGMENT13 = X_SEGMENT13,
378     SEGMENT14 = X_SEGMENT14,
379     SEGMENT15 = X_SEGMENT15,
380     SEGMENT16 = X_SEGMENT16,
381     SEGMENT17 = X_SEGMENT17,
382     SEGMENT18 = X_SEGMENT18,
383     SEGMENT19 = X_SEGMENT19,
384     SEGMENT20 = X_SEGMENT20,
385     SEGMENT21 = X_SEGMENT21,
386     SEGMENT22 = X_SEGMENT22,
387     SEGMENT23 = X_SEGMENT23,
388     SEGMENT24 = X_SEGMENT24,
389     SEGMENT25 = X_SEGMENT25,
390     SEGMENT26 = X_SEGMENT26,
391     SEGMENT27 = X_SEGMENT27,
392     SUMMARY_FLAG = X_SUMMARY_FLAG,
393     ID_FLEX_NUM = X_ID_FLEX_NUM,
394     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
395     SEGMENT28 = X_SEGMENT28,
396     SEGMENT29 = X_SEGMENT29,
397     SEGMENT30 = X_SEGMENT30,
398     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
399     ENABLED_FLAG = X_ENABLED_FLAG,
400     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
401     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
402     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
403   where ITEM_CONTEXT_ID = X_ITEM_CONTEXT_ID;
404 
405   if (sql%notfound) then
406     raise no_data_found;
407   end if;
408 end UPDATE_ROW;
409 
410 procedure DELETE_ROW (
411   X_ITEM_CONTEXT_ID in NUMBER
412 ) is
413 begin
414 
415 --
416 -- Added the following code as a part of Zero Downtime Patching Project.
417 -- Code Starts Here.
418 --
419 
420 BEGIN
421 	PER_RIC_PKG.chk_integrity (
422     p_entity_name			=>	'HR_ITEM_CONTEXTS',
423     p_ref_entity         	=>	'HR_TEMPLATE_ITEM_CONTEXTS_B',
424     p_ref_column_name    	=>	'ITEM_CONTEXT_ID',
425     p_ref_col_value_number  =>	X_ITEM_CONTEXT_ID,
426     p_ref_col_value_varchar =>	NULL,
427     p_ref_col_value_date    =>	NULL,
428     p_ref_type        		=>	'DEL');
429 
430 END;
431 --
432 -- Code Ends Here.
433 --
434 
435   delete from HR_ITEM_CONTEXTS
436   where ITEM_CONTEXT_ID = X_ITEM_CONTEXT_ID;
437 
438   if (sql%notfound) then
439     raise no_data_found;
440   end if;
441 
442 end DELETE_ROW;
443 
444 procedure LOAD_ROW (
445   X_APPLICATION_SHORT_NAME in VARCHAR2,
446   X_SEGMENT1 in VARCHAR2,
447   X_SEGMENT2 in VARCHAR2,
448   X_SEGMENT3 in VARCHAR2,
449   X_SEGMENT4 in VARCHAR2,
450   X_SEGMENT5 in VARCHAR2,
451   X_SEGMENT6 in VARCHAR2,
452   X_SEGMENT7 in VARCHAR2,
453   X_SEGMENT8 in VARCHAR2,
454   X_SEGMENT9 in VARCHAR2,
455   X_SEGMENT10 in VARCHAR2,
456   X_SEGMENT11 in VARCHAR2,
457   X_SEGMENT12 in VARCHAR2,
458   X_SEGMENT13 in VARCHAR2,
459   X_SEGMENT14 in VARCHAR2,
460   X_SEGMENT15 in VARCHAR2,
461   X_SEGMENT16 in VARCHAR2,
462   X_SEGMENT17 in VARCHAR2,
463   X_SEGMENT18 in VARCHAR2,
464   X_SEGMENT19 in VARCHAR2,
465   X_SEGMENT20 in VARCHAR2,
466   X_SEGMENT21 in VARCHAR2,
467   X_SEGMENT22 in VARCHAR2,
468   X_SEGMENT23 in VARCHAR2,
469   X_SEGMENT24 in VARCHAR2,
470   X_SEGMENT25 in VARCHAR2,
471   X_SEGMENT26 in VARCHAR2,
472   X_SEGMENT27 in VARCHAR2,
473   X_SEGMENT28 in VARCHAR2,
474   X_SEGMENT29 in VARCHAR2,
475   X_SEGMENT30 in VARCHAR2,
476   X_ID_FLEX_STRUCTURE_CODE in VARCHAR2,
477   X_ID_FLEX_CODE in VARCHAR2,
478   X_OWNER in VARCHAR2,
479   X_SUMMARY_FLAG in VARCHAR2,
480   X_ENABLED_FLAG in VARCHAR2,
481   X_START_DATE_ACTIVE in VARCHAR2,
482   X_END_DATE_ACTIVE in VARCHAR2) is
483   X_ROWID ROWID;
484   X_CREATION_DATE DATE;
485   X_CREATED_BY NUMBER;
486   X_LAST_UPDATE_DATE DATE;
487   X_LAST_UPDATED_BY NUMBER;
488   X_LAST_UPDATE_LOGIN NUMBER;
489   X_ID_FLEX_NUM NUMBER;
490   X_APPLICATION_ID NUMBER;
491   X_ITEM_CONTEXT_ID NUMBER;
492 begin
493   OWNER_TO_WHO (
494     X_OWNER,
495     X_CREATION_DATE,
496     X_CREATED_BY,
497     X_LAST_UPDATE_DATE,
498     X_LAST_UPDATED_BY,
499     X_LAST_UPDATE_LOGIN
500   );
501 
502  select application_id
503  into x_application_id
504  from fnd_application
505  where application_short_name = x_application_short_name;
506 
507  select id_flex_num
508  into x_id_flex_num
509  from fnd_id_flex_structures fifs
510  where fifs.application_id = x_application_id
511  and fifs.id_flex_structure_code = x_id_flex_structure_code
512  and fifs.id_flex_code = x_id_flex_code;
513 
514  begin
515 
516  select item_context_id
517  into x_item_context_id
518  from hr_item_contexts hic
519  where nvl(hic.segment1,hr_api.g_varchar2) = nvl(x_segment1,hr_api.g_varchar2)
520  and nvl(hic.segment2,hr_api.g_varchar2) = nvl(x_segment2,hr_api.g_varchar2)
521  and nvl(hic.segment3,hr_api.g_varchar2) = nvl(x_segment3,hr_api.g_varchar2)
522  and nvl(hic.segment4,hr_api.g_varchar2) = nvl(x_segment4,hr_api.g_varchar2)
523  and nvl(hic.segment5,hr_api.g_varchar2) = nvl(x_segment5,hr_api.g_varchar2)
524  and nvl(hic.segment6,hr_api.g_varchar2) = nvl(x_segment6,hr_api.g_varchar2)
525  and nvl(hic.segment7,hr_api.g_varchar2) = nvl(x_segment7,hr_api.g_varchar2)
526  and nvl(hic.segment8,hr_api.g_varchar2) = nvl(x_segment8,hr_api.g_varchar2)
527  and nvl(hic.segment9,hr_api.g_varchar2) = nvl(x_segment9,hr_api.g_varchar2)
528  and nvl(hic.segment10,hr_api.g_varchar2) = nvl(x_segment10,hr_api.g_varchar2)
529  and nvl(hic.segment11,hr_api.g_varchar2) = nvl(x_segment11,hr_api.g_varchar2)
530  and nvl(hic.segment12,hr_api.g_varchar2) = nvl(x_segment12,hr_api.g_varchar2)
531  and nvl(hic.segment13,hr_api.g_varchar2) = nvl(x_segment13,hr_api.g_varchar2)
532  and nvl(hic.segment14,hr_api.g_varchar2) = nvl(x_segment14,hr_api.g_varchar2)
533  and nvl(hic.segment15,hr_api.g_varchar2) = nvl(x_segment15,hr_api.g_varchar2)
534  and nvl(hic.segment16,hr_api.g_varchar2) = nvl(x_segment16,hr_api.g_varchar2)
535  and nvl(hic.segment17,hr_api.g_varchar2) = nvl(x_segment17,hr_api.g_varchar2)
536  and nvl(hic.segment18,hr_api.g_varchar2) = nvl(x_segment18,hr_api.g_varchar2)
537  and nvl(hic.segment19,hr_api.g_varchar2) = nvl(x_segment19,hr_api.g_varchar2)
538  and nvl(hic.segment20,hr_api.g_varchar2) = nvl(x_segment20,hr_api.g_varchar2)
539  and nvl(hic.segment21,hr_api.g_varchar2) = nvl(x_segment21,hr_api.g_varchar2)
540  and nvl(hic.segment22,hr_api.g_varchar2) = nvl(x_segment22,hr_api.g_varchar2)
541  and nvl(hic.segment23,hr_api.g_varchar2) = nvl(x_segment23,hr_api.g_varchar2)
542  and nvl(hic.segment24,hr_api.g_varchar2) = nvl(x_segment24,hr_api.g_varchar2)
543  and nvl(hic.segment25,hr_api.g_varchar2) = nvl(x_segment25,hr_api.g_varchar2)
544  and nvl(hic.segment26,hr_api.g_varchar2) = nvl(x_segment26,hr_api.g_varchar2)
545  and nvl(hic.segment27,hr_api.g_varchar2) = nvl(x_segment27,hr_api.g_varchar2)
546  and nvl(hic.segment28,hr_api.g_varchar2) = nvl(x_segment28,hr_api.g_varchar2)
547  and nvl(hic.segment29,hr_api.g_varchar2) = nvl(x_segment29,hr_api.g_varchar2)
548  and nvl(hic.segment30,hr_api.g_varchar2) = nvl(x_segment30,hr_api.g_varchar2)
549  and hic.id_flex_num = x_id_flex_num;
550 
551  exception
552    when no_data_found then
553      select hr_item_contexts_s.nextval
554      into x_item_context_id
555      from dual;
556   end;
557 
558  begin
559    UPDATE_ROW (
560      X_ITEM_CONTEXT_ID,
561      X_SEGMENT1,
562      X_SEGMENT2,
563      X_SEGMENT3,
564      X_SEGMENT4,
565      X_SEGMENT5,
566      X_SEGMENT6,
567      X_SEGMENT7,
568      X_SEGMENT8,
569      X_SEGMENT9,
570      X_SEGMENT10,
571      X_SEGMENT11,
572      X_SEGMENT12,
573      X_SEGMENT13,
574      X_SEGMENT14,
575      X_SEGMENT15,
576      X_SEGMENT16,
577      X_SEGMENT17,
578      X_SEGMENT18,
579      X_SEGMENT19,
580      X_SEGMENT20,
581      X_SEGMENT21,
582      X_SEGMENT22,
583      X_SEGMENT23,
584      X_SEGMENT24,
585      X_SEGMENT25,
586      X_SEGMENT26,
587      X_SEGMENT27,
588      X_SUMMARY_FLAG,
589      X_ID_FLEX_NUM,
590      to_date(X_END_DATE_ACTIVE,'DD/MM/YYYY'),
591      X_SEGMENT28,
592      X_SEGMENT29,
593      X_SEGMENT30,
594      to_date(X_START_DATE_ACTIVE,'DD/MM/YYYY'),
595      X_ENABLED_FLAG,
596      X_LAST_UPDATE_DATE,
597      X_LAST_UPDATED_BY,
598      X_LAST_UPDATE_LOGIN
599    );
600 
601  exception
602    when no_data_found then
603      INSERT_ROW (
604        X_ROWID,
605        X_ITEM_CONTEXT_ID,
606        X_SEGMENT1,
607        X_SEGMENT2,
608        X_SEGMENT3,
609        X_SEGMENT4,
610        X_SEGMENT5,
611        X_SEGMENT6,
612        X_SEGMENT7,
613        X_SEGMENT8,
614        X_SEGMENT9,
615        X_SEGMENT10,
616        X_SEGMENT11,
617        X_SEGMENT12,
618        X_SEGMENT13,
619        X_SEGMENT14,
620        X_SEGMENT15,
621        X_SEGMENT16,
622        X_SEGMENT17,
623        X_SEGMENT18,
624        X_SEGMENT19,
625        X_SEGMENT20,
626        X_SEGMENT21,
627        X_SEGMENT22,
628        X_SEGMENT23,
629        X_SEGMENT24,
630        X_SEGMENT25,
631        X_SEGMENT26,
632        X_SEGMENT27,
633        X_SUMMARY_FLAG,
634        X_ID_FLEX_NUM,
635        to_date(X_END_DATE_ACTIVE,'DD/MM/YYYY'),
636        X_SEGMENT28,
637        X_SEGMENT29,
638        X_SEGMENT30,
639        to_date(X_START_DATE_ACTIVE,'DD/MM/YYYY'),
640        X_ENABLED_FLAG,
641        X_CREATION_DATE,
642        X_CREATED_BY,
643        X_LAST_UPDATE_DATE,
644        X_LAST_UPDATED_BY,
645        X_LAST_UPDATE_LOGIN);
646  end;
647 end LOAD_ROW;
648 end HR_ITEM_CONTEXTS_PKG;