1101: End If;
1102:
1103: /* 12.2 payroll integration .. set the globals for RBC .. start */
1104:
1105: pa_pay_util.g_project_number := NULL;
1106: pa_pay_util.g_task_number := NULL;
1107: pa_pay_util.g_location_code := NULL;
1108: pa_pay_util.g_job_name := NULL;
1109: pa_pay_util.g_work_type_name := NULL;
1102:
1103: /* 12.2 payroll integration .. set the globals for RBC .. start */
1104:
1105: pa_pay_util.g_project_number := NULL;
1106: pa_pay_util.g_task_number := NULL;
1107: pa_pay_util.g_location_code := NULL;
1108: pa_pay_util.g_job_name := NULL;
1109: pa_pay_util.g_work_type_name := NULL;
1110:
1103: /* 12.2 payroll integration .. set the globals for RBC .. start */
1104:
1105: pa_pay_util.g_project_number := NULL;
1106: pa_pay_util.g_task_number := NULL;
1107: pa_pay_util.g_location_code := NULL;
1108: pa_pay_util.g_job_name := NULL;
1109: pa_pay_util.g_work_type_name := NULL;
1110:
1111: l_stage := 'Start of get and set values for rate by criteria. Resource Assignment is: ' || p_resource_assignment_id;
1104:
1105: pa_pay_util.g_project_number := NULL;
1106: pa_pay_util.g_task_number := NULL;
1107: pa_pay_util.g_location_code := NULL;
1108: pa_pay_util.g_job_name := NULL;
1109: pa_pay_util.g_work_type_name := NULL;
1110:
1111: l_stage := 'Start of get and set values for rate by criteria. Resource Assignment is: ' || p_resource_assignment_id;
1112: print_msg(l_debug_flag,l_stage);
1105: pa_pay_util.g_project_number := NULL;
1106: pa_pay_util.g_task_number := NULL;
1107: pa_pay_util.g_location_code := NULL;
1108: pa_pay_util.g_job_name := NULL;
1109: pa_pay_util.g_work_type_name := NULL;
1110:
1111: l_stage := 'Start of get and set values for rate by criteria. Resource Assignment is: ' || p_resource_assignment_id;
1112: print_msg(l_debug_flag,l_stage);
1113:
1176: if p_resource_assignment_id is null then
1177: if p_person_id is not null then
1178: if p_job_id is null then
1179: select name
1180: into pa_pay_util.g_job_name
1181: from per_jobs_v
1182: where job_id = pa_utils.getempjobid(X_person_id => p_person_id, X_date => p_exp_item_date);
1183:
1184: l_stage := 'RBC: Employee Job name: ' || pa_pay_util.g_job_name;
1180: into pa_pay_util.g_job_name
1181: from per_jobs_v
1182: where job_id = pa_utils.getempjobid(X_person_id => p_person_id, X_date => p_exp_item_date);
1183:
1184: l_stage := 'RBC: Employee Job name: ' || pa_pay_util.g_job_name;
1185: print_msg(l_debug_flag,l_stage);
1186: elsif p_job_id is not null then
1187: select name
1188: into pa_pay_util.g_job_name
1184: l_stage := 'RBC: Employee Job name: ' || pa_pay_util.g_job_name;
1185: print_msg(l_debug_flag,l_stage);
1186: elsif p_job_id is not null then
1187: select name
1188: into pa_pay_util.g_job_name
1189: from per_jobs_v
1190: where job_id = p_job_id;
1191:
1192: l_stage := 'RBC: Job name: ' || pa_pay_util.g_job_name;
1188: into pa_pay_util.g_job_name
1189: from per_jobs_v
1190: where job_id = p_job_id;
1191:
1192: l_stage := 'RBC: Job name: ' || pa_pay_util.g_job_name;
1193: print_msg(l_debug_flag,l_stage);
1194: end if;
1195: end if;
1196:
1194: end if;
1195: end if;
1196:
1197: select location_code
1198: into pa_pay_util.g_location_code
1199: from hr_locations a, per_all_assignments_f b
1200: where b.person_id = p_person_id
1201: and a.location_use = 'HR'
1202: and a.location_id = b.location_id
1201: and a.location_use = 'HR'
1202: and a.location_id = b.location_id
1203: and p_exp_item_date between b.effective_start_date and nvl(b.effective_end_date, p_exp_item_date);
1204:
1205: l_stage := 'RBC: Employee Location Code: ' || pa_pay_util.g_location_code;
1206: print_msg(l_debug_flag,l_stage);
1207:
1208: if p_job_id is not null then
1209: select name
1206: print_msg(l_debug_flag,l_stage);
1207:
1208: if p_job_id is not null then
1209: select name
1210: into pa_pay_util.g_job_name
1211: from per_jobs_v
1212: where job_id = p_job_id;
1213:
1214: l_stage := 'RBC: Job name: ' || pa_pay_util.g_job_name;
1210: into pa_pay_util.g_job_name
1211: from per_jobs_v
1212: where job_id = p_job_id;
1213:
1214: l_stage := 'RBC: Job name: ' || pa_pay_util.g_job_name;
1215: print_msg(l_debug_flag,l_stage);
1216: end if;
1217: else --- p_resource_assignment_id is null then
1218:
1217: else --- p_resource_assignment_id is null then
1218:
1219: if l_job_flag = 'Y' then
1220: select name
1221: into pa_pay_util.g_job_name
1222: from per_jobs_v
1223: where job_id = l_asgn_rec.job_id;
1224:
1225: l_stage := 'RBC for BnF: Job Flag: ' || l_job_flag ||', Job name: ' || pa_pay_util.g_job_name;
1221: into pa_pay_util.g_job_name
1222: from per_jobs_v
1223: where job_id = l_asgn_rec.job_id;
1224:
1225: l_stage := 'RBC for BnF: Job Flag: ' || l_job_flag ||', Job name: ' || pa_pay_util.g_job_name;
1226: print_msg(l_debug_flag,l_stage);
1227: end if;
1228:
1229: if l_team_role_flag = 'Y' then
1229: if l_team_role_flag = 'Y' then
1230: -- find the job for the team role
1231: begin
1232: select name
1233: into pa_pay_util.g_job_name
1234: from per_jobs_v
1235: where job_id = (select a.default_job_id
1236: from pa_project_role_types_vl a
1237: where a.project_role_id = l_asgn_rec.project_role_id);
1235: where job_id = (select a.default_job_id
1236: from pa_project_role_types_vl a
1237: where a.project_role_id = l_asgn_rec.project_role_id);
1238:
1239: l_stage := 'RBC for BnF: Team Role Flag: ' || l_team_role_flag ||', Team Role Job name: ' || pa_pay_util.g_job_name;
1240: print_msg(l_debug_flag,l_stage);
1241:
1242: exception
1243: when no_data_found then
1246:
1247: end if; -- l_team_role_flag
1248:
1249: if l_named_person_flag = 'Y' then
1250: if pa_pay_util.g_job_name is null then
1251: begin
1252: select name
1253: into pa_pay_util.g_job_name
1254: from per_jobs_v
1249: if l_named_person_flag = 'Y' then
1250: if pa_pay_util.g_job_name is null then
1251: begin
1252: select name
1253: into pa_pay_util.g_job_name
1254: from per_jobs_v
1255: where job_id = pa_utils.getempjobid(X_person_id => p_person_id, X_date => p_exp_item_date);
1256:
1257: l_stage := 'RBC for BnF: Named Person Flag: ' || l_named_person_flag ||', Employee Job name: ' || pa_pay_util.g_job_name;
1253: into pa_pay_util.g_job_name
1254: from per_jobs_v
1255: where job_id = pa_utils.getempjobid(X_person_id => p_person_id, X_date => p_exp_item_date);
1256:
1257: l_stage := 'RBC for BnF: Named Person Flag: ' || l_named_person_flag ||', Employee Job name: ' || pa_pay_util.g_job_name;
1258: print_msg(l_debug_flag,l_stage);
1259: exception
1260: when no_data_found then
1261: null;
1261: null;
1262: end;
1263: end if;
1264:
1265: if pa_pay_util.g_location_code is null and l_organization_flag = 'Y' then
1266: begin
1267: select hl.location_code
1268: into pa_pay_util.g_location_code
1269: from hr_all_organization_units hou, hr_locations hl
1264:
1265: if pa_pay_util.g_location_code is null and l_organization_flag = 'Y' then
1266: begin
1267: select hl.location_code
1268: into pa_pay_util.g_location_code
1269: from hr_all_organization_units hou, hr_locations hl
1270: where hou.location_id = hl.location_id
1271: and hou.organization_id = l_asgn_rec.organization_id;
1272:
1269: from hr_all_organization_units hou, hr_locations hl
1270: where hou.location_id = hl.location_id
1271: and hou.organization_id = l_asgn_rec.organization_id;
1272:
1273: l_stage := 'RBC for BnF: Named Person Flag: ' || l_named_person_flag ||', Organization Flag: ' || l_organization_flag ||', Organization Location code: ' || pa_pay_util.g_location_code;
1274: print_msg(l_debug_flag,l_stage);
1275: exception
1276: when no_data_found then
1277: null;
1275: exception
1276: when no_data_found then
1277: null;
1278: end;
1279: elsif pa_pay_util.g_location_code is null and l_organization_flag = 'N' then
1280: begin
1281: select a.location_code
1282: into pa_pay_util.g_location_code
1283: from hr_locations a, per_all_assignments_f b
1278: end;
1279: elsif pa_pay_util.g_location_code is null and l_organization_flag = 'N' then
1280: begin
1281: select a.location_code
1282: into pa_pay_util.g_location_code
1283: from hr_locations a, per_all_assignments_f b
1284: where b.person_id = p_person_id
1285: and a.location_use = 'HR'
1286: and a.location_id = b.location_id
1285: and a.location_use = 'HR'
1286: and a.location_id = b.location_id
1287: and p_exp_item_date between b.effective_start_date and nvl(b.effective_end_date, p_exp_item_date);
1288:
1289: l_stage := 'RBC for BnF: Named Person Flag: ' || l_named_person_flag ||', Organization Flag: ' || l_organization_flag ||', Assignment Location Code: ' || pa_pay_util.g_location_code;
1290: print_msg(l_debug_flag,l_stage);
1291: exception
1292: when no_data_found then
1293: null;
1294: end;
1295: end if; -- l_organization_flag
1296: end if; -- l_named_person_flag
1297:
1298: if pa_pay_util.g_location_code is null and l_organization_flag = 'Y' then
1299: begin
1300: select hl.location_code
1301: into pa_pay_util.g_location_code
1302: from hr_all_organization_units hou, hr_locations hl
1297:
1298: if pa_pay_util.g_location_code is null and l_organization_flag = 'Y' then
1299: begin
1300: select hl.location_code
1301: into pa_pay_util.g_location_code
1302: from hr_all_organization_units hou, hr_locations hl
1303: where hou.location_id = hl.location_id
1304: and hou.organization_id = l_asgn_rec.organization_id;
1305:
1302: from hr_all_organization_units hou, hr_locations hl
1303: where hou.location_id = hl.location_id
1304: and hou.organization_id = l_asgn_rec.organization_id;
1305:
1306: l_stage := 'RBC for BnF: Organization Flag: ' || l_organization_flag ||', Organization Location Code: ' || pa_pay_util.g_location_code;
1307: print_msg(l_debug_flag,l_stage);
1308: exception
1309: when no_data_found then
1310: null;
1314: end if;
1315:
1316: -- get the project number and task number details
1317: select segment1
1318: into pa_pay_util.g_project_number
1319: from pa_projects
1320: where project_id = p_project_id;
1321:
1322: l_stage := 'RBC: Project Number: ' || pa_pay_util.g_project_number;
1318: into pa_pay_util.g_project_number
1319: from pa_projects
1320: where project_id = p_project_id;
1321:
1322: l_stage := 'RBC: Project Number: ' || pa_pay_util.g_project_number;
1323: print_msg(l_debug_flag,l_stage);
1324:
1325: if p_task_id is not null then
1326: -- get the task number details
1327: -- bug 12557318: changed the cursor to get the task_number from pa_proj_elements
1328: -- and not pa_tasks. Non-shared workplan tasks do not exist in pa_tasks.
1329: begin
1330: select element_number
1331: into pa_pay_util.g_task_number
1332: from pa_proj_elements
1333: where proj_element_id = p_task_id
1334: and project_id = p_project_id;
1335:
1332: from pa_proj_elements
1333: where proj_element_id = p_task_id
1334: and project_id = p_project_id;
1335:
1336: l_stage := 'RBC: Task Number from elements: ' || pa_pay_util.g_task_number;
1337: print_msg(l_debug_flag,l_stage);
1338:
1339: exception
1340: when no_data_found then
1339: exception
1340: when no_data_found then
1341: begin
1342: select task_number
1343: into pa_pay_util.g_task_number
1344: from pa_tasks
1345: where task_id = p_task_id;
1346:
1347: l_stage := 'RBC: Task Number from fin tasks: ' || pa_pay_util.g_task_number;
1343: into pa_pay_util.g_task_number
1344: from pa_tasks
1345: where task_id = p_task_id;
1346:
1347: l_stage := 'RBC: Task Number from fin tasks: ' || pa_pay_util.g_task_number;
1348: print_msg(l_debug_flag,l_stage);
1349:
1350: exception
1351: when no_data_found then
1356: -- get the default work type information from the task
1357: -- work plan tasks do not have work types associated to tasks.
1358: begin
1359: select name
1360: into pa_pay_util.g_work_type_name
1361: from pa_work_types_vl a, pa_tasks b
1362: where a.work_type_id = b.work_type_id
1363: and b.task_id = p_task_id;
1364:
1361: from pa_work_types_vl a, pa_tasks b
1362: where a.work_type_id = b.work_type_id
1363: and b.task_id = p_task_id;
1364:
1365: l_stage := 'RBC: Work Type name: ' || pa_pay_util.g_work_type_name;
1366: print_msg(l_debug_flag,l_stage);
1367:
1368: exception
1369: when no_data_found then