DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ITEM_CONTEXTS_PKG

Source


1 package body HR_ITEM_CONTEXTS_PKG as
2 /* $Header: hricxlct.pkb 115.1 2002/12/10 12:29:00 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_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   delete from HR_ITEM_CONTEXTS
415   where ITEM_CONTEXT_ID = X_ITEM_CONTEXT_ID;
416 
417   if (sql%notfound) then
418     raise no_data_found;
419   end if;
420 
421 end DELETE_ROW;
422 
423 procedure LOAD_ROW (
424   X_APPLICATION_SHORT_NAME in VARCHAR2,
425   X_SEGMENT1 in VARCHAR2,
426   X_SEGMENT2 in VARCHAR2,
427   X_SEGMENT3 in VARCHAR2,
428   X_SEGMENT4 in VARCHAR2,
429   X_SEGMENT5 in VARCHAR2,
430   X_SEGMENT6 in VARCHAR2,
431   X_SEGMENT7 in VARCHAR2,
432   X_SEGMENT8 in VARCHAR2,
433   X_SEGMENT9 in VARCHAR2,
434   X_SEGMENT10 in VARCHAR2,
435   X_SEGMENT11 in VARCHAR2,
436   X_SEGMENT12 in VARCHAR2,
437   X_SEGMENT13 in VARCHAR2,
438   X_SEGMENT14 in VARCHAR2,
439   X_SEGMENT15 in VARCHAR2,
440   X_SEGMENT16 in VARCHAR2,
441   X_SEGMENT17 in VARCHAR2,
442   X_SEGMENT18 in VARCHAR2,
443   X_SEGMENT19 in VARCHAR2,
444   X_SEGMENT20 in VARCHAR2,
445   X_SEGMENT21 in VARCHAR2,
446   X_SEGMENT22 in VARCHAR2,
447   X_SEGMENT23 in VARCHAR2,
448   X_SEGMENT24 in VARCHAR2,
449   X_SEGMENT25 in VARCHAR2,
450   X_SEGMENT26 in VARCHAR2,
451   X_SEGMENT27 in VARCHAR2,
452   X_SEGMENT28 in VARCHAR2,
453   X_SEGMENT29 in VARCHAR2,
454   X_SEGMENT30 in VARCHAR2,
455   X_ID_FLEX_STRUCTURE_CODE in VARCHAR2,
456   X_ID_FLEX_CODE in VARCHAR2,
457   X_OWNER in VARCHAR2,
458   X_SUMMARY_FLAG in VARCHAR2,
462   X_ROWID ROWID;
459   X_ENABLED_FLAG in VARCHAR2,
460   X_START_DATE_ACTIVE in VARCHAR2,
461   X_END_DATE_ACTIVE in VARCHAR2) is
463   X_CREATION_DATE DATE;
464   X_CREATED_BY NUMBER;
465   X_LAST_UPDATE_DATE DATE;
466   X_LAST_UPDATED_BY NUMBER;
467   X_LAST_UPDATE_LOGIN NUMBER;
468   X_ID_FLEX_NUM NUMBER;
469   X_APPLICATION_ID NUMBER;
470   X_ITEM_CONTEXT_ID NUMBER;
471 begin
472   OWNER_TO_WHO (
473     X_OWNER,
474     X_CREATION_DATE,
475     X_CREATED_BY,
476     X_LAST_UPDATE_DATE,
477     X_LAST_UPDATED_BY,
478     X_LAST_UPDATE_LOGIN
479   );
480 
481  select application_id
482  into x_application_id
483  from fnd_application
484  where application_short_name = x_application_short_name;
485 
486  select id_flex_num
487  into x_id_flex_num
488  from fnd_id_flex_structures fifs
489  where fifs.application_id = x_application_id
490  and fifs.id_flex_structure_code = x_id_flex_structure_code
491  and fifs.id_flex_code = x_id_flex_code;
492 
493  begin
494 
495  select item_context_id
496  into x_item_context_id
497  from hr_item_contexts hic
498  where nvl(hic.segment1,hr_api.g_varchar2) = nvl(x_segment1,hr_api.g_varchar2)
499  and nvl(hic.segment2,hr_api.g_varchar2) = nvl(x_segment2,hr_api.g_varchar2)
500  and nvl(hic.segment3,hr_api.g_varchar2) = nvl(x_segment3,hr_api.g_varchar2)
501  and nvl(hic.segment4,hr_api.g_varchar2) = nvl(x_segment4,hr_api.g_varchar2)
502  and nvl(hic.segment5,hr_api.g_varchar2) = nvl(x_segment5,hr_api.g_varchar2)
503  and nvl(hic.segment6,hr_api.g_varchar2) = nvl(x_segment6,hr_api.g_varchar2)
504  and nvl(hic.segment7,hr_api.g_varchar2) = nvl(x_segment7,hr_api.g_varchar2)
505  and nvl(hic.segment8,hr_api.g_varchar2) = nvl(x_segment8,hr_api.g_varchar2)
506  and nvl(hic.segment9,hr_api.g_varchar2) = nvl(x_segment9,hr_api.g_varchar2)
507  and nvl(hic.segment10,hr_api.g_varchar2) = nvl(x_segment10,hr_api.g_varchar2)
508  and nvl(hic.segment11,hr_api.g_varchar2) = nvl(x_segment11,hr_api.g_varchar2)
509  and nvl(hic.segment12,hr_api.g_varchar2) = nvl(x_segment12,hr_api.g_varchar2)
510  and nvl(hic.segment13,hr_api.g_varchar2) = nvl(x_segment13,hr_api.g_varchar2)
511  and nvl(hic.segment14,hr_api.g_varchar2) = nvl(x_segment14,hr_api.g_varchar2)
512  and nvl(hic.segment15,hr_api.g_varchar2) = nvl(x_segment15,hr_api.g_varchar2)
513  and nvl(hic.segment16,hr_api.g_varchar2) = nvl(x_segment16,hr_api.g_varchar2)
514  and nvl(hic.segment17,hr_api.g_varchar2) = nvl(x_segment17,hr_api.g_varchar2)
515  and nvl(hic.segment18,hr_api.g_varchar2) = nvl(x_segment18,hr_api.g_varchar2)
516  and nvl(hic.segment19,hr_api.g_varchar2) = nvl(x_segment19,hr_api.g_varchar2)
517  and nvl(hic.segment20,hr_api.g_varchar2) = nvl(x_segment20,hr_api.g_varchar2)
518  and nvl(hic.segment21,hr_api.g_varchar2) = nvl(x_segment21,hr_api.g_varchar2)
519  and nvl(hic.segment22,hr_api.g_varchar2) = nvl(x_segment22,hr_api.g_varchar2)
520  and nvl(hic.segment23,hr_api.g_varchar2) = nvl(x_segment23,hr_api.g_varchar2)
521  and nvl(hic.segment24,hr_api.g_varchar2) = nvl(x_segment24,hr_api.g_varchar2)
522  and nvl(hic.segment25,hr_api.g_varchar2) = nvl(x_segment25,hr_api.g_varchar2)
523  and nvl(hic.segment26,hr_api.g_varchar2) = nvl(x_segment26,hr_api.g_varchar2)
524  and nvl(hic.segment27,hr_api.g_varchar2) = nvl(x_segment27,hr_api.g_varchar2)
525  and nvl(hic.segment28,hr_api.g_varchar2) = nvl(x_segment28,hr_api.g_varchar2)
526  and nvl(hic.segment29,hr_api.g_varchar2) = nvl(x_segment29,hr_api.g_varchar2)
527  and nvl(hic.segment30,hr_api.g_varchar2) = nvl(x_segment30,hr_api.g_varchar2)
528  and hic.id_flex_num = x_id_flex_num;
529 
530  exception
531    when no_data_found then
532      select hr_item_contexts_s.nextval
533      into x_item_context_id
534      from dual;
535   end;
536 
537  begin
538    UPDATE_ROW (
539      X_ITEM_CONTEXT_ID,
540      X_SEGMENT1,
541      X_SEGMENT2,
542      X_SEGMENT3,
543      X_SEGMENT4,
544      X_SEGMENT5,
545      X_SEGMENT6,
546      X_SEGMENT7,
547      X_SEGMENT8,
548      X_SEGMENT9,
549      X_SEGMENT10,
550      X_SEGMENT11,
551      X_SEGMENT12,
552      X_SEGMENT13,
553      X_SEGMENT14,
554      X_SEGMENT15,
555      X_SEGMENT16,
556      X_SEGMENT17,
557      X_SEGMENT18,
558      X_SEGMENT19,
559      X_SEGMENT20,
560      X_SEGMENT21,
561      X_SEGMENT22,
562      X_SEGMENT23,
563      X_SEGMENT24,
564      X_SEGMENT25,
565      X_SEGMENT26,
566      X_SEGMENT27,
567      X_SUMMARY_FLAG,
568      X_ID_FLEX_NUM,
569      to_date(X_END_DATE_ACTIVE,'DD/MM/YYYY'),
570      X_SEGMENT28,
571      X_SEGMENT29,
572      X_SEGMENT30,
573      to_date(X_START_DATE_ACTIVE,'DD/MM/YYYY'),
574      X_ENABLED_FLAG,
575      X_LAST_UPDATE_DATE,
576      X_LAST_UPDATED_BY,
577      X_LAST_UPDATE_LOGIN
578    );
579 
580  exception
581    when no_data_found then
582      INSERT_ROW (
583        X_ROWID,
584        X_ITEM_CONTEXT_ID,
585        X_SEGMENT1,
586        X_SEGMENT2,
587        X_SEGMENT3,
588        X_SEGMENT4,
589        X_SEGMENT5,
590        X_SEGMENT6,
591        X_SEGMENT7,
592        X_SEGMENT8,
593        X_SEGMENT9,
594        X_SEGMENT10,
595        X_SEGMENT11,
596        X_SEGMENT12,
597        X_SEGMENT13,
598        X_SEGMENT14,
599        X_SEGMENT15,
600        X_SEGMENT16,
601        X_SEGMENT17,
602        X_SEGMENT18,
603        X_SEGMENT19,
604        X_SEGMENT20,
605        X_SEGMENT21,
606        X_SEGMENT22,
607        X_SEGMENT23,
608        X_SEGMENT24,
609        X_SEGMENT25,
610        X_SEGMENT26,
611        X_SEGMENT27,
612        X_SUMMARY_FLAG,
613        X_ID_FLEX_NUM,
614        to_date(X_END_DATE_ACTIVE,'DD/MM/YYYY'),
615        X_SEGMENT28,
616        X_SEGMENT29,
617        X_SEGMENT30,
618        to_date(X_START_DATE_ACTIVE,'DD/MM/YYYY'),
619        X_ENABLED_FLAG,
620        X_CREATION_DATE,
621        X_CREATED_BY,
622        X_LAST_UPDATE_DATE,
623        X_LAST_UPDATED_BY,
624        X_LAST_UPDATE_LOGIN);
625  end;
626 end LOAD_ROW;
627 end HR_ITEM_CONTEXTS_PKG;