41: hr_utility.set_location('Entering:'|| l_proc, 10);
42: --
43: -- Ensure that all the mandatory parameter are not null
44: --
45: hr_api.mandatory_arg_error
46: (p_api_name => l_proc
47: ,p_argument => 'user_row_id'
48: ,p_argument_value => p_user_row_id
49: );
67: close csr_sec_grp;
68: --
69: -- Set the security_group_id in CLIENT_INFO
70: --
71: hr_api.set_security_group_id
72: (p_security_group_id => l_security_group_id
73: );
74: end if;
75: --
105: hr_utility.set_location('Entering:'|| l_proc, 10);
106: --
107: -- Ensure that all the mandatory parameter are not null
108: --
109: hr_api.mandatory_arg_error
110: (p_api_name => l_proc
111: ,p_argument => 'user_row_id'
112: ,p_argument_value => p_user_row_id
113: );
111: ,p_argument => 'user_row_id'
112: ,p_argument_value => p_user_row_id
113: );
114: --
115: if ( nvl(pay_pur_bus.g_user_row_id, hr_api.g_number)
116: = p_user_row_id) then
117: --
118: -- The legislation code has already been found with a previous
119: -- call to this function. Just return the value in the global
242:
243: --
244: -- USER_TABLE_ID is mandatory.
245: --
246: hr_api.mandatory_arg_error
247: (p_api_name => l_proc
248: ,p_argument => 'USER_TABLE_ID'
249: ,p_argument_value => p_user_table_id
250: );
295:
296: --
297: -- USER_TABLE_ID is mandatory.
298: --
299: hr_api.mandatory_arg_error
300: (p_api_name => l_proc
301: ,p_argument => 'USER_TABLE_ID'
302: ,p_argument_value => p_user_table_id
303: );
371: hr_utility.set_location('Entering:'|| l_proc, 10);
372: --
373: -- USER_TABLE_ID is mandatory.
374: --
375: hr_api.mandatory_arg_error
376: (p_api_name => l_proc
377: ,p_argument => 'USER_TABLE_ID'
378: ,p_argument_value => p_user_table_id
379: );
566: or ( p_business_group_id is not null and p_business_group_id = usr.business_group_id )
567: or ( p_business_group_id is not null and
568: usr.legislation_code is null and usr.business_group_id is null )
569: or ( p_business_group_id is not null and
570: usr.legislation_code = hr_api.return_legislation_code(p_business_group_id )))
571: and ( p_legislation_code is null
572: or ( p_legislation_code is not null and p_legislation_code = usr.legislation_code )
573: or ( p_legislation_code is not null and
574: usr.legislation_code is null and usr.business_group_id is null)
572: or ( p_legislation_code is not null and p_legislation_code = usr.legislation_code )
573: or ( p_legislation_code is not null and
574: usr.legislation_code is null and usr.business_group_id is null)
575: or ( p_legislation_code is not null and
576: p_legislation_code = hr_api.return_legislation_code(usr.business_group_id )))
577: and ( usr.effective_start_date <= p_validation_end_date and
578: usr.effective_end_date >= p_validation_start_date );
579:
580:
600: (p_user_row_id => p_user_row_id
601: ,p_effective_date => p_effective_date
602: ,p_object_version_number => p_object_version_number
603: ) or
604: nvl(p_row_low_range_or_name, hr_api.g_varchar2) <>
605: pay_pur_shd.g_old_rec.row_low_range_or_name
606: ) then
607: --
608: -- The name is mandatory.
606: ) then
607: --
608: -- The name is mandatory.
609: --
610: hr_api.mandatory_arg_error
611: (p_api_name => l_proc
612: ,p_argument => 'ROW_LOW_RANGE_OR_NAME'
613: ,p_argument_value => p_row_low_range_or_name
614: );
755: (p_user_row_id => p_user_row_id
756: ,p_effective_date => p_effective_date
757: ,p_object_version_number => p_object_version_number
758: ) or
759: nvl(p_row_high_range, hr_api.g_varchar2) <>
760: nvl(pay_pur_shd.g_old_rec.row_high_range, hr_api.g_varchar2)
761: ) then
762: --
763: -- Ignore all validations for ROW_HIGH_RANGE for Exact Match User Tables.
756: ,p_effective_date => p_effective_date
757: ,p_object_version_number => p_object_version_number
758: ) or
759: nvl(p_row_high_range, hr_api.g_varchar2) <>
760: nvl(pay_pur_shd.g_old_rec.row_high_range, hr_api.g_varchar2)
761: ) then
762: --
763: -- Ignore all validations for ROW_HIGH_RANGE for Exact Match User Tables.
764: --
769: if l_range_or_match = 'R' then
770:
771: -- row_high_range is mandatory
772:
773: hr_api.mandatory_arg_error
774: (p_api_name => l_proc
775: ,p_argument => 'ROW_HIGH_RANGE'
776: ,p_argument_value => p_row_high_range
777: );
868: or ( p_business_group_id is not null and p_business_group_id = usr.business_group_id )
869: or ( p_business_group_id is not null and
870: usr.legislation_code is null and usr.business_group_id is null )
871: or ( p_business_group_id is not null and
872: usr.legislation_code = hr_api.return_legislation_code(p_business_group_id ) ))
873: and ( p_legislation_code is null
874: or ( p_legislation_code is not null and p_legislation_code = usr.legislation_code )
875: or ( p_legislation_code is not null and
876: usr.legislation_code is null and usr.business_group_id is null)
874: or ( p_legislation_code is not null and p_legislation_code = usr.legislation_code )
875: or ( p_legislation_code is not null and
876: usr.legislation_code is null and usr.business_group_id is null)
877: or ( p_legislation_code is not null and
878: p_legislation_code = hr_api.return_legislation_code(usr.business_group_id) ))
879: and (fnd_number.canonical_to_number(p_row_low_range_or_name) between
880: fnd_number.canonical_to_number(usr.row_low_range_or_name) and fnd_number.canonical_to_number(usr.row_high_range)
881: or (fnd_number.canonical_to_number(p_row_high_range) between
882: fnd_number.canonical_to_number(usr.row_low_range_or_name) and fnd_number.canonical_to_number(usr.row_high_range))
911: (p_user_row_id => p_user_row_id
912: ,p_effective_date => p_effective_date
913: ,p_object_version_number => p_object_version_number
914: ) or (
915: nvl(p_row_low_range_or_name, hr_api.g_varchar2) <>
916: nvl(pay_pur_shd.g_old_rec.row_low_range_or_name, hr_api.g_varchar2) or
917: nvl(p_row_high_range, hr_api.g_varchar2) <>
918: nvl(pay_pur_shd.g_old_rec.row_high_range, hr_api.g_varchar2))
919: ) then
912: ,p_effective_date => p_effective_date
913: ,p_object_version_number => p_object_version_number
914: ) or (
915: nvl(p_row_low_range_or_name, hr_api.g_varchar2) <>
916: nvl(pay_pur_shd.g_old_rec.row_low_range_or_name, hr_api.g_varchar2) or
917: nvl(p_row_high_range, hr_api.g_varchar2) <>
918: nvl(pay_pur_shd.g_old_rec.row_high_range, hr_api.g_varchar2))
919: ) then
920:
913: ,p_object_version_number => p_object_version_number
914: ) or (
915: nvl(p_row_low_range_or_name, hr_api.g_varchar2) <>
916: nvl(pay_pur_shd.g_old_rec.row_low_range_or_name, hr_api.g_varchar2) or
917: nvl(p_row_high_range, hr_api.g_varchar2) <>
918: nvl(pay_pur_shd.g_old_rec.row_high_range, hr_api.g_varchar2))
919: ) then
920:
921: if p_disable_range_overlap_check is null then
914: ) or (
915: nvl(p_row_low_range_or_name, hr_api.g_varchar2) <>
916: nvl(pay_pur_shd.g_old_rec.row_low_range_or_name, hr_api.g_varchar2) or
917: nvl(p_row_high_range, hr_api.g_varchar2) <>
918: nvl(pay_pur_shd.g_old_rec.row_high_range, hr_api.g_varchar2))
919: ) then
920:
921: if p_disable_range_overlap_check is null then
922: fnd_message.set_name('PAY', 'HR_7207_API_MANDATORY_ARG');
1110: or ( p_business_group_id is not null and p_business_group_id = usr.business_group_id )
1111: or ( p_business_group_id is not null and
1112: usr.legislation_code is null and usr.business_group_id is null )
1113: or ( p_business_group_id is not null and
1114: usr.legislation_code = hr_api.return_legislation_code(p_business_group_id ) ))
1115: and ( p_legislation_code is null
1116: or ( p_legislation_code is not null and p_legislation_code = usr.legislation_code )
1117: or ( p_legislation_code is not null and
1118: usr.legislation_code is null and usr.business_group_id is null)
1116: or ( p_legislation_code is not null and p_legislation_code = usr.legislation_code )
1117: or ( p_legislation_code is not null and
1118: usr.legislation_code is null and usr.business_group_id is null)
1119: or ( p_legislation_code is not null and
1120: p_legislation_code = hr_api.return_legislation_code(usr.business_group_id ) ))
1121: and ( usr.effective_start_date <= p_validation_end_date and
1122: usr.effective_end_date >= p_validation_start_date );
1123:
1124: cursor csr_row_overlap is
1131: or ( p_business_group_id is not null and p_business_group_id = usr.business_group_id )
1132: or ( p_business_group_id is not null and
1133: usr.legislation_code is null and usr.business_group_id is null )
1134: or ( p_business_group_id is not null and
1135: usr.legislation_code = hr_api.return_legislation_code(p_business_group_id ) ))
1136: and ( p_legislation_code is null
1137: or ( p_legislation_code is not null and p_legislation_code = usr.legislation_code )
1138: or ( p_legislation_code is not null and
1139: usr.legislation_code is null and usr.business_group_id is null)
1137: or ( p_legislation_code is not null and p_legislation_code = usr.legislation_code )
1138: or ( p_legislation_code is not null and
1139: usr.legislation_code is null and usr.business_group_id is null)
1140: or ( p_legislation_code is not null and
1141: p_legislation_code = hr_api.return_legislation_code(usr.business_group_id ) ))
1142: and (fnd_number.canonical_to_number(p_row_low_range_or_name) between
1143: fnd_number.canonical_to_number(usr.row_low_range_or_name) and fnd_number.canonical_to_number(usr.row_high_range)
1144: or (fnd_number.canonical_to_number(p_row_high_range) between
1145: fnd_number.canonical_to_number(usr.row_low_range_or_name) and fnd_number.canonical_to_number(usr.row_high_range))
1182: fnd_message.set_token('ARGUMENT','DISABLE_RANGE_OVERLAP_CHECK');
1183: fnd_message.raise_error;
1184: end if;
1185:
1186: if p_datetrack_mode = hr_api.g_delete then
1187:
1188: open csr_delete_mode;
1189: fetch csr_delete_mode into l_exists;
1190: if csr_delete_mode%found then
1193: fnd_message.raise_error;
1194: end if;
1195: close csr_delete_mode;
1196:
1197: elsif p_datetrack_mode = hr_api.g_zap then
1198:
1199: open csr_zap_mode;
1200: fetch csr_zap_mode into l_exists ;
1201: if csr_zap_mode%found then
1205: fnd_message.raise_error ;
1206: end if ;
1207: close csr_zap_mode;
1208:
1209: elsif p_datetrack_mode in (hr_api.g_future_change,hr_api.g_delete_next_change) then
1210:
1211:
1212: l_result := fnd_installation.get_app_info ( 'GHR',
1213: l_prod_status,
1336: fnd_message.raise_error;
1337: END IF;
1338: --
1339: --
1340: if nvl(p_rec.user_table_id, hr_api.g_number) <>
1341: pay_pur_shd.g_old_rec.user_table_id then
1342: hr_api.argument_changed_error
1343: (p_api_name => l_proc
1344: ,p_argument => 'USER_TABLE_ID'
1338: --
1339: --
1340: if nvl(p_rec.user_table_id, hr_api.g_number) <>
1341: pay_pur_shd.g_old_rec.user_table_id then
1342: hr_api.argument_changed_error
1343: (p_api_name => l_proc
1344: ,p_argument => 'USER_TABLE_ID'
1345: ,p_base_table => pay_pur_shd.g_tab_nam
1346: );
1345: ,p_base_table => pay_pur_shd.g_tab_nam
1346: );
1347: end if;
1348: --
1349: if nvl(p_rec.business_group_id, hr_api.g_number) <>
1350: nvl(pay_pur_shd.g_old_rec.business_group_id, hr_api.g_number) then
1351: hr_api.argument_changed_error
1352: (p_api_name => l_proc
1353: ,p_argument => 'BUSINESS_GROUP_ID'
1346: );
1347: end if;
1348: --
1349: if nvl(p_rec.business_group_id, hr_api.g_number) <>
1350: nvl(pay_pur_shd.g_old_rec.business_group_id, hr_api.g_number) then
1351: hr_api.argument_changed_error
1352: (p_api_name => l_proc
1353: ,p_argument => 'BUSINESS_GROUP_ID'
1354: ,p_base_table => pay_pur_shd.g_tab_nam
1347: end if;
1348: --
1349: if nvl(p_rec.business_group_id, hr_api.g_number) <>
1350: nvl(pay_pur_shd.g_old_rec.business_group_id, hr_api.g_number) then
1351: hr_api.argument_changed_error
1352: (p_api_name => l_proc
1353: ,p_argument => 'BUSINESS_GROUP_ID'
1354: ,p_base_table => pay_pur_shd.g_tab_nam
1355: );
1354: ,p_base_table => pay_pur_shd.g_tab_nam
1355: );
1356: end if;
1357: --
1358: if nvl(p_rec.legislation_code, hr_api.g_varchar2) <>
1359: nvl(pay_pur_shd.g_old_rec.legislation_code, hr_api.g_varchar2) then
1360: hr_api.argument_changed_error
1361: (p_api_name => l_proc
1362: ,p_argument => 'LEGISLATION_CODE'
1355: );
1356: end if;
1357: --
1358: if nvl(p_rec.legislation_code, hr_api.g_varchar2) <>
1359: nvl(pay_pur_shd.g_old_rec.legislation_code, hr_api.g_varchar2) then
1360: hr_api.argument_changed_error
1361: (p_api_name => l_proc
1362: ,p_argument => 'LEGISLATION_CODE'
1363: ,p_base_table => pay_pur_shd.g_tab_nam
1356: end if;
1357: --
1358: if nvl(p_rec.legislation_code, hr_api.g_varchar2) <>
1359: nvl(pay_pur_shd.g_old_rec.legislation_code, hr_api.g_varchar2) then
1360: hr_api.argument_changed_error
1361: (p_api_name => l_proc
1362: ,p_argument => 'LEGISLATION_CODE'
1363: ,p_base_table => pay_pur_shd.g_tab_nam
1364: );
1408: Begin
1409: --
1410: -- Ensure that the p_datetrack_mode argument is not null
1411: --
1412: hr_api.mandatory_arg_error
1413: (p_api_name => l_proc
1414: ,p_argument => 'datetrack_mode'
1415: ,p_argument_value => p_datetrack_mode
1416: );
1418: -- Mode will be valid, as this is checked at the start of the upd.
1419: --
1420: -- Ensure the arguments are not null
1421: --
1422: hr_api.mandatory_arg_error
1423: (p_api_name => l_proc
1424: ,p_argument => 'validation_start_date'
1425: ,p_argument_value => p_validation_start_date
1426: );
1424: ,p_argument => 'validation_start_date'
1425: ,p_argument_value => p_validation_start_date
1426: );
1427: --
1428: hr_api.mandatory_arg_error
1429: (p_api_name => l_proc
1430: ,p_argument => 'validation_end_date'
1431: ,p_argument_value => p_validation_end_date
1432: );
1492: Begin
1493: --
1494: -- Ensure that the p_datetrack_mode argument is not null
1495: --
1496: hr_api.mandatory_arg_error
1497: (p_api_name => l_proc
1498: ,p_argument => 'datetrack_mode'
1499: ,p_argument_value => p_datetrack_mode
1500: );
1501: --
1502: -- Only perform the validation if the datetrack mode is either
1503: -- DELETE or ZAP
1504: --
1505: If (p_datetrack_mode = hr_api.g_delete or
1506: p_datetrack_mode = hr_api.g_zap) then
1507: --
1508: --
1509: -- Ensure the arguments are not null
1502: -- Only perform the validation if the datetrack mode is either
1503: -- DELETE or ZAP
1504: --
1505: If (p_datetrack_mode = hr_api.g_delete or
1506: p_datetrack_mode = hr_api.g_zap) then
1507: --
1508: --
1509: -- Ensure the arguments are not null
1510: --
1507: --
1508: --
1509: -- Ensure the arguments are not null
1510: --
1511: hr_api.mandatory_arg_error
1512: (p_api_name => l_proc
1513: ,p_argument => 'validation_start_date'
1514: ,p_argument_value => p_validation_start_date
1515: );
1513: ,p_argument => 'validation_start_date'
1514: ,p_argument_value => p_validation_start_date
1515: );
1516: --
1517: hr_api.mandatory_arg_error
1518: (p_api_name => l_proc
1519: ,p_argument => 'validation_end_date'
1520: ,p_argument_value => p_validation_end_date
1521: );
1519: ,p_argument => 'validation_end_date'
1520: ,p_argument_value => p_validation_end_date
1521: );
1522: --
1523: hr_api.mandatory_arg_error
1524: (p_api_name => l_proc
1525: ,p_argument => 'user_row_id'
1526: ,p_argument_value => p_user_row_id
1527: );
1626: NOT IN ('GENERIC','STARTUP') THEN
1627: --
1628: -- Validate Important Attributes
1629: --
1630: hr_api.validate_bus_grp_id
1631: (p_business_group_id => p_rec.business_group_id
1632: ,p_associated_column1 => pay_pur_shd.g_tab_nam
1633: || '.BUSINESS_GROUP_ID');
1634: --
1743: NOT IN ('GENERIC','STARTUP') THEN
1744: --
1745: -- Validate Important Attributes
1746: --
1747: hr_api.validate_bus_grp_id
1748: (p_business_group_id => p_rec.business_group_id
1749: ,p_associated_column1 => pay_pur_shd.g_tab_nam
1750: || '.BUSINESS_GROUP_ID');
1751: --