DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_F_CAT_CA_INST_PKG

Source


1 package body IGS_FI_F_CAT_CA_INST_PKG as
2 /* $Header: IGSSI44B.pls 115.8 2002/11/29 03:48:12 nsidana ship $*/
3 
4 /******************************
5 Removed calls to IGS_FI_FEE_ENCMB_PKG and IGS_FI_FEE_ENCMB_H_PKG as these 2 tables are obsleted as part of bug 2126091 -sykrishn -30112001
6 ***************************/
7   l_rowid VARCHAR2(25);
8   old_references IGS_FI_F_CAT_CA_INST%RowType;
9   new_references IGS_FI_F_CAT_CA_INST%RowType;
10   PROCEDURE Set_Column_Values (
11     p_action IN VARCHAR2,
12     x_rowid IN VARCHAR2,
13     x_fee_cat IN VARCHAR2,
14     x_fee_cal_type IN VARCHAR2,
15     x_fee_ci_sequence_number IN NUMBER,
16     x_fee_cat_ci_status IN VARCHAR2,
17     x_start_dt_alias IN VARCHAR2,
18     x_start_dai_sequence_number IN NUMBER,
19     x_end_dt_alias IN VARCHAR2,
20     x_end_dai_sequence_number IN NUMBER,
21     x_retro_dt_alias IN VARCHAR2,
22     x_retro_dai_sequence_number IN NUMBER,
23     x_creation_date IN DATE,
24     x_created_by IN NUMBER,
25     x_last_update_date IN DATE,
26     x_last_updated_by IN NUMBER,
27     x_last_update_login IN NUMBER
28   ) AS
29     CURSOR cur_old_ref_values IS
30       SELECT   *
31       FROM     IGS_FI_F_CAT_CA_INST
32       WHERE    rowid = x_rowid;
33   BEGIN
34     l_rowid := x_rowid;
35     -- Code for setting the Old and New Reference Values.
36     -- Populate Old Values.
37     Open cur_old_ref_values;
38     Fetch cur_old_ref_values INTO old_references;
39     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
40       Close cur_old_ref_values;
41       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
42       IGS_GE_MSG_STACK.ADD;
43       App_Exception.Raise_Exception;
44       Return;
45     END IF;
46     Close cur_old_ref_values;
47     -- Populate New Values.
48     new_references.fee_cat := x_fee_cat;
49     new_references.fee_cal_type := x_fee_cal_type;
50     new_references.fee_ci_sequence_number := x_fee_ci_sequence_number;
51     new_references.fee_cat_ci_status := x_fee_cat_ci_status;
52     new_references.start_dt_alias := x_start_dt_alias;
53     new_references.start_dai_sequence_number := x_start_dai_sequence_number;
54     new_references.end_dt_alias := x_end_dt_alias;
55     new_references.end_dai_sequence_number := x_end_dai_sequence_number;
56     new_references.retro_dt_alias := x_retro_dt_alias;
57     new_references.retro_dai_sequence_number := x_retro_dai_sequence_number;
58     IF (p_action = 'UPDATE') THEN
59       new_references.creation_date := old_references.creation_date;
60       new_references.created_by := old_references.created_by;
61     ELSE
62       new_references.creation_date := x_creation_date;
63       new_references.created_by := x_created_by;
64     END IF;
65     new_references.last_update_date := x_last_update_date;
66     new_references.last_updated_by := x_last_updated_by;
67     new_references.last_update_login := x_last_update_login;
68   END Set_Column_Values;
69   -- Trigger description :-
70   -- BEFORE INSERT OR DELETE OR UPDATE
71   -- ON IGS_FI_F_CAT_CA_INST
72   -- FOR EACH ROW
73   PROCEDURE BeforeRowInsertUpdateDelete1(
74     p_inserting IN BOOLEAN,
75     p_updating IN BOOLEAN,
76     p_deleting IN BOOLEAN
77     ) AS
78  /*----------------------------------------------------------------------------
79   ||  Created By :
80   ||  Created On :
81   ||  Purpose :
82   ||  Known limitations, enhancements or remarks :
83   ||  Change History :
84   ||  Who             When            What
85   ||  (reverse chronological order - newest change first)
86   ||  vvutukur     02-Sep-2002     Bug#2531390. Removed DEFAULT from parameters to avoid gscc warnings.
87   ----------------------------------------------------------------------------*/
88 	v_message_name varchar2(30);
89   BEGIN
90 	-- Validate Calendar Instance.
91 	IF p_inserting THEN
92 		IF IGS_FI_VAL_FCCI.finp_val_ci_fee (
93 					new_references.fee_cal_type,
94 					new_references.fee_ci_sequence_number,
95 					v_message_name) = FALSE THEN
96 			Fnd_Message.Set_Name('IGS',v_message_name);
97 			IGS_GE_MSG_STACK.ADD;
98 			App_Exception.Raise_Exception;
99 		END IF;
100 	END IF;
101 	-- Validate Fee Structure Status.
102 	IF (p_inserting OR (old_references.fee_cat_ci_status) <>
103 			(new_references.fee_cat_ci_status)) THEN
104 		IF IGS_FI_VAL_FCCI.finp_val_fss_closed (
105 					new_references.fee_cat_ci_status,
106 					v_message_name) = FALSE THEN
107 			Fnd_Message.Set_Name('IGS',v_message_name);
108 			IGS_GE_MSG_STACK.ADD;
109 			App_Exception.Raise_Exception;
110 		END IF;
111 		IF IGS_FI_VAL_FCCI.finp_val_fcci_active (
112 				new_references.fee_cat_ci_status,
113 				new_references.fee_cal_type,
114 				new_references.fee_ci_sequence_number,
115 				v_message_name) = FALSE THEN
116 			Fnd_Message.Set_Name('IGS',v_message_name);
117 			IGS_GE_MSG_STACK.ADD;
118 			App_Exception.Raise_Exception;
119 		END IF;
120 		IF IGS_FI_VAL_FCCI.finp_val_fcci_status (
121 				new_references.fee_cat,
122 				new_references.fee_cal_type,
123 				new_references.fee_ci_sequence_number,
124 				new_references.fee_cat_ci_status,
125 				old_references.fee_cat_ci_status,
126 				v_message_name) = FALSE THEN
127 			Fnd_Message.Set_Name('IGS',v_message_name);
128 			IGS_GE_MSG_STACK.ADD;
129 			App_Exception.Raise_Exception;
130 		END IF;
131 	END IF;
132 	-- Validate Date Alias Values.
133 	IF (p_inserting OR ((old_references.start_dt_alias) <> (new_references.start_dt_alias) OR
134 		                (old_references.end_dt_alias) <> (new_references.end_dt_alias) OR
135 		                (old_references.retro_dt_alias) <> (new_references.retro_dt_alias))) THEN
136 		IF IGS_FI_VAL_FCCI.finp_val_fcci_dates (
137 					new_references.fee_cal_type,
138 					new_references.fee_ci_sequence_number,
139 					new_references.start_dt_alias,
140 					new_references.start_dai_sequence_number,
141 					new_references.end_dt_alias,
142 					new_references.end_dai_sequence_number,
143 					new_references.retro_dt_alias,
144 					new_references.retro_dai_sequence_number,
145 					v_message_name) = FALSE THEN
146 			Fnd_Message.Set_Name('IGS',v_message_name);
147 			IGS_GE_MSG_STACK.ADD;
148 			App_Exception.Raise_Exception;
149 		END IF;
150 	END IF;
151   END BeforeRowInsertUpdateDelete1;
152   -- Trigger description :-
153   -- AFTER UPDATE
154   -- ON IGS_FI_F_CAT_CA_INST
155   -- FOR EACH ROW
156   PROCEDURE AfterRowUpdate2(
157     p_inserting IN BOOLEAN,
158     p_updating IN BOOLEAN,
159     p_deleting IN BOOLEAN
160     ) AS
161  /*----------------------------------------------------------------------------
162   ||  Created By :
163   ||  Created On :
164   ||  Purpose :
165   ||  Known limitations, enhancements or remarks :
166   ||  Change History :
167   ||  Who             When            What
168   ||  (reverse chronological order - newest change first)
169   ||  vvutukur     02-Sep-2002     Bug#2531390. Removed DEFAULT from parameters to avoid gscc warnings.
170   ----------------------------------------------------------------------------*/
171   BEGIN
172 	-- create a history
173 	IGS_FI_GEN_002.FINP_INS_FCCI_HIST(old_references.fee_cat,
174 		old_references.fee_cal_type,
175 		old_references.fee_ci_sequence_number,
176 		new_references.fee_cat_ci_status,
177 		old_references.fee_cat_ci_status,
178 		new_references.start_dt_alias,
179 		old_references.start_dt_alias,
180 		new_references.start_dai_sequence_number,
181 		old_references.start_dai_sequence_number,
182 		new_references.end_dt_alias,
183 		old_references.end_dt_alias,
184 		new_references.end_dai_sequence_number,
185 		old_references.end_dai_sequence_number,
186 		new_references.retro_dt_alias,
187 		old_references.retro_dt_alias,
188 		new_references.retro_dai_sequence_number,
189 		old_references.retro_dai_sequence_number,
190 		new_references.last_updated_by,
191 		old_references.last_updated_by,
192 		new_references.last_update_date,
193 		old_references.last_update_date);
194   END AfterRowUpdate2;
195   PROCEDURE Check_Constraints (
196     column_name  IN VARCHAR2,
197     column_value IN VARCHAR2
198   ) AS
199   /*----------------------------------------------------------------------------
200   ||  Created By :
201   ||  Created On :
202   ||  Purpose :
203   ||  Known limitations, enhancements or remarks :
204   ||  Change History :
205   ||  Who             When            What
206   ||  (reverse chronological order - newest change first)
207   ||  vvutukur        20-May-2002   removed upper check on fee_cat,fee_cat_ci_status
208   ||                                (alias of fee_structure_status)columns .bug#2344826.
209   ----------------------------------------------------------------------------*/
210 
211   BEGIN
212     IF (column_name IS NULL) THEN
213       NULL;
214     ELSIF (UPPER (column_name) = 'RETRO_DAI_SEQUENCE_NUMBER') THEN
215       new_references.retro_dai_sequence_number := igs_ge_number.to_num (column_value);
216     ELSIF (UPPER (column_name) = 'END_DAI_SEQUENCE_NUMBER') THEN
217       new_references.end_dai_sequence_number := igs_ge_number.to_num (column_value);
218     ELSIF (UPPER (column_name) = 'END_DT_ALIAS') THEN
219       new_references.end_dt_alias := column_value;
220     ELSIF (UPPER (column_name) = 'FEE_CAL_TYPE') THEN
221       new_references.fee_cal_type := column_value;
222     ELSIF (UPPER (column_name) = 'RETRO_DT_ALIAS') THEN
223       new_references.retro_dt_alias := column_value;
224     ELSIF (UPPER (column_name) = 'START_DT_ALIAS') THEN
225       new_references.start_dt_alias := column_value;
226     ELSIF (UPPER (column_name) = 'FEE_CI_SEQUENCE_NUMBER') THEN
227       new_references.fee_ci_sequence_number := igs_ge_number.to_num (column_value);
228     ELSIF (UPPER (column_name) = 'START_DAI_SEQUENCE_NUMBER') THEN
229       new_references.start_dai_sequence_number := igs_ge_number.to_num (column_value);
230     END IF;
231     IF ((UPPER (column_name) = 'RETRO_DAI_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
232       IF ((new_references.retro_dai_sequence_number < 1) OR (new_references.retro_dai_sequence_number > 999999)) THEN
233         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
234 	IGS_GE_MSG_STACK.ADD;
235         App_Exception.Raise_Exception;
236       END IF;
237     END IF;
238     IF ((UPPER (column_name) = 'END_DAI_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
239       IF ((new_references.end_dai_sequence_number < 1) OR (new_references.end_dai_sequence_number > 999999)) THEN
240         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
241 	IGS_GE_MSG_STACK.ADD;
242         App_Exception.Raise_Exception;
243       END IF;
244     END IF;
245     IF ((UPPER (column_name) = 'END_DT_ALIAS') OR (column_name IS NULL)) THEN
246       IF (new_references.end_dt_alias <> UPPER (new_references.end_dt_alias)) THEN
247         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
248 	IGS_GE_MSG_STACK.ADD;
249         App_Exception.Raise_Exception;
250       END IF;
251     END IF;
252     IF ((UPPER (column_name) = 'FEE_CAL_TYPE') OR (column_name IS NULL)) THEN
253       IF (new_references.fee_cal_type <> UPPER (new_references.fee_cal_type)) THEN
254         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
255 	IGS_GE_MSG_STACK.ADD;
256         App_Exception.Raise_Exception;
257       END IF;
258     END IF;
259     IF ((UPPER (column_name) = 'RETRO_DT_ALIAS') OR (column_name IS NULL)) THEN
260       IF (new_references.retro_dt_alias <> UPPER (new_references.retro_dt_alias)) THEN
261         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
262 	IGS_GE_MSG_STACK.ADD;
263         App_Exception.Raise_Exception;
264       END IF;
265     END IF;
266     IF ((UPPER (column_name) = 'START_DT_ALIAS') OR (column_name IS NULL)) THEN
267       IF (new_references.start_dt_alias <> UPPER (new_references.start_dt_alias)) THEN
268         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
269 	IGS_GE_MSG_STACK.ADD;
270         App_Exception.Raise_Exception;
271       END IF;
272     END IF;
273     IF ((UPPER (column_name) = 'FEE_CI_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
274       IF ((new_references.fee_ci_sequence_number < 1) OR (new_references.fee_ci_sequence_number > 999999)) THEN
275         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
276 	IGS_GE_MSG_STACK.ADD;
277         App_Exception.Raise_Exception;
278       END IF;
279     END IF;
280     IF ((UPPER (column_name) = 'START_DAI_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
281       IF ((new_references.start_dai_sequence_number < 1) OR (new_references.start_dai_sequence_number > 999999)) THEN
282         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
283 	IGS_GE_MSG_STACK.ADD;
284         App_Exception.Raise_Exception;
285       END IF;
286     END IF;
287   END Check_Constraints;
288   PROCEDURE Check_Parent_Existance AS
289   BEGIN
290     IF (((old_references.start_dt_alias = new_references.start_dt_alias) AND
291          (old_references.start_dai_sequence_number = new_references.start_dai_sequence_number) AND
292          (old_references.fee_cal_type = new_references.fee_cal_type) AND
293          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
294         ((new_references.start_dt_alias IS NULL) OR
295          (new_references.start_dai_sequence_number IS NULL) OR
296          (new_references.fee_cal_type IS NULL) OR
297          (new_references.fee_ci_sequence_number IS NULL))) THEN
298       NULL;
299     ELSE
300       IF NOT IGS_CA_DA_INST_PKG.Get_PK_For_Validation (
301                new_references.start_dt_alias,
302                new_references.start_dai_sequence_number,
303                new_references.fee_cal_type,
304                new_references.fee_ci_sequence_number
305                ) THEN
306         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
307 	IGS_GE_MSG_STACK.ADD;
308         App_Exception.Raise_Exception;
309       END IF;
310     END IF;
311     IF (((old_references.fee_cal_type = new_references.fee_cal_type) AND
312          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
313         ((new_references.fee_cal_type IS NULL) OR
314          (new_references.fee_ci_sequence_number IS NULL))) THEN
315       NULL;
316     ELSE
317       IF NOT IGS_CA_INST_PKG.Get_PK_For_Validation (
318                new_references.fee_cal_type,
319                new_references.fee_ci_sequence_number
320                ) THEN
321         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
322 	IGS_GE_MSG_STACK.ADD;
323         App_Exception.Raise_Exception;
324       END IF;
325     END IF;
326     IF (((old_references.end_dt_alias = new_references.end_dt_alias) AND
327          (old_references.end_dai_sequence_number = new_references.end_dai_sequence_number) AND
328          (old_references.fee_cal_type = new_references.fee_cal_type) AND
329          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
330         ((new_references.end_dt_alias IS NULL) OR
331          (new_references.end_dai_sequence_number IS NULL) OR
332          (new_references.fee_cal_type IS NULL) OR
333          (new_references.fee_ci_sequence_number IS NULL))) THEN
334       NULL;
335     ELSE
336       IF NOT IGS_CA_DA_INST_PKG.Get_PK_For_Validation (
337                new_references.end_dt_alias,
338                new_references.end_dai_sequence_number,
339                new_references.fee_cal_type,
340                new_references.fee_ci_sequence_number
341                ) THEN
342         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
343 	IGS_GE_MSG_STACK.ADD;
344         App_Exception.Raise_Exception;
345       END IF;
346     END IF;
347     IF (((old_references.fee_cat = new_references.fee_cat)) OR
348         ((new_references.fee_cat IS NULL))) THEN
349       NULL;
350     ELSE
351       IF NOT IGS_FI_FEE_CAT_PKG.Get_PK_For_Validation (
352                new_references.fee_cat
353                ) THEN
354         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
355 	IGS_GE_MSG_STACK.ADD;
356         App_Exception.Raise_Exception;
357       END IF;
358     END IF;
359     IF (((old_references.fee_cat_ci_status = new_references.fee_cat_ci_status)) OR
360         ((new_references.fee_cat_ci_status IS NULL))) THEN
361       NULL;
362     ELSE
363       IF NOT IGS_FI_FEE_STR_STAT_PKG.Get_PK_For_Validation (
364                new_references.fee_cat_ci_status
365                ) THEN
366         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
367 	IGS_GE_MSG_STACK.ADD;
368         App_Exception.Raise_Exception;
369       END IF;
370     END IF;
371     IF (((old_references.retro_dt_alias = new_references.retro_dt_alias) AND
372          (old_references.retro_dai_sequence_number = new_references.retro_dai_sequence_number) AND
373          (old_references.fee_cal_type = new_references.fee_cal_type) AND
374          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
375         ((new_references.retro_dt_alias IS NULL) OR
376          (new_references.retro_dai_sequence_number IS NULL) OR
377          (new_references.fee_cal_type IS NULL) OR
378          (new_references.fee_ci_sequence_number IS NULL))) THEN
379       NULL;
380     ELSE
381       IF NOT IGS_CA_DA_INST_PKG.Get_PK_For_Validation (
382                new_references.retro_dt_alias,
383                new_references.retro_dai_sequence_number,
384                new_references.fee_cal_type,
385                new_references.fee_ci_sequence_number
386                ) THEN
387         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
388 	IGS_GE_MSG_STACK.ADD;
389         App_Exception.Raise_Exception;
390       END IF;
391     END IF;
392   END Check_Parent_Existance;
393   PROCEDURE Check_Child_Existance AS
394   /*----------------------------------------------------------------------------
395   ||  Created By :
396   ||  Created On :
397   ||  Purpose :
398   ||  Known limitations, enhancements or remarks :
399   ||  Change History :
400   ||  Who             When            What
401   ||  (reverse chronological order - newest change first)
402   ||  vvutukur      26-Aug-2002 Bug#2531390.Removed the call to IGS_FI_FEE_PAY_SCHD_PKG.GET_FK_IGS_FI_F_CAT_CA_INST
403   ||                            and IGS_FI_F_PAY_SCHD_HT_PKG.GET_FK_IGS_FI_F_CAT_CA_INST.
404   ----------------------------------------------------------------------------*/
405   BEGIN
406     IGS_FI_F_CAT_FEE_LBL_PKG.GET_FK_IGS_FI_F_CAT_CA_INST (
407       old_references.fee_cat,
408       old_references.fee_cal_type,
409       old_references.fee_ci_sequence_number
410       );
411  --Removed calls to IGS_FI_FEE_ENCMB_PKG and IGS_FI_FEE_ENCMB_H_PKG as these 2 tables are obsleted as part of bug 2126091 -sykrishn -30112001
412 
413     IGS_FI_F_RET_SCHD_HT_PKG.GET_FK_IGS_FI_F_CAT_CA_INST (
414       old_references.fee_cat,
415       old_references.fee_cal_type,
416       old_references.fee_ci_sequence_number
417       );
418     IGS_FI_FEE_RET_SCHD_PKG.GET_FK_IGS_FI_F_CAT_CA_INST (
419       old_references.fee_cat,
420       old_references.fee_cal_type,
421       old_references.fee_ci_sequence_number
422       );
423   END Check_Child_Existance;
424   FUNCTION Get_PK_For_Validation (
425     x_fee_cat IN VARCHAR2,
426     x_fee_cal_type IN VARCHAR2,
427     x_fee_ci_sequence_number IN NUMBER
428     ) RETURN BOOLEAN AS
429     CURSOR cur_rowid IS
430       SELECT   rowid
431       FROM     IGS_FI_F_CAT_CA_INST
432       WHERE    fee_cat = x_fee_cat
433       AND      fee_cal_type = x_fee_cal_type
434       AND      fee_ci_sequence_number = x_fee_ci_sequence_number
435       FOR UPDATE NOWAIT;
436     lv_rowid cur_rowid%RowType;
437   BEGIN
438     Open cur_rowid;
439     Fetch cur_rowid INTO lv_rowid;
440     IF (cur_rowid%FOUND) THEN
441       Close cur_rowid;
442       Return (TRUE);
443     ELSE
444       Close cur_rowid;
445       Return (FALSE);
446     END IF;
447   END Get_PK_For_Validation;
448   PROCEDURE GET_FK_IGS_CA_DA_INST (
449     x_dt_alias IN VARCHAR2,
450     x_sequence_number IN NUMBER,
451     x_cal_type IN VARCHAR2,
452     x_ci_sequence_number IN NUMBER
453     ) AS
454     CURSOR cur_rowid IS
455       SELECT   rowid
456       FROM     IGS_FI_F_CAT_CA_INST
457       WHERE    (start_dt_alias = x_dt_alias
458       AND      start_dai_sequence_number = x_sequence_number
459       AND      fee_cal_type = x_cal_type
460       AND      fee_ci_sequence_number = x_ci_sequence_number)
461       OR       (end_dt_alias = x_dt_alias
462       AND      end_dai_sequence_number = x_sequence_number
463       AND      fee_cal_type = x_cal_type
464       AND      Fee_ci_sequence_number = x_ci_sequence_number);
465     lv_rowid cur_rowid%RowType;
466   BEGIN
467     Open cur_rowid;
468     Fetch cur_rowid INTO lv_rowid;
469     IF (cur_rowid%FOUND) THEN
470       Close cur_rowid;
471       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FCCI_END_DAI_FK');
472 	IGS_GE_MSG_STACK.ADD;
473       App_Exception.Raise_Exception;
474       Return;
475     END IF;
476     Close cur_rowid;
477   END GET_FK_IGS_CA_DA_INST;
478   PROCEDURE GET_FK_IGS_CA_INST (
479     x_cal_type IN VARCHAR2,
480     x_sequence_number IN NUMBER
481     ) AS
482     CURSOR cur_rowid IS
483       SELECT   rowid
484       FROM     IGS_FI_F_CAT_CA_INST
485       WHERE    fee_cal_type = x_cal_type
486       AND      fee_ci_sequence_number = x_sequence_number ;
487     lv_rowid cur_rowid%RowType;
488   BEGIN
489     Open cur_rowid;
490     Fetch cur_rowid INTO lv_rowid;
491     IF (cur_rowid%FOUND) THEN
492       Close cur_rowid;
493       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FCCI_CI_FK');
494 	IGS_GE_MSG_STACK.ADD;
495       App_Exception.Raise_Exception;
496       Return;
497     END IF;
498     Close cur_rowid;
499   END GET_FK_IGS_CA_INST;
500   PROCEDURE GET_FK_IGS_FI_FEE_CAT (
501     x_fee_cat IN VARCHAR2
502     ) AS
503     CURSOR cur_rowid IS
504       SELECT   rowid
505       FROM     IGS_FI_F_CAT_CA_INST
506       WHERE    fee_cat = x_fee_cat ;
507     lv_rowid cur_rowid%RowType;
508   BEGIN
509     Open cur_rowid;
510     Fetch cur_rowid INTO lv_rowid;
511     IF (cur_rowid%FOUND) THEN
512       Close cur_rowid;
513       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FCCI_FC_FK');
514       IGS_GE_MSG_STACK.ADD;
515       App_Exception.Raise_Exception;
516       Return;
517     END IF;
518     Close cur_rowid;
519   END GET_FK_IGS_FI_FEE_CAT;
520   PROCEDURE GET_FK_IGS_FI_FEE_STR_STAT (
521     x_fee_structure_status IN VARCHAR2
522     ) AS
523     CURSOR cur_rowid IS
524       SELECT   rowid
525       FROM     IGS_FI_F_CAT_CA_INST
526       WHERE    fee_cat_ci_status = x_fee_structure_status ;
527     lv_rowid cur_rowid%RowType;
528   BEGIN
529     Open cur_rowid;
530     Fetch cur_rowid INTO lv_rowid;
531     IF (cur_rowid%FOUND) THEN
532       Close cur_rowid;
533       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FCCI_FSST_FK');
534       IGS_GE_MSG_STACK.ADD;
535       App_Exception.Raise_Exception;
536       Return;
537     END IF;
538     Close cur_rowid;
539   END GET_FK_IGS_FI_FEE_STR_STAT;
540   PROCEDURE Before_DML (
541     p_action IN VARCHAR2,
542     x_rowid IN  VARCHAR2,
543     x_fee_cat IN VARCHAR2,
544     x_fee_cal_type IN VARCHAR2,
545     x_fee_ci_sequence_number IN NUMBER,
546     x_fee_cat_ci_status IN VARCHAR2,
547     x_start_dt_alias IN VARCHAR2,
548     x_start_dai_sequence_number IN NUMBER,
549     x_end_dt_alias IN VARCHAR2,
550     x_end_dai_sequence_number IN NUMBER,
551     x_retro_dt_alias IN VARCHAR2,
552     x_retro_dai_sequence_number IN NUMBER,
553     x_creation_date IN DATE,
554     x_created_by IN NUMBER,
555     x_last_update_date IN DATE,
556     x_last_updated_by IN NUMBER,
557     x_last_update_login IN NUMBER
558   ) AS
559   /*----------------------------------------------------------------------------
560   ||  Created By :
561   ||  Created On :
562   ||  Purpose :
563   ||  Known limitations, enhancements or remarks :
564   ||  Change History :
565   ||  Who          When            What
566   ||  (reverse chronological order - newest change first)
567   || vvutukur    02-Sep-2002 Bug#2531390. Modified the calls to procedure BeforeRowInsertUpdateDelete1
568   ||                         to pass FALSE for the parameters which were defaulting to false in that
569   ||                         procedure previously. This is done because we removed DEFAULT from package
570   ||                         body to avoid gscc warning.
571   ----------------------------------------------------------------------------*/
572   BEGIN
573     Set_Column_Values (
574       p_action,
575       x_rowid,
576       x_fee_cat,
577       x_fee_cal_type,
578       x_fee_ci_sequence_number,
579       x_fee_cat_ci_status,
580       x_start_dt_alias,
581       x_start_dai_sequence_number,
582       x_end_dt_alias,
583       x_end_dai_sequence_number,
584       x_retro_dt_alias,
585       x_retro_dai_sequence_number,
586       x_creation_date,
587       x_created_by,
588       x_last_update_date,
589       x_last_updated_by,
590       x_last_update_login
591     );
592     IF (p_action = 'INSERT') THEN
593       -- Call all the procedures related to Before Insert.
594       BeforeRowInsertUpdateDelete1 ( p_inserting => TRUE,
595                                      p_updating  => FALSE,
596 				     p_deleting  => FALSE);
597       IF (Get_PK_For_Validation (
598             new_references.fee_cat,
599             new_references.fee_cal_type,
600             new_references.fee_ci_sequence_number
601             )) THEN
602         Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
603 	IGS_GE_MSG_STACK.ADD;
604         App_Exception.Raise_Exception;
605       END IF;
606       Check_Constraints;
607       Check_Parent_Existance;
608     ELSIF (p_action = 'UPDATE') THEN
609       -- Call all the procedures related to Before Update.
610       BeforeRowInsertUpdateDelete1 ( p_inserting => FALSE,
611                                      p_updating  => TRUE,
612 				     p_deleting  => FALSE);
613       Check_Constraints;
614       Check_Parent_Existance;
615     ELSIF (p_action = 'DELETE') THEN
616       -- Call all the procedures related to Before Delete.
617       BeforeRowInsertUpdateDelete1 ( p_inserting => FALSE,
618                                      p_updating  => FALSE,
619                                      p_deleting => TRUE );
620       Check_Child_Existance;
621     ELSIF (p_action = 'VALIDATE_INSERT') THEN
622       IF (Get_PK_For_Validation (
623             new_references.fee_cat,
624             new_references.fee_cal_type,
625             new_references.fee_ci_sequence_number
626             )) THEN
627         Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
628 	IGS_GE_MSG_STACK.ADD;
629         App_Exception.Raise_Exception;
630       END IF;
631       Check_Constraints;
632     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
633       Check_Constraints;
634     ELSIF (p_action = 'VALIDATE_DELETE') THEN
635       Check_Child_Existance;
636     END IF;
637   END Before_DML;
638   PROCEDURE After_DML (
639     p_action IN VARCHAR2,
640     x_rowid IN VARCHAR2
641   ) AS
642   /*----------------------------------------------------------------------------
643   ||  Created By :
644   ||  Created On :
645   ||  Purpose :
646   ||  Known limitations, enhancements or remarks :
647   ||  Change History :
648   ||  Who             When            What
649   ||  (reverse chronological order - newest change first)
650   ||  VVUTUKUR      02-Sep-2002   Bug#2531390. Modified call to afterrowupdate2 and provided FALSE
651   ||                              for the parameters which used to default to FALSE in that procedure
652   ||                              previously.Done because the DEFAULT is removed from package body
653   ||                              due to gscc warning.
654   ----------------------------------------------------------------------------*/
655   BEGIN
656     l_rowid := x_rowid;
657     IF (p_action = 'UPDATE') THEN
658       -- Call all the procedures related to After Update.
659       AfterRowUpdate2 ( p_inserting => FALSE,
660                         p_updating => TRUE,
661 			p_deleting => FALSE);
662     END IF;
663   END After_DML;
664 procedure INSERT_ROW (
665   X_ROWID in out NOCOPY VARCHAR2,
666   X_FEE_CAT in VARCHAR2,
667   X_FEE_CAL_TYPE in VARCHAR2,
668   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
669   X_FEE_CAT_CI_STATUS in VARCHAR2,
670   X_START_DT_ALIAS in VARCHAR2,
671   X_START_DAI_SEQUENCE_NUMBER in NUMBER,
672   X_END_DT_ALIAS in VARCHAR2,
673   X_END_DAI_SEQUENCE_NUMBER in NUMBER,
674   X_RETRO_DT_ALIAS in VARCHAR2,
675   X_RETRO_DAI_SEQUENCE_NUMBER in NUMBER,
676   X_MODE in VARCHAR2
677   ) as
678     cursor C is select ROWID from IGS_FI_F_CAT_CA_INST
679       where FEE_CAT = X_FEE_CAT
680       and FEE_CAL_TYPE = X_FEE_CAL_TYPE
681       and FEE_CI_SEQUENCE_NUMBER = X_FEE_CI_SEQUENCE_NUMBER;
682     X_LAST_UPDATE_DATE DATE;
683     X_LAST_UPDATED_BY NUMBER;
684     X_LAST_UPDATE_LOGIN NUMBER;
685     X_REQUEST_ID NUMBER;
686     X_PROGRAM_ID NUMBER;
687     X_PROGRAM_APPLICATION_ID NUMBER;
688     X_PROGRAM_UPDATE_DATE DATE;
689 begin
690   X_LAST_UPDATE_DATE := SYSDATE;
691   if(X_MODE = 'I') then
692     X_LAST_UPDATED_BY := 1;
693     X_LAST_UPDATE_LOGIN := 0;
694   elsif (X_MODE = 'R') then
695     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
696     if X_LAST_UPDATED_BY is NULL then
697       X_LAST_UPDATED_BY := -1;
698     end if;
699     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
700     if X_LAST_UPDATE_LOGIN is NULL then
701       X_LAST_UPDATE_LOGIN := -1;
702     end if;
703     X_REQUEST_ID:=FND_GLOBAL.CONC_REQUEST_ID;
704     X_PROGRAM_ID:=FND_GLOBAL.CONC_PROGRAM_ID;
705     X_PROGRAM_APPLICATION_ID:=FND_GLOBAL.PROG_APPL_ID;
706     if (X_REQUEST_ID = -1 ) then
707       X_REQUEST_ID:=NULL;
708       X_PROGRAM_ID:=NULL;
709       X_PROGRAM_APPLICATION_ID:=NULL;
710       X_PROGRAM_UPDATE_DATE:=NULL;
711     else
712       X_PROGRAM_UPDATE_DATE:=SYSDATE;
713     end if;
714   else
715     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
716     IGS_GE_MSG_STACK.ADD;
717     app_exception.raise_exception;
718   end if;
719 Before_DML(
720  p_action=>'INSERT',
721  x_rowid=>X_ROWID,
722  x_end_dai_sequence_number=>X_END_DAI_SEQUENCE_NUMBER,
723  x_end_dt_alias=>X_END_DT_ALIAS,
724  x_fee_cal_type=>X_FEE_CAL_TYPE,
725  x_fee_cat=>X_FEE_CAT,
726  x_fee_cat_ci_status=>X_FEE_CAT_CI_STATUS,
727  x_fee_ci_sequence_number=>X_FEE_CI_SEQUENCE_NUMBER,
728  x_retro_dai_sequence_number=>X_RETRO_DAI_SEQUENCE_NUMBER,
729  x_retro_dt_alias=>X_RETRO_DT_ALIAS,
730  x_start_dai_sequence_number=>X_START_DAI_SEQUENCE_NUMBER,
731  x_start_dt_alias=>X_START_DT_ALIAS,
732  x_creation_date=>X_LAST_UPDATE_DATE,
733  x_created_by=>X_LAST_UPDATED_BY,
734  x_last_update_date=>X_LAST_UPDATE_DATE,
735  x_last_updated_by=>X_LAST_UPDATED_BY,
736  x_last_update_login=>X_LAST_UPDATE_LOGIN
737 );
738   insert into IGS_FI_F_CAT_CA_INST (
739     FEE_CAT,
740     FEE_CAL_TYPE,
741     FEE_CI_SEQUENCE_NUMBER,
742     FEE_CAT_CI_STATUS,
743     START_DT_ALIAS,
744     START_DAI_SEQUENCE_NUMBER,
745     END_DT_ALIAS,
746     END_DAI_SEQUENCE_NUMBER,
747     RETRO_DT_ALIAS,
748     RETRO_DAI_SEQUENCE_NUMBER,
749     CREATION_DATE,
750     CREATED_BY,
751     LAST_UPDATE_DATE,
752     LAST_UPDATED_BY,
753     LAST_UPDATE_LOGIN,
754     REQUEST_ID,
755     PROGRAM_ID,
756     PROGRAM_APPLICATION_ID,
757     PROGRAM_UPDATE_DATE
758   ) values (
759     NEW_REFERENCES.FEE_CAT,
760     NEW_REFERENCES.FEE_CAL_TYPE,
761     NEW_REFERENCES.FEE_CI_SEQUENCE_NUMBER,
762     NEW_REFERENCES.FEE_CAT_CI_STATUS,
763     NEW_REFERENCES.START_DT_ALIAS,
764     NEW_REFERENCES.START_DAI_SEQUENCE_NUMBER,
765     NEW_REFERENCES.END_DT_ALIAS,
766     NEW_REFERENCES.END_DAI_SEQUENCE_NUMBER,
767     NEW_REFERENCES.RETRO_DT_ALIAS,
768     NEW_REFERENCES.RETRO_DAI_SEQUENCE_NUMBER,
769     X_LAST_UPDATE_DATE,
770     X_LAST_UPDATED_BY,
771     X_LAST_UPDATE_DATE,
772     X_LAST_UPDATED_BY,
773     X_LAST_UPDATE_LOGIN,
774     X_REQUEST_ID,
775     X_PROGRAM_ID,
776     X_PROGRAM_APPLICATION_ID,
777     X_PROGRAM_UPDATE_DATE
778   );
779   open c;
780   fetch c into X_ROWID;
781   if (c%notfound) then
782     close c;
783     raise no_data_found;
784   end if;
785   close c;
786 After_DML (
787  p_action => 'INSERT',
788  x_rowid => X_ROWID
789 );
790 end INSERT_ROW;
791 procedure LOCK_ROW (
792   X_ROWID in VARCHAR2,
793   X_FEE_CAT in VARCHAR2,
794   X_FEE_CAL_TYPE in VARCHAR2,
795   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
796   X_FEE_CAT_CI_STATUS in VARCHAR2,
797   X_START_DT_ALIAS in VARCHAR2,
798   X_START_DAI_SEQUENCE_NUMBER in NUMBER,
799   X_END_DT_ALIAS in VARCHAR2,
800   X_END_DAI_SEQUENCE_NUMBER in NUMBER,
801   X_RETRO_DT_ALIAS in VARCHAR2,
802   X_RETRO_DAI_SEQUENCE_NUMBER in NUMBER
803 ) as
804   cursor c1 is select
805       FEE_CAT_CI_STATUS,
806       START_DT_ALIAS,
807       START_DAI_SEQUENCE_NUMBER,
808       END_DT_ALIAS,
809       END_DAI_SEQUENCE_NUMBER,
810       RETRO_DT_ALIAS,
811       RETRO_DAI_SEQUENCE_NUMBER
812     from IGS_FI_F_CAT_CA_INST
813     where ROWID=X_ROWID
814     for update nowait;
815   tlinfo c1%rowtype;
816 begin
817   open c1;
818   fetch c1 into tlinfo;
819   if (c1%notfound) then
820     close c1;
821     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
822 	IGS_GE_MSG_STACK.ADD;
823     app_exception.raise_exception;
824     return;
825   end if;
826   close c1;
827   if ( (tlinfo.FEE_CAT_CI_STATUS = X_FEE_CAT_CI_STATUS)
828       AND (tlinfo.START_DT_ALIAS = X_START_DT_ALIAS)
829       AND (tlinfo.START_DAI_SEQUENCE_NUMBER = X_START_DAI_SEQUENCE_NUMBER)
830       AND (tlinfo.END_DT_ALIAS = X_END_DT_ALIAS)
831       AND (tlinfo.END_DAI_SEQUENCE_NUMBER = X_END_DAI_SEQUENCE_NUMBER)
832       AND ((tlinfo.RETRO_DT_ALIAS = X_RETRO_DT_ALIAS)
833            OR ((tlinfo.RETRO_DT_ALIAS is null)
834                AND (X_RETRO_DT_ALIAS is null)))
835       AND ((tlinfo.RETRO_DAI_SEQUENCE_NUMBER = X_RETRO_DAI_SEQUENCE_NUMBER)
836            OR ((tlinfo.RETRO_DAI_SEQUENCE_NUMBER is null)
837                AND (X_RETRO_DAI_SEQUENCE_NUMBER is null)))
838   ) then
839     null;
840   else
841     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
842 	IGS_GE_MSG_STACK.ADD;
843     app_exception.raise_exception;
844   end if;
845   return;
846 end LOCK_ROW;
847 procedure UPDATE_ROW (
848   X_ROWID in VARCHAR2,
849   X_FEE_CAT in VARCHAR2,
850   X_FEE_CAL_TYPE in VARCHAR2,
851   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
852   X_FEE_CAT_CI_STATUS in VARCHAR2,
853   X_START_DT_ALIAS in VARCHAR2,
854   X_START_DAI_SEQUENCE_NUMBER in NUMBER,
855   X_END_DT_ALIAS in VARCHAR2,
856   X_END_DAI_SEQUENCE_NUMBER in NUMBER,
857   X_RETRO_DT_ALIAS in VARCHAR2,
858   X_RETRO_DAI_SEQUENCE_NUMBER in NUMBER,
859   X_MODE in VARCHAR2
860   ) as
861     X_LAST_UPDATE_DATE DATE;
862     X_LAST_UPDATED_BY NUMBER;
863     X_LAST_UPDATE_LOGIN NUMBER;
864     X_REQUEST_ID NUMBER;
865     X_PROGRAM_ID NUMBER;
866     X_PROGRAM_APPLICATION_ID NUMBER;
867     X_PROGRAM_UPDATE_DATE DATE;
868 begin
869   X_LAST_UPDATE_DATE := SYSDATE;
870   if(X_MODE = 'I') then
871     X_LAST_UPDATED_BY := 1;
872     X_LAST_UPDATE_LOGIN := 0;
873   elsif (X_MODE = 'R') then
874     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
875     if X_LAST_UPDATED_BY is NULL then
876       X_LAST_UPDATED_BY := -1;
877     end if;
878     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
879     if X_LAST_UPDATE_LOGIN is NULL then
880       X_LAST_UPDATE_LOGIN := -1;
881     end if;
882     X_REQUEST_ID:=FND_GLOBAL.CONC_REQUEST_ID;
883     X_PROGRAM_ID:=FND_GLOBAL.CONC_PROGRAM_ID;
884     X_PROGRAM_APPLICATION_ID:=FND_GLOBAL.PROG_APPL_ID;
885     if (X_REQUEST_ID = -1 ) then
886       X_REQUEST_ID:=OLD_REFERENCES.REQUEST_ID;
887       X_PROGRAM_ID:=OLD_REFERENCES.PROGRAM_ID;
888       X_PROGRAM_APPLICATION_ID:=OLD_REFERENCES.PROGRAM_APPLICATION_ID;
889       X_PROGRAM_UPDATE_DATE:=OLD_REFERENCES.PROGRAM_UPDATE_DATE;
890     else
891       X_PROGRAM_UPDATE_DATE:=SYSDATE;
892     end if;
893   else
894     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
895 	IGS_GE_MSG_STACK.ADD;
896     app_exception.raise_exception;
897   end if;
898 Before_DML(
899  p_action=>'UPDATE',
900  x_rowid=>X_ROWID,
901  x_end_dai_sequence_number=>X_END_DAI_SEQUENCE_NUMBER,
902  x_end_dt_alias=>X_END_DT_ALIAS,
903  x_fee_cal_type=>X_FEE_CAL_TYPE,
904  x_fee_cat=>X_FEE_CAT,
905  x_fee_cat_ci_status=>X_FEE_CAT_CI_STATUS,
906  x_fee_ci_sequence_number=>X_FEE_CI_SEQUENCE_NUMBER,
907  x_retro_dai_sequence_number=>X_RETRO_DAI_SEQUENCE_NUMBER,
908  x_retro_dt_alias=>X_RETRO_DT_ALIAS,
909  x_start_dai_sequence_number=>X_START_DAI_SEQUENCE_NUMBER,
910  x_start_dt_alias=>X_START_DT_ALIAS,
911  x_creation_date=>X_LAST_UPDATE_DATE,
912  x_created_by=>X_LAST_UPDATED_BY,
913  x_last_update_date=>X_LAST_UPDATE_DATE,
914  x_last_updated_by=>X_LAST_UPDATED_BY,
915  x_last_update_login=>X_LAST_UPDATE_LOGIN
916 );
917   update IGS_FI_F_CAT_CA_INST set
918     FEE_CAT_CI_STATUS = NEW_REFERENCES.FEE_CAT_CI_STATUS,
919     START_DT_ALIAS = NEW_REFERENCES.START_DT_ALIAS,
920     START_DAI_SEQUENCE_NUMBER = NEW_REFERENCES.START_DAI_SEQUENCE_NUMBER,
921     END_DT_ALIAS = NEW_REFERENCES.END_DT_ALIAS,
922     END_DAI_SEQUENCE_NUMBER = NEW_REFERENCES.END_DAI_SEQUENCE_NUMBER,
923     RETRO_DT_ALIAS = NEW_REFERENCES.RETRO_DT_ALIAS,
924     RETRO_DAI_SEQUENCE_NUMBER = NEW_REFERENCES.RETRO_DAI_SEQUENCE_NUMBER,
925     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
926     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
927     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
928     REQUEST_ID=X_REQUEST_ID,
929     PROGRAM_ID=X_PROGRAM_ID,
930     PROGRAM_APPLICATION_ID=X_PROGRAM_APPLICATION_ID,
931     PROGRAM_UPDATE_DATE=X_PROGRAM_UPDATE_DATE
932   where ROWID=X_ROWID
933   ;
934   if (sql%notfound) then
935     raise no_data_found;
936   end if;
937 After_DML (
938  p_action => 'UPDATE',
939  x_rowid => X_ROWID
940 );
941 end UPDATE_ROW;
942 procedure ADD_ROW (
943   X_ROWID in out NOCOPY VARCHAR2,
944   X_FEE_CAT in VARCHAR2,
945   X_FEE_CAL_TYPE in VARCHAR2,
946   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
947   X_FEE_CAT_CI_STATUS in VARCHAR2,
948   X_START_DT_ALIAS in VARCHAR2,
949   X_START_DAI_SEQUENCE_NUMBER in NUMBER,
950   X_END_DT_ALIAS in VARCHAR2,
951   X_END_DAI_SEQUENCE_NUMBER in NUMBER,
952   X_RETRO_DT_ALIAS in VARCHAR2,
953   X_RETRO_DAI_SEQUENCE_NUMBER in NUMBER,
954   X_MODE in VARCHAR2
955   ) as
956   cursor c1 is select rowid from IGS_FI_F_CAT_CA_INST
957      where FEE_CAT = X_FEE_CAT
958      and FEE_CAL_TYPE = X_FEE_CAL_TYPE
959      and FEE_CI_SEQUENCE_NUMBER = X_FEE_CI_SEQUENCE_NUMBER
960   ;
961 begin
962   open c1;
963   fetch c1 into X_ROWID;
964   if (c1%notfound) then
965     close c1;
966     INSERT_ROW (
967      X_ROWID,
968      X_FEE_CAT,
969      X_FEE_CAL_TYPE,
970      X_FEE_CI_SEQUENCE_NUMBER,
971      X_FEE_CAT_CI_STATUS,
972      X_START_DT_ALIAS,
973      X_START_DAI_SEQUENCE_NUMBER,
974      X_END_DT_ALIAS,
975      X_END_DAI_SEQUENCE_NUMBER,
976      X_RETRO_DT_ALIAS,
977      X_RETRO_DAI_SEQUENCE_NUMBER,
978      X_MODE);
979     return;
980   end if;
981   close c1;
982   UPDATE_ROW (
983    X_ROWID,
984    X_FEE_CAT,
985    X_FEE_CAL_TYPE,
986    X_FEE_CI_SEQUENCE_NUMBER,
987    X_FEE_CAT_CI_STATUS,
988    X_START_DT_ALIAS,
989    X_START_DAI_SEQUENCE_NUMBER,
990    X_END_DT_ALIAS,
991    X_END_DAI_SEQUENCE_NUMBER,
992    X_RETRO_DT_ALIAS,
993    X_RETRO_DAI_SEQUENCE_NUMBER,
994    X_MODE);
995 end ADD_ROW;
996 procedure DELETE_ROW (
997   X_ROWID in VARCHAR2
998 ) as
999 begin
1000 Before_DML (
1001  p_action => 'DELETE',
1002  x_rowid => X_ROWID
1003 );
1004   delete from IGS_FI_F_CAT_CA_INST
1005   where ROWID=X_ROWID;
1006   if (sql%notfound) then
1007     raise no_data_found;
1008   end if;
1009 After_DML (
1010  p_action => 'DELETE',
1011  x_rowid => X_ROWID
1012 );
1013 end DELETE_ROW;
1014 end IGS_FI_F_CAT_CA_INST_PKG;