DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_BATC_DEF_DET_PKG

Source


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