932:
933: l_max_date := PJI_RM_SUM_MAIN.g_max_date;
934: l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
935:
936: insert into PJI_ROWID_RESOURCES_DENORM
937: (
938: PA_ROWID,
939: PJI_ROWID,
940: CHANGE_FLAG
986: where
987: denorm.UTILIZATION_FLAG = 'Y' and
988: denorm.ROWID not in
989: (
990: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
991: res_r.PJI_ROWID
992: from
993: PJI_ROWID_RESOURCES_DENORM res_r
994: where
989: (
990: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
991: res_r.PJI_ROWID
992: from
993: PJI_ROWID_RESOURCES_DENORM res_r
994: where
995: res_r.PJI_ROWID is not null
996: )
997: union all -- updated resources
995: res_r.PJI_ROWID is not null
996: )
997: union all -- updated resources
998: select /*+ ordered
999: index(res_r, PJI_ROWID_RESOURCES_DENORM_N1)
1000: rowid(pa)
1001: rowid(pji) */
1002: pa.PERSON_ID,
1003: pa.RESOURCE_ID,
1010: nvl(pji.UTILIZATION_FLAG, 'N') = 'N')
1011: then 'Y'
1012: end
1013: from
1014: PJI_ROWID_RESOURCES_DENORM res_r,
1015: PA_RESOURCES_DENORM pa,
1016: PJI_RESOURCES_DENORM pji
1017: where
1018: res_r.PJI_ROWID is not null and
1032: where
1033: pa.UTILIZATION_FLAG = 'Y' and
1034: pa.ROWID in
1035: (
1036: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
1037: res_r.PA_ROWID
1038: from
1039: PJI_ROWID_RESOURCES_DENORM res_r
1040: where
1035: (
1036: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
1037: res_r.PA_ROWID
1038: from
1039: PJI_ROWID_RESOURCES_DENORM res_r
1040: where
1041: res_r.PJI_ROWID is null
1042: );
1043:
1051: from PJI_RESOURCES_DENORM denorm
1052: where
1053: denorm.ROWID not in
1054: (
1055: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
1056: res_r.PJI_ROWID
1057: from
1058: PJI_ROWID_RESOURCES_DENORM res_r
1059: where
1054: (
1055: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
1056: res_r.PJI_ROWID
1057: from
1058: PJI_ROWID_RESOURCES_DENORM res_r
1059: where
1060: res_r.PJI_ROWID is not null
1061: );
1062:
1068: JOB_ID,
1069: UTILIZATION_FLAG
1070: ) =
1071: (
1072: select /*+ordered index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) rowid(pa)*/
1073: pa.JOB_ID,
1074: pa.UTILIZATION_FLAG
1075: from
1076: PJI_ROWID_RESOURCES_DENORM res_r,
1072: select /*+ordered index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) rowid(pa)*/
1073: pa.JOB_ID,
1074: pa.UTILIZATION_FLAG
1075: from
1076: PJI_ROWID_RESOURCES_DENORM res_r,
1077: PA_RESOURCES_DENORM pa
1078: where
1079: res_r.PJI_ROWID = denorm.ROWID and
1080: pa.ROWID = res_r.PA_ROWID
1081: )
1082: where
1083: denorm.ROWID in
1084: (
1085: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
1086: res_r.PJI_ROWID
1087: from
1088: PJI_ROWID_RESOURCES_DENORM res_r
1089: where
1084: (
1085: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
1086: res_r.PJI_ROWID
1087: from
1088: PJI_ROWID_RESOURCES_DENORM res_r
1089: where
1090: res_r.PJI_ROWID is not null and
1091: res_r.CHANGE_FLAG = 'Y'
1092: );
1117: PA_RESOURCES_DENORM pa
1118: where
1119: pa.ROWID in
1120: (
1121: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
1122: res_r.PA_ROWID
1123: from
1124: PJI_ROWID_RESOURCES_DENORM res_r
1125: where
1120: (
1121: select /*+ index(res_r, PJI_ROWID_RESOURCES_DENORM_N1) */
1122: res_r.PA_ROWID
1123: from
1124: PJI_ROWID_RESOURCES_DENORM res_r
1125: where
1126: res_r.PJI_ROWID is null
1127: );
1128:
1129: pji_utils.write2log(sql%rowcount || ' rows inserted.');
1130:
1131: PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(p_process, 'PJI_PJI_EXTRACTION_UTILS.UPDATE_RESOURCE_DATA(p_process);');
1132:
1133: PJI_PROCESS_UTIL.TRUNC_INT_TABLE(PJI_UTILS.GET_PJI_SCHEMA_NAME, 'PJI_ROWID_RESOURCES_DENORM', 'NORMAL', null);
1134:
1135: commit;
1136:
1137: end UPDATE_RESOURCE_DATA;