DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_F_TYP_CA_INST_PKG

Source


1 package body IGS_FI_F_TYP_CA_INST_PKG AS
2 /* $Header: IGSSI49B.pls 120.3 2005/09/03 10:49:56 appldev ship $ */
3 
4 /*********************************************************************************************
5  | Who         When         What
6  | gurprsin   16-Aug-2005   Bug# 3392088 , Added a column max_chg_elements as part of CPF build.
7  | gurprsin   18-Jun-2005   Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
8  | svuppala   13-Apr-2005   Bug 4297359 - ER REGISTRATION FEE ISSUE - ASSESSED TO STUDENTS WITH NO LOAD
9  |                          Added new field NONZERO_BILLABLE_CP_FLAG in Fee Type Calendar Instances Table.
10  | pathipat   11-Feb-2003   Enh 2747325 - Locking Issues build
11  |                          Changes according to FI204_TD_Locking_Issues_s1a.doc
12  |
13  | sbaliga     13-feb-2002  Modified call to before_dml in insert_row procedure
14  |                          as part of SWCR006 build.
15  | Bug 1956374
16  |   What :Duplicate code removal Pointed finp_val_fss_closed to igs_fi_val_fcci
17  |         Pointed finp_val_ft_closed to igs_fi_val_cfar
18  |   Who msrinivi
19  |
20  |      Bug 2126091
21  |      What Removed calls to IGS_FI_FEE_ENCMB_PKG and IGS_FI_FEE_ENCMB_H_PKG as these tables are obsleted.
22  |      Who sykrishn
23  |      When 30112001
24  |
25  | agairola    07-Sep-2004      Enh 3316063: Retention Enhancements changes
26  | shtatiko      13-may-2003    Enh# 2831572, Modified check_constraints.
27  | vvutukur      23-Jul-2002    Bug#2425767.removed payment_hierarchy_rank references from set_column_values,
28  |                              insert_row,update_row,lock_row,add_row,before_dml,AfterRowUpdate3.Removed
29  |                              procedure AfterStmtInsertUpdate4 as this procedure has only one validation
30  |                              which validates payment_hierarchy_rank.Modified After_DML procedure to
31  |                              removed references to AfterStmtInsertUpdate4 procedure.
32  | jbegum          10-jun-02    As part of bug #2403209 commented local procedure AfterStmtInsertUpdate4
33  |                              and calls to it in the package
34  |  vvutukur     20-may-2002    bug#2344826.modified check_constraints procedure.
35  |  vchappid     25-Apr-2002    Bug# 2329407, Removed the parameters account_cd, fin_cal_type
36  |                              and fin_ci_sequence_number from the function call finp_val_ftci_rqrd,
37  |                              removed the parameters from procedure 'finp_ins_ftci_hist' in the procedure
38  |                              AfterRowUpdate3 procedure
39  |                              Removed the reference to the Account_Cd column from the table igs_fi_f_typ_ca_inst table
40  |
41  | agairola     08-Mar-2002     Enh# 2144600 added the get_Fk in the check child existance for Refunds Interface
42  | vchappid     25-Feb-2002     Enh# 2144600, added get_fk in the check_child_existance
43  | vchappid     06-Feb-2002     Enh# 2187247, Removed calls to IGS_FI_CHG_MTH_APP_PKG, IGS_FI_CHG_MTH_APP_H_PKG
44  |                              as these table are obsolete
45  | vvutukur     25-jan-2002     Code added for bug 2195715 as part of SFCR003 in BeforeRowInsertUpdateDelete1
46  | vvutukur     11-Jan-2002     Code related to subaccount id is removed as part of Bug 2175865
47  | vivuyyur     10-sep-2001     Bug No :1966961
48  |                              Procedure GET_FK_IGS_FI_ACC is removed ,
49  |                              IGS_FI_ACC_PKG.Get_PK_For_Validation is changed.
50  |                              Check constraints related to FIN_CAL_TYPE,FIN_CI_SEQUENCE_NUMBER are
51  |                              deleted . GET_PK_FOR_VALIDATION , IGS_FI_VAL_FTCI.finp_val_ftci_ac are changed.
52  |                              fin_cal_type,fin_ci_sequence_number,account_cd are removed from Table Handler calls
53  | jbegum       16-nov-2001     As part of the bug# 2113459
54  |                              Added two new columns ret_gl_ccid and ret_account_cd.
55  |                              Also modified the procedures check_parent_existence and GET_FK_IGS_FI_ACC_ALL
56  | sarakshi     20-Nov-2001     In the update_row proc , for the account_cd and ccid columns , they are set to new references
57  | sarakshi     20-Nov-2001     In the proc check parants existance removed the condition of old value null and new value
58  |                              null to do nothing, instead only new value to be null to do nothing
59  |bayadav       20-DEC-2001    Removed calls to IGS_PE_PND_FEE_ENCUM_PKG as these table is obsleted.
60  |                              This is as per the SFCR015-HOLDS DLD. Bug:2126091
61  **************************************************************************************************************/
62 
63   l_rowid VARCHAR2(25);
64   old_references IGS_FI_F_TYP_CA_INST_ALL%RowType;
65   new_references IGS_FI_F_TYP_CA_INST_ALL%RowType;
66   PROCEDURE Set_Column_Values (
67     p_action IN VARCHAR2,
68     x_rowid IN VARCHAR2 DEFAULT NULL,
69     x_fee_type IN VARCHAR2 DEFAULT NULL,
70     x_fee_cal_type IN VARCHAR2 DEFAULT NULL,
71     x_fee_ci_sequence_number IN NUMBER DEFAULT NULL,
72     x_fee_type_ci_status IN VARCHAR2 DEFAULT NULL,
73     x_start_dt_alias IN VARCHAR2 DEFAULT NULL,
74     x_start_dai_sequence_number IN NUMBER DEFAULT NULL,
75     x_end_dt_alias IN VARCHAR2 DEFAULT NULL,
76     x_end_dai_sequence_number IN NUMBER DEFAULT NULL,
77     x_retro_dt_alias IN VARCHAR2 DEFAULT NULL,
78     x_retro_dai_sequence_number IN NUMBER DEFAULT NULL,
79     x_s_chg_method_type IN VARCHAR2 DEFAULT NULL,
80     x_rul_sequence_number IN NUMBER DEFAULT NULL,
81     x_org_id IN NUMBER DEFAULT NULL,
82     x_creation_date IN DATE DEFAULT NULL,
83     x_created_by IN NUMBER DEFAULT NULL,
84     x_last_update_date IN DATE DEFAULT NULL,
85     x_last_updated_by IN NUMBER DEFAULT NULL,
86     x_last_update_login IN NUMBER DEFAULT NULL,
87     x_initial_default_amount in NUMBER DEFAULT NULL,
88     x_acct_hier_id IN NUMBER DEFAULT NULL,
89     x_rec_gl_ccid IN NUMBER DEFAULT NULL,
90     x_rev_account_cd IN VARCHAR2 DEFAULT NULL,
91     x_rec_account_cd IN VARCHAR2 DEFAULT NULL,
92     x_ret_gl_ccid IN NUMBER DEFAULT NULL,
93     x_ret_account_cd IN VARCHAR2 DEFAULT NULL,
94     x_retention_level_code IN VARCHAR2 DEFAULT NULL,
95     x_complete_ret_flag IN VARCHAR2 DEFAULT NULL,
96     x_nonzero_billable_cp_flag IN VARCHAR2 DEFAULT NULL,
97     x_scope_rul_sequence_num IN NUMBER DEFAULT NULL,
98     x_elm_rng_order_name IN VARCHAR2 DEFAULT NULL,
99     X_MAX_CHG_ELEMENTS IN NUMBER DEFAULT NULL
100   ) AS
101   /*----------------------------------------------------------------------------
102   ||  Created By :
103   ||  Created On :
104   ||  Purpose :
105   ||  Known limitations, enhancements or remarks :
106   ||  Change History :
107   ||  Who             When            What
108   ||  (reverse chronological order - newest change first)
109   ||  gurprsin    16-Aug-2005      Bug# 3392088 , Added a column max_chg_elements as part of CPF build.
110   ||  gurprsin      18-Jun-2005   Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
111   ||  svuppala    13-Apr-2005      Bug 4297359 Added new field NONZERO_BILLABLE_CP_FLAG in Fee Type Calendar Instances Table
112   ||  agairola    07-Sep-2004      Enh 3316063: Retention Enhancements changes
113   ||  vvutukur        23-Jul-2002  Bug#2425767.removed parameter x_payment_hierarchy_rank
114   ||                               and its reference in copying old_references value
115   ||                               into new_references value.
116   ----------------------------------------------------------------------------*/
117     CURSOR cur_old_ref_values IS
118       SELECT   *
119       FROM     IGS_FI_F_TYP_CA_INST_ALL
120       WHERE    rowid = x_rowid;
121   BEGIN
122     l_rowid := x_rowid;
123     -- Code for setting the Old and New Reference Values.
124     -- Populate Old Values.
125     Open cur_old_ref_values;
126     Fetch cur_old_ref_values INTO old_references;
127     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
128       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
129       IGS_GE_MSG_STACK.ADD;
130       App_Exception.Raise_Exception;
131       Close cur_old_ref_values;
132       Return;
133     END IF;
134     Close cur_old_ref_values;
135     -- Populate New Values.
136     new_references.fee_type := x_fee_type;
137     new_references.fee_cal_type := x_fee_cal_type;
138     new_references.fee_ci_sequence_number := x_fee_ci_sequence_number;
139     new_references.fee_type_ci_status := x_fee_type_ci_status;
140     new_references.start_dt_alias := x_start_dt_alias;
141     new_references.start_dai_sequence_number := x_start_dai_sequence_number;
142     new_references.end_dt_alias := x_end_dt_alias;
143     new_references.end_dai_sequence_number := x_end_dai_sequence_number;
144     new_references.retro_dt_alias := x_retro_dt_alias;
145     new_references.retro_dai_sequence_number := x_retro_dai_sequence_number;
146     new_references.s_chg_method_type := x_s_chg_method_type;
147     new_references.rul_sequence_number := x_rul_sequence_number;
148     IF (p_action = 'UPDATE') THEN
149       new_references.creation_date := old_references.creation_date;
150       new_references.created_by := old_references.created_by;
151     ELSE
152       new_references.creation_date := x_creation_date;
153       new_references.created_by := x_created_by;
154     END IF;
155     new_references.org_id                 := x_org_id;
156     new_references.last_update_date       := x_last_update_date;
157     new_references.last_updated_by        := x_last_updated_by;
158     new_references.last_update_login      := x_last_update_login;
159     new_references.initial_default_amount := x_initial_default_amount;
160     new_references.acct_hier_id           := x_acct_hier_id;
161     new_references.rec_gl_ccid            := x_rec_gl_ccid;
162     new_references.rev_account_cd         := x_rev_account_cd;
163     new_references.rec_account_cd         := x_rec_account_cd;
164     new_references.ret_gl_ccid            := x_ret_gl_ccid;
165     new_references.ret_account_cd         := x_ret_account_cd;
166     new_references.retention_level_code   := x_retention_level_code;
167     new_references.complete_ret_flag      := x_complete_ret_flag;
168     new_references.nonzero_billable_cp_flag := x_nonzero_billable_cp_flag;
169     new_references.scope_rul_sequence_num      := x_scope_rul_sequence_num;
170     new_references.elm_rng_order_name    := x_elm_rng_order_name;
171     new_references.max_chg_elements      := x_max_chg_elements;
172   END Set_Column_Values;
173   -- Trigger description :-
174   -- "OSS_TST".trg_ftci_br_iud
175   -- BEFORE INSERT OR DELETE OR UPDATE
176   -- ON IGS_FI_F_TYP_CA_INST_ALL
177   -- FOR EACH ROW
178   PROCEDURE BeforeRowInsertUpdateDelete1(
179     p_inserting IN BOOLEAN DEFAULT FALSE,
180     p_updating IN BOOLEAN DEFAULT FALSE,
181     p_deleting IN BOOLEAN DEFAULT FALSE
182     ) AS
183 --CHANGE HISTORY
184 --WHO           WHEN           WHAT
185 --gurprsin    18-Jun-2005      Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
186 --vvutukur    25-jan-2002      code added for the following validation for bug 2195715:
187 --                             account hierarchy field should be updateable only if there
188 --                             exists no charge, for active fee type calendar instance.
189 
190 --Cursor to check if there exists a charge for current fee type calendar instance.
191 --created cursor by vvutukur on 25-jan-2002 for bug
192 
193   CURSOR cur_acct_hier_chrg(cp_fee_type               VARCHAR2,
194                             cp_fee_cal_type           VARCHAR2,
195                             cp_fee_ci_sequence_number NUMBER
196                            ) IS
197     SELECT 'x'
198     FROM   igs_fi_inv_int
199     WHERE  fee_type = cp_fee_type
200     AND    fee_cal_type = cp_fee_cal_type
201     AND    fee_ci_sequence_number = cp_fee_ci_sequence_number;
202 
203     l_var          VARCHAR2(1);
204     v_message_name varchar2(30);
205 
206   BEGIN
207         -- Validate Fee Type is not closed
208         IF (p_inserting OR p_updating) THEN
209                 IF IGS_FI_VAL_CFAR.finp_val_ft_closed (
210                                 new_references.fee_type,
211                                 v_message_name) = FALSE THEN
212                         Fnd_Message.Set_Name('IGS',v_message_name);
213                         IGS_GE_MSG_STACK.ADD;
214                         App_Exception.Raise_Exception;
215                 END IF;
216         END IF;
217         -- Validate Fee Type Calendar is of type FEE
218         IF (p_inserting) THEN
219                 IF IGS_FI_VAL_FCCI.finp_val_ci_fee (
220                                 new_references.fee_cal_type,
221                                 new_references.fee_ci_sequence_number,
222                                 v_message_name) = FALSE THEN
223                         Fnd_Message.Set_Name('IGS',v_message_name);
224                         IGS_GE_MSG_STACK.ADD;
225                         App_Exception.Raise_Exception;
226                 END IF;
227         END IF;
228         -- Validate Fee Type fee and fin calenders are related
229         IF p_inserting THEN
230 
231                 IF IGS_FI_VAL_FTCI.finp_val_ftci_ac (
232                                 new_references.fee_cal_type,
233                                 new_references.fee_ci_sequence_number,
234                                 v_message_name) = FALSE THEN
235                         Fnd_Message.Set_Name('IGS',v_message_name);
236                         IGS_GE_MSG_STACK.ADD;
237                         App_Exception.Raise_Exception;
238                 END IF;
239         END IF;
240         -- Validate Fee Type CI Status is not closed.
241         IF (p_inserting OR (old_references.fee_type_ci_status) <>
242                         (new_references.fee_type_ci_status)) THEN
243                 IF IGS_FI_VAL_FCCI.finp_val_fss_closed (
244                                 new_references.fee_type_ci_status,
245                                 v_message_name) = FALSE THEN
246                         Fnd_Message.Set_Name('IGS',v_message_name);
247                         IGS_GE_MSG_STACK.ADD;
248                         App_Exception.Raise_Exception;
249                 END IF;
250         END IF;
251         -- Validate status can be changed to the new value.
252         IF (p_updating AND (old_references.fee_type_ci_status) <>
253                         (new_references.fee_type_ci_status)) THEN
254                 IF IGS_FI_VAL_FTCI.finp_val_ftci_status (
255                                 new_references.fee_type,
256                                 new_references.fee_cal_type,
257                                 new_references.fee_ci_sequence_number,
258                                 new_references.fee_type_ci_status,
259                                 old_references.fee_type_ci_status,
260                                 v_message_name) = FALSE THEN
261                         Fnd_Message.Set_Name('IGS',v_message_name);
262                         IGS_GE_MSG_STACK.ADD;
263                         App_Exception.Raise_Exception;
264                 END IF;
265         END IF;
266         -- Validate the Charge Method s_chg_method_type.
267         IF (p_inserting OR (old_references.s_chg_method_type) <>
268                         (new_references.s_chg_method_type)) THEN
269                 IF IGS_FI_VAL_FTCI.finp_val_ftci_c_mthd (
270                                 new_references.fee_type,
271                                 new_references.s_chg_method_type,
272                                 v_message_name) = FALSE THEN
273                         Fnd_Message.Set_Name('IGS',v_message_name);
274                         IGS_GE_MSG_STACK.ADD;
275                         App_Exception.Raise_Exception;
276                 END IF;
277         END IF;
278         -- Validate the Start, End and Retro dates.
279         IF (p_inserting OR
280                 (old_references.start_dt_alias) <> (new_references.start_dt_alias) OR
281                 (old_references.start_dai_sequence_number) <> (new_references.start_dai_sequence_number) OR
282                 (old_references.end_dt_alias) <> (new_references.end_dt_alias) OR
283                 (old_references.end_dai_sequence_number) <> (new_references.end_dai_sequence_number) OR
284                 (old_references.retro_dt_alias) <> (new_references.retro_dt_alias) OR
285                 (old_references.retro_dai_sequence_number) <> (new_references.retro_dai_sequence_number)) THEN
286                 IF IGS_FI_VAL_FTCI.finp_val_ftci_dates (
287                                 new_references.fee_cal_type,
288                                 new_references.fee_ci_sequence_number,
289                                 new_references.start_dt_alias,
290                                 new_references.start_dai_sequence_number,
291                                 new_references.end_dt_alias,
292                                 new_references.end_dai_sequence_number,
293                                 new_references.retro_dt_alias,
294                                 new_references.retro_dai_sequence_number,
295                                 v_message_name) = FALSE THEN
296                         Fnd_Message.Set_Name('IGS',v_message_name);
297                         IGS_GE_MSG_STACK.ADD;
298                         App_Exception.Raise_Exception;
299                 END IF;
300         END IF;
301         -- Validate the required data has been entered for the Fee Type calendar status
302         IF (p_inserting OR p_updating) THEN
303                 IF IGS_FI_VAL_FTCI.finp_val_ftci_rqrd (
304                                 new_references.fee_cal_type,
305                                 new_references.fee_ci_sequence_number,
306                                 new_references.fee_type,
307                                 old_references.s_chg_method_type,
308                                 old_references.rul_sequence_number,
309                                 new_references.s_chg_method_type,
310                                 new_references.rul_sequence_number,
311                                 new_references.fee_type_ci_status,
312                                 v_message_name) = FALSE THEN
313                         Fnd_Message.Set_Name('IGS',v_message_name);
314                         IGS_GE_MSG_STACK.ADD;
315                         App_Exception.Raise_Exception;
316                 END IF;
317         END IF;
318 
319         IF (p_updating AND old_references.acct_hier_id <> new_references.acct_hier_id) THEN
320           OPEN cur_acct_hier_chrg(new_references.fee_type,
321                                   new_references.fee_cal_type,
322                                   new_references.fee_ci_sequence_number);
323           FETCH cur_acct_hier_chrg INTO l_var;
324           IF cur_acct_hier_chrg%FOUND THEN
325             CLOSE cur_acct_hier_chrg;
326             FND_MESSAGE.SET_NAME('IGS','IGS_FI_AC_HI_NT_UPD');
327             IGS_GE_MSG_STACK.ADD;
328             APP_EXCEPTION.RAISE_EXCEPTION;
329           END IF;
330           CLOSE cur_acct_hier_chrg;
331         END IF;
332   END BeforeRowInsertUpdateDelete1;
333   -- Trigger description :-
334   -- "OSS_TST".trg_ftci_ar_u_hist
335   -- AFTER UPDATE
336   -- ON IGS_FI_F_TYP_CA_INST_ALL
337   -- FOR EACH ROW
338   PROCEDURE AfterRowUpdate3(
339     p_inserting IN BOOLEAN DEFAULT FALSE,
340     p_updating IN BOOLEAN DEFAULT FALSE,
341     p_deleting IN BOOLEAN DEFAULT FALSE
342     ) AS
343   /*----------------------------------------------------------------------------
344   ||  Created By :
345   ||  Created On :
346   ||  Purpose :
347   ||  Known limitations, enhancements or remarks :
348   ||  Change History :
349   ||  Who             When            What
350   ||  (reverse chronological order - newest change first)
351   ||  gurprsin      18-Jun-2005   Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
352   ||  svuppala        13-Apr-2005  Bug 4297359 New field "nonzero_billable_cp_flag"
353   ||  vvutukur        23-Jul-2002  Bug#2425767.removed payment_hierarchy_rank references(from call to
354   ||                               IGS_FI_GEN_002.FINP_INS_FTCI_HIST.
355   ----------------------------------------------------------------------------*/
356   BEGIN
357         -- create a history
358         IGS_FI_GEN_002.FINP_INS_FTCI_HIST(old_references.fee_type,
359                 old_references.fee_cal_type,
360                 old_references.fee_ci_sequence_number,
361                 new_references.fee_type_ci_status,
362                 old_references.fee_type_ci_status,
363                 new_references.start_dt_alias,
364                 old_references.start_dt_alias,
365                 new_references.start_dai_sequence_number,
366                 old_references.start_dai_sequence_number,
367                 new_references.end_dt_alias,
368                 old_references.end_dt_alias,
369                 new_references.end_dai_sequence_number,
370                 old_references.end_dai_sequence_number,
371                 new_references.retro_dt_alias,
372                 old_references.retro_dt_alias,
373                 new_references.retro_dai_sequence_number,
374                 old_references.retro_dai_sequence_number,
375                 new_references.s_chg_method_type,
376                 old_references.s_chg_method_type,
377                 new_references.rul_sequence_number,
378                 old_references.rul_sequence_number,
379                 new_references.last_updated_by,
380                 old_references.last_updated_by,
381                 new_references.last_update_date,
382                 old_references.last_update_date,
383                 -- msrinivi : 1882122 Commented due to leap frog
384                 -- msrinivi: 1882122 Uncommented after leapfrog
385                --msrinivi: 1956374 Commented due to leap frog
386                --msrinivi: 1956374 Uncommented after leap frog
387                  new_references.initial_default_amount,
388                  old_references.initial_default_amount,
389                  new_references.nonzero_billable_cp_flag,
390                  old_references.nonzero_billable_cp_flag
391        );
392   END AfterRowUpdate3;
393 
394   -- As part of bug fix of bug#2403209 the following procedure has been commented out NOCOPY
395 
396   -- Trigger description :-
397   -- "OSS_TST".trg_ftci_as_iu
398   -- AFTER INSERT OR UPDATE
399   -- ON IGS_FI_F_TYP_CA_INST_ALL
400   PROCEDURE Check_Constraints (
401     column_name  IN  VARCHAR2 DEFAULT NULL,
402     column_value IN  VARCHAR2 DEFAULT NULL
403   ) AS
404   /*----------------------------------------------------------------------------
405   ||  Created By :
406   ||  Created On :
407   ||  Purpose :
408   ||  Known limitations, enhancements or remarks :
409   ||  Change History :
410   ||  Who             When            What
411   ||  (reverse chronological order - newest change first)
412   ||  gurprsin      16-Aug-2005   Bug# 3392088 , Added a column max_chg_elements as part of CPF build.
413   ||  gurprsin      18-Jun-2005   Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
414   ||  svuppala        13-Apr-2005   Bug 4297359 Added new field NONZERO_BILLABLE_CP_FLAG in Fee Type Calendar Instances Table
415   ||  shtatiko        13-MAY-2003   Enh# 2831572, Check for ACC_HIER_ID is done only
416   ||                                if Oracle General Ledger is installed
417   ||  vvutukur        20-May-2002   removed upper check constraint on fee_type,
418   ||                            fee_type_ci_status(alias of fee_structure_status) columns.bug#2344826.
419   ----------------------------------------------------------------------------*/
420   l_v_rec_installed igs_fi_control_all.rec_installed%TYPE;
421 
422   BEGIN
423     IF (column_name IS NULL) THEN
424       NULL;
425     ELSIF (UPPER (column_name) = 'END_DT_ALIAS') THEN
426       new_references.end_dt_alias := column_value;
427     ELSIF (UPPER (column_name) = 'FEE_CAL_TYPE') THEN
428       new_references.fee_cal_type := column_value;
429     ELSIF (UPPER (column_name) = 'RETRO_DT_ALIAS') THEN
430       new_references.retro_dt_alias := column_value;
431     ELSIF (UPPER (column_name) = 'START_DT_ALIAS') THEN
432       new_references.start_dt_alias := column_value;
433     ELSIF (UPPER (column_name) = 'S_CHG_METHOD_TYPE') THEN
434       new_references.s_chg_method_type := column_value;
435     ELSIF (UPPER (column_name) = 'START_DAI_SEQUENCE_NUMBER') THEN
436       new_references.start_dai_sequence_number := IGS_GE_NUMBER.TO_NUM (column_value);
437     ELSIF (UPPER (column_name) = 'RETRO_DAI_SEQUENCE_NUMBER') THEN
438       new_references.retro_dai_sequence_number := IGS_GE_NUMBER.TO_NUM (column_value);
439     ELSIF (UPPER (column_name) = 'END_DAI_SEQUENCE_NUMBER') THEN
440       new_references.end_dai_sequence_number := IGS_GE_NUMBER.TO_NUM (column_value);
441     ELSIF (UPPER (column_name) = 'RUL_SEQUENCE_NUMBER') THEN
442       new_references.rul_sequence_number := IGS_GE_NUMBER.TO_NUM (column_value);
443     ELSIF (UPPER (column_name) = 'FEE_CI_SEQUENCE_NUMBER') THEN
444       new_references.fee_ci_sequence_number := IGS_GE_NUMBER.TO_NUM (column_value);
445 
446     --Removed IF condition related to subaccount_id, as part of Bug 2175865
447 
448     ELSIF (UPPER (column_name) = 'INITIAL_DEFAULT_AMOUNT') THEN
449       new_references.initial_default_amount := IGS_GE_NUMBER.TO_NUM (column_value);
450     ELSIF (UPPER(column_name) = 'ACCT_HIER_ID') THEN
451       new_references.acct_hier_id := column_value;
452     ELSIF (UPPER(column_name) = 'RETENTION_LEVEL_CODE') THEN
453       new_references.retention_level_code := column_value;
454     ELSIF (UPPER(column_name) = 'COMPLETE_RET_FLAG') THEN
455       new_references.complete_ret_flag := column_value;
456     ELSIF (UPPER(column_name) = 'NONZERO_BILLABLE_CP_FLAG') THEN
457       new_references.nonzero_billable_cp_flag := column_value;
458     ELSIF (UPPER(column_name) = 'scope_rul_sequence_num') THEN
459       new_references.scope_rul_sequence_num := IGS_GE_NUMBER.TO_NUM (column_value);
460     ELSIF (UPPER(column_name) = 'ELM_RNG_ORDER_NAME') THEN
461       new_references.elm_rng_order_name := column_value;
462     ELSIF (UPPER(column_name) = 'MAX_CHG_ELEMENTS') THEN
463       new_references.max_chg_elements := column_value;
464     END IF;
465 
466 
467     -- Fetch the value of rec_installed
468     l_v_rec_installed := igs_fi_gen_005.finp_get_receivables_inst;
469 
470     IF ((UPPER (column_name) = 'END_DT_ALIAS') OR (column_name IS NULL)) THEN
471       IF (new_references.end_dt_alias <> UPPER (new_references.end_dt_alias)) THEN
472         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
473         IGS_GE_MSG_STACK.ADD;
474         App_Exception.Raise_Exception;
475       END IF;
476     END IF;
477     IF ((UPPER (column_name) = 'FEE_CAL_TYPE') OR (column_name IS NULL)) THEN
478       IF (new_references.fee_cal_type <> UPPER (new_references.fee_cal_type)) THEN
479         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
480         IGS_GE_MSG_STACK.ADD;
481         App_Exception.Raise_Exception;
482       END IF;
483     END IF;
484     IF ((UPPER (column_name) = 'RETRO_DT_ALIAS') OR (column_name IS NULL)) THEN
485       IF (new_references.retro_dt_alias <> UPPER (new_references.retro_dt_alias)) THEN
486         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
487         IGS_GE_MSG_STACK.ADD;
488         App_Exception.Raise_Exception;
489       END IF;
490     END IF;
491     IF ((UPPER (column_name) = 'START_DT_ALIAS') OR (column_name IS NULL)) THEN
492       IF (new_references.start_dt_alias <> UPPER (new_references.start_dt_alias)) THEN
493         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
494         IGS_GE_MSG_STACK.ADD;
495         App_Exception.Raise_Exception;
496       END IF;
497     END IF;
498     IF ((UPPER (column_name) = 'S_CHG_METHOD_TYPE') OR (column_name IS NULL)) THEN
499       IF (new_references.s_chg_method_type <> UPPER (new_references.s_chg_method_type)) THEN
500         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
501         IGS_GE_MSG_STACK.ADD;
502         App_Exception.Raise_Exception;
503       END IF;
504     END IF;
505     IF ((UPPER (column_name) = 'START_DAI_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
506       IF ((new_references.start_dai_sequence_number < 1) OR (new_references.start_dai_sequence_number > 999999)) THEN
507         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
508         IGS_GE_MSG_STACK.ADD;
509         App_Exception.Raise_Exception;
510       END IF;
511     END IF;
512     IF ((UPPER (column_name) = 'RETRO_DAI_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
513       IF ((new_references.retro_dai_sequence_number < 1) OR (new_references.retro_dai_sequence_number > 999999)) THEN
514         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
515         IGS_GE_MSG_STACK.ADD;
516         App_Exception.Raise_Exception;
517       END IF;
518     END IF;
519     IF ((UPPER (column_name) = 'END_DAI_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
520       IF ((new_references.end_dai_sequence_number < 1) OR (new_references.end_dai_sequence_number >999999)) THEN
521         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
522         IGS_GE_MSG_STACK.ADD;
523         App_Exception.Raise_Exception;
524       END IF;
525     END IF;
526 
527     IF ((UPPER (column_name) = 'RUL_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
528       IF ((new_references.rul_sequence_number < 1) OR (new_references.rul_sequence_number > 999999))
529  THEN
530         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
531         IGS_GE_MSG_STACK.ADD;
532         App_Exception.Raise_Exception;
533       END IF;
534     END IF;
535     IF ((UPPER (column_name) = 'FEE_CI_SEQUENCE_NUMBER') OR (column_name IS NULL)) THEN
536       IF ((new_references.fee_ci_sequence_number < 1) OR (new_references.fee_ci_sequence_number > 999999)) THEN
537         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
538         IGS_GE_MSG_STACK.ADD;
539         App_Exception.Raise_Exception;
540       END IF;
541     END IF;
542     --Removed IF related to subaccount_id,as part of Bug 2175865
543 
544     IF ((UPPER (column_name) = 'INITIAL_DEFAULT_AMOUNT') OR (column_name IS NULL)) THEN
545       IF ((new_references.initial_default_amount < 0) OR (new_references.initial_default_amount > 999999.99)) THEN
546         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
547         IGS_GE_MSG_STACK.ADD;
548         App_Exception.Raise_Exception;
549       END IF;
550     END IF;
551 --msrinivi : bug 1882122  Account hier id is not null
552     -- Validation of Account Hierarchy Id should be done only if Oracle General Ledger is installed.
553     IF l_v_rec_installed = 'Y'
554        AND (UPPER(column_name) = 'ACCT_HIER_ID'
555             OR (column_name IS NULL)) THEN
556       IF new_references.acct_hier_id IS NULL THEN
557         FND_MESSAGE.SET_NAME('IGS', 'IGS_GE_INVALID_VALUE');
558         IGS_GE_MSG_STACK.ADD;
559         APP_EXCEPTION.RAISE_EXCEPTION;
560       END IF;
561     END IF;
562 
563     IF ((UPPER (column_name) = 'COMPLETE_RET_FLAG') OR (column_name IS NULL)) THEN
564       IF (new_references.complete_ret_flag NOT IN ('Y','N') OR new_references.complete_ret_flag IS NULL) THEN
565         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
566         IGS_GE_MSG_STACK.ADD;
567         App_Exception.Raise_Exception;
568       END IF;
569     END IF;
570 
571     IF ((UPPER (column_name) = 'NONZERO_BILLABLE_CP_FLAG') OR (column_name IS NULL)) THEN
572       IF (new_references.nonzero_billable_cp_flag NOT IN ('Y','N') OR new_references.nonzero_billable_cp_flag IS NULL) THEN
573         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
574         IGS_GE_MSG_STACK.ADD;
575         App_Exception.Raise_Exception;
576       END IF;
577     END IF;
578 
579     IF ((UPPER (column_name) = 'scope_rul_sequence_num') OR (column_name IS NULL)) THEN
580       IF ((new_references.scope_rul_sequence_num < 1) OR (new_references.scope_rul_sequence_num > 999999)) THEN
581         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
582         IGS_GE_MSG_STACK.ADD;
583         App_Exception.Raise_Exception;
584       END IF;
585     END IF;
586 
587     IF ((UPPER (column_name) = 'ELM_RNG_ORDER_NAME') OR (column_name IS NULL)) THEN
588       IF (new_references.elm_rng_order_name <> UPPER (new_references.elm_rng_order_name)) THEN
589         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
590         IGS_GE_MSG_STACK.ADD;
591         App_Exception.Raise_Exception;
592       END IF;
593     END IF;
594 
595     IF ((UPPER (column_name) = 'MAX_CHG_ELEMENTS') OR (column_name IS NULL)) THEN
596      IF ((new_references.max_chg_elements < 0) OR (new_references.max_chg_elements > 9999999.999)) THEN
597         Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
598         IGS_GE_MSG_STACK.ADD;
599         App_Exception.Raise_Exception;
600       END IF;
601     END IF;
602 
603   END Check_Constraints;
604 
605   PROCEDURE Check_Parent_Existance IS
606     CURSOR c_gl_code_combinations_pk IS
607       SELECT 'X'
608       FROM GL_CODE_COMBINATIONS
609       WHERE code_combination_id = new_references.rec_gl_ccid;
610     l_ccid_temp c_gl_code_combinations_pk%ROWTYPE;
611 
612   BEGIN
613     IF (((old_references.fee_cal_type = new_references.fee_cal_type) AND
614          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
615         ((new_references.fee_cal_type IS NULL) OR
616          (new_references.fee_ci_sequence_number IS NULL))) THEN
617       NULL;
618     ELSE
619       IF NOT IGS_CA_INST_PKG.Get_PK_For_Validation (
620                new_references.fee_cal_type,
621                new_references.fee_ci_sequence_number
622                ) THEN
623         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
624         IGS_GE_MSG_STACK.ADD;
625         App_Exception.Raise_Exception;
626       END IF;
627     END IF;
628 
629     IF ((old_references.rec_account_cd = new_references.rec_account_cd) OR
630          (new_references.rec_account_cd IS NULL)) THEN
631       NULL;
632     ELSE
633       IF NOT IGS_FI_ACC_PKG.Get_PK_For_Validation (
634                new_references.rec_account_cd
635                ) THEN
636         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
637         IGS_GE_MSG_STACK.ADD;
638         App_Exception.Raise_Exception;
639       END IF;
640     END IF;
641     IF ((old_references.rev_account_cd = new_references.rev_account_cd) OR
642          (new_references.rev_account_cd IS NULL)) THEN
643       NULL;
644     ELSE
645       IF NOT IGS_FI_ACC_PKG.Get_PK_For_Validation (
646                new_references.rev_account_cd
647                ) THEN
648         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
649         IGS_GE_MSG_STACK.ADD;
650         App_Exception.Raise_Exception;
651       END IF;
652     END IF;
653 
654     IF (((old_references.end_dt_alias = new_references.end_dt_alias) AND
655          (old_references.end_dai_sequence_number = new_references.end_dai_sequence_number) AND
656          (old_references.fee_cal_type = new_references.fee_cal_type) AND
657          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
658         ((new_references.end_dt_alias IS NULL) OR
659          (new_references.end_dai_sequence_number IS NULL) OR
660          (new_references.fee_cal_type IS NULL) OR
661          (new_references.fee_ci_sequence_number IS NULL))) THEN
662       NULL;
663     ELSE
664       IF NOT IGS_CA_DA_INST_PKG.Get_PK_For_Validation (
665                new_references.end_dt_alias,
666                new_references.end_dai_sequence_number,
667                new_references.fee_cal_type,
668                new_references.fee_ci_sequence_number
669                ) THEN
670         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
671         IGS_GE_MSG_STACK.ADD;
672         App_Exception.Raise_Exception;
673       END IF;
674     END IF;
675     IF (((old_references.fee_type_ci_status = new_references.fee_type_ci_status)) OR
676         ((new_references.fee_type_ci_status IS NULL))) THEN
677       NULL;
678     ELSE
679       IF NOT IGS_FI_FEE_STR_STAT_PKG.Get_PK_For_Validation (
680                new_references.fee_type_ci_status
681                ) THEN
682         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
683         IGS_GE_MSG_STACK.ADD;
684         App_Exception.Raise_Exception;
685       END IF;
686     END IF;
687     IF (((old_references.fee_type = new_references.fee_type)) OR
688         ((new_references.fee_type IS NULL))) THEN
689       NULL;
690     ELSE
691       IF NOT IGS_FI_FEE_TYPE_PKG.Get_PK_For_Validation (
692                new_references.fee_type
693                ) THEN
694         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
695         IGS_GE_MSG_STACK.ADD;
696         App_Exception.Raise_Exception;
697       END IF;
698     END IF;
699     IF (((old_references.retro_dt_alias = new_references.retro_dt_alias) AND
700          (old_references.retro_dai_sequence_number = new_references.retro_dai_sequence_number) AND
701          (old_references.fee_cal_type = new_references.fee_cal_type) AND
702          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
703         ((new_references.retro_dt_alias IS NULL) OR
704          (new_references.retro_dai_sequence_number IS NULL) OR
705          (new_references.fee_cal_type IS NULL) OR
706          (new_references.fee_ci_sequence_number IS NULL))) THEN
707       NULL;
708     ELSE
709       IF NOT IGS_CA_DA_INST_PKG.Get_PK_For_Validation (
710                new_references.retro_dt_alias,
711                new_references.retro_dai_sequence_number,
712                new_references.fee_cal_type,
713                new_references.fee_ci_sequence_number
714                ) THEN
715         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
716         IGS_GE_MSG_STACK.ADD;
717         App_Exception.Raise_Exception;
718       END IF;
719     END IF;
720     IF (((old_references.rul_sequence_number = new_references.rul_sequence_number)) OR
721         ((new_references.rul_sequence_number IS NULL))) THEN
722       NULL;
723     ELSE
724       IF NOT IGS_RU_RULE_PKG.Get_PK_For_Validation (
725                new_references.rul_sequence_number
726                ) THEN
727         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
728         IGS_GE_MSG_STACK.ADD;
729         App_Exception.Raise_Exception;
730       END IF;
731     END IF;
732     IF (((old_references.start_dt_alias = new_references.start_dt_alias) AND
733          (old_references.start_dai_sequence_number = new_references.start_dai_sequence_number) AND
734          (old_references.fee_cal_type = new_references.fee_cal_type) AND
735          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
736         ((new_references.start_dt_alias IS NULL) OR
737          (new_references.start_dai_sequence_number IS NULL) OR
738          (new_references.fee_cal_type IS NULL) OR
739          (new_references.fee_ci_sequence_number IS NULL))) THEN
740       NULL;
741     ELSE
742       IF NOT IGS_CA_DA_INST_PKG.Get_PK_For_Validation (
743                new_references.start_dt_alias,
744                new_references.start_dai_sequence_number,
745                new_references.fee_cal_type,
746                new_references.fee_ci_sequence_number
747                ) THEN
748         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
749         IGS_GE_MSG_STACK.ADD;
750         App_Exception.Raise_Exception;
751       END IF;
752     END IF;
753     --Added by msrinivi for bug 1882122
754     IF ( (old_references.acct_hier_id = new_references.acct_hier_id) OR
755         --commented by sarakshi, as a part of SFCR012,
756         --(old_references.acct_hier_id IS NULL AND
757         (new_references.acct_hier_id IS NULL))
758     THEN
759       NULL;
760     ELSE
761       IF NOT  IGS_FI_HIER_ACCOUNTS_PKG.get_pk_for_validation(
762          new_references.acct_hier_id) THEN
763          FND_MESSAGE.set_name ('FND', 'FORM_RECORD_DELETED');
764         IGS_GE_MSG_STACK.ADD;
765          App_Exception.Raise_Exception;
766       END IF;
767     END IF;
768     --Added by msrinivi for bug 1882122
769     IF ( (old_references.rec_gl_ccid = new_references.rec_gl_ccid) OR
770         --commented by sarakshi, as a part of SFCR012,
771         -- (old_references.rec_gl_ccid IS NULL AND
772           (new_references.rec_gl_ccid IS NULL))
773     THEN
774       NULL;
775     ELSE
776       OPEN c_gl_code_combinations_pk;
777       FETCH c_gl_code_combinations_pk INTO l_ccid_temp;
778       IF c_gl_code_combinations_pk%NOTFOUND THEN
779          CLOSE c_gl_code_combinations_pk;
780          FND_MESSAGE.set_name ('FND', 'FORM_RECORD_DELETED');
781          IGS_GE_MSG_STACK.ADD;
782          App_Exception.Raise_Exception;
783       END IF;
784       IF c_gl_code_combinations_pk%ISOPEN THEN
785         CLOSE c_gl_code_combinations_pk;
786       END IF;
787     END IF;
788 
789     -- Added by jbegum for bug #2113459
790     IF ((old_references.ret_account_cd = new_references.ret_account_cd) OR
791          (new_references.ret_account_cd IS NULL)) THEN
792       NULL;
793     ELSE
794       IF NOT IGS_FI_ACC_PKG.Get_PK_For_Validation (
795                new_references.ret_account_cd
796                ) THEN
797         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
798         IGS_GE_MSG_STACK.ADD;
799         App_Exception.Raise_Exception;
800       END IF;
801     END IF;
802 
803     IF ((old_references.retention_level_code = new_references.retention_level_code) OR
804          (new_references.retention_level_code IS NULL)) THEN
805       NULL;
806     ELSE
807       IF NOT IGS_LOOKUPS_VIEW_PKG.Get_PK_For_Validation (
808                'IGS_FI_RET_LEVEL',
809                new_references.retention_level_code
810                ) THEN
811         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
812         IGS_GE_MSG_STACK.ADD;
813         App_Exception.Raise_Exception;
814       END IF;
815     END IF;
816 
817     IF ((old_references.elm_rng_order_name = new_references.elm_rng_order_name) OR
818          (new_references.elm_rng_order_name IS NULL)) THEN
819       NULL;
820     ELSE
821       IF NOT IGS_FI_ELM_RNG_ORDS_PKG.Get_PK_For_Validation (
822                new_references.elm_rng_order_name
823                ) THEN
824         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
825         IGS_GE_MSG_STACK.ADD;
826         App_Exception.Raise_Exception;
827       END IF;
828     END IF;
829 
830     IF (((old_references.scope_rul_sequence_num = new_references.scope_rul_sequence_num)) OR
831         ((new_references.scope_rul_sequence_num IS NULL))) THEN
832       NULL;
833     ELSE
834       IF NOT IGS_RU_RULE_PKG.Get_PK_For_Validation (
835                new_references.scope_rul_sequence_num
836                ) THEN
837         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
838         IGS_GE_MSG_STACK.ADD;
839         App_Exception.Raise_Exception;
840       END IF;
841     END IF;
842 
843   END Check_Parent_Existance;
844 
845 
846   FUNCTION Get_PK_For_Validation (
847     x_fee_type IN VARCHAR2,
848     x_fee_cal_type IN VARCHAR2,
849     x_fee_ci_sequence_number IN NUMBER
850     ) RETURN BOOLEAN AS
851   ------------------------------------------------------------------
852   --Change History:
853   --Who         When            What
854   --pathipat    11-Feb-2003     Enh 2747325 - Locking Issues Build
855   --                            Removed FOR UPDATE NOWAIT clause in cursor cur_rowid
856   -------------------------------------------------------------------
857 
858     CURSOR cur_rowid IS
859       SELECT   rowid
860       FROM     IGS_FI_F_TYP_CA_INST_ALL
861       WHERE    fee_type = x_fee_type
862       AND      fee_cal_type = x_fee_cal_type
863       AND      fee_ci_sequence_number = x_fee_ci_sequence_number;
864 
865     lv_rowid cur_rowid%RowType;
866   BEGIN
867     Open cur_rowid;
868     Fetch cur_rowid INTO lv_rowid;
869     IF (cur_rowid%FOUND) THEN
870       Close cur_rowid;
871       Return (TRUE);
872     ELSE
873       Close cur_rowid;
874       Return (FALSE);
875     END IF;
876   END Get_PK_For_Validation;
877 
878 
879   PROCEDURE GET_FK_IGS_CA_INST (
880     x_cal_type IN VARCHAR2,
881     x_sequence_number IN NUMBER
882     ) AS
883     CURSOR cur_rowid IS
884       SELECT   rowid
885       FROM     IGS_FI_F_TYP_CA_INST_ALL
886       WHERE    fee_cal_type = x_cal_type
887       AND      fee_ci_sequence_number = x_sequence_number ;
888     lv_rowid cur_rowid%RowType;
889   BEGIN
890     Open cur_rowid;
891     Fetch cur_rowid INTO lv_rowid;
892     IF (cur_rowid%FOUND) THEN
893       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FTCI_CI_FK');
894       IGS_GE_MSG_STACK.ADD;
895       App_Exception.Raise_Exception;
896       Close cur_rowid;
897       Return;
898     END IF;
899     Close cur_rowid;
900   END GET_FK_IGS_CA_INST;
901 
902 
903   PROCEDURE GET_FK_IGS_CA_DA_INST (
904     x_dt_alias IN VARCHAR2,
905     x_sequence_number IN NUMBER,
906     x_cal_type IN VARCHAR2,
907     x_ci_sequence_number IN NUMBER
908     ) AS
909     CURSOR cur_rowid IS
910       SELECT   rowid
911       FROM     IGS_FI_F_TYP_CA_INST_ALL
912       WHERE    (end_dt_alias = x_dt_alias
913       AND      end_dai_sequence_number = x_sequence_number
914       AND      fee_cal_type = x_cal_type
915       AND      fee_ci_sequence_number = x_ci_sequence_number)
916       OR       (retro_dt_alias = x_dt_alias
917       AND      retro_dai_sequence_number = x_sequence_number
918       AND      fee_cal_type = x_cal_type
919       AND      fee_ci_sequence_number = x_ci_sequence_number)
920       OR       (start_dt_alias = x_dt_alias
921       AND      start_dai_sequence_number = x_sequence_number
922       AND      fee_cal_type = x_cal_type
923       AND      fee_ci_sequence_number = x_ci_sequence_number);
924     lv_rowid cur_rowid%RowType;
925   BEGIN
926     Open cur_rowid;
927     Fetch cur_rowid INTO lv_rowid;
928     IF (cur_rowid%FOUND) THEN
929       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FTCI_END_DAI_FK');
930       IGS_GE_MSG_STACK.ADD;
931       App_Exception.Raise_Exception;
932       Close cur_rowid;
933       Return;
934     END IF;
935     Close cur_rowid;
936   END GET_FK_IGS_CA_DA_INST;
937 
938   PROCEDURE GET_FK_IGS_FI_FEE_STR_STAT (
939     x_fee_structure_status IN VARCHAR2
940     ) AS
941     CURSOR cur_rowid IS
942       SELECT   rowid
943       FROM     IGS_FI_F_TYP_CA_INST_ALL
944       WHERE    fee_type_ci_status = x_fee_structure_status ;
945     lv_rowid cur_rowid%RowType;
946   BEGIN
947     Open cur_rowid;
948     Fetch cur_rowid INTO lv_rowid;
949     IF (cur_rowid%FOUND) THEN
950       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FTCI_FSST_FK');
951       IGS_GE_MSG_STACK.ADD;
952       App_Exception.Raise_Exception;
953       Close cur_rowid;
954       Return;
955     END IF;
956     Close cur_rowid;
957   END GET_FK_IGS_FI_FEE_STR_STAT;
958 
959   --Removed the procedure get_fk_igs_fi_subaccts_all as part of Bug 2175865
960 
961   PROCEDURE GET_FK_IGS_RU_RULE (
962     x_sequence_number IN NUMBER
963     ) AS
964     CURSOR cur_rowid IS
965       SELECT   rowid
966       FROM     IGS_FI_F_TYP_CA_INST_ALL
967       WHERE    rul_sequence_number = x_sequence_number ;
968     lv_rowid cur_rowid%RowType;
969   BEGIN
970     Open cur_rowid;
971     Fetch cur_rowid INTO lv_rowid;
972     IF (cur_rowid%FOUND) THEN
973       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FTCI_RUL_FK');
974       IGS_GE_MSG_STACK.ADD;
975       App_Exception.Raise_Exception;
976       Close cur_rowid;
977       Return;
978     END IF;
979     Close cur_rowid;
980   END GET_FK_IGS_RU_RULE;
981 
982   PROCEDURE GET_FK_IGS_LOOKUPS_VIEW (
983     x_s_chg_method_type IN VARCHAR2
984     ) AS
985     CURSOR cur_rowid IS
986       SELECT   rowid
987       FROM     IGS_FI_F_TYP_CA_INST_ALL
988       WHERE    s_chg_method_type = x_s_chg_method_type ;
989     lv_rowid cur_rowid%RowType;
990   BEGIN
991     Open cur_rowid;
992     Fetch cur_rowid INTO lv_rowid;
993     IF (cur_rowid%FOUND) THEN
994       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FTCI_SLV_FK');
995       IGS_GE_MSG_STACK.ADD;
996       App_Exception.Raise_Exception;
997       Close cur_rowid;
998       Return;
999     END IF;
1000     Close cur_rowid;
1001   END GET_FK_IGS_LOOKUPS_VIEW ;
1002 
1003   PROCEDURE GET_FK_IGS_FI_ELM_RNG_ORDS (
1004     x_elm_rng_order_name IN VARCHAR2
1005     ) AS
1006     CURSOR cur_rowid IS
1007       SELECT   rowid
1008       FROM     IGS_FI_F_TYP_CA_INST_ALL
1009       WHERE    elm_rng_order_name = x_elm_rng_order_name ;
1010     lv_rowid cur_rowid%RowType;
1011   BEGIN
1012     Open cur_rowid;
1013     Fetch cur_rowid INTO lv_rowid;
1014     IF (cur_rowid%FOUND) THEN
1015       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FERO_FTCI_FK1');
1016       IGS_GE_MSG_STACK.ADD;
1017       App_Exception.Raise_Exception;
1018       Close cur_rowid;
1019       Return;
1020     END IF;
1021     Close cur_rowid;
1022   END GET_FK_IGS_FI_ELM_RNG_ORDS ;
1023 
1024   PROCEDURE GET_FK1_IGS_RU_RULE (
1025     x_scope_rul_sequence_num IN NUMBER
1026     ) AS
1027     CURSOR cur_rowid IS
1028       SELECT   rowid
1029       FROM     IGS_FI_F_TYP_CA_INST_ALL
1030       WHERE    scope_rul_sequence_num = x_scope_rul_sequence_num ;
1031     lv_rowid cur_rowid%RowType;
1032   BEGIN
1033     Open cur_rowid;
1034     Fetch cur_rowid INTO lv_rowid;
1035     IF (cur_rowid%FOUND) THEN
1036       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FERO_FTCI_FK2');
1037       IGS_GE_MSG_STACK.ADD;
1038       App_Exception.Raise_Exception;
1039       Close cur_rowid;
1040       Return;
1041     END IF;
1042     Close cur_rowid;
1043   END GET_FK1_IGS_RU_RULE;
1044 
1045   PROCEDURE Before_DML (
1046     p_action IN VARCHAR2,
1047     x_rowid IN VARCHAR2 DEFAULT NULL,
1048     x_fee_type IN VARCHAR2 DEFAULT NULL,
1049     x_fee_cal_type IN VARCHAR2 DEFAULT NULL,
1050     x_fee_ci_sequence_number IN NUMBER DEFAULT NULL,
1051     x_fee_type_ci_status IN VARCHAR2 DEFAULT NULL,
1052     x_start_dt_alias IN VARCHAR2 DEFAULT NULL,
1053     x_start_dai_sequence_number IN NUMBER DEFAULT NULL,
1054     x_end_dt_alias IN VARCHAR2 DEFAULT NULL,
1055     x_end_dai_sequence_number IN NUMBER DEFAULT NULL,
1056     x_retro_dt_alias IN VARCHAR2 DEFAULT NULL,
1057     x_retro_dai_sequence_number IN NUMBER DEFAULT NULL,
1058     x_s_chg_method_type IN VARCHAR2 DEFAULT NULL,
1059     x_rul_sequence_number IN NUMBER DEFAULT NULL,
1060     x_org_id IN NUMBER DEFAULT NULL,
1061     x_creation_date IN DATE DEFAULT NULL,
1062     x_created_by IN NUMBER DEFAULT NULL,
1063     x_last_update_date IN DATE DEFAULT NULL,
1064     x_last_updated_by IN NUMBER DEFAULT NULL,
1065     x_last_update_login IN NUMBER DEFAULT NULL,
1066     x_initial_default_amount IN NUMBER DEFAULT NULL,
1067     x_acct_hier_id IN NUMBER DEFAULT NULL,
1068     x_rec_gl_ccid IN NUMBER DEFAULT NULL,
1069     x_rev_account_cd IN VARCHAR2 DEFAULT NULL,
1070     x_rec_account_cd IN VARCHAR2 DEFAULT NULL,
1071     x_ret_gl_ccid IN NUMBER DEFAULT NULL,
1072     x_ret_account_cd IN VARCHAR2 DEFAULT NULL,
1073     x_retention_level_code IN VARCHAR2 DEFAULT NULL,
1074     x_complete_ret_flag IN VARCHAR2 DEFAULT NULL,
1075     x_nonzero_billable_cp_flag IN VARCHAR2 DEFAULT NULL,
1076     x_scope_rul_sequence_num IN NUMBER DEFAULT NULL,
1077     x_elm_rng_order_name IN VARCHAR2 DEFAULT NULL,
1078     X_MAX_CHG_ELEMENTS IN NUMBER DEFAULT NULL
1079   ) AS
1080   /*----------------------------------------------------------------------------
1081   ||  Created By :
1082   ||  Created On :
1083   ||  Purpose :
1084   ||  Known limitations, enhancements or remarks :
1085   ||  Change History :
1086   ||  Who             When            What
1087   ||  (reverse chronological order - newest change first)
1088   ||  gurprsin      16-Aug-2005   Bug# 3392088 , Added a column max_chg_elements as part of CPF build.
1089   ||  gurprsin      18-Jun-2005   Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
1090   ||  svuppala    13-Apr-2005      Bug 4297359 Added new field NONZERO_BILLABLE_CP_FLAG in Fee Type Calendar Instances Table
1091   ||  agairola    07-Sep-2004      Enh 3316063: Retention Enhancements changes
1092   ||  pathipat        11-Feb-2003     Enh 2747325 - Locking Issues Build
1093   ||                                  Removed code for p_action = 'DELETE' and 'VALIDATE-DELETE'
1094   ||  vvutukur        23-Jul-2002     Bug#2425767.removed parameter x_payment_hierarchy_rank
1095   ||                                  and its references(from call to set_column_values).
1096   ----------------------------------------------------------------------------*/
1097   BEGIN
1098     Set_Column_Values (
1099       p_action,
1100       x_rowid,
1101       x_fee_type,
1102       x_fee_cal_type,
1103       x_fee_ci_sequence_number,
1104       x_fee_type_ci_status,
1105       x_start_dt_alias,
1106       x_start_dai_sequence_number,
1107       x_end_dt_alias,
1108       x_end_dai_sequence_number,
1109       x_retro_dt_alias,
1110       x_retro_dai_sequence_number,
1111       x_s_chg_method_type,
1112       x_rul_sequence_number,
1113       x_org_id,
1114       x_creation_date,
1115       x_created_by,
1116       x_last_update_date,
1117       x_last_updated_by,
1118       x_last_update_login,
1119       x_initial_default_amount,
1120       x_acct_hier_id ,
1121       x_rec_gl_ccid ,
1122       x_rev_account_cd,
1123       x_rec_account_cd,
1124       x_ret_gl_ccid ,
1125       x_ret_account_cd,
1126       x_retention_level_code,
1127       x_complete_ret_flag,
1128       x_nonzero_billable_cp_flag,
1129       x_scope_rul_sequence_num,
1130       x_elm_rng_order_name,
1131       x_max_chg_elements
1132     );
1133     IF (p_action = 'INSERT') THEN
1134       -- Call all the procedures related to Before Insert.
1135       BeforeRowInsertUpdateDelete1 ( p_inserting => TRUE );
1136       IF (Get_PK_For_Validation (
1137             new_references.fee_type,
1138             new_references.fee_cal_type,
1139             new_references.fee_ci_sequence_number
1140             )) THEN
1141         Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
1142         IGS_GE_MSG_STACK.ADD;
1143         App_Exception.Raise_Exception;
1144       END IF;
1145       Check_Constraints;
1146       Check_Parent_Existance;
1147     ELSIF (p_action = 'UPDATE') THEN
1148       -- Call all the procedures related to Before Update.
1149       BeforeRowInsertUpdateDelete1 ( p_updating => TRUE );
1150       Check_Constraints;
1151       Check_Parent_Existance;
1152     ELSIF (p_action = 'VALIDATE_INSERT') THEN
1153       IF (Get_PK_For_Validation (
1154             new_references.fee_type,
1155             new_references.fee_cal_type,
1156             new_references.fee_ci_sequence_number
1157           )) THEN
1158         Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
1159         IGS_GE_MSG_STACK.ADD;
1160         App_Exception.Raise_Exception;
1161       END IF;
1162       Check_Constraints;
1163     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
1164       Check_Constraints;
1165     END IF;
1166   END Before_DML;
1167 
1168 
1169   PROCEDURE After_DML (
1170     p_action IN VARCHAR2,
1171     x_rowid IN VARCHAR2
1172   ) AS
1173   /*----------------------------------------------------------------------------
1174   ||  Created By :
1175   ||  Created On :
1176   ||  Purpose :
1177   ||  Known limitations, enhancements or remarks :
1178   ||  Change History :
1179   ||  Who             When            What
1180   ||  (reverse chronological order - newest change first)
1181   ||  gurprsin      16-Aug-2005   Bug# 3392088 , Added a column max_chg_elements as part of CPF build.
1182   ||  gurprsin      18-Jun-2005   Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
1183   ||  svuppala        13-Apr-2005  Bug 4297359 Added new field NONZERO_BILLABLE_CP_FLAG in Fee Type Calendar Instances Table
1184   ||  vvutukur        23-Jul-2002  Bug#2425767.Removed references to AfterStmtInsertUpdate4 procedure as this
1185   ||                               procedure is removed. Removed if conditions if p_action='INSERT'
1186   ||                               and p_action='UPDATE' as there is no code present in those conditions.
1187   ----------------------------------------------------------------------------*/
1188   BEGIN
1189     l_rowid := x_rowid;
1190     IF (p_action = 'UPDATE') THEN
1191       -- Call all the procedures related to After Update.
1192       AfterRowUpdate3 ( p_updating => TRUE );
1193     END IF;
1194   END After_DML;
1195 procedure INSERT_ROW (
1196   X_ROWID in out NOCOPY VARCHAR2,
1197   X_FEE_TYPE in VARCHAR2,
1198   X_FEE_CAL_TYPE in VARCHAR2,
1199   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
1200   X_FEE_TYPE_CI_STATUS in VARCHAR2,
1201   X_START_DT_ALIAS in VARCHAR2,
1202   X_START_DAI_SEQUENCE_NUMBER in NUMBER,
1203   X_END_DT_ALIAS in VARCHAR2,
1204   X_END_DAI_SEQUENCE_NUMBER in NUMBER,
1205   X_RETRO_DT_ALIAS in VARCHAR2,
1206   X_RETRO_DAI_SEQUENCE_NUMBER in NUMBER,
1207   X_S_CHG_METHOD_TYPE in VARCHAR2,
1208   X_RUL_SEQUENCE_NUMBER in NUMBER,
1209   X_ORG_ID in NUMBER default NULL,
1210   X_MODE in VARCHAR2 default 'R',
1211   X_INITIAL_DEFAULT_AMOUNT in NUMBER DEFAULT NULL,
1212   x_acct_hier_id IN NUMBER DEFAULT NULL,
1213   x_rec_gl_ccid IN NUMBER DEFAULT NULL,
1214   x_rev_account_cd IN VARCHAR2 DEFAULT NULL,
1215   x_rec_account_cd IN VARCHAR2 DEFAULT NULL,
1216   x_ret_gl_ccid IN NUMBER DEFAULT NULL,
1217   x_ret_account_cd IN VARCHAR2 DEFAULT NULL,
1218   x_retention_level_code IN VARCHAR2 DEFAULT NULL,
1219   x_complete_ret_flag IN VARCHAR2 DEFAULT NULL,
1220   x_nonzero_billable_cp_flag IN VARCHAR2 DEFAULT NULL,
1221   X_SCOPE_RUL_SEQUENCE_NUM IN NUMBER DEFAULT NULL,
1222   X_ELM_RNG_ORDER_NAME IN VARCHAR2 DEFAULT NULL,
1223   X_MAX_CHG_ELEMENTS IN NUMBER DEFAULT NULL
1224   ) is
1225   /***************************************************************************
1226   agairola    07-Sep-2004      Enh 3316063: Retention Enhancements changes
1227   vvutukur   23-Jul-2002     Bug#2425767.removed parameter x_payment_hierarchy_rank and its references(from
1228                              call to before_dml and from insert statement).
1229   SBALIGA    13-feb-2002        Assigned igs_ge_gen_003.get_org_id to x_org_id
1230                            in call to bafore_dml as part of SWCR006 build.
1231   ********************************************************************************/
1232     cursor C is select ROWID from IGS_FI_F_TYP_CA_INST_ALL
1233       where FEE_TYPE = X_FEE_TYPE
1234       and FEE_CAL_TYPE = X_FEE_CAL_TYPE
1235       and FEE_CI_SEQUENCE_NUMBER = X_FEE_CI_SEQUENCE_NUMBER;
1236     X_LAST_UPDATE_DATE DATE;
1237     X_LAST_UPDATED_BY NUMBER;
1238     X_LAST_UPDATE_LOGIN NUMBER;
1239     X_REQUEST_ID NUMBER;
1240     X_PROGRAM_ID NUMBER;
1241     X_PROGRAM_APPLICATION_ID NUMBER;
1242     X_PROGRAM_UPDATE_DATE DATE;
1243 begin
1244   X_LAST_UPDATE_DATE := SYSDATE;
1245   if(X_MODE = 'I') then
1246     X_LAST_UPDATED_BY := 1;
1247     X_LAST_UPDATE_LOGIN := 0;
1248   elsif (X_MODE = 'R') then
1249     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1250     if X_LAST_UPDATED_BY is NULL then
1251       X_LAST_UPDATED_BY := -1;
1252     end if;
1253     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
1254     if X_LAST_UPDATE_LOGIN is NULL then
1255       X_LAST_UPDATE_LOGIN := -1;
1256     end if;
1257     X_REQUEST_ID:=FND_GLOBAL.CONC_REQUEST_ID;
1258     X_PROGRAM_ID:=FND_GLOBAL.CONC_PROGRAM_ID;
1259     X_PROGRAM_APPLICATION_ID:=FND_GLOBAL.PROG_APPL_ID;
1260     if (X_REQUEST_ID = -1 ) then
1261       X_REQUEST_ID:=NULL;
1262       X_PROGRAM_ID:=NULL;
1263       X_PROGRAM_APPLICATION_ID:=NULL;
1264       X_PROGRAM_UPDATE_DATE:=NULL;
1265     else
1266       X_PROGRAM_UPDATE_DATE:=SYSDATE;
1267     end if;
1268   else
1269     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
1270     IGS_GE_MSG_STACK.ADD;
1271     app_exception.raise_exception;
1272   end if;
1273 Before_DML(
1274  p_action=>'INSERT',
1275  x_rowid=>X_ROWID,
1276  x_end_dai_sequence_number=>X_END_DAI_SEQUENCE_NUMBER,
1277  x_end_dt_alias=>X_END_DT_ALIAS,
1278  x_fee_cal_type=>X_FEE_CAL_TYPE,
1279  x_fee_ci_sequence_number=>X_FEE_CI_SEQUENCE_NUMBER,
1280  x_fee_type=>X_FEE_TYPE,
1281  x_fee_type_ci_status=>X_FEE_TYPE_CI_STATUS,
1282  x_retro_dai_sequence_number=>X_RETRO_DAI_SEQUENCE_NUMBER,
1283  x_retro_dt_alias=>X_RETRO_DT_ALIAS,
1284  x_rul_sequence_number=>X_RUL_SEQUENCE_NUMBER,
1285  x_s_chg_method_type=>X_S_CHG_METHOD_TYPE,
1286  x_start_dai_sequence_number=>X_START_DAI_SEQUENCE_NUMBER,
1287  x_start_dt_alias=>X_START_DT_ALIAS,
1288  x_org_id =>igs_ge_gen_003.get_org_id,
1289  x_creation_date=>X_LAST_UPDATE_DATE,
1290  x_created_by=>X_LAST_UPDATED_BY,
1291  x_last_update_date=>X_LAST_UPDATE_DATE,
1292  x_last_updated_by=>X_LAST_UPDATED_BY,
1293  x_last_update_login=>X_LAST_UPDATE_LOGIN,
1294  x_initial_default_amount=>X_INITIAL_DEFAULT_AMOUNT,
1295  x_acct_hier_id     => x_acct_hier_id,
1296  x_rec_gl_ccid      => x_rec_gl_ccid,
1297  x_rev_account_cd   => x_rev_account_cd,
1298  x_rec_account_cd   => x_rec_account_cd,
1299  x_ret_gl_ccid      => x_ret_gl_ccid,
1300  x_ret_account_cd   => x_ret_account_cd,
1301  x_retention_level_code => x_retention_level_code,
1302  x_complete_ret_flag  => x_complete_ret_flag,
1303  x_nonzero_billable_cp_flag => x_nonzero_billable_cp_flag,
1304  x_scope_rul_sequence_num        => x_scope_rul_sequence_num,
1305  x_elm_rng_order_name       => x_elm_rng_order_name,
1306  x_max_chg_elements         => x_max_chg_elements
1307 );
1308   insert into IGS_FI_F_TYP_CA_INST_ALL (
1309     FEE_TYPE,
1310     FEE_CAL_TYPE,
1311     FEE_CI_SEQUENCE_NUMBER,
1312     FEE_TYPE_CI_STATUS,
1313     START_DT_ALIAS,
1314     START_DAI_SEQUENCE_NUMBER,
1315     END_DT_ALIAS,
1316     END_DAI_SEQUENCE_NUMBER,
1317     RETRO_DT_ALIAS,
1318     RETRO_DAI_SEQUENCE_NUMBER,
1319     S_CHG_METHOD_TYPE,
1320     RUL_SEQUENCE_NUMBER,
1321     ORG_ID,
1322     CREATION_DATE,
1323     CREATED_BY,
1324     LAST_UPDATE_DATE,
1325     LAST_UPDATED_BY,
1326     LAST_UPDATE_LOGIN,
1327     REQUEST_ID,
1328     PROGRAM_ID,
1329     PROGRAM_APPLICATION_ID,
1330     PROGRAM_UPDATE_DATE,
1331     INITIAL_DEFAULT_AMOUNT,
1332     acct_hier_id,
1333     rec_gl_ccid ,
1334     rev_account_cd,
1335     rec_account_cd,
1336     ret_gl_ccid ,
1337     ret_account_cd,
1338     retention_level_code,
1339     complete_ret_flag,
1340     nonzero_billable_cp_flag,
1341     scope_rul_sequence_num,
1342     elm_rng_order_name,
1343     max_chg_elements
1344   ) values (
1345     NEW_REFERENCES.FEE_TYPE,
1346     NEW_REFERENCES.FEE_CAL_TYPE,
1347     NEW_REFERENCES.FEE_CI_SEQUENCE_NUMBER,
1348     NEW_REFERENCES.FEE_TYPE_CI_STATUS,
1349     NEW_REFERENCES.START_DT_ALIAS,
1350     NEW_REFERENCES.START_DAI_SEQUENCE_NUMBER,
1351     NEW_REFERENCES.END_DT_ALIAS,
1352     NEW_REFERENCES.END_DAI_SEQUENCE_NUMBER,
1353     NEW_REFERENCES.RETRO_DT_ALIAS,
1354     NEW_REFERENCES.RETRO_DAI_SEQUENCE_NUMBER,
1355     NEW_REFERENCES.S_CHG_METHOD_TYPE,
1356     NEW_REFERENCES.RUL_SEQUENCE_NUMBER,
1357     NEW_REFERENCES.ORG_ID,
1358     X_LAST_UPDATE_DATE,
1359     X_LAST_UPDATED_BY,
1360     X_LAST_UPDATE_DATE,
1361     X_LAST_UPDATED_BY,
1362     X_LAST_UPDATE_LOGIN,
1363     X_REQUEST_ID,
1364     X_PROGRAM_ID,
1365     X_PROGRAM_APPLICATION_ID,
1366     X_PROGRAM_UPDATE_DATE,
1367     NEW_REFERENCES.INITIAL_DEFAULT_AMOUNT,
1368     new_references.acct_hier_id ,
1369     new_references.rec_gl_ccid,
1370     new_references.rev_account_cd,
1371     new_references.rec_account_cd,
1372     new_references.ret_gl_ccid,
1373     new_references.ret_account_cd,
1374     new_references.retention_level_code,
1375     new_references.complete_ret_flag,
1376     new_references.nonzero_billable_cp_flag,
1377     new_references.scope_rul_sequence_num,
1378     new_references.elm_rng_order_name,
1379     new_references.max_chg_elements
1380   );
1381   open c;
1382   fetch c into X_ROWID;
1383   if (c%notfound) then
1384     close c;
1385     raise no_data_found;
1386   end if;
1387   close c;
1388 After_DML (
1389  p_action => 'INSERT',
1390  x_rowid => X_ROWID
1391 );
1392 end INSERT_ROW;
1393 procedure LOCK_ROW (
1394   X_ROWID in VARCHAR2,
1395   X_FEE_TYPE in VARCHAR2,
1396   X_FEE_CAL_TYPE in VARCHAR2,
1397   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
1398   X_FEE_TYPE_CI_STATUS in VARCHAR2,
1399   X_START_DT_ALIAS in VARCHAR2,
1400   X_START_DAI_SEQUENCE_NUMBER in NUMBER,
1401   X_END_DT_ALIAS in VARCHAR2,
1402   X_END_DAI_SEQUENCE_NUMBER in NUMBER,
1403   X_RETRO_DT_ALIAS in VARCHAR2,
1404   X_RETRO_DAI_SEQUENCE_NUMBER in NUMBER,
1405   X_S_CHG_METHOD_TYPE in VARCHAR2,
1406   X_RUL_SEQUENCE_NUMBER in NUMBER,
1407   X_INITIAL_DEFAULT_AMOUNT in NUMBER DEFAULT NULL,
1408   x_acct_hier_id IN NUMBER DEFAULT NULL,
1409   x_rec_gl_ccid IN NUMBER DEFAULT NULL,
1410   x_rev_account_cd IN VARCHAR2 DEFAULT NULL,
1411   x_rec_account_cd IN VARCHAR2 DEFAULT NULL,
1412   x_ret_gl_ccid IN NUMBER DEFAULT NULL,
1413   x_ret_account_cd IN VARCHAR2 DEFAULT NULL,
1414   x_retention_level_code IN VARCHAR2 DEFAULT NULL,
1415   x_complete_ret_flag IN VARCHAR2 DEFAULT NULL,
1416   x_nonzero_billable_cp_flag IN VARCHAR2 DEFAULT NULL,
1417   X_SCOPE_RUL_SEQUENCE_NUM IN NUMBER DEFAULT NULL,
1418   X_ELM_RNG_ORDER_NAME IN VARCHAR2 DEFAULT NULL,
1419   X_MAX_CHG_ELEMENTS IN NUMBER DEFAULT NULL
1420 ) is
1421 /*----------------------------------------------------------------------------
1422   ||  Created By :
1423   ||  Created On :
1424   ||  Purpose :
1425   ||  Known limitations, enhancements or remarks :
1426   ||  Change History :
1427   ||  Who             When            What
1428   ||  (reverse chronological order - newest change first)
1429   || gurprsin    18-Jun-2005      Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
1430   || svuppala    13-Apr-2005      Bug 4297359 Added new field NONZERO_BILLABLE_CP_FLAG in Fee Type Calendar Instances Table
1431   || agairola    07-Sep-2004      Enh 3316063: Retention Enhancements changes
1432   ||  vvutukur        23-Jul-2002  Bug#2425767.removed parameter x_payment_hierarchy_rank
1433   ||                               and its references(from cursor c1 and if condition).
1434   ----------------------------------------------------------------------------*/
1435   cursor c1 is select
1436       FEE_TYPE_CI_STATUS,
1437       START_DT_ALIAS,
1438       START_DAI_SEQUENCE_NUMBER,
1439       END_DT_ALIAS,
1440       END_DAI_SEQUENCE_NUMBER,
1441       RETRO_DT_ALIAS,
1442       RETRO_DAI_SEQUENCE_NUMBER,
1443       S_CHG_METHOD_TYPE,
1444       RUL_SEQUENCE_NUMBER,
1445       INITIAL_DEFAULT_AMOUNT,
1446       acct_hier_id ,
1447       rec_gl_ccid,
1448       rev_account_cd,
1449       rec_account_cd ,
1450       ret_gl_ccid,
1451       ret_account_cd,
1452       retention_level_code,
1453       complete_ret_flag,
1454       nonzero_billable_cp_flag,
1455       scope_rul_sequence_num,
1456       elm_rng_order_name,
1457       max_chg_elements
1458     from IGS_FI_F_TYP_CA_INST_ALL
1459     where ROWID=X_ROWID
1460     for update nowait;
1461   tlinfo c1%rowtype;
1462 begin
1463   open c1;
1464   fetch c1 into tlinfo;
1465   if (c1%notfound) then
1466     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
1467     IGS_GE_MSG_STACK.ADD;
1468     app_exception.raise_exception;
1469     close c1;
1470     return;
1471   end if;
1472   close c1;
1473   if ( (tlinfo.FEE_TYPE_CI_STATUS = X_FEE_TYPE_CI_STATUS)
1474       AND (tlinfo.START_DT_ALIAS = X_START_DT_ALIAS)
1475       AND (tlinfo.START_DAI_SEQUENCE_NUMBER = X_START_DAI_SEQUENCE_NUMBER)
1476       AND (tlinfo.END_DT_ALIAS = X_END_DT_ALIAS)
1477       AND (tlinfo.END_DAI_SEQUENCE_NUMBER = X_END_DAI_SEQUENCE_NUMBER)
1478       AND (tlinfo.COMPLETE_RET_FLAG = X_COMPLETE_RET_FLAG)
1479       AND (tlinfo.NONZERO_BILLABLE_CP_FLAG = X_NONZERO_BILLABLE_CP_FLAG)
1480       AND ((tlinfo.RETRO_DT_ALIAS = X_RETRO_DT_ALIAS)
1481            OR ((tlinfo.RETRO_DT_ALIAS is null)
1482                AND (X_RETRO_DT_ALIAS is null)))
1483       AND ((tlinfo.RETRO_DAI_SEQUENCE_NUMBER = X_RETRO_DAI_SEQUENCE_NUMBER)
1484            OR ((tlinfo.RETRO_DAI_SEQUENCE_NUMBER is null)
1485                AND (X_RETRO_DAI_SEQUENCE_NUMBER is null)))
1486       AND ((tlinfo.S_CHG_METHOD_TYPE = X_S_CHG_METHOD_TYPE)
1487            OR ((tlinfo.S_CHG_METHOD_TYPE is null)
1488                AND (X_S_CHG_METHOD_TYPE is null)))
1489       AND ((tlinfo.RUL_SEQUENCE_NUMBER = X_RUL_SEQUENCE_NUMBER)
1490            OR ((tlinfo.RUL_SEQUENCE_NUMBER is null)
1491                AND (X_RUL_SEQUENCE_NUMBER is null)))
1492       --Removed code related to subaccount_id, as part of Bug 2175865
1493 
1494       AND ((tlinfo.INITIAL_DEFAULT_AMOUNT = X_INITIAL_DEFAULT_AMOUNT)
1495            OR ((tlinfo.INITIAL_DEFAULT_AMOUNT is null)
1496                AND (X_INITIAL_DEFAULT_AMOUNT is null)))
1497       AND ((tlinfo.acct_hier_id = X_acct_hier_id)
1498            OR ((tlinfo.acct_hier_id is null)
1499                AND (X_acct_hier_id is null)))
1500       AND ((tlinfo.rec_gl_ccid = X_rec_gl_ccid)
1501            OR ((tlinfo.rec_gl_ccid is null)
1502                AND (X_rec_gl_ccid is null)))
1503       AND ((tlinfo.rev_account_cd = X_rev_account_cd)
1504            OR ((tlinfo.rev_account_cd is null)
1505                AND (X_rev_account_cd is null)))
1506       AND ((tlinfo.rec_account_cd = X_rec_account_cd)
1507            OR ((tlinfo.rec_account_cd is null)
1508                AND (X_rec_account_cd is null)))
1509       AND ((tlinfo.ret_gl_ccid = X_ret_gl_ccid)
1510            OR ((tlinfo.ret_gl_ccid is null)
1511                AND (X_ret_gl_ccid is null)))
1512       AND ((tlinfo.ret_account_cd = X_ret_account_cd)
1513            OR ((tlinfo.ret_account_cd is null)
1514                AND (X_ret_account_cd is null)))
1515       AND ((tlinfo.retention_level_code = X_retention_level_code)
1516            OR ((tlinfo.retention_level_code is null)
1517                AND (X_retention_level_code is null)))
1518 
1519       AND ((tlinfo.scope_rul_sequence_num = X_scope_rul_sequence_num)
1520            OR ((tlinfo.scope_rul_sequence_num is null)
1521                AND (X_scope_rul_sequence_num is null)))
1522       AND ((tlinfo.elm_rng_order_name = X_elm_rng_order_name)
1523            OR ((tlinfo.elm_rng_order_name is null)
1524                AND (X_elm_rng_order_name is null)))
1525       AND ((tlinfo.max_chg_elements = X_max_chg_elements)
1526            OR ((tlinfo.max_chg_elements is null)
1527                AND (X_max_chg_elements is null)))
1528   ) then
1529     null;
1530   else
1531     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
1532     IGS_GE_MSG_STACK.ADD;
1533     app_exception.raise_exception;
1534   end if;
1535   return;
1536 end LOCK_ROW;
1537 procedure UPDATE_ROW (
1538   X_ROWID in VARCHAR2,
1539   X_FEE_TYPE in VARCHAR2,
1540   X_FEE_CAL_TYPE in VARCHAR2,
1541   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
1542   X_FEE_TYPE_CI_STATUS in VARCHAR2,
1543   X_START_DT_ALIAS in VARCHAR2,
1544   X_START_DAI_SEQUENCE_NUMBER in NUMBER,
1545   X_END_DT_ALIAS in VARCHAR2,
1546   X_END_DAI_SEQUENCE_NUMBER in NUMBER,
1547   X_RETRO_DT_ALIAS in VARCHAR2,
1548   X_RETRO_DAI_SEQUENCE_NUMBER in NUMBER,
1549   X_S_CHG_METHOD_TYPE in VARCHAR2,
1550   X_RUL_SEQUENCE_NUMBER in NUMBER,
1551   X_MODE in VARCHAR2 default 'R',
1552   X_INITIAL_DEFAULT_AMOUNT in NUMBER DEFAULT NULL,
1553   x_acct_hier_id IN NUMBER DEFAULT NULL,
1554   x_rec_gl_ccid IN NUMBER DEFAULT NULL,
1555   x_rev_account_cd IN VARCHAR2 DEFAULT NULL,
1556   x_rec_account_cd IN VARCHAR2 DEFAULT NULL,
1557   x_ret_gl_ccid IN NUMBER DEFAULT NULL,
1558   x_ret_account_cd IN VARCHAR2 DEFAULT NULL,
1559   x_retention_level_code IN VARCHAR2 DEFAULT NULL,
1560   x_complete_ret_flag IN VARCHAR2 DEFAULT NULL,
1561   x_nonzero_billable_cp_flag IN VARCHAR2 DEFAULT NULL,
1562   X_SCOPE_RUL_SEQUENCE_NUM IN NUMBER DEFAULT NULL,
1563   X_ELM_RNG_ORDER_NAME IN VARCHAR2 DEFAULT NULL,
1564   X_MAX_CHG_ELEMENTS IN NUMBER DEFAULT NULL
1565   ) is
1566   /*----------------------------------------------------------------------------
1567   ||  Created By :
1568   ||  Created On :
1569   ||  Purpose :
1570   ||  Known limitations, enhancements or remarks :
1571   ||  Change History :
1572   ||  Who             When            What
1573   ||  (reverse chronological order - newest change first)
1574   || gurprsin    16-Aug-2005      Bug# 3392088 , Added a column max_chg_elements as part of CPF build.
1575   || gurprsin    18-Jun-2005      Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
1576   || svuppala    13-Apr-2005      Bug 4297359 Added new field NONZERO_BILLABLE_CP_FLAG in Fee Type Calendar Instances Table
1577   || agairola    07-Sep-2004      Enh 3316063: Retention Enhancements changes
1578   ||  vvutukur        23-Jul-2002  Bug#2425767.removed parameter x_payment_hierarchy_rank
1579   ||                               and its references(from call to before_dml and from update statement).
1580   ----------------------------------------------------------------------------*/
1581     X_LAST_UPDATE_DATE DATE;
1582     X_LAST_UPDATED_BY NUMBER;
1583     X_LAST_UPDATE_LOGIN NUMBER;
1584     X_REQUEST_ID NUMBER;
1585     X_PROGRAM_ID NUMBER;
1586     X_PROGRAM_APPLICATION_ID NUMBER;
1587     X_PROGRAM_UPDATE_DATE DATE;
1588 begin
1589   X_LAST_UPDATE_DATE := SYSDATE;
1590   if(X_MODE = 'I') then
1591     X_LAST_UPDATED_BY := 1;
1592     X_LAST_UPDATE_LOGIN := 0;
1593   elsif (X_MODE = 'R') then
1594     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1595     if X_LAST_UPDATED_BY is NULL then
1596       X_LAST_UPDATED_BY := -1;
1597     end if;
1598     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
1599     if X_LAST_UPDATE_LOGIN is NULL then
1600       X_LAST_UPDATE_LOGIN := -1;
1601     end if;
1602     X_REQUEST_ID:=FND_GLOBAL.CONC_REQUEST_ID;
1603     X_PROGRAM_ID:=FND_GLOBAL.CONC_PROGRAM_ID;
1604     X_PROGRAM_APPLICATION_ID:=FND_GLOBAL.PROG_APPL_ID;
1605     if (X_REQUEST_ID = -1 ) then
1606       X_REQUEST_ID:=OLD_REFERENCES.REQUEST_ID;
1607       X_PROGRAM_ID:=OLD_REFERENCES.PROGRAM_ID;
1608       X_PROGRAM_APPLICATION_ID:=OLD_REFERENCES.PROGRAM_APPLICATION_ID;
1609       X_PROGRAM_UPDATE_DATE:=OLD_REFERENCES.PROGRAM_UPDATE_DATE;
1610     else
1611       X_PROGRAM_UPDATE_DATE:=SYSDATE;
1612     end if;
1613   else
1614     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
1615     IGS_GE_MSG_STACK.ADD;
1616     app_exception.raise_exception;
1617   end if;
1618 Before_DML(
1619  p_action=>'UPDATE',
1620  x_rowid=>X_ROWID,
1621  x_end_dai_sequence_number=>X_END_DAI_SEQUENCE_NUMBER,
1622  x_end_dt_alias=>X_END_DT_ALIAS,
1623  x_fee_cal_type=>X_FEE_CAL_TYPE,
1624  x_fee_ci_sequence_number=>X_FEE_CI_SEQUENCE_NUMBER,
1625  x_fee_type=>X_FEE_TYPE,
1626  x_fee_type_ci_status=>X_FEE_TYPE_CI_STATUS,
1627  x_retro_dai_sequence_number=>X_RETRO_DAI_SEQUENCE_NUMBER,
1628  x_retro_dt_alias=>X_RETRO_DT_ALIAS,
1629  x_rul_sequence_number=>X_RUL_SEQUENCE_NUMBER,
1630  x_s_chg_method_type=>X_S_CHG_METHOD_TYPE,
1631  x_start_dai_sequence_number=>X_START_DAI_SEQUENCE_NUMBER,
1632  x_start_dt_alias=>X_START_DT_ALIAS,
1633  x_creation_date=>X_LAST_UPDATE_DATE,
1634  x_created_by=>X_LAST_UPDATED_BY,
1635  x_last_update_date=>X_LAST_UPDATE_DATE,
1636  x_last_updated_by=>X_LAST_UPDATED_BY,
1637  x_last_update_login=>X_LAST_UPDATE_LOGIN,
1638  x_initial_default_amount=>X_INITIAL_DEFAULT_AMOUNT,
1639  x_acct_hier_id     => x_acct_hier_id,
1640  x_rec_gl_ccid      => x_rec_gl_ccid,
1641  x_rev_account_cd   => x_rev_account_cd,
1642  x_rec_account_cd   => x_rec_account_cd,
1643  x_ret_gl_ccid      => x_ret_gl_ccid,
1644  x_ret_account_cd   => x_ret_account_cd,
1645  x_retention_level_code => x_retention_level_code,
1646  x_complete_ret_flag => x_complete_ret_flag,
1647  x_nonzero_billable_cp_flag => x_nonzero_billable_cp_flag,
1648  x_scope_rul_sequence_num       => x_scope_rul_sequence_num,
1649  x_elm_rng_order_name      => x_elm_rng_order_name,
1650  x_max_chg_elements        => x_max_chg_elements
1651 );
1652   update IGS_FI_F_TYP_CA_INST_ALL set
1653     FEE_TYPE_CI_STATUS = NEW_REFERENCES.FEE_TYPE_CI_STATUS,
1654     START_DT_ALIAS = NEW_REFERENCES.START_DT_ALIAS,
1655     START_DAI_SEQUENCE_NUMBER = NEW_REFERENCES.START_DAI_SEQUENCE_NUMBER,
1656     END_DT_ALIAS = NEW_REFERENCES.END_DT_ALIAS,
1657     END_DAI_SEQUENCE_NUMBER = NEW_REFERENCES.END_DAI_SEQUENCE_NUMBER,
1658     RETRO_DT_ALIAS = NEW_REFERENCES.RETRO_DT_ALIAS,
1659     RETRO_DAI_SEQUENCE_NUMBER = NEW_REFERENCES.RETRO_DAI_SEQUENCE_NUMBER,
1660     S_CHG_METHOD_TYPE = NEW_REFERENCES.S_CHG_METHOD_TYPE,
1661     RUL_SEQUENCE_NUMBER = NEW_REFERENCES.RUL_SEQUENCE_NUMBER,
1662     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
1663     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
1664     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
1665     REQUEST_ID=X_REQUEST_ID,
1666     PROGRAM_ID=X_PROGRAM_ID,
1667     PROGRAM_APPLICATION_ID=X_PROGRAM_APPLICATION_ID,
1668     PROGRAM_UPDATE_DATE=X_PROGRAM_UPDATE_DATE,
1669     INITIAL_DEFAULT_AMOUNT=X_INITIAL_DEFAULT_AMOUNT,
1670     acct_hier_id     = new_references.acct_hier_id,
1671     rec_gl_ccid      = new_references.rec_gl_ccid,
1672     rev_account_cd   = new_references.rev_account_cd,
1673     rec_account_cd   = new_references.rec_account_cd,
1674     ret_gl_ccid      = new_references.ret_gl_ccid,
1675     ret_account_cd   = new_references.ret_account_cd,
1676     retention_level_code = new_references.retention_level_code,
1677     complete_ret_flag = new_references.complete_ret_flag,
1678     nonzero_billable_cp_flag = new_references.nonzero_billable_cp_flag,
1679     scope_rul_sequence_num        = new_references.scope_rul_sequence_num,
1680     elm_rng_order_name       = new_references.elm_rng_order_name,
1681     max_chg_elements         = new_references.max_chg_elements
1682   where ROWID=X_ROWID;
1683   if (sql%notfound) then
1684     raise no_data_found;
1685   end if;
1686 After_DML (
1687  p_action => 'UPDATE',
1688  x_rowid => X_ROWID
1689 );
1690 end UPDATE_ROW;
1691 procedure ADD_ROW (
1692   X_ROWID in out NOCOPY VARCHAR2,
1693   X_FEE_TYPE in VARCHAR2,
1694   X_FEE_CAL_TYPE in VARCHAR2,
1695   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
1696   X_FEE_TYPE_CI_STATUS in VARCHAR2,
1697   X_START_DT_ALIAS in VARCHAR2,
1698   X_START_DAI_SEQUENCE_NUMBER in NUMBER,
1699   X_END_DT_ALIAS in VARCHAR2,
1700   X_END_DAI_SEQUENCE_NUMBER in NUMBER,
1701   X_RETRO_DT_ALIAS in VARCHAR2,
1702   X_RETRO_DAI_SEQUENCE_NUMBER in NUMBER,
1703   X_S_CHG_METHOD_TYPE in VARCHAR2,
1704   X_RUL_SEQUENCE_NUMBER in NUMBER,
1705   X_ORG_ID in NUMBER default NULL,
1706   X_MODE in VARCHAR2 default 'R',
1707   X_INITIAL_DEFAULT_AMOUNT in NUMBER DEFAULT NULL,
1708   x_acct_hier_id IN NUMBER DEFAULT NULL,
1709   x_rec_gl_ccid IN NUMBER DEFAULT NULL,
1710   x_rev_account_cd IN VARCHAR2 DEFAULT NULL,
1711   x_rec_account_cd IN VARCHAR2 DEFAULT NULL,
1712   x_ret_gl_ccid IN NUMBER DEFAULT NULL,
1713   x_ret_account_cd IN VARCHAR2 DEFAULT NULL,
1714   x_retention_level_code IN VARCHAR2 DEFAULT NULL,
1715   x_complete_ret_flag IN VARCHAR2 DEFAULT NULL,
1716   x_nonzero_billable_cp_flag IN VARCHAR2 DEFAULT NULL,
1717   X_SCOPE_RUL_SEQUENCE_NUM IN NUMBER DEFAULT NULL,
1718   X_ELM_RNG_ORDER_NAME IN VARCHAR2 DEFAULT NULL,
1719   X_MAX_CHG_ELEMENTS IN NUMBER DEFAULT NULL
1720   ) is
1721   /*----------------------------------------------------------------------------
1722   ||  Created By :
1723   ||  Created On :
1724   ||  Purpose :
1725   ||  Known limitations, enhancements or remarks :
1726   ||  Change History :
1727   ||  Who             When            What
1728   ||  (reverse chronological order - newest change first)
1729   || gurprsin    16-Aug-2005      Bug# 3392088 , Added a column max_chg_elements as part of CPF build.
1730   || gurprsin    18-Jun-2005      Bug# 3392088 , Added 2 new columns scope_rul_sequence_num and elm_rng_order_name.
1731   || svuppala    13-Apr-2005      Bug 4297359 Added new field NONZERO_BILLABLE_CP_FLAG in Fee Type Calendar Instances Table
1732   || agairola    07-Sep-2004      Enh 3316063: Retention Enhancements changes
1733   ||  vvutukur        23-Jul-2002  Bug#2425767.removed parameter x_payment_hierarchy_rank
1734   ||                               and its references(from calls to insert_row and update_row).
1735   ----------------------------------------------------------------------------*/
1736   cursor c1 is select rowid from IGS_FI_F_TYP_CA_INST_ALL
1737      where FEE_TYPE = X_FEE_TYPE
1738      and FEE_CAL_TYPE = X_FEE_CAL_TYPE
1739      and FEE_CI_SEQUENCE_NUMBER = X_FEE_CI_SEQUENCE_NUMBER
1740   ;
1741 begin
1742   open c1;
1743   fetch c1 into X_ROWID;
1744   if (c1%notfound) then
1745     close c1;
1746     INSERT_ROW (
1747      X_ROWID,
1748      X_FEE_TYPE,
1749      X_FEE_CAL_TYPE,
1750      X_FEE_CI_SEQUENCE_NUMBER,
1751      X_FEE_TYPE_CI_STATUS,
1752      X_START_DT_ALIAS,
1753      X_START_DAI_SEQUENCE_NUMBER,
1754      X_END_DT_ALIAS,
1755      X_END_DAI_SEQUENCE_NUMBER,
1756      X_RETRO_DT_ALIAS,
1757      X_RETRO_DAI_SEQUENCE_NUMBER,
1758      X_S_CHG_METHOD_TYPE,
1759      X_RUL_SEQUENCE_NUMBER,
1760      X_ORG_ID,
1761      X_MODE,
1762      X_INITIAL_DEFAULT_AMOUNT,
1763      x_acct_hier_id ,
1764      x_rec_gl_ccid,
1765      x_rev_account_cd,
1766      x_rec_account_cd,
1767      x_ret_gl_ccid,
1768      x_ret_account_cd,
1769      x_retention_level_code,
1770      x_complete_ret_flag,
1771      x_nonzero_billable_cp_flag,
1772      x_scope_rul_sequence_num,
1773      x_elm_rng_order_name,
1774      x_max_chg_elements);
1775     return;
1776   end if;
1777   close c1;
1778   UPDATE_ROW (
1779    X_ROWID,
1780    X_FEE_TYPE,
1781    X_FEE_CAL_TYPE,
1782    X_FEE_CI_SEQUENCE_NUMBER,
1783    X_FEE_TYPE_CI_STATUS,
1784    X_START_DT_ALIAS,
1785    X_START_DAI_SEQUENCE_NUMBER,
1786    X_END_DT_ALIAS,
1787    X_END_DAI_SEQUENCE_NUMBER,
1788    X_RETRO_DT_ALIAS,
1789    X_RETRO_DAI_SEQUENCE_NUMBER,
1790    X_S_CHG_METHOD_TYPE,
1791    X_RUL_SEQUENCE_NUMBER,
1792    X_MODE,
1793    X_INITIAL_DEFAULT_AMOUNT,
1794    x_acct_hier_id ,
1795    x_rec_gl_ccid,
1796    x_rev_account_cd,
1797    x_rec_account_cd,
1798    x_ret_gl_ccid,
1799    x_ret_account_cd,
1800    x_retention_level_code,
1801    x_complete_ret_flag,
1802    x_nonzero_billable_cp_flag,
1803    X_SCOPE_RUL_SEQUENCE_NUM,
1804    X_ELM_RNG_ORDER_NAME,
1805    X_MAX_CHG_ELEMENTS);
1806 end ADD_ROW;
1807 
1808 END igs_fi_f_typ_ca_inst_pkg;