113: ROWIDTOCHAR(rdb.rowid)
114: FROM hxc_rdb_pre_timecards rdb,
115: hxc_time_building_blocks det,
116: fnd_user fnd
117: WHERE rdb.ret_user_id = FND_GLOBAL.user_id
118: AND rdb.lu_bb_id = det.time_building_block_id
119: AND rdb.lu_ovn = det.object_version_number
120: AND det.last_updated_by = fnd.user_id
121: AND fnd.employee_id <> det.resource_id
148: IS SELECT paf.supervisor_id,
149: ROWIDTOCHAR(tc.rowid)
150: FROM hxc_rdb_pre_timecards tc,
151: per_assignments_f paf -- Bug 12605349
152: WHERE tc.ret_user_id = FND_GLOBAL.user_id
153: AND tc.resource_id = paf.person_id
154: AND tc.start_time BETWEEN paf.effective_start_date
155: AND paf.effective_end_date;
156:
187: per_people_f ppf -- Bug 12605349
188: WHERE trunc(SYSDATE) BETWEEN ppf.effective_start_date --Bug 14026118
189: AND ppf.effective_end_date
190: AND rdb.resource_id = ppf.person_id
191: AND rdb.ret_user_id = FND_GLOBAL.user_id;
192:
193: nametab VARCHARTAB;
194: notab VARCHARTAB;
195: rowtab VARCHARTAB;
258: ELSIF p_application = 'PAY'
259: THEN
260: l_details := REPLACE(l_details,'LATEST_DETAILS','HXC_PAY_LATEST_DETAILS');
261: END IF;
262: l_details := REPLACE(l_details,'USERID',FND_GLOBAL.user_id);
263:
264: OPEN l_ref_cursor FOR l_details;
265: LOOP
266: FETCH l_ref_cursor BULK COLLECT INTO restab,
301: att2tab(i),
302: att3tab(i),
303: measuretab(i),
304: DECODE(p_application,'PA',hrspmtab(i),NULL),
305: FND_GLOBAL.user_id);
306:
307: commit;
308: end loop;
309:
320: timecards,
321: ret_user_id)
322: SELECT approval_status,
323: count(timecard_id) Timecards,
324: FND_GLOBAL.user_id
325: FROM hxc_rdb_pre_timecards
326: WHERE ret_user_id = FND_GLOBAL.user_id
327: GROUP by approval_status
328: UNION
322: SELECT approval_status,
323: count(timecard_id) Timecards,
324: FND_GLOBAL.user_id
325: FROM hxc_rdb_pre_timecards
326: WHERE ret_user_id = FND_GLOBAL.user_id
327: GROUP by approval_status
328: UNION
329: SELECT 'Total',count(*),
330: FND_GLOBAL.user_id
326: WHERE ret_user_id = FND_GLOBAL.user_id
327: GROUP by approval_status
328: UNION
329: SELECT 'Total',count(*),
330: FND_GLOBAL.user_id
331: FROM hxc_rdb_pre_timecards
332: WHERE ret_user_id = FND_GLOBAL.user_id;
333: COMMIT;
334:
328: UNION
329: SELECT 'Total',count(*),
330: FND_GLOBAL.user_id
331: FROM hxc_rdb_pre_timecards
332: WHERE ret_user_id = FND_GLOBAL.user_id;
333: COMMIT;
334:
335: END summarize_statuses;
336:
354: SUM(measure) OVER (PARTITION BY approval_status,
355: attribute1||
356: attribute2||
357: attribute3) measure,
358: FND_GLOBAL.user_id
359: FROM hxc_rdb_pre_details
360: WHERE ret_user_id = FND_GLOBAL.user_id
361: UNION
362: ALL
356: attribute2||
357: attribute3) measure,
358: FND_GLOBAL.user_id
359: FROM hxc_rdb_pre_details
360: WHERE ret_user_id = FND_GLOBAL.user_id
361: UNION
362: ALL
363: SELECT DISTINCT 'Total' approval_status,
364: attribute1,
367: SUM(measure) OVER (PARTITION BY
368: attribute1||
369: attribute2||
370: attribute3) measure,
371: fnd_global.user_id
372: FROM hxc_rdb_pre_details
373: WHERE ret_user_id = FND_GLOBAL.user_id;
374: COMMIT;
375:
369: attribute2||
370: attribute3) measure,
371: fnd_global.user_id
372: FROM hxc_rdb_pre_details
373: WHERE ret_user_id = FND_GLOBAL.user_id;
374: COMMIT;
375:
376: END summarize_attributes;
377:
390: SELECT distinct approval_status,
391: hrs_pm,
392: COUNT(DISTINCT timecard_id) OVER (PARTITION BY approval_status,
393: hrs_pm) ,
394: fnd_global.user_id
395: FROM hxc_rdb_pre_details
396: WHERE ret_user_id = FND_GLOBAL.user_id
397: UNION
398: ALL
392: COUNT(DISTINCT timecard_id) OVER (PARTITION BY approval_status,
393: hrs_pm) ,
394: fnd_global.user_id
395: FROM hxc_rdb_pre_details
396: WHERE ret_user_id = FND_GLOBAL.user_id
397: UNION
398: ALL
399: SELECT DISTINCT 'Total' approval_status,
400: hrs_pm,
398: ALL
399: SELECT DISTINCT 'Total' approval_status,
400: hrs_pm,
401: COUNT(DISTINCT timecard_id) OVER (PARTITION BY hrs_pm) measure,
402: fnd_global.user_id
403: FROM hxc_rdb_pre_details
404: WHERE ret_user_id = FND_GLOBAL.user_id;
405:
406: COMMIT;
400: hrs_pm,
401: COUNT(DISTINCT timecard_id) OVER (PARTITION BY hrs_pm) measure,
402: fnd_global.user_id
403: FROM hxc_rdb_pre_details
404: WHERE ret_user_id = FND_GLOBAL.user_id;
405:
406: COMMIT;
407: END IF;
408:
416: SELECT DISTINCT approval_status,
417: supervisor_id,
418: COUNT(*) OVER (PARTITION BY approval_status,
419: supervisor_id) ,
420: FND_GLOBAL.user_id
421: FROM hxc_rdb_pre_timecards
422: WHERE ret_user_id = FND_GLOBAL.user_id
423: AND supervisor_id IS NOT NULL
424: UNION
418: COUNT(*) OVER (PARTITION BY approval_status,
419: supervisor_id) ,
420: FND_GLOBAL.user_id
421: FROM hxc_rdb_pre_timecards
422: WHERE ret_user_id = FND_GLOBAL.user_id
423: AND supervisor_id IS NOT NULL
424: UNION
425: ALL
426: SELECT DISTINCT 'Total' approval_status,
425: ALL
426: SELECT DISTINCT 'Total' approval_status,
427: supervisor_id,
428: COUNT(*) OVER (PARTITION BY supervisor_id),
429: FND_GLOBAL.user_id
430: FROM hxc_rdb_pre_timecards
431: WHERE ret_user_id = FND_GLOBAL.user_id
432: AND supervisor_id IS NOT NULL;
433: COMMIT;
427: supervisor_id,
428: COUNT(*) OVER (PARTITION BY supervisor_id),
429: FND_GLOBAL.user_id
430: FROM hxc_rdb_pre_timecards
431: WHERE ret_user_id = FND_GLOBAL.user_id
432: AND supervisor_id IS NOT NULL;
433: COMMIT;
434: END IF;
435:
448: SELECT distinct approval_status,
449: last_updated_by,
450: COUNT(*) OVER (PARTITION BY approval_status,
451: last_updated_by) ,
452: FND_GLOBAL.user_id
453: FROM hxc_rdb_pre_timecards
454: WHERE ret_user_id = FND_GLOBAL.user_id
455: AND last_updated_by IS NOT NULL
456: UNION
450: COUNT(*) OVER (PARTITION BY approval_status,
451: last_updated_by) ,
452: FND_GLOBAL.user_id
453: FROM hxc_rdb_pre_timecards
454: WHERE ret_user_id = FND_GLOBAL.user_id
455: AND last_updated_by IS NOT NULL
456: UNION
457: ALL
458: SELECT distinct 'Total' approval_status,
457: ALL
458: SELECT distinct 'Total' approval_status,
459: last_updated_by,
460: COUNT(*) OVER (PARTITION BY last_updated_by),
461: FND_GLOBAL.user_id
462: FROM hxc_rdb_pre_timecards
463: WHERE ret_user_id = FND_GLOBAL.user_id
464: AND last_updated_by IS NOT NULL;
465: COMMIT;
459: last_updated_by,
460: COUNT(*) OVER (PARTITION BY last_updated_by),
461: FND_GLOBAL.user_id
462: FROM hxc_rdb_pre_timecards
463: WHERE ret_user_id = FND_GLOBAL.user_id
464: AND last_updated_by IS NOT NULL;
465: COMMIT;
466:
467: END summarize_updated;
478: PA_PROJECT_ROLE_TYPES_B PPRT,
479: per_people_f ppf, -- Bug 12605349
480: pa_projects_all proj
481: WHERE PPP.PROJECT_ID = rdb.hrs_pm
482: AND rdb.ret_user_id = FND_GLOBAL.user_id
483: AND PPP.PROJECT_ROLE_ID = PPRT.PROJECT_ROLE_ID
484: AND PPRT.PROJECT_ROLE_TYPE ='PROJECT MANAGER'
485: AND PPRT.role_party_class = 'PERSON'
486: AND trunc(SYSDATE) BETWEEN ppf.effective_start_date -- Bug 14026118
498: per_people_f ppf -- Bug 12605349
499: WHERE trunc(SYSDATE) BETWEEN ppf.effective_start_date -- Bug 14026118
500: AND ppf.effective_end_date
501: AND rdb.hrs_pm = ppf.person_id
502: AND rdb.ret_user_id = FND_GLOBAL.user_id;
503:
504:
505: nametab VARCHARTAB;
506: idtab NUMBERTAB;
565: ROWIDTOCHAR(rdb.rowid)
566: FROM hxc_rdb_pre_attributes rdb,
567: pa_projects_all proj,
568: pa_tasks_expend_v task
569: WHERE rdb.ret_user_id = FND_GLOBAL.user_id
570: AND rdb.attribute1 = proj.project_id
571: AND rdb.attribute2 = task.task_id;
572:
573: CURSOR get_elements
574: IS SELECT pay.element_name,
575: ROWIDTOCHAR(rdb.rowid)
576: FROM hxc_rdb_pre_attributes rdb,
577: pay_element_types_f_tl pay
578: WHERE rdb.ret_user_id = FND_GLOBAL.user_id
579: AND pay.language = USERENV('LANG')
580: AND rdb.attribute1 = pay.element_type_id;
581:
582: atttab VARCHARTAB;
641: ROWIDTOCHAR(rdb.rowid)
642: FROM hxc_rdb_pre_updated rdb,
643: fnd_user fnd,
644: per_people_f ppf -- Bug 12605349
645: WHERE rdb.ret_user_id = FND_GLOBAL.user_id
646: AND rdb.last_updated_by = fnd.user_id
647: AND fnd.employee_id = ppf.person_id
648: AND trunc(SYSDATE) BETWEEN ppf.effective_start_date -- Bug 14026118
649: AND ppf.effective_end_date;
685: per_people_f ppf -- Bug 12605349
686: WHERE trunc(SYSDATE) BETWEEN ppf.effective_start_date -- Bug 14026118
687: AND ppf.effective_end_date
688: AND rdb.resource_id = ppf.person_id
689: AND rdb.ret_user_id = FND_GLOBAL.user_id;
690:
691: nametab VARCHARTAB;
692: notab VARCHARTAB;
693: rowtab VARCHARTAB;
813: starttab(i),
814: stoptab(i),
815: dettab(i),
816: ovntab(i),ludtab(i),
817: FND_GLOBAL.user_id);
818:
819: COMMIT;
820: END LOOP;
821:
851: tctab(i),
852: stattab(i),
853: starttab(i),
854: stoptab(i),
855: FND_GLOBAL.user_id);
856:
857: COMMIT;
858: END LOOP;
859: CLOSE l_pa_cursor;
951: starttab(i),
952: stoptab(i),
953: dettab(i),
954: ovntab(i),ludtab(i),
955: FND_GLOBAL.user_id);
956:
957: COMMIT;
958: END LOOP;
959:
984: tctab(i),
985: stattab(i),
986: starttab(i),
987: stoptab(i),
988: FND_GLOBAL.user_id);
989:
990: COMMIT;
991: END LOOP;
992:
1051:
1052: CURSOR get_old_timecards
1053: IS SELECT ROWIDTOCHAR(rowid)
1054: FROM hxc_rdb_pre_timecards
1055: WHERE ret_user_id = FND_GLOBAL.user_id;
1056:
1057: CURSOR get_old_details
1058: IS SELECT ROWIDTOCHAR(rowid)
1059: FROM hxc_rdb_pre_details
1056:
1057: CURSOR get_old_details
1058: IS SELECT ROWIDTOCHAR(rowid)
1059: FROM hxc_rdb_pre_details
1060: WHERE ret_user_id = FND_GLOBAL.user_id;
1061:
1062: rowtab VARCHARTAB;
1063:
1064: BEGIN
1091: CLOSE get_old_details;
1092:
1093:
1094: DELETE FROM hxc_rdb_pre_status
1095: WHERE ret_user_id = FND_GLOBAL.user_id;
1096:
1097: DELETE FROM hxc_rdb_pre_attributes
1098: WHERE ret_user_id = FND_GLOBAL.user_id;
1099:
1094: DELETE FROM hxc_rdb_pre_status
1095: WHERE ret_user_id = FND_GLOBAL.user_id;
1096:
1097: DELETE FROM hxc_rdb_pre_attributes
1098: WHERE ret_user_id = FND_GLOBAL.user_id;
1099:
1100: DELETE FROM hxc_rdb_pre_hrs_pm
1101: WHERE ret_user_id = FND_GLOBAL.user_id;
1102:
1097: DELETE FROM hxc_rdb_pre_attributes
1098: WHERE ret_user_id = FND_GLOBAL.user_id;
1099:
1100: DELETE FROM hxc_rdb_pre_hrs_pm
1101: WHERE ret_user_id = FND_GLOBAL.user_id;
1102:
1103: DELETE FROM hxc_rdb_pre_updated
1104: WHERE ret_user_id = FND_GLOBAL.user_id;
1105:
1100: DELETE FROM hxc_rdb_pre_hrs_pm
1101: WHERE ret_user_id = FND_GLOBAL.user_id;
1102:
1103: DELETE FROM hxc_rdb_pre_updated
1104: WHERE ret_user_id = FND_GLOBAL.user_id;
1105:
1106: DELETE FROM hxc_rdb_pre_skipped
1107: WHERE ret_user_id = FND_GLOBAL.user_id;
1108:
1103: DELETE FROM hxc_rdb_pre_updated
1104: WHERE ret_user_id = FND_GLOBAL.user_id;
1105:
1106: DELETE FROM hxc_rdb_pre_skipped
1107: WHERE ret_user_id = FND_GLOBAL.user_id;
1108:
1109: COMMIT;
1110:
1111: END clear_old_data;
1172: query1 := 'SELECT '
1173: || 'user_name INITIATED_BY, '
1174: || 'TO_CHAR(SYSDATE, ''' || l_icx_date_format || ''') RUN_DATE '
1175: || 'from fnd_user '
1176: || 'where user_id = fnd_global.user_id' ;
1177:
1178: qryCtx1 := dbms_xmlgen.newContext(query1);
1179: dbms_xmlgen.setRowTag(qryCtx1, NULL);
1180: dbms_xmlgen.setRowSetTag(qryCtx1, 'G_REPORT_INFO');
1266: ROWIDTOCHAR(rdb.ROWID)
1267: FROM hxc_rdb_pre_tc_details rdb,
1268: pa_projects_all proj,
1269: pa_tasks_expend_v task
1270: WHERE rdb.ret_user_id = FND_GLOBAL.user_id
1271: AND rdb.attribute1 = proj.project_id
1272: AND rdb.attribute2 = task.task_id;
1273:
1274: CURSOR get_elements
1275: IS SELECT pay.element_name,
1276: ROWIDTOCHAR(rdb.ROWID)
1277: FROM hxc_rdb_pre_tc_details rdb,
1278: pay_element_types_f_tl pay
1279: WHERE rdb.ret_user_id = FND_GLOBAL.user_id
1280: AND pay.language = USERENV('LANG')
1281: AND rdb.attribute1 = pay.element_type_id;
1282:
1283:
1288:
1289: BEGIN
1290:
1291: DELETE FROM hxc_rdb_pre_tc_details
1292: WHERE ret_user_id = FND_GLOBAL.user_id;
1293: COMMIT;
1294:
1295: INSERT INTO hxc_rdb_pre_tc_details
1296: (time_building_block_id,
1311: attribute3,
1312: TO_CHAR(detail.start_time,'HH24:MI'), -- Bug 9656636
1313: TO_CHAR(detail.stop_time,'HH24:MI'),
1314: timecard_id,
1315: FND_GLOBAL.user_id
1316: FROM hxc_rdb_pre_details det,
1317: hxc_time_building_blocks detail
1318: WHERE timecard_id = p_timecard_id
1319: AND det.time_building_block_id = detail.time_building_block_id
1317: hxc_time_building_blocks detail
1318: WHERE timecard_id = p_timecard_id
1319: AND det.time_building_block_id = detail.time_building_block_id
1320: AND det.ovn = detail.object_version_number
1321: AND det.ret_user_id = FND_GLOBAL.user_id;
1322:
1323: COMMIT;
1324:
1325: IF p_application = 'PA'
1409: BEGIN
1410: SELECT 1
1411: INTO l_exists
1412: FROM hxc_rdb_logins
1413: WHERE user_id = FND_GLOBAL.user_id
1414: AND login_id = FND_GLOBAL.login_id
1415: AND status = 'VALID';
1416:
1417: RETURN NULL;
1410: SELECT 1
1411: INTO l_exists
1412: FROM hxc_rdb_logins
1413: WHERE user_id = FND_GLOBAL.user_id
1414: AND login_id = FND_GLOBAL.login_id
1415: AND status = 'VALID';
1416:
1417: RETURN NULL;
1418:
1446: NVL(fnd.end_time,hr_general.end_of_time)
1447: FROM hxc_rdb_logins rdb,
1448: fnd_logins fnd
1449: WHERE rdb.login_id = fnd.login_id
1450: AND rdb.user_id = fnd_global.user_id
1451: AND rdb.login_id <> fnd_global.login_id;
1452:
1453:
1454: BEGIN
1447: FROM hxc_rdb_logins rdb,
1448: fnd_logins fnd
1449: WHERE rdb.login_id = fnd.login_id
1450: AND rdb.user_id = fnd_global.user_id
1451: AND rdb.login_id <> fnd_global.login_id;
1452:
1453:
1454: BEGIN
1455:
1455:
1456:
1457: -- Delete anything which is older than half an hour.
1458: DELETE FROM hxc_rdb_logins
1459: WHERE user_id = FND_GLOBAL.user_id
1460: AND login_id <> FND_GLOBAL.login_id
1461: AND last_action_date < SYSDATE - (1/48);
1462:
1463:
1456:
1457: -- Delete anything which is older than half an hour.
1458: DELETE FROM hxc_rdb_logins
1459: WHERE user_id = FND_GLOBAL.user_id
1460: AND login_id <> FND_GLOBAL.login_id
1461: AND last_action_date < SYSDATE - (1/48);
1462:
1463:
1464: -- Find out if this session is already invalidated.
1466:
1467: SELECT 1
1468: INTO l_exists
1469: FROM hxc_rdb_logins
1470: WHERE user_id = fnd_global.user_id
1471: AND login_id = fnd_global.login_id
1472: AND status = 'INVALID';
1473:
1474: IF l_exists = 1
1467: SELECT 1
1468: INTO l_exists
1469: FROM hxc_rdb_logins
1470: WHERE user_id = fnd_global.user_id
1471: AND login_id = fnd_global.login_id
1472: AND status = 'INVALID';
1473:
1474: IF l_exists = 1
1475: THEN
1492: last_action_date,
1493: status,
1494: notified)
1495: VALUES
1496: (FND_GLOBAL.user_id,
1497: FND_GLOBAL.login_id,
1498: SYSDATE,
1499: 'VALID',
1500: 'N');
1493: status,
1494: notified)
1495: VALUES
1496: (FND_GLOBAL.user_id,
1497: FND_GLOBAL.login_id,
1498: SYSDATE,
1499: 'VALID',
1500: 'N');
1501:
1502: EXCEPTION
1503: WHEN DUP_VAL_ON_INDEX THEN
1504: UPDATE hxc_rdb_logins
1505: SET last_action_date = SYSDATE
1506: WHERE user_id = FND_GLOBAL.user_id
1507: AND login_id = FND_GLOBAL.login_id;
1508: END;
1509:
1510: -- Pick up other sessions which are active
1503: WHEN DUP_VAL_ON_INDEX THEN
1504: UPDATE hxc_rdb_logins
1505: SET last_action_date = SYSDATE
1506: WHERE user_id = FND_GLOBAL.user_id
1507: AND login_id = FND_GLOBAL.login_id;
1508: END;
1509:
1510: -- Pick up other sessions which are active
1511: -- right now.
1537: BEGIN
1538: SELECT ROWIDTOCHAR(rdb.rowid)
1539: INTO l_rowid
1540: FROM hxc_rdb_logins rdb
1541: WHERE login_id = FND_GLOBAL.login_id
1542: AND user_id = FND_GLOBAL.user_id
1543: AND notified = 'N';
1544:
1545: EXCEPTION
1538: SELECT ROWIDTOCHAR(rdb.rowid)
1539: INTO l_rowid
1540: FROM hxc_rdb_logins rdb
1541: WHERE login_id = FND_GLOBAL.login_id
1542: AND user_id = FND_GLOBAL.user_id
1543: AND notified = 'N';
1544:
1545: EXCEPTION
1546: WHEN NO_DATA_FOUND THEN