230: retcode := 0;
231: exception when others then
232: retcode := 2;
233: errbuf := sqlerrm;
234: PJI_UTILS.write2log('PJI_PJI_EXTRACTION_UTILS.mview_refresh '||sqlerrm);
235: PJI_UTILS.write2out('PJI_PJI_EXTRACTION_UTILS.mview_refresh '||sqlerrm);
236: raise;
237: end MVIEW_REFRESH;
238: */
231: exception when others then
232: retcode := 2;
233: errbuf := sqlerrm;
234: PJI_UTILS.write2log('PJI_PJI_EXTRACTION_UTILS.mview_refresh '||sqlerrm);
235: PJI_UTILS.write2out('PJI_PJI_EXTRACTION_UTILS.mview_refresh '||sqlerrm);
236: raise;
237: end MVIEW_REFRESH;
238: */
239:
249:
250:
251: begin
252:
253: l_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
254: l_degree := PJI_UTILS.GET_DEGREE_OF_PARALLELISM();
255:
256: FND_STATS.GATHER_TABLE_STATS(
257: ownname => l_schema
250:
251: begin
252:
253: l_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
254: l_degree := PJI_UTILS.GET_DEGREE_OF_PARALLELISM();
255:
256: FND_STATS.GATHER_TABLE_STATS(
257: ownname => l_schema
258: , tabname => 'PJI_FP_PROJ_ET_WT_F'
357: l_high_blocks := 1.25*(l_high_rows*225)/l_db_block_size;
358: l_med_blocks := 1.25*(l_med_rows*150)/l_db_block_size;
359: l_low_blocks := 1.25*(l_low_rows*75)/l_db_block_size;
360:
361: l_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
362: l_degree := PJI_UTILS.GET_DEGREE_OF_PARALLELISM();
363:
364: -- partitioned tables
365: FND_STATS.SET_TABLE_STATS(l_schema,'PJI_FM_EXTR_PLN' , l_med_rows, l_med_blocks, 150, 'P0' );
358: l_med_blocks := 1.25*(l_med_rows*150)/l_db_block_size;
359: l_low_blocks := 1.25*(l_low_rows*75)/l_db_block_size;
360:
361: l_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
362: l_degree := PJI_UTILS.GET_DEGREE_OF_PARALLELISM();
363:
364: -- partitioned tables
365: FND_STATS.SET_TABLE_STATS(l_schema,'PJI_FM_EXTR_PLN' , l_med_rows, l_med_blocks, 150, 'P0' );
366: FND_STATS.SET_TABLE_STATS(l_schema,'PJI_FM_EXTR_PLN' , l_med_rows, l_med_blocks, 150, 'P1' );
515:
516: --Conditional processing based on extraction type
517: --Work type change processing is not done for
518: --Partial refresh
519: l_extraction_type := PJI_UTILS.get_parameter (
520: p_name => 'EXTRACTION_TYPE');
521:
522: IF l_extraction_type = 'PARTIAL' THEN
523: return;
567:
568: )
569: and wt.RECORD_TYPE = 'NORMAL';
570:
571: pji_utils.write2log(sql%rowcount || ' rows deleted.');
572:
573: update PJI_RM_WORK_TYPE_INFO wt
574: set
575: (
642: wt_r.PJI_ROWID is not null and
643: wt_r.CHANGE_FLAG = 'Y'
644: );
645:
646: pji_utils.write2log(sql%rowcount || ' rows updated.');
647:
648: insert into PJI_RM_WORK_TYPE_INFO
649: (
650: WORK_TYPE_ID,
699: where
700: wt_r.PJI_ROWID is null
701: );
702:
703: pji_utils.write2log(sql%rowcount || ' rows inserted.');
704:
705: --Only those work type changes which occured upto launch of summarization
706: --process will be handled in a given run. This is done by tracking
707: --the MAX(EVENT_ID) on the log table PA_PJI_PROJ_EVENTS_LOG
737: where log1.event_object = log.EVENT_OBJECT
738: and log1.operation_type = 'U'
739: group by log1.event_object );
740:
741: pji_utils.write2log(sql%rowcount || ' rows deleted :2.');
742:
743: --populate CHANGE_OLD slice from PA_PJI_PROJ_EVENTS_LOG table
744: insert into PJI_RM_WORK_TYPE_INFO
745: (
772: EVENT_ID <= l_event_id and
773: EVENT_TYPE = 'Work Types' and
774: OPERATION_TYPE = 'U';
775:
776: pji_utils.write2log(sql%rowcount || ' rows inserted :2.');
777:
778: --Cleanup log table for processed Worktype changes
779: delete
780: from
782: where
783: log.EVENT_ID <= l_event_id and
784: log.EVENT_TYPE = 'Work Types' and
785: log.OPERATION_TYPE = 'U';
786: pji_utils.write2log(sql%rowcount || ' rows deleted 3.');
787:
788: --Populate PJI_RM_WORK_TYPE_INFO with CHANGE_NEW records
789: insert into PJI_RM_WORK_TYPE_INFO
790: (
817: and info.WORK_TYPE_ID in ( select WORK_TYPE_ID
818: from PJI_RM_WORK_TYPE_INFO wt
819: where wt.RECORD_TYPE = 'CHANGE_OLD');
820:
821: pji_utils.write2log(sql%rowcount || ' rows inserted :3.');
822:
823: PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(p_process, 'PJI_PJI_EXTRACTION_UTILS.UPDATE_PJI_RM_WORK_TYPE_INFO(p_process);');
824:
825: PJI_PROCESS_UTIL.TRUNC_INT_TABLE(PJI_UTILS.GET_PJI_SCHEMA_NAME, 'PJI_RM_WORK_TYPE_ROWID', 'NORMAL', null);
821: pji_utils.write2log(sql%rowcount || ' rows inserted :3.');
822:
823: PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(p_process, 'PJI_PJI_EXTRACTION_UTILS.UPDATE_PJI_RM_WORK_TYPE_INFO(p_process);');
824:
825: PJI_PROCESS_UTIL.TRUNC_INT_TABLE(PJI_UTILS.GET_PJI_SCHEMA_NAME, 'PJI_RM_WORK_TYPE_ROWID', 'NORMAL', null);
826:
827: commit;
828:
829: end UPDATE_PJI_RM_WORK_TYPE_INFO;
883: where
884: org_r.PJI_ROWID is not null
885: );
886:
887: pji_utils.write2log(sql%rowcount || ' rows deleted.');
888:
889: update /*+ use_nl(denorm) rowid(denorm) * PJI_ORG_DENORM denorm
890: set
891: (
914: org_r.PJI_ROWID is not null and
915: org_r.CHANGE_FLAG = 'Y'
916: );
917:
918: pji_utils.write2log(sql%rowcount || ' rows updated.');
919:
920: insert into PJI_ORG_DENORM
921: (
922: ORGANIZATION_ID,
941: where
942: org_r.PJI_ROWID is null
943: );
944:
945: pji_utils.write2log(sql%rowcount || ' rows inserted.');
946:
947: execute immediate 'truncate table '|| pji_utils.get_pji_schema_name
948: || '.PJI_ROWID_ORG_DENORM drop storage';Commented for bug 13011859 */
949:
943: );
944:
945: pji_utils.write2log(sql%rowcount || ' rows inserted.');
946:
947: execute immediate 'truncate table '|| pji_utils.get_pji_schema_name
948: || '.PJI_ROWID_ORG_DENORM drop storage';Commented for bug 13011859 */
949:
950: commit;
951:
982: return;
983: end if;
984:
985: l_max_date := PJI_RM_SUM_MAIN.g_max_date;
986: l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
987:
988: insert into PJI_ROWID_RESOURCES_DENORM
989: (
990: PA_ROWID,
1111: where
1112: res_r.PJI_ROWID is not null
1113: );
1114:
1115: pji_utils.write2log(sql%rowcount || ' rows deleted.');
1116:
1117: update /*+ use_nl(denorm) rowid(denorm) * PJI_RESOURCES_DENORM denorm
1118: set
1119: (
1142: res_r.PJI_ROWID is not null and
1143: res_r.CHANGE_FLAG = 'Y'
1144: );
1145:
1146: pji_utils.write2log(sql%rowcount || ' rows updated.');
1147:
1148: insert into PJI_RESOURCES_DENORM
1149: (
1150: PERSON_ID,
1177: where
1178: res_r.PJI_ROWID is null
1179: );
1180:
1181: pji_utils.write2log(sql%rowcount || ' rows inserted.');
1182:
1183: PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(p_process, 'PJI_PJI_EXTRACTION_UTILS.UPDATE_RESOURCE_DATA(p_process);');
1184:
1185: PJI_PROCESS_UTIL.TRUNC_INT_TABLE(PJI_UTILS.GET_PJI_SCHEMA_NAME, 'PJI_ROWID_RESOURCES_DENORM', 'NORMAL', null);Commented for bug 13011859 */
1181: pji_utils.write2log(sql%rowcount || ' rows inserted.');
1182:
1183: PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(p_process, 'PJI_PJI_EXTRACTION_UTILS.UPDATE_RESOURCE_DATA(p_process);');
1184:
1185: PJI_PROCESS_UTIL.TRUNC_INT_TABLE(PJI_UTILS.GET_PJI_SCHEMA_NAME, 'PJI_ROWID_RESOURCES_DENORM', 'NORMAL', null);Commented for bug 13011859 */
1186:
1187: commit;
1188:
1189: end UPDATE_RESOURCE_DATA;
1213:
1214: FND_MESSAGE.SET_NAME('PJI', 'PJI_SUM_CLEANALL_FAILED');
1215:
1216: if (upper(nvl(l_profile_check, 'N')) <> 'Y') then
1217: pji_utils.write2out(FND_MESSAGE.GET);
1218: commit;
1219: retcode := 1;
1220: return;
1221: end if;
1220: return;
1221: end if;
1222:
1223: if (upper(nvl(p_check, 'N')) <> 'Y') then
1224: pji_utils.write2out(FND_MESSAGE.GET);
1225: commit;
1226: retcode := 1;
1227: return;
1228: end if;
1238: PROFILE_OPTION_NAME = 'PJI_SUM_CLEANALL');
1239:
1240: commit;
1241:
1242: l_pji_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
1243:
1244: insert into PJI_SYSTEM_CONFIG_HIST
1245: (
1246: REQUEST_ID,