DBA Data[Home] [Help]

APPS.PA_SCHEDULE_PUB dependencies on PA_UTILS

Line 115: PA_UTILS.Add_Message ('PA', 'PA_SCH_FROM_OR_TO_DATE_NULL');

111: -- If p_exception_type_code = 'CHANGE_DURATION', at least one of start_date or end_date
112: -- should not be null. The reason is that if both are null, actually it wouldn't update anything.
113: IF (p_exception_type_code = 'CHANGE_DURATION' AND
114: p_change_start_date IS NULL AND p_change_end_date IS NULL) THEN
115: PA_UTILS.Add_Message ('PA', 'PA_SCH_FROM_OR_TO_DATE_NULL');
116: RAISE FND_API.G_EXC_ERROR;
117: END IF;
118:
119: -- If p_exception_type_code = 'CHANGE_HOURS' or 'CHANGE_WORK_PATTERN' or 'CHANGE_STATUS',

Line 124: PA_UTILS.Add_Message ('PA', 'PA_SCH_FROM_TO_DATE_NULL');

120: -- End date or Start date should not be null.
121: IF ( (p_exception_type_code = 'CHANGE_HOURS' OR p_exception_type_code = 'CHANGE_WORK_PATTERN' OR
122: p_exception_type_code = 'CHANGE_STATUS') AND
123: (p_change_start_date IS NULL OR p_change_end_date IS NULL) )THEN
124: PA_UTILS.Add_Message ('PA', 'PA_SCH_FROM_TO_DATE_NULL');
125: RAISE FND_API.G_EXC_ERROR;
126: END IF;
127:
128: -- If this api has been called from the page which has start_date, end_date input, call

Line 135: PA_UTILS.Add_Message ('PA', l_err_msg_code);

131: PA_SCHEDULE_UTILS.validate_date_range (p_change_start_date, p_change_end_date, l_x_return_status, l_err_msg_code);
132:
133: -- If validate_date_range fails, put error message into error stack and stop to process.
134: IF (l_x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
135: PA_UTILS.Add_Message ('PA', l_err_msg_code);
136: RAISE FND_API.G_EXC_ERROR;
137: END IF;
138: END IF;
139:

Line 148: PA_UTILS.Add_Message ('PA', 'PA_SCH_ASGN_STATUS_NULL');

144: -- Modified below code for 7663765
145: IF ( (p_exception_type_code = 'SHIFT_DURATION' OR p_exception_type_code = 'CHANGE_STATUS' OR p_exception_type_code = 'DURATION_PATTERN_SHIFT') AND
146: (p_requirement_status_code is NULL AND p_assignment_status_code is NULL AND
147: p_mass_update_flag = FND_API.G_TRUE) ) THEN
148: PA_UTILS.Add_Message ('PA', 'PA_SCH_ASGN_STATUS_NULL');
149: RAISE FND_API.G_EXC_ERROR;
150: END IF;
151:
152: -- validations when p_exception_type_code = 'CHANGE_HOURS'

Line 162: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_NULL');

158: -- the 0 to 100 percent
159: IF (p_change_hours_type_code = 'HOURS') THEN
160:
161: IF (p_hrs_per_day IS NULL) THEN
162: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_NULL');
163: RAISE FND_API.G_EXC_ERROR;
164: ELSIF (p_hrs_per_day NOT BETWEEN 0 AND 24 ) THEN
165: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_OUT_OF_RANGE');
166: RAISE FND_API.G_EXC_ERROR;

Line 165: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_OUT_OF_RANGE');

161: IF (p_hrs_per_day IS NULL) THEN
162: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_NULL');
163: RAISE FND_API.G_EXC_ERROR;
164: ELSIF (p_hrs_per_day NOT BETWEEN 0 AND 24 ) THEN
165: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_OUT_OF_RANGE');
166: RAISE FND_API.G_EXC_ERROR;
167: END IF;
168:
169: ELSIF (p_change_hours_type_code = 'PERCENTAGE') THEN

Line 171: PA_UTILS.Add_Message ('PA', 'PA_SCH_PERCENTAGE_NULL');

167: END IF;
168:
169: ELSIF (p_change_hours_type_code = 'PERCENTAGE') THEN
170: IF (p_calendar_percent IS NULL) THEN
171: PA_UTILS.Add_Message ('PA', 'PA_SCH_PERCENTAGE_NULL');
172: RAISE FND_API.G_EXC_ERROR;
173: ELSIF (p_calendar_percent NOT BETWEEN 0 AND 100 ) THEN
174: PA_UTILS.Add_Message ('PA', 'PA_SCH_PERCENTAGE_OUT_OF_RANGE');
175: RAISE FND_API.G_EXC_ERROR;

Line 174: PA_UTILS.Add_Message ('PA', 'PA_SCH_PERCENTAGE_OUT_OF_RANGE');

170: IF (p_calendar_percent IS NULL) THEN
171: PA_UTILS.Add_Message ('PA', 'PA_SCH_PERCENTAGE_NULL');
172: RAISE FND_API.G_EXC_ERROR;
173: ELSIF (p_calendar_percent NOT BETWEEN 0 AND 100 ) THEN
174: PA_UTILS.Add_Message ('PA', 'PA_SCH_PERCENTAGE_OUT_OF_RANGE');
175: RAISE FND_API.G_EXC_ERROR;
176: END IF;
177:
178: -- Value/ID validation for calendar_name/id entered through 'OTHER' text input field on

Line 184: PA_UTILS.Add_Message ('PA', 'PA_OTHER_CALENDAR_NULL');

180: IF (p_change_calendar_type_code = 'OTHER') THEN
181:
182: -- IF both calendar_name and calendar_id are null, error out.
183: IF (p_change_calendar_name is NULL AND p_change_calendar_id IS NULL) THEN
184: PA_UTILS.Add_Message ('PA', 'PA_OTHER_CALENDAR_NULL');
185: RAISE FND_API.G_EXC_ERROR;
186: END IF;
187:
188: PA_CALENDAR_UTILS.Check_Calendar_Name_Or_Id(

Line 198: PA_UTILS.Add_Message ('PA', l_err_msg_code);

194: ,x_error_message_code => l_err_msg_code);
195:
196: -- If calendar_name/id validation fails, put error message into error stack.
197: IF (l_x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
198: PA_UTILS.Add_Message ('PA', l_err_msg_code);
199: RAISE FND_API.G_EXC_ERROR;
200: END IF;
201: END IF; -- IF(p_change_calendar_type_code = 'OTHER')
202: END IF; -- ELSIF (p_change_hours_type_code = 'PERCENTAGE')

Line 214: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_ALL_NULL');

210: IF (p_monday_hours IS NULL AND p_tuesday_hours IS NULL AND
211: p_wednesday_hours IS NULL AND p_thursday_hours IS NULL AND
212: p_friday_hours IS NULL AND p_saturday_hours IS NULL AND
213: p_sunday_hours IS NULL) THEN
214: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_ALL_NULL');
215: RAISE FND_API.G_EXC_ERROR;
216: END IF;
217:
218: -- if anyday hours is not null and not valid number(between 0 and 24), throw an errors.

Line 226: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_OUT_OF_RANGE');

222: (p_thursday_hours IS NOT NULL AND (p_thursday_hours NOT BETWEEN 0 AND 24)) OR
223: (p_friday_hours IS NOT NULL AND (p_friday_hours NOT BETWEEN 0 AND 24)) OR
224: (p_saturday_hours IS NOT NULL AND (p_saturday_hours NOT BETWEEN 0 AND 24)) OR
225: (p_sunday_hours IS NOT NULL AND (p_sunday_hours NOT BETWEEN 0 AND 24)) ) THEN
226: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_OUT_OF_RANGE');
227: RAISE FND_API.G_EXC_ERROR;
228: END IF;
229:
230: -- Cross-row validation when p_last_row_flag = 'Y'

Line 240: PA_UTILS.Add_Message ('PA', 'PA_SCH_OVERLAP_WORK_PATTERN');

236: OR (p_change_end_date_tbl(j) >= p_change_start_date_tbl(i) AND p_change_end_date_tbl(j) <= p_change_end_date_tbl(i))
237: OR (p_change_start_date_tbl(j) <= p_change_start_date_tbl(i) AND p_change_end_date_tbl(j) >= p_change_end_date_tbl(i))
238: OR (p_change_start_date_tbl(j) >= p_change_start_date_tbl(i) AND p_change_end_date_tbl(j) <= p_change_end_date_tbl(i)))
239: THEN
240: PA_UTILS.Add_Message ('PA', 'PA_SCH_OVERLAP_WORK_PATTERN');
241: RAISE FND_API.G_EXC_ERROR;
242: END IF;
243: END LOOP;
244: END LOOP;

