[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;