DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PROCESS_EIT_SS

Source


1 Package Body HR_PROCESS_EIT_SS as
2 /* $Header: hreitwrs.pkb 120.0.12020000.3 2012/11/06 07:07:28 sudedas ship $ */
3 --
4 -- Package Variables
5 --
6 -- Package scope global variables.
7  l_transaction_table hr_transaction_ss.transaction_table;
8  l_count INTEGER := 0;
9  l_praddr_ovrlap VARCHAR2(2);
10  l_transaction_step_id  hr_api_transaction_steps.transaction_step_id%type;
11  l_trs_object_version_number  hr_api_transaction_steps.object_version_number%type;
12  g_package      varchar2(31)   := 'HR_PROCESS_EIT_SS';
13  g_data_error            exception;
14  l_message_number VARCHAR2(10);
15  p_trans_rec_count integer;
16 
17 
18  -- ----------------------------------------------------------------------------
19 -- |-----------------------< save_transaction_data >--------------------------|
20 -- ----------------------------------------------------------------------------
21 
22 PROCEDURE save_transaction_data
23     (p_person_id                 in   number
24     ,p_login_person_id           in   number
25     ,p_eit_type			 in   varchar2
26     ,p_eit_type_id		 in   number
27     ,p_eit_number		 in   number
28     ,p_eit_table		 in   HR_EIT_STRUCTURE_TABLE
29     ,p_item_type                 in   varchar2
30     ,p_item_key                  in   varchar2
31     ,p_activity_id               in   number
32     ,p_transaction_step_id       out nocopy  number
33     ,p_error_message             out nocopy  varchar2
34     ,p_active_view               in   varchar2
35     ,p_active_row_id		 in   number
36     ,p_flow_mode                 in   varchar2 default null
37   ) is
38   l_transaction_id             number default null;
39   l_trans_obj_vers_num         number default null;
40   l_trans_step_rows	       number default null;
41   l_result                     varchar2(100) default null;
42   l_count                      number default 0;
43   l_transaction_table          hr_transaction_ss.transaction_table;
44   l_review_item_name           varchar2(50);
45   l_eit_number                 number := 0;
46   l_proc   varchar2(72)  := g_package||'save_transaction_data';
47 
48 BEGIN
49   hr_utility.set_location('Entering:'||l_proc, 5);
50   if p_flow_mode is not null and
51      p_flow_mode = hr_process_assignment_ss.g_new_hire_registration
52   then
53     hr_utility.trace('Calling RollBack:'||l_proc);
54     rollback;
55   end if;
56   --
57   -- First, check if transaction id exists or not
58   l_transaction_id := hr_transaction_ss.get_transaction_id
59                      (p_item_type   => p_item_type
60                      ,p_item_key    => p_item_key);
61 
62   hr_utility.trace( 'hr_process_eit_ss.save_transaction_data' ||
63            	    ' l_transaction_id: '|| l_transaction_id);
64 
65   --
66   IF l_transaction_id is null THEN
67 
68      -- Start a Transaction
69         hr_utility.trace('IF l_transaction_id is null THEN:'||l_proc);
70         hr_transaction_ss.start_transaction
71            (itemtype   => p_item_type
72            ,itemkey    => p_item_key
73            ,actid      => p_activity_id
74            ,funmode    => 'RUN'
75            ,p_login_person_id => p_login_person_id
76            ,result     => l_result);
77 
78         l_transaction_id := hr_transaction_ss.get_transaction_id
79                         (p_item_type   => p_item_type
80                         ,p_item_key    => p_item_key);
81   END IF;
82   --
83   -- Create a transaction step
84   --
85   hr_utility.trace('hr_process_eit_ss.save_transaction_data' ||
86            	   ' l_transaction_id: '||l_transaction_id);
87 
88 
89   hr_transaction_api.get_transaction_step_info
90         (p_Item_Type     => p_item_type
91         ,p_Item_Key      => p_item_key
92         ,p_activity_id   => p_activity_id
93         ,p_transaction_step_id   => l_transaction_step_id
94         ,p_object_version_number => l_trs_object_version_number);
95 
96   if(hr_utility.debug_enabled) then
97 
98     hr_utility.trace('hr_process_eit_ss.save_transaction_data' ||
99               	     ' l_transaction_id: '||l_transaction_id||
100             	     ' p_Item_Type: '||p_Item_Type||
101             	     ' p_Item_Key: '||p_Item_Key||
102             	     ' p_activity_id: '||p_activity_id||
103             	     ' l_transaction_step_id: '||l_transaction_step_id||
104                      ' l_trs_object_version_number: '||l_trs_object_version_number
105                    );
106   end if;
107 
108   IF l_transaction_step_id < 1 THEN
109   hr_utility.trace('l_transaction_step_id < 1:'||l_proc);
110 
111        --There is no transaction step for this transaction.
112        --Create a step within this new transaction
113        hr_transaction_api.create_transaction_step
114      		(p_validate              => false
115      		,p_creator_person_id     => p_login_person_id
116      		,p_transaction_id        => l_transaction_id
117      		,p_api_name              => g_package || '.PROCESS_API'
118      		,p_item_type             => p_item_type
119      		,p_item_key              => p_item_key
120      		,p_activity_id           => p_activity_id
121      		,p_transaction_step_id   => l_transaction_step_id
122      		,p_object_version_number => l_trs_object_version_number);
123   END IF;
124 
125   hr_utility.trace('hr_process_eit_ss.save_transaction_data' ||
126   	           ' l_transaction_step_id: '||l_transaction_step_id
127   	         );
128 
129 
130 	l_count := 1;
131  	l_transaction_table(l_count).param_name := 'P_PERSON_ID';
132  	l_transaction_table(l_count).param_value := p_person_id;
133  	l_transaction_table(l_count).param_data_type := 'NUMBER';
134 
135  	l_count := l_count + 1;
136  	l_transaction_table(l_count).param_name := 'P_LOGIN_PERSON_ID';
137  	l_transaction_table(l_count).param_value := p_login_person_id;
138  	l_transaction_table(l_count).param_data_type := 'NUMBER';
139 
140  	l_count := l_count + 1;
141  	l_transaction_table(l_count).param_name := 'P_EIT_TYPE';
142  	l_transaction_table(l_count).param_value := p_eit_type;
143  	l_transaction_table(l_count).param_data_type := 'VARCHAR2';
144 
145  	l_count := l_count + 1;
146  	l_transaction_table(l_count).param_name := 'P_EIT_TYPE_ID';
147  	l_transaction_table(l_count).param_value := p_eit_type_id;
148  	l_transaction_table(l_count).param_data_type := 'NUMBER';
149 
150  	l_count := l_count + 1;
151  	l_transaction_table(l_count).param_name := 'P_EIT_NUMBER';
152  	l_transaction_table(l_count).param_value := p_eit_number;
153  	l_transaction_table(l_count).param_data_type := 'NUMBER';
154 
155         l_review_item_name :=
156                     wf_engine.GetActivityAttrText(itemtype  => p_item_type,
157                                                   itemkey   => p_item_key,
158                                                   actid     => p_activity_id,
159                                                   aname     => gv_wf_review_region_item);
160 
161 
162  	l_count := l_count + 1;
163  	l_transaction_table(l_count).param_name := 'P_REVIEW_PROC_CALL';
164  	l_transaction_table(l_count).param_value := l_review_item_name;
165  	l_transaction_table(l_count).param_data_type := 'VARCHAR2';
166 
167  	l_count := l_count + 1;
168  	l_transaction_table(l_count).param_name := 'P_REVIEW_ACTID';
169  	l_transaction_table(l_count).param_value := p_activity_id;
170  	l_transaction_table(l_count).param_data_type := 'VARCHAR2';
171 
172 	-- for the update page when we rebuild the page after a
173 	-- save for later
174  	l_count := l_count + 1;
175  	l_transaction_table(l_count).param_name := 'P_ACTIVE_VIEW';
176  	l_transaction_table(l_count).param_value := p_active_view;
177  	l_transaction_table(l_count).param_data_type := 'VARCHAR2';
178 
179  	l_count := l_count + 1;
180  	l_transaction_table(l_count).param_name := 'P_ACTIVE_ROW_ID';
181  	l_transaction_table(l_count).param_value := p_active_row_id;
182  	l_transaction_table(l_count).param_data_type := 'NUMBER';
183 
184      if(hr_utility.debug_enabled) then
185 
186      	hr_utility.trace('hr_process_eit_ss.save_transaction_data' ||
187        	      	      ' p_person_id: '||p_person_id||
188            	      ' p_login_person_id: '||p_login_person_id||
189            	      ' p_eit_type: '||p_eit_type||
190            	      ' p_eit_number: '||p_eit_number);
191     end if;
192 
193      l_eit_number := p_eit_number;
194 
195      hr_utility.trace('Entering For 1..l_eit_number:'||l_proc);
196      FOR i in 1..l_eit_number LOOP
197 
198 
199 
200 	l_count := l_count + 1;
201   	l_transaction_table(l_count).param_name := 'P_ACTION_'||i;
202   	l_transaction_table(l_count).param_value := p_eit_table(i).action;
203   	l_transaction_table(l_count).param_data_type := 'VARCHAR2';
204 
205  	l_count := l_count + 1;
206  	l_transaction_table(l_count).param_name := 'P_EXTRA_INFO_ID_'||i;
207  	l_transaction_table(l_count).param_value := p_eit_table(i).extra_info_id;
208  	l_transaction_table(l_count).param_data_type := 'NUMBER';
209 
210  	l_count := l_count + 1;
211  	l_transaction_table(l_count).param_name := 'P_OBJECT_VERSION_NUMBER_'||i;
212  	l_transaction_table(l_count).param_value := p_eit_table(i).object_version_number;
213  	l_transaction_table(l_count).param_data_type := 'NUMBER';
214 
215  	l_count := l_count + 1;
216  	l_transaction_table(l_count).param_name := 'P_INFORMATION_TYPE_'||i;
217  	l_transaction_table(l_count).param_value := p_eit_table(i).information_type;
218  	l_transaction_table(l_count).param_data_type := 'VARCHAR2';
219 
220 -- Now add all the Descriptive flex fields into transactions tables
221 
222         l_count := l_count + 1; -- CONTEXT
223         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE_CATEGORY_'||i;
224         l_transaction_table(l_count).param_value := p_eit_table(i).attribute_category;
225         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
226 
227         l_count := l_count + 1;
228         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE1_'||i;
229         l_transaction_table(l_count).param_value := p_eit_table(i).attribute1;
230         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
231 
232         l_count := l_count + 1;
233         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE2_'||i;
234         l_transaction_table(l_count).param_value := p_eit_table(i).attribute2;
235         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
236 
237         l_count := l_count + 1;
238         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE3_'||i;
239         l_transaction_table(l_count).param_value := p_eit_table(i).attribute3;
240         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
241 
242         l_count := l_count + 1;
243         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE4_'||i;
244         l_transaction_table(l_count).param_value := p_eit_table(i).attribute4;
245         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
246 
247         l_count := l_count + 1;
248         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE5_'||i;
249         l_transaction_table(l_count).param_value := p_eit_table(i).attribute5;
250         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
251 
252         l_count := l_count + 1;
253         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE6_'||i;
254         l_transaction_table(l_count).param_value := p_eit_table(i).attribute6;
255         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
256 
257         l_count := l_count + 1;
258         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE7_'||i;
259         l_transaction_table(l_count).param_value := p_eit_table(i).attribute7;
260         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
261 
262         l_count := l_count + 1;
263         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE8_'||i;
264         l_transaction_table(l_count).param_value := p_eit_table(i).attribute8;
265         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
266 
267         l_count := l_count + 1;
268         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE9_'||i;
269         l_transaction_table(l_count).param_value := p_eit_table(i).attribute9;
270         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
271 
272         l_count := l_count + 1;
273         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE10_'||i;
274         l_transaction_table(l_count).param_value := p_eit_table(i).attribute10;
275         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
276 
277         l_count := l_count + 1;
278         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE11_'||i;
279         l_transaction_table(l_count).param_value := p_eit_table(i).attribute11;
280         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
281 
282         l_count := l_count + 1;
283         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE12_'||i;
284         l_transaction_table(l_count).param_value := p_eit_table(i).attribute12;
285         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
286 
287         l_count := l_count + 1;
288         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE13_'||i;
289         l_transaction_table(l_count).param_value := p_eit_table(i).attribute13;
290         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
291 
292         l_count := l_count + 1;
293         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE14_'||i;
294         l_transaction_table(l_count).param_value := p_eit_table(i).attribute14;
295         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
296 
297         l_count := l_count + 1;
298         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE15_'||i;
299         l_transaction_table(l_count).param_value := p_eit_table(i).attribute15;
300         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
301 
302         l_count := l_count + 1;
303         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE16_'||i;
304         l_transaction_table(l_count).param_value := p_eit_table(i).attribute16;
305         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
306 
307         l_count := l_count + 1;
308         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE17_'||i;
309         l_transaction_table(l_count).param_value := p_eit_table(i).attribute17;
310         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
311 
312         l_count := l_count + 1;
313         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE18_'||i;
314         l_transaction_table(l_count).param_value := p_eit_table(i).attribute18;
315         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
316 
317         l_count := l_count + 1;
318         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE19_'||i;
319         l_transaction_table(l_count).param_value := p_eit_table(i).attribute19;
320         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
321 
322         l_count := l_count + 1;
323         l_transaction_table(l_count).param_name := 'P_ATTRIBUTE20_'||i;
324         l_transaction_table(l_count).param_value := p_eit_table(i).attribute20;
325         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
326 
327         l_count := l_count + 1;
328         l_transaction_table(l_count).param_name := 'P_INFORMATION_CATEGORY_'||i;
329         l_transaction_table(l_count).param_value := p_eit_table(i).information_category;
330         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
331 
332         l_count := l_count + 1;
333         l_transaction_table(l_count).param_name := 'P_INFORMATION1_'||i;
334         l_transaction_table(l_count).param_value := p_eit_table(i).information1;
335         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
336 
337         l_count := l_count + 1;
338         l_transaction_table(l_count).param_name := 'P_INFORMATION2_'||i;
339         l_transaction_table(l_count).param_value := p_eit_table(i).information2;
340         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
341 
342         l_count := l_count + 1;
343         l_transaction_table(l_count).param_name := 'P_INFORMATION3_'||i;
344         l_transaction_table(l_count).param_value := p_eit_table(i).information3;
345         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
346 
347         l_count := l_count + 1;
348         l_transaction_table(l_count).param_name := 'P_INFORMATION4_'||i;
349         l_transaction_table(l_count).param_value := p_eit_table(i).information4;
350         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
351 
352         l_count := l_count + 1;
353         l_transaction_table(l_count).param_name := 'P_INFORMATION5_'||i;
354         l_transaction_table(l_count).param_value := p_eit_table(i).information5;
355         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
356 
357         l_count := l_count + 1;
358         l_transaction_table(l_count).param_name := 'P_INFORMATION6_'||i;
359         l_transaction_table(l_count).param_value := p_eit_table(i).information6;
360         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
361 
362         l_count := l_count + 1;
363         l_transaction_table(l_count).param_name := 'P_INFORMATION7_'||i;
364         l_transaction_table(l_count).param_value := p_eit_table(i).information7;
365         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
366 
367         l_count := l_count + 1;
368         l_transaction_table(l_count).param_name := 'P_INFORMATION8_'||i;
369         l_transaction_table(l_count).param_value := p_eit_table(i).information8;
370         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
371 
372         l_count := l_count + 1;
373         l_transaction_table(l_count).param_name := 'P_INFORMATION9_'||i;
374         l_transaction_table(l_count).param_value := p_eit_table(i).information9;
375         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
376 
377         l_count := l_count + 1;
378         l_transaction_table(l_count).param_name := 'P_INFORMATION10_'||i;
379         l_transaction_table(l_count).param_value := p_eit_table(i).information10;
380         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
381 
382         l_count := l_count + 1;
383         l_transaction_table(l_count).param_name := 'P_INFORMATION11_'||i;
384         l_transaction_table(l_count).param_value := p_eit_table(i).information11;
385         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
386 
387         l_count := l_count + 1;
388         l_transaction_table(l_count).param_name := 'P_INFORMATION12_'||i;
389         l_transaction_table(l_count).param_value := p_eit_table(i).information12;
390         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
391 
392         l_count := l_count + 1;
393         l_transaction_table(l_count).param_name := 'P_INFORMATION13_'||i;
394         l_transaction_table(l_count).param_value := p_eit_table(i).information13;
395         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
396 
397         l_count := l_count + 1;
398         l_transaction_table(l_count).param_name := 'P_INFORMATION14_'||i;
399         l_transaction_table(l_count).param_value := p_eit_table(i).information14;
400         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
401 
402         l_count := l_count + 1;
403         l_transaction_table(l_count).param_name := 'P_INFORMATION15_'||i;
404         l_transaction_table(l_count).param_value := p_eit_table(i).information15;
405         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
406 
407         l_count := l_count + 1;
408         l_transaction_table(l_count).param_name := 'P_INFORMATION16_'||i;
409         l_transaction_table(l_count).param_value := p_eit_table(i).information16;
410         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
411 
412         l_count := l_count + 1;
413         l_transaction_table(l_count).param_name := 'P_INFORMATION17_'||i;
414         l_transaction_table(l_count).param_value := p_eit_table(i).information17;
415         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
416 
417         l_count := l_count + 1;
418         l_transaction_table(l_count).param_name := 'P_INFORMATION18_'||i;
419         l_transaction_table(l_count).param_value := p_eit_table(i).information18;
420         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
421 
422         l_count := l_count + 1;
423         l_transaction_table(l_count).param_name := 'P_INFORMATION19_'||i;
424         l_transaction_table(l_count).param_value := p_eit_table(i).information19;
425         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
426 
427         l_count := l_count + 1;
428         l_transaction_table(l_count).param_name := 'P_INFORMATION20_'||i;
429         l_transaction_table(l_count).param_value := p_eit_table(i).information20;
430         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
431 
432         l_count := l_count + 1;
433         l_transaction_table(l_count).param_name := 'P_INFORMATION21_'||i;
434         l_transaction_table(l_count).param_value := p_eit_table(i).information21;
435         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
436 
437         l_count := l_count + 1;
438         l_transaction_table(l_count).param_name := 'P_INFORMATION22_'||i;
439         l_transaction_table(l_count).param_value := p_eit_table(i).information22;
440         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
441 
442         l_count := l_count + 1;
443         l_transaction_table(l_count).param_name := 'P_INFORMATION23_'||i;
444         l_transaction_table(l_count).param_value := p_eit_table(i).information23;
445         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
446 
447         l_count := l_count + 1;
448         l_transaction_table(l_count).param_name := 'P_INFORMATION24_'||i;
449         l_transaction_table(l_count).param_value := p_eit_table(i).information24;
450         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
451 
452         l_count := l_count + 1;
453         l_transaction_table(l_count).param_name := 'P_INFORMATION25_'||i;
454         l_transaction_table(l_count).param_value := p_eit_table(i).information25;
455         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
456 
457         l_count := l_count + 1;
458         l_transaction_table(l_count).param_name := 'P_INFORMATION26_'||i;
459         l_transaction_table(l_count).param_value := p_eit_table(i).information26;
460         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
461 
462         l_count := l_count + 1;
463         l_transaction_table(l_count).param_name := 'P_INFORMATION27_'||i;
464         l_transaction_table(l_count).param_value := p_eit_table(i).information27;
465         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
466 
467         l_count := l_count + 1;
468         l_transaction_table(l_count).param_name := 'P_INFORMATION28_'||i;
469         l_transaction_table(l_count).param_value := p_eit_table(i).information28;
470         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
471 
472         l_count := l_count + 1;
473         l_transaction_table(l_count).param_name := 'P_INFORMATION29_'||i;
474         l_transaction_table(l_count).param_value := p_eit_table(i).information29;
475         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
476 
477         l_count := l_count + 1;
478         l_transaction_table(l_count).param_name := 'P_INFORMATION30_'||i;
479         l_transaction_table(l_count).param_value := p_eit_table(i).information30;
480         l_transaction_table(l_count).param_data_type := 'VARCHAR2';
481 
482         -- EndRegistration
483         --
484         --  This is a marker for the contact person to be used to identify the Address
485         --  to be retrieved for the contact person in context in review page.
486        END LOOP;
487        hr_utility.trace('Exiting For Loop:'||l_proc);
488 
489        dump_eit_table(p_eit_table);
490 
491        hr_transaction_ss.save_transaction_step
492        		(p_item_type => p_item_type
493        		,p_item_key  => p_item_key
494        		,p_actid     => p_activity_id
495 --       	        ,p_login_person_id     => nvl(p_login_person_id, p_person_id) -- PB Modification
496        	        ,p_login_person_id     => p_login_person_id -- PB Modification
497                 ,p_transaction_step_id => l_transaction_step_id
498        		,p_api_name            => g_package || '.PROCESS_API'
499        		,p_transaction_data    => l_transaction_table);
500 
501          hr_utility.set_location('Exiting:'||l_proc, 35);
502 
503 
504 
505 
506 EXCEPTION
507   -- Catch any exception thrown while storing transaction data
508   WHEN OTHERS THEN
509   hr_utility.set_location('Exception:Others'||l_proc,555);
510     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
511                              p_error_message => p_error_message);
512 
513     hr_utility.trace('hr_process_eit_ss.get_eit_data_from_tt' ||
514            	     ' p_error_message: '||p_error_message);
515 
516 
517 
518 END save_transaction_data;
519 
520 -- ---------------------------------------------------------------------------
521 -- ---------------------- < get_eit_data_from_tt> -------------------------
522 -- ---------------------------------------------------------------------------
523 -- Purpose: This procedure will get transaction data which are pending for
524 --          approval in workflow for a given person id, workflow process name
525 --          and workflow activity name.  This is the overloaded version.
526 -- ---------------------------------------------------------------------------
527 PROCEDURE get_eit_data_from_tt
528   (p_item_type                       in     varchar2
529   ,p_item_key                        in     varchar2
530   ,p_activity_id                     in     number
531   ,p_person_id                       out nocopy    number
532   ,p_login_person_id                 out nocopy    number
533   ,p_eit_type		             out nocopy    varchar2
534   ,p_eit_type_id	             out nocopy    number
535   ,p_eit_number		             out nocopy    number
536   ,p_eit_table	            	     out nocopy    HR_EIT_STRUCTURE_TABLE
537   ,p_error_message                   out nocopy    long
538   ,p_active_view               	     out nocopy    varchar2
539   ,p_active_row_id		     out nocopy    number
540 )
541 IS
542 
543   l_transaction_id             number;
544   l_trans_step_id              number;
545   l_trans_obj_vers_num         number;
546   l_count                      integer default 0;
547   l_trans_rec_count      number;
548   l_proc   varchar2(72)  := g_package||'get_eit_data_from_tt';
549 
550 
551 begin
552 
553   -- ------------------------------------------------------------------
554   -- Check if there are any transaction rec already saved for the current
555   -- transaction. This is used for re-display the Update page when a user
556   -- clicks the Back button on the Review page to go back to the Update page
557   -- to make further changes or to correct errors.
558   -----------------------------------------------------------------------------
559   hr_utility.set_location('Entering:'||l_proc, 5);
560   hr_utility.trace(
561             'hr_process_eit_ss.get_eit_data_from_tt' ||
562             ' p_item_type: '||p_item_type||
563             ' p_item_key:  '||p_item_key||
564             ' p_activity_id: '||p_activity_id);
565 
566   hr_transaction_api.get_transaction_step_info
567      (p_item_type              => p_item_type
568      ,p_item_key               => p_item_key
569      ,p_activity_id            => p_activity_id
570      ,p_transaction_step_id    => l_trans_step_id
571      ,p_object_version_number  => l_trans_obj_vers_num);
572 
573   hr_utility.trace(
574               'hr_process_eit_ss.get_eit_data_from_tt' ||
575               ' l_trans_step_id: '||l_trans_step_id||
576               ' l_trans_obj_vers_num: '||l_trans_obj_vers_num);
577 
578 
579   IF l_trans_step_id IS NOT NULL OR
580      l_trans_step_id > 0
581   THEN
582      hr_utility.trace('l_trans_step_id IS NOT NULL stepid>0:'||l_proc);
583      l_trans_rec_count := 1;
584   ELSE
585      hr_utility.trace('l_trans_step_id IS NULL & l_trans_step_id <= 0'||l_proc);
586      l_trans_rec_count := 0;
587      hr_utility.trace('Exiting:From Else part'||l_proc);
588      return;
589   END IF;
590 
591   --
592   -- -------------------------------------------------------------------
593   -- There are some changes made earlier in the transaction.
594   -- Retrieve the data and return to caller.
595   -- -------------------------------------------------------------------
596 
597   -- Now get the transaction data for the given step
598   get_eit_data_from_tt
599   (p_transaction_step_id       => l_trans_step_id
600   ,p_person_id                 => p_person_id
601   ,p_login_person_id           => p_login_person_id
602   ,p_eit_type		       => p_eit_type
603   ,p_eit_type_id	       => p_eit_type_id
604   ,p_eit_number		       => p_eit_number
605   ,p_eit_table	       	       => p_eit_table
606   ,p_error_message             => p_error_message
607   ,p_active_view               => p_active_view
608   ,p_active_row_id	       => p_active_row_id
609 );
610 
611   hr_utility.trace(
612             'hr_process_eit_ss.get_eit_data_from_tt' ||
613             ' p_error_message: '||p_error_message);
614 
615   p_trans_rec_count := l_trans_rec_count;
616   hr_utility.set_location('Exiting:Funtion'||l_proc, 25);
617 
618 EXCEPTION
619   -- Catch any exception thrown while storing transaction data
620   WHEN OTHERS THEN
621     hr_utility.set_location('Exception:Others'||l_proc,555);
622     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
623                              p_error_message => p_error_message);
624     hr_utility.trace(
625             'hr_process_eit_ss.get_eit_data_from_tt' ||
626             ' p_error_message: '||p_error_message);
627 
628 
629 END get_eit_data_from_tt;
630 
631 -- ---------------------------------------------------------------------------
632 -- ---------------------- < get_eit_data_from_tt> -------------------------
633 -- ---------------------------------------------------------------------------
634 -- Purpose: This procedure will get transaction data which are pending for
635 --          approval in workflow for a transaction step id.
636 -- ---------------------------------------------------------------------------
637 procedure get_eit_data_from_tt
638   (p_transaction_step_id             in     number
639   ,p_person_id                       out nocopy    number
640   ,p_login_person_id                 out nocopy    number
641   ,p_eit_type		             out nocopy    varchar2
642   ,p_eit_type_id		     out nocopy    number
643   ,p_eit_number		             out nocopy    number
644   ,p_eit_table	             	     out nocopy    HR_EIT_STRUCTURE_TABLE
645   ,p_error_message                   out nocopy    long
646   ,p_active_view               	     out nocopy    varchar2
647   ,p_active_row_id		     out nocopy    number
648 )IS
649 
650 l_number_eit 	number := 0;
651 l_eit_table 	HR_EIT_STRUCTURE_TABLE;
652 l_proc   varchar2(72)  := g_package||'get_eit_data_from_tt';
653 
654 begin
655 
656   hr_utility.set_location('Entering:'||l_proc, 5);
657   hr_utility.trace(
658             'hr_process_eit_ss.get_eit_data_from_tt' ||
659             ' p_transaction_step_id: '||p_transaction_step_id);
660 
661 
662   p_person_id := hr_transaction_api.get_number_value
663     (p_transaction_step_id => p_transaction_step_id
664     ,p_name                => 'P_PERSON_ID');
665 
666   p_login_person_id := hr_transaction_api.get_number_value
667     (p_transaction_step_id => p_transaction_step_id
668     ,p_name                => 'P_LOGIN_PERSON_ID');
669 
670   p_eit_type := hr_transaction_api.get_varchar2_value
671     (p_transaction_step_id => p_transaction_step_id
672     ,p_name                => 'P_EIT_TYPE');
673 
674   p_eit_type_id := hr_transaction_api.get_number_value
675     (p_transaction_step_id => p_transaction_step_id
676     ,p_name                => 'P_EIT_TYPE_ID');
677 
678 -- start registration
679 -- If its a new user registration flow then the assignmentId which is coming
680 -- from transaction table will not be valid because the person has just been
681 -- created by the process_api of the hr_process_person_ss.process_api.
682 -- We can get that person Id and assignment id by making a call
683 -- to the global parameters but we need to branch out the code.
684 -- We also need the latest Object version Number not the one on transaction tbl
685 
686 -- adding the session id check to avoid connection pooling problems.
687   if (( hr_process_person_ss.g_assignment_id is not null
688        or hr_process_person_ss.g_person_id is not null) and
689                 (hr_process_person_ss.g_session_id= ICX_SEC.G_SESSION_ID))
690   then
691     hr_utility.trace('AsgId<>NULL or PID<>NULL AND SESSIONID=ICX_SEC.G_SESSION_ID:'||l_proc);
692     if p_eit_type = 'PERSON' then
693       p_eit_type_id := hr_process_person_ss.g_person_id;
694     else
695       p_eit_type_id := hr_process_person_ss.g_assignment_id;
696     end if;
697     p_person_id := hr_process_person_ss.g_person_id;
698   end if;
699 
700 -- end registration
701 --
702 
703   p_eit_number := hr_transaction_api.get_number_value
704     (p_transaction_step_id => p_transaction_step_id
705     ,p_name                => 'P_EIT_NUMBER');
706 
707   p_active_view := hr_transaction_api.get_varchar2_value
708     (p_transaction_step_id => p_transaction_step_id
709     ,p_name                => 'P_ACTIVE_VIEW');
710 
711   p_active_row_id := hr_transaction_api.get_number_value
712     (p_transaction_step_id => p_transaction_step_id
713     ,p_name                => 'P_ACTIVE_ROW_ID');
714 
715   if(hr_utility.debug_enabled) then
716 
717   	hr_utility.trace(
718   	          'hr_process_eit_ss.get_eit_data_from_tt' ||
719   	          ' p_person_id: '||p_person_id||
720   	          ' p_login_person_id: '||p_login_person_id||
721   	          ' p_eit_type: '||p_eit_type||
722   	          ' p_eit_type_id: '||p_eit_type_id||
723   	          ' p_eit_number: '||p_eit_number||
724   	          ' p_active_view: '||p_active_view||
725   	          ' p_active_row_id: '||p_active_row_id);
726   end if;
727 
728   l_number_eit := p_eit_number;
729 
730   l_eit_table := HR_EIT_STRUCTURE_TABLE();
731 
732 
733   hr_utility.trace('For :1 ..l_number_eit'||l_proc);
734   FOR i in 1 ..l_number_eit LOOP
735 --
736   l_eit_table.extend;
737 
738 --  hr_utility.trace(
739 --            'hr_process_eit_ss.get_eit_data_from_tt' ||
740 --            ' i : '||i);
741   --
742   l_eit_table(i) := HR_EIT_STRUCTURE_TYPE
743   (
744 -- action
745    hr_transaction_api.get_varchar2_value
746     	(p_transaction_step_id => p_transaction_step_id
747     ,p_name                => 'P_ACTION_'||i)
748 
749 -- extra info id
750    ,hr_transaction_api.get_number_value
751     (p_transaction_step_id => p_transaction_step_id
752     ,p_name                => 'P_EXTRA_INFO_ID_'||i)
753 
754 --object_version_number
755    ,hr_transaction_api.get_number_value
756     (p_transaction_step_id => p_transaction_step_id
757     ,p_name                => 'P_OBJECT_VERSION_NUMBER_'||i)
758 
759 --information_type
760    ,hr_transaction_api.get_varchar2_value
761     (p_transaction_step_id => p_transaction_step_id
762     ,p_name                => 'P_INFORMATION_TYPE_'||i)
763 
764 --attribute_category
765    ,hr_transaction_api.get_varchar2_value
766     (p_transaction_step_id => p_transaction_step_id
767     ,p_name                => 'P_ATTRIBUTE_CATEGORY_'||i)
768 
769 --attribute1
770    ,hr_transaction_api.get_varchar2_value
771     (p_transaction_step_id => p_transaction_step_id
772     ,p_name                => 'P_ATTRIBUTE1_'||i)
773 
774 --attribute2
775    ,hr_transaction_api.get_varchar2_value
776     (p_transaction_step_id => p_transaction_step_id
777     ,p_name                => 'P_ATTRIBUTE2_'||i)
778 
779 --attribute3
780    ,hr_transaction_api.get_varchar2_value
781     (p_transaction_step_id => p_transaction_step_id
782     ,p_name                => 'P_ATTRIBUTE3_'||i)
783 
784 --attribute4
785    ,hr_transaction_api.get_varchar2_value
786     (p_transaction_step_id => p_transaction_step_id
787     ,p_name                => 'P_ATTRIBUTE4_'||i)
788 
789 --attribute5
790    ,hr_transaction_api.get_varchar2_value
791     (p_transaction_step_id => p_transaction_step_id
792     ,p_name                => 'P_ATTRIBUTE5_'||i)
793 
794 --attribute6
795    ,hr_transaction_api.get_varchar2_value
796     (p_transaction_step_id => p_transaction_step_id
797     ,p_name                => 'P_ATTRIBUTE6_'||i)
798 
799 --attribute7
800    ,hr_transaction_api.get_varchar2_value
801     (p_transaction_step_id => p_transaction_step_id
802     ,p_name                => 'P_ATTRIBUTE7_'||i)
803 
804 --attribute8
805    ,hr_transaction_api.get_varchar2_value
806     (p_transaction_step_id => p_transaction_step_id
807     ,p_name                => 'P_ATTRIBUTE8_'||i)
808 
809 --attribute9
810    ,hr_transaction_api.get_varchar2_value
811     (p_transaction_step_id => p_transaction_step_id
812     ,p_name                => 'P_ATTRIBUTE9_'||i)
813 
814 --attribute10
815    ,hr_transaction_api.get_varchar2_value
816     (p_transaction_step_id => p_transaction_step_id
817     ,p_name                => 'P_ATTRIBUTE10_'||i)
818 
819 --attribute11
820    ,hr_transaction_api.get_varchar2_value
821     (p_transaction_step_id => p_transaction_step_id
822     ,p_name                => 'P_ATTRIBUTE11_'||i)
823 
824 --attribute12
825    ,hr_transaction_api.get_varchar2_value
826     (p_transaction_step_id => p_transaction_step_id
827     ,p_name                => 'P_ATTRIBUTE12_'||i)
828 
829 --attribute13
830    ,hr_transaction_api.get_varchar2_value
831     (p_transaction_step_id => p_transaction_step_id
832     ,p_name                => 'P_ATTRIBUTE13_'||i)
833 
834 --attribute14
835    ,hr_transaction_api.get_varchar2_value
836     (p_transaction_step_id => p_transaction_step_id
837     ,p_name                => 'P_ATTRIBUTE14_'||i)
838 
839 --attribute15
840    ,hr_transaction_api.get_varchar2_value
841     (p_transaction_step_id => p_transaction_step_id
842     ,p_name                => 'P_ATTRIBUTE15_'||i)
843 
844 --attribute16
845    ,hr_transaction_api.get_varchar2_value
846     (p_transaction_step_id => p_transaction_step_id
847     ,p_name                => 'P_ATTRIBUTE16_'||i)
848 
849 --attribute17
850    ,hr_transaction_api.get_varchar2_value
851     (p_transaction_step_id => p_transaction_step_id
852     ,p_name                => 'P_ATTRIBUTE17_'||i)
853 
854 --attribute18
855    ,hr_transaction_api.get_varchar2_value
856     (p_transaction_step_id => p_transaction_step_id
857     ,p_name                => 'P_ATTRIBUTE18_'||i)
858 
859 --attribute19
860    ,hr_transaction_api.get_varchar2_value
861     (p_transaction_step_id => p_transaction_step_id
862     ,p_name                => 'P_ATTRIBUTE19_'||i)
863 
864 --attribute20
865    ,hr_transaction_api.get_varchar2_value
866     (p_transaction_step_id => p_transaction_step_id
867     ,p_name                => 'P_ATTRIBUTE20_'||i)
868 
869 --information_category
870    ,hr_transaction_api.get_varchar2_value
871     (p_transaction_step_id => p_transaction_step_id
872     ,p_name                => 'P_INFORMATION_CATEGORY_'||i)
873 
874 --information1
875    ,hr_transaction_api.get_varchar2_value
876     (p_transaction_step_id => p_transaction_step_id
877     ,p_name                => 'P_INFORMATION1_'||i)
878 
879 --information2
880    ,hr_transaction_api.get_varchar2_value
881     (p_transaction_step_id => p_transaction_step_id
882     ,p_name                => 'P_INFORMATION2_'||i)
883 
884 --information3
885    ,hr_transaction_api.get_varchar2_value
886     (p_transaction_step_id => p_transaction_step_id
887     ,p_name                => 'P_INFORMATION3_'||i)
888 
889 --information4
890    ,hr_transaction_api.get_varchar2_value
891     (p_transaction_step_id => p_transaction_step_id
892     ,p_name                => 'P_INFORMATION4_'||i)
893 
894 --information5
895    ,hr_transaction_api.get_varchar2_value
896     (p_transaction_step_id => p_transaction_step_id
897     ,p_name                => 'P_INFORMATION5_'||i)
898 
899 --information6
900    ,hr_transaction_api.get_varchar2_value
901     (p_transaction_step_id => p_transaction_step_id
902     ,p_name                => 'P_INFORMATION6_'||i)
903 
904 --information7
905    ,hr_transaction_api.get_varchar2_value
906     (p_transaction_step_id => p_transaction_step_id
907     ,p_name                => 'P_INFORMATION7_'||i)
908 
909 --information8
910    ,hr_transaction_api.get_varchar2_value
911     (p_transaction_step_id => p_transaction_step_id
912     ,p_name                => 'P_INFORMATION8_'||i)
913 
914 --information9
915    ,hr_transaction_api.get_varchar2_value
916     (p_transaction_step_id => p_transaction_step_id
917     ,p_name                => 'P_INFORMATION9_'||i)
918 
919 --information10
920    ,hr_transaction_api.get_varchar2_value
921     (p_transaction_step_id => p_transaction_step_id
922     ,p_name                => 'P_INFORMATION10_'||i)
923 
924 --information11
925    ,hr_transaction_api.get_varchar2_value
926     (p_transaction_step_id => p_transaction_step_id
927     ,p_name                => 'P_INFORMATION11_'||i)
928 
929 --information12
930    ,hr_transaction_api.get_varchar2_value
931     (p_transaction_step_id => p_transaction_step_id
932     ,p_name                => 'P_INFORMATION12_'||i)
933 
934 --information13
935    ,hr_transaction_api.get_varchar2_value
936     (p_transaction_step_id => p_transaction_step_id
937     ,p_name                => 'P_INFORMATION13_'||i)
938 
939 --information14
940    ,hr_transaction_api.get_varchar2_value
941     (p_transaction_step_id => p_transaction_step_id
942     ,p_name                => 'P_INFORMATION14_'||i)
943 
944 --information15
945    ,hr_transaction_api.get_varchar2_value
946     (p_transaction_step_id => p_transaction_step_id
947     ,p_name                => 'P_INFORMATION15_'||i)
948 
949 --information16
950    ,hr_transaction_api.get_varchar2_value
951     (p_transaction_step_id => p_transaction_step_id
952     ,p_name                => 'P_INFORMATION16_'||i)
953 
954 --information17
955    ,hr_transaction_api.get_varchar2_value
956     (p_transaction_step_id => p_transaction_step_id
957     ,p_name                => 'P_INFORMATION17_'||i)
958 
959 --information18
960    ,hr_transaction_api.get_varchar2_value
961     (p_transaction_step_id => p_transaction_step_id
962     ,p_name                => 'P_INFORMATION18_'||i)
963 
964 --information19
965    ,hr_transaction_api.get_varchar2_value
966     (p_transaction_step_id => p_transaction_step_id
967     ,p_name                => 'P_INFORMATION19_'||i)
968 
969 --information20
970    ,hr_transaction_api.get_varchar2_value
971     (p_transaction_step_id => p_transaction_step_id
972     ,p_name                => 'P_INFORMATION20_'||i)
973 
974 --information21
975    ,hr_transaction_api.get_varchar2_value
976     (p_transaction_step_id => p_transaction_step_id
977     ,p_name                => 'P_INFORMATION21_'||i)
978 
979 --information22
980    ,hr_transaction_api.get_varchar2_value
981     (p_transaction_step_id => p_transaction_step_id
982     ,p_name                => 'P_INFORMATION22_'||i)
983 
984 --information23
985    ,hr_transaction_api.get_varchar2_value
986     (p_transaction_step_id => p_transaction_step_id
987     ,p_name                => 'P_INFORMATION23_'||i)
988 
989 --information24
990    ,hr_transaction_api.get_varchar2_value
991     (p_transaction_step_id => p_transaction_step_id
992     ,p_name                => 'P_INFORMATION24_'||i)
993 
994 --information25
995    ,hr_transaction_api.get_varchar2_value
996     (p_transaction_step_id => p_transaction_step_id
997     ,p_name                => 'P_INFORMATION25_'||i)
998 
999 --information26
1000    ,hr_transaction_api.get_varchar2_value
1001     (p_transaction_step_id => p_transaction_step_id
1002     ,p_name                => 'P_INFORMATION26_'||i)
1003 
1004 --information27
1005    ,hr_transaction_api.get_varchar2_value
1006     (p_transaction_step_id => p_transaction_step_id
1007     ,p_name                => 'P_INFORMATION27_'||i)
1008 
1009 --information28
1010    ,hr_transaction_api.get_varchar2_value
1011     (p_transaction_step_id => p_transaction_step_id
1012     ,p_name                => 'P_INFORMATION28_'||i)
1013 
1014 --information29
1015    ,hr_transaction_api.get_varchar2_value
1016     (p_transaction_step_id => p_transaction_step_id
1017     ,p_name                => 'P_INFORMATION29_'||i)
1018 
1019 --information30
1020    ,hr_transaction_api.get_varchar2_value
1021     (p_transaction_step_id => p_transaction_step_id
1022     ,p_name                => 'P_INFORMATION30_'||i));
1023 
1024  END LOOP;
1025  hr_utility.trace('End of FOR:'||l_proc);
1026  p_eit_table := l_eit_table;
1027  dump_eit_table(p_eit_table);
1028  hr_utility.set_location('Exiting:'||l_proc, 30);
1029 
1030 EXCEPTION
1031   -- Catch any exception thrown while storing transaction data
1032   WHEN OTHERS THEN
1033   hr_utility.set_location('Exception:Others'||l_proc,555);
1034     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
1035                              p_error_message => p_error_message);
1036 
1037 END get_eit_data_from_tt;
1038 
1039 -- ----------------------------------------------------------------------------
1040 -- |-----------------------< del_transaction_data >---------------------------|
1041 -- Wrapper Package for API hr_process_sit_ss.
1042 --
1043 -- Description:
1044 --  This Function dels the transaction data for the given item type, item key
1045 --  and activity id.
1046 -- ----------------------------------------------------------------------------
1047 
1048 PROCEDURE del_transaction_data
1049     (p_item_type                 in   varchar2
1050     ,p_item_key                  in   varchar2
1051     ,p_activity_id               in   varchar2
1052     ,p_login_person_id           in   varchar2
1053     ,p_flow_mode                 in   varchar2 default null
1054 ) IS
1055 --
1056 l_proc   varchar2(72)  := g_package||'del_transaction_data';
1057 
1058 BEGIN
1059 
1060   hr_utility.set_location('Entering:'||l_proc, 5);
1061   if p_flow_mode is not null and
1062        p_flow_mode = hr_process_assignment_ss.g_new_hire_registration
1063 
1064   then
1065     hr_utility.trace('p_flow_mode is not null but is NewHireReg:'||l_proc);
1066     hr_utility.trace('Rolling back:'||l_proc);
1067     rollback;
1068   end if;
1069  if(hr_utility.debug_enabled) then
1070 
1071  	hr_utility.trace(
1072  	           'hr_process_eit_ss.del_transaction_data' ||
1073  	           ' p_item_type: '||p_item_type||
1074  	           ' p_item_key: '||p_item_key||
1075  	           ' p_activity_id: '||p_activity_id||
1076  	           ' p_login_person_id: '||p_login_person_id);
1077   end if;
1078 
1079   hr_transaction_ss.delete_transaction_steps(
1080     p_item_type           => p_item_type
1081     ,p_item_key           => p_item_key
1082     ,p_actid              => p_activity_id
1083     ,p_login_person_id    => p_login_person_id
1084   );
1085 
1086 hr_utility.set_location('Exiting:'||l_proc, 20);
1087 END del_transaction_data;
1088 
1089 -- ----------------------------------------------------------------------------
1090 -- |----------------------------< process_api >-------------------------------|
1091 -- ----------------------------------------------------------------------------
1092 PROCEDURE PROCESS_API
1093         (p_validate IN BOOLEAN DEFAULT FALSE
1094         ,p_transaction_step_id IN NUMBER DEFAULT NULL
1095         ,p_effective_date      IN VARCHAR2 default null
1096 )is
1097 
1098 l_person_id 		number;
1099 l_login_person_id 	number;
1100 l_eit_type 		varchar2(80);
1101 l_eit_type_id 		number;
1102 l_eit_number 		number;
1103 l_eit_table		HR_EIT_STRUCTURE_TABLE;
1104 l_extra_info_id         number;
1105 l_object_version_number number;
1106 l_error_message		long;
1107 l_active_view           varchar2(200);
1108 l_active_row_id         number;
1109 l_index NUMBER;
1110 l_proc   varchar2(72)  := g_package||'PROCESS_API';
1111 
1112 CURSOR cur_txnStep (c_txnStepId NUMBER ) IS
1113 SELECT item_type,item_key
1114 FROM   hr_api_transaction_steps
1115 WHERE  transaction_step_id = c_txnStepId;
1116 
1117 l_item_type varchar2(50);
1118 l_item_key varchar2(50);
1119 
1120 BEGIN
1121 
1122   hr_utility.set_location('Entering:'||l_proc, 5);
1123   hr_utility.trace(
1124             'hr_process_eit_ss.process_api' ||
1125             ' p_transaction_step_id: ');--||p_transaction_step_id);
1126 
1127   --insert session because some flex uses the session effective date.
1128   if p_effective_date is not null then
1129     hr_utility.trace('EffDate!=Null:'||l_proc);
1130     hr_util_misc_web.insert_session_row(to_date(p_effective_date, 'RRRR-MM-DD'));
1131   else
1132     hr_utility.trace('EffDate==Null:'||l_proc);
1133     hr_util_misc_web.insert_session_row(SYSDATE);
1134   end if;
1135 
1136    get_eit_data_from_tt
1137    (p_transaction_step_id       => p_transaction_step_id
1138    ,p_person_id                 => l_person_id
1139    ,p_login_person_id           => l_login_person_id
1140    ,p_eit_type		        => l_eit_type
1141    ,p_eit_type_id	        => l_eit_type_id
1142    ,p_eit_number		=> l_eit_number
1143    ,p_eit_table		        => l_eit_table
1144    ,p_error_message             => l_error_message
1145    ,p_active_view               => l_active_view
1146    ,p_active_row_id	        => l_active_row_id
1147 );
1148 
1149     OPEN  cur_txnStep (p_transaction_step_id);
1150     FETCH cur_txnStep INTO l_item_type,l_item_key;
1151     CLOSE cur_txnStep;
1152 
1153    --debug
1154    if(hr_utility.debug_enabled)then
1155 
1156    	hr_utility.trace(
1157    	         'hr_process_eit_ss.process_api' ||
1158    	         ' p_person_id: '||l_person_id||
1159    	         ' p_login_person_id: '||l_login_person_id||
1160    	         ' p_eit_type: '||l_eit_type||
1161    	         ' p_eit_type_id: '||l_eit_type_id||
1162    	         ' p_eit_number: '||l_eit_number);
1163     end if;
1164 
1165 
1166    hr_utility.trace('Before DumpingEIT table:'||l_proc);
1167    dump_eit_table(l_eit_table);
1168 
1169    hr_utility.trace('FOR j IN 1..2'||l_proc);
1170    FOR j IN 1..2 LOOP
1171    l_index := l_eit_table.first;
1172    LOOP
1173    EXIT WHEN
1174      (NOT l_eit_table.exists(l_index));
1175 
1176   hr_utility.trace('End of FOR '||l_proc);
1177 
1178       hr_utility.trace(
1179             'hr_process_eit_ss.process_api' ||
1180            ' l_index: '||l_index);
1181 
1182     IF j = 1 AND l_eit_table(l_index).action = 'DELETE_ROW'
1183       OR j = 2 and l_eit_table(l_index).action <> 'DELETE_ROW' THEN
1184 
1185 
1186      IF l_eit_table(l_index).action = 'NEW_ROW' THEN
1187 --     hr_utility.trace('l_eit_table(l_index).action=NEW ROW'||l_proc);
1188 
1189 --        hr_utility.trace(
1190 --           'hr_process_eit_ss.process_api' ||
1191 --           ' create a row: ');
1192 
1193   	create_eit
1194   	(p_validate                  => 0
1195   	,p_login_person_id           => l_login_person_id
1196   	,p_eit_type	  	     => l_eit_type
1197   	,p_eit_type_id	  	     => l_eit_type_id
1198   	,p_person_id                 => l_person_id
1199   	,p_information_type          => l_eit_table(l_index).information_type
1200   	,p_attribute_category        => l_eit_table(l_index).attribute_category
1201   	,p_attribute1                => l_eit_table(l_index).attribute1
1202   	,p_attribute2                => l_eit_table(l_index).attribute2
1203   	,p_attribute3                => l_eit_table(l_index).attribute3
1204   	,p_attribute4                => l_eit_table(l_index).attribute4
1205   	,p_attribute5                => l_eit_table(l_index).attribute5
1206   	,p_attribute6                => l_eit_table(l_index).attribute6
1207   	,p_attribute7                => l_eit_table(l_index).attribute7
1208   	,p_attribute8                => l_eit_table(l_index).attribute8
1209   	,p_attribute9                => l_eit_table(l_index).attribute9
1210   	,p_attribute10               => l_eit_table(l_index).attribute10
1211   	,p_attribute11               => l_eit_table(l_index).attribute11
1212   	,p_attribute12               => l_eit_table(l_index).attribute12
1213   	,p_attribute13               => l_eit_table(l_index).attribute13
1214   	,p_attribute14               => l_eit_table(l_index).attribute14
1215   	,p_attribute15               => l_eit_table(l_index).attribute15
1216   	,p_attribute16               => l_eit_table(l_index).attribute16
1217   	,p_attribute17               => l_eit_table(l_index).attribute17
1218   	,p_attribute18               => l_eit_table(l_index).attribute18
1219   	,p_attribute19               => l_eit_table(l_index).attribute19
1220   	,p_attribute20               => l_eit_table(l_index).attribute20
1221   	,p_information_category      => l_eit_table(l_index).information_category
1222   	,p_information1              => l_eit_table(l_index).information1
1223   	,p_information2              => l_eit_table(l_index).information2
1224   	,p_information3              => l_eit_table(l_index).information3
1225   	,p_information4              => l_eit_table(l_index).information4
1226   	,p_information5              => l_eit_table(l_index).information5
1227   	,p_information6              => l_eit_table(l_index).information6
1228   	,p_information7              => l_eit_table(l_index).information7
1229   	,p_information8              => l_eit_table(l_index).information8
1230   	,p_information9              => l_eit_table(l_index).information9
1231   	,p_information10             => l_eit_table(l_index).information10
1232   	,p_information11             => l_eit_table(l_index).information11
1233   	,p_information12             => l_eit_table(l_index).information12
1234   	,p_information13             => l_eit_table(l_index).information13
1235   	,p_information14             => l_eit_table(l_index).information14
1236   	,p_information15             => l_eit_table(l_index).information15
1237   	,p_information16             => l_eit_table(l_index).information16
1238   	,p_information17             => l_eit_table(l_index).information17
1239   	,p_information18             => l_eit_table(l_index).information18
1240   	,p_information19             => l_eit_table(l_index).information19
1241   	,p_information20             => l_eit_table(l_index).information20
1242   	,p_information21             => l_eit_table(l_index).information21
1243   	,p_information22             => l_eit_table(l_index).information22
1244   	,p_information23             => l_eit_table(l_index).information23
1245   	,p_information24             => l_eit_table(l_index).information24
1246   	,p_information25             => l_eit_table(l_index).information25
1247   	,p_information26             => l_eit_table(l_index).information26
1248   	,p_information27             => l_eit_table(l_index).information27
1249   	,p_information28             => l_eit_table(l_index).information28
1250   	,p_information29             => l_eit_table(l_index).information29
1251   	,p_information30             => l_eit_table(l_index).information30
1252   	,p_extra_info_id             => l_extra_info_id
1253   	,p_object_version_number     => l_object_version_number
1254   	-- EndRegistration
1255   	,p_item_type                => l_item_type
1256   	,p_item_key                 => l_item_key
1257   	,p_activity_id              => null
1258   	,p_action                   => null
1259   	,p_old_extra_info_id        => null
1260   	,p_old_object_version_number  => null
1261   	,p_save_mode                => null
1262   	,p_error_message            => l_error_message
1263   	);
1264 
1265 --        hr_utility.trace(
1266 --           'hr_process_eit_ss.process_api' ||
1267 --           ' create a row with extra info type id'||l_extra_info_id);
1268 
1269 
1270       ELSIF l_eit_table(l_index).action = 'UPDATE_ROW' THEN
1271 --      hr_utility.trace('l_eit_table(l_index).action=UPDATE_ROW'||l_proc);
1272 
1273 --        hr_utility.trace(
1274 --            'hr_process_eit_ss.process_api' ||
1275 --           ' update a row with extra info type id'||l_eit_table(l_index).extra_info_id);
1276 
1277   	update_eit
1278   	(p_validate                  => 0
1279   	,p_login_person_id           => l_login_person_id
1280   	,p_eit_type	  	     => l_eit_type
1281   	,p_eit_type_id	  	     => l_eit_type_id
1282   	,p_person_id                 => l_person_id
1283   	,p_information_type          => l_eit_table(l_index).information_type
1284   	,p_attribute_category        => l_eit_table(l_index).attribute_category
1285   	,p_attribute1                => l_eit_table(l_index).attribute1
1286   	,p_attribute2                => l_eit_table(l_index).attribute2
1287   	,p_attribute3                => l_eit_table(l_index).attribute3
1288   	,p_attribute4                => l_eit_table(l_index).attribute4
1289   	,p_attribute5                => l_eit_table(l_index).attribute5
1290   	,p_attribute6                => l_eit_table(l_index).attribute6
1291   	,p_attribute7                => l_eit_table(l_index).attribute7
1292   	,p_attribute8                => l_eit_table(l_index).attribute8
1293   	,p_attribute9                => l_eit_table(l_index).attribute9
1294   	,p_attribute10               => l_eit_table(l_index).attribute10
1295   	,p_attribute11               => l_eit_table(l_index).attribute11
1296   	,p_attribute12               => l_eit_table(l_index).attribute12
1297   	,p_attribute13               => l_eit_table(l_index).attribute13
1298   	,p_attribute14               => l_eit_table(l_index).attribute14
1299   	,p_attribute15               => l_eit_table(l_index).attribute15
1300   	,p_attribute16               => l_eit_table(l_index).attribute16
1301   	,p_attribute17               => l_eit_table(l_index).attribute17
1302   	,p_attribute18               => l_eit_table(l_index).attribute18
1303   	,p_attribute19               => l_eit_table(l_index).attribute19
1304   	,p_attribute20               => l_eit_table(l_index).attribute20
1305   	,p_information_category      => l_eit_table(l_index).information_category
1306   	,p_information1              => l_eit_table(l_index).information1
1307   	,p_information2              => l_eit_table(l_index).information2
1308   	,p_information3              => l_eit_table(l_index).information3
1309   	,p_information4              => l_eit_table(l_index).information4
1310   	,p_information5              => l_eit_table(l_index).information5
1311   	,p_information6              => l_eit_table(l_index).information6
1312   	,p_information7              => l_eit_table(l_index).information7
1313   	,p_information8              => l_eit_table(l_index).information8
1314   	,p_information9              => l_eit_table(l_index).information9
1315   	,p_information10             => l_eit_table(l_index).information10
1316   	,p_information11             => l_eit_table(l_index).information11
1317   	,p_information12             => l_eit_table(l_index).information12
1318   	,p_information13             => l_eit_table(l_index).information13
1319   	,p_information14             => l_eit_table(l_index).information14
1320   	,p_information15             => l_eit_table(l_index).information15
1321   	,p_information16             => l_eit_table(l_index).information16
1322   	,p_information17             => l_eit_table(l_index).information17
1323   	,p_information18             => l_eit_table(l_index).information18
1324   	,p_information19             => l_eit_table(l_index).information19
1325   	,p_information20             => l_eit_table(l_index).information20
1326   	,p_information21             => l_eit_table(l_index).information21
1327   	,p_information22             => l_eit_table(l_index).information22
1328   	,p_information23             => l_eit_table(l_index).information23
1329   	,p_information24             => l_eit_table(l_index).information24
1330   	,p_information25             => l_eit_table(l_index).information25
1331   	,p_information26             => l_eit_table(l_index).information26
1332   	,p_information27             => l_eit_table(l_index).information27
1333   	,p_information28             => l_eit_table(l_index).information28
1334   	,p_information29             => l_eit_table(l_index).information29
1335   	,p_information30             => l_eit_table(l_index).information30
1336   	,p_extra_info_id             => l_eit_table(l_index).extra_info_id
1337   	,p_object_version_number     => l_eit_table(l_index).object_version_number
1338   	-- EndRegistration
1339   	,p_item_type                => l_item_type
1340   	,p_item_key                 => l_item_key
1341   	,p_activity_id              => null
1342   	,p_action                   => null
1343   	,p_old_extra_info_id        => null
1344   	,p_old_object_version_number  => null
1345   	,p_save_mode                => null
1346   	,p_error_message            => l_error_message
1347   	);
1348 
1349       ELSIF l_eit_table(l_index).action = 'DELETE_ROW' THEN
1350 
1351 --        hr_utility.trace('l_eit_table(l_index).action=DELETE_ROW:'||l_proc);
1352 --        hr_utility.trace(
1353 --            'hr_process_eit_ss.process_api' ||
1354 --           ' delete a row with extra info type id'||l_eit_table(l_index).extra_info_id);
1355 
1356   	delete_eit
1357   	(p_validate                  => 0
1358   	,p_login_person_id           => l_login_person_id
1359   	,p_eit_type	  	     => l_eit_type
1360   	,p_eit_type_id	  	     => l_eit_type_id
1361   	,p_person_id                 => l_person_id
1362   	,p_information_type          => l_eit_table(l_index).information_type
1363   	,p_extra_info_id             => l_eit_table(l_index).extra_info_id
1364   	,p_object_version_number     => l_eit_table(l_index).object_version_number
1365   	-- EndRegistration
1366   	,p_item_type                => l_item_type
1367   	,p_item_key                 => l_item_key
1368   	,p_activity_id              => null
1369   	,p_action                   => null
1370   	,p_old_extra_info_id        => null
1371   	,p_old_object_version_number  => null
1372   	,p_save_mode                => null
1373   	,p_error_message            => l_error_message
1374   	);
1375 
1376       END IF;
1377      END IF;
1378 
1379 --     hr_utility.trace(
1380 --           'hr_process_eit_ss.process_api' ||
1381 --           ' l_error_message: '||l_error_message);
1382 
1383      l_index := l_eit_table.next(l_index);
1384 
1385     END LOOP;
1386     END LOOP;
1387 
1388   --remove session
1389   hr_util_misc_web.remove_session_row();
1390 
1391   if l_error_message is not null then
1392     hr_utility.raise_error;
1393   end if;
1394   hr_utility.set_location('Exiting:'||l_proc, 40);
1395 
1396 EXCEPTION
1397   WHEN OTHERS THEN
1398   hr_utility.set_location('Exception:Others'||l_proc,555);
1399     raise;
1400 
1401 END process_api;
1402 
1403 
1404   /*
1405   ||===========================================================================
1406   || PROCEDURE: create_eit
1407   ||---------------------------------------------------------------------------
1408   ||
1409   || Description:
1410   ||     This procedure will call the actual API -
1411   ||
1412   ||
1413   || Access Status:
1414   ||     Public.
1415   ||
1416   ||===========================================================================
1417   */
1418   PROCEDURE create_eit
1419   (p_validate                  in     number   default 0
1420   ,p_login_person_id           in     number default null
1421   ,p_eit_type	  	       in     varchar2
1422   ,p_person_id                 in     number
1423   ,p_information_type          in     varchar2
1424   ,p_attribute_category        in     varchar2 default null
1425   ,p_attribute1                in     varchar2 default null
1426   ,p_attribute2                in     varchar2 default null
1427   ,p_attribute3                in     varchar2 default null
1428   ,p_attribute4                in     varchar2 default null
1429   ,p_attribute5                in     varchar2 default null
1430   ,p_attribute6                in     varchar2 default null
1431   ,p_attribute7                in     varchar2 default null
1432   ,p_attribute8                in     varchar2 default null
1433   ,p_attribute9                in     varchar2 default null
1434   ,p_attribute10               in     varchar2 default null
1435   ,p_attribute11               in     varchar2 default null
1436   ,p_attribute12               in     varchar2 default null
1437   ,p_attribute13               in     varchar2 default null
1438   ,p_attribute14               in     varchar2 default null
1439   ,p_attribute15               in     varchar2 default null
1440   ,p_attribute16               in     varchar2 default null
1441   ,p_attribute17               in     varchar2 default null
1442   ,p_attribute18               in     varchar2 default null
1443   ,p_attribute19               in     varchar2 default null
1444   ,p_attribute20               in     varchar2 default null
1445   ,p_information_category      in     varchar2 default null
1446   ,p_information1              in     varchar2 default null
1447   ,p_information2              in     varchar2 default null
1448   ,p_information3              in     varchar2 default null
1449   ,p_information4              in     varchar2 default null
1450   ,p_information5              in     varchar2 default null
1451   ,p_information6              in     varchar2 default null
1452   ,p_information7              in     varchar2 default null
1453   ,p_information8              in     varchar2 default null
1454   ,p_information9              in     varchar2 default null
1455   ,p_information10             in     varchar2 default null
1456   ,p_information11             in     varchar2 default null
1457   ,p_information12             in     varchar2 default null
1458   ,p_information13             in     varchar2 default null
1459   ,p_information14             in     varchar2 default null
1460   ,p_information15             in     varchar2 default null
1461   ,p_information16             in     varchar2 default null
1462   ,p_information17             in     varchar2 default null
1463   ,p_information18             in     varchar2 default null
1464   ,p_information19             in     varchar2 default null
1465   ,p_information20             in     varchar2 default null
1466   ,p_information21             in     varchar2 default null
1467   ,p_information22             in     varchar2 default null
1468   ,p_information23             in     varchar2 default null
1469   ,p_information24             in     varchar2 default null
1470   ,p_information25             in     varchar2 default null
1471   ,p_information26             in     varchar2 default null
1472   ,p_information27             in     varchar2 default null
1473   ,p_information28             in     varchar2 default null
1474   ,p_information29             in     varchar2 default null
1475   ,p_information30             in     varchar2 default null
1476   ,p_extra_info_id             out nocopy number
1477   ,p_object_version_number     out nocopy number
1478   -- EndRegistration
1479   ,p_item_type                     in     varchar2
1480   ,p_item_key                      in     varchar2
1481   ,p_activity_id                   in     number
1482   ,p_action                        in     varchar2
1483   ,p_old_extra_info_id             in     number   default null
1484   ,p_old_object_version_number     in     number   default null
1485   ,p_save_mode                     in     varchar2 default null
1486   ,p_error_message                 out nocopy    long
1487   ,p_eit_type_id  	       	   in     number
1488   ,p_flow_mode                     in     varchar2 default null
1489   )
1490   IS
1491   --
1492   -- Declare cursors and local variables
1493   --
1494   l_proc                       varchar2(72) := g_package||'create_eit';
1495   l_dummy_num  number;
1496   l_extra_info_id         per_people_extra_info.person_extra_info_id%type;
1497   l_object_version_number per_people_extra_info.object_version_number%type;
1498   l_transaction_id             number default null;
1499   l_result                     varchar2(100) default null;
1500   l_new_hire              boolean default false;
1501   l_person_id             number;
1502   l_assignment_id         number;
1503   l_eit_type_id           number;
1504 
1505 cursor csr_asg_id is
1506     select assignment_id from per_all_assignments_f
1507     where assignment_type = 'E'
1508     and primary_flag = 'Y'
1509     and person_id = p_person_id
1510     order by effective_start_date desc;
1511 
1512     lv_flow_identifier     varchar2(100);
1513 
1514   BEGIN
1515     --
1516     -- Call the actual API.
1517     --
1518 
1519     --
1520     -- if the extra info type is a PERSON
1521     --
1522     hr_utility.set_location('Entering:'||l_proc, 5);
1523     if(hr_utility.debug_enabled) then
1524 
1525     	hr_utility.trace(
1526 		   'hr_process_eit_ss.create_eit' ||
1527 		   ' arrive '||
1528 		    'p_validate '||p_validate||
1529 		    ' p_login_person_id '||p_login_person_id||
1530 		    ' p_eit_type '||p_eit_type||
1531 		    ' p_eit_type_id '||p_eit_type_id||
1532 		    ' p_person_id '||p_person_id||
1533 		    ' p_information_type '||p_information_type||
1534 		    ' p_attribute_category '||p_attribute_category||
1535 		    ' p_attribute1 '||p_attribute1||
1536 		    ' p_attribute2 '||p_attribute2||
1537 		    ' p_attribute3 '||p_attribute3||
1538 		    ' p_attribute4 '||p_attribute4||
1539 		    ' p_attribute5 '||p_attribute5||
1540 		    ' p_attribute6 '||p_attribute6||
1541 		    ' p_attribute7 '||p_attribute7||
1542 		    ' p_attribute8 '||p_attribute8||
1543 		    ' p_attribute9 '||p_attribute9||
1544 		    ' p_attribute10 '||p_attribute10||
1545 		    ' p_attribute11 '||p_attribute11||
1546 		    ' p_attribute12 '||p_attribute12||
1547 		    ' p_attribute13 '||p_attribute13||
1548 		    ' p_attribute14 '||p_attribute14||
1549 		    ' p_attribute15 '||p_attribute15||
1550 		    ' p_attribute16 '||p_attribute16||
1551 		    ' p_attribute17 '||p_attribute17||
1552 		    ' p_attribute18 '||p_attribute18||
1553 		    ' p_attribute19 '||p_attribute19||
1554 		    ' p_attribute20 '||p_attribute20||
1555 		    ' p_information_category '||p_information_category||
1556 		    ' p_information1 '||p_information1||
1557 		    ' p_information2 '||p_information2||
1558 		    ' p_information3 '||p_information3||
1559 		    ' p_information4 '||p_information4||
1560 		    ' p_information5 '||p_information5||
1561 		    ' p_information6 '||p_information6||
1562 		    ' p_information7 '||p_information7||
1563 		    ' p_information8 '||p_information8||
1564 		    ' p_information9 '||p_information9||
1565 		    ' p_information10 '||p_information10||
1566 		    ' p_information11 '||p_information11||
1567 		    ' p_information12 '||p_information12||
1568 		    ' p_information13 '||p_information13||
1569 		    ' p_information14 '||p_information14||
1570 		    ' p_information15 '||p_information15||
1571 		    ' p_information16 '||p_information16||
1572 		    ' p_information17 '||p_information17||
1573 		    ' p_information18 '||p_information18||
1574 		    ' p_information19 '||p_information19||
1575 		    ' p_information20 '||p_information20||
1576 		    ' p_information21 '||p_information21||
1577 		    ' p_information22 '||p_information22||
1578 		    ' p_information23 '||p_information23||
1579 		    ' p_information24 '||p_information24||
1580 		    ' p_information25 '||p_information25||
1581 		    ' p_information26 '||p_information26||
1582 		    ' p_information27 '||p_information27||
1583 		    ' p_information28 '||p_information28||
1584 		    ' p_information29 '||p_information29||
1585 		    ' p_information30 '||p_information30||
1586 		    ' p_item_type '||p_item_type||
1587 		    ' p_item_key  '||p_item_key ||
1588 		    ' p_activity_id '||p_activity_id||
1589 		    ' p_action      '||p_action||
1590 		    ' p_old_extra_info_id '||p_old_extra_info_id||
1591 		    ' p_old_object_version_number '||p_old_object_version_number||
1592 		    ' p_save_mode '||p_save_mode);
1593        end if;
1594   --l_eit_type_id := p_eit_type_id;
1595 
1596   if p_flow_mode is not null and
1597      p_flow_mode = hr_process_assignment_ss.g_new_hire_registration
1598   then
1599     hr_utility.trace('p_flow_mode!=null but NewHireReg:'||l_proc);
1600     l_new_hire := TRUE;
1601   end if;
1602 
1603   l_eit_type_id := p_eit_type_id;
1604 
1605   if l_new_hire then
1606     hr_utility.trace('if l_new_hire:'||l_proc);
1607     hr_new_user_reg_ss.processNewUserTransaction
1608       (WfItemType => p_item_type
1609       ,WfItemKey => p_item_key
1610       ,PersonId => l_person_id
1611       ,AssignmentId => l_assignment_id);
1612     if p_eit_type = 'PERSON' then
1613       l_eit_type_id := l_person_id;
1614     else
1615         l_eit_type_id := l_assignment_id;
1616     end if;
1617   end if;
1618 
1619   if p_item_type is not null and p_item_key is not null then
1620   	lv_flow_identifier := wf_engine.GetItemAttrText(p_item_type,p_item_key,'HR_FLOW_IDENTIFIER',true);
1621   end if;
1622 
1623     if nvl(lv_flow_identifier,'N') = 'EX_EMP' then
1624         open csr_asg_id;
1625         fetch csr_asg_id into l_assignment_id;
1626 
1627         if csr_asg_id%notfound then
1628             hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
1629             hr_utility.raise_error;
1630         else
1631             l_eit_type_id := l_assignment_id;
1632         end if;
1633         --
1634         close csr_asg_id;
1635     end if;
1636 
1637   hr_utility.trace('lv_flow_identifier := '||lv_flow_identifier);
1638   hr_utility.trace('l_person_id := '||l_person_id);
1639   hr_utility.trace('l_assignment_id := '||l_assignment_id);
1640   hr_utility.trace('p_eit_type := '||p_eit_type);
1641   hr_utility.trace('l_eit_type_id := '||l_eit_type_id);
1642 
1643 
1644   if p_eit_type = 'PERSON' then
1645   hr_utility.trace('if p_eit_type=PERSON:'||l_proc);
1646     hr_utility.trace(
1647            'hr_process_eit_ss.create_eit' ||
1648            ' p_eit_type '||p_eit_type);
1649 
1650 	hr_person_extra_info_api.create_person_extra_info
1651 	(p_validate			=> hr_java_conv_util_ss.get_boolean (
1652                                             p_number => p_validate)
1653   	,p_person_id			=> l_eit_type_id
1654 	,p_information_type		=> p_information_type
1655   	,p_pei_attribute_category	=> p_attribute_category
1656   	,p_pei_attribute1		=> p_attribute1
1657   	,p_pei_attribute2		=> p_attribute2
1658   	,p_pei_attribute3		=> p_attribute3
1659   	,p_pei_attribute4		=> p_attribute4
1660   	,p_pei_attribute5		=> p_attribute5
1661   	,p_pei_attribute6		=> p_attribute6
1662   	,p_pei_attribute7		=> p_attribute7
1663   	,p_pei_attribute8		=> p_attribute8
1664   	,p_pei_attribute9		=> p_attribute9
1665   	,p_pei_attribute10		=> p_attribute10
1666   	,p_pei_attribute11		=> p_attribute11
1667   	,p_pei_attribute12		=> p_attribute12
1668   	,p_pei_attribute13		=> p_attribute13
1669   	,p_pei_attribute14		=> p_attribute14
1670   	,p_pei_attribute15		=> p_attribute15
1671   	,p_pei_attribute16		=> p_attribute16
1672   	,p_pei_attribute17		=> p_attribute17
1673   	,p_pei_attribute18		=> p_attribute18
1674   	,p_pei_attribute19		=> p_attribute19
1675   	,p_pei_attribute20		=> p_attribute20
1676   	,p_pei_information_category	=> p_information_category
1677   	,p_pei_information1		=> p_information1
1678   	,p_pei_information2		=> p_information2
1679   	,p_pei_information3		=> p_information3
1680   	,p_pei_information4		=> p_information4
1681   	,p_pei_information5		=> p_information5
1682   	,p_pei_information6		=> p_information6
1683   	,p_pei_information7		=> p_information7
1684   	,p_pei_information8		=> p_information8
1685   	,p_pei_information9		=> p_information9
1686   	,p_pei_information10		=> p_information10
1687   	,p_pei_information11		=> p_information11
1688   	,p_pei_information12		=> p_information12
1689   	,p_pei_information13		=> p_information13
1690   	,p_pei_information14		=> p_information14
1691   	,p_pei_information15		=> p_information15
1692   	,p_pei_information16		=> p_information16
1693   	,p_pei_information17		=> p_information17
1694   	,p_pei_information18		=> p_information18
1695   	,p_pei_information19		=> p_information19
1696   	,p_pei_information20		=> p_information20
1697   	,p_pei_information21		=> p_information21
1698   	,p_pei_information22		=> p_information22
1699   	,p_pei_information23		=> p_information23
1700   	,p_pei_information24		=> p_information24
1701   	,p_pei_information25		=> p_information25
1702   	,p_pei_information26		=> p_information26
1703   	,p_pei_information27		=> p_information27
1704   	,p_pei_information28		=> p_information28
1705   	,p_pei_information29		=> p_information29
1706   	,p_pei_information30		=> p_information30
1707   	,p_person_extra_info_id		=> l_extra_info_id
1708   	,p_object_version_number	=> l_object_version_number
1709 	);
1710 
1711 
1712 	p_object_version_number	:= l_object_version_number;
1713         p_extra_info_id  	:= l_extra_info_id;
1714 
1715 	hr_utility.trace(
1716             'hr_process_eit_ss.create_eit' ||
1717             ' out nocopy create params '||
1718   	    ' p_person_extra_info_id '||l_extra_info_id||
1719   	    ' p_object_version_number '||l_object_version_number);
1720 
1721     elsif p_eit_type = 'ASSIGNMENT' then
1722     hr_utility.trace('p_eit_type=ASSIGNMENT:'||l_proc);
1723     hr_utility.trace(
1724             'hr_process_eit_ss.create_eit' ||
1725             ' p_eit_type '||p_eit_type);
1726 
1727 	hr_assignment_extra_info_api.create_assignment_extra_info
1728 	(p_validate			=> hr_java_conv_util_ss.get_boolean (
1729                                             p_number => p_validate)
1730   	,p_assignment_id		=> l_eit_type_id
1731 	,p_information_type		=> p_information_type
1732   	,p_aei_attribute_category	=> p_attribute_category
1733   	,p_aei_attribute1		=> p_attribute1
1734   	,p_aei_attribute2		=> p_attribute2
1735   	,p_aei_attribute3		=> p_attribute3
1736   	,p_aei_attribute4		=> p_attribute4
1737   	,p_aei_attribute5		=> p_attribute5
1738   	,p_aei_attribute6		=> p_attribute6
1739   	,p_aei_attribute7		=> p_attribute7
1740   	,p_aei_attribute8		=> p_attribute8
1741   	,p_aei_attribute9		=> p_attribute9
1742   	,p_aei_attribute10		=> p_attribute10
1743   	,p_aei_attribute11		=> p_attribute11
1744   	,p_aei_attribute12		=> p_attribute12
1745   	,p_aei_attribute13		=> p_attribute13
1746   	,p_aei_attribute14		=> p_attribute14
1747   	,p_aei_attribute15		=> p_attribute15
1748   	,p_aei_attribute16		=> p_attribute16
1749   	,p_aei_attribute17		=> p_attribute17
1750   	,p_aei_attribute18		=> p_attribute18
1751   	,p_aei_attribute19		=> p_attribute19
1752   	,p_aei_attribute20		=> p_attribute20
1753   	,p_aei_information_category	=> p_information_category
1754   	,p_aei_information1		=> p_information1
1755   	,p_aei_information2		=> p_information2
1756   	,p_aei_information3		=> p_information3
1757   	,p_aei_information4		=> p_information4
1758   	,p_aei_information5		=> p_information5
1759   	,p_aei_information6		=> p_information6
1760   	,p_aei_information7		=> p_information7
1761   	,p_aei_information8		=> p_information8
1762   	,p_aei_information9		=> p_information9
1763   	,p_aei_information10		=> p_information10
1764   	,p_aei_information11		=> p_information11
1765   	,p_aei_information12		=> p_information12
1766   	,p_aei_information13		=> p_information13
1767   	,p_aei_information14		=> p_information14
1768   	,p_aei_information15		=> p_information15
1769   	,p_aei_information16		=> p_information16
1770   	,p_aei_information17		=> p_information17
1771   	,p_aei_information18		=> p_information18
1772   	,p_aei_information19		=> p_information19
1773   	,p_aei_information20		=> p_information20
1774   	,p_aei_information21		=> p_information21
1775   	,p_aei_information22		=> p_information22
1776   	,p_aei_information23		=> p_information23
1777   	,p_aei_information24		=> p_information24
1778   	,p_aei_information25		=> p_information25
1779   	,p_aei_information26		=> p_information26
1780   	,p_aei_information27		=> p_information27
1781   	,p_aei_information28		=> p_information28
1782   	,p_aei_information29		=> p_information29
1783   	,p_aei_information30		=> p_information30
1784   	,p_assignment_extra_info_id	=> l_extra_info_id
1785   	,p_object_version_number	=> l_object_version_number
1786 	);
1787 
1788 
1789 	p_object_version_number	:= l_object_version_number;
1790         p_extra_info_id  	:= l_extra_info_id;
1791 
1792      if(hr_utility.debug_enabled) then
1793 	hr_utility.trace(
1794             'hr_process_eit_ss.create_eit' ||
1795             ' out nocopy create params '||
1796   	    ' p_person_extra_info_id '||l_extra_info_id||
1797   	    ' p_object_version_number '||l_object_version_number);
1798     	end if;
1799     end if;
1800 
1801  --
1802  -- PB : Now rollback all the changes which are performed.
1803  --
1804    hr_utility.trace(l_proc);
1805 
1806 -- first check if this is being called for registration.
1807   if l_new_hire then
1808     hr_utility.trace('if l_new_hire: then rollback'||l_proc);
1809     rollback;
1810   end if;
1811 
1812 hr_utility.set_location('Exiting:'||l_proc, 35);
1813 
1814 EXCEPTION
1815 
1816    WHEN OTHERS THEN
1817    hr_utility.set_location('Exception:Others'||l_proc,555);
1818    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
1819                              p_error_message => p_error_message);
1820     hr_utility.trace(
1821            'hr_process_eit_ss.create_eit' ||
1822            ' l_error_message: '||p_error_message ||' '|| sqlerrm );
1823     --
1824     -- A validation or unexpected error has occurred
1825     --
1826     --
1827     if l_new_hire then
1828       rollback;
1829     end if;
1830 END create_eit;
1831 
1832   /*
1833   ||===========================================================================
1834   || PROCEDURE: update_eit
1835   ||---------------------------------------------------------------------------
1836   ||
1837   || Description:
1838   ||     This procedure will call the actual API -
1839   ||
1840   ||
1841   || Access Status:
1842   ||     Public.
1843   ||
1844   ||===========================================================================
1845   */
1846 PROCEDURE update_eit
1847   (p_validate                  in     number   default 0
1848   ,p_login_person_id           in     number default null
1849   ,p_eit_type                  in     varchar2
1850   ,p_person_id                 in     number
1851   ,p_information_type          in     varchar2
1852   ,p_attribute_category        in     varchar2 default null
1853   ,p_attribute1                in     varchar2 default null
1854   ,p_attribute2                in     varchar2 default null
1855   ,p_attribute3                in     varchar2 default null
1856   ,p_attribute4                in     varchar2 default null
1857   ,p_attribute5                in     varchar2 default null
1858   ,p_attribute6                in     varchar2 default null
1859   ,p_attribute7                in     varchar2 default null
1860   ,p_attribute8                in     varchar2 default null
1861   ,p_attribute9                in     varchar2 default null
1862   ,p_attribute10               in     varchar2 default null
1863   ,p_attribute11               in     varchar2 default null
1864   ,p_attribute12               in     varchar2 default null
1865   ,p_attribute13               in     varchar2 default null
1866   ,p_attribute14               in     varchar2 default null
1867   ,p_attribute15               in     varchar2 default null
1868   ,p_attribute16               in     varchar2 default null
1869   ,p_attribute17               in     varchar2 default null
1870   ,p_attribute18               in     varchar2 default null
1871   ,p_attribute19               in     varchar2 default null
1872   ,p_attribute20               in     varchar2 default null
1873   ,p_information_category      in     varchar2 default null
1874   ,p_information1              in     varchar2 default null
1875   ,p_information2              in     varchar2 default null
1876   ,p_information3              in     varchar2 default null
1877   ,p_information4              in     varchar2 default null
1878   ,p_information5              in     varchar2 default null
1879   ,p_information6              in     varchar2 default null
1880   ,p_information7              in     varchar2 default null
1881   ,p_information8              in     varchar2 default null
1882   ,p_information9              in     varchar2 default null
1883   ,p_information10             in     varchar2 default null
1884   ,p_information11             in     varchar2 default null
1885   ,p_information12             in     varchar2 default null
1886   ,p_information13             in     varchar2 default null
1887   ,p_information14             in     varchar2 default null
1888   ,p_information15             in     varchar2 default null
1889   ,p_information16             in     varchar2 default null
1890   ,p_information17             in     varchar2 default null
1891   ,p_information18             in     varchar2 default null
1892   ,p_information19             in     varchar2 default null
1893   ,p_information20             in     varchar2 default null
1894   ,p_information21             in     varchar2 default null
1895   ,p_information22             in     varchar2 default null
1896   ,p_information23             in     varchar2 default null
1897   ,p_information24             in     varchar2 default null
1898   ,p_information25             in     varchar2 default null
1899   ,p_information26             in     varchar2 default null
1900   ,p_information27             in     varchar2 default null
1901   ,p_information28             in     varchar2 default null
1902   ,p_information29             in     varchar2 default null
1903   ,p_information30             in     varchar2 default null
1904   ,p_extra_info_id             in     number
1905   ,p_object_version_number     in out nocopy number
1906   -- EndRegistration
1907   ,p_item_type                     in     varchar2
1908   ,p_item_key                      in     varchar2
1909   ,p_activity_id                   in     number
1910   ,p_action                        in     varchar2
1911   ,p_old_extra_info_id             in     number   default null
1912   ,p_old_object_version_number     in     number   default null
1913   ,p_save_mode                     in     varchar2 default null
1914   ,p_error_message                 out nocopy    long
1915   ,p_eit_type_id                   in     number
1916   )
1917   IS
1918   --
1919   -- Declare cursors and local variables
1920   --
1921   l_proc                       varchar2(72) := g_package||'create_eit';
1922   l_dummy_num  number;
1923   l_transaction_id             number default null;
1924   l_result                     varchar2(100) default null;
1925 
1926   BEGIN
1927     --
1928     -- Call the actual API.
1929     --
1930 
1931         hr_utility.set_location('Entering:'||l_proc, 5);
1932 
1933     if(hr_utility.debug_enabled) then
1934 
1935         hr_utility.trace(
1936             'hr_process_eit_ss.create_eit' ||
1937             ' arrive '||
1938   	    'p_validate '||p_validate||
1939 	    ' p_login_person_id '||p_login_person_id||
1940 	    ' p_eit_type '||p_eit_type||
1941 	    ' p_eit_type_id '||p_eit_type_id||
1942 	    ' p_person_id '||p_person_id||
1943 	    ' p_information_type '||p_information_type||
1944 	    ' p_attribute_category '||p_attribute_category||
1945 	    ' p_attribute1 '||p_attribute1||
1946 	    ' p_attribute2 '||p_attribute2||
1947 	    ' p_attribute3 '||p_attribute3||
1948 	    ' p_attribute4 '||p_attribute4||
1949 	    ' p_attribute5 '||p_attribute5||
1950 	    ' p_attribute6 '||p_attribute6||
1951 	    ' p_attribute7 '||p_attribute7||
1952 	    ' p_attribute8 '||p_attribute8||
1953 	    ' p_attribute9 '||p_attribute9||
1954 	    ' p_attribute10 '||p_attribute10||
1955 	    ' p_attribute11 '||p_attribute11||
1956 	    ' p_attribute12 '||p_attribute12||
1957 	    ' p_attribute13 '||p_attribute13||
1958 	    ' p_attribute14 '||p_attribute14||
1959 	    ' p_attribute15 '||p_attribute15||
1960 	    ' p_attribute16 '||p_attribute16||
1961 	    ' p_attribute17 '||p_attribute17||
1962 	    ' p_attribute18 '||p_attribute18||
1963 	    ' p_attribute19 '||p_attribute19||
1964 	    ' p_attribute20 '||p_attribute20||
1965 	    ' p_information_category '||p_information_category||
1966 	    ' p_information1 '||p_information1||
1967 	    ' p_information2 '||p_information2||
1968 	    ' p_information3 '||p_information3||
1969 	    ' p_information4 '||p_information4||
1970 	    ' p_information5 '||p_information5||
1971 	    ' p_information6 '||p_information6||
1972 	    ' p_information7 '||p_information7||
1973 	    ' p_information8 '||p_information8||
1974 	    ' p_information9 '||p_information9||
1975 	    ' p_information10 '||p_information10||
1976 	    ' p_information11 '||p_information11||
1977 	    ' p_information12 '||p_information12||
1978 	    ' p_information13 '||p_information13||
1979 	    ' p_information14 '||p_information14||
1980 	    ' p_information15 '||p_information15||
1981 	    ' p_information16 '||p_information16||
1982 	    ' p_information17 '||p_information17||
1983 	    ' p_information18 '||p_information18||
1984 	    ' p_information19 '||p_information19||
1985 	    ' p_information20 '||p_information20||
1986 	    ' p_information21 '||p_information21||
1987 	    ' p_information22 '||p_information22||
1988 	    ' p_information23 '||p_information23||
1989 	    ' p_information24 '||p_information24||
1990 	    ' p_information25 '||p_information25||
1991 	    ' p_information26 '||p_information26||
1992 	    ' p_information27 '||p_information27||
1993 	    ' p_information28 '||p_information28||
1994 	    ' p_information29 '||p_information29||
1995 	    ' p_information30 '||p_information30||
1996 	    ' p_item_type '||p_item_type||
1997 	    ' p_item_key  '||p_item_key ||
1998 	    ' p_activity_id '||p_activity_id||
1999 	    ' p_action      '||p_action||
2000 	    ' p_old_extra_info_id '||p_old_extra_info_id||
2001 	    ' p_old_object_version_number '||p_old_object_version_number||
2002 	    ' p_save_mode '||p_save_mode);
2003 
2004       end if;
2005     --
2006     -- if the extra info type is a PERSON
2007     --
2008     if p_eit_type = 'PERSON' then
2009 
2010 	hr_utility.trace('p_eit_type = PERSON:'||l_proc);
2011 
2012 	hr_person_extra_info_api.update_person_extra_info
2013 	(p_validate			=> hr_java_conv_util_ss.get_boolean (
2014                                             p_number => p_validate)
2015   	,p_person_extra_info_id		=> p_extra_info_id
2016   	,p_object_version_number	=> p_object_version_number
2017   	,p_pei_attribute_category	=> p_attribute_category
2018   	,p_pei_attribute1		=> p_attribute1
2019   	,p_pei_attribute2		=> p_attribute2
2020   	,p_pei_attribute3		=> p_attribute3
2021   	,p_pei_attribute4		=> p_attribute4
2022   	,p_pei_attribute5		=> p_attribute5
2023   	,p_pei_attribute6		=> p_attribute6
2024   	,p_pei_attribute7		=> p_attribute7
2025   	,p_pei_attribute8		=> p_attribute8
2026   	,p_pei_attribute9		=> p_attribute9
2027   	,p_pei_attribute10		=> p_attribute10
2028   	,p_pei_attribute11		=> p_attribute11
2029   	,p_pei_attribute12		=> p_attribute12
2030   	,p_pei_attribute13		=> p_attribute13
2031   	,p_pei_attribute14		=> p_attribute14
2032   	,p_pei_attribute15		=> p_attribute15
2033   	,p_pei_attribute16		=> p_attribute16
2034   	,p_pei_attribute17		=> p_attribute17
2035   	,p_pei_attribute18		=> p_attribute18
2036   	,p_pei_attribute19		=> p_attribute19
2037   	,p_pei_attribute20		=> p_attribute20
2038   	,p_pei_information_category	=> p_information_category
2039   	,p_pei_information1		=> p_information1
2040   	,p_pei_information2		=> p_information2
2041   	,p_pei_information3		=> p_information3
2042   	,p_pei_information4		=> p_information4
2043   	,p_pei_information5		=> p_information5
2044   	,p_pei_information6		=> p_information6
2045   	,p_pei_information7		=> p_information7
2046   	,p_pei_information8		=> p_information8
2047   	,p_pei_information9		=> p_information9
2048   	,p_pei_information10		=> p_information10
2049   	,p_pei_information11		=> p_information11
2050   	,p_pei_information12		=> p_information12
2051   	,p_pei_information13		=> p_information13
2052   	,p_pei_information14		=> p_information14
2053   	,p_pei_information15		=> p_information15
2054   	,p_pei_information16		=> p_information16
2055   	,p_pei_information17		=> p_information17
2056   	,p_pei_information18		=> p_information18
2057   	,p_pei_information19		=> p_information19
2058   	,p_pei_information20		=> p_information20
2059   	,p_pei_information21		=> p_information21
2060   	,p_pei_information22		=> p_information22
2061   	,p_pei_information23		=> p_information23
2062   	,p_pei_information24		=> p_information24
2063   	,p_pei_information25		=> p_information25
2064   	,p_pei_information26		=> p_information26
2065   	,p_pei_information27		=> p_information27
2066   	,p_pei_information28		=> p_information28
2067   	,p_pei_information29		=> p_information29
2068   	,p_pei_information30		=> p_information30
2069 	);
2070 
2071     --
2072     -- if the extra info type is a PERSON
2073     --
2074     elsif p_eit_type = 'ASSIGNMENT' then
2075     hr_utility.trace('p_eit_type=ASSIGNMENT:'||l_proc);
2076 
2077 	hr_assignment_extra_info_api.update_assignment_extra_info
2078 	(p_validate			=> hr_java_conv_util_ss.get_boolean (
2079                                             p_number => p_validate)
2080   	,p_assignment_extra_info_id		=> p_extra_info_id
2081   	,p_object_version_number	=> p_object_version_number
2082   	,p_aei_attribute_category	=> p_attribute_category
2083   	,p_aei_attribute1		=> p_attribute1
2084   	,p_aei_attribute2		=> p_attribute2
2085   	,p_aei_attribute3		=> p_attribute3
2086   	,p_aei_attribute4		=> p_attribute4
2087   	,p_aei_attribute5		=> p_attribute5
2088   	,p_aei_attribute6		=> p_attribute6
2089   	,p_aei_attribute7		=> p_attribute7
2090   	,p_aei_attribute8		=> p_attribute8
2091   	,p_aei_attribute9		=> p_attribute9
2092   	,p_aei_attribute10		=> p_attribute10
2093   	,p_aei_attribute11		=> p_attribute11
2094   	,p_aei_attribute12		=> p_attribute12
2095   	,p_aei_attribute13		=> p_attribute13
2096   	,p_aei_attribute14		=> p_attribute14
2097   	,p_aei_attribute15		=> p_attribute15
2098   	,p_aei_attribute16		=> p_attribute16
2099   	,p_aei_attribute17		=> p_attribute17
2100   	,p_aei_attribute18		=> p_attribute18
2101   	,p_aei_attribute19		=> p_attribute19
2102   	,p_aei_attribute20		=> p_attribute20
2103   	,p_aei_information_category	=> p_information_category
2104   	,p_aei_information1		=> p_information1
2105   	,p_aei_information2		=> p_information2
2106   	,p_aei_information3		=> p_information3
2107   	,p_aei_information4		=> p_information4
2108   	,p_aei_information5		=> p_information5
2109   	,p_aei_information6		=> p_information6
2110   	,p_aei_information7		=> p_information7
2111   	,p_aei_information8		=> p_information8
2112   	,p_aei_information9		=> p_information9
2113   	,p_aei_information10		=> p_information10
2114   	,p_aei_information11		=> p_information11
2115   	,p_aei_information12		=> p_information12
2116   	,p_aei_information13		=> p_information13
2117   	,p_aei_information14		=> p_information14
2118   	,p_aei_information15		=> p_information15
2119   	,p_aei_information16		=> p_information16
2120   	,p_aei_information17		=> p_information17
2121   	,p_aei_information18		=> p_information18
2122   	,p_aei_information19		=> p_information19
2123   	,p_aei_information20		=> p_information20
2124   	,p_aei_information21		=> p_information21
2125   	,p_aei_information22		=> p_information22
2126   	,p_aei_information23		=> p_information23
2127   	,p_aei_information24		=> p_information24
2128   	,p_aei_information25		=> p_information25
2129   	,p_aei_information26		=> p_information26
2130   	,p_aei_information27		=> p_information27
2131   	,p_aei_information28		=> p_information28
2132   	,p_aei_information29		=> p_information29
2133   	,p_aei_information30		=> p_information30
2134 	);
2135 
2136     end if;
2137  --
2138  -- PB : Now rollback all the changes which are performed.
2139  --
2140  hr_utility.set_location('Exiting:'||l_proc, 30);
2141 
2142 EXCEPTION
2143    WHEN OTHERS THEN
2144    hr_utility.set_location('Exception:Others'||l_proc,555);
2145     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
2146                              p_error_message => p_error_message);
2147 
2148     hr_utility.trace(
2149            'hr_process_eit_ss.create_eit' ||
2150            ' l_error_message: '||p_error_message ||' '|| sqlerrm );
2151 
2152     --
2153     -- A validation or unexpected error has occurred
2154     --
2155     --
2156 END update_eit;
2157 
2158 
2159 -- ----------------------------------------------------------------------------
2160 -- |----------------------------<  delete_eit  >------------------------------|
2161 -- ----------------------------------------------------------------------------
2162 procedure delete_eit
2163   (p_validate                  in     number   default 0
2164   ,p_login_person_id           in     number default null
2165   ,p_eit_type                  in     varchar2
2166   ,p_eit_type_id               in     number
2167   ,p_person_id                 in     number
2168   ,p_information_type          in     varchar2
2169   ,p_extra_info_id             in     number
2170   ,p_object_version_number     in      number
2171   -- EndRegistration
2172   ,p_item_type                     in     varchar2
2173   ,p_item_key                      in     varchar2
2174   ,p_activity_id                   in     number
2175   ,p_action                        in     varchar2
2176   ,p_old_extra_info_id             in     number   default null
2177   ,p_old_object_version_number     in     number   default null
2178   ,p_save_mode                     in     varchar2 default null
2179   ,p_error_message                 out nocopy    long
2180   ) IS
2181 --
2182   l_error_message                 long default null;
2183 l_proc                  varchar2(72) := g_package||'delete_sit';
2184 --
2185 BEGIN
2186   --
2187   hr_utility.set_location('Entering:'|| l_proc,10);
2188     --
2189     -- Call the actual API.
2190     --
2191     --
2192     -- if the extra info type is a PERSON
2193     --
2194   IF p_eit_type = 'PERSON' THEN
2195      hr_utility.trace('p_eit_type = PERSON'||l_proc);
2196      hr_person_extra_info_api.delete_person_extra_info
2197   	(p_validate                      => hr_java_conv_util_ss.get_boolean (
2198                                             p_number => p_validate)
2199   	,p_person_extra_info_id          => p_extra_info_id
2200   	,p_object_version_number         => p_object_version_number
2201   	);
2202   ELSIF p_eit_type = 'ASSIGNMENT' THEN
2203 
2204      hr_utility.trace('p_eit_type=ASSIGNMENT:'||l_proc);
2205      hr_assignment_extra_info_api.DELETE_ASSIGNMENT_EXTRA_INFO
2206   	(p_validate                      => hr_java_conv_util_ss.get_boolean (
2207                                             p_number => p_validate)
2208   	,p_assignment_extra_info_id      => p_extra_info_id
2209   	,p_object_version_number         => p_object_version_number
2210   	);
2211 
2212   END IF;
2213 
2214   hr_utility.set_location('Exiting:'||l_proc, 25);
2215 
2216 EXCEPTION
2217    WHEN OTHERS THEN
2218    hr_utility.set_location('Exception:Others'||l_proc,555);
2219     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
2220                              p_error_message => p_error_message);
2221     --
2222     -- A validation or unexpected error has occurred
2223     --
2224   --
2225 END delete_eit;
2226 
2227 
2228 
2229 /******************************************************************************/
2230 /* this procedure dump the eit table information                              */
2231 /******************************************************************************/
2232 
2233 PROCEDURE dump_eit_table (p_eit_table  in   HR_EIT_STRUCTURE_TABLE ) IS
2234 
2235 l_index NUMBER;
2236 l_proc   varchar2(72)  := g_package||'dump_eit_table';
2237 
2238 BEGIN
2239 
2240 
2241    hr_utility.set_location('Entering:'||l_proc, 5);
2242    l_index := p_eit_table.first;
2243    hr_utility.trace('Entering LOOP:'||l_proc);
2244    LOOP
2245    EXIT WHEN
2246      (NOT p_eit_table.exists(l_index));
2247 
2248    if(hr_utility.debug_enabled) then
2249 
2250     hr_utility.trace(
2251            'hr_process_eit_ss.dump_eit_table' ||
2252            ' l_index :'||l_index||
2253            ' Action :'||p_eit_table(l_index).action||
2254            ' extra_info_id: '||p_eit_table(l_index).extra_info_id||
2255            ' object_version_number :'||p_eit_table(l_index).object_version_number||
2256 	   ' information_type :'||p_eit_table(l_index).information_type||
2257            ' attribute_category :'||p_eit_table(l_index).attribute_category||
2258            ' ATT1:'||p_eit_table(l_index).attribute1||
2259       	   ' ATT2:'||p_eit_table(l_index).attribute2||
2260 	   ' ATT3:'||p_eit_table(l_index).attribute3||
2261 	   ' ATT4:'||p_eit_table(l_index).attribute4||
2262 	   ' ATT5:'||p_eit_table(l_index).attribute5||
2263 	   ' ATT6:'||p_eit_table(l_index).attribute6||
2264 	   ' ATT7:'||p_eit_table(l_index).attribute7||
2265 	   ' ATT8:'||p_eit_table(l_index).attribute8||
2266 	   ' ATT9:'||p_eit_table(l_index).attribute9||
2267 	   ' ATT10:'||p_eit_table(l_index).attribute10||
2268 	   ' ATT11:'||p_eit_table(l_index).attribute11||
2269 	   ' ATT12:'||p_eit_table(l_index).attribute12||
2270 	   ' ATT13:'||p_eit_table(l_index).attribute13||
2271 	   ' ATT14:'||p_eit_table(l_index).attribute14||
2272 	   ' ATT15:'||p_eit_table(l_index).attribute15||
2273 	   ' ATT16:'||p_eit_table(l_index).attribute16||
2274 	   ' ATT17:'||p_eit_table(l_index).attribute17||
2275 	   ' ATT18:'||p_eit_table(l_index).attribute18||
2276 	   ' ATT19:'||p_eit_table(l_index).attribute19||
2277 	   ' ATT20:'||p_eit_table(l_index).attribute20||
2278 	   ' information_category :'||p_eit_table(l_index).information_category||
2279 	   ' information1 :'||p_eit_table(l_index).information1||
2280 	   ' information2 :'||p_eit_table(l_index).information2||
2281 	   ' information3 :'||p_eit_table(l_index).information3||
2282 	   ' information4 :'||p_eit_table(l_index).information4||
2283 	   ' information5 :'||p_eit_table(l_index).information5||
2284 	   ' information6 :'||p_eit_table(l_index).information6||
2285 	   ' information7 :'||p_eit_table(l_index).information7||
2286 	   ' information8 :'||p_eit_table(l_index).information8||
2287 	   ' information9 :'||p_eit_table(l_index).information9||
2288 	   ' information10:'||p_eit_table(l_index).information10||
2289 	   ' information11:'||p_eit_table(l_index).information11||
2290 	   ' information12:'||p_eit_table(l_index).information12||
2291 	   ' information13:'||p_eit_table(l_index).information13||
2292 	   ' information14:'||p_eit_table(l_index).information14||
2293 	   ' information15:'||p_eit_table(l_index).information15||
2294 	   ' information16:'||p_eit_table(l_index).information16||
2295 	   ' information17:'||p_eit_table(l_index).information17||
2296 	   ' information18:'||p_eit_table(l_index).information18||
2297 	   ' information19:'||p_eit_table(l_index).information19||
2298 	   ' information20:'||p_eit_table(l_index).information20||
2299 	   ' information21:'||p_eit_table(l_index).information21||
2300 	   ' information22:'||p_eit_table(l_index).information22||
2301 	   ' information23:'||p_eit_table(l_index).information23||
2302 	   ' information24:'||p_eit_table(l_index).information24||
2303 	   ' information25:'||p_eit_table(l_index).information25||
2304 	   ' information26:'||p_eit_table(l_index).information26||
2305 	   ' information27:'||p_eit_table(l_index).information27||
2306 	   ' information28:'||p_eit_table(l_index).information28||
2307 	   ' information29:'||p_eit_table(l_index).information29||
2308 	   ' information30:'||p_eit_table(l_index).information30);
2309 
2310      end if;
2311 
2312      l_index := p_eit_table.next(l_index);
2313    END LOOP;
2314    hr_utility.trace('End of LOOP:'||l_proc );
2315    hr_utility.set_location('Exiting:'||l_proc, 20);
2316 
2317 END dump_eit_table;
2318 
2319 
2320 end hr_process_eit_ss;