DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_LB_OVFL_ERRS_PKG

Source


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