DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_FEE_TRG_GRP_PKG

Source


1 package body IGS_FI_FEE_TRG_GRP_PKG AS
2    /* $Header: IGSSI36B.pls 115.5 2003/02/12 10:14:46 shtatiko ship $*/
3  l_rowid VARCHAR2(25);
4   old_references IGS_FI_FEE_TRG_GRP%RowType;
5   new_references IGS_FI_FEE_TRG_GRP%RowType;
6 
7   PROCEDURE Set_Column_Values (
8 
9     p_action IN VARCHAR2,
10 
11     x_rowid IN VARCHAR2 DEFAULT NULL,
12 
13     x_fee_trigger_group_number IN NUMBER DEFAULT NULL,
14 
15     x_description IN VARCHAR2 DEFAULT NULL,
16 
17     x_logical_delete_dt IN DATE DEFAULT NULL,
18 
19     x_comments IN VARCHAR2 DEFAULT NULL,
20 
21     x_fee_cat IN VARCHAR2 DEFAULT NULL,
22 
23     x_fee_cal_type IN VARCHAR2 DEFAULT NULL,
24 
25     x_fee_ci_sequence_number IN NUMBER DEFAULT NULL,
26 
27     x_fee_type IN VARCHAR2 DEFAULT NULL,
28 
29     x_creation_date IN DATE DEFAULT NULL,
30 
31     x_created_by IN NUMBER DEFAULT NULL,
32 
33     x_last_update_date IN DATE DEFAULT NULL,
34 
35     x_last_updated_by IN NUMBER DEFAULT NULL,
36 
37     x_last_update_login IN NUMBER DEFAULT NULL
38 
39   ) AS
40 
41 
42 
43     CURSOR cur_old_ref_values IS
44 
45       SELECT   *
46 
47       FROM     IGS_FI_FEE_TRG_GRP
48 
49       WHERE    rowid = x_rowid;
50 
51 
52 
53   BEGIN
54 
55 
56 
57     l_rowid := x_rowid;
58 
59 
60 
61     -- Code for setting the Old and New Reference Values.
62 
63     -- Populate Old Values.
64 
65     Open cur_old_ref_values;
66 
67     Fetch cur_old_ref_values INTO old_references;
68 
69     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
70 
71       Close cur_old_ref_values;
72       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
73       IGS_GE_MSG_STACK.ADD;
74       App_Exception.Raise_Exception;
75 
76       Return;
77 
78     END IF;
79 
80     Close cur_old_ref_values;
81 
82 
83 
84     -- Populate New Values.
85 
86     new_references.fee_trigger_group_number := x_fee_trigger_group_number;
87 
88     new_references.description := x_description;
89 
90     new_references.logical_delete_dt := x_logical_delete_dt;
91 
92     new_references.comments := x_comments;
93 
94     new_references.fee_cat := x_fee_cat;
95 
96     new_references.fee_cal_type := x_fee_cal_type;
97 
98     new_references.fee_ci_sequence_number := x_fee_ci_sequence_number;
99 
100     new_references.fee_type := x_fee_type;
101 
102     IF (p_action = 'UPDATE') THEN
103 
104       new_references.creation_date := old_references.creation_date;
105 
106       new_references.created_by := old_references.created_by;
107 
108     ELSE
109 
110       new_references.creation_date := x_creation_date;
111 
112       new_references.created_by := x_created_by;
113 
114     END IF;
115 
116     new_references.last_update_date := x_last_update_date;
117 
118     new_references.last_updated_by := x_last_updated_by;
119 
120     new_references.last_update_login := x_last_update_login;
121 
122 
123 
124   END Set_Column_Values;
125 
126 
127 
128   -- Trigger description :-
129 
130   -- "OSS_TST".trg_ftg_br_iu
131 
132   -- BEFORE INSERT OR UPDATE
133 
134   -- ON IGS_FI_FEE_TRG_GRP
135 
136   -- FOR EACH ROW
137 
138 
139 
140   PROCEDURE BeforeRowInsertUpdate1(
141 
142     p_inserting IN BOOLEAN DEFAULT FALSE,
143 
144     p_updating IN BOOLEAN DEFAULT FALSE,
145 
146     p_deleting IN BOOLEAN DEFAULT FALSE
147 
148     ) AS
149 
150 	v_message_name varchar2(30);
151 
152   BEGIN
153 
154 	IF p_inserting THEN
155 
156 		-- Validate fee trigger group can be inserted
157 
158 		IF IGS_FI_VAL_FTG.finp_val_ftg_ins (
159 
160 				new_references.fee_type,
161 
162 				v_message_name) = FALSE THEN
163 
164 			Fnd_Message.Set_Name('IGS',v_message_name);
165 			IGS_GE_MSG_STACK.ADD;
166 			App_Exception.Raise_Exception;
167 
168 		END IF;
169 
170 	END IF;
171 
172 	IF p_updating THEN
173 
174 		-- Validate fee trigger group can be logically deleted
175 
176 		IF (new_references.logical_delete_dt IS NOT NULL) THEN
177 
178 			IF IGS_FI_VAL_FTG.finp_val_ftg_lgl_del (
179 
180 					new_references.fee_cat,
181 
182 					new_references.fee_cal_type,
183 
184 					new_references.fee_ci_sequence_number,
185 
186 					new_references.fee_type,
187 
188 					new_references.fee_trigger_group_number,
189 
190 					v_message_name) = FALSE THEN
191 
192 				Fnd_Message.Set_Name('IGS',v_message_name);
193 				IGS_GE_MSG_STACK.ADD;
194 				App_Exception.Raise_Exception;
195 
196 			END IF;
197 
198 		END IF;
199 
200 	END IF;
201   END BeforeRowInsertUpdate1;
202 
203    PROCEDURE Check_Constraints (
204    Column_Name	IN	VARCHAR2	DEFAULT NULL,
205    Column_Value 	IN	VARCHAR2	DEFAULT NULL
206    ) AS
207    /*----------------------------------------------------------------------------
208   ||  Created By :
209   ||  Created On :
210   ||  Purpose :
211   ||  Known limitations, enhancements or remarks :
212   ||  Change History :
213   ||  Who             When            What
214   ||  (reverse chronological order - newest change first)
215   ||  vvutukur        17-May-2002  removed upper check on fee_type,fee_cat columns.bug#2344826.
216   ----------------------------------------------------------------------------*/
217 
218    BEGIN
219      IF Column_Name is NULL THEN
220         	NULL;
221      ELSIF upper(Column_Name) = 'FEE_CAL_TYPE' then
222         	new_references.fee_cal_type := Column_Value;
223      ELSIF upper(Column_Name) = 'DESCRIPTION' then
224         	new_references.description := Column_Value;
225      ELSIF upper(Column_Name) = 'FEE_CI_SEQUENCE_NUMBER' then
226      	new_references.fee_ci_sequence_number := igs_ge_number.to_num(Column_Value);
227      ELSIF upper(Column_Name) = 'FEE_TRIGGER_GROUP_NUMBER' then
228      	new_references.fee_trigger_group_number := igs_ge_number.to_num(Column_Value);
229 	END IF;
230 
231     IF upper(Column_Name) = 'FEE_CAL_TYPE' OR
232      		column_name is NULL THEN
233    		IF new_references.fee_cal_type <> UPPER(new_references.fee_cal_type) THEN
234    			Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
235 			IGS_GE_MSG_STACK.ADD;
236    			App_Exception.Raise_Exception;
237    		END IF;
238      END IF;
239   IF upper(Column_Name) = 'FEE_CI_SEQUENCE_NUMBER' OR
240      		column_name is NULL THEN
241    		IF new_references.fee_ci_sequence_number < 1 OR
242 		   new_references.fee_ci_sequence_number > 999999 THEN
243    			Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
244 			IGS_GE_MSG_STACK.ADD;
245 
246    			App_Exception.Raise_Exception;
247    		END IF;
248   END IF;
249   IF upper(Column_Name) = 'FEE_TRIGGER_GROUP_NUMBER' OR
250      		column_name is NULL THEN
251    		IF new_references.fee_trigger_group_number < 1 OR
252 		   new_references.fee_trigger_group_number > 999999 THEN
253    			Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
254 			IGS_GE_MSG_STACK.ADD;
255 
256    			App_Exception.Raise_Exception;
257    		END IF;
258   END IF;
259 END Check_Constraints;
260 
261 PROCEDURE Check_Parent_Existance AS
262   BEGIN
263     IF (((old_references.fee_cat = new_references.fee_cat) AND
264          (old_references.fee_cal_type = new_references.fee_cal_type) AND
265          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number) AND
266          (old_references.fee_type = new_references.fee_type)) OR
267         ((new_references.fee_cat IS NULL) OR
268          (new_references.fee_cal_type IS NULL) OR
269          (new_references.fee_ci_sequence_number IS NULL) OR
270          (new_references.fee_type IS NULL))) THEN
271 		      NULL;
272     ELSIF NOT IGS_FI_F_CAT_FEE_LBL_PKG.Get_PK_For_Validation (
273         new_references.fee_cat,
274         new_references.fee_cal_type,
275         new_references.fee_ci_sequence_number,
276         new_references.fee_type
277         ) THEN
278 		     Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
279 		IGS_GE_MSG_STACK.ADD;
280      		 App_Exception.Raise_Exception;
281     END IF;
282   END Check_Parent_Existance;
283 
284 
285   PROCEDURE Check_Child_Existance AS
286 
287   BEGIN
288     IGS_PS_FEE_TRG_PKG.GET_FK_IGS_FI_FEE_TRG_GRP (
289       OLD_references.fee_cat,
290       OLD_references.fee_cal_type,
291       OLD_references.fee_ci_sequence_number,
292       OLD_references.fee_type,
293       OLD_references.fee_trigger_group_number
294       );
295 
296     IGS_FI_UNIT_FEE_TRG_PKG.GET_FK_IGS_FI_FEE_TRG_GRP (
297       OLD_references.fee_cat,
298       OLD_references.fee_cal_type,
299       OLD_references.fee_ci_sequence_number,
300       OLD_references.fee_type,
301       OLD_references.fee_trigger_group_number
302       );
303 
304     IGS_EN_UNITSETFEETRG_PKG.GET_FK_IGS_FI_FEE_TRG_GRP (
305       OLD_references.fee_cat,
306       OLD_references.fee_cal_type,
307       old_references.fee_ci_sequence_number,
308       OLD_references.fee_type,
309       OLD_references.fee_trigger_group_number
310       );
311   END Check_Child_Existance;
312 
313 
314 
315   FUNCTION Get_PK_For_Validation (
316     x_fee_cat IN VARCHAR2,
317     x_fee_cal_type IN VARCHAR2,
318     x_fee_ci_sequence_number IN NUMBER,
319     x_fee_type IN VARCHAR2,
320     x_fee_trigger_group_number IN NUMBER
321     ) RETURN BOOLEAN AS
322 
323     CURSOR cur_rowid IS
324       SELECT   rowid
325       FROM     IGS_FI_FEE_TRG_GRP
326       WHERE    fee_cat = x_fee_cat
327       AND      fee_cal_type = x_fee_cal_type
328       AND      fee_ci_sequence_number = x_fee_ci_sequence_number
329       AND      fee_type = x_fee_type
330       AND      fee_trigger_group_number = x_fee_trigger_group_number
331       FOR UPDATE NOWAIT;
332 
333     lv_rowid cur_rowid%RowType;
334 
335 BEGIN
336     Open cur_rowid;
337     Fetch cur_rowid INTO lv_rowid;
338  IF (cur_rowid%FOUND) THEN
339        Close cur_rowid;
340        Return (TRUE);
341  ELSE
342        Close cur_rowid;
343        Return (FALSE);
344  END IF;
345 END Get_PK_For_Validation;
346 
347 
348 
349   PROCEDURE Before_DML (
350 
351     p_action IN VARCHAR2,
352 
353     x_rowid IN  VARCHAR2 DEFAULT NULL,
354 
355     x_fee_trigger_group_number IN NUMBER DEFAULT NULL,
356 
357     x_description IN VARCHAR2 DEFAULT NULL,
358 
359     x_logical_delete_dt IN DATE DEFAULT NULL,
360 
361     x_comments IN VARCHAR2 DEFAULT NULL,
362 
363     x_fee_cat IN VARCHAR2 DEFAULT NULL,
364 
365     x_fee_cal_type IN VARCHAR2 DEFAULT NULL,
366 
367     x_fee_ci_sequence_number IN NUMBER DEFAULT NULL,
368 
369     x_fee_type IN VARCHAR2 DEFAULT NULL,
370 
371     x_creation_date IN DATE DEFAULT NULL,
372 
373     x_created_by IN NUMBER DEFAULT NULL,
374 
375     x_last_update_date IN DATE DEFAULT NULL,
376 
377     x_last_updated_by IN NUMBER DEFAULT NULL,
378 
379     x_last_update_login IN NUMBER DEFAULT NULL
380 
381   ) AS
382 
383   BEGIN
384 
385 
386 
387     Set_Column_Values (
388 
389       p_action,
390 
391       x_rowid,
392 
393       x_fee_trigger_group_number,
394 
395       x_description,
396 
397       x_logical_delete_dt,
398 
399       x_comments,
400 
401       x_fee_cat,
402 
403       x_fee_cal_type,
404 
405       x_fee_ci_sequence_number,
406 
407       x_fee_type,
408 
409       x_creation_date,
410 
411       x_created_by,
412 
413       x_last_update_date,
414 
415       x_last_updated_by,
416 
417       x_last_update_login
418 
419     );
420 
421 
422 
423     IF (p_action = 'INSERT') THEN
424 
425       -- Call all the procedures related to Before Insert.
426 
427       BeforeRowInsertUpdate1 ( p_inserting => TRUE );
428 	 IF  Get_PK_For_Validation (
429     		new_references.fee_cat,
430     		new_references.fee_cal_type,
431     		new_references.fee_ci_sequence_number,
432     		new_references.fee_type,
433     		new_references.fee_trigger_group_number ) THEN
434 
435 		         Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
436                          IGS_GE_MSG_STACK.ADD;
437 		         App_Exception.Raise_Exception;
438 	END IF;
439       Check_Constraints;
440       Check_Parent_Existance;
441     ELSIF (p_action = 'UPDATE') THEN
442       -- Call all the procedures related to Before Update.
443       BeforeRowInsertUpdate1 ( p_updating => TRUE );
444       Check_Parent_Existance;
445     ELSIF (p_action = 'DELETE') THEN
446       -- Call all the procedures related to Before Delete.
447       Check_Child_Existance;
448    ELSIF (p_action = 'VALIDATE_INSERT') THEN
449       -- Call all the procedures related to Before Insert.
450 	 IF  Get_PK_For_Validation (
451     		new_references.fee_cat,
452     		new_references.fee_cal_type,
453     		new_references.fee_ci_sequence_number,
454     		new_references.fee_type,
455     		new_references.fee_trigger_group_number ) THEN
456 
457 		         Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
458                          IGS_GE_MSG_STACK.ADD;
459 
460 		         App_Exception.Raise_Exception;
461 	END IF;
462         Check_Constraints;
463     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
464     	Check_Constraints;
465     ELSIF (p_action = 'VALIDATE_DELETE') THEN
466 		 	Check_Child_Existance;
467     END IF;
468   END Before_DML;
469 
470 procedure INSERT_ROW (
471   X_ROWID in out NOCOPY VARCHAR2,
472   X_FEE_CAT in VARCHAR2,
473   X_FEE_TRIGGER_GROUP_NUMBER in NUMBER,
474   X_FEE_CAL_TYPE in VARCHAR2,
475   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
476   X_FEE_TYPE in VARCHAR2,
477   X_DESCRIPTION in VARCHAR2,
478   X_LOGICAL_DELETE_DT in DATE,
479   X_COMMENTS in VARCHAR2,
480   X_MODE in VARCHAR2 default 'R'
481   ) AS
482     cursor C is select ROWID from IGS_FI_FEE_TRG_GRP
483       where FEE_CAT = X_FEE_CAT
484       and FEE_TRIGGER_GROUP_NUMBER = X_FEE_TRIGGER_GROUP_NUMBER
485       and FEE_CAL_TYPE = X_FEE_CAL_TYPE
486       and FEE_CI_SEQUENCE_NUMBER = X_FEE_CI_SEQUENCE_NUMBER
487       and FEE_TYPE = X_FEE_TYPE;
488     X_LAST_UPDATE_DATE DATE;
489     X_LAST_UPDATED_BY NUMBER;
490     X_LAST_UPDATE_LOGIN NUMBER;
491 begin
492   X_LAST_UPDATE_DATE := SYSDATE;
493   if(X_MODE = 'I') then
494     X_LAST_UPDATED_BY := 1;
495     X_LAST_UPDATE_LOGIN := 0;
496   elsif (X_MODE = 'R') then
497     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
498     if X_LAST_UPDATED_BY is NULL then
499       X_LAST_UPDATED_BY := -1;
500     end if;
501     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
502     if X_LAST_UPDATE_LOGIN is NULL then
503       X_LAST_UPDATE_LOGIN := -1;
504     end if;
505   else
506     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
507     IGS_GE_MSG_STACK.ADD;
508     app_exception.raise_exception;
509   end if;
510 
511 
512 
513  Before_DML(
514 
515   p_action=>'INSERT',
516 
517   x_rowid=>X_ROWID,
518 
519   x_comments=>X_COMMENTS,
520 
521   x_description=>X_DESCRIPTION,
522 
523   x_fee_cal_type=>X_FEE_CAL_TYPE,
524 
525   x_fee_cat=>X_FEE_CAT,
526 
527   x_fee_ci_sequence_number=>X_FEE_CI_SEQUENCE_NUMBER,
528 
529   x_fee_trigger_group_number=>X_FEE_TRIGGER_GROUP_NUMBER,
530 
531   x_fee_type=>X_FEE_TYPE,
532 
533   x_logical_delete_dt=>X_LOGICAL_DELETE_DT,
534 
535   x_creation_date=>X_LAST_UPDATE_DATE,
536 
537   x_created_by=>X_LAST_UPDATED_BY,
538 
539   x_last_update_date=>X_LAST_UPDATE_DATE,
540 
541   x_last_updated_by=>X_LAST_UPDATED_BY,
542 
543   x_last_update_login=>X_LAST_UPDATE_LOGIN
544 
545 );
546 
547 
548 
549   insert into IGS_FI_FEE_TRG_GRP (
550     FEE_CAT,
551     FEE_CAL_TYPE,
552     FEE_CI_SEQUENCE_NUMBER,
553     FEE_TYPE,
554     FEE_TRIGGER_GROUP_NUMBER,
555     DESCRIPTION,
556     LOGICAL_DELETE_DT,
557     COMMENTS,
558     CREATION_DATE,
559     CREATED_BY,
560     LAST_UPDATE_DATE,
561     LAST_UPDATED_BY,
562     LAST_UPDATE_LOGIN
563   ) values (
564     NEW_REFERENCES.FEE_CAT,
565     NEW_REFERENCES.FEE_CAL_TYPE,
566     NEW_REFERENCES.FEE_CI_SEQUENCE_NUMBER,
567     NEW_REFERENCES.FEE_TYPE,
568     NEW_REFERENCES.FEE_TRIGGER_GROUP_NUMBER,
569     NEW_REFERENCES.DESCRIPTION,
570     NEW_REFERENCES.LOGICAL_DELETE_DT,
571     NEW_REFERENCES.COMMENTS,
572     X_LAST_UPDATE_DATE,
573     X_LAST_UPDATED_BY,
574     X_LAST_UPDATE_DATE,
575     X_LAST_UPDATED_BY,
576     X_LAST_UPDATE_LOGIN
577   );
578 
579   open c;
580   fetch c into X_ROWID;
581   if (c%notfound) then
582     close c;
583     raise no_data_found;
584   end if;
585   close c;
586 
587 end INSERT_ROW;
588 
589 procedure LOCK_ROW (
590   X_ROWID in VARCHAR2,
591   X_FEE_CAT in VARCHAR2,
592   X_FEE_TRIGGER_GROUP_NUMBER in NUMBER,
593   X_FEE_CAL_TYPE in VARCHAR2,
594   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
595   X_FEE_TYPE in VARCHAR2,
596   X_DESCRIPTION in VARCHAR2,
597   X_LOGICAL_DELETE_DT in DATE,
598   X_COMMENTS in VARCHAR2
599 ) AS
600   cursor c1 is select
601       DESCRIPTION,
602       LOGICAL_DELETE_DT,
603       COMMENTS
604     from IGS_FI_FEE_TRG_GRP
605     where ROWID = X_ROWID
606     for update nowait;
607   tlinfo c1%rowtype;
608 
609 begin
610   open c1;
611   fetch c1 into tlinfo;
612   if (c1%notfound) then
613     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
614     IGS_GE_MSG_STACK.ADD;
615     app_exception.raise_exception;
616     close c1;
617     return;
618   end if;
619   close c1;
620 
621   if ( (tlinfo.DESCRIPTION = X_DESCRIPTION)
622       AND ((tlinfo.LOGICAL_DELETE_DT = X_LOGICAL_DELETE_DT)
623            OR ((tlinfo.LOGICAL_DELETE_DT is null)
624                AND (X_LOGICAL_DELETE_DT is null)))
625       AND ((tlinfo.COMMENTS = X_COMMENTS)
626            OR ((tlinfo.COMMENTS is null)
627                AND (X_COMMENTS is null)))
628   ) then
629     null;
630   else
631     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
632     IGS_GE_MSG_STACK.ADD;
633     app_exception.raise_exception;
634   end if;
635   return;
636 end LOCK_ROW;
637 
638 procedure UPDATE_ROW (
639   X_ROWID in VARCHAR2,
640   X_FEE_CAT in VARCHAR2,
641   X_FEE_TRIGGER_GROUP_NUMBER in NUMBER,
642   X_FEE_CAL_TYPE in VARCHAR2,
643   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
644   X_FEE_TYPE in VARCHAR2,
645   X_DESCRIPTION in VARCHAR2,
646   X_LOGICAL_DELETE_DT in DATE,
647   X_COMMENTS in VARCHAR2,
648   X_MODE in VARCHAR2 default 'R'
649   ) AS
650     X_LAST_UPDATE_DATE DATE;
651     X_LAST_UPDATED_BY NUMBER;
652     X_LAST_UPDATE_LOGIN NUMBER;
653 begin
654   X_LAST_UPDATE_DATE := SYSDATE;
655   if(X_MODE = 'I') then
656     X_LAST_UPDATED_BY := 1;
657     X_LAST_UPDATE_LOGIN := 0;
658   elsif (X_MODE = 'R') then
659     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
660     if X_LAST_UPDATED_BY is NULL then
661       X_LAST_UPDATED_BY := -1;
662     end if;
663     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
664     if X_LAST_UPDATE_LOGIN is NULL then
665       X_LAST_UPDATE_LOGIN := -1;
666     end if;
667   else
668     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
669     IGS_GE_MSG_STACK.ADD;
670     app_exception.raise_exception;
671   end if;
672 
673 
674 
675  Before_DML(
676 
677   p_action=>'UPDATE',
678 
679   x_rowid=>X_ROWID,
680 
681   x_comments=>X_COMMENTS,
682 
683   x_description=>X_DESCRIPTION,
684 
685   x_fee_cal_type=>X_FEE_CAL_TYPE,
686 
687   x_fee_cat=>X_FEE_CAT,
688 
689   x_fee_ci_sequence_number=>X_FEE_CI_SEQUENCE_NUMBER,
690 
691   x_fee_trigger_group_number=>X_FEE_TRIGGER_GROUP_NUMBER,
692 
693   x_fee_type=>X_FEE_TYPE,
694 
695   x_logical_delete_dt=>X_LOGICAL_DELETE_DT,
696 
697   x_creation_date=>X_LAST_UPDATE_DATE,
698 
699   x_created_by=>X_LAST_UPDATED_BY,
700 
701   x_last_update_date=>X_LAST_UPDATE_DATE,
702 
703   x_last_updated_by=>X_LAST_UPDATED_BY,
704 
705   x_last_update_login=>X_LAST_UPDATE_LOGIN
706 
707 );
708 
709 
710 
711 
712   update IGS_FI_FEE_TRG_GRP set
713     DESCRIPTION = NEW_REFERENCES.DESCRIPTION,
714     LOGICAL_DELETE_DT = NEW_REFERENCES.LOGICAL_DELETE_DT,
715     COMMENTS = NEW_REFERENCES.COMMENTS,
716     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
717     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
718     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
719   where ROWID = X_ROWID;
720   if (sql%notfound) then
721     raise no_data_found;
722   end if;
723 
724 end UPDATE_ROW;
725 
726 procedure ADD_ROW (
727   X_ROWID in out NOCOPY VARCHAR2,
728   X_FEE_CAT in VARCHAR2,
729   X_FEE_TRIGGER_GROUP_NUMBER in NUMBER,
730   X_FEE_CAL_TYPE in VARCHAR2,
731   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
732   X_FEE_TYPE in VARCHAR2,
733   X_DESCRIPTION in VARCHAR2,
734   X_LOGICAL_DELETE_DT in DATE,
735   X_COMMENTS in VARCHAR2,
736   X_MODE in VARCHAR2 default 'R'
737   ) AS
738   cursor c1 is select rowid from IGS_FI_FEE_TRG_GRP
739      where FEE_CAT = X_FEE_CAT
740      and FEE_TRIGGER_GROUP_NUMBER = X_FEE_TRIGGER_GROUP_NUMBER
741      and FEE_CAL_TYPE = X_FEE_CAL_TYPE
742      and FEE_CI_SEQUENCE_NUMBER = X_FEE_CI_SEQUENCE_NUMBER
743      and FEE_TYPE = X_FEE_TYPE
744   ;
745 begin
746   open c1;
747   fetch c1 into X_ROWID;
748   if (c1%notfound) then
749     close c1;
750     INSERT_ROW (
751      X_ROWID,
752      X_FEE_CAT,
753      X_FEE_TRIGGER_GROUP_NUMBER,
754      X_FEE_CAL_TYPE,
755      X_FEE_CI_SEQUENCE_NUMBER,
756      X_FEE_TYPE,
757      X_DESCRIPTION,
758      X_LOGICAL_DELETE_DT,
759      X_COMMENTS,
760      X_MODE);
761     return;
762   end if;
763   close c1;
764   UPDATE_ROW (
765   X_ROWID,
766    X_FEE_CAT,
767    X_FEE_TRIGGER_GROUP_NUMBER,
768    X_FEE_CAL_TYPE,
769    X_FEE_CI_SEQUENCE_NUMBER,
770    X_FEE_TYPE,
771    X_DESCRIPTION,
772    X_LOGICAL_DELETE_DT,
773    X_COMMENTS,
774    X_MODE);
775 end ADD_ROW;
776 
777 procedure DELETE_ROW (
778   X_ROWID in VARCHAR2
779 ) AS
780 begin
781 Before_DML (
782  p_action => 'DELETE',
783  x_rowid => X_ROWID
784 );
785   delete from IGS_FI_FEE_TRG_GRP
786   where ROWID = X_ROWID;
787   if (sql%notfound) then
788     raise no_data_found;
789   end if;
790 end DELETE_ROW;
791 
792 end IGS_FI_FEE_TRG_GRP_PKG;