DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PROCESS_SIT_SS

Source


1 Package Body hr_process_sit_ss as
2 /* $Header: hrsitwrs.pkb 120.0 2005/05/31 02:46:37 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := 'HR_PROCESS_SIT_SS';
7 -- ----------------------------------------------------------------------------
8 -- |-----------------------< save_transaction_data >--------------------------|
9 -- ----------------------------------------------------------------------------
10 PROCEDURE save_transaction_data
11     (p_person_id                 in   number
12     ,p_login_person_id           in   number
13     ,p_person_analysis_id        in   number
14     ,p_pea_object_version_number in   number
15     ,p_effective_date            in   date   default null
16     ,p_date_from                 in   date   default null
17     ,p_date_to                   in   date   default null
18     ,p_analysis_criteria_id      in   number
19     ,p_old_analysis_criteria_id  in   number
20     ,p_business_group_id         in   number
21     ,p_id_flex_num               in   number
22     ,p_structure_code            in   varchar2
23     ,p_structure_name            in   varchar2
24     ,p_item_type                 in   varchar2
25     ,p_item_key                  in   varchar2
26     ,p_activity_id               in   number
27     ,p_action                    in   varchar2
28     ,p_flow_mode                 in   varchar2 default null
29     ,p_transaction_step_id       out nocopy number
30     ,p_error_message             out nocopy long
31     ,p_attribute_category        in   varchar2
32     ,p_attribute1                in   varchar2
33     ,p_attribute2                in   varchar2
34     ,p_attribute3                in   varchar2
35     ,p_attribute4                in   varchar2
36     ,p_attribute5                in   varchar2
37     ,p_attribute6                in   varchar2
38     ,p_attribute7                in   varchar2
39     ,p_attribute8                in   varchar2
40     ,p_attribute9                in   varchar2
41     ,p_attribute10               in   varchar2
42     ,p_attribute11               in   varchar2
43     ,p_attribute12               in   varchar2
44     ,p_attribute13               in   varchar2
45     ,p_attribute14               in   varchar2
46     ,p_attribute15               in   varchar2
47     ,p_attribute16               in   varchar2
48     ,p_attribute17               in   varchar2
49     ,p_attribute18               in   varchar2
50     ,p_attribute19               in   varchar2
51     ,p_attribute20               in   varchar2
52   ) is
53   l_transaction_id             number default null;
54   l_trans_obj_vers_num         number default null;
55   l_result                     varchar2(100) default null;
56   l_count                      number default 0;
57   l_transaction_table          hr_transaction_ss.transaction_table;
58   l_review_item_name           varchar2(50);
59   l_new_hire              boolean default false;
60   l_proc   varchar2(72)  := g_package||'save_transaction_data';
61 
62 
63 BEGIN
64 
65   hr_utility.set_location('Entering:'||l_proc, 5);
66   if p_flow_mode is not null and
67      p_flow_mode = hr_process_assignment_ss.g_new_hire_registration
68   then
69     hr_utility.set_location('flow mode!=NULL AND is NewHire Registration:'||l_proc,10);
70     l_new_hire := TRUE;
71   end if;
72 
73   if l_new_hire then
74     hr_utility.set_location('if l_new_hire then:'||l_proc,15);
75     rollback;
76   end if;
77   --
78   -- First, check if transaction id exists or not
79   l_transaction_id := hr_transaction_ss.get_transaction_id
80                      (p_item_type   => p_item_type
81                      ,p_item_key    => p_item_key);
82   --
83   IF l_transaction_id is null THEN
84      -- Start a Transaction
85         hr_utility.set_location('l_transaction_id is null THEN:'||l_proc,15);
86         hr_transaction_ss.start_transaction
87            (itemtype   => p_item_type
88            ,itemkey    => p_item_key
89            ,actid      => p_activity_id
90            ,funmode    => 'RUN'
91            ,p_login_person_id => p_login_person_id
92            ,result     => l_result);
93 
94         l_transaction_id := hr_transaction_ss.get_transaction_id
95                         (p_item_type   => p_item_type
96                         ,p_item_key    => p_item_key);
97   END IF;
98   --
99   -- Create a transaction step
100   --
101   hr_transaction_api.create_transaction_step
102      (p_validate              => false
103      ,p_creator_person_id     => p_login_person_id
104      ,p_transaction_id        => l_transaction_id
105      ,p_api_name              => g_package || '.PROCESS_API'
106      ,p_item_type             => p_item_type
107      ,p_item_key              => p_item_key
108      ,p_activity_id           => p_activity_id
109      ,p_transaction_step_id   => p_transaction_step_id
110      ,p_object_version_number => l_trans_obj_vers_num);
111   --
112   l_count := 1;
113   l_transaction_table(l_count).param_name := 'P_PERSON_ID';
114   l_transaction_table(l_count).param_value := p_person_id;
115   l_transaction_table(l_count).param_data_type := 'NUMBER';
116   --
117   l_count := l_count + 1;
118   l_transaction_table(l_count).param_name := 'P_LOGIN_PERSON_ID';
119   l_transaction_table(l_count).param_value := p_login_person_id;
120   l_transaction_table(l_count).param_data_type := 'NUMBER';
121   --
122   l_count := l_count + 1;
123   l_transaction_table(l_count).param_name := 'P_PERSON_ANALYSIS_ID';
124   l_transaction_table(l_count).param_value := p_person_analysis_id;
125   l_transaction_table(l_count).param_data_type := 'NUMBER';
126   --
127   l_count := l_count + 1;
128   l_transaction_table(l_count).param_name := 'P_PEA_OBJECT_VERSION_NUMBER';
129   l_transaction_table(l_count).param_value := p_pea_object_version_number;
130   l_transaction_table(l_count).param_data_type := 'NUMBER';
131   --
132   l_count := l_count + 1;
133   l_transaction_table(l_count).param_name := 'P_DATE_FROM';
134   l_transaction_table(l_count).param_value := to_char(p_date_from,
135                                               hr_transaction_ss.g_date_format);
136   l_transaction_table(l_count).param_data_type := 'DATE';
137   --
138   l_count := l_count + 1;
139   l_transaction_table(l_count).param_name := 'P_DATE_TO';
140   l_transaction_table(l_count).param_value := to_char(p_date_to,
141                                               hr_transaction_ss.g_date_format);
142   l_transaction_table(l_count).param_data_type := 'DATE';
143   --
144   l_count := l_count + 1;
145   l_transaction_table(l_count).param_name := 'P_EFFECTIVE_DATE';
146   l_transaction_table(l_count).param_value := to_char(p_effective_date,
147                                               hr_transaction_ss.g_date_format);
148   l_transaction_table(l_count).param_data_type := 'DATE';
149   --
150   l_count := l_count + 1;
151   l_transaction_table(l_count).param_name := 'P_ANALYSIS_CRITERIA_ID';
152   l_transaction_table(l_count).param_value := p_analysis_criteria_id;
153   l_transaction_table(l_count).param_data_type := 'NUMBER';
154   --
155   l_count := l_count + 1;
156   l_transaction_table(l_count).param_name := 'P_OLD_ANALYSIS_CRITERIA_ID';
157   l_transaction_table(l_count).param_value := p_old_analysis_criteria_id;
158   l_transaction_table(l_count).param_data_type := 'NUMBER';
159   --
160   l_count := l_count + 1;
161   l_transaction_table(l_count).param_name := 'P_BUSINESS_GROUP_ID';
162   l_transaction_table(l_count).param_value := p_business_group_id;
163   l_transaction_table(l_count).param_data_type := 'NUMBER';
164   --
165   l_count := l_count + 1;
166   l_transaction_table(l_count).param_name := 'P_ID_FLEX_NUM';
167   l_transaction_table(l_count).param_value := p_id_flex_num;
168   l_transaction_table(l_count).param_data_type := 'NUMBER';
169   --
170   l_count := l_count + 1;
171   l_transaction_table(l_count).param_name := 'P_STRUCTURE_CODE';
172   l_transaction_table(l_count).param_value := p_structure_code;
173   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
174   --
175   l_count := l_count + 1;
176   l_transaction_table(l_count).param_name := 'P_STRUCTURE_NAME';
177   l_transaction_table(l_count).param_value := p_structure_name;
178   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
179   --
180   l_count := l_count + 1;
181   l_transaction_table(l_count).param_name := 'P_ACTION';
182   l_transaction_table(l_count).param_value := p_action;
183   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
184 
185   l_count := l_count + 1;
186   l_transaction_table(l_count).param_name := 'P_REVIEW_ACTID';
187   l_transaction_table(l_count).param_value := p_activity_id;
188   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
189 
190   l_count := l_count + 1;
191   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE_CATEGORY';
192   l_transaction_table(l_count).param_value := p_attribute_category;
193   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
194 
195   l_count := l_count + 1;
196   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE1';
197   l_transaction_table(l_count).param_value := p_attribute1;
198   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
199 
200   l_count := l_count + 1;
201   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE2';
202   l_transaction_table(l_count).param_value := p_attribute2;
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_ATTRIBUTE3';
207   l_transaction_table(l_count).param_value := p_attribute3;
208   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
209 
210   l_count := l_count + 1;
211   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE4';
212   l_transaction_table(l_count).param_value := p_attribute4;
213   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
214 
215   l_count := l_count + 1;
216   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE5';
217   l_transaction_table(l_count).param_value := p_attribute5;
218   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
219 
220   l_count := l_count + 1;
221   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE6';
222   l_transaction_table(l_count).param_value := p_attribute6;
223   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
224 
225   l_count := l_count + 1;
226   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE7';
227   l_transaction_table(l_count).param_value := p_attribute7;
228   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
229 
230   l_count := l_count + 1;
231   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE8';
232   l_transaction_table(l_count).param_value := p_attribute8;
233   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
234 
235   l_count := l_count + 1;
236   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE9';
237   l_transaction_table(l_count).param_value := p_attribute9;
238   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
239 
240   l_count := l_count + 1;
241   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE10';
242   l_transaction_table(l_count).param_value := p_attribute10;
243   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
244 
245   l_count := l_count + 1;
246   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE11';
247   l_transaction_table(l_count).param_value := p_attribute11;
248   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
249 
250   l_count := l_count + 1;
251   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE12';
252   l_transaction_table(l_count).param_value := p_attribute12;
253   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
254 
255   l_count := l_count + 1;
256   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE13';
257   l_transaction_table(l_count).param_value := p_attribute13;
258   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
259 
260   l_count := l_count + 1;
261   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE14';
262   l_transaction_table(l_count).param_value := p_attribute14;
263   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
264 
265   l_count := l_count + 1;
266   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE15';
267   l_transaction_table(l_count).param_value := p_attribute15;
268   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
269 
270   l_count := l_count + 1;
271   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE16';
272   l_transaction_table(l_count).param_value := p_attribute16;
273   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
274 
275   l_count := l_count + 1;
276   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE17';
277   l_transaction_table(l_count).param_value := p_attribute17;
278   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
279 
280   l_count := l_count + 1;
281   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE18';
282   l_transaction_table(l_count).param_value := p_attribute18;
283   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
284 
285   l_count := l_count + 1;
286   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE19';
287   l_transaction_table(l_count).param_value := p_attribute19;
288   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
289 
290   l_count := l_count + 1;
291   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE20';
292   l_transaction_table(l_count).param_value := p_attribute20;
293   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
294 
295 
296   l_review_item_name :=
297         wf_engine.GetActivityAttrText(itemtype  => p_item_type,
298                                       itemkey   => p_item_key,
299                                       actid     => p_activity_id,
300                                       aname     => gv_wf_review_region_item);
301 
302   l_count := l_count + 1;
303   l_transaction_table(l_count).param_name := 'P_REVIEW_PROC_CALL';
304   l_transaction_table(l_count).param_value := l_review_item_name;
305   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
306 
307   -- Now save the transaction step
308   hr_transaction_ss.save_transaction_step
309                 (p_item_type => p_item_type
310                 ,p_item_key => p_item_key
311                 ,p_actid => p_activity_id
312                 ,p_login_person_id => p_login_person_id
313                 ,p_transaction_step_id => p_transaction_step_id
314                 ,p_api_name => g_package || '.PROCESS_API'
315                 ,p_transaction_data => l_transaction_table);
316 
317 hr_utility.set_location('Exiting:'||l_proc, 25);
318 EXCEPTION
319   -- Catch any exception thrown while storing transaction data
320   WHEN OTHERS THEN
321     hr_utility.set_location('Exception:Others'||l_proc,555);
322     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
323                              p_error_message => p_error_message);
324 END save_transaction_data;
325 
326 /*
327 This procedure will get the transaction data for the given transaction step id
328 */
329 -- ----------------------------------------------------------------------------
330 -- |-----------------------< get_transaction_data >---------------------------|
331 -- ----------------------------------------------------------------------------
332 PROCEDURE get_transaction_data
333     (p_transaction_step_id       in    number
334     ,p_person_id                 out nocopy  number
335     ,p_login_person_id           out nocopy  number
336     ,p_person_analysis_id        out nocopy  number
337     ,p_pea_object_version_number out nocopy  number
338     ,p_effective_date            out nocopy  date
339     ,p_date_from                 out nocopy  date
340     ,p_date_to                   out nocopy  date
341     ,p_analysis_criteria_id      out nocopy  number
342     ,p_old_analysis_criteria_id  out nocopy  number
343     ,p_business_group_id         out nocopy  number
344     ,p_id_flex_num               out nocopy  number
345     ,p_structure_code            out nocopy  varchar2
346     ,p_structure_name            out nocopy  varchar2
347     ,p_action                    out nocopy  varchar2
348     ,p_error_message             out nocopy  long
349     ,p_attribute_category        out nocopy varchar2
350     ,p_attribute1                out nocopy varchar2
351     ,p_attribute2                out nocopy varchar2
352     ,p_attribute3                out nocopy varchar2
353     ,p_attribute4                out nocopy varchar2
354     ,p_attribute5                out nocopy varchar2
355     ,p_attribute6                out nocopy varchar2
356     ,p_attribute7                out nocopy varchar2
357     ,p_attribute8                out nocopy varchar2
358     ,p_attribute9                out nocopy varchar2
359     ,p_attribute10               out nocopy varchar2
360     ,p_attribute11               out nocopy varchar2
361     ,p_attribute12               out nocopy varchar2
362     ,p_attribute13               out nocopy varchar2
363     ,p_attribute14               out nocopy varchar2
364     ,p_attribute15               out nocopy varchar2
365     ,p_attribute16               out nocopy varchar2
366     ,p_attribute17               out nocopy varchar2
367     ,p_attribute18               out nocopy varchar2
368     ,p_attribute19               out nocopy varchar2
369     ,p_attribute20               out nocopy varchar2
370   ) is
371 
372    l_trans_step_id                    number default null;
373    l_trans_obj_vers_num               number default null;
374    l_trans_rec_count                  integer default 0;
375    l_proc   varchar2(72)  := g_package||'get_transaction_data';
376 
377 BEGIN
378 --
379   hr_utility.set_location('Entering:'||l_proc, 5);
380   p_person_id := hr_transaction_api.get_number_value
381     (p_transaction_step_id => p_transaction_step_id
382     ,p_name                => 'P_PERSON_ID');
383 
384 -- start registration
385 -- If its a new user registration flow then the personId which is coming
386 -- from transaction table will not be valid because the person has just been
387 -- created by the process_api of the hr_process_person_ss.process_api.
388 -- We can get that person Id and assignment id by making a call
389 -- to the global parameters but we need to branch out the code.
390 -- We also need the latest Object version Number not the one on transaction tbl
391 
392 -- adding the session id check to avoid connection pooling problems.
393   if (( hr_process_person_ss.g_person_id is not null) and
394                 (hr_process_person_ss.g_session_id= ICX_SEC.G_SESSION_ID))
395   then
396     hr_utility.set_location('If it is ICX_SEC.G_SESSION_ID:'||l_proc,10);
397     p_person_id := hr_process_person_ss.g_person_id;
398   end if;
399 
400 -- end registration
401 --
402 
403 --
404   p_login_person_id := hr_transaction_api.get_number_value
405     (p_transaction_step_id => p_transaction_step_id
406     ,p_name                => 'P_LOGIN_PERSON_ID');
407 --
408   p_person_analysis_id := hr_transaction_api.get_number_value
409     (p_transaction_step_id => p_transaction_step_id
410     ,p_name                => 'P_PERSON_ANALYSIS_ID');
411 --
412   p_pea_object_version_number := hr_transaction_api.get_number_value
413     (p_transaction_step_id => p_transaction_step_id
414     ,p_name                => 'P_PEA_OBJECT_VERSION_NUMBER');
415 --
416   p_effective_date:= hr_transaction_api.get_date_value
417     (p_transaction_step_id => p_transaction_step_id
418     ,p_name                => 'P_EFFECTIVE_DATE');
419 --
420   p_date_from:= hr_transaction_api.get_date_value
421     (p_transaction_step_id => p_transaction_step_id
422     ,p_name                => 'P_DATE_FROM');
423 --
424   p_date_to:= hr_transaction_api.get_date_value
425     (p_transaction_step_id => p_transaction_step_id
426     ,p_name                => 'P_DATE_TO');
427 --
428   p_analysis_criteria_id:= hr_transaction_api.get_number_value
429     (p_transaction_step_id => p_transaction_step_id
430     ,p_name                => 'P_ANALYSIS_CRITERIA_ID');
431 --
432   p_old_analysis_criteria_id:= hr_transaction_api.get_number_value
433     (p_transaction_step_id => p_transaction_step_id
434     ,p_name                => 'P_OLD_ANALYSIS_CRITERIA_ID');
435 --
436   p_business_group_id:= hr_transaction_api.get_number_value
437     (p_transaction_step_id => p_transaction_step_id
438     ,p_name                => 'P_BUSINESS_GROUP_ID');
439 --
440   p_id_flex_num:= hr_transaction_api.get_number_value
441     (p_transaction_step_id => p_transaction_step_id
442     ,p_name                => 'P_ID_FLEX_NUM');
443 --
444   p_structure_code:= hr_transaction_api.get_varchar2_value
445     (p_transaction_step_id => p_transaction_step_id
446     ,p_name                => 'P_STRUCTURE_CODE');
447 --
448   p_structure_name:= hr_transaction_api.get_varchar2_value
449     (p_transaction_step_id => p_transaction_step_id
450     ,p_name                => 'P_STRUCTURE_NAME');
451 --
452   p_action:= hr_transaction_api.get_varchar2_value
453     (p_transaction_step_id => p_transaction_step_id
454     ,p_name                => 'P_ACTION');
455 
456 --
457   p_attribute_category:= hr_transaction_api.get_varchar2_value
458     (p_transaction_step_id => p_transaction_step_id
459     ,p_name                => 'P_ATTRIBUTE_CATEGORY');
460 
461 --
462   p_attribute1:= hr_transaction_api.get_varchar2_value
463     (p_transaction_step_id => p_transaction_step_id
464     ,p_name                => 'P_ATTRIBUTE1');
465 
466 --
467   p_attribute2:= hr_transaction_api.get_varchar2_value
468     (p_transaction_step_id => p_transaction_step_id
469     ,p_name                => 'P_ATTRIBUTE2');
470 
471 --
472   p_attribute3:= hr_transaction_api.get_varchar2_value
473     (p_transaction_step_id => p_transaction_step_id
474     ,p_name                => 'P_ATTRIBUTE3');
475 
476 --
477   p_attribute4:= hr_transaction_api.get_varchar2_value
478     (p_transaction_step_id => p_transaction_step_id
479     ,p_name                => 'P_ATTRIBUTE4');
480 
481 --
482   p_attribute5:= hr_transaction_api.get_varchar2_value
483     (p_transaction_step_id => p_transaction_step_id
484     ,p_name                => 'P_ATTRIBUTE5');
485 
486 --
487   p_attribute6:= hr_transaction_api.get_varchar2_value
488     (p_transaction_step_id => p_transaction_step_id
489     ,p_name                => 'P_ATTRIBUTE6');
490 
491 --
492   p_attribute7:= hr_transaction_api.get_varchar2_value
493     (p_transaction_step_id => p_transaction_step_id
494     ,p_name                => 'P_ATTRIBUTE7');
495 
496 --
497   p_attribute8:= hr_transaction_api.get_varchar2_value
498     (p_transaction_step_id => p_transaction_step_id
499     ,p_name                => 'P_ATTRIBUTE8');
500 
501 --
502   p_attribute9:= hr_transaction_api.get_varchar2_value
503     (p_transaction_step_id => p_transaction_step_id
504     ,p_name                => 'P_ATTRIBUTE9');
505 
506 --
507   p_attribute10:= hr_transaction_api.get_varchar2_value
508     (p_transaction_step_id => p_transaction_step_id
509     ,p_name                => 'P_ATTRIBUTE10');
510 
511 --
512   p_attribute11:= hr_transaction_api.get_varchar2_value
513     (p_transaction_step_id => p_transaction_step_id
514     ,p_name                => 'P_ATTRIBUTE11');
515 
516 --
517   p_attribute12:= hr_transaction_api.get_varchar2_value
518     (p_transaction_step_id => p_transaction_step_id
519     ,p_name                => 'P_ATTRIBUTE12');
520 
521 --
522   p_attribute13:= hr_transaction_api.get_varchar2_value
523     (p_transaction_step_id => p_transaction_step_id
524     ,p_name                => 'P_ATTRIBUTE13');
525 
526 --
527   p_attribute14:= hr_transaction_api.get_varchar2_value
528     (p_transaction_step_id => p_transaction_step_id
529     ,p_name                => 'P_ATTRIBUTE14');
530 
531 --
532   p_attribute15:= hr_transaction_api.get_varchar2_value
533     (p_transaction_step_id => p_transaction_step_id
534     ,p_name                => 'P_ATTRIBUTE15');
535 
536 --
537   p_attribute16:= hr_transaction_api.get_varchar2_value
538     (p_transaction_step_id => p_transaction_step_id
539     ,p_name                => 'P_ATTRIBUTE16');
540 
541 --
542   p_attribute17:= hr_transaction_api.get_varchar2_value
543     (p_transaction_step_id => p_transaction_step_id
544     ,p_name                => 'P_ATTRIBUTE17');
545 
546 --
547   p_attribute18:= hr_transaction_api.get_varchar2_value
548     (p_transaction_step_id => p_transaction_step_id
549     ,p_name                => 'P_ATTRIBUTE18');
550 
551 --
552   p_attribute19:= hr_transaction_api.get_varchar2_value
553     (p_transaction_step_id => p_transaction_step_id
554     ,p_name                => 'P_ATTRIBUTE19');
555 
556 --
557   p_attribute20:= hr_transaction_api.get_varchar2_value
558     (p_transaction_step_id => p_transaction_step_id
559     ,p_name                => 'P_ATTRIBUTE20');
560 
561 
562 hr_utility.set_location('Exiting:'||l_proc, 15);
563 EXCEPTION
564   -- Catch any exception thrown while storing transaction data
565   WHEN OTHERS THEN
566     hr_utility.set_location('Exception:Others'||l_proc,555);
567     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
568                              p_error_message => p_error_message);
569 END get_transaction_data;
570 --
571 -- ----------------------------------------------------------------------------
572 -- |-----------------------------< create_sit >-------------------------------|
573 -- ----------------------------------------------------------------------------
574 --
575 procedure insert_sit
576   (p_validate                  in    number default 1
577   ,p_person_id                 in    number
578   ,p_business_group_id         in    number
579   ,p_id_flex_num               in    number
580   ,p_effective_date            in    date
581   ,p_date_from                 in    date     default null
582   ,p_date_to                   in    date     default null
583   ,p_analysis_criteria_id      in    number
584   ,p_person_analysis_id        out nocopy  number
585   ,p_pea_object_version_number out nocopy  number
586   ,p_login_person_id           in    number
587   ,p_item_type                 in    varchar2
588   ,p_item_key                  in    varchar2
589   ,p_activity_id               in    number
590   ,p_action                    in    varchar2
591   ,p_save_mode                 in    varchar2 default null
592   ,p_error_message             out nocopy  long
593     ,p_attribute_category        in   varchar2
594     ,p_attribute1                in   varchar2
595     ,p_attribute2                in   varchar2
596     ,p_attribute3                in   varchar2
597     ,p_attribute4                in   varchar2
598     ,p_attribute5                in   varchar2
599     ,p_attribute6                in   varchar2
600     ,p_attribute7                in   varchar2
601     ,p_attribute8                in   varchar2
602     ,p_attribute9                in   varchar2
603     ,p_attribute10               in   varchar2
604     ,p_attribute11               in   varchar2
605     ,p_attribute12               in   varchar2
606     ,p_attribute13               in   varchar2
607     ,p_attribute14               in   varchar2
608     ,p_attribute15               in   varchar2
609     ,p_attribute16               in   varchar2
610     ,p_attribute17               in   varchar2
611     ,p_attribute18               in   varchar2
612     ,p_attribute19               in   varchar2
613     ,p_attribute20               in   varchar2
614   ) is
615   --
616   -- Declare cursors and local variables
617   --
618   l_proc                       varchar2(72) := g_package||'insert_sit';
619   l_analysis_criteria_id       number;
620   l_analysis_criteria_rec      hr_process_sit_ss.per_analysis_criteria_rec;
621   l_error_message              long default null;
622   --
623 begin
624   hr_utility.set_location('Entering:'|| l_proc, 10);
625 
626 
627   -- Get the segments from the ccid
628      l_analysis_criteria_rec := get_segments_from_ccid(p_analysis_criteria_id);
629 
630   --
631   -- Call API Create SIT
632   --
633   hr_sit_api.create_sit(
634      p_validate                  => hr_java_conv_util_ss.get_boolean (
635                                             p_number => p_validate
636                                           )
637     ,p_person_id                 => p_person_id
638     ,p_business_group_id         => p_business_group_id
639     ,p_id_flex_num               => p_id_flex_num
640     ,p_effective_date            => p_effective_date
641     ,p_date_from                 => p_date_from
642     ,p_date_to                   => p_date_to
643     ,p_segment1                  => l_analysis_criteria_rec.segment1
644     ,p_segment2                  => l_analysis_criteria_rec.segment2
645     ,p_segment3                  => l_analysis_criteria_rec.segment3
646     ,p_segment4                  => l_analysis_criteria_rec.segment4
647     ,p_segment5                  => l_analysis_criteria_rec.segment5
648     ,p_segment6                  => l_analysis_criteria_rec.segment6
649     ,p_segment7                  => l_analysis_criteria_rec.segment7
650     ,p_segment8                  => l_analysis_criteria_rec.segment8
651     ,p_segment9                  => l_analysis_criteria_rec.segment9
652     ,p_segment10                 => l_analysis_criteria_rec.segment10
653     ,p_segment11                 => l_analysis_criteria_rec.segment11
654     ,p_segment12                 => l_analysis_criteria_rec.segment12
655     ,p_segment13                 => l_analysis_criteria_rec.segment13
656     ,p_segment14                 => l_analysis_criteria_rec.segment14
657     ,p_segment15                 => l_analysis_criteria_rec.segment15
658     ,p_segment16                 => l_analysis_criteria_rec.segment16
659     ,p_segment17                 => l_analysis_criteria_rec.segment17
660     ,p_segment18                 => l_analysis_criteria_rec.segment18
661     ,p_segment19                 => l_analysis_criteria_rec.segment19
662     ,p_segment20                 => l_analysis_criteria_rec.segment20
663     ,p_segment21                 => l_analysis_criteria_rec.segment21
664     ,p_segment22                 => l_analysis_criteria_rec.segment22
665     ,p_segment23                 => l_analysis_criteria_rec.segment23
666     ,p_segment24                 => l_analysis_criteria_rec.segment24
667     ,p_segment25                 => l_analysis_criteria_rec.segment25
668     ,p_segment26                 => l_analysis_criteria_rec.segment26
669     ,p_segment27                 => l_analysis_criteria_rec.segment27
670     ,p_segment28                 => l_analysis_criteria_rec.segment28
671     ,p_segment29                 => l_analysis_criteria_rec.segment29
672     ,p_segment30                 => l_analysis_criteria_rec.segment30
673     ,p_analysis_criteria_id      => l_analysis_criteria_id
674     ,p_attribute_category        => p_attribute_category
675     ,p_attribute1                => p_attribute1
676     ,p_attribute2                => p_attribute2
677     ,p_attribute3                => p_attribute3
678     ,p_attribute4                => p_attribute4
679     ,p_attribute5                => p_attribute5
680     ,p_attribute6                => p_attribute6
681     ,p_attribute7                => p_attribute7
682     ,p_attribute8                => p_attribute8
683     ,p_attribute9                => p_attribute9
684     ,p_attribute10               => p_attribute10
685     ,p_attribute11               => p_attribute11
686     ,p_attribute12               => p_attribute12
687     ,p_attribute13               => p_attribute13
688     ,p_attribute14               => p_attribute14
689     ,p_attribute15               => p_attribute15
690     ,p_attribute16               => p_attribute16
691     ,p_attribute17               => p_attribute17
692     ,p_attribute18               => p_attribute18
693     ,p_attribute19               => p_attribute19
694     ,p_attribute20               => p_attribute20
695     ,p_person_analysis_id        => p_person_analysis_id
696     ,p_pea_object_version_number => p_pea_object_version_number
697      );
698 
699   --
700 
701   hr_utility.set_location('Exiting:'||l_proc, 15);
702 EXCEPTION
703    WHEN OTHERS THEN
704     hr_utility.set_location('Exception:Others'||l_proc,555);
705     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
706                              p_error_message => p_error_message);
707     --
708     -- A validation or unexpected error has occurred
709     --
710   --
711 end insert_sit;
712 --
713 -- ----------------------------------------------------------------------------
714 -- |-----------------------------< update_sit >-------------------------------|
715 -- ----------------------------------------------------------------------------
716 procedure update_sit
717   (p_validate                  in     number default 1
718   ,p_person_id                 in     number
719   ,p_person_analysis_id        in     number
720   ,p_pea_object_version_number in out nocopy number
721   ,p_date_from                 in     date     default hr_api.g_date
722   ,p_date_to                   in     date     default hr_api.g_date
723   ,p_analysis_criteria_id      in     number
724   ,p_login_person_id           in     number
725   ,p_business_group_id         in     number
726   ,p_id_flex_num               in     number
727   ,p_item_type                 in     varchar2
728   ,p_item_key                  in     varchar2
729   ,p_activity_id               in     number
730   ,p_action                    in    varchar2
731   ,p_save_mode                 in     varchar2 default null
732   ,p_error_message             out nocopy   long
733   ,p_attribute_category        in   varchar2
734   ,p_attribute1                in   varchar2
735   ,p_attribute2                in   varchar2
736   ,p_attribute3                in   varchar2
737   ,p_attribute4                in   varchar2
738   ,p_attribute5                in   varchar2
739   ,p_attribute6                in   varchar2
740   ,p_attribute7                in   varchar2
741   ,p_attribute8                in   varchar2
742   ,p_attribute9                in   varchar2
743   ,p_attribute10               in   varchar2
744   ,p_attribute11               in   varchar2
745   ,p_attribute12               in   varchar2
746   ,p_attribute13               in   varchar2
747   ,p_attribute14               in   varchar2
748   ,p_attribute15               in   varchar2
749   ,p_attribute16               in   varchar2
750   ,p_attribute17               in   varchar2
751   ,p_attribute18               in   varchar2
752   ,p_attribute19               in   varchar2
753   ,p_attribute20               in   varchar2
754   ) is
755   --
756   --
757   l_proc                       varchar2(72) := g_package||'update_sit';
758   l_analysis_criteria_id       number;
759   l_analysis_criteria_rec      hr_process_sit_ss.per_analysis_criteria_rec;
760   l_error_message              long default null;
761   --
762 begin
763   hr_utility.set_location('Entering:'|| l_proc, 10);
764 
765 
766   -- Get the segments from the ccid
767      l_analysis_criteria_rec := get_segments_from_ccid(p_analysis_criteria_id);
768 
769   -- Call API Update SIT
770   --
771   hr_sit_api.update_sit(
772      p_validate                  => hr_java_conv_util_ss.get_boolean (
773                                             p_number => p_validate
774                                           )
775     ,p_person_analysis_id        => p_person_analysis_id
776     ,p_pea_object_version_number => p_pea_object_version_number
777     ,p_date_from                 => p_date_from
778     ,p_date_to                   => p_date_to
779     ,p_segment1                  => l_analysis_criteria_rec.segment1
780     ,p_segment2                  => l_analysis_criteria_rec.segment2
781     ,p_segment3                  => l_analysis_criteria_rec.segment3
782     ,p_segment4                  => l_analysis_criteria_rec.segment4
783     ,p_segment5                  => l_analysis_criteria_rec.segment5
784     ,p_segment6                  => l_analysis_criteria_rec.segment6
785     ,p_segment7                  => l_analysis_criteria_rec.segment7
786     ,p_segment8                  => l_analysis_criteria_rec.segment8
787     ,p_segment9                  => l_analysis_criteria_rec.segment9
788     ,p_segment10                 => l_analysis_criteria_rec.segment10
789     ,p_segment11                 => l_analysis_criteria_rec.segment11
790     ,p_segment12                 => l_analysis_criteria_rec.segment12
791     ,p_segment13                 => l_analysis_criteria_rec.segment13
792     ,p_segment14                 => l_analysis_criteria_rec.segment14
793     ,p_segment15                 => l_analysis_criteria_rec.segment15
794     ,p_segment16                 => l_analysis_criteria_rec.segment16
795     ,p_segment17                 => l_analysis_criteria_rec.segment17
796     ,p_segment18                 => l_analysis_criteria_rec.segment18
797     ,p_segment19                 => l_analysis_criteria_rec.segment19
798     ,p_segment20                 => l_analysis_criteria_rec.segment20
799     ,p_segment21                 => l_analysis_criteria_rec.segment21
800     ,p_segment22                 => l_analysis_criteria_rec.segment22
801     ,p_segment23                 => l_analysis_criteria_rec.segment23
802     ,p_segment24                 => l_analysis_criteria_rec.segment24
803     ,p_segment25                 => l_analysis_criteria_rec.segment25
804     ,p_segment26                 => l_analysis_criteria_rec.segment26
805     ,p_segment27                 => l_analysis_criteria_rec.segment27
806     ,p_segment28                 => l_analysis_criteria_rec.segment28
807     ,p_segment29                 => l_analysis_criteria_rec.segment29
808     ,p_segment30                 => l_analysis_criteria_rec.segment30
809     ,p_attribute_category        => p_attribute_category
810     ,p_attribute1                => p_attribute1
811     ,p_attribute2                => p_attribute2
812     ,p_attribute3                => p_attribute3
813     ,p_attribute4                => p_attribute4
814     ,p_attribute5                => p_attribute5
815     ,p_attribute6                => p_attribute6
816     ,p_attribute7                => p_attribute7
817     ,p_attribute8                => p_attribute8
818     ,p_attribute9                => p_attribute9
819     ,p_attribute10               => p_attribute10
820     ,p_attribute11               => p_attribute11
821     ,p_attribute12               => p_attribute12
822     ,p_attribute13               => p_attribute13
823     ,p_attribute14               => p_attribute14
824     ,p_attribute15               => p_attribute15
825     ,p_attribute16               => p_attribute16
826     ,p_attribute17               => p_attribute17
827     ,p_attribute18               => p_attribute18
828     ,p_attribute19               => p_attribute19
829     ,p_attribute20               => p_attribute20
830     ,p_analysis_criteria_id      => l_analysis_criteria_id
831    );
832   --
833 
834   hr_utility.set_location('Exiting:'||l_proc, 15);
835 EXCEPTION
836    WHEN OTHERS THEN
837    hr_utility.set_location('Exception:Others'||l_proc,555);
838     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
839                              p_error_message => p_error_message);
840     --
841     -- A validation or unexpected error has occurred
842     --
843   --
844 end update_sit;
845 --
846 -- ----------------------------------------------------------------------------
847 -- |----------------------------<  delete_sit  >------------------------------|
848 -- ----------------------------------------------------------------------------
849 procedure delete_sit
850   (p_validate                       in     number default 1
851   ,p_person_id                      in     number
852   ,p_person_analysis_id             in     number
853   ,p_pea_object_version_number      in     number
854   ,p_analysis_criteria_id           in     number
855   ,p_login_person_id                in     number
856   ,p_business_group_id              in     number
857   ,p_id_flex_num                    in     number
858   ,p_item_type                      in     varchar2
859   ,p_item_key                       in     varchar2
860   ,p_activity_id                    in     number
861   ,p_action                    in    varchar2
862   ,p_save_mode                      in     varchar2 default null
863   ,p_error_message                  out nocopy   long
864   ) IS
865 --
866   l_error_message                 long default null;
867 l_proc                  varchar2(72) := g_package||'delete_sit';
868 --
869 BEGIN
870   --
871   hr_utility.set_location('Entering:'|| l_proc,10);
872   --
873   -- Call API Update SIT
874   --
875   hr_sit_api.delete_sit(
876      p_validate                       => hr_java_conv_util_ss.get_boolean (
877                                             p_number => p_validate
878                                           )
879     ,p_person_analysis_id             => p_person_analysis_id
880     ,p_pea_object_version_number      => p_pea_object_version_number
881   );
882 
883   --
884 
885   hr_utility.set_location('Exiting:'||l_proc, 15);
886 EXCEPTION
887    WHEN OTHERS THEN
888    hr_utility.set_location('Exception:Others'||l_proc,555);
889     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
890                              p_error_message => p_error_message);
891     --
892     -- A validation or unexpected error has occurred
893     --
894   --
895 END delete_sit;
896 
897 -- ----------------------------------------------------------------------------
898 -- |----------------------------< process_api >-------------------------------|
899 -- ----------------------------------------------------------------------------
900 PROCEDURE process_api
901         (p_validate IN BOOLEAN DEFAULT FALSE
902         ,p_transaction_step_id IN NUMBER DEFAULT NULL
903         ,p_effective_date      IN VARCHAR2 default null
904 )is
905   l_person_id                  number;
906   l_login_person_id            number;
907   l_person_analysis_id         number;
908   l_pea_object_version_number  number;
909   l_effective_date             date;
910   l_date_from                  date;
911   l_date_to                    date;
912   l_analysis_criteria_id       number;
913   l_old_analysis_criteria_id   number;
914   l_business_group_id          number;
915   l_id_flex_num                number;
916   l_structure_code             varchar2(30);
917   l_structure_name             varchar2(30);
918   l_action                     varchar2(100);
919   l_analysis_criteria_rec      hr_process_sit_ss.per_analysis_criteria_rec;
920   l_error_message              long default null;
921   l_attribute_category         PER_PERSON_ANALYSES.attribute_category%type;
922   l_attribute1                 PER_PERSON_ANALYSES.attribute1%type;
923   l_attribute2                 PER_PERSON_ANALYSES.attribute2%type;
924   l_attribute3                 PER_PERSON_ANALYSES.attribute3%type;
925   l_attribute4                 PER_PERSON_ANALYSES.attribute4%type;
926   l_attribute5                 PER_PERSON_ANALYSES.attribute5%type;
927   l_attribute6                 PER_PERSON_ANALYSES.attribute6%type;
928   l_attribute7                 PER_PERSON_ANALYSES.attribute7%type;
929   l_attribute8                 PER_PERSON_ANALYSES.attribute8%type;
930   l_attribute9                 PER_PERSON_ANALYSES.attribute9%type;
931   l_attribute10                PER_PERSON_ANALYSES.attribute10%type;
932   l_attribute11                PER_PERSON_ANALYSES.attribute11%type;
933   l_attribute12                PER_PERSON_ANALYSES.attribute12%type;
934   l_attribute13                PER_PERSON_ANALYSES.attribute13%type;
935   l_attribute14                PER_PERSON_ANALYSES.attribute14%type;
936   l_attribute15                PER_PERSON_ANALYSES.attribute15%type;
937   l_attribute16                PER_PERSON_ANALYSES.attribute16%type;
938   l_attribute17                PER_PERSON_ANALYSES.attribute17%type;
939   l_attribute18                PER_PERSON_ANALYSES.attribute18%type;
940   l_attribute19                PER_PERSON_ANALYSES.attribute19%type;
941   l_attribute20                PER_PERSON_ANALYSES.attribute20%type;
942   l_proc   varchar2(72)  := g_package||'process_api';
943 
944   --2287707
945   cursor csr_get_steps is
946   select t1.transaction_step_id
947     from HR_API_TRANSACTION_STEPS t1
948    where t1.api_name = 'HR_PROCESS_SIT_SS.PROCESS_API'
949      and  t1.transaction_id = (select t2.transaction_id
950        from HR_API_TRANSACTION_STEPS t2
951        where t2.transaction_step_id = p_transaction_step_id)
952    order by transaction_step_id;
953 
954   l_transaction_step_id  HR_API_TRANSACTION_STEPS.transaction_step_id%TYPE;
955   --2287707
956 
957 BEGIN
958 
959   --2287707
960   --process all the steps at once.
961   --get all the steps in order
962   hr_utility.set_location('Entering:'||l_proc, 5);
963   OPEN csr_get_steps;
964   FETCH csr_get_steps INTO l_transaction_step_id;
965   CLOSE csr_get_steps;
966 
967   --return if the p_transaction_step_id <> the first one
968   IF l_transaction_step_id <> p_transaction_step_id THEN
969     hr_utility.set_location('Exiting bcos:l_transaction_step_id!=p_transaction_step_id'||l_proc, 15);
970     return;
971   END IF;
972 
973   -- Do 3 times. The first time, we only process the deleted records.
974   -- The second time, we process the updated records.
975   -- The third time, we process the inserted records.
976   hr_utility.set_location('Entering For Loop:i IN 1..3'||l_proc,20);
977   FOR i IN 1..3 LOOP
978   FOR v_steps IN csr_get_steps LOOP
979 
980     l_transaction_step_id := v_steps.transaction_step_id;
981 
982   -- Now get the transaction data for the given step
983   get_transaction_data
984     (p_transaction_step_id       => l_transaction_step_id
985     ,p_person_id                 => l_person_id
986     ,p_login_person_id           => l_login_person_id
987     ,p_person_analysis_id        => l_person_analysis_id
988     ,p_pea_object_version_number => l_pea_object_version_number
989     ,p_effective_date            => l_effective_date
990     ,p_date_from                 => l_date_from
991     ,p_date_to                   => l_date_to
992     ,p_analysis_criteria_id      => l_analysis_criteria_id
993     ,p_old_analysis_criteria_id  => l_old_analysis_criteria_id
994     ,p_business_group_id         => l_business_group_id
995     ,p_id_flex_num               => l_id_flex_num
996     ,p_structure_code            => l_structure_code
997     ,p_structure_name            => l_structure_name
998     ,p_action                    => l_action
999     ,p_error_message             => l_error_message
1000     ,p_attribute_category        => l_attribute_category
1001     ,p_attribute1                => l_attribute1
1002     ,p_attribute2                => l_attribute2
1003     ,p_attribute3                => l_attribute3
1004     ,p_attribute4                => l_attribute4
1005     ,p_attribute5                => l_attribute5
1006     ,p_attribute6                => l_attribute6
1007     ,p_attribute7                => l_attribute7
1008     ,p_attribute8                => l_attribute8
1009     ,p_attribute9                => l_attribute9
1010     ,p_attribute10               => l_attribute10
1011     ,p_attribute11               => l_attribute11
1012     ,p_attribute12               => l_attribute12
1013     ,p_attribute13               => l_attribute13
1014     ,p_attribute14               => l_attribute14
1015     ,p_attribute15               => l_attribute15
1016     ,p_attribute16               => l_attribute16
1017     ,p_attribute17               => l_attribute17
1018     ,p_attribute18               => l_attribute18
1019     ,p_attribute19               => l_attribute19
1020     ,p_attribute20               => l_attribute20
1021    );
1022 
1023 
1024   IF i = 1 AND l_action = 'DELETE' OR
1025      i = 2 AND l_action = 'UPDATE' OR
1026      i = 2 AND l_action = 'INSERT' THEN
1027 
1028   -- Get the segments from the ccid
1029      l_analysis_criteria_rec := get_segments_from_ccid(l_analysis_criteria_id);
1030 
1031   -- Call the api depending on the action
1032   IF (l_action = 'INSERT') THEN
1033       hr_sit_api.create_sit(
1034          p_validate                  => false
1035         ,p_person_id                 => l_person_id
1036         ,p_business_group_id         => l_business_group_id
1037         ,p_id_flex_num               => l_id_flex_num
1038         ,p_effective_date            => l_effective_date
1039         ,p_date_from                 => l_date_from
1040         ,p_date_to                   => l_date_to
1041         ,p_segment1                  => l_analysis_criteria_rec.segment1
1042         ,p_segment2                  => l_analysis_criteria_rec.segment2
1043         ,p_segment3                  => l_analysis_criteria_rec.segment3
1044         ,p_segment4                  => l_analysis_criteria_rec.segment4
1045         ,p_segment5                  => l_analysis_criteria_rec.segment5
1046         ,p_segment6                  => l_analysis_criteria_rec.segment6
1047         ,p_segment7                  => l_analysis_criteria_rec.segment7
1048         ,p_segment8                  => l_analysis_criteria_rec.segment8
1049         ,p_segment9                  => l_analysis_criteria_rec.segment9
1050         ,p_segment10                 => l_analysis_criteria_rec.segment10
1051         ,p_segment11                 => l_analysis_criteria_rec.segment11
1052         ,p_segment12                 => l_analysis_criteria_rec.segment12
1053         ,p_segment13                 => l_analysis_criteria_rec.segment13
1054         ,p_segment14                 => l_analysis_criteria_rec.segment14
1055         ,p_segment15                 => l_analysis_criteria_rec.segment15
1056         ,p_segment16                 => l_analysis_criteria_rec.segment16
1057         ,p_segment17                 => l_analysis_criteria_rec.segment17
1058         ,p_segment18                 => l_analysis_criteria_rec.segment18
1059         ,p_segment19                 => l_analysis_criteria_rec.segment19
1060         ,p_segment20                 => l_analysis_criteria_rec.segment20
1061         ,p_segment21                 => l_analysis_criteria_rec.segment21
1062         ,p_segment22                 => l_analysis_criteria_rec.segment22
1063         ,p_segment23                 => l_analysis_criteria_rec.segment23
1064         ,p_segment24                 => l_analysis_criteria_rec.segment24
1065         ,p_segment25                 => l_analysis_criteria_rec.segment25
1066         ,p_segment26                 => l_analysis_criteria_rec.segment26
1067         ,p_segment27                 => l_analysis_criteria_rec.segment27
1068         ,p_segment28                 => l_analysis_criteria_rec.segment28
1069         ,p_segment29                 => l_analysis_criteria_rec.segment29
1070         ,p_segment30                 => l_analysis_criteria_rec.segment30
1071         ,p_attribute_category        => l_attribute_category
1072         ,p_attribute1                => l_attribute1
1073         ,p_attribute2                => l_attribute2
1074         ,p_attribute3                => l_attribute3
1075         ,p_attribute4                => l_attribute4
1076         ,p_attribute5                => l_attribute5
1077         ,p_attribute6                => l_attribute6
1078         ,p_attribute7                => l_attribute7
1079         ,p_attribute8                => l_attribute8
1080         ,p_attribute9                => l_attribute9
1081         ,p_attribute10               => l_attribute10
1082         ,p_attribute11               => l_attribute11
1083         ,p_attribute12               => l_attribute12
1084         ,p_attribute13               => l_attribute13
1085         ,p_attribute14               => l_attribute14
1086         ,p_attribute15               => l_attribute15
1087         ,p_attribute16               => l_attribute16
1088         ,p_attribute17               => l_attribute17
1089         ,p_attribute18               => l_attribute18
1090         ,p_attribute19               => l_attribute19
1091         ,p_attribute20               => l_attribute20
1092         ,p_analysis_criteria_id      => l_analysis_criteria_id
1093         ,p_person_analysis_id        => l_person_analysis_id
1094         ,p_pea_object_version_number => l_pea_object_version_number
1095        );
1096   ELSIF (l_action = 'UPDATE') THEN
1097       hr_sit_api.update_sit(
1098          p_validate                  => false
1099         ,p_person_analysis_id        => l_person_analysis_id
1100         ,p_pea_object_version_number => l_pea_object_version_number
1101         ,p_date_from                 => l_date_from
1102         ,p_date_to                   => l_date_to
1103         ,p_segment1                  => l_analysis_criteria_rec.segment1
1104         ,p_segment2                  => l_analysis_criteria_rec.segment2
1105         ,p_segment3                  => l_analysis_criteria_rec.segment3
1106         ,p_segment4                  => l_analysis_criteria_rec.segment4
1107         ,p_segment5                  => l_analysis_criteria_rec.segment5
1108         ,p_segment6                  => l_analysis_criteria_rec.segment6
1109         ,p_segment7                  => l_analysis_criteria_rec.segment7
1110         ,p_segment8                  => l_analysis_criteria_rec.segment8
1111         ,p_segment9                  => l_analysis_criteria_rec.segment9
1112         ,p_segment10                 => l_analysis_criteria_rec.segment10
1113         ,p_segment11                 => l_analysis_criteria_rec.segment11
1114         ,p_segment12                 => l_analysis_criteria_rec.segment12
1115         ,p_segment13                 => l_analysis_criteria_rec.segment13
1116         ,p_segment14                 => l_analysis_criteria_rec.segment14
1117         ,p_segment15                 => l_analysis_criteria_rec.segment15
1118         ,p_segment16                 => l_analysis_criteria_rec.segment16
1119         ,p_segment17                 => l_analysis_criteria_rec.segment17
1120         ,p_segment18                 => l_analysis_criteria_rec.segment18
1121         ,p_segment19                 => l_analysis_criteria_rec.segment19
1122         ,p_segment20                 => l_analysis_criteria_rec.segment20
1123         ,p_segment21                 => l_analysis_criteria_rec.segment21
1124         ,p_segment22                 => l_analysis_criteria_rec.segment22
1125         ,p_segment23                 => l_analysis_criteria_rec.segment23
1126         ,p_segment24                 => l_analysis_criteria_rec.segment24
1127         ,p_segment25                 => l_analysis_criteria_rec.segment25
1128         ,p_segment26                 => l_analysis_criteria_rec.segment26
1129         ,p_segment27                 => l_analysis_criteria_rec.segment27
1130         ,p_segment28                 => l_analysis_criteria_rec.segment28
1131         ,p_segment29                 => l_analysis_criteria_rec.segment29
1132         ,p_segment30                 => l_analysis_criteria_rec.segment30
1133         ,p_analysis_criteria_id      => l_analysis_criteria_id
1134         ,p_attribute_category        => l_attribute_category
1135         ,p_attribute1                => l_attribute1
1136         ,p_attribute2                => l_attribute2
1137         ,p_attribute3                => l_attribute3
1138         ,p_attribute4                => l_attribute4
1139         ,p_attribute5                => l_attribute5
1140         ,p_attribute6                => l_attribute6
1141         ,p_attribute7                => l_attribute7
1142         ,p_attribute8                => l_attribute8
1143         ,p_attribute9                => l_attribute9
1144         ,p_attribute10               => l_attribute10
1145         ,p_attribute11               => l_attribute11
1146         ,p_attribute12               => l_attribute12
1147         ,p_attribute13               => l_attribute13
1148         ,p_attribute14               => l_attribute14
1149         ,p_attribute15               => l_attribute15
1150         ,p_attribute16               => l_attribute16
1151         ,p_attribute17               => l_attribute17
1152         ,p_attribute18               => l_attribute18
1153         ,p_attribute19               => l_attribute19
1154         ,p_attribute20               => l_attribute20
1155        );
1156   ELSIF (l_action = 'DELETE') THEN
1157       hr_sit_api.delete_sit(
1158          p_validate                  => false
1159         ,p_person_analysis_id        => l_person_analysis_id
1160         ,p_pea_object_version_number => l_pea_object_version_number
1161        );
1162 
1163   END IF; --end of l_action if
1164   END IF; --end of i if
1165   END LOOP; --end of v_steps loop
1166   END LOOP; --end of i loop
1167   hr_utility.set_location('Exiting For Loop:'||l_proc,20);
1168 
1169   if l_error_message is not null then
1170     hr_utility.set_location('l_error_message is not null:'||l_proc,25);
1171     hr_utility.raise_error;
1172   end if;
1173 
1174 
1175 hr_utility.set_location('Exiting:'||l_proc, 30);
1176 EXCEPTION
1177   WHEN OTHERS THEN
1178     hr_utility.set_location('Exception:Others'||l_proc,555);
1179     raise;
1180 
1181 END process_api;
1182 
1183 
1184 
1185 --
1186 -- ----------------------------------------------------------------------------
1187 -- |----------------------< get_segments_from_ccid >--------------------------|
1188 -- ----------------------------------------------------------------------------
1189 
1190 FUNCTION get_segments_from_ccid(p_analysis_criteria_id IN NUMBER)
1191          RETURN per_analysis_criteria_rec  IS
1192 
1193   cursor csr_criteria_segments is
1194   select *
1195   from per_analysis_criteria
1196   where analysis_criteria_id = p_analysis_criteria_id;
1197 
1198 
1199   l_criteria_segments csr_criteria_segments%ROWTYPE;
1200   l_analysis_criteria_rec hr_process_sit_ss.per_analysis_criteria_rec;
1201   l_proc   varchar2(72)  := g_package||'get_segments_from_ccid';
1202 
1203 BEGIN
1204 
1205   hr_utility.set_location('Entering:'||l_proc, 5);
1206   open csr_criteria_segments;
1207   fetch csr_criteria_segments into l_criteria_segments;
1208   close csr_criteria_segments;
1209 
1210   -- populate the rec segments to be returned.
1211   l_analysis_criteria_rec.segment1 := l_criteria_segments.segment1;
1212   l_analysis_criteria_rec.segment2 := l_criteria_segments.segment2;
1213   l_analysis_criteria_rec.segment3 := l_criteria_segments.segment3;
1214   l_analysis_criteria_rec.segment4 := l_criteria_segments.segment4;
1215   l_analysis_criteria_rec.segment5 := l_criteria_segments.segment5;
1216   l_analysis_criteria_rec.segment6 := l_criteria_segments.segment6;
1217   l_analysis_criteria_rec.segment7 := l_criteria_segments.segment7;
1218   l_analysis_criteria_rec.segment8 := l_criteria_segments.segment8;
1219   l_analysis_criteria_rec.segment9 := l_criteria_segments.segment9;
1220   l_analysis_criteria_rec.segment10 := l_criteria_segments.segment10;
1221   l_analysis_criteria_rec.segment11 := l_criteria_segments.segment11;
1222   l_analysis_criteria_rec.segment12 := l_criteria_segments.segment12;
1223   l_analysis_criteria_rec.segment13 := l_criteria_segments.segment13;
1224   l_analysis_criteria_rec.segment14 := l_criteria_segments.segment14;
1225   l_analysis_criteria_rec.segment15 := l_criteria_segments.segment15;
1226   l_analysis_criteria_rec.segment16 := l_criteria_segments.segment16;
1227   l_analysis_criteria_rec.segment17 := l_criteria_segments.segment17;
1228   l_analysis_criteria_rec.segment18 := l_criteria_segments.segment18;
1229   l_analysis_criteria_rec.segment19 := l_criteria_segments.segment19;
1230   l_analysis_criteria_rec.segment20 := l_criteria_segments.segment20;
1231   l_analysis_criteria_rec.segment21 := l_criteria_segments.segment21;
1232   l_analysis_criteria_rec.segment22 := l_criteria_segments.segment22;
1233   l_analysis_criteria_rec.segment23 := l_criteria_segments.segment23;
1234   l_analysis_criteria_rec.segment24 := l_criteria_segments.segment24;
1235   l_analysis_criteria_rec.segment25 := l_criteria_segments.segment25;
1236   l_analysis_criteria_rec.segment26 := l_criteria_segments.segment26;
1237   l_analysis_criteria_rec.segment27 := l_criteria_segments.segment27;
1238   l_analysis_criteria_rec.segment28 := l_criteria_segments.segment28;
1239   l_analysis_criteria_rec.segment29 := l_criteria_segments.segment29;
1240   l_analysis_criteria_rec.segment30 := l_criteria_segments.segment30;
1241 
1242 
1243   hr_utility.set_location('Exiting:'||l_proc, 10);
1244   RETURN l_analysis_criteria_rec;
1245 
1246 END get_segments_from_ccid;
1247 
1248 -- ----------------------------------------------------------------------------
1249 -- |-----------------------< del_transaction_data >---------------------------|
1250 -- Wrapper Package for API hr_process_sit_ss.
1251 --
1252 -- Description:
1253 --  This Function dels the transaction data for the given item type, item key
1254 --  and activity id.
1255 -- ----------------------------------------------------------------------------
1256 
1257 PROCEDURE del_transaction_data
1258     (p_item_type                 in   varchar2
1259     ,p_item_key                  in   varchar2
1260     ,p_activity_id               in   varchar2
1261     ,p_login_person_id           in   varchar2
1262     ,p_flow_mode                 in   varchar2 default null
1263 ) IS
1264     l_proc   varchar2(72)  := g_package||'del_transaction_data';
1265 
1266 BEGIN
1267   hr_utility.set_location('Entering:'||l_proc, 5);
1268   if p_flow_mode is not null and
1269      p_flow_mode = hr_process_assignment_ss.g_new_hire_registration
1270     then
1271     hr_utility.set_location('Flow mode is NewHire Reg:'||l_proc,10);
1272     rollback;
1273   end if;
1274   hr_transaction_ss.delete_transaction_steps(
1275     p_item_type           => p_item_type
1276     ,p_item_key           => p_item_key
1277     ,p_actid              => p_activity_id
1278     ,p_login_person_id    => p_login_person_id
1279   );
1280 
1281 hr_utility.set_location('Exiting:'||l_proc, 15);
1282 END del_transaction_data;
1283 
1284 end hr_process_sit_ss;