DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGR_VAL_EAP

Source


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;