Line 359: PA_UTILS.Add_Message( p_app_short_name => 'PA'

355: ELSE -- Bug 6411422
356:
357: --l_profile_begin_date := to_date(fnd_profile.value('PA_UTL_START_DATE'), 'DD/MM/YYYY'); /* commenting for For Bug 7304151 */
358: l_profile_begin_date := to_date(fnd_profile.value('PA_UTL_START_DATE'), 'DD/MM/YYYY', 'NLS_DATE_LANGUAGE=AMERICAN'); /*Adding For Bug 7304151*/
359: PA_UTILS.Add_Message( p_app_short_name => 'PA'
360: ,p_msg_name => 'PA_INVALID_ASSIGN_START_DATE'
361: ,p_token1 => 'PROFILE_DATE'
362: ,p_value1 => l_profile_begin_date );
363: RAISE FND_API.G_EXC_ERROR;

Line 775: PA_UTILS.Add_Message ('PA', 'PA_SCH_PERCENTAGE_OUT_OF_RANGE');

771:
772: -- Bug#9710585 START Adding Validation for percent
773: IF (p_change_hours_type_code_tbl(k) = 'PERCENTAGE') THEN
774: IF (p_calendar_percent_tbl(k) NOT BETWEEN 0 AND 100 ) THEN
775: PA_UTILS.Add_Message ('PA', 'PA_SCH_PERCENTAGE_OUT_OF_RANGE');
776: RAISE FND_API.G_EXC_ERROR;
777: END IF;
778: END IF;
779: --Bug#9710585 END Adding Validation for percent

Line 1210: PA_UTILS.Add_Message ('PA', 'PA_NO_ASGMT');

1206: l_success_assignment_id_tbl(i) := null;
1207:
1208: -- add appropriate error message to the error stack as raise error where the error will be
1209: -- copied to the error table.
1210: PA_UTILS.Add_Message ('PA', 'PA_NO_ASGMT');
1211: RAISE FND_API.G_EXC_ERROR;
1212:
1213: -- If there is only record for the assignment_id, call single_update_schedule after security check
1214: -- if necessary.

Line 1335: PA_UTILS.Add_Message ('PA', 'PA_STATUS_CODE_NOT_FOUND');

1331:
1332: EXCEPTION
1333: -- need to catch error for system_status_code being not found
1334: WHEN NO_DATA_FOUND THEN
1335: PA_UTILS.Add_Message ('PA', 'PA_STATUS_CODE_NOT_FOUND');
1336:
1337: -- save the error message to the proper table so that we can retrive them later
1338: -- from workflow notification page.
1339: PA_MESSAGE_UTILS.save_messages

Line 1761: PA_UTILS.Add_Message('PA', l_error_message_code);

1757: End If;
1758:
1759: EXCEPTION
1760: WHEN l_ei_asgn_out_of_range THEN
1761: PA_UTILS.Add_Message('PA', l_error_message_code);
1762: x_return_status := FND_API.G_RET_STS_ERROR;
1763: x_msg_data := l_error_message_code;
1764: x_msg_count := FND_MSG_PUB.Count_Msg;
1765: If x_msg_count = 1 THEN

Line 1776: PA_UTILS.Add_Message('PA', l_error_message_code);

1772: p_msg_index_out => l_msg_index_out );
1773: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
1774: End If;
1775: WHEN l_resource_cc_error_u THEN
1776: PA_UTILS.Add_Message('PA', l_error_message_code);
1777: x_return_status := FND_API.G_RET_STS_ERROR;
1778: x_msg_data := l_error_message_code;
1779: x_msg_count := FND_MSG_PUB.Count_Msg;
1780: If x_msg_count = 1 THEN

