[Home] [Help]
PACKAGE BODY: APPS.IGS_AD_SS_APPL_PGS_PKG
Source
1 PACKAGE BODY igs_ad_ss_appl_pgs_pkg AS
2 /* $Header: IGSAIF9B.pls 120.2 2005/08/01 05:47:44 appldev ship $ */
3
4 PROCEDURE reset_checklist_data(p_admission_application_type IN igs_ad_ss_appl_pgs.admission_application_type%TYPE);
5
6 l_rowid VARCHAR2(25);
7 old_references igs_ad_ss_appl_pgs%ROWTYPE;
8 new_references igs_ad_ss_appl_pgs%ROWTYPE;
9
10 PROCEDURE set_column_values (
11 p_action IN VARCHAR2,
12 x_rowid IN VARCHAR2 DEFAULT NULL,
13 x_page_name IN VARCHAR2 DEFAULT NULL,
14 x_admission_application_type IN VARCHAR2 DEFAULT NULL,
15 x_include_ind IN VARCHAR2 DEFAULT NULL,
16 x_required_ind IN VARCHAR2 DEFAULT NULL,
17 x_creation_date IN DATE DEFAULT NULL,
18 x_created_by IN NUMBER DEFAULT NULL,
19 x_last_update_date IN DATE DEFAULT NULL,
20 x_last_updated_by IN NUMBER DEFAULT NULL,
21 x_last_update_login IN NUMBER DEFAULT NULL,
22 x_disp_order IN NUMBER DEFAULT NULL,
23 x_page_disp_name IN VARCHAR2 DEFAULT NULL
24 ) AS
25 /*
26 || Created By : [email protected]
27 || Created On : 10-DEC-2001
28 || Purpose : Initialises the Old and New references for the columns of the table.
29 || Known limitations, enhancements or remarks :
30 || Change History :
31 || Who When What
32 || (reverse chronological order - newest change first)
33 */
34
35 CURSOR cur_old_ref_values IS
36 SELECT *
37 FROM igs_ad_ss_appl_pgs
38 WHERE rowid = x_rowid;
39
40 BEGIN
41
42 l_rowid := x_rowid;
43
44 -- Code for setting the Old and New Reference Values.
45 -- Populate Old Values.
46 OPEN cur_old_ref_values;
47 FETCH cur_old_ref_values INTO old_references;
48 IF ((cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT'))) THEN
49 CLOSE cur_old_ref_values;
50 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
51 igs_ge_msg_stack.add;
52 app_exception.raise_exception;
53 RETURN;
54 END IF;
55 CLOSE cur_old_ref_values;
56
57 -- Populate New Values.
58 new_references.page_name := x_page_name;
59 new_references.admission_application_type := x_admission_application_type;
60 new_references.include_ind := x_include_ind;
61 new_references.required_ind := x_required_ind;
62 new_references.disp_order := x_disp_order;
63 new_references.page_disp_name := x_page_disp_name;
64
65
66 IF (p_action = 'UPDATE') THEN
67 new_references.creation_date := old_references.creation_date;
68 new_references.created_by := old_references.created_by;
69 ELSE
70 new_references.creation_date := x_creation_date;
71 new_references.created_by := x_created_by;
72 END IF;
73
74 new_references.last_update_date := x_last_update_date;
75 new_references.last_updated_by := x_last_updated_by;
76 new_references.last_update_login := x_last_update_login;
77
78 END set_column_values;
79
80 PROCEDURE check_parent_existance AS
81 /*
82 || Created By : [email protected]
83 || Created On : 10-DEC-2001
84 || Purpose : Checks for the existance of Parent records.
85 || Known limitations, enhancements or remarks :
86 || Change History :
87 || Who When What
88 || (reverse chronological order - newest change first)
89 */
90 BEGIN
91
92 IF (((old_references.admission_application_type = new_references.admission_application_type)) OR
93 ((new_references.admission_application_type IS NULL))) THEN
94 NULL;
95 ELSIF NOT igs_ad_ss_appl_typ_pkg.get_pk_for_validation (
96 new_references.admission_application_type ,
97 'N'
98 ) THEN
99 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
100 igs_ge_msg_stack.add;
101 app_exception.raise_exception;
102 END IF;
103
104 END check_parent_existance;
105
106
107 FUNCTION get_pk_for_validation (
108 x_page_name IN VARCHAR2,
109 x_admission_application_type IN VARCHAR2
110 ) RETURN BOOLEAN AS
111 /*
112 || Created By : [email protected]
113 || Created On : 10-DEC-2001
114 || Purpose : Validates the Primary Key of the table.
115 || Known limitations, enhancements or remarks :
116 || Change History :
117 || Who When What
118 || (reverse chronological order - newest change first)
119 */
120 CURSOR cur_rowid IS
121 SELECT rowid
122 FROM igs_ad_ss_appl_pgs
123 WHERE page_name = x_page_name
124 AND admission_application_type = x_admission_application_type
125 FOR UPDATE NOWAIT;
126
127 lv_rowid cur_rowid%RowType;
128
129 BEGIN
130
131 OPEN cur_rowid;
132 FETCH cur_rowid INTO lv_rowid;
133 IF (cur_rowid%FOUND) THEN
134 CLOSE cur_rowid;
135 RETURN(TRUE);
136 ELSE
137 CLOSE cur_rowid;
138 RETURN(FALSE);
139 END IF;
140
141 END get_pk_for_validation;
142
143
144
145
146 PROCEDURE Check_Constraints (
147 Column_Name IN VARCHAR2 DEFAULT NULL,
148 Column_Value IN VARCHAR2 DEFAULT NULL
149 )
150 AS
151 BEGIN
152 IF column_name is null then
153 NULL;
154 ELSIF upper(Column_name) = 'INCLUDE_IND' then
155 new_references.include_ind := column_value;
156 END IF;
157
158 IF upper(column_name) = 'INCLUDE_IND' OR
159 column_name is null Then
160 IF NOT (new_references.include_ind IN ('Y','N')) THEN
161 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
162 IGS_GE_MSG_STACK.ADD;
163 App_Exception.Raise_Exception;
164 END IF;
165 END IF;
166
167 END Check_Constraints;
168
169
170 PROCEDURE get_fk_igs_ad_ss_appl_typ (
171 x_admission_appl_type IN VARCHAR2
172 ) AS
173 /*
174 || Created By : [email protected]
175 || Created On : 10-DEC-2001
176 || Purpose : Validates the Foreign Keys for the table.
177 || Known limitations, enhancements or remarks :
178 || Change History :
179 || Who When What
180 || (reverse chronological order - newest change first)
181 */
182 CURSOR cur_rowid IS
183 SELECT rowid
184 FROM igs_ad_ss_appl_pgs
185 WHERE ((admission_application_type = x_admission_appl_type));
186
187 lv_rowid cur_rowid%RowType;
188
189 BEGIN
190
191 OPEN cur_rowid;
192 FETCH cur_rowid INTO lv_rowid;
193 IF (cur_rowid%FOUND) THEN
194 CLOSE cur_rowid;
195 fnd_message.set_name ('IGS', 'IGS_AD_SSAT_SSPG_FK');
196 igs_ge_msg_stack.add;
197 app_exception.raise_exception;
198 RETURN;
199 END IF;
200 CLOSE cur_rowid;
201
202 END get_fk_igs_ad_ss_appl_typ;
203
204
205 PROCEDURE before_dml (
206 p_action IN VARCHAR2,
207 x_rowid IN VARCHAR2 DEFAULT NULL,
208 x_page_name IN VARCHAR2 DEFAULT NULL,
209 x_admission_application_type IN VARCHAR2 DEFAULT NULL,
210 x_include_ind IN VARCHAR2 DEFAULT NULL,
211 x_required_ind IN VARCHAR2 DEFAULT NULL,
212 x_creation_date IN DATE DEFAULT NULL,
213 x_created_by IN NUMBER DEFAULT NULL,
214 x_last_update_date IN DATE DEFAULT NULL,
215 x_last_updated_by IN NUMBER DEFAULT NULL,
216 x_last_update_login IN NUMBER DEFAULT NULL,
217 x_disp_order IN NUMBER DEFAULT NULL,
218 x_page_disp_name IN VARCHAR2 DEFAULT NULL
219 ) AS
220 /*
221 || Created By : [email protected]
222 || Created On : 10-DEC-2001
223 || Purpose : Initialises the columns, Checks Constraints, Calls the
224 || Trigger Handlers for the table, before any DML operation.
225 || Known limitations, enhancements or remarks :
226 || Change History :
227 || Who When What
228 || (reverse chronological order - newest change first)
229 */
230 BEGIN
231
232 set_column_values (
233 p_action,
234 x_rowid,
235 x_page_name,
236 x_admission_application_type,
237 x_include_ind,
238 x_required_ind,
239 x_creation_date,
240 x_created_by,
241 x_last_update_date,
242 x_last_updated_by,
243 x_last_update_login,
244 x_disp_order,
245 x_page_disp_name
246 );
247
248 IF (p_action = 'INSERT') THEN
249 -- Call all the procedures related to Before Insert.
250 IF ( get_pk_for_validation(
251 new_references.page_name,
252 new_references.admission_application_type
253 )
254 ) THEN
255 fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
256 igs_ge_msg_stack.add;
257 app_exception.raise_exception;
258 END IF;
259 ELSIF (p_action = 'VALIDATE_INSERT') THEN
260 -- Call all the procedures related to Before Insert.
261 IF ( get_pk_for_validation (
262 new_references.page_name,
263 new_references.admission_application_type
264 )
265 ) THEN
266 fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
267 igs_ge_msg_stack.add;
268 app_exception.raise_exception;
269 END IF;
270 END IF;
271
272 END before_dml;
273
274 PROCEDURE After_DML (
275 p_action IN VARCHAR2,
276 x_rowid IN VARCHAR2
277 ) AS
278 BEGIN
279
280 l_rowid := x_rowid;
281 IF (p_action = 'UPDATE') THEN
282 reset_checklist_data(p_admission_application_type=>new_references.admission_application_type);
283 END IF;
284
285 END After_DML;
286
287 PROCEDURE insert_row (
288 x_rowid IN OUT NOCOPY VARCHAR2,
289 x_page_name IN VARCHAR2,
290 x_admission_application_type IN VARCHAR2,
291 x_include_ind IN VARCHAR2,
292 x_mode IN VARCHAR2 DEFAULT 'R' ,
293 x_required_ind IN VARCHAR2,
294 x_disp_order IN NUMBER,
295 x_page_disp_name IN VARCHAR2
296 ) AS
297 /*
298 || Created By : [email protected]
299 || Created On : 10-DEC-2001
300 || Purpose : Handles the INSERT DML logic for the table.
301 || Known limitations, enhancements or remarks :
302 || Change History :
303 || Who When What
304 || (reverse chronological order - newest change first)
305 */
306 CURSOR c IS
307 SELECT rowid
308 FROM igs_ad_ss_appl_pgs
309 WHERE page_name = x_page_name
310 AND admission_application_type = x_admission_application_type;
311
312 x_last_update_date DATE;
313 x_last_updated_by NUMBER;
314 x_last_update_login NUMBER;
315
316 BEGIN
317
318 x_last_update_date := SYSDATE;
319 IF (x_mode = 'I') THEN
320 x_last_updated_by := 1;
321 x_last_update_login := 0;
322 ELSIF (x_mode = 'R') THEN
323 x_last_updated_by := fnd_global.user_id;
324 IF (x_last_updated_by IS NULL) THEN
325 x_last_updated_by := -1;
326 END IF;
327 x_last_update_login := fnd_global.login_id;
328 IF (x_last_update_login IS NULL) THEN
329 x_last_update_login := -1;
330 END IF;
331 ELSE
332 fnd_message.set_name ('FND', 'SYSTEM-INVALID ARGS');
333 igs_ge_msg_stack.add;
334 app_exception.raise_exception;
335 END IF;
336
337 before_dml(
338 p_action => 'INSERT',
339 x_rowid => x_rowid,
340 x_page_name => x_page_name,
341 x_admission_application_type => x_admission_application_type,
342 x_include_ind => x_include_ind,
343 x_required_ind => x_required_ind,
344 x_creation_date => x_last_update_date,
345 x_created_by => x_last_updated_by,
346 x_last_update_date => x_last_update_date,
347 x_last_updated_by => x_last_updated_by,
348 x_last_update_login => x_last_update_login,
349 x_disp_order => x_disp_order,
350 x_page_disp_name => x_page_disp_name
351 );
352
353 INSERT INTO igs_ad_ss_appl_pgs (
354 page_name,
355 admission_application_type,
356 include_ind,
357 required_ind,
358 creation_date,
359 created_by,
360 last_update_date,
361 last_updated_by,
362 last_update_login,
363 disp_order,
364 page_disp_name
365 ) VALUES (
366 new_references.page_name,
367 new_references.admission_application_type,
368 new_references.include_ind,
369 new_references.required_ind,
370 x_last_update_date,
371 x_last_updated_by,
372 x_last_update_date,
373 x_last_updated_by,
374 x_last_update_login,
375 x_disp_order,
376 x_page_disp_name
377 );
378
379 OPEN c;
380 FETCH c INTO x_rowid;
381 IF (c%NOTFOUND) THEN
382 CLOSE c;
383 RAISE NO_DATA_FOUND;
384 END IF;
385 CLOSE c;
386
387 END insert_row;
388
389
390 PROCEDURE lock_row (
391 x_rowid IN VARCHAR2,
392 x_page_name IN VARCHAR2,
393 x_admission_application_type IN VARCHAR2,
394 x_include_ind IN VARCHAR2,
395 x_required_ind IN VARCHAR2,
396 x_disp_order IN NUMBER DEFAULT NULL,
397 x_page_disp_name IN VARCHAR2 DEFAULT NULL
398 ) AS
399 /*
400 || Created By : [email protected]
401 || Created On : 10-DEC-2001
402 || Purpose : Handles the LOCK mechanism for the table.
403 || Known limitations, enhancements or remarks :
404 || Change History :
405 || Who When What
406 || (reverse chronological order - newest change first)
407 */
408 CURSOR c1 IS
409 SELECT
410 include_ind,
411 page_disp_name
412 FROM igs_ad_ss_appl_pgs
413 WHERE rowid = x_rowid
414 FOR UPDATE NOWAIT;
415
416 tlinfo c1%ROWTYPE;
417
418 BEGIN
419
420 OPEN c1;
421 FETCH c1 INTO tlinfo;
422 IF (c1%notfound) THEN
423 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
424 igs_ge_msg_stack.add;
425 CLOSE c1;
426 app_exception.raise_exception;
427 RETURN;
428 END IF;
429 CLOSE c1;
430
431 IF (
432 ((tlinfo.include_ind = x_include_ind) OR ((tlinfo.include_ind IS NULL) AND (x_include_ind IS NULL)))
433 AND ((tlinfo.page_disp_name = x_page_disp_name) OR ((tlinfo.page_disp_name IS NULL) AND (x_page_disp_name IS NULL)))
434 ) THEN
435 NULL;
436 ELSE
437 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
438 igs_ge_msg_stack.add;
439 app_exception.raise_exception;
440 END IF;
441
442 RETURN;
443
444 END lock_row;
445
446
447 PROCEDURE update_row (
448 x_rowid IN VARCHAR2,
449 x_page_name IN VARCHAR2,
450 x_admission_application_type IN VARCHAR2,
451 x_include_ind IN VARCHAR2,
452 x_mode IN VARCHAR2 DEFAULT 'R' ,
453 x_required_ind IN VARCHAR2,
454 x_disp_order IN NUMBER,
455 x_page_disp_name IN VARCHAR2
456 ) AS
457 /*
458 || Created By : [email protected]
459 || Created On : 10-DEC-2001
460 || Purpose : Handles the UPDATE DML logic for the table.
461 || Known limitations, enhancements or remarks :
462 || Change History :
463 || Who When What
464 || (reverse chronological order - newest change first)
465 */
466 x_last_update_date DATE ;
467 x_last_updated_by NUMBER;
468 x_last_update_login NUMBER;
469
470 BEGIN
471
472 x_last_update_date := SYSDATE;
473 IF (X_MODE = 'I') THEN
474 x_last_updated_by := 1;
475 x_last_update_login := 0;
476 ELSIF (x_mode = 'R') THEN
477 x_last_updated_by := fnd_global.user_id;
478 IF x_last_updated_by IS NULL THEN
479 x_last_updated_by := -1;
480 END IF;
481 x_last_update_login := fnd_global.login_id;
482 IF (x_last_update_login IS NULL) THEN
483 x_last_update_login := -1;
484 END IF;
485 ELSE
486 fnd_message.set_name( 'FND', 'SYSTEM-INVALID ARGS');
487 igs_ge_msg_stack.add;
488 app_exception.raise_exception;
489 END IF;
490
491 before_dml(
492 p_action => 'UPDATE',
493 x_rowid => x_rowid,
494 x_page_name => x_page_name,
495 x_admission_application_type => x_admission_application_type,
496 x_include_ind => x_include_ind,
497 x_required_ind => x_required_ind,
498 x_creation_date => x_last_update_date,
499 x_created_by => x_last_updated_by,
500 x_last_update_date => x_last_update_date,
501 x_last_updated_by => x_last_updated_by,
502 x_last_update_login => x_last_update_login,
503 x_disp_order => x_disp_order,
504 x_page_disp_name => x_page_disp_name
505 );
506
507 UPDATE igs_ad_ss_appl_pgs
508 SET
509 include_ind = new_references.include_ind,
510 required_ind = new_references.required_ind,
511 last_update_date = x_last_update_date,
512 last_updated_by = x_last_updated_by,
513 last_update_login = x_last_update_login,
514 disp_order = new_references.disp_order,
515 page_disp_name = new_references.page_disp_name
516 WHERE rowid = x_rowid;
517
518 IF (SQL%NOTFOUND) THEN
519 RAISE NO_DATA_FOUND;
520 END IF;
521
522 After_DML (
523 p_action => 'UPDATE',
524 x_rowid => X_ROWID
525 );
526
527
528
529 END update_row;
530
531
532 PROCEDURE add_row (
533 x_rowid IN OUT NOCOPY VARCHAR2,
534 x_page_name IN VARCHAR2,
535 x_admission_application_type IN VARCHAR2,
536 x_include_ind IN VARCHAR2,
537 x_mode IN VARCHAR2 DEFAULT 'R' ,
538 x_required_ind IN VARCHAR2,
539 x_disp_order IN NUMBER,
540 x_page_disp_name IN VARCHAR2
541 ) AS
542 /*
543 || Created By : [email protected]
544 || Created On : 10-DEC-2001
545 || Purpose : Adds a row if there is no existing row, otherwise updates existing row in the table.
546 || Known limitations, enhancements or remarks :
547 || Change History :
548 || Who When What
549 || (reverse chronological order - newest change first)
550 */
551 CURSOR c1 IS
552 SELECT rowid
553 FROM igs_ad_ss_appl_pgs
554 WHERE page_name = x_page_name
555 AND admission_application_type = x_admission_application_type;
556
557 BEGIN
558
559 OPEN c1;
560 FETCH c1 INTO x_rowid;
561 IF (c1%NOTFOUND) THEN
562 CLOSE c1;
563
564 insert_row (
565 x_rowid,
566 x_page_name,
567 x_admission_application_type,
568 x_include_ind,
569 x_mode ,
570 x_required_ind,
571 x_disp_order,
572 x_page_disp_name
573 );
574 RETURN;
575 END IF;
576 CLOSE c1;
577
578 update_row (
579 x_rowid,
580 x_page_name,
581 x_admission_application_type,
582 x_include_ind,
583 x_mode ,
584 x_required_ind,
585 x_disp_order,
586 x_page_disp_name
587 );
588
589 END add_row;
590
591
592 PROCEDURE delete_row (
593 x_rowid IN VARCHAR2
594 ) AS
595 /*
596 || Created By : [email protected]
597 || Created On : 10-DEC-2001
598 || Purpose : Handles the DELETE DML logic for the table.
599 || Known limitations, enhancements or remarks :
600 || Change History :
601 || Who When What
602 || (reverse chronological order - newest change first)
603 */
604 BEGIN
605
606 before_dml (
607 p_action => 'DELETE',
608 x_rowid => x_rowid
609 );
610
611 DELETE FROM igs_ad_ss_appl_pgs
612 WHERE rowid = x_rowid;
613
614 IF (SQL%NOTFOUND) THEN
615 RAISE NO_DATA_FOUND;
616 END IF;
617
618 END delete_row;
619
620 PROCEDURE reset_checklist_data(p_admission_application_type IN igs_ad_ss_appl_pgs.admission_application_type%TYPE) AS
621 /*
622 || Created By : tray
623 || Created On : 18-DEC-2002
624 || Purpose : Refreshes Checklist data on setup change
625 || Known limitations, enhancements or remarks :
626 || Change History :
627 || Who When What
628 || (reverse chronological order - newest change first)
629 */
630 CURSOR c_get_incomplete_appl_data IS
631 SELECT ss_adm_appl_id, person_id, admission_application_type
632 FROM IGS_SS_ADM_APPL_STG
633 WHERE admission_application_type = p_admission_application_type;
634
635 CURSOR c_get_section_status(cp_person_id igs_ss_adm_appl_stg.person_id%TYPE,cp_appl_id igs_ss_adm_appl_stg.ss_adm_appl_id%TYPE,cp_section_name igs_ad_ss_appl_pgs.page_name%TYPE) IS
636 SELECT section, completion_status
637 FROM IGS_SS_AD_SEC_STAT
638 WHERE ss_adm_appl_id=cp_appl_id
639 AND person_id=cp_person_id
640 AND section=cp_section_name;
641
642 CURSOR c_get_page_setup IS
643 SELECT *
644 FROM IGS_AD_SS_APPL_PGS
645 WHERE admission_application_type = p_admission_application_type;
646
647 c_get_section_status_record c_get_section_status%ROWTYPE;
648
649 BEGIN
650 FOR c_get_page_setup_rec IN c_get_page_setup LOOP --1
651 IF c_get_page_setup_rec.include_ind='N' THEN
652 FOR c_get_incomplete_appl_data_rec IN c_get_incomplete_appl_data LOOP --1.5
653 FOR c_get_section_status_rec IN c_get_section_status(c_get_incomplete_appl_data_rec.person_id,c_get_incomplete_appl_data_rec.ss_adm_appl_id,c_get_page_setup_rec.page_name) LOOP --1.75
654 IF c_get_page_setup_rec.page_name = c_get_section_status_rec.section THEN
655 DELETE
656 FROM IGS_SS_AD_SEC_STAT
657 WHERE section = c_get_page_setup_rec.page_name
658 AND person_id = c_get_incomplete_appl_data_rec.person_id
659 AND ss_adm_appl_id = c_get_incomplete_appl_data_rec.ss_adm_appl_id;
660 ELSE
661 NULL;
662 END IF;
663 END LOOP; --1.75
664 END LOOP; --1.5
665 ELSIF c_get_page_setup_rec.include_ind='Y' THEN
666 FOR c_get_incomplete_appl_data_rec IN c_get_incomplete_appl_data LOOP --1.5
667 OPEN c_get_section_status(c_get_incomplete_appl_data_rec.person_id,c_get_incomplete_appl_data_rec.ss_adm_appl_id,c_get_page_setup_rec.page_name);
668 FETCH c_get_section_status INTO c_get_section_status_record;
669 IF c_get_section_status%NOTFOUND THEN
670 INSERT INTO igs_ss_ad_sec_stat
671 (
672 ss_adm_appl_id ,
673 person_id ,
674 section,
675 completion_status ,
676 last_updated_by ,
677 last_update_date,
678 creation_date ,
679 created_by ,
680 last_update_login
681 )
682 VALUES
683 (
684 c_get_incomplete_appl_data_rec.ss_adm_appl_id,
685 c_get_incomplete_appl_data_rec.person_id,
686 c_get_page_setup_rec.page_name,
687 'NOTSTARTED',
688 c_get_page_setup_rec.last_updated_by,
689 sysdate,
690 sysdate,
691 c_get_page_setup_rec.created_by,
692 c_get_page_setup_rec.last_update_login
693 );
694 END IF;
695 CLOSE c_get_section_status;
696 END LOOP; --1.5
697 END IF;
698 END LOOP; --1
699 END reset_checklist_data ;
700
701 END igs_ad_ss_appl_pgs_pkg;