1 PACKAGE BODY IGS_EN_VAL_AUS AS
2 /* $Header: IGSEN25B.pls 120.0 2005/06/01 21:34:56 appldev noship $ */
3
4 --
5 -- Validate AUSG records exist for an administrative _UNIT status
6 FUNCTION enrp_val_aus_ausg(
7 p_aus IN VARCHAR2 ,
8 p_message_name OUT NOCOPY VARCHAR2)
9 RETURN BOOLEAN AS
10
11 BEGIN
12 DECLARE
13 v_count NUMBER;
14 CURSOR c_ausg IS
15 SELECT count(*)
16 FROM IGS_AD_ADM_UT_STA_GD ausg
17 WHERE ausg.administrative_unit_status = p_aus;
18 BEGIN
19 --Validate if administrative IGS_PS_UNIT status grade records exist
20 -- for the administrative IGS_PS_UNIT status.
21 p_message_name := null;
22 OPEN c_ausg;
23 FETCH c_ausg INTO v_count;
24 CLOSE c_ausg;
25 IF v_count > 0 THEN
26 p_message_name := 'IGS_EN_ADMIN_UNITST_GRD_EXIST';
27 RETURN FALSE;
28 END IF;
29 --- Return the default value
30 RETURN TRUE;
31 END;
32 EXCEPTION
33 WHEN OTHERS THEN
34 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
35 FND_MESSAGE.SET_TOKEN('NAME','IGS_EN_VAL_AUS.enrp_val_aus_ausg');
36 IGS_GE_MSG_STACK.ADD;
37 App_Exception.Raise_Exception;
38 END enrp_val_aus_ausg;
39
40 FUNCTION calp_val_ddcv_clash(
41 ------------------------------------------------------------------
42 --Created by : ashok.Pelleti Oracle India
43 --Date created: 3-APR-2001
44 --
45 --Purpose:
46 --
47 --
48 --Known limitations/enhancements and/or remarks:
49 --
50 --Change History:
51 --Who When What
52 -------------------------------------------------------------------
53 p_non_std_disc_dl_stp_id IN NUMBER,
54 p_offset_cons_type_cd IN VARCHAR2 ,
55 p_constraint_condition IN VARCHAR2 ,
56 p_constraint_resolution IN NUMBER ,
57 p_message_name OUT NOCOPY VARCHAR2 )
58 RETURN BOOLEAN AS
59 gv_other_detail VARCHAR2(255);
60 BEGIN -- calp_val_sdoct_clash
61 -- Validate that IGS_EN_DISC_DL_CONS records
62 -- do not result in constraints that cannot be resolved. (eg. MUST BE MONDAY,
63 -- MUST BE WEDNESDAY).
64 -- Note that the primary keys prevent cases such as MUST BE MONDAY, MUST NOT
65 -- BE MONDAY from occurring.
66 -- Refer to S_DT_OFFSET_CONSTRAINT_TYPE table for list of valid constraint
67 -- types.
68 DECLARE
69 v_message_name VARCHAR2(30);
70 CURSOR c_ddcv IS
71 SELECT ddcv.offset_cons_type_cd,
72 ddcv.constraint_condition,
73 ddcv.constraint_resolution
74 FROM IGS_EN_DISC_DL_CONS ddcv
75 WHERE ddcv.offset_cons_type_cd <>p_offset_cons_type_cd AND
76
77 ddcv.non_std_disc_dl_stp_id = p_non_std_disc_dl_stp_id;
78
79 FUNCTION calpl_val_constraint (
80 p_offset_cons_type_cd
81 IGS_EN_DISC_DL_CONS.offset_cons_type_cd%TYPE,
82 p_constraint_condition IGS_EN_DISC_DL_CONS.constraint_condition%TYPE,
83 p_db_offset_cons_type_cd
84 IGS_EN_DISC_DL_CONS.offset_cons_type_cd%TYPE,
85 p_db_constraint_condition IGS_EN_DISC_DL_CONS.constraint_condition%TYPE,
86 p_db_constraint_resolution IGS_EN_DISC_DL_CONS.constraint_resolution%TYPE)
87 RETURN VARCHAR2
88 AS
89 BEGIN
90 DECLARE
91 cst_must CONSTANT VARCHAR2(10) := 'MUST';
92 cst_must_not CONSTANT VARCHAR2(10) := 'MUST NOT';
93 cst_monday CONSTANT VARCHAR2(10) := 'MONDAY';
94 cst_tuesday CONSTANT VARCHAR2(10) := 'TUESDAY';
95 cst_wednesday CONSTANT VARCHAR2(10) := 'WEDNESDAY';
96 cst_thursday CONSTANT VARCHAR2(10) := 'THURSDAY';
97 cst_friday CONSTANT VARCHAR2(10) := 'FRIDAY';
98 cst_saturday CONSTANT VARCHAR2(10) := 'SATURDAY';
99 cst_sunday CONSTANT VARCHAR2(10) := 'SUNDAY';
100 cst_week_day CONSTANT VARCHAR2(10) := 'WEEK DAY';
101 cst_holiday CONSTANT VARCHAR2(10) := 'HOLIDAY';
102 BEGIN
103 -- If both constraint types are particular days of the week, then check that
104 -- the constraint conditions are not both set to 'MUST'. If so, an
105 -- unresolvable situation will occur.
106 IF p_offset_cons_type_cd IN ( cst_monday,
107 cst_tuesday,
108 cst_wednesday,
109 cst_thursday,
110 cst_friday,
111 cst_saturday,
112 cst_sunday) AND
113 p_constraint_condition = cst_must AND
114 p_db_offset_cons_type_cd IN ( cst_monday,
115 cst_tuesday,
116 cst_wednesday,
117 cst_thursday,
118 cst_friday,
119 cst_saturday,
120 cst_sunday) AND
121 p_db_constraint_condition = cst_must THEN
122 RETURN 'IGS_CA_CONSTRAINTS_CONFLICT';
123 END IF;
124 -- If both constraint types are particular days of the week and both
125 -- constraint conditions are set to 'MUST NOT', check that the resolution
126 -- values will allow the constraint to be resolved.
127 -- eg. MUST NOT BE MONDAY (+4) combined with MUST NOT BE FRIDAY (+3),
128 -- will result in an unsolvable situation.
129 IF p_offset_cons_type_cd IN ( cst_monday,
130 cst_tuesday,
131 cst_wednesday,
132 cst_thursday,
133 cst_friday,
134 cst_saturday,
135 cst_sunday) AND
136 p_constraint_condition = cst_must_not AND
137 p_db_offset_cons_type_cd IN ( cst_monday,
138 cst_tuesday,
139 cst_wednesday,
140 cst_thursday,
141 cst_friday,
142 cst_saturday,
143 cst_sunday) AND
144 p_db_constraint_condition = cst_must_not THEN
145 IF (p_constraint_resolution +
146 p_db_constraint_resolution) IN (7, -7, 0) THEN
147 RETURN 'IGS_CA_MUSTNOT_CONST_UNRSLVD';
148 END IF;
149 END IF;
150 -- If current constraint type is a weekend day and the constraint type of
151 -- the fetched record is 'WEEK DAY', check that the constraint conditions
152 -- are different. Vice-versa.
153 IF (( p_offset_cons_type_cd IN ( cst_saturday,
154 cst_sunday) AND
155 p_db_offset_cons_type_cd = cst_week_day
156 )
157 OR -- vice-versa
158 ( p_offset_cons_type_cd = cst_week_day AND
159 p_db_offset_cons_type_cd IN ( cst_saturday,
160 cst_sunday)
161 )
162 ) THEN
163 IF p_constraint_condition = cst_must AND
164 p_db_constraint_condition = cst_must THEN
165 RETURN 'IGS_CA_CONSTRAINTS_CONFLICT';
166 END IF;
167 END IF;
168 -- If current constraint type is a week day and the constraint type of the
169 -- fetched record is 'WEEK DAY', check that the constraint conditions are
170 -- not different. Vice-versa
171 IF (( p_offset_cons_type_cd IN ( cst_monday,
172 cst_tuesday,
173 cst_wednesday,
174 cst_thursday,
175 cst_friday) AND
176 p_db_offset_cons_type_cd = cst_week_day AND
177 p_constraint_condition = 'MUST' AND
178 p_db_constraint_condition = 'MUST NOT'
179 )
180 OR -- vice-versa
181 ( p_offset_cons_type_cd = cst_week_day AND
182 p_db_offset_cons_type_cd IN ( cst_monday,
183 cst_tuesday,
184 cst_wednesday,
185 cst_thursday,
186 cst_friday) AND
187 p_constraint_condition = 'MUST NOT' AND
188 p_db_constraint_condition = 'MUST'
189 )) THEN
190 RETURN 'IGS_CA_CONSTRAINTS_CONFLICT';
191 END IF;
192 -- If current constraint type is 'HOLIDAY'and the constraint type of the
193 -- fetched record is 'SATURDAY' or 'SUNDAY', check that the conditions
194 -- do not clash.
195 -- Note : This check does not cause the function to return FALSE. Processing
196 -- continues and if no further checks cause an error, the function will
197 -- return TRUE and the message number will be recognised as a warning.
198 IF (( p_offset_cons_type_cd = cst_holiday AND
199 p_db_offset_cons_type_cd IN ( cst_saturday,
200 cst_sunday)
201 )
202 OR -- vice-versa
203 ( p_offset_cons_type_cd IN ( cst_saturday,
204 cst_sunday) AND
205 p_db_offset_cons_type_cd = cst_holiday
206 )
207 ) AND
208 p_constraint_condition = cst_must AND
209 p_db_constraint_condition = cst_must THEN
210 RETURN 'IGS_CA_INVALID_CONSTRAINT';
211 END IF;
212 IF p_offset_cons_type_cd = cst_holiday AND
213 p_db_offset_cons_type_cd = cst_week_day AND
214 p_constraint_condition = cst_must AND
215 p_db_constraint_condition = cst_must_not THEN
216 RETURN 'IGS_CA_INVALID_CONSTRAINT';
217 END IF;
218 -- Vice-versa
219 IF p_offset_cons_type_cd = cst_week_day AND
220 p_db_offset_cons_type_cd = cst_holiday AND
221 p_constraint_condition = cst_must_not AND
222 p_db_constraint_condition = cst_must THEN
223 RETURN 'IGS_CA_INVALID_CONSTRAINT';
224 END IF;
225 RETURN null;
226 END;
227 END calpl_val_constraint;
228 BEGIN
229 -- Set default value.
230 p_message_name := NULL;
231 v_message_name := NULL;
232 -- 1. Check parameters
233 IF ( p_non_std_disc_dl_stp_id IS NULL OR
234 p_offset_cons_type_cd IS NULL OR
235 p_constraint_condition IS NULL OR
236 p_constraint_resolution IS NULL) THEN
237 RETURN TRUE;
238 END IF;
239 -- 2. Check constraint type / constraint resolution.
240 -- If constraint resolution is zero, resolution will be impossible.
241 IF p_constraint_resolution = 0 THEN
242 p_message_name := 'IGS_GE_INVALID_VALUE';
243 RETURN FALSE;
244 END IF;
245 -- If constraint type is a particular day, check that the resolution is not
246 -- plus or minus 7, as this will result in an unresolvable situation.
247 IF p_offset_cons_type_cd IN ( 'MONDAY',
248 'TUESDAY',
249 'WEDNESDAY',
250 'THURSDAY',
251 'FRIDAY',
252 'SATURDAY',
253 'SUNDAY',
254 'WEEK DAY') AND
255 p_constraint_resolution IN (7, -7, 0) THEN
256 p_message_name := 'IGS_CA_CONSTRAINT_NOT_RESOLVE';
257 RETURN FALSE;
258 END IF;
259 -- 3. Use a loop to select each existing constraint record and determine if
260 -- the current s_dt_offset_constraint_type clashes with an existing
261 -- s_dt_offset_constraint_type for the same dt_alias/offset_dt_alias.
262 -- function has been called from IGS_CA_DA_OFFCNT
263 FOR v_ddcv_rec IN c_ddcv LOOP
264 v_message_name := calpl_val_constraint(
265 p_offset_cons_type_cd,
266 p_constraint_condition,
267 v_ddcv_rec.offset_cons_type_cd,
268 v_ddcv_rec.constraint_condition,
269 v_ddcv_rec.constraint_resolution);
270
271 IF v_message_name IN ('IGS_CA_CONSTRAINTS_CONFLICT','IGS_CA_CONSTRAINT_NOT_RESOLVE','IGS_CA_MUSTNOT_CONST_UNRSLVD') THEN
272 p_message_name := v_message_name;
273 EXIT;
274 ELSIF v_message_name = 'IGS_CA_INVALID_CONSTRAINT' THEN
275 p_message_name := v_message_name;
276 -- continue check next record.
277 ELSE
278 -- continue check next record.
279 NULL;
280 END IF;
281 END LOOP;
282
283
284 IF v_message_name IS NULL OR
285 v_message_name = 'IGS_CA_INVALID_CONSTRAINT' THEN
286 RETURN TRUE;
287 ELSE
288 RETURN FALSE;
289 END IF;
290 END;
291 END calp_val_ddcv_clash;
292
293
294 FUNCTION calp_val_doscv_clash(
295 ------------------------------------------------------------------
296 --Created by : nishikanth.behera Oracle India
297 --Date created: 5-APR-2001
298 --
299 --Purpose:
300 --
301 --
302 --Known limitations/enhancements and/or remarks:
303 --
304 --Change History:
305 --Who When What
306 --smvk 14-Sep-2004 Bug # 3888835. Added parameter p_deadline_type.
307 -------------------------------------------------------------------
308
309 p_non_std_usec_dls_id IN NUMBER,
310 p_offset_cons_type_cd IN VARCHAR2 ,
311 p_constraint_condition IN VARCHAR2 ,
312 p_constraint_resolution IN NUMBER ,
313 p_deadline_type IN VARCHAR2,
314 p_message_name OUT NOCOPY VARCHAR2 )
315 RETURN BOOLEAN AS
316 gv_other_detail VARCHAR2(255);
317 BEGIN -- calp_val_sdoct_clash
318 -- Validate that IGS_EN_DL_OFFSET_CONS records
319 -- do not result in constraints that cannot be resolved. (eg. MUST BE MONDAY,
320 -- MUST BE WEDNESDAY).
321 -- Note that the primary keys prevent cases such as MUST BE MONDAY, MUST NOT
322 -- BE MONDAY from occurring.
323 -- Refer to S_DT_OFFSET_CONSTRAINT_TYPE table for list of valid constraint
324 -- types.
325 DECLARE
326 v_message_name VARCHAR2(30);
327 CURSOR c_doscv(cp_c_offset_cons_type_cd in varchar2,
328 cp_n_non_std_usec_dls_id in number,
329 cp_c_deadline_type in varchar2)IS
330 SELECT doscv.offset_cons_type_cd,
331 doscv.constraint_condition,
332 doscv.constraint_resolution
333 FROM IGS_EN_DL_OFFSET_CONS doscv
334 WHERE doscv.offset_cons_type_cd <> cp_c_offset_cons_type_cd AND
335 doscv.non_std_usec_dls_id = cp_n_non_std_usec_dls_id AND
336 doscv.deadline_type = cp_c_deadline_type;
337
338 FUNCTION calpl_val_constraint (
339 p_offset_cons_type_cd
340 IGS_EN_DL_OFFSET_CONS.offset_cons_type_cd%TYPE,
341 p_constraint_condition IGS_EN_DL_OFFSET_CONS.constraint_condition%TYPE,
342 p_db_offset_cons_type_cd
343 IGS_EN_DL_OFFSET_CONS.offset_cons_type_cd%TYPE,
344 p_db_constraint_condition IGS_EN_DL_OFFSET_CONS.constraint_condition%TYPE,
345 p_db_constraint_resolution IGS_EN_DL_OFFSET_CONS.constraint_resolution%TYPE)
346 RETURN VARCHAR2
347 AS
348 BEGIN
349 DECLARE
350 cst_must CONSTANT VARCHAR2(10) := 'MUST';
351 cst_must_not CONSTANT VARCHAR2(10) := 'MUST NOT';
352 cst_monday CONSTANT VARCHAR2(10) := 'MONDAY';
353 cst_tuesday CONSTANT VARCHAR2(10) := 'TUESDAY';
354 cst_wednesday CONSTANT VARCHAR2(10) := 'WEDNESDAY';
355 cst_thursday CONSTANT VARCHAR2(10) := 'THURSDAY';
356 cst_friday CONSTANT VARCHAR2(10) := 'FRIDAY';
357 cst_saturday CONSTANT VARCHAR2(10) := 'SATURDAY';
358 cst_sunday CONSTANT VARCHAR2(10) := 'SUNDAY';
359 cst_week_day CONSTANT VARCHAR2(10) := 'WEEK DAY';
360 cst_holiday CONSTANT VARCHAR2(10) := 'HOLIDAY';
361 BEGIN
362 -- If both constraint types are particular days of the week, then check that
363 -- the constraint conditions are not both set to 'MUST'. If so, an
364 -- unresolvable situation will occur.
365 IF p_offset_cons_type_cd IN ( cst_monday,
366 cst_tuesday,
367 cst_wednesday,
368 cst_thursday,
369 cst_friday,
370 cst_saturday,
371 cst_sunday) AND
372 p_constraint_condition = cst_must AND
373 p_db_offset_cons_type_cd IN ( cst_monday,
374 cst_tuesday,
375 cst_wednesday,
376 cst_thursday,
377 cst_friday,
378 cst_saturday,
379 cst_sunday) AND
380 p_db_constraint_condition = cst_must THEN
381 RETURN 'IGS_CA_CONSTRAINTS_CONFLICT';
382 END IF;
383 -- If both constraint types are particular days of the week and both
384 -- constraint conditions are set to 'MUST NOT', check that the resolution
385 -- values will allow the constraint to be resolved.
386 -- eg. MUST NOT BE MONDAY (+4) combined with MUST NOT BE FRIDAY (+3),
387 -- will result in an unsolvable situation.
388 IF p_offset_cons_type_cd IN ( cst_monday,
389 cst_tuesday,
390 cst_wednesday,
391 cst_thursday,
395 p_constraint_condition = cst_must_not AND
392 cst_friday,
393 cst_saturday,
394 cst_sunday) AND
396 p_db_offset_cons_type_cd IN ( cst_monday,
397 cst_tuesday,
398 cst_wednesday,
399 cst_thursday,
400 cst_friday,
401 cst_saturday,
402 cst_sunday) AND
403 p_db_constraint_condition = cst_must_not THEN
404 IF (p_constraint_resolution +
405 p_db_constraint_resolution) IN (7, -7, 0) THEN
406 RETURN 'IGS_CA_MUSTNOT_CONST_UNRSLVD';
407 END IF;
408 END IF;
409 -- If current constraint type is a weekend day and the constraint type of
410 -- the fetched record is 'WEEK DAY', check that the constraint conditions
411 -- are different. Vice-versa.
412 IF (( p_offset_cons_type_cd IN ( cst_saturday,
413 cst_sunday) AND
414 p_db_offset_cons_type_cd = cst_week_day
415 )
416 OR -- vice-versa
417 ( p_offset_cons_type_cd = cst_week_day AND
418 p_db_offset_cons_type_cd IN ( cst_saturday,
419 cst_sunday)
420 )
421 ) THEN
422 IF p_constraint_condition = cst_must AND
423 p_db_constraint_condition = cst_must THEN
424 RETURN 'IGS_CA_CONSTRAINTS_CONFLICT';
425 END IF;
426 END IF;
427 -- If current constraint type is a week day and the constraint type of the
428 -- fetched record is 'WEEK DAY', check that the constraint conditions are
429 -- not different. Vice-versa
430 IF (( p_offset_cons_type_cd IN ( cst_monday,
431 cst_tuesday,
432 cst_wednesday,
433 cst_thursday,
434 cst_friday) AND
435 p_db_offset_cons_type_cd = cst_week_day AND
436 p_constraint_condition = 'MUST' AND
437 p_db_constraint_condition = 'MUST NOT'
438 )
439 OR -- vice-versa
440 ( p_offset_cons_type_cd = cst_week_day AND
441 p_db_offset_cons_type_cd IN ( cst_monday,
442 cst_tuesday,
443 cst_wednesday,
444 cst_thursday,
445 cst_friday) AND
446 p_constraint_condition = 'MUST NOT' AND
447 p_db_constraint_condition = 'MUST'
448 )) THEN
449 RETURN 'IGS_CA_CONSTRAINTS_CONFLICT';
450 END IF;
451 -- If current constraint type is 'HOLIDAY'and the constraint type of the
452 -- fetched record is 'SATURDAY' or 'SUNDAY', check that the conditions
453 -- do not clash.
454 -- Note : This check does not cause the function to return FALSE. Processing
455 -- continues and if no further checks cause an error, the function will
456 -- return TRUE and the message number will be recognised as a warning.
457 IF (( p_offset_cons_type_cd = cst_holiday AND
458 p_db_offset_cons_type_cd IN ( cst_saturday,
459 cst_sunday)
460 )
461 OR -- vice-versa
462 ( p_offset_cons_type_cd IN ( cst_saturday,
463 cst_sunday) AND
464 p_db_offset_cons_type_cd = cst_holiday
465 )
466 ) AND
467 p_constraint_condition = cst_must AND
468 p_db_constraint_condition = cst_must THEN
469 RETURN 'IGS_CA_INVALID_CONSTRAINT';
470 END IF;
471 IF p_offset_cons_type_cd = cst_holiday AND
472 p_db_offset_cons_type_cd = cst_week_day AND
473 p_constraint_condition = cst_must AND
474 p_db_constraint_condition = cst_must_not THEN
475 RETURN 'IGS_CA_INVALID_CONSTRAINT';
476 END IF;
477 -- Vice-versa
478 IF p_offset_cons_type_cd = cst_week_day AND
479 p_db_offset_cons_type_cd = cst_holiday AND
480 p_constraint_condition = cst_must_not AND
481 p_db_constraint_condition = cst_must THEN
482 RETURN 'IGS_CA_INVALID_CONSTRAINT';
483 END IF;
484 RETURN null;
485 END;
486 END calpl_val_constraint;
487 BEGIN
488 -- Set default value.
489 p_message_name := NULL;
490 v_message_name := NULL;
491 -- 1. Check parameters
492 IF ( p_non_std_usec_dls_id IS NULL OR
493 p_offset_cons_type_cd IS NULL OR
494 p_constraint_condition IS NULL OR
495 p_constraint_resolution IS NULL) THEN
496 RETURN TRUE;
497 END IF;
498 -- 2. Check constraint type / constraint resolution.
499 -- If constraint resolution is zero, resolution will be impossible.
500 IF p_constraint_resolution = 0 THEN
501 p_message_name := 'IGS_GE_INVALID_VALUE';
502 RETURN FALSE;
503 END IF;
504 -- If constraint type is a particular day, check that the resolution is not
505 -- plus or minus 7, as this will result in an unresolvable situation.
506 IF p_offset_cons_type_cd IN ( 'MONDAY',
507 'TUESDAY',
508 'WEDNESDAY',
509 'THURSDAY',
510 'FRIDAY',
511 'SATURDAY',
512 'SUNDAY',
513 'WEEK DAY') AND
514 p_constraint_resolution IN (7, -7, 0) THEN
515 p_message_name := 'IGS_CA_CONSTRAINT_NOT_RESOLVE';
516 RETURN FALSE;
517 END IF;
518 -- 3. Use a loop to select each existing constraint record and determine if
519 -- the current s_dt_offset_constraint_type clashes with an existing
520 -- s_dt_offset_constraint_type
521 -- function has been called from IGS_CA_DA_OFFCNT
522 FOR v_doscv_rec IN c_doscv(p_offset_cons_type_cd,
523 p_non_std_usec_dls_id,
524 p_deadline_type) LOOP
525 v_message_name := calpl_val_constraint(
526 p_offset_cons_type_cd,
527 p_constraint_condition,
528 v_doscv_rec.offset_cons_type_cd,
529 v_doscv_rec.constraint_condition,
530 v_doscv_rec.constraint_resolution);
531
532 IF v_message_name IN ('IGS_CA_CONSTRAINTS_CONFLICT','IGS_CA_CONSTRAINT_NOT_RESOLVE','IGS_CA_MUSTNOT_CONST_UNRSLVD') THEN
533 p_message_name := v_message_name;
534 EXIT;
535 ELSIF v_message_name = 'IGS_CA_INVALID_CONSTRAINT' THEN
536 p_message_name := v_message_name;
537 -- continue check next record.
538 ELSE
539 -- continue check next record.
540 NULL;
541 END IF;
542 END LOOP;
543
544
545 IF v_message_name IS NULL OR
546 v_message_name = 'IGS_CA_INVALID_CONSTRAINT' THEN
547 RETURN TRUE;
548 ELSE
549 RETURN FALSE;
550 END IF;
551 END;
552 END calp_val_doscv_clash;
553 --
554
555 END IGS_EN_VAL_AUS;