Line 1791: PA_UTILS.Add_Message('PA', 'CROSS_CHARGE_VALIDATION_FAILED');

1787: p_msg_index_out => l_msg_index_out );
1788: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
1789: End If;
1790: WHEN l_resource_cc_error_e THEN
1791: PA_UTILS.Add_Message('PA', 'CROSS_CHARGE_VALIDATION_FAILED');
1792: x_return_status := FND_API.G_RET_STS_ERROR;
1793: x_msg_data := 'CROSS_CHARGE_VALIDATION_FAILED';
1794: x_msg_count := FND_MSG_PUB.Count_Msg;
1795: If x_msg_count = 1 THEN

Line 1806: PA_UTILS.Add_Message( 'PA', 'PA_RESOURCE_OUT_OF_RANGE');

1802: p_msg_index_out => l_msg_index_out );
1803: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
1804: End If;
1805: WHEN l_resource_out_of_range THEN
1806: PA_UTILS.Add_Message( 'PA', 'PA_RESOURCE_OUT_OF_RANGE');
1807: x_return_status := FND_API.G_RET_STS_ERROR;
1808: x_msg_data := 'PA_RESOURCE_OUT_OF_RANGE';
1809: x_msg_count := FND_MSG_PUB.Count_Msg;
1810: If x_msg_count = 1 THEN

Line 1821: PA_UTILS.add_message('PA','PA_XC_RECORD_CHANGED');

1817: p_msg_index_out => l_msg_index_out );
1818: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
1819: End If;
1820: WHEN l_stale_asmt_data THEN
1821: PA_UTILS.add_message('PA','PA_XC_RECORD_CHANGED');
1822: x_return_status := FND_API.G_RET_STS_ERROR;
1823: x_msg_data := 'PA_XC_RECORD_CHANGED';
1824: x_msg_count := FND_MSG_PUB.Count_Msg;
1825: If x_msg_count = 1 THEN

Line 1836: PA_UTILS.add_message('PA','PA_SCH_ASGN_STATUS_NULL');

1832: p_msg_index_out => l_msg_index_out );
1833: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
1834: End If;
1835: WHEN l_assignment_status_null THEN
1836: PA_UTILS.add_message('PA','PA_SCH_ASGN_STATUS_NULL');
1837: x_return_status := FND_API.G_RET_STS_ERROR;
1838: x_msg_data := 'PA_SCH_ASGN_STATUS_NULL';
1839: x_msg_count := FND_MSG_PUB.Count_Msg;
1840: If x_msg_count = 1 THEN

Line 1851: PA_UTILS.add_message('PA','PA_SCH_INVALID_FROM_DATE',

1847: p_msg_index_out => l_msg_index_out );
1848: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
1849: End If;
1850: WHEN l_out_of_range_from_date THEN
1851: PA_UTILS.add_message('PA','PA_SCH_INVALID_FROM_DATE',
1852: 'ASMT_TYPE_POSS', l_asgn_req_poss_text,
1853: 'ASMT_TYPE', l_asgn_req_text);
1854: x_msg_data := 'PA_SCH_INVALID_FROM_DATE';
1855: x_return_status := FND_API.G_RET_STS_ERROR;

Line 1868: PA_UTILS.add_message('PA','PA_SCH_INVALID_TO_DATE',

1864: p_msg_index_out => l_msg_index_out );
1865: x_msg_data := l_data; -- 4537865 : NOCOPY related change
1866: End If;
1867: WHEN l_out_of_range_to_date THEN
1868: PA_UTILS.add_message('PA','PA_SCH_INVALID_TO_DATE',
1869: 'ASMT_TYPE_POSS', l_asgn_req_poss_text,
1870: 'ASMT_TYPE', l_asgn_req_text);
1871: x_return_status := FND_API.G_RET_STS_ERROR;
1872: x_msg_data := 'PA_SCH_INVALID_TO_DATE';

Line 1885: PA_UTILS.Add_Message( p_app_short_name => 'PA',

1881: p_msg_index_out => l_msg_index_out );
1882: x_msg_data := l_data; -- 4537865 : NOCOPY related change
1883: End If;
1884: WHEN l_asgn_stus_not_for_proj_stus THEN
1885: PA_UTILS.Add_Message( p_app_short_name => 'PA',
1886: p_msg_name => 'PA_ASGN_STUS_NOT_FOR_PROJ_STUS',
1887: p_token1 => 'PROJ_STATUS',
1888: p_value1 => l_project_status_name,
1889: p_token2 => 'ASGN_STATUS',

Line 2064: PA_UTILS.add_message('PA','PA_SCH_INVALID_FROM_TO_DATE',

2060: End If;
2061:
2062: EXCEPTION
2063: WHEN l_out_of_range_date THEN
2064: PA_UTILS.add_message('PA','PA_SCH_INVALID_FROM_TO_DATE',
2065: 'ASMT_TYPE', l_asgn_req_text);
2066: x_return_status := FND_API.G_RET_STS_ERROR;
2067: x_msg_data := 'PA_SCH_INVALID_FROM_TO_DATE';
2068: x_msg_count := FND_MSG_PUB.Count_Msg;

Line 2328: PA_UTILS.add_message('PA','PA_SCH_INVALID_FROM_TO_DATE',

2324: End If;
2325:
2326: EXCEPTION
2327: WHEN l_out_of_range_date THEN
2328: PA_UTILS.add_message('PA','PA_SCH_INVALID_FROM_TO_DATE',
2329: 'ASMT_TYPE', l_asgn_req_text);
2330: x_return_status := FND_API.G_RET_STS_ERROR;
2331: x_msg_data := 'PA_SCH_INVALID_FROM_TO_DATE';
2332: x_msg_count := FND_MSG_PUB.Count_Msg;

Line 2461: PA_UTILS.Add_Message ('PA', 'PA_SCH_ASGN_STATUS_NULL'); -- is this message okay?

2457: PA_SCHEDULE_UTILS.log_message(1,'Start of Change_Status ... ');
2458:
2459: -- p_assignment_status_code should not be null
2460: IF (p_assignment_status_code is NULL) THEN
2461: PA_UTILS.Add_Message ('PA', 'PA_SCH_ASGN_STATUS_NULL'); -- is this message okay?
2462: RAISE FND_API.G_EXC_ERROR;
2463: END IF;
2464:
2465: -- The passed dates should fall between the assignment start date and assignment end date */

Line 2592: PA_UTILS.add_message('PA','PA_XC_RECORD_CHANGED');

2588: p_data => x_msg_data,
2589: p_msg_index_out => l_msg_index_out );
2590: END IF;
2591: WHEN l_stale_asmt_data THEN
2592: PA_UTILS.add_message('PA','PA_XC_RECORD_CHANGED');
2593: x_return_status := FND_API.G_RET_STS_ERROR;
2594: x_msg_data := 'PA_XC_RECORD_CHANGED';
2595: x_msg_count := FND_MSG_PUB.Count_Msg;
2596: If x_msg_count = 1 THEN

Line 2607: PA_UTILS.add_message('PA','PA_INVALID_ASGN_CANCELLED_DATE',

2603: p_msg_index_out => l_msg_index_out );
2604: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
2605: End If;
2606: WHEN l_invalid_asgn_cancelled_date THEN
2607: PA_UTILS.add_message('PA','PA_INVALID_ASGN_CANCELLED_DATE',
2608: 'ASMT_TYPE_POSS', l_asgn_req_poss_text,
2609: 'A_OR_AN', l_a_an_text,
2610: 'ASMT_TYPE', l_asgn_req_text);
2611: x_return_status := FND_API.G_RET_STS_ERROR;

Line 2625: PA_UTILS.add_message('PA','PA_SCH_INVALID_FROM_TO_DATE',

2621: p_msg_index_out => l_msg_index_out );
2622: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
2623: End If;
2624: WHEN l_out_of_range_date THEN
2625: PA_UTILS.add_message('PA','PA_SCH_INVALID_FROM_TO_DATE',
2626: 'ASMT_TYPE', l_asgn_req_text);
2627: x_return_status := FND_API.G_RET_STS_ERROR;
2628: x_msg_data := 'PA_SCH_INVALID_FROM_TO_DATE';
2629: x_msg_count := FND_MSG_PUB.Count_Msg;

Line 2641: PA_UTILS.Add_Message( p_app_short_name => 'PA',

2637: p_msg_index_out => l_msg_index_out );
2638: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
2639: End If;
2640: WHEN l_asgn_stus_not_for_proj_stus THEN
2641: PA_UTILS.Add_Message( p_app_short_name => 'PA',
2642: p_msg_name => 'PA_ASGN_STUS_NOT_FOR_PROJ_STUS',
2643: p_token1 => 'PROJ_STATUS',
2644: p_value1 => l_project_status_name,
2645: p_token2 => 'ASGN_STATUS',

Line 2824: PA_UTILS.add_message('PA','PA_CALENDAR_INVALID_AMBIGOUS');

2820:
2821:
2822: EXCEPTION
2823: WHEN l_invalid_duplicate_cal_name THEN
2824: PA_UTILS.add_message('PA','PA_CALENDAR_INVALID_AMBIGOUS');
2825: x_return_status := FND_API.G_RET_STS_ERROR;
2826: x_msg_data := 'PA_CALENDAR_INVALID_AMBIGOUS';
2827: x_msg_count := FND_MSG_PUB.Count_Msg;
2828: If x_msg_count = 1 THEN

Line 2839: PA_UTILS.add_message('PA','PA_SCH_FROM_TO_DATE_NULL');

2835: p_msg_index_out => l_msg_index_out );
2836: x_msg_data := l_data ; -- 4537865 : NOCOPY related change
2837: End If;
2838: WHEN l_from_to_date_null THEN
2839: PA_UTILS.add_message('PA','PA_SCH_FROM_TO_DATE_NULL');
2840: x_return_status := FND_API.G_RET_STS_ERROR;
2841: x_msg_data := 'PA_SCH_FROM_TO_DATE_NULL';
2842: x_msg_count := FND_MSG_PUB.Count_Msg;
2843: If x_msg_count = 1 THEN

Line 3645: PA_UTILS.add_message('PA','PA_INVALID_PROFILE_CALENDAR_ID');

3641:
3642: EXCEPTION
3643: WHEN l_invalid_default_calendar THEN
3644: PA_SCHEDULE_UTILS.log_message(1,'ERROR: invalid calendar id at profile option ..');
3645: PA_UTILS.add_message('PA','PA_INVALID_PROFILE_CALENDAR_ID');
3646: x_return_status := FND_API.G_RET_STS_ERROR;
3647: x_msg_data := 'PA_INVALID_PROFILE_CALENDAR_ID';
3648: x_msg_count := FND_MSG_PUB.Count_Msg;
3649:

Line 3666: PA_UTILS.add_message('PA','PA_INVALID_PROFILE_CALENDAR_ID');

3662: x_msg_data := l_data ; -- 4537865
3663: End If;
3664: WHEN l_null_default_calendar THEN
3665: PA_SCHEDULE_UTILS.log_message(1,'ERROR: Null calendar id at profile option ..');
3666: PA_UTILS.add_message('PA','PA_INVALID_PROFILE_CALENDAR_ID');
3667: x_return_status := FND_API.G_RET_STS_ERROR;
3668: x_msg_data := 'PA_NULL_PROFILE_CALENDAR_ID';
3669: x_msg_count := FND_MSG_PUB.Count_Msg;
3670:

Line 4016: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_OUT_OF_RANGE');

4012: END IF;
4013: -- Bug 3235656 : Added the below condition to show error
4014: FOR i IN p_hours_table.FIRST .. p_hours_table.LAST LOOP
4015: IF (p_hours_table(i) < 0 OR p_hours_table(i) > 24) THEN
4016: PA_UTILS.Add_Message ('PA', 'PA_SCH_HOURS_OUT_OF_RANGE');
4017: RAISE FND_API.G_EXC_ERROR;
4018: END IF;
4019: END LOOP;
4020: