DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_MX_EMP_ASG_CRITER

Source


1 package body hrdpp_UPDATE_MX_EMP_ASG_CRITER as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:16
4  * Generated for API: HR_MX_ASSIGNMENT_API.UPDATE_MX_EMP_ASG_CRITERIA
5  */
6 --
7 dh constant date := hr_api.g_date;
8 nh constant number := hr_api.g_number;
9 vh constant varchar2(64) := hr_api.g_varchar2;
10 c_sot constant date := to_date('01010001','DDMMYYYY');
11 cn constant varchar2(32) := '<NULL>';
12 dn constant date := null;
13 nn constant number := null;
14 vn constant varchar2(1) := null;
15 --
16 function dc(p in date) return varchar2 is
17 begin
18 if p<c_sot then
19  if p<>trunc(p) then
20   return to_char(p,'SYYYY/MM/DD HH24:MI:SS');
21  end if;
22  return to_char(p,'SYYYY/MM/DD');
23 elsif p<>trunc(p) then
24  return to_char(p,'YYYY/MM/DD HH24:MI:SS');
25 end if;
26 return to_char(p,'YYYY/MM/DD');
27 end dc;
28 function d(p in varchar2) return date is
29 begin
30 if length(p)=10 then
31 return to_date(p,'YYYY/MM/DD');
32 elsif length(p)=19 then
33 return to_date(p,'YYYY/MM/DD HH24:MI:SS');
34 elsif length(p)=11 then
35 return to_date(p,'SYYYY/MM/DD');
36 elsif length(p)=20 then
37 return to_date(p,'SYYYY/MM/DD HH24:MI:SS');
38 end if;
39 -- Try default format as last resort.
40 return to_date(p,'YYYY/MM/DD');
41 end d;
42 function n(p in varchar2) return number is
43 begin
44 return to_number(p);
45 end n;
46 function dd(p in date,i in varchar2)
47 return varchar2 is
48 begin
49 if upper(i) = 'N' then return dc(p);
50 else return cn; end if;
51 end dd;
52 function nd(p in number,i in varchar2)
53 return varchar2 is
54 begin
55 if upper(i) = 'N' then return to_char(p);
56 else return cn; end if;
57 end nd;
58 --
59 procedure iuk
60 (p_batch_line_id  in number,
61 p_user_key_value in varchar2,
62 p_unique_key_id  in number)
63 is
64 begin
65 hr_data_pump.entry('ins_user_key');
66 insert into hr_pump_batch_line_user_keys
67 (user_key_id, batch_line_id,user_key_value,unique_key_id)
68 values
69 (hr_pump_batch_line_user_keys_s.nextval,
70 p_batch_line_id,
71 p_user_key_value,
72 p_unique_key_id);
73 hr_data_pump.exit('ins_user_key');
74 end iuk;
75 --
76 procedure insert_batch_lines
77 (p_batch_id      in number
78 ,p_data_pump_batch_line_id in number default null
79 ,p_data_pump_business_grp_name in varchar2 default null
80 ,p_user_sequence in number default null
81 ,p_link_value    in number default null
82 ,P_EFFECTIVE_DATE in date
83 ,P_DATETRACK_UPDATE_MODE in varchar2
84 ,P_CALLED_FROM_MASS_UPDATE in boolean default null
85 ,P_SEGMENT1 in varchar2 default null
86 ,P_SEGMENT2 in varchar2 default null
87 ,P_SEGMENT3 in varchar2 default null
88 ,P_SEGMENT4 in varchar2 default null
89 ,P_SEGMENT5 in varchar2 default null
90 ,P_SEGMENT6 in varchar2 default null
91 ,P_SEGMENT7 in varchar2 default null
92 ,P_SEGMENT8 in varchar2 default null
93 ,P_SEGMENT9 in varchar2 default null
94 ,P_SEGMENT10 in varchar2 default null
95 ,P_SEGMENT11 in varchar2 default null
96 ,P_SEGMENT12 in varchar2 default null
97 ,P_SEGMENT13 in varchar2 default null
98 ,P_SEGMENT14 in varchar2 default null
99 ,P_SEGMENT15 in varchar2 default null
100 ,P_SEGMENT16 in varchar2 default null
101 ,P_SEGMENT17 in varchar2 default null
102 ,P_SEGMENT18 in varchar2 default null
103 ,P_SEGMENT19 in varchar2 default null
104 ,P_SEGMENT20 in varchar2 default null
105 ,P_SEGMENT21 in varchar2 default null
106 ,P_SEGMENT22 in varchar2 default null
107 ,P_SEGMENT23 in varchar2 default null
108 ,P_SEGMENT24 in varchar2 default null
109 ,P_SEGMENT25 in varchar2 default null
110 ,P_SEGMENT26 in varchar2 default null
111 ,P_SEGMENT27 in varchar2 default null
112 ,P_SEGMENT28 in varchar2 default null
113 ,P_SEGMENT29 in varchar2 default null
114 ,P_SEGMENT30 in varchar2 default null
115 ,P_EMPLOYMENT_CATEGORY in varchar2 default null
116 ,P_CONCAT_SEGMENTS in varchar2 default null
117 ,P_SS_LEAVING_REASON in varchar2 default null
118 ,P_SPECIAL_CEILING_STEP_ID in number
119 ,P_PEOPLE_GROUP_ID in number
120 ,P_ASSIGNMENT_USER_KEY in varchar2
121 ,P_GRADE_NAME in varchar2 default null
122 ,P_POSITION_NAME in varchar2 default null
123 ,P_JOB_NAME in varchar2 default null
124 ,P_PAYROLL_NAME in varchar2 default null
125 ,P_LOCATION_CODE in varchar2 default null
126 ,P_LANGUAGE_CODE in varchar2 default null
127 ,P_ORGANIZATION_NAME in varchar2 default null
128 ,P_PAY_BASIS_NAME in varchar2 default null
129 ,P_CONTRACT_USER_KEY in varchar2 default null
130 ,P_ESTABLISHMENT_NAME in varchar2 default null
131 ,P_LOCATION in varchar2 default null
132 ,P_TAX_UNIT in varchar2 default null
133 ,P_GRADE_LADDER_NAME in varchar2 default null
134 ,P_SVR_ASSIGNMENT_USER_KEY in varchar2 default null
135 ,P_CON_SEG_USER_NAME in varchar2) is
136 blid number := p_data_pump_batch_line_id;
137  L_CALLED_FROM_MASS_UPDATE varchar2(5);
138 begin
139 if P_CALLED_FROM_MASS_UPDATE is null then
140  L_CALLED_FROM_MASS_UPDATE := null;
141 elsif P_CALLED_FROM_MASS_UPDATE then
142  L_CALLED_FROM_MASS_UPDATE := 'TRUE';
143 else 
144  L_CALLED_FROM_MASS_UPDATE := 'FALSE';
145 end if;
146 if blid is not null then
147 delete from hr_pump_batch_lines where batch_line_id = blid;
148 delete from hr_pump_batch_exceptions
149 where source_type = 'BATCH_LINE' and source_id = blid;
150 end if;
151 insert into hr_pump_batch_lines
152 (batch_id
153 ,batch_line_id
154 ,business_group_name
155 ,api_module_id
156 ,line_status
157 ,user_sequence
158 ,link_value
159 ,pval001
160 ,pval002
161 ,pval003
162 ,pval004
163 ,pval005
164 ,pval006
165 ,pval007
166 ,pval008
167 ,pval009
168 ,pval010
169 ,pval011
170 ,pval012
171 ,pval013
172 ,pval014
173 ,pval015
174 ,pval016
175 ,pval017
176 ,pval018
177 ,pval019
178 ,pval020
179 ,pval021
180 ,pval022
181 ,pval023
182 ,pval024
183 ,pval025
184 ,pval026
185 ,pval027
186 ,pval028
187 ,pval029
188 ,pval030
189 ,pval031
190 ,pval032
191 ,pval033
192 ,pval034
193 ,pval035
194 ,pval036
195 ,pval037
196 ,pval038
197 ,pval049
198 ,pval050
199 ,pval051
200 ,pval052
201 ,pval053
202 ,pval054
203 ,pval055
204 ,pval056
205 ,pval057
206 ,pval058
207 ,pval059
208 ,pval060
209 ,pval061
210 ,pval062
211 ,pval063
212 ,pval064)
213 values
214 (p_batch_id
215 ,nvl(blid,hr_pump_batch_lines_s.nextval)
216 ,p_data_pump_business_grp_name
217 ,3859
218 ,'U'
219 ,p_user_sequence
220 ,p_link_value
221 ,dc(P_EFFECTIVE_DATE)
222 ,P_DATETRACK_UPDATE_MODE
223 ,L_CALLED_FROM_MASS_UPDATE
224 ,P_SEGMENT1
225 ,P_SEGMENT2
226 ,P_SEGMENT3
227 ,P_SEGMENT4
228 ,P_SEGMENT5
229 ,P_SEGMENT6
230 ,P_SEGMENT7
231 ,P_SEGMENT8
232 ,P_SEGMENT9
233 ,P_SEGMENT10
234 ,P_SEGMENT11
235 ,P_SEGMENT12
236 ,P_SEGMENT13
237 ,P_SEGMENT14
238 ,P_SEGMENT15
239 ,P_SEGMENT16
240 ,P_SEGMENT17
241 ,P_SEGMENT18
242 ,P_SEGMENT19
243 ,P_SEGMENT20
244 ,P_SEGMENT21
245 ,P_SEGMENT22
246 ,P_SEGMENT23
247 ,P_SEGMENT24
248 ,P_SEGMENT25
249 ,P_SEGMENT26
250 ,P_SEGMENT27
251 ,P_SEGMENT28
252 ,P_SEGMENT29
253 ,P_SEGMENT30
254 ,P_EMPLOYMENT_CATEGORY
255 ,P_CONCAT_SEGMENTS
256 ,P_SS_LEAVING_REASON
257 ,P_SPECIAL_CEILING_STEP_ID
258 ,P_PEOPLE_GROUP_ID
259 ,P_ASSIGNMENT_USER_KEY
260 ,P_GRADE_NAME
261 ,P_POSITION_NAME
262 ,P_JOB_NAME
263 ,P_PAYROLL_NAME
264 ,P_LOCATION_CODE
265 ,P_LANGUAGE_CODE
266 ,P_ORGANIZATION_NAME
267 ,P_PAY_BASIS_NAME
268 ,P_CONTRACT_USER_KEY
269 ,P_ESTABLISHMENT_NAME
270 ,P_LOCATION
271 ,P_TAX_UNIT
272 ,P_GRADE_LADDER_NAME
273 ,P_SVR_ASSIGNMENT_USER_KEY
274 ,P_CON_SEG_USER_NAME);
275 end insert_batch_lines;
276 --
277 procedure call
278 (p_business_group_id in number,
279 p_batch_line_id     in number) is
280 cursor cr is
281 select l.rowid myrowid,
282 decode(l.pval001,cn,dn,d(l.pval001)) p1,
283 decode(l.pval002,cn,vn,l.pval002) p2,
284 decode(l.pval003,cn,vn,vn,null,l.pval003) p3,
285 l.pval003 d3,
286 decode(l.pval004,cn,vn,vn,vh,l.pval004) p4,
287 l.pval004 d4,
288 decode(l.pval005,cn,vn,vn,vh,l.pval005) p5,
289 l.pval005 d5,
290 decode(l.pval006,cn,vn,vn,vh,l.pval006) p6,
291 l.pval006 d6,
292 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
293 l.pval007 d7,
294 decode(l.pval008,cn,vn,vn,vh,l.pval008) p8,
295 l.pval008 d8,
296 decode(l.pval009,cn,vn,vn,vh,l.pval009) p9,
297 l.pval009 d9,
298 decode(l.pval010,cn,vn,vn,vh,l.pval010) p10,
299 l.pval010 d10,
300 decode(l.pval011,cn,vn,vn,vh,l.pval011) p11,
301 l.pval011 d11,
302 decode(l.pval012,cn,vn,vn,vh,l.pval012) p12,
303 l.pval012 d12,
304 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
305 l.pval013 d13,
306 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
307 l.pval014 d14,
308 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
309 l.pval015 d15,
310 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
311 l.pval016 d16,
312 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
313 l.pval017 d17,
314 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
315 l.pval018 d18,
316 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
317 l.pval019 d19,
318 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
319 l.pval020 d20,
320 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
321 l.pval021 d21,
322 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
323 l.pval022 d22,
324 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
325 l.pval023 d23,
326 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
327 l.pval024 d24,
328 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
329 l.pval025 d25,
330 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
331 l.pval026 d26,
332 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
333 l.pval027 d27,
334 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
335 l.pval028 d28,
336 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
337 l.pval029 d29,
338 decode(l.pval030,cn,vn,vn,vh,l.pval030) p30,
339 l.pval030 d30,
340 decode(l.pval031,cn,vn,vn,vh,l.pval031) p31,
341 l.pval031 d31,
342 decode(l.pval032,cn,vn,vn,vh,l.pval032) p32,
343 l.pval032 d32,
344 decode(l.pval033,cn,vn,vn,vh,l.pval033) p33,
345 l.pval033 d33,
346 decode(l.pval034,cn,vn,vn,vh,
347  hr_pump_get.gl(l.pval034,'EMP_CAT',d(l.pval001),l.pval055)) p34,
348 l.pval034 d34,
349 decode(l.pval035,cn,vn,vn,vh,l.pval035) p35,
350 l.pval035 d35,
351 decode(l.pval036,cn,vn,vn,vh,
352  hr_pump_get.gl(l.pval036,'MX_STAT_IMSS_LEAVING_REASON',d(l.pval001),l.pval055)) p36,
353 l.pval036 d36,
354 decode(l.pval037,cn,nn,n(l.pval037)) p37,
355 decode(l.pval038,cn,nn,n(l.pval038)) p38,
356 l.pval039 p39,
357 decode(l.pval040,cn,dn,d(l.pval040)) p40,
358 decode(l.pval041,cn,dn,d(l.pval041)) p41,
359 l.pval042 p42,
360 l.pval043 p43,
361 l.pval044 p44,
362 l.pval045 p45,
363 l.pval046 p46,
364 l.pval047 p47,
365 l.pval048 p48,
366 decode(l.pval049,cn,vn,l.pval049) p49,
367 decode(l.pval050,cn,vn,vn,vh,l.pval050) p50,
368 l.pval050 d50,
369 decode(l.pval051,cn,vn,vn,vh,l.pval051) p51,
370 l.pval051 d51,
371 decode(l.pval052,cn,vn,vn,vh,l.pval052) p52,
372 l.pval052 d52,
373 decode(l.pval053,cn,vn,vn,vh,l.pval053) p53,
374 l.pval053 d53,
375 decode(l.pval054,cn,vn,vn,vh,l.pval054) p54,
376 l.pval054 d54,
377 decode(l.pval055,cn,vn,vn,vh,l.pval055) p55,
378 l.pval055 d55,
379 decode(l.pval056,cn,vn,vn,vh,l.pval056) p56,
380 l.pval056 d56,
381 decode(l.pval057,cn,vn,vn,vh,l.pval057) p57,
382 l.pval057 d57,
383 decode(l.pval058,cn,vn,vn,vn,l.pval058) p58,
384 l.pval058 d58,
385 decode(l.pval059,cn,vn,vn,vh,l.pval059) p59,
386 l.pval059 d59,
387 decode(l.pval060,cn,vn,vn,vh,l.pval060) p60,
388 l.pval060 d60,
389 decode(l.pval061,cn,vn,vn,vh,l.pval061) p61,
390 l.pval061 d61,
391 decode(l.pval062,cn,vn,vn,vh,l.pval062) p62,
392 l.pval062 d62,
393 decode(l.pval063,cn,vn,vn,vn,l.pval063) p63,
394 l.pval063 d63,
398 --
395 decode(l.pval064,cn,vn,l.pval064) p64
396 from hr_pump_batch_lines l
397 where l.batch_line_id = p_batch_line_id;
399 c cr%rowtype;
400 l_validate boolean := false;
401 L_CALLED_FROM_MASS_UPDATE boolean;
402 L_ORG_NOW_NO_MANAGER_WARNING boolean;
403 L_OTHER_MANAGER_WARNING boolean;
404 L_SPP_DELETE_WARNING boolean;
405 L_TAX_DISTRICT_CHANGED_WARNING boolean;
406 L_ASSIGNMENT_ID number;
407 L_GRADE_ID number;
408 L_POSITION_ID number;
409 L_JOB_ID number;
410 L_PAYROLL_ID number;
411 L_LOCATION_ID number;
412 L_ORGANIZATION_ID number;
413 L_PAY_BASIS_ID number;
414 L_CONTRACT_ID number;
415 L_ESTABLISHMENT_ID number;
416 L_TAX_UNIT varchar2(2000);
417 L_GRADE_LADDER_PGM_ID number;
418 L_SUPERVISOR_ASSIGNMENT_ID number;
419 L_OBJECT_VERSION_NUMBER number;
420 L_SOFT_CODING_KEYFLEX_ID number;
421 --
422 begin
423 hr_data_pump.entry('call');
424 open cr;
425 fetch cr into c;
426 if cr%notfound then
427 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
428 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
429 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
430 hr_utility.set_message_token('VALUE',p_batch_line_id);
431 hr_utility.raise_error;
432 end if;
433 --
434 if upper(c.p3) = 'TRUE' then
435 L_CALLED_FROM_MASS_UPDATE := true;
436 elsif upper(c.p3) = 'FALSE' then
437 L_CALLED_FROM_MASS_UPDATE := false;
438 elsif c.p3 is not null then
439 hr_utility.set_message(800,'HR_50327_DP_TYPE_ERR');
440 hr_utility.set_message_token('TYPE','BOOLEAN');
441 hr_utility.set_message_token('PARAMETER','P_CALLED_FROM_MASS_UPDATE');
442 hr_utility.set_message_token('VALUE',c.p3);
443 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
444 hr_utility.raise_error;
445 end if;
446 --
447 if c.p49 is null then
448 L_ASSIGNMENT_ID:=nn;
449 else
450 L_ASSIGNMENT_ID := 
451 hr_pump_get.get_assignment_id
452 (P_ASSIGNMENT_USER_KEY => c.p49);
453 end if;
454 --
455 if c.d50=cn or
456 c.p1 is null then
457 L_GRADE_ID:=nn;
458 elsif c.d50 is null then 
459 L_GRADE_ID:=nh;
460 else
461 L_GRADE_ID := 
462 hr_pump_get.get_grade_id
463 (P_GRADE_NAME => c.p50
464 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
465 ,P_EFFECTIVE_DATE => c.p1);
466 end if;
467 --
468 if c.d51=cn or
469 c.p1 is null then
470 L_POSITION_ID:=nn;
471 elsif c.d51 is null then 
472 L_POSITION_ID:=nh;
473 else
474 L_POSITION_ID := 
475 hr_pump_get.get_position_id
476 (P_POSITION_NAME => c.p51
477 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
478 ,P_EFFECTIVE_DATE => c.p1);
479 end if;
480 --
481 if c.d52=cn or
482 c.p1 is null then
483 L_JOB_ID:=nn;
484 elsif c.d52 is null then 
485 L_JOB_ID:=nh;
486 else
487 L_JOB_ID := 
488 hr_pump_get.get_job_id
489 (P_JOB_NAME => c.p52
490 ,P_EFFECTIVE_DATE => c.p1
491 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID);
492 end if;
493 --
494 if c.d53=cn or
495 c.p1 is null then
496 L_PAYROLL_ID:=nn;
497 elsif c.d53 is null then 
498 L_PAYROLL_ID:=nh;
499 else
500 L_PAYROLL_ID := 
501 hr_pump_get.get_payroll_id
502 (P_PAYROLL_NAME => c.p53
503 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
504 ,P_EFFECTIVE_DATE => c.p1);
505 end if;
506 --
507 if c.d54=cn or
508 c.d55=cn then
509 L_LOCATION_ID:=nn;
510 elsif c.d54 is null or
511 c.d55 is null then 
512 L_LOCATION_ID:=nh;
513 else
514 L_LOCATION_ID := 
515 hr_pump_get.get_location_id
516 (P_LOCATION_CODE => c.p54
517 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
518 ,P_LANGUAGE_CODE => c.p55);
519 end if;
520 --
521 if c.d56=cn or
522 c.p1 is null or
523 c.d55=cn then
524 L_ORGANIZATION_ID:=nn;
525 elsif c.d56 is null or
526 c.d55 is null then 
527 L_ORGANIZATION_ID:=nh;
528 else
529 L_ORGANIZATION_ID := 
530 hr_pump_get.get_organization_id
531 (P_ORGANIZATION_NAME => c.p56
532 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
533 ,P_EFFECTIVE_DATE => c.p1
534 ,P_LANGUAGE_CODE => c.p55);
535 end if;
536 --
537 if c.d57=cn then
538 L_PAY_BASIS_ID:=nn;
539 elsif c.d57 is null then 
540 L_PAY_BASIS_ID:=nh;
541 else
542 L_PAY_BASIS_ID := 
543 hr_pump_get.get_pay_basis_id
544 (P_PAY_BASIS_NAME => c.p57
545 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID);
546 end if;
547 --
548 if c.d58=cn then
549 L_CONTRACT_ID:=nn;
550 elsif c.d58 is null then 
551 L_CONTRACT_ID:=nh;
552 else
553 L_CONTRACT_ID := 
554 hr_pump_get.get_contract_id
555 (P_CONTRACT_USER_KEY => c.p58);
556 end if;
557 --
558 if c.d59=cn or
559 c.d60=cn then
560 L_ESTABLISHMENT_ID:=nn;
561 elsif c.d59 is null or
562 c.d60 is null then 
563 L_ESTABLISHMENT_ID:=nh;
564 else
565 L_ESTABLISHMENT_ID := 
566 hr_pump_get.get_establishment_id
567 (P_ESTABLISHMENT_NAME => c.p59
568 ,P_LOCATION => c.p60);
569 end if;
570 --
571 if c.d61=cn then
572 L_TAX_UNIT:=vn;
573 elsif c.d61 is null then 
574 L_TAX_UNIT:=vh;
575 else
576 L_TAX_UNIT := 
577 PER_MX_DATA_PUMP.GET_TAX_UNIT_ID
578 (P_TAX_UNIT => c.p61
579 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID);
580 end if;
581 --
582 if c.d62=cn or
583 c.p1 is null then
584 L_GRADE_LADDER_PGM_ID:=nn;
585 elsif c.d62 is null then 
586 L_GRADE_LADDER_PGM_ID:=nh;
587 else
588 L_GRADE_LADDER_PGM_ID := 
589 hr_pump_get.GET_GRADE_LADDER_PGM_ID
590 (P_GRADE_LADDER_NAME => c.p62
591 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
592 ,P_EFFECTIVE_DATE => c.p1);
593 end if;
594 --
595 if c.d63=cn then
596 L_SUPERVISOR_ASSIGNMENT_ID:=nn;
597 elsif c.d63 is null then 
598 L_SUPERVISOR_ASSIGNMENT_ID:=nh;
599 else
600 L_SUPERVISOR_ASSIGNMENT_ID := 
601 hr_pump_get.GET_SUPERVISOR_ASSIGNMENT_ID
602 (P_SVR_ASSIGNMENT_USER_KEY => c.p63);
603 end if;
604 --
605 if c.p49 is null or
606 c.p1 is null then
607 L_OBJECT_VERSION_NUMBER:=nn;
608 else
609 L_OBJECT_VERSION_NUMBER := 
610 hr_pump_get.GET_ASG_OVN
611 (P_ASSIGNMENT_USER_KEY => c.p49
612 ,P_EFFECTIVE_DATE => c.p1);
613 end if;
614 --
615 if c.p64 is null or
616 c.p1 is null then
617 L_SOFT_CODING_KEYFLEX_ID:=nn;
618 else
619 L_SOFT_CODING_KEYFLEX_ID := 
620 hr_pump_get.get_soft_coding_keyflex_id
621 (P_CON_SEG_USER_NAME => c.p64
622 ,P_EFFECTIVE_DATE => c.p1);
623 end if;
624 --
625 hr_data_pump.api_trc_on;
626 HR_MX_ASSIGNMENT_API.UPDATE_MX_EMP_ASG_CRITERIA
627 (P_EFFECTIVE_DATE => c.p1
628 ,P_DATETRACK_UPDATE_MODE => c.p2
629 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
630 ,p_validate => l_validate
631 ,P_CALLED_FROM_MASS_UPDATE => L_CALLED_FROM_MASS_UPDATE
632 ,P_GRADE_ID => L_GRADE_ID
633 ,P_POSITION_ID => L_POSITION_ID
634 ,P_JOB_ID => L_JOB_ID
635 ,P_PAYROLL_ID => L_PAYROLL_ID
636 ,P_LOCATION_ID => L_LOCATION_ID
637 ,P_ORGANIZATION_ID => L_ORGANIZATION_ID
638 ,P_PAY_BASIS_ID => L_PAY_BASIS_ID
639 ,P_SEGMENT1 => c.p4
640 ,P_SEGMENT2 => c.p5
641 ,P_SEGMENT3 => c.p6
642 ,P_SEGMENT4 => c.p7
643 ,P_SEGMENT5 => c.p8
644 ,P_SEGMENT6 => c.p9
645 ,P_SEGMENT7 => c.p10
646 ,P_SEGMENT8 => c.p11
647 ,P_SEGMENT9 => c.p12
648 ,P_SEGMENT10 => c.p13
649 ,P_SEGMENT11 => c.p14
650 ,P_SEGMENT12 => c.p15
651 ,P_SEGMENT13 => c.p16
652 ,P_SEGMENT14 => c.p17
653 ,P_SEGMENT15 => c.p18
654 ,P_SEGMENT16 => c.p19
655 ,P_SEGMENT17 => c.p20
656 ,P_SEGMENT18 => c.p21
657 ,P_SEGMENT19 => c.p22
658 ,P_SEGMENT20 => c.p23
659 ,P_SEGMENT21 => c.p24
660 ,P_SEGMENT22 => c.p25
661 ,P_SEGMENT23 => c.p26
662 ,P_SEGMENT24 => c.p27
663 ,P_SEGMENT25 => c.p28
664 ,P_SEGMENT26 => c.p29
665 ,P_SEGMENT27 => c.p30
666 ,P_SEGMENT28 => c.p31
667 ,P_SEGMENT29 => c.p32
668 ,P_SEGMENT30 => c.p33
669 ,P_EMPLOYMENT_CATEGORY => c.p34
670 ,P_CONCAT_SEGMENTS => c.p35
671 ,P_CONTRACT_ID => L_CONTRACT_ID
672 ,P_ESTABLISHMENT_ID => L_ESTABLISHMENT_ID
673 ,P_TAX_UNIT => L_TAX_UNIT
674 ,P_GRADE_LADDER_PGM_ID => L_GRADE_LADDER_PGM_ID
675 ,P_SUPERVISOR_ASSIGNMENT_ID => L_SUPERVISOR_ASSIGNMENT_ID
676 ,P_SS_LEAVING_REASON => c.p36
677 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
678 ,P_SPECIAL_CEILING_STEP_ID => c.p37
679 ,P_PEOPLE_GROUP_ID => c.p38
680 ,P_SOFT_CODING_KEYFLEX_ID => L_SOFT_CODING_KEYFLEX_ID
681 ,P_GROUP_NAME => c.p39
682 ,P_EFFECTIVE_START_DATE => c.p40
683 ,P_EFFECTIVE_END_DATE => c.p41
684 ,P_ORG_NOW_NO_MANAGER_WARNING => L_ORG_NOW_NO_MANAGER_WARNING
685 ,P_OTHER_MANAGER_WARNING => L_OTHER_MANAGER_WARNING
686 ,P_SPP_DELETE_WARNING => L_SPP_DELETE_WARNING
687 ,P_ENTRIES_CHANGED_WARNING => c.p45
688 ,P_TAX_DISTRICT_CHANGED_WARNING => L_TAX_DISTRICT_CHANGED_WARNING
689 ,P_CONCATENATED_SEGMENTS => c.p47
690 ,P_GSP_POST_PROCESS_WARNING => c.p48);
691 hr_data_pump.api_trc_off;
692 --
693 if L_ORG_NOW_NO_MANAGER_WARNING then
694 c.p42 := 'TRUE';
695 else
696 c.p42 := 'FALSE';
697 end if;
698 --
699 if L_OTHER_MANAGER_WARNING then
700 c.p43 := 'TRUE';
701 else
702 c.p43 := 'FALSE';
703 end if;
704 --
705 if L_SPP_DELETE_WARNING then
706 c.p44 := 'TRUE';
707 else
708 c.p44 := 'FALSE';
709 end if;
710 --
711 if L_TAX_DISTRICT_CHANGED_WARNING then
712 c.p46 := 'TRUE';
713 else
714 c.p46 := 'FALSE';
715 end if;
716 --
717 update hr_pump_batch_lines l set
718 l.pval037 = decode(c.p37,null,cn,c.p37),
719 l.pval038 = decode(c.p38,null,cn,c.p38),
720 l.pval039 = decode(c.p39,null,cn,c.p39),
721 l.pval040 = decode(c.p40,null,cn,dc(c.p40)),
722 l.pval041 = decode(c.p41,null,cn,dc(c.p41)),
723 l.pval042 = decode(c.p42,null,cn,c.p42),
724 l.pval043 = decode(c.p43,null,cn,c.p43),
725 l.pval044 = decode(c.p44,null,cn,c.p44),
726 l.pval045 = decode(c.p45,null,cn,c.p45),
727 l.pval046 = decode(c.p46,null,cn,c.p46),
728 l.pval047 = decode(c.p47,null,cn,c.p47),
729 l.pval048 = decode(c.p48,null,cn,c.p48)
730 where l.rowid = c.myrowid;
731 --
732 close cr;
733 --
734 hr_data_pump.exit('call');
735 exception
736  when hr_multi_message.error_message_exist then
737    if cr%isopen then
738     close cr;
739    end if;
740    hr_pump_utils.set_multi_msg_error_flag(true);
741  when others then
742  if cr%isopen then
743   close cr;
744  end if;
745  raise;
746 end call;
747 end hrdpp_UPDATE_MX_EMP_ASG_CRITER;