[Home] [Help]
PACKAGE BODY: APPS.IEU_TASKS_WR_MIG_PVT
Source
1 PACKAGE BODY IEU_TASKS_WR_MIG_PVT AS
2 /* $Header: IEUVTWRB.pls 120.7 2006/08/18 05:03:33 msathyan noship $ */
3
4 l_not_valid_flag VARCHAR2(1);
5 l_workitem_obj_code VARCHAR2(30);
6 l_owner_type_actual VARCHAR2(30);
7
8 l_assignee_role VARCHAR2(30);
9 l_resource_type_code_1 VARCHAR2(30);
10 l_resource_type_code_2 VARCHAR2(30);
11 l_delete_flag VARCHAR2(1);
12 l_closed_flag VARCHAR2(1);
13 l_completed_flag VARCHAR2(1);
14 l_cancelled_flag VARCHAR2(1);
15 l_rejected_flag VARCHAR2(1);
16 l_rownum NUMBER(1);
17
18 PROCEDURE IEU_SYNCH_WR_DIST_STATUS(ERRBUF OUT NOCOPY VARCHAR2, RETCODE OUT NOCOPY VARCHAR2) IS
19
20 l_assignee_id number;
21 l_assignee_type varchar2(25);
22 l_task_priority_id number;
23 l_date_selected varchar2(1);
24 l_task_status varchar2(10);
25 l_return_status varchar2(1);
26 l_msg_count NUMBER;
27 l_msg_data VARCHAR2(2000);
28 l_work_item_id NUMBER;
29 l_count number;
30 l_err_msg varchar2(4000);
31
32 -- Reqd for Distribution Rules
33 l_ws_id1 NUMBER;
34 l_ws_id2 NUMBER := null;
35 l_association_ws_id NUMBER;
36 l_dist_from IEU_UWQM_WORK_SOURCES_B.DISTRIBUTE_FROM%TYPE;
37 l_dist_to IEU_UWQM_WORK_SOURCES_B.DISTRIBUTE_TO%TYPE;
38
39 l_uwqm_count number := 0;
40 l_uwqm_open_count number := 0;
41 l_task_open_count number := 0;
42 l_task_dist_count number := 0;
43 l_run_script_flag varchar2(1);
44 l_orig_grp_owner number;
45 l_tasks_rules_func varchar2(256);
46 l_tasks_data_list SYSTEM.WR_TASKS_DATA_NST;
47 l_def_data_list SYSTEM.DEF_WR_DATA_NST;
48
49 l_child_ws_id NUMBER;
50 l_object_code_match varchar2(1);
51 l_failed_counter NUMBER := 0;
52 l_success_counter NUMBER := 0;
53 l_ws_act_failed_msg Varchar2(4000);
54 l_message varchar2(4000);
55 l_ws_act_success_msg varchar2(4000);
56 l_workitem_fail_msg varchar2(4000);
57 l_workitem_sum_msg varchar2(4000);
58 l_obj_code_lst VARCHAR2(1000);
59 x_msg_count NUMBER;
60 x_msg_data VARCHAR2(4000);
61 err_flag VARCHAR2(1);
62
63
64 type t_task_details_1 is ref cursor;
65
66 c_task_details_1 t_task_details_1;
67 v_task_details_1 varchar2(4000) ;
68 v_task_details_2 varchar2(4000) ;
69 v_task_details_3 varchar2(4000) ;
70
71 -- and tb.source_object_type_code not in ('SR');
72 l_c_task_details_1_var varchar2(100);
73
74 CURSOR c_task_asg_det IS
75 SELECT resource_id, task_id, resource_type_code
76 from (SELECT /*+ parallel(TASKS) parallel(ASG) pq_distribute(ASG hash,hash) */
77 tasks.task_id, TASKS.owner_id,
78 tasks.owner_type_code, asg.resource_id, asg.resource_type_code, asg.task_assignment_id,
79 max(asg.last_update_date) over (partition by asg.task_id) max_update_date, asg.last_update_date
80 FROM JTF_TASKS_B TASKS , JTF_TASK_ASSIGNMENTS ASG
81 WHERE TASKS.TASK_ID = ASG.TASK_ID
82 AND NVL(TASKS.DELETED_FLAG,'N') = 'N'
83 AND TASKS.OPEN_FLAG = 'Y'
84 AND TASKS.entity = 'TASK'
85 and tasks.owner_type_code = 'RS_GROUP'
86 and asg.resource_type_code not in ('RS_GROUP', 'RS_TEAM')
87 and asg.assignee_role = 'ASSIGNEE'
88 and exists
89 (SELECT /*+ index(a,JTF_RS_GROUP_MEMBERS_N1) */ null
90 FROM JTF_RS_GROUP_MEMBERS a
91 WHERE a.group_id=tasks.owner_id
92 and a.RESOURCE_ID = asg.resource_id
93 AND NVL(DELETE_FLAG,'N') <> 'Y' )
94 and exists
95 (select 1
96 from jtf_task_statuses_b sts
97 where sts.task_status_id = asg.assignment_status_id
98 and (nvl(sts.closed_flag, 'N') = 'N'
99 and nvl(sts.completed_flag, 'N') = 'N'
100 and nvl(sts.cancelled_flag, 'N') = 'N'
101 and nvl(sts.rejected_flag, 'N') = 'N'))) a
102 where a.last_update_date = a.max_update_date;
103
104 CURSOR c_task_due_date IS
105 SELECT booking_end_date, task_id
106 FROM JTF_TASK_ALL_ASSIGNMENTS
107 WHERE assignee_role = 'OWNER';
108
109 CURSOR c_task_status IS
110 SELECT TASK_ID,
111 DECODE(DELETED_FLAG, 'Y', 4, 3) "STATUS_ID"
112 FROM JTF_TASKS_B
113 WHERE ((OPEN_FLAG = 'N' AND DELETED_FLAG = 'N') OR (DELETED_FLAG = 'Y'))
114 AND ENTITY = 'TASK';
115
116 /** select resource_id, task_id, resource_type_code
117 from
118 (
119 SELECT tasks.task_id, TASKS.owner_id, tasks.owner_type_code, asg.resource_id, asg.resource_type_code, asg.task_assignment_id,
120 max(asg.last_update_date) over (partition by asg.task_id) max_update_date, asg.last_update_date
121 FROM JTF_TASK_ASSIGNMENTS ASG, JTF_TASKS_B TASKS
122 WHERE TASKS.TASK_ID = ASG.TASK_ID
123 AND NVL(TASKS.DELETED_FLAG,'N') = 'N'
124 AND TASKS.OPEN_FLAG = 'Y'
125 AND TASKS.entity = 'TASK'
126 and tasks.owner_type_code = 'RS_GROUP'
127 and asg.resource_type_code not in ('RS_GROUP', 'RS_TEAM')
128 and asg.assignee_role = 'ASSIGNEE'
129 and exists
130 (SELECT null
131 FROM JTF_RS_GROUP_MEMBERS
132 WHERE group_id=tasks.owner_id
133 and RESOURCE_ID = asg.resource_id
134 AND NVL(DELETE_FLAG,'N') <> 'Y' )
135 and exists
136 (select 1
137 from jtf_task_statuses_b sts
138 where sts.task_status_id = asg.assignment_status_id
139 and (nvl(sts.closed_flag, 'N') = 'N'
140 and nvl(sts.completed_flag, 'N') = 'N'
141 and nvl(sts.cancelled_flag, 'N') = 'N'
142 and nvl(sts.rejected_flag, 'N') = 'N') )
143 --and tasks.task_id = 17234
144 ) a
145 where a.last_update_date = a.max_update_date;
146 ***/
147
148 TYPE NUMBER_TBL is TABLE OF NUMBER INDEX BY BINARY_INTEGER;
149 TYPE DATE_TBL is TABLE OF DATE INDEX BY BINARY_INTEGER;
150 TYPE VARCHAR2_TBL is TABLE OF VARCHAR2(80) INDEX BY BINARY_INTEGER;
151
152 TYPE task_details_rec IS RECORD
153 (
154 l_task_id_list NUMBER_TBL,
155 l_task_number_list VARCHAR2_TBL,
156 l_customer_id_list NUMBER_TBL,
157 l_owner_id_list NUMBER_TBL,
158 l_owner_type_code_list VARCHAR2_TBL,
159 l_owner_type_actual_list VARCHAR2_TBL,
160 l_source_object_id_list NUMBER_TBL,
161 l_source_object_type_code_list VARCHAR2_TBL,
162 -- l_due_date_list DATE_TBL,
163 l_planned_start_date_list DATE_TBL,
164 l_planned_end_date_list DATE_TBL,
165 l_actual_start_date_list DATE_TBL,
166 l_actual_end_date_list DATE_TBL,
167 l_scheduled_start_date_list DATE_TBL,
168 l_scheduled_end_date_list DATE_TBL,
169 l_task_type_id_list NUMBER_TBL,
170 l_task_name_list VARCHAR2_TBL,
171 l_importance_level_list NUMBER_TBL,
172 l_priority_code_list VARCHAR2_TBL,
173 l_pty_id_list VARCHAR2_TBL,
174 l_pty_level_list VARCHAR2_TBL,
175 l_dist_sts_id NUMBER_TBL,
176 l_task_status_id_list NUMBER_TBL,
177 l_ins_flag NUMBER_TBL
178
179 );
180
181 l_task_det_rec task_details_rec;
182
183 TYPE task_asg_rec is RECORD
184 (
185 l_asg_id_list NUMBER_TBL,
186 l_asg_task_id_list NUMBER_TBL,
187 l_asg_type_act_list VARCHAR2_TBL
188 );
189
190 l_task_asg_rec task_asg_rec;
191
192 TYPE due_date_rec is RECORD
193 (
194 l_due_date_list DATE_TBL,
195 l_task_id_list NUMBER_TBL
196 );
197
198 l_task_duedate_rec due_date_rec;
199
200 TYPE status_rec is RECORD
201 (
202 l_task_id_list NUMBER_TBL,
203 l_status_id_list NUMBER_TBL
204 );
205
206 l_task_status_rec status_rec;
207
208 l_array_size NUMBER;
209 l_ws_id NUMBER;
210 l_total NUMBER;
211 l_cnt NUMBER;
212 l_ctr_list NUMBER_TBL;
213
214 dml_errors EXCEPTION;
215 PRAGMA exception_init(dml_errors, -24381);
216 errors NUMBER;
217
218 l_entity VARCHAR2(10);
219 l_deleted_flag VARCHAR2(1);
220 l_task_priority_id_1 NUMBER(1);
221 l_open_flag VARCHAR2(1);
222 l_object_code VARCHAR2(10);
223
224 cursor c1(p_child_ws_id IN NUMBER) is
225 select ''''||object_code||'''' object_code
226 from ieu_uwqm_work_sources_b
227 where ws_id in ( select assct_props.parent_ws_id
228 from ieu_uwqm_work_sources_b ws, ieu_uwqm_ws_assct_props assct_props
229 where ws.ws_id = assct_props.ws_id
230 and assct_props.child_ws_id = p_child_ws_id
231 and nvl(ws.not_valid_flag,'N') = 'N');
232
233 l_sql_stmt VARCHAR2(4000);
234 l_ws_exists VARCHAR2(10);
235
236 l_done BOOLEAN;
237 l_cur_name VARCHAR2(100);
238 l_null_val VARCHAR2(20);
239
240 l_user_id NUMBER;
241 l_login_id NUMBER;
242 l_assct_ws_cnt NUMBER;
243 l_error_count NUMBER;
244
245
246 begin
247
248 l_error_count := 0;
249 l_dist_from := 'GROUP_OWNED';
250 l_dist_to := 'INDIVIDUAL_ASSIGNED';
251 l_object_code := 'TASK';
252
253 l_user_id := FND_GLOBAL.USER_ID;
254 l_login_id := FND_GLOBAL.LOGIN_ID;
255 l_array_size := 2000;
256 -- l_ws_id := 10000;
257 l_null_val := '''NONE''';
258 v_task_details_1 := 'select /*+ ordered parallel(tb) parallel(tt) use_nl(tp,ip,sts_b)*/
259 tb.task_id
260 , tb.task_number work_item_number
261 , tb.customer_id
262 , tb.owner_id
263 , decode(tb.owner_type_code, '||''''||'RS_GROUP'||''''||','||''''||'RS_GROUP'||''''||','||''''||'RS_TEAM'||''''||','||
264 ''''||'RS_TEAM'||''''||','||''''|| 'RS_INDIVIDUAL'||''''||')'||' owner_type_code
265 , tb.owner_type_code owner_type_actual
266 , tb.source_object_id
267 , tb.source_object_type_code
268 -- , decode(tb.date_selected,'||''''||'P'||''''||', tb.planned_end_date, '||''''||'A'||''''||', tb.actual_end_date, '||''''||'S'||''''||', tb.scheduled_end_date, null, tb.scheduled_end_date) due_date
269 , tb.planned_start_date
270 , tb.planned_end_date
271 , tb.actual_start_date
272 , tb.actual_end_date
273 , tb.scheduled_start_date
274 , tb.scheduled_end_date
275 , tb.task_type_id
276 , substr(tt.task_name,1,1990) TITLE
277 , tp.importance_level
278 , ip.priority_code
279 , ip.priority_id
280 , ip.priority_level
281 , decode(NVL(tb.owner_type_code,'||''''||'NULL'||''''||'), '||''''||'RS_GROUP'||''''||', 1, 0) distribution_status_id
282 , decode(nvl(sts_b.on_hold_flag, '||''''||'N'||''''||'),'||''''||'Y'||''''||', 5, 0) uwq_status_id
283 , 1 ins_flag
284 from jtf_tasks_b tb
285 , jtf_tasks_tl tt
286 , jtf_task_priorities_b tp
287 , ieu_uwqm_priorities_b ip
288 , jtf_task_statuses_b sts_b
289 where tb.entity = '||''''||'TASK'||''''||'
290 and nvl(tb.deleted_flag, '||''''||'N'||''''||') = '||''''||'N'||''''||'
291 and tb.task_id = tt.task_id
292 and tt.language = userenv('||''''||'LANG'||''''||')
293 and tp.task_priority_id = nvl(tb.task_priority_id, 4)
294 and least(tp.importance_level, 4) = ip.priority_level
295 and open_flag = '||''''||'Y'||''''||'
296 and tb.task_status_id = sts_b.task_status_id';
297
298 l_c_task_details_1_var := ' and tb.source_object_type_code not in (';
299 begin
300 l_object_code := 'TASK';
301 l_not_valid_flag := 'N';
302 select ws_id
303 into l_ws_id
304 from ieu_uwqm_work_sources_b
305 where object_code = l_object_code
306 and nvl(not_valid_flag, 'N') = l_not_valid_flag;
307 exception
308 when others then
309 errbuf := 'Work Source does not exist';
310 retcode := 2;
311 l_message := errbuf;
312 -- dbms_output.put_line('err msg: '||l_message);
313 FND_FILE.PUT_LINE(FND_FILE.LOG, l_message);
314 raise;
315 end;
316
317 BEGIN
318 l_assct_ws_cnt := 0;
319 l_ws_exists := 'N';
320
321 select count(*)
322 into l_assct_ws_cnt
323 from ieu_uwqm_work_sources_b ws, ieu_uwqm_ws_assct_props assct_props
324 where ws.ws_id = assct_props.ws_id
325 and assct_props.child_ws_id = l_ws_id
326 and nvl(ws.not_valid_flag,'N') = 'N';
327
328 if nvl(l_assct_ws_cnt, 0) > 0 then
329 l_ws_exists := 'Y';
330 else
331 l_ws_exists := 'N';
332 end if;
333
334 EXCEPTION
335 WHEN OTHERS THEN
336 l_ws_exists := 'N';
337 END;
338
339 -- dbms_output.put_line('l_ws_exists: '||l_ws_exists);
340
341 if (l_ws_exists = 'Y')
342 then
343 for cur_rec in c1(l_ws_id)
344 loop
345 if l_obj_code_lst is null
346 then
347 l_obj_code_lst := cur_rec.object_code;
348 else
349 l_obj_code_lst := l_obj_code_lst || ', '|| cur_rec.object_code;
350 end if;
351 end loop;
352 else
353 l_obj_code_lst := l_null_val;
354 end if;
355 l_obj_code_lst := NVL(l_obj_code_lst, l_null_val);
356
357 -- dbms_output.put_line('Obj Code List: '||l_obj_code_lst);
358 --l_total := 0;
359 l_failed_counter := 0;
360
361 -- open c_task_details_1;
362 v_task_details_1 := v_task_details_1||l_c_task_details_1_var||l_obj_code_lst||')';
363 open c_task_details_1 for v_task_details_1;
364 loop
365
366 FETCH c_task_details_1
367 BULK COLLECT INTO
368 l_task_det_rec.l_task_id_list,
369 l_task_det_rec.l_task_number_list,
370 l_task_det_rec.l_customer_id_list,
371 l_task_det_rec.l_owner_id_list,
372 l_task_det_rec.l_owner_type_code_list,
373 l_task_det_rec.l_owner_type_actual_list,
374 l_task_det_rec.l_source_object_id_list,
375 l_task_det_rec.l_source_object_type_code_list,
376 --l_task_det_rec.l_due_date_list,
377 l_task_det_rec.l_planned_start_date_list,
378 l_task_det_rec.l_planned_end_date_list,
379 l_task_det_rec.l_actual_start_date_list,
380 l_task_det_rec.l_actual_end_date_list,
381 l_task_det_rec.l_scheduled_start_date_list,
382 l_task_det_rec.l_scheduled_end_date_list,
383 l_task_det_rec.l_task_type_id_list,
384 l_task_det_rec.l_task_name_list,
385 l_task_det_rec.l_importance_level_list,
386 l_task_det_rec.l_priority_code_list,
387 l_task_det_rec.l_pty_id_list,
388 l_task_det_rec.l_pty_level_list,
389 l_task_det_rec.l_dist_sts_id,
390 l_task_det_rec.l_task_status_id_list,
391 l_task_det_rec.l_ins_flag
392 LIMIT l_array_size;
393
394 l_done := c_task_details_1%NOTFOUND;
395
396 if ( (l_total is not null) and (l_task_det_rec.l_task_id_list.COUNT is not NULL))
397 then
398 l_total := l_total + l_task_det_rec.l_task_id_list.COUNT;
399 elsif (l_task_det_rec.l_task_id_list.COUNT is not NULL)
400 then
401 l_total := l_task_det_rec.l_task_id_list.COUNT;
402 end if;
403
404 BEGIN
405 FORALL i in 1..l_task_det_rec.l_task_id_list.COUNT SAVE EXCEPTIONS
406 insert into ieu_uwqm_items
407 ( WORK_ITEM_ID,
408 OBJECT_VERSION_NUMBER,
409 CREATED_BY,
410 CREATION_DATE,
411 LAST_UPDATED_BY,
412 LAST_UPDATE_DATE,
413 LAST_UPDATE_LOGIN,
414 SECURITY_GROUP_ID,
415 WORKITEM_OBJ_CODE,
416 WORKITEM_PK_ID,
417 STATUS_ID,
418 PRIORITY_ID,
419 PRIORITY_LEVEL,
420 -- DUE_DATE,
421 TITLE,
422 PARTY_ID,
423 OWNER_TYPE,
424 OWNER_ID,
425 OWNER_TYPE_ACTUAL,
426 SOURCE_OBJECT_ID,
427 SOURCE_OBJECT_TYPE_CODE,
428 APPLICATION_ID,
429 IEU_ENUM_TYPE_UUID,
430 STATUS_UPDATE_USER_ID,
431 WORK_ITEM_NUMBER,
432 RESCHEDULE_TIME,
433 WS_ID,
434 DISTRIBUTION_STATUS_ID )
435 values (
436 IEU_UWQM_ITEMS_S1.NEXTVAL,
437 0,
438 l_user_id,
439 SYSDATE,
440 l_user_id,
441 SYSDATE,
442 l_login_id,
443 0,
444 'TASK',
445 l_task_det_rec.l_task_id_list(i),
446 l_task_det_rec.l_task_status_id_list(i),
447 l_task_det_rec.l_pty_id_list(i),
448 l_task_det_rec.l_pty_level_list(i),
449 --l_task_det_rec.l_due_date_list(i),
450 l_task_det_rec.l_task_name_list(i),
451 l_task_det_rec.l_customer_id_list(i),
452 l_task_det_rec.l_owner_type_code_list(i),
453 l_task_det_rec.l_owner_id_list(i),
454 l_task_det_rec.l_owner_type_actual_list(i),
455 l_task_det_rec.l_source_object_id_list(i),
456 l_task_det_rec.l_source_object_type_code_list(i),
457 690,
458 'TASKS',
459 l_user_id,
460 l_task_det_rec.l_task_number_list(i),
461 sysdate,
462 l_ws_id,
463 l_task_det_rec.l_dist_sts_id(i));
464
465 EXCEPTION
466 WHEN dml_errors THEN
467 errors := SQL%BULK_EXCEPTIONS.COUNT;
468 --fnd_file.put_line(FND_FILE.LOG,'insert failed..');
469 FOR i IN 1..errors LOOP
470 l_task_det_rec.l_ins_flag(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX) := 0;
471 --dbms_output.put_line(SQLERRM(-1*SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
472
473 If SQL%BULK_EXCEPTIONS(i).ERROR_CODE <> 1 then
474 l_error_count := l_error_count + 1;
475 --** checking for error threshold **--
476 IF l_error_count > 1000 THEN
477 FND_MESSAGE.SET_NAME('IEU', 'IEU_ERROR_THRESHOLD');
478 FND_MESSAGE.SET_TOKEN('ERROR_COUNT', '1000');
479 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
480 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
481 fnd_msg_pub.ADD;
482 fnd_msg_pub.Count_and_Get
483 (
484 p_count => x_msg_count,
485 p_data => x_msg_data
486 );
487
488 RAISE fnd_api.g_exc_error;
489 END IF;
490
491 err_flag := 'Y';
492 fnd_file.new_line(FND_FILE.LOG, 1);
493 FND_MESSAGE.SET_NAME('IEU', 'IEU_CREATE_UWQM_ITEM_FAILED');
494 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', 'IEU_TASKS_WR_MIG_PVT');
495 FND_MESSAGE.SET_TOKEN('DETAILS', 'WORKITEM_PK_ID:'||l_task_det_rec.l_task_id_list(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX) ||' Error: '||SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
496 fnd_file.put_line(FND_FILE.LOG,SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
497 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
498 fnd_msg_pub.ADD;
499 fnd_msg_pub.Count_and_Get
500 (
501 p_count => x_msg_count,
502 p_data => x_msg_data
503 );
504 END IF;
505 END LOOP;
506
507 IF err_flag = 'Y' THEN
508
509 FND_MESSAGE.SET_NAME('IEU', 'IEU_WS_ACTIVATE_FAILED');
510 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
511 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
512 fnd_msg_pub.ADD;
513 fnd_msg_pub.Count_and_Get
514 (
515 p_count => x_msg_count,
516 p_data => x_msg_data
517 );
518
519 -- RAISE fnd_api.g_exc_error;
520 END IF;
521 END;
522
523
524
525
526 -- fnd_file.put_line(FND_FILE.LOG,' errors: '||errors);
527 if (errors > 0)
528 then
529 -- fnd_file.put_line(FND_FILE.LOG,'begin update');
530 BEGIN
531 FORALL i in 1..l_task_det_rec.l_task_id_list.COUNT SAVE EXCEPTIONS
532 UPDATE IEU_UWQM_ITEMS
533 set
534 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
535 -- CREATED_BY = l_user_id,
536 -- CREATION_DATE = SYSDATE,
537 LAST_UPDATED_BY = l_user_id,
538 LAST_UPDATE_DATE = SYSDATE,
539 LAST_UPDATE_LOGIN = l_login_id,
540 STATUS_ID = l_task_det_rec.l_task_status_id_list(i),
541 PRIORITY_ID = l_task_det_rec.l_pty_id_list(i),
542 PRIORITY_LEVEL = l_task_det_rec.l_pty_level_list(i),
543 --DUE_DATE = l_task_det_rec.l_due_date_list(i),
544 TITLE = l_task_det_rec.l_task_name_list(i),
545 PARTY_ID = l_task_det_rec.l_customer_id_list(i),
546 OWNER_TYPE = l_task_det_rec.l_owner_type_code_list(i),
547 OWNER_ID = l_task_det_rec.l_owner_id_list(i),
548 SOURCE_OBJECT_ID = l_task_det_rec.l_source_object_id_list(i),
549 SOURCE_OBJECT_TYPE_CODE = l_task_det_rec.l_source_object_type_code_list(i),
550 OWNER_TYPE_ACTUAL = l_task_det_rec.l_owner_type_actual_list(i),
551 APPLICATION_ID = 690,
552 IEU_ENUM_TYPE_UUID = 'TASKS',
553 STATUS_UPDATE_USER_ID = l_user_id,
554 WORK_ITEM_NUMBER = l_task_det_rec.l_task_number_list(i),
555 RESCHEDULE_TIME = sysdate,
556 WS_ID = l_ws_id,
557 DISTRIBUTION_STATUS_ID = l_task_det_rec.l_dist_sts_id(i)
558 where workitem_obj_code = 'TASK'
559 and workitem_pk_id = l_task_det_rec.l_task_id_list(i)
560 and l_task_det_rec.l_ins_flag(i) = 0;
561 EXCEPTION
562 WHEN dml_errors THEN
563 errors := SQL%BULK_EXCEPTIONS.COUNT;
564 l_failed_counter := SQL%BULK_EXCEPTIONS.COUNT;
565 l_success_counter := l_task_det_rec.l_task_id_list.COUNT - l_failed_counter;
566
567
568 FOR i IN 1..errors LOOP
569 --** checking for error threshold **--
570
571 l_error_count := l_error_count + 1;
572 IF l_error_count > 1000 THEN
573 FND_MESSAGE.SET_NAME('IEU', 'IEU_ERROR_THRESHOLD');
574 FND_MESSAGE.SET_TOKEN('ERROR_COUNT', '1000');
575 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
576 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
577 fnd_msg_pub.ADD;
578 fnd_msg_pub.Count_and_Get
579 (
580 p_count => x_msg_count,
581 p_data => x_msg_data
582 );
583
584 RAISE fnd_api.g_exc_error;
585 END IF;
586
587 fnd_file.new_line(FND_FILE.LOG, 1);
588 FND_MESSAGE.SET_NAME('IEU', 'IEU_UPDATE_UWQM_ITEM_FAILED');
589 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', 'IEU_TASKS_WR_MIG_PVT');
590 FND_MESSAGE.SET_TOKEN('DETAILS', ' WORKITEM_PK_ID:'||l_task_det_rec.l_task_id_list(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX) ||' Error: '||SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
591
592 fnd_file.put_line(FND_FILE.LOG,SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
593 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
594 fnd_msg_pub.ADD;
595 fnd_msg_pub.Count_and_Get
596 (
597 p_count => x_msg_count,
598 p_data => x_msg_data
599 );
600
601 END LOOP;
602
603 FND_MESSAGE.SET_NAME('IEU', 'IEU_WS_ACTIVATE_FAILED');
604 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
605 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
606 fnd_msg_pub.ADD;
607 fnd_msg_pub.Count_and_Get
608 (
609 p_count => x_msg_count,
610 p_data => x_msg_data
611 );
612
613 -- RAISE fnd_api.g_exc_error;
614
615
616
617 END;
618 end if;
619
620 COMMIT;
621
622 l_task_det_rec.l_task_id_list.DELETE;
623 l_task_det_rec.l_task_number_list.DELETE;
624 l_task_det_rec.l_customer_id_list.DELETE;
625 l_task_det_rec.l_owner_id_list.DELETE;
626 l_task_det_rec.l_owner_type_code_list.DELETE;
627 l_task_det_rec.l_owner_type_actual_list.DELETE;
628 l_task_det_rec.l_source_object_id_list.DELETE;
629 l_task_det_rec.l_source_object_type_code_list.DELETE;
630 --l_task_det_rec.l_due_date_list.DELETE;
631 l_task_det_rec.l_planned_start_date_list.DELETE;
632 l_task_det_rec.l_planned_end_date_list.DELETE;
633 l_task_det_rec.l_actual_start_date_list.DELETE;
634 l_task_det_rec.l_actual_end_date_list.DELETE;
635 l_task_det_rec.l_scheduled_start_date_list.DELETE;
636 l_task_det_rec.l_scheduled_end_date_list.DELETE;
637 l_task_det_rec.l_task_type_id_list.DELETE;
638 l_task_det_rec.l_task_name_list.DELETE;
639 l_task_det_rec.l_importance_level_list.DELETE;
640 l_task_det_rec.l_priority_code_list.DELETE;
641 l_task_det_rec.l_pty_id_list.DELETE;
642 l_task_det_rec.l_pty_level_list.DELETE;
643 l_task_det_rec.l_dist_sts_id.DELETE;
644 l_task_det_rec.l_task_status_id_list.DELETE;
645 l_task_det_rec.l_ins_flag.DELETE;
646
647 EXIT WHEN (l_done);
648
649 end loop;
650 close c_task_details_1;
651
652 DBMS_STATS.DELETE_TABLE_STATS (
653 ownname => 'IEU',
654 tabname => 'IEU_UWQM_ITEMS');
655
656 DBMS_STATS.GATHER_TABLE_STATS (
657 ownname => 'IEU',
658 tabname => 'IEU_UWQM_ITEMS',
659 degree => 8,
660 cascade => TRUE);
661
662
663 -- Update Due Date based on Booking End Date
664
665 open c_task_due_date;
666 loop
667
668 FETCH c_task_due_date
669 BULK COLLECT INTO
670 l_task_duedate_rec.l_due_date_list,
671 l_task_duedate_rec.l_task_id_list
672 LIMIT l_array_size;
673
674 fnd_file.put_line(FND_FILE.LOG,'due date task id cnt: '||l_task_duedate_rec.l_task_id_list.COUNT);
675 l_done := c_task_due_date%NOTFOUND;
676
677 BEGIN
678 -- fnd_file.put_line(FND_FILE.LOG,'Begin update');
679 FORALL i in 1..l_task_duedate_rec.l_task_id_list.COUNT SAVE EXCEPTIONS
680 update IEU_UWQM_ITEMS
681 set due_date = l_task_duedate_rec.l_due_date_list(i)
682 where workitem_pk_id = l_task_duedate_rec.l_task_id_list(i)
683 and workitem_obj_code = 'TASK'
684 and ws_id = l_ws_id;
685 EXCEPTION
686 WHEN dml_errors THEN
687 errors := SQL%BULK_EXCEPTIONS.COUNT;
688 FOR i IN 1..errors LOOP
689 /* fnd_file.put_line(FND_FILE.LOG,'Error ' || i || ' occurred during '||
690 'assignee update for workitem_pk_id ' || l_task_asg_rec.l_asg_task_id_list(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX) ||
691 'Oracle error is ' ||
692 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE)); */
693
694 --** checking for error threshold **--
695
696 l_error_count := l_error_count +1;
697 IF l_error_count > 1000 THEN
698 FND_MESSAGE.SET_NAME('IEU', 'IEU_ERROR_THRESHOLD');
699 FND_MESSAGE.SET_TOKEN('ERROR_COUNT', '1000');
700 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
701 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
702 fnd_msg_pub.ADD;
703 fnd_msg_pub.Count_and_Get
704 (
705 p_count => x_msg_count,
706 p_data => x_msg_data
707 );
708
709 RAISE fnd_api.g_exc_error;
710 END IF;
711
712 fnd_file.new_line(FND_FILE.LOG, 1);
713 FND_MESSAGE.SET_NAME('IEU', 'IEU_UPDATE_UWQM_ITEM_FAILED');
714 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', 'IEU_TASKS_WR_MIG_PVT');
715 FND_MESSAGE.SET_TOKEN('DETAILS', ' WORKITEM_PK_ID:'||l_task_duedate_rec.l_task_id_list(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX) ||' Error: '||SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
716
717 fnd_file.put_line(FND_FILE.LOG,SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
718 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
719 fnd_msg_pub.ADD;
720 fnd_msg_pub.Count_and_Get
721 (
722 p_count => x_msg_count,
723 p_data => x_msg_data
724 );
725 END LOOP;
726 FND_MESSAGE.SET_NAME('IEU', 'IEU_WS_ACTIVATE_FAILED');
727 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
728 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
729 fnd_msg_pub.ADD;
730 fnd_msg_pub.Count_and_Get
731 (
732 p_count => x_msg_count,
733 p_data => x_msg_data);
734
735 -- RAISE fnd_api.g_exc_error;
736
737
738
739 END;
740
741 COMMIT;
742
743 l_task_duedate_rec.l_due_date_list.DELETE;
744 l_task_duedate_rec.l_task_id_list.DELETE;
745
746 exit when (l_done);
747
748 end loop;
749
750 close c_task_due_date;
751
752
753 -- Update Close and Delete Statuses
754
755 open c_task_status;
756 loop
757
758 FETCH c_task_status
759 BULK COLLECT INTO
760 l_task_status_rec.l_task_id_list,
761 l_task_status_rec.l_status_id_list
762 LIMIT l_array_size;
763
764 fnd_file.put_line(FND_FILE.LOG,'status task id cnt: '||l_task_status_rec.l_task_id_list.COUNT);
765 l_done := c_task_status%NOTFOUND;
766
767 BEGIN
768 -- fnd_file.put_line(FND_FILE.LOG,'Begin update');
769 FORALL i in 1..l_task_status_rec.l_task_id_list.COUNT SAVE EXCEPTIONS
770 update IEU_UWQM_ITEMS
771 set status_id = l_task_status_rec.l_status_id_list(i),
772 LAST_UPDATED_BY = l_user_id,
773 LAST_UPDATE_DATE = SYSDATE,
774 LAST_UPDATE_LOGIN = l_login_id
775 where workitem_obj_code = 'TASK'
776 and workitem_pk_id = l_task_status_rec.l_task_id_list(i)
777 and ws_id = l_ws_id;
778 EXCEPTION
779 WHEN dml_errors THEN
780 errors := SQL%BULK_EXCEPTIONS.COUNT;
781 FOR i IN 1..errors LOOP
782
783 --** checking for error threshold **--
784
785 l_error_count := l_error_count + 1;
786 IF l_error_count > 1000 THEN
787 FND_MESSAGE.SET_NAME('IEU', 'IEU_ERROR_THRESHOLD');
788 FND_MESSAGE.SET_TOKEN('ERROR_COUNT', '1000');
789 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
790 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
791 fnd_msg_pub.ADD;
792 fnd_msg_pub.Count_and_Get
793 (
794 p_count => x_msg_count,
795 p_data => x_msg_data
796 );
797
798 RAISE fnd_api.g_exc_error;
799 END IF;
800
801 fnd_file.new_line(FND_FILE.LOG, 1);
802 FND_MESSAGE.SET_NAME('IEU', 'IEU_UPDATE_UWQM_ITEM_FAILED');
803 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', 'IEU_TASKS_WR_MIG_PVT');
804 FND_MESSAGE.SET_TOKEN('DETAILS', ' WORKITEM_PK_ID:'||l_task_status_rec.l_task_id_list(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX) ||' Error: '||SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
805
806 fnd_file.put_line(FND_FILE.LOG,SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
807 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
808 fnd_msg_pub.ADD;
809 fnd_msg_pub.Count_and_Get
810 (
811 p_count => x_msg_count,
812 p_data => x_msg_data
813 );
814 END LOOP;
815 FND_MESSAGE.SET_NAME('IEU', 'IEU_WS_ACTIVATE_FAILED');
816 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
817 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
818 fnd_msg_pub.ADD;
819 fnd_msg_pub.Count_and_Get
820 (
821 p_count => x_msg_count,
822 p_data => x_msg_data);
823
824 -- RAISE fnd_api.g_exc_error;
825
826
827 END;
828
829 COMMIT;
830
831 l_task_status_rec.l_task_id_list.DELETE;
832 l_task_status_rec.l_status_id_list.DELETE;
833
834 exit when (l_done);
835
836 end loop;
837
838 close c_task_status;
839
840 -- Update Assignees
841
842 open c_task_asg_det;
843 loop
844
845 FETCH c_task_asg_det
846 BULK COLLECT INTO
847 l_task_asg_rec.l_asg_id_list,
848 l_task_asg_rec.l_asg_task_id_list,
849 l_task_asg_rec.l_asg_type_act_list
850 LIMIT l_array_size;
851
852 fnd_file.put_line(FND_FILE.LOG,'asg task id cnt: '||l_task_asg_rec.l_asg_task_id_list.COUNT||
853 ' asg id cnt: '||l_task_asg_rec.l_asg_id_list.COUNT|| ' asg type cnt: '||l_task_asg_rec.l_asg_type_act_list.COUNT );
854 l_done := c_task_asg_det%NOTFOUND;
855
856 BEGIN
857 -- fnd_file.put_line(FND_FILE.LOG,'Begin update');
858 FORALL i in 1..l_task_asg_rec.l_asg_task_id_list.COUNT SAVE EXCEPTIONS
859 update IEU_UWQM_ITEMS
860 set assignee_id = l_task_asg_rec.l_asg_id_list(i),
861 assignee_type = 'RS_INDIVIDUAL',
862 assignee_type_actual = l_task_asg_rec.l_asg_type_act_list(i),
863 DISTRIBUTION_STATUS_ID = 3
864 where workitem_pk_id = l_task_asg_rec.l_asg_task_id_list(i)
865 and workitem_obj_code = 'TASK'
866 and ws_id = l_ws_id;
867 EXCEPTION
868 WHEN dml_errors THEN
869 errors := SQL%BULK_EXCEPTIONS.COUNT;
870 FOR i IN 1..errors LOOP
871 /* fnd_file.put_line(FND_FILE.LOG,'Error ' || i || ' occurred during '||
872 'assignee update for workitem_pk_id ' || l_task_asg_rec.l_asg_task_id_list(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX) ||
873 'Oracle error is ' ||
874 SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE)); */
875
876 --** checking for error threshold **--
877
878 l_error_count := l_error_count + 1;
879 IF l_error_count > 1000 THEN
880 FND_MESSAGE.SET_NAME('IEU', 'IEU_ERROR_THRESHOLD');
881 FND_MESSAGE.SET_TOKEN('ERROR_COUNT', '1000');
882 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
883 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
884 fnd_msg_pub.ADD;
885 fnd_msg_pub.Count_and_Get
886 (
887 p_count => x_msg_count,
888 p_data => x_msg_data
889 );
890
891 RAISE fnd_api.g_exc_error;
892 END IF;
893
894
895 fnd_file.new_line(FND_FILE.LOG, 1);
896 FND_MESSAGE.SET_NAME('IEU', 'IEU_UPDATE_UWQM_ITEM_FAILED');
897 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', 'IEU_TASKS_WR_MIG_PVT');
898 FND_MESSAGE.SET_TOKEN('DETAILS', ' WORKITEM_PK_ID:'||l_task_asg_rec.l_asg_task_id_list(SQL%BULK_EXCEPTIONS(i).ERROR_INDEX) ||' Error: '||SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
899
900 fnd_file.put_line(FND_FILE.LOG,SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
901 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
902 fnd_msg_pub.ADD;
903 fnd_msg_pub.Count_and_Get
904 (
905 p_count => x_msg_count,
906 p_data => x_msg_data
907 );
908 END LOOP;
909 FND_MESSAGE.SET_NAME('IEU', 'IEU_WS_ACTIVATE_FAILED');
910 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
911 fnd_file.put_line(FND_FILE.LOG,FND_MESSAGE.GET);
912 fnd_msg_pub.ADD;
913 fnd_msg_pub.Count_and_Get
914 (
915 p_count => x_msg_count,
916 p_data => x_msg_data);
917
918 -- RAISE fnd_api.g_exc_error;
919
920
921
922 END;
923
924 COMMIT;
925
926 l_task_asg_rec.l_asg_id_list.DELETE;
927 l_task_asg_rec.l_asg_task_id_list.DELETE;
928 l_task_asg_rec.l_asg_type_act_list.DELETE;
929
930 exit when (l_done);
931
932 end loop;
933
934 close c_task_asg_det;
935
936 l_msg_count := null;
937 l_msg_data := null;
938 l_return_status := null;
939
940 if (l_failed_counter = 0)
941 then
942 IEU_WR_PUB.ACTIVATE_WS
943 (p_api_version => 1,
944 p_init_msg_list => 'T',
945 p_commit => 'T',
946 p_ws_code => 'TASK',
947 x_msg_count => l_msg_count,
948 x_msg_data => l_msg_data,
949 x_return_status => l_return_status);
950 else
951 IEU_WR_PUB.DEACTIVATE_WS
952 (p_api_version => 1,
953 p_init_msg_list => 'T',
954 p_commit => 'T',
955 p_ws_code => 'TASK',
956 x_msg_count => l_msg_count,
957 x_msg_data => l_msg_data,
958 x_return_status => l_return_status);
959 end if;
960
961 fnd_file.new_line(FND_FILE.LOG, 1);
962
963 if (l_failed_counter = 0) and (l_return_status = 'S') then
964
965 FND_MESSAGE.SET_NAME('IEU', 'IEU_WS_ACTIVATED');
966 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
967 l_ws_act_success_msg := FND_MESSAGE.GET;
968 fnd_file.put_line(FND_FILE.LOG, l_ws_act_success_msg);
969 -- dbms_output.put_line(l_ws_act_success_msg);
970
971 else
972 FND_MESSAGE.SET_NAME('IEU', 'IEU_WS_ACTIVATE_FAILED');
973 FND_MESSAGE.SET_TOKEN('WS_CODE', 'TASK');
974 l_ws_act_failed_msg := FND_MESSAGE.GET;
975
976 l_ws_act_failed_msg := l_ws_act_failed_msg||' '||l_msg_data;
977 fnd_file.put_line(FND_FILE.LOG, l_ws_act_failed_msg);
978 RAISE fnd_api.g_exc_error;
979
980 -- dbms_output.put_line(l_ws_act_failed_msg);
981 end if;
982
983 fnd_file.new_line(FND_FILE.LOG, 1);
984 FND_MESSAGE.SET_NAME('IEU', 'IEU_SYNCH_WR_DIST_STATUS_SUM');
985 FND_MESSAGE.SET_TOKEN('SUCCESS_COUNT', (l_total - l_failed_counter));
986 FND_MESSAGE.SET_TOKEN('FAILED_COUNT', l_failed_counter);
987 FND_MESSAGE.SET_TOKEN('TOTAL_COUNT', l_total );
988
989 -- dbms_output.put_line('SUCCESS_COUNT'|| (l_total - l_failed_counter));
990 -- dbms_output.put_line('FAILED_COUNT'||l_failed_counter);
991 -- dbms_output.put_line('TOTAL_COUNT'|| l_total );
992
993 l_workitem_sum_msg := FND_MESSAGE.GET;
994
995 fnd_file.put_line(FND_FILE.LOG, l_workitem_sum_msg);
996 -- dbms_output.put_line(l_workitem_sum_msg);
997
998 DBMS_STATS.DELETE_TABLE_STATS (
999 ownname => 'IEU',
1000 tabname => 'IEU_UWQM_ITEMS');
1001
1002 DBMS_STATS.GATHER_TABLE_STATS (
1003 ownname => 'IEU',
1004 tabname => 'IEU_UWQM_ITEMS',
1005 degree => 8,
1006 cascade => TRUE);
1007
1008 EXCEPTION
1009 WHEN fnd_api.g_exc_error THEN
1010
1011 IEU_WR_PUB.DEACTIVATE_WS
1012 (p_api_version => 1,
1013 p_init_msg_list => 'T',
1014 p_commit => 'T',
1015 p_ws_code => 'TASK',
1016 x_msg_count => l_msg_count,
1017 x_msg_data => l_msg_data,
1018 x_return_status => l_return_status);
1019 retcode := 2;
1020
1021 fnd_msg_pub.Count_and_Get
1022 (
1023 p_count => x_msg_count,
1024 p_data => x_msg_data
1025 );
1026 errbuf :=x_msg_Data;
1027
1028 WHEN fnd_api.g_exc_unexpected_error THEN
1029
1030 -- errbuf := sqlcode||' '||sqlerrm;
1031 IEU_WR_PUB.DEACTIVATE_WS
1032 (p_api_version => 1,
1033 p_init_msg_list => 'T',
1034 p_commit => 'T',
1035 p_ws_code => 'TASK',
1036 x_msg_count => l_msg_count,
1037 x_msg_data => l_msg_data,
1038 x_return_status => l_return_status);
1039 retcode := 2;
1040
1041 fnd_msg_pub.Count_and_Get
1042 (
1043 p_count => x_msg_count,
1044 p_data => x_msg_data
1045 );
1046 errbuf :=x_msg_Data;
1047
1048 WHEN OTHERS THEN
1049
1050 IEU_WR_PUB.DEACTIVATE_WS
1051 (p_api_version => 1,
1052 p_init_msg_list => 'T',
1053 p_commit => 'T',
1054 p_ws_code => 'TASK',
1055 x_msg_count => l_msg_count,
1056 x_msg_data => l_msg_data,
1057 x_return_status => l_return_status);
1058
1059 errbuf := sqlcode||' '||sqlerrm;
1060 retcode := 2;
1061 l_message := sqlcode || ' '||sqlerrm;
1062 FND_FILE.PUT_LINE(FND_FILE.LOG, l_message);
1063 IF FND_MSG_PUB.Check_msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1064 THEN
1065
1066 fnd_msg_pub.Count_and_Get
1067 (
1068 p_count => x_msg_count,
1069 p_data => x_msg_data
1070 );
1071 errbuf := x_msg_data;
1072 END IF;
1073
1074
1075 END IEU_SYNCH_WR_DIST_STATUS;
1076
1077 END IEU_TASKS_WR_MIG_PVT;