1 PACKAGE BODY IGR_VAL_EAP AS
2 /* $Header: IGSRT08B.pls 120.0 2005/06/01 14:45:49 appldev noship $ */
3 -------------------------------------------------------------------------------------------
4 --Change History:
5 --Who When What
6 --sjlaport 18-Feb-05 Created for IGR Migration
7 -------------------------------------------------------------------------------------------
8
9 -- Validate the Enquiry application status.
10 FUNCTION admp_val_eap_es_comp(
11 p_person_id IN NUMBER ,
12 p_enquiry_appl_number IN NUMBER ,
13 p_enquiry_status IN VARCHAR2 ,
14 p_message_name OUT NOCOPY VARCHAR2)
15 RETURN BOOLEAN IS
16 BEGIN -- admp_val_eap_es_comp
17 -- Validate IGR_I_APPL.enquiry_status:
18 -- * Must be set to system status of 'COMPLETE' if no child
19 -- IGR_I_A_PKGITM_V records exist with mailed_dt set to NULL.
20 DECLARE
21 cst_complete CONSTANT VARCHAR2(20) := 'OSS_COMPLETE';
22 CURSOR c_es IS
23 SELECT es.s_enquiry_status
24 FROM IGR_I_STATUS_V es
25 WHERE es.enquiry_status = p_enquiry_status;
26 v_status IGR_I_STATUS_V.s_enquiry_status%TYPE;
27 CURSOR c_epi IS
28 SELECT 'x'
29 FROM IGR_I_A_PKGITM_V eapmpi
30 WHERE eapmpi.person_id = p_person_id AND
31 eapmpi.enquiry_appl_number = p_enquiry_appl_number;
32 CURSOR c_eapmpi IS
33 SELECT 'x'
34 FROM IGR_I_A_PKGITM_V eapmpi
35 WHERE eapmpi.person_id = p_person_id AND
36 eapmpi.enquiry_appl_number = p_enquiry_appl_number AND
37 eapmpi.mailed_dt IS NULL;
38 v_eapmpi_exists VARCHAR2(1);
39 v_epi_exists VARCHAR2(1);
40 BEGIN
41 -- Set the default message number
42 p_message_name := null;
43 --1. Check parameters :
44 IF p_person_id IS NULL OR
45 p_enquiry_appl_number IS NULL OR
46 p_enquiry_status IS NULL THEN
47 RETURN TRUE;
48 END IF;
49 --2. Get the system status of the IGR_I_STATUS_V.
50 OPEN c_es;
51 FETCH c_es INTO v_status;
52 IF c_es%NOTFOUND THEN
53 CLOSE c_es;
54 RAISE NO_DATA_FOUND;
55 END IF;
56 CLOSE c_es;
57 --3. Validate that package items exist.
58 IF v_status <> cst_complete THEN
59 OPEN c_epi;
60 FETCH c_epi INTO v_epi_exists;
61 IF c_epi%NOTFOUND THEN
62 CLOSE c_epi;
63 RETURN TRUE;
64 END IF;
65 CLOSE c_epi;
66 END IF; -- v_status
67 --4. Validate that status must be set to system status of 'COMPLETE' if no
68 -- child IGR_I_A_PKGITM_V records exist where mailed_dt is null.
69 IF v_status <> cst_complete THEN
70 OPEN c_eapmpi;
71 FETCH c_eapmpi INTO v_eapmpi_exists;
72 IF c_eapmpi%NOTFOUND THEN
73 CLOSE c_eapmpi;
74 --p_message_num := 4766;
75 p_message_name := 'IGS_AD_ENQ_STATUS_SET_COMPLET';
76 RETURN FALSE;
77 END IF;
78 CLOSE c_eapmpi;
79 END IF; -- v_status
80 --5. Return no error:
81 RETURN TRUE;
82 EXCEPTION
83 WHEN OTHERS THEN
84 IF c_eapmpi%ISOPEN THEN
85 CLOSE c_eapmpi;
86 END IF;
87 IF c_es%ISOPEN THEN
88 CLOSE c_es;
89 END IF;
90 RAISE;
91 END;
92 EXCEPTION
93 WHEN OTHERS THEN
94 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
95 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.');
96 IGS_GE_MSG_STACK.ADD;
97 END admp_val_eap_es_comp;
98 --
99 -- Validate the admission enquiry academic calendar.
100 FUNCTION admp_val_ae_acad_cal(
101 p_acad_cal_type IN VARCHAR2 ,
102 p_acad_ci_sequence_number IN NUMBER ,
103 p_message_name OUT NOCOPY VARCHAR2)
104 RETURN BOOLEAN IS
105 BEGIN -- admp_val_aa_acad_cal
106 -- Validate the admission enquiry application commencement period
107 -- (IGR_I_APPL.acad_cal_type, IGR_I_APPL.acad_ci_sequence_number).
108 -- Validations are -
109 -- ? IGR_I_APPL.acad_cal_type must be an Academic calendar.
110 -- ? IGR_I_APPL.acad_cal_type and IGR_I_APPL.acad_ci_sequence_number
111 -- must be an Active calendar instance.
112 DECLARE
113 CURSOR c_ct (
114 cp_acad_cal_type IGR_I_APPL.acad_cal_type%TYPE) IS
115 SELECT s_cal_cat
116 FROM IGS_CA_TYPE
117 WHERE cal_type = cp_acad_cal_type;
118 CURSOR c_ci_cs (
119 cp_acad_cal_type IGR_I_APPL.acad_cal_type%TYPE,
120 cp_acad_ci_sequence_number IGR_I_APPL.acad_ci_sequence_number%TYPE) IS
121 SELECT cs.s_cal_status
122 FROM IGS_CA_STAT cs,
123 IGS_CA_INST ci
124 WHERE ci.cal_type = cp_acad_cal_type AND
125 ci.sequence_number = cp_acad_ci_sequence_number AND
126 ci.cal_status = cs.cal_status;
127 v_ct_rec c_ct%ROWTYPE;
128 v_ci_cs_rec c_ci_cs%ROWTYPE;
129 cst_academic VARCHAR2(10) := 'ACADEMIC';
130 cst_active VARCHAR2(10) := 'ACTIVE';
131 BEGIN
132 -- Set the default message number
133 p_message_name := null;
134 -- Cursor handling
135 OPEN c_ct (p_acad_cal_type);
136 FETCH c_ct INTO v_ct_rec;
137 IF c_ct%FOUND THEN
138 CLOSE c_ct;
139 IF v_ct_rec.s_cal_cat <> cst_academic THEN
140 --p_message_num := 2401;
141 p_message_name := 'IGS_AD_CAT_AS_ACADEMIC';
142 RETURN FALSE;
143 END IF;
144 ELSE
145 CLOSE c_ct;
146 END IF;
147 OPEN c_ci_cs (
148 p_acad_cal_type,
149 p_acad_ci_sequence_number);
150 FETCH c_ci_cs INTO v_ci_cs_rec;
151 IF c_ci_cs%NOTFOUND THEN
152 CLOSE c_ci_cs;
153 RETURN TRUE;
154 END IF;
155 CLOSE c_ci_cs;
156 IF v_ci_cs_rec.s_cal_status <> cst_active THEN --removed the planned status as per bug#2722785 --rghosh
157 --p_message_num := 2402;
158 p_message_name := 'IGS_AD_ACACAL_PLANNED_ACTIVE';
159 RETURN FALSE;
160 END IF;
161 -- Return the default value
162 RETURN TRUE;
163 END;
164 EXCEPTION
165 WHEN OTHERS THEN
166 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
167 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.');
168 IGS_GE_MSG_STACK.ADD;
169 END admp_val_ae_acad_cal;
170 --
171 -- Validate the admission enquiry admission calendar.
172 FUNCTION admp_val_ae_adm_cal(
173 p_adm_cal_type IN VARCHAR2 ,
174 p_adm_ci_sequence_number IN NUMBER ,
175 p_acad_cal_type IN VARCHAR2 ,
176 p_acad_ci_sequence_number IN NUMBER ,
177 p_message_name OUT NOCOPY VARCHAR2)
178 RETURN BOOLEAN IS
179 BEGIN
180 DECLARE
181 cst_admission CONSTANT VARCHAR2(10) := 'ADMISSION';
182 cst_active CONSTANT VARCHAR2(10) := 'ACTIVE';
183 v_s_cal_cat IGS_CA_TYPE.s_cal_cat%TYPE;
184 v_s_cal_status IGS_CA_STAT.s_cal_status%TYPE;
185 v_dummy VARCHAR2(1);
186 CURSOR c_cal_type (
187 cp_cal_type IGS_CA_TYPE.cal_type%TYPE) IS
188 SELECT cat.s_cal_cat
189 FROM IGS_CA_TYPE cat
190 WHERE cat.cal_type = cp_cal_type;
191 CURSOR c_cal_instance (
192 cp_cal_type IGS_CA_INST.cal_type%TYPE,
193 cp_sequence_number IGS_CA_INST.sequence_number%TYPE) IS
194 SELECT cs.s_cal_status
195 FROM IGS_CA_INST ci,
196 IGS_CA_STAT cs
197 WHERE ci.cal_status= cs.cal_status AND
198 ci.cal_type = cp_cal_type AND
199 ci.sequence_number = cp_sequence_number;
200 CURSOR c_cal_ins_rel (
201 cp_acad_cal_type IGS_CA_INST.cal_type%TYPE,
202 cp_acad_ci_sequence_number IGS_CA_INST.sequence_number%TYPE,
203 cp_adm_cal_type IGS_CA_INST.cal_type%TYPE,
204 cp_adm_ci_sequence_number IGS_CA_INST.sequence_number%TYPE) IS
205 SELECT 'x'
206 FROM IGS_CA_INST_REL cir
207 WHERE cir.sup_cal_type =cp_acad_cal_type AND
208 cir.sup_ci_sequence_number = cp_acad_ci_sequence_number AND
209 cir.sub_cal_type = cp_adm_cal_type AND
210 cir.sub_ci_sequence_number = cp_adm_ci_sequence_number;
211 BEGIN
212 -- Validate the admission enquiry admission calendar
213 -- (IGR_I_APPL.adm_cal_type,
214 -- IGR_I_APPL.adm_ci_sequence_number).
215 -- Validations are -
216 -- IGR_I_APPL.acad_cal_type must be an Admission calendar.
217 -- IGR_I_APPL.adm_cal_type and IGR_I_APPL.adm_ci_sequence_number
218 -- must be
219 -- an Active calendar instance.
220 -- The Admission Calendar must be a child of the Academic Calendar.
221 -- This validation is enforced in the database via the foreign key EAP_CIR_FK.
222 -- It is included in this module for Forms processing purposes only.
223 p_message_name := null;
224 OPEN c_cal_type(
225 p_adm_cal_type);
226 FETCH c_cal_type INTO v_s_cal_cat;
227 IF(c_cal_type%FOUND) THEN
228 IF(v_s_cal_cat <> cst_admission) THEN
229 CLOSE c_cal_type;
230 --p_message_num := 2541;
231 p_message_name := 'IGS_AD_ADMCAL_CAT_AS_ADM';
232 RETURN FALSE;
233 END IF;
234 END IF;
235 CLOSE c_cal_type;
236 OPEN c_cal_instance(
237 p_adm_cal_type,
238 p_adm_ci_sequence_number);
239 FETCH c_cal_instance INTO v_s_cal_status;
240 IF(c_cal_instance%FOUND) THEN
241 IF(v_s_cal_status <> cst_active) THEN
242 CLOSE c_cal_instance;
243 --p_message_num := 2542;
244 p_message_name := 'IGS_AD_ADMCAL_PLANNED_ACTIVE'; --removed the planned status as per bug#2722785 --rghosh
245 RETURN FALSE;
246 END IF;
247 END IF;
248 CLOSE c_cal_instance;
249 OPEN c_cal_ins_rel(
250 p_acad_cal_type,
251 p_acad_ci_sequence_number,
252 p_adm_cal_type,
253 p_adm_ci_sequence_number);
254 FETCH c_cal_ins_rel INTO v_dummy;
255 IF(c_cal_ins_rel%NOTFOUND) THEN
256 CLOSE c_cal_ins_rel;
257 --p_message_num := 2543;
258 p_message_name := 'IGS_AD_ADMCAL_CHILD_ACACAL';
259 RETURN FALSE;
260 END IF;
261 CLOSE c_cal_ins_rel;
262 RETURN TRUE;
263 END;
264 EXCEPTION
265 WHEN OTHERS THEN
266 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
267 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.admp_val_ae_adm_cal');
268 IGS_GE_MSG_STACK.ADD;
269 END admp_val_ae_adm_cal;
270 --
271 -- Validate the Enquiry applicant has a current address.
272 FUNCTION admp_val_eap_addr(
273 p_person_id IN NUMBER ,
274 p_message_name OUT NOCOPY VARCHAR2)
275 RETURN BOOLEAN IS
276 BEGIN -- admp_val_eap_addr
277 -- Description: Validate IGR_I_APPL.person_id has a current
278 -- correspondence address.
279 DECLARE
280 v_ret_val BOOLEAN DEFAULT TRUE;
281 CURSOR c_pa_adt IS
282 SELECT 'X'
283 FROM IGS_PE_PERSON_ADDR pa
284 WHERE pa.person_id = p_person_id AND
285 pa.correspondence_ind = 'Y' AND
286 (pa.status = 'A' AND
287 SYSDATE BETWEEN NVL(pa.start_dt,SYSDATE) AND NVL(pa.end_dt,SYSDATE));
288 v_pa_adt c_pa_adt%ROWTYPE;
289 BEGIN
290 p_message_name := null;
291 IF p_person_id IS NULL THEN
292 RETURN TRUE;
293 END IF;
294 OPEN c_pa_adt;
295 FETCH c_pa_adt INTO v_pa_adt;
296 IF (c_pa_adt%NOTFOUND) THEN
297 CLOSE c_pa_adt;
298 --p_message_num := 4326;
299 p_message_name := 'IGS_AD_PRSN_NO_COR_ADDRESS';
300 RETURN FALSE;
301 END IF;
302 CLOSE c_pa_adt;
303 RETURN TRUE;
304 EXCEPTION
305 WHEN OTHERS THEN
306 IF (c_pa_adt%ISOPEN) THEN
307 CLOSE c_pa_adt;
308 END IF;
309 END;
310 EXCEPTION
311 WHEN OTHERS THEN
312 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
313 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.admp_val_eap_addr');
314 IGS_GE_MSG_STACK.ADD;
315 END admp_val_eap_addr;
316 --
317 -- Validate the Enquiry application status on insert.
318 FUNCTION admp_val_eap_reg(
319 p_enquiry_status IN VARCHAR2 ,
320 p_message_name OUT NOCOPY VARCHAR2)
321 RETURN BOOLEAN IS
322 BEGIN -- admp_val_eap_reg
323 -- Description: Validate if IGR_I_APPL.enquiry_status maps to system
324 -- status of 'REGISTERED' when inserting a new enquiry.
325 DECLARE
326 v_es_rec VARCHAR2(1);
327 CURSOR c_es IS
328 SELECT 'X'
329 FROM IGR_I_STATUS_V es
330 WHERE es.enquiry_status = p_enquiry_status and
331 es.s_enquiry_status = 'OSS_REGISTERED';
335 RETURN TRUE;
332 BEGIN
333 p_message_name := null;
334 IF p_enquiry_status IS NULL THEN
336 ELSE
337 OPEN c_es;
338 FETCH c_es INTO v_es_rec;
339 IF (c_es%NOTFOUND) THEN
340 CLOSE c_es;
341 --p_message_num := 4392;
342 p_message_name := 'IGS_AD_STATUS_MAP_REGISTERED';
343 RETURN FALSE;
344 END IF;
345 CLOSE c_es;
346 END IF;
347 RETURN TRUE;
348 EXCEPTION
349 WHEN OTHERS THEN
350 IF(c_es%ISOPEN) THEN
351 CLOSE c_es;
352 END IF;
353 END;
354 EXCEPTION
355 WHEN OTHERS THEN
356 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
357 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.admp_val_eap_reg');
358 IGS_GE_MSG_STACK.ADD;
359 END admp_val_eap_reg;
360 --
361 -- Validate the Enquiry application status.
362 FUNCTION admp_val_eap_status(
363 p_person_id IN NUMBER ,
364 p_enquiry_appl_number IN NUMBER ,
365 p_old_enquiry_status IN VARCHAR2 ,
366 p_new_enquiry_status IN VARCHAR2 ,
367 p_message_name OUT NOCOPY VARCHAR2)
368 RETURN BOOLEAN IS
369 BEGIN -- admp_val_eap_status
370 -- Validate IGR_I_APPL.enquiry_status
371 -- * Cannot be set to a system status of COMPLETE if child
372 -- IGR_I_A_PKGITM_V exists with mailed_dt set to NULL
373 -- * Cannot be set to a system status of REGISTERED from a
374 -- system status of ACKNOWLEGE or COMPLETE
375 -- * Cannot be set to a system status of ACKNOWLEGE from a
376 -- system status of COMPLETE
377 DECLARE
378 v_old_status IGR_I_STATUS_V.enquiry_status%TYPE DEFAULT NULL;
379 v_new_status IGR_I_STATUS_V.enquiry_status%TYPE DEFAULT NULL;
380 v_eapmpi_found VARCHAR2(1) DEFAULT NULL;
381 cst_complete CONSTANT VARCHAR2(15) := 'OSS_COMPLETE';
382 cst_acknowlege CONSTANT VARCHAR2(15) := 'OSS_ACKNOWLEGE';
383 cst_registered CONSTANT VARCHAR2(15) := 'OSS_REGISTERED';
384 CURSOR c_es (cp_enquiry_status IGR_I_APPL.enquiry_status%TYPE) IS
385 SELECT es.s_enquiry_status
386 FROM IGR_I_STATUS_V es
387 WHERE es.enquiry_status = cp_enquiry_status;
388 CURSOR c_eapmpi IS
389 SELECT 'x'
390 FROM IGR_I_A_PKGITM_V eapmpi
391 WHERE eapmpi.person_id = p_person_id AND
392 eapmpi.enquiry_appl_number = p_enquiry_appl_number AND
393 eapmpi.mailed_dt IS NULL;
394 BEGIN
395 p_message_name := null;
396 -- Check parameters.
397 IF p_person_id IS NULL OR
398 p_enquiry_appl_number IS NULL OR
399 p_new_enquiry_status IS NULL THEN
400 RETURN TRUE;
401 END IF;
402 -- Get the system staus of the old and new equiry-statuses.
403 IF p_old_enquiry_status IS NOT NULL THEN
404 OPEN c_es(p_old_enquiry_status);
405 FETCH c_es INTO v_old_status;
406 CLOSE c_es;
407 END IF;
408 OPEN c_es(p_new_enquiry_status);
409 FETCH c_es INTO v_new_status;
410 CLOSE c_es;
411 -- Validate that status can only be set to appropriate system status value.
412 IF v_old_status = cst_complete THEN
413 IF v_new_status = cst_acknowlege THEN
414 p_message_name := 'IGS_AD_ST_ACKNOWLEDGE_COMPLET';
415 RETURN FALSE;
416 ELSIF v_new_status = cst_registered THEN
417 p_message_name := 'IGS_AD_ST_REGISTERED_COMPLETE';
418 RETURN FALSE;
419 END IF;
420 ELSIF v_old_status = cst_acknowlege THEN
421 IF v_new_status = cst_registered THEN
422 --p_message_num := 4322;
423 p_message_name := 'IGS_AD_ST_REGISTERED_ACKNOWLE';
424 RETURN FALSE;
425 END IF;
426 END IF;
427 -- Validate that status cannot be set to system status of 'COMPLETE' if child
428 -- IGR_I_A_PKGITM_V records exist where mailed_dt is null
429 IF v_new_status = cst_complete THEN
430 OPEN c_eapmpi;
431 FETCH c_eapmpi INTO v_eapmpi_found;
432 IF c_eapmpi%FOUND THEN
433 CLOSE c_eapmpi;
434 --p_message_num := 4320;
435 p_message_name := 'IGS_AD_ST_COMPLETE';
436 RETURN FALSE;
437 END IF;
438 CLOSE c_eapmpi;
439 END IF;
440 RETURN TRUE;
441 EXCEPTION
442 WHEN OTHERS THEN
443 IF c_es%ISOPEN THEN
444 CLOSE c_es;
445 END IF;
446 IF c_eapmpi%ISOPEN THEN
447 CLOSE c_eapmpi;
448 END IF;
449 RAISE;
450 END;
451 EXCEPTION
452 WHEN OTHERS THEN
453 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
454 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.admp_val_eap_status');
455 IGS_GE_MSG_STACK.ADD;
456 END admp_val_eap_status;
457 --
458 -- Validate the Enquiry completion status.
459 FUNCTION admp_val_eap_comp(
460 p_person_id IN NUMBER ,
461 p_enquiry_appl_number IN NUMBER ,
462 p_message_name OUT NOCOPY VARCHAR2)
463 RETURN BOOLEAN IS
464 BEGIN -- admp_val_eap_comp
465 -- Validate if IGR_I_APPL.enquiiry_status maps to a system status of
466 -- 'COMPLETE'.
467 DECLARE
468 v_eap_complete VARCHAR2(1);
469 CURSOR c_eap IS
470 SELECT 'X'
471 FROM IGR_I_APPL eap
472 WHERE eap.person_id = p_person_id AND
473 eap.enquiry_appl_number = p_enquiry_appl_number AND
474 eap.s_enquiry_status NOT IN ('OSS_REGISTERED','OSS_ACKNOWLEGE');
475 BEGIN
476 p_message_name := null;
477 --Check parameters.
478 IF p_person_id IS NULL OR
479 p_enquiry_appl_number IS NULL THEN
480 RETURN TRUE;
481 END IF;
482 -- Check if status does NOT maps to system status of 'OSS_REGISTERED' or 'OSS_ACKNOWLEGE'.
483 OPEN c_eap;
484 FETCH c_eap INTO v_eap_complete;
485 IF (c_eap%FOUND) THEN
486 CLOSE c_eap;
487 p_message_name := 'IGS_AD_ENQUIRY_COMPLETED';
488 RETURN FALSE;
489 END IF;
490 CLOSE c_eap;
491 RETURN TRUE;
492 END;
493 EXCEPTION
494 WHEN OTHERS THEN
495 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
496 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.admp_val_eap_comp');
497 IGS_GE_MSG_STACK.ADD;
498 END admp_val_eap_comp;
499 --
500 -- Validate the Enquiry Status closed indicator.
501 FUNCTION admp_val_es_status(
502 p_enquiry_status IN VARCHAR2 ,
503 p_message_name OUT NOCOPY VARCHAR2)
504 RETURN BOOLEAN IS
505 BEGIN -- check if the IGS_IN_ENQ_STATUS is closed
506 RETURN TRUE;
507 EXCEPTION
508 WHEN OTHERS THEN
509 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
510 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.admp_val_es_status');
511 IGS_GE_MSG_STACK.ADD;
512 END admp_val_es_status;
513 --
514 -- To validate the indicated mailing date of the enquiry package.
515 FUNCTION admp_val_eap_ind_dt(
516 p_enquiry_dt IN DATE ,
517 p_indicated_mailing_dt IN DATE ,
518 p_message_name OUT NOCOPY VARCHAR2)
519 RETURN BOOLEAN IS
520 gv_other_detail VARCHAR2(255);
521 BEGIN -- Validate that IGR_I_APPL.indicated_mailing_dt
522 -- is greater than the enquiry_dt.
523 DECLARE
524 BEGIN
525 p_message_name := null;
526 -- Validate input parameters
527 IF (p_enquiry_dt IS NULL OR p_indicated_mailing_dt IS NULL) THEN
528 RETURN TRUE;
529 END IF;
530 -- Validate that indicated_mailing_dt is greater than or equal to
531 -- the enquiry date
532 IF (TRUNC(p_indicated_mailing_dt) < TRUNC(p_enquiry_dt)) THEN
533 --p_message_num := 4318;
534 p_message_name := 'IGS_AD_MAILDT_NOTPRIOR_ENQDT';
535 RETURN FALSE;
536 ELSE
537 RETURN TRUE;
538 END IF;
539 END;
540 EXCEPTION
541 WHEN OTHERS THEN
542 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
543 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAP.admp_val_eap_ind_dt');
544 IGS_GE_MSG_STACK.ADD;
545 END admp_val_eap_ind_dt;
546 --
547
548
549 END IGR_VAL_EAP;