230: end if;
231: if(l_error = 1) then
232: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
233: l_range := hr_general.decode_lookup('KW_FORM_LABELS','INVALID_FORMAT');
234: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
235: hr_utility.set_message_token('FIELD',l_field);
236: hr_utility.set_message_token('RANGE',l_range);
237: hr_utility.raise_error;
238: end if;
231: if(l_error = 1) then
232: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
233: l_range := hr_general.decode_lookup('KW_FORM_LABELS','INVALID_FORMAT');
234: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
235: hr_utility.set_message_token('FIELD',l_field);
236: hr_utility.set_message_token('RANGE',l_range);
237: hr_utility.raise_error;
238: end if;
239: l_year := to_number(substr(l_date_in,0,l_position1-1));
232: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
233: l_range := hr_general.decode_lookup('KW_FORM_LABELS','INVALID_FORMAT');
234: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
235: hr_utility.set_message_token('FIELD',l_field);
236: hr_utility.set_message_token('RANGE',l_range);
237: hr_utility.raise_error;
238: end if;
239: l_year := to_number(substr(l_date_in,0,l_position1-1));
240: l_month := to_number(substr(l_date_in,l_position1+1,l_position2-l_position1-1));
233: l_range := hr_general.decode_lookup('KW_FORM_LABELS','INVALID_FORMAT');
234: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
235: hr_utility.set_message_token('FIELD',l_field);
236: hr_utility.set_message_token('RANGE',l_range);
237: hr_utility.raise_error;
238: end if;
239: l_year := to_number(substr(l_date_in,0,l_position1-1));
240: l_month := to_number(substr(l_date_in,l_position1+1,l_position2-l_position1-1));
241: l_day := to_number(substr(l_date_in,l_position2+1,l_length-l_position2));
243: if(l_year<=0 or l_year >4089) then --check if year/month/day is negative
244: l_flag := 1;
245: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
246: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
247: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
248: hr_utility.set_message_token('FIELD',l_field);
249: hr_utility.set_message_token('RANGE',l_range);
250: hr_utility.raise_error;
251: end if;
244: l_flag := 1;
245: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
246: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
247: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
248: hr_utility.set_message_token('FIELD',l_field);
249: hr_utility.set_message_token('RANGE',l_range);
250: hr_utility.raise_error;
251: end if;
252: if(l_month <= 0 or l_month> 12)then
245: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
246: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
247: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
248: hr_utility.set_message_token('FIELD',l_field);
249: hr_utility.set_message_token('RANGE',l_range);
250: hr_utility.raise_error;
251: end if;
252: if(l_month <= 0 or l_month> 12)then
253: l_flag := 2;
246: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
247: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
248: hr_utility.set_message_token('FIELD',l_field);
249: hr_utility.set_message_token('RANGE',l_range);
250: hr_utility.raise_error;
251: end if;
252: if(l_month <= 0 or l_month> 12)then
253: l_flag := 2;
254: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
252: if(l_month <= 0 or l_month> 12)then
253: l_flag := 2;
254: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
255: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
256: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
257: hr_utility.set_message_token('FIELD',l_field);
258: hr_utility.set_message_token('RANGE',l_range);
259: hr_utility.raise_error;
260: end if;
253: l_flag := 2;
254: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
255: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
256: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
257: hr_utility.set_message_token('FIELD',l_field);
258: hr_utility.set_message_token('RANGE',l_range);
259: hr_utility.raise_error;
260: end if;
261: if(l_day <= 0 or l_day >30)then
254: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
255: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
256: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
257: hr_utility.set_message_token('FIELD',l_field);
258: hr_utility.set_message_token('RANGE',l_range);
259: hr_utility.raise_error;
260: end if;
261: if(l_day <= 0 or l_day >30)then
262: l_flag := 3;
255: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
256: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
257: hr_utility.set_message_token('FIELD',l_field);
258: hr_utility.set_message_token('RANGE',l_range);
259: hr_utility.raise_error;
260: end if;
261: if(l_day <= 0 or l_day >30)then
262: l_flag := 3;
263: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
261: if(l_day <= 0 or l_day >30)then
262: l_flag := 3;
263: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
264: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
265: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
266: hr_utility.set_message_token('FIELD',l_field);
267: hr_utility.set_message_token('RANGE',l_range);
268: hr_utility.raise_error;
269: end if;
262: l_flag := 3;
263: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
264: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
265: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
266: hr_utility.set_message_token('FIELD',l_field);
267: hr_utility.set_message_token('RANGE',l_range);
268: hr_utility.raise_error;
269: end if;
270: if(l_year < 1000) then
263: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
264: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
265: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
266: hr_utility.set_message_token('FIELD',l_field);
267: hr_utility.set_message_token('RANGE',l_range);
268: hr_utility.raise_error;
269: end if;
270: if(l_year < 1000) then
271: l_year_date := lpad(to_char(l_year),4,'0');
264: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
265: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
266: hr_utility.set_message_token('FIELD',l_field);
267: hr_utility.set_message_token('RANGE',l_range);
268: hr_utility.raise_error;
269: end if;
270: if(l_year < 1000) then
271: l_year_date := lpad(to_char(l_year),4,'0');
272: else
290: then
291: if l_flag = 0 then
292: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
293: l_range := hr_general.decode_lookup('KW_FORM_LABELS','INVALID_FORMAT');
294: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
295: hr_utility.set_message_token('FIELD',l_field);
296: hr_utility.set_message_token('RANGE',l_range);
297: hr_utility.raise_error;
298: elsif l_flag = 1 then
291: if l_flag = 0 then
292: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
293: l_range := hr_general.decode_lookup('KW_FORM_LABELS','INVALID_FORMAT');
294: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
295: hr_utility.set_message_token('FIELD',l_field);
296: hr_utility.set_message_token('RANGE',l_range);
297: hr_utility.raise_error;
298: elsif l_flag = 1 then
299: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
292: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
293: l_range := hr_general.decode_lookup('KW_FORM_LABELS','INVALID_FORMAT');
294: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
295: hr_utility.set_message_token('FIELD',l_field);
296: hr_utility.set_message_token('RANGE',l_range);
297: hr_utility.raise_error;
298: elsif l_flag = 1 then
299: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
300: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
293: l_range := hr_general.decode_lookup('KW_FORM_LABELS','INVALID_FORMAT');
294: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
295: hr_utility.set_message_token('FIELD',l_field);
296: hr_utility.set_message_token('RANGE',l_range);
297: hr_utility.raise_error;
298: elsif l_flag = 1 then
299: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
300: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
301: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
297: hr_utility.raise_error;
298: elsif l_flag = 1 then
299: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
300: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
301: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
302: hr_utility.set_message_token('FIELD',l_field);
303: hr_utility.set_message_token('RANGE',l_range);
304: hr_utility.raise_error;
305: elsif l_flag = 2 then
298: elsif l_flag = 1 then
299: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
300: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
301: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
302: hr_utility.set_message_token('FIELD',l_field);
303: hr_utility.set_message_token('RANGE',l_range);
304: hr_utility.raise_error;
305: elsif l_flag = 2 then
306: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
299: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_YEAR');
300: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
301: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
302: hr_utility.set_message_token('FIELD',l_field);
303: hr_utility.set_message_token('RANGE',l_range);
304: hr_utility.raise_error;
305: elsif l_flag = 2 then
306: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
307: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
300: l_range := hr_general.decode_lookup('KW_FORM_LABELS','YEAR_RANGE');
301: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
302: hr_utility.set_message_token('FIELD',l_field);
303: hr_utility.set_message_token('RANGE',l_range);
304: hr_utility.raise_error;
305: elsif l_flag = 2 then
306: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
307: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
308: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
304: hr_utility.raise_error;
305: elsif l_flag = 2 then
306: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
307: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
308: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
309: hr_utility.set_message_token('FIELD',l_field);
310: hr_utility.set_message_token('RANGE',l_range);
311: hr_utility.raise_error;
312: elsif l_flag = 3 then
305: elsif l_flag = 2 then
306: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
307: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
308: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
309: hr_utility.set_message_token('FIELD',l_field);
310: hr_utility.set_message_token('RANGE',l_range);
311: hr_utility.raise_error;
312: elsif l_flag = 3 then
313: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
306: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_MONTH');
307: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
308: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
309: hr_utility.set_message_token('FIELD',l_field);
310: hr_utility.set_message_token('RANGE',l_range);
311: hr_utility.raise_error;
312: elsif l_flag = 3 then
313: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
314: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
307: l_range := hr_general.decode_lookup('KW_FORM_LABELS','MONTH_RANGE');
308: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
309: hr_utility.set_message_token('FIELD',l_field);
310: hr_utility.set_message_token('RANGE',l_range);
311: hr_utility.raise_error;
312: elsif l_flag = 3 then
313: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
314: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
315: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
311: hr_utility.raise_error;
312: elsif l_flag = 3 then
313: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
314: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
315: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
316: hr_utility.set_message_token('FIELD',l_field);
317: hr_utility.set_message_token('RANGE',l_range);
318: hr_utility.raise_error;
319: end if;
312: elsif l_flag = 3 then
313: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
314: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
315: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
316: hr_utility.set_message_token('FIELD',l_field);
317: hr_utility.set_message_token('RANGE',l_range);
318: hr_utility.raise_error;
319: end if;
320:
313: l_field := hr_general.decode_lookup('KW_FORM_LABELS','HIJRAH_DATE');
314: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
315: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
316: hr_utility.set_message_token('FIELD',l_field);
317: hr_utility.set_message_token('RANGE',l_range);
318: hr_utility.raise_error;
319: end if;
320:
321: end validate_date;
314: l_range := hr_general.decode_lookup('KW_FORM_LABELS','DATE_RANGE');
315: hr_utility.set_message(800, 'HR_375412_KW_INVALID_DATE');
316: hr_utility.set_message_token('FIELD',l_field);
317: hr_utility.set_message_token('RANGE',l_range);
318: hr_utility.raise_error;
319: end if;
320:
321: end validate_date;
322: