DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AS_DOCPROC_STUP_PKG

Source